Settings

Theme

Hacker News is not responding. Showing the copy saved .

Geolocating a random island using geometry and CUDA programming

yassa9.github.io

529 points by yassa9 · 91 comments

Reader

32 threads
NKosmatos

Excellent write up and an enjoyable read! Reminds me of the “good old times” where posts on HN were written by humans and with a specific writing style like yours. You could’ve used a little bit more of geoguessing to narrow down results, or do a brute force visual check on the last hundred or so ;-)

  • yassa9OP

    yea, thanks :D , I used a tiny idea from geoguessing, that I banded the search on islands only in latitude between -30 to +30 deg. based on the sky and the tropical vibes in the img , and it worked !

  • jambalaya8

    agree! AWESOME work!

bmurray7jhu

For drones and missiles, this technique is known as Terrain Contour Matching. If terrain contour are measured optically, navigation is independent of RF jamming, unlike GNSS.

https://en.wikipedia.org/wiki/TERCOM

  • openasocket

    It’s an effective a surprisingly old technique, being used on cruise missiles as early as the 1960s. It actually precedes GPS and satellite navigation by several decades. Im continuously blown away by what engineers were able to do in that era with such limited computing power. Take a look at SAGE, for example.

    Fun fact: the usage of TERCOM in the tomahawk missile actually limited its ability to be used in Operation Desert Storm. Routes had to be planned to go around actual topographical features, instead of hundreds of miles of flat desert.

    • grumbelbart2

      Memory on the first cruise missiles was so sacred though that they it could only store the pre-planned flight terrain data. So they not only loaded target coordinates, but full flight plans and had to launch from the programmed position. Desert was difficult as it has too few features.

    • ponector

      Soviet space shuttle had autopilot based on the computer with 130kb of RAM.

    • 4gotunameagain

      Rumour has it that they achieved the first TERCOM using the then revolutionary bit slicing technology.

  • yassa9OP

    oh, wow, I didnt know that existed, thank u, sure gonna look into it

zer0x4d

Super fun! Interestingly, this is how JPL was able to significantly reduce the Mars 2020 landing radius on Mars. Cameras onboard take pictures of the terrain and match that to maps to figure out where the lander is. https://www-robotics.jpl.nasa.gov/what-we-do/flight-projects...

lexlambda

OpenStreetMap data really is a godsend for such OSINT purposes. Works much better in populated areas too, with more features like roads, shops, electric lines that can be used to search.

  • GaryNumanVevo

    Claude / Gemini + OSM Turbo is a crazy you can do natural language queries like "find me a bus stop in germany that's surrounded by more than 5 three story buildings"

  • yassa9OP

    yea , heard about them before, but didnt know that whole treasure till I really used it , impressive

dwa3592

This is awesome. I worked on something similar a few months ago. It is a general purpose navigation system based on TERCOM and dead reckoning - https://github.com/deepanwadhwa/anumaan

  • Intermernet

    Weirdly enough, I'm working on a similar system for position tracking in canyons. It's hybrid, uses a combination of Kalman filters, particle filters and GPS (EDIT: and LIDAR based DEM) and is based on the obvious (in hindsight) realisation that the view of the sky to get an accurate gps fix is inversely proportional to the constraints of the terrain. If you have a low field of view of the sky, you can use sensor data to constrain your likely position. I should have hardware samples for testing in the next month or so. Hopefully my theory stands up!

    • dwa3592

      Love it. Position tracking in canyons is a much needed use case. Is there a link where I can follow your progress?

      • Intermernet

        Not yet. I currently have one private repo with everything in it (hardware design, firmware, experiments, notes etc.). Want to clean it up before I release anything.

deiptx

I find it highly ironic that his is the second article on the main page right after "avoid building technologies that could be used by a police state".

phalanxx

What do you mean by no LLM generation if an LLM did all the coding based on reading through the .py files? Pangram isn't kind to "your" text either.

  • yassa9OP

    I meant the blog itself, the writeup, the steps and the walkthrough all by hand , the final code u see is llm refined, of course, I wont publish my messy and spaghetti files with much tests, failures and dead ends, also vizualizations functions to produce that green maps , and faulty versions of them

    but you are right, I should add that

  • StilesCrisis

    "No EXIF, no GPS, no camera make or model."

    Yeah, a human definitely wrote this. Nothing fishy here. (Why would the camera make or model matter???)

    • yassa9OP

      ok, if u came with the whole conclusion by only this line, ok , but to answer u, ( I hate to justify myself , but have to ) I started writing the blog after I started solving another challenge from gralhix : https://gralhix.com/list-of-osint-exercises/osint-exercise-0...

      and the part of the solution came from the metadata, the camera model, you can check urself, so when I came back to write the blog, it just came by flow,

    • voidUpdate

      If you know the camera make and model, you might be able to get lens parameters and get better estimates of real world geometry from the image

      • yassa9OP

        yea thank u, that's another part, but mainly it would hard although knowing that, because you need to know elevation of the drone or the camera, which is also extremely difficult (I already mentioned that in the blog)

        • StilesCrisis

          The camera make and model wouldn't tell you the lens parameters. The EXIF would, but that was already covered in the triplet.

          • voidUpdate

            It does if you google the make and model to find out the lens parameters (assuming it isn't a fancy camera with interchangeable lenses)

treyd

A help with this is the sun is to the left and it seems to be midday, so you could answer the "cardinal direction" question just from the picture with "west ish", which is what it turns out to be.

  • yassa9OP

    I tried to use the sun info , but honestly I couldn't at all,

    thx for the tip

    • treyd

      It'd probably be hard to do directly/algorithmically, but the shadows from the trees is what I was looking for visually.

sllabres

People liking this post will probably like this [1] and especially these [2] from the channel. All solved using algorithms and map data.

[1] https://www.youtube.com/@colsto

[2] https://www.youtube.com/watch?v=eY-W9gmwxhg https://www.youtube.com/watch?v=nzytWZPyuEw https://www.youtube.com/watch?v=rkmXs_7hELg

o4c

Really great article! OP, you did an awesome job breaking down a complex problem into manageable chunks and synthesizing the solution.

ImJasonH

Excellent read, I loved it.

Incidentally, the image seems to be the one the resort uses on their website! https://oanresort.wixsite.com/chuuk

  • yassa9OP

    thanks, and yea, it should be solved easily by passing the img to google lens, the website is the first result, but I found a fun opportunity to solve it in different way

ohyoutravel

> NOTE: this is a genuine human work, didnt use LLM generation.

A million upvotes from me.

  • yassa9OP

    haha, thanks :D I was hesitant to whether write it or not, but I really really despise llm generated posts and blogs and im glad someone appreciated it

    • ohyoutravel

      Great content too generally. Without the disclaimer I find myself less engaged with the content knowing it could be an LLM hallucination and am ready to eject at any moment.

      btw Micronesia is _not_ a country!

      • OkayPhysicist

        Micronesia is, too, a country. Referring to the Federated States of Micronesia as "Micronesia" is just as legitimate as referring to the USA as "America".

        • ohyoutravel

          I’ve been to Marshall Islands, Kiribati, and FSM but never heard FSM called “Micronesia;” usually when people refer to Micronesia they’re referring the cultural region inclusive of FSM and the other two I mentioned, among others.

          That’s cool, didn’t realize that slang existed, today I learned, thanks!

bitcurious

It’s interesting that most top contenders don’t pass the eyeball halo check, seems like there’s room to optimize that filter in code.

  • yassa9OP

    yea, good observation, my guess is its the data more than the filter. OSM coastline polygons are generalized to different degrees depending on who traced them and from what imagery, so the fine shape detail a halo check would key on often is not in the geometry at all.

    I observed that at the end, didnt push on it further though. It already passed and I was super exhausted

cecinuga

I read all the process, literally awesome, i don't do OSINT (i know only what is this) and i think that's very cool

  • yassa9OP

    thaaank you !! Its my first ever challenge to do, and yea, I really found my passion

num42

Good article! Off-topic, Is Palantir doing the same thing with its internal software to geolocate?

mattpk

> NOTE: this is a genuine human work, didnt use LLM generation.

I'm sorry, but I don't believe this. The article reads like LLM text post-edited by an AI prompted to "write like a non-native English speaker, replace you for u, make errors, etc".

The other pages on your site are cough, "the smoking gun". For instance, your "Suckless, single binary, zero-dependency CUDA/C++ inference engine for NVIDIA's DVLT. Reconstructs 3D scenes from a handful of images (depth + rays + camera pose => point cloud), no python, no torch, no framework." project.

  • john_strinlai

    errors = llm, no errors = llm, any word from a list of hundreds = llm, absence of any llm-words = suspiciously like an llm instructed not to use those words, declare no llm was used = llm.

    there is no winning. if you post something in 2026 or beyond, someone is going to exclaim "llm!". i feel badly for aspiring bloggers or writers. it's also getting rather annoying that 50% of comments on hn, regardless of the topic they are posted on, are the exact same comment about llms.

    • speedstyle

      It's not because of the errors, it's clearly written by Claude. Although I doubt if they prompted it to make errors, just generated the majority and edited/wrote some parts themself.

      I find it rather annoying that so many submissions on hn are LLM writing, but yes I don't generally find it worth discussing. except that this one explicitly claims not to be

    • yassa9OP

      really thank u John, I felt disappointed after those comments, someone below said that the pangram is against my text, I doubted myself and even went to online pangram : https://pangramaidetector.org/

      spent literally half an hour copying each single section and paragraph (removed the code and Katex) and literally all the results are "0% AI-generated text" or max 15%

  • yassa9OP

    haha : "write like a non-native English speaker"

    man, Im actually non native speaker xDD

    "replace you for u" ???? what ?!

mirzap

Awesome write up! This is now one of my favorite articles on HN.

esafak

Good job, Yassa. This is how you get a job in the AI age.

naniel

this is really cool. fun little problem turned into great write-up, and i love that you included the code snippets. thanks for sharing

souenzzo

That's kind of seed finder but in real life

Gooblebrai

This is beyond impressive. Very good work!

ape4

What about tides? Would the outline of the island be different based on the time of day.

  • yassa9OP

    honestly, I didn't think about it, I just trusted the OSM polygons

phkahler

@yassa How long did this take?

  • yassa9OP

    do u mean the whole work ? I spent at first 3 "whole" days in research, trial and error trying different methods and scripts, like for example tried the depth estimation to build upon it, failed many times till I gave up then came back after a week and spent another 4 days till succeeded then the refining, cleaning and organizing of all of that, also structuring and writing the blog, took about another 3 days

    you can say that total is ~10 days of work

hhh

great blog and great writeup

aquafox

Nice, but Rainbolt would do it in under a minute ;)

piterrro

really impressive, could that be the way to locate yourself without GPS? assuming we know more/less where we are

  • yassa9OP

    yea, search about geoguessing on youtube, people like Rainbolt, https://www.youtube.com/@georainbolt

    they literally memorize and get patterns of every possible road, place, map of any area (scanned by google earth), getting exact coordinates from single image, and play competitions and world cup based on that

    they do really nice videos about finding places in old photos people ask for

timkofu

Very nice.

jf93ap29sh

Loved it.

hnlb53nrpg

Not glamorous but it works

grodes

impressive

ligarota

All of this to not use Google images

hno8a34nwn

This is the real takeaway

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection