You have free articles remaining this month.
Subscribe to the RP Witness for full access to new articles and the complete archives.
Geolocation is the process of determining where a photo or video was taken. Counter terrorism, environmental monitoring, disaster relief and robot navigation are just a few areas that need reliable photograph geolocation. But current methods of geolocation are severely limited.
I developed a computer program that geolocates photographs by horizon matching. I created an algorithm that compares the horizon line in a photograph against millions of virtual horizon lines simulated from terrain elevation data, looking for the best match to determine the location of the camera to within several hundred yards. The algorithm is fast, accurate, and reliable. In a test of 100 different photos, 83% were geolocated successfully. Unlike most other algorithms, it can geolocate any ordinary photograph—the only requirement is a visible horizon line.
I started developing the algorithm the summer after taking AP computer science in my sophomore year. I began by taking pictures of the Catoctin Mountains not far from my house. Then I conducted initial experiments with my dad, who was my mentor for the project. I researched the literature and began writing code.
It took me almost a year to get the program working. I tested it on pictures that I took around Maryland and Virginia. I flew to the west coast with my dad and drove through California, Arizona and Nevada, taking hundreds of pictures and documenting each one. I ran a number of experiments to test the algorithm and determine its strengths and weaknesses, coming up with corrections for factors like curvature of the earth, atmospheric refraction, and terrain elevation.
In the spring of my junior year, I competed at the Intel International Science and Engineering Fair (ISEF) and won second place in the computer science category. Around the same time, I submitted a paper to the 2012 International Geoscience and Remote Sensing Symposium (IGARSS). The paper was accepted for publication, and I presented my work at the conference in Munich, Germany, in July. In the fall, I was selected as a regional finalist in the Siemens Competition in Math, Science, and Technology. I won the regional competition held at MIT and went on to compete at the national finals in Washington, D.C., where I won third place and a $40,000 scholarship. I filed a provisional patent application, and my work is currently patent pending.
Developing this software was a journey. It expanded my knowledge of computer science and greatly advanced my programming abilities. The countless hours of work and late nights debugging code taught me patience and time management. The mind-boggling concepts improved my abstract thinking. I got to spend hours, sometimes days at a time with my dad working out formulas or reworking code or driving around California taking photographs. A few months later, I was being interviewed on Fox 5 News in Washington, D.C. I never could have seen this project going as far as it did. I’m grateful to God for the opportunities I’ve gotten through it and the lessons I’ve learned.
I plan to continue developing this software in the future, along with other research projects. For example, I’m currently a student intern at the National Institutes of Health, where I work in a chemistry lab developing drugs to treat colorectal cancer. I’ll be attending Harvard University in the fall with a major in engineering.
—Sam Pritt is a homeschooled senior. He lives in Walkersville, Md., and is a member of Trinity RPC.