OpenAI o3 vs. My Photos: A Geo-Guessing Experiment
TLDR; I gave OpenAI o3 five EXIF-stripped images from different locations around the world and asked it to guess where the picture was taken. It correctly guessed the exact location 3 out of 5 times. I’m very impressed!
Intrigued by Simon Willison’s blog post about o3 guessing a photo’s location, I decided to play around with it as well. Here’s what I did:
1. Chose pictures
I often take pictures of random things just as a way of snapshotting that point in time, so finding some sample pictures to give o3 wasn’t too hard - all I had to do was scroll through my gallery. I made sure all the pictures were from different geographical locations; one picture, in particular, had a landmark building from London, but all the others were pretty random. I also purposefully picked a night-time picture with a bit of blur in it to see how well the model performed.
2. Stripped metadata
Once I had all the images in a folder, I used ExifTool to strip out all the metadata from the JPEGs.
exiftool -all= *.jpeg
3. Asked o3
From the ChatGPT web interface, I uploaded each picture with the prompt:
Guess where this photo was taken
Results
1. Cork City
- Answer:
Cork City, Ireland. The shot’s looking across the River Lee toward the hilly north-side terraces, with UCC’s Castlewhite student blocks in the foreground.
- Time Spent Thinking: 2m 43s
- Result: Incorrect. Although it seems right at first glance, and it is indeed student accommodation in Cork City - it’s DeansHall in the foreground, not Castlewhite.
- Thoughts:
- I was impressed that it zoomed in on the flag, correctly identified it as the Munster Rugby flag, and instantly narrowed the location down to Cork.
- A friend pointed out that it does say “DeansHall” on one of the buildings – so it’s interesting that it missed that glaringly obvious name plastered on top of one of the tallest buildings in front.
2. Bengaluru
- Answer:
Bengaluru – shot from the steel foot-bridge outside Forum (now Nexus) Mall on Hosur Road in Koramangala.
Green-and-yellow BMTC buses and auto-rickshaws are classic Bengaluru traffic.
The red-over-yellow flag flying on the office block is Karnataka’s state flag.
The mall façade shows a big “Decathlon – 10× Bigger” banner; that new anchor store opened in Nexus Koramangala.
The bridge’s distinctive triangular lattice matches the MayaPraxis-designed overpass built for Forum Mall.
All of that adds up to the Koramangala stretch of Hosur Road in south-central Bangalore.
- Time Spent Thinking: 2m 11s
- Result: Correct.
- Thoughts:
- I’m honestly very impressed with this one; it even got the exact bridge I shot this from.
- I thought it was funny how it spent a good while looking up which Decathlon store in Bengaluru might’ve advertised the “YOUR SPORTS STORE 10X BIGGER” tagline.
- The last web search it did was “Forum Mall Koramangala foot overbridge”. It did this to look up images of the bridge I was standing on, to try and match the triangular lattice – which I thought was genius!
3. London
- Answer:
London – the multi-coloured Central Saint Giles development (Renzo Piano’s red, orange, yellow and lime-green ceramic-clad blocks) just off St Giles High Street, a stone’s throw from Tottenham Court Road station.
- Time Spent Thinking: 0s (The model didn’t think at all!)
- Result: Correct.
- Thoughts:
- This was too easy for the model; it didn’t even bother “thinking”.
4. Ho Chi Minh City
Answer:
Ho Chi Minh City (Saigon), Vietnam—right outside Bến Thành Market in District 1, on Lê Thánh Tôn Street where the traffic is wall-to-wall motorbikes.
Time Spent Thinking: 0s (The model didn’t think at all!)
Result: Correct.
Thoughts:
While it had to run some analysis, the model claims it didn’t “think”. It ran the following Python code, which seems to have helped it identify the image immediately:
from PIL import Image import matplotlib.pyplot as plt img4 = Image.open('/mnt/data/4.jpeg') plt.figure(figsize=(5,8)) plt.imshow(img4); plt.axis('off') # Result: (-0.5, 1535.5, 2047.5, -0.5)
I’m assuming it picked up on the board on the left-hand side to guess the place correctly.
5. Chennai
- Answer:
Chennai, India – the traffic-signal cluster beneath the Kathipara flyover at Guindy, on GST Road/Anna Salai.
- Time Spent Thinking: 23s
- Result: Incorrect. Although it is in Chennai, the exact location is Thirumangalam junction and not beneath the Kathipara flyover.
- Thoughts:
- This was a bit of a tricky one, and I honestly wasn’t expecting it to get it right.
- I thought it was cool that the first thing it did was crop and zoom in on the partly covered board that reads “Greater Chennai Tra..“.
- Other than that pretty incoherent board, I don’t think there’s any other clear indication of where this place is, so considering that, it did a pretty decent job of picking another well-known flyover in Chennai!
I hope you found that useful or entertaining. If you’ve any comments, suggestions, or just want to say hi - please email me at [email protected]; I love hearing from kind internet strangers! :)