Computer Vision for Visitor Data Collection

Check Out Computer Vision for Visitor Data Collection

For my interactive qualifying project (IQP), one of the three large projects completed by all WPI students, I travelled to Acadia National Park on the coast of Maine and stayed there for seven weeks to aid the park in improving their visitor data collection systems. The park currently utilizes a combination of manual observations and simple trail or road counters to collect visitation metrics, occassionally resorting to cameras and manually reviewing images if necessary. My team's mission was to see if computer vision could streamline the process of gathering statistics from images, making cameras a more reasonable option for data collection.

Process

To start off with, my team interviewed several people working for the park and Friends of Acadia, the nonprofit that partners with the park to gain a better understanding of the park's data collection needs. There we learned that the park's existing tools were sufficent for basic counting statistics and they was mainly interested in using cameras for more specific goals, such as looking at visitors' speed and direction of travel, the types of bikes they ride, or types of pets that they bring. From there, we placed trail cameras around the park to capture images and iteratively adjusted their positioning, angling, and settings. We initially set the cameras to take photos whenever motion was detected, but switched to video recording once photos proved to be unreliable.

Once we had an understanding of the park's data collection needs and had a dataset to work with, we began developing our computer vision pipeline. We initially considered training our own computer vision models but opted against it as it would have taken too long and was unneccessary. Instead we opted to use Ultralytics YOLO as the base of all of our analysis tools and call upon additional models and tools where needed. We benchmarked the model's output against our manual ground truth observations and the park's existing data collection tools. We then presented it all in a poster and written report showing that computer vision is a viable option for data collection in Acadia National Park and providing recommendations on how the park could move forward with the technology.

Features & Design

The main deliverable from the project, besides the report and poster, is the suite of analysis tools that we developed both for our own testing and potentially for the park to use. We wrote our pipeline in Python, utilizing Ultralytics's libraries along with OpenCV, and developed a user interface in Qt using PySide6. The pipeline was also designed to stand alone as a command line interface or Python package. We designed the user interface so that our analysis tools would be accessible to park staff without any technical background. The tools are presented modularly such that different combinations of tools can be used depending on the data collection task at hand.

Privacy and environmental sustainability were important considerations throughout the design of the project. We opted to keep our processing pipeline light and implemented several optimizations so that it could be run on hardware that the park already has rather than in the cloud. Onsite processing also keeps the data under the park's control and reduces the risk of data leaks. We did not use any sort of facial recognition or other techniques to build a long term profile of visitors. All of our proceedings were approved by WPI's IRB and the National Park Service, and all images and videos that we collected were deleted at the conclusion of the project.

Conclusion

My biggest takeaway from this experience has been learning how to work with non-technical people on technical projects. In my normal classes, almost everyone will know what merging a branch or multithreading or continuous integration are, and it is easy to get stuck in that bubble and forget that the rest of the world has no idea what I am talking about. But the reality is that being able to communicate clearly about technicalities is just as important as software development itself. Especially with AI accelerating software development, I believe it important to take a step back and keep lofty projects grounded to their original goals.

Working with the people involved in the park's data collection and taking the time to understand it from the ground up allowed this project to be successful. Talking with park management and meeting with volunteers out in the field, I came to understand despite coming from all different walks of life, that everyone was there towards the same goal: to protect and share the beautiful landscapes that make up Acadia National Park. My role was not to push new technology on them, it was to figure out if or how that technology could be applied toward their existing goals. Whether or not the park actually uses any of the technologies that we worked with, I am glad to have had the opportunity to present it to them as an option.