Inspiration
Missing-person searches are time-critical. Every minute spent searching the wrong areas wastes limited resources and could reduce the chances of finding someone in time.
Traditional search patterns do not always account for additional data such as where they are most likely to be, or adapt efficiently as new information becomes available
We wanted to explore how we can utilise Bayesian probability, historical search-and-rescue data and intelligent drone planning to make searches more efficient and help search teams coordinate on the ground more efficiently.
What it does
SearchandRescue.online is an interactive search-and-rescue simulator that predicts where missing hikers are most likely to be and intelligently plans drone flight paths to prioritise searches by expected detection probability relative to travel and scanning time.
Users can select a real-world location (Kinder Scout - Peak District, Yosemite - California), provide the missing person's last known position, specify how long they have been missing and their intended destination.
Using historical rescue data, terrain information and walking trails, our system generates a probability heatmap showing where the missing person is most likely to be.
Rather than following a fixed search pattern, the drone prioritises areas based on their probability, travel time and drone-battery constraints.
As the simulated drone searches different areas and receives new observations, the system updates its probability estimates using Bayesian inference and dynamically replans its route.
The simulator supports one to six drones, each with an independently selected launch point, position and flight-time budget. The drones share a probability heatmap, and planning accounts for teammates’ planned searches to reduce redundant coverage. As observations arrive, the shared heatmap updates and the scanning drone replans, while other drones continue their committed searches.
How we built it
We built the frontend using React and the backend using FastAPI, integrating geographical data, historical search-and-rescue records and computer vision. The application was deployed on a Vultr cloud server, using Nginx to serve the frontend and connect it to the backend through our public domain SearchandRescue.online.
Our probability model combines walking routes, terrain characteristics and historical missing-person behaviour to estimate where someone might have travelled.
We then use a search-planning algorithm that considers these probabilities alongside travel time, detection reliability and battery limitations to determine where the drone should search next.
We used a Vultr GPU instance to fine-tune our YOLO person-detection model on aerial imagery, adapting it to the challenge of spotting small people photographed from above. YOLO-based person detection provides visual evidence from aerial imagery, while Bayesian updates allow the system to revise its predictions based on detections and areas that have already been searched.
Our main technical contribution is connecting route-aware hiker prediction with Bayesian search planning and multi-drone coordination. When a destination and suitable walking graph are available, the model considers connected walking routes and uncertain progress along them. Each drone then plans using the shared probability distribution, detection reliability, travel time and its remaining flight-time budget, while accounting for teammates’ planned scans.
Challenges we ran into
One of our biggest challenges was modelling realistic hiker movement. Simply predicting where someone could travel based on distance wasn't sufficient, since real hikers tend to follow connected trails, change direction and sometimes move off established paths.
We addressed this by incorporating route-aware movement modelling alongside terrain-based uncertainty.
Another challenge was working with incomplete historical data and balancing the probability of finding someone against the time and battery required to search each area.
Integrating the probability model, computer vision and adaptive planning into a single simulation was also challenging, particularly because each component needed to communicate new information to the others.
Accomplishments that we're proud of
- Route-aware probability heatmaps that account for walking trails, terrain and possible hiker movements.
- Adaptive search planning that prioritises where to search based on detection probability, travel time and battery constraints.
- Combining multiple data sources, including historical rescue records, geographical information and simulated drone observations.
- Dynamic Bayesian updates, allowing the drone to adjust its search strategy as new information becomes available.
- An interactive simulation that brings together probability modelling, computer vision and autonomous decision-making.
In a single-drone benchmark of 100 paired synthetic missions with a 20-minute search budget, our adaptive planner found the target in 75% of missions, compared with 62% for expanding-square search and 25% for a lawnmower sweep. Each planner searched identical target locations with the same detector settings. Targets were sampled from our own probability model, so these results demonstrate performance under those assumptions rather than validated real-world superiority.
What we learned
One of our biggest takeaways was how difficult it is to model real-world behaviour under uncertainty. Even when you have historical data and geographical information, predicting where someone might be is far from straightforward.
We also learned how Bayesian inference can be applied to practical decision-making. Information about where a person wasn't detected can be just as useful as a positive detection, as it helps the system decide where to focus its search next.
Most importantly, we learned that finding the most likely location isn't necessarily the same as finding the most efficient search strategy. Travel time, battery limitations and detection reliability all affect which decision is best.
What's next for SearchandRescue.online
Building on our initial simulation benchmarks, we want to evaluate predictions against unseen historical incidents and test search performance when movement assumptions are inaccurate. Further priorities include live georeferenced drone observations, authorised phone/watch location evidence, weather-aware planning, and coordination with ground teams.
In the longer term, we'd love to explore integrating the system with real drones, moving from simulation towards a practical decision-support tool for search-and-rescue teams.
Built With
- cesiumjs
- fastapi
- github
- google-maps
- nginx
- pydantic
- python
- vultr
- yolo

Log in or sign up for Devpost to join the conversation.