Skip to content

Repository files navigation

Park Vision (E26)

Park Vision is a desktop app built by a WPI Interactive Qualifying Project to help the National Park Service understand visitor use in Acadia National Park, using still images and video already captured by trail cameras deployed in the park. Rather than manually reviewing thousands of photos and hours of footage, it gives you a toolkit of independent analyses you can mix and match as needed: detect and track people, bicycles, and vehicles; estimate direction of travel and speed; read license plates to compute dwell time; and compute per-image occupancy counts, exporting whichever results you've generated to CSV.

Acadia AI project poster

Read the full writeup in Report.pdf for methodology, evaluation, and results.

Download

Grab the build for your platform from the latest release.

Windows

  1. Download ParkVisionSetup.exe and run it.
  2. Follow the installer; it adds a Start Menu shortcut and an uninstaller.

macOS (Apple Silicon)

  1. Download park-vision-macos-arm64.zip and unzip it.
  2. Move ParkVision.app wherever you'd like (e.g. /Applications) and open it.

Linux

  1. Download park-vision-linux-x86_64.zip and unzip it.
  2. Run the extracted binary (chmod +x ParkVision first if needed):
    ./ParkVision

Build From Source

Park Vision's GUI (src/ui) is built on top of a set of standalone command-line tools (src/detection, src/processing, src/utility) that can also batch-process video footage end-to-end outside of the GUI (YOLO detection → entity tracking → speed/direction/dwell-time computation → summary report).

Requirements

  • Python >= 3.10 (CI targets 3.13)
  • uv for dependency management
  • Tesseract OCR on PATH (used as a fallback to OCR the timestamp burned into camera footage, when a frame's filename/mtime doesn't already give a reliable one)
  • Git LFS: Model weights (*.pt) and sample media are tracked via LFS (see .gitattributes); run git lfs pull after cloning if large files show up as pointer text

Setup

git clone https://github.com/ElliotScher/Acadia-AI-E26.git
cd Acadia-AI-E26
uv sync

uv sync installs all dependencies declared in pyproject.toml, including PyTorch, Ultralytics YOLO, OpenCV, PySide6, and SQLAlchemy.

Model weights live under models/:

Path Purpose
models/generic/yolo26s.pt, yolov8s.pt General-purpose YOLO object detection (people, bikes, vehicles)
models/generic/yolo26s-pose.pt Pose keypoints, used for pedestrian direction
models/license_plate/license-plate.pt License plate localization
models/vehicle_direction/last.pt Vehicle-pose model (fine-tuned on CarFusion) used for vehicle direction; see src/utility/fetch_vehicle_pose_weights.py if it needs to be re-downloaded

Running from source

uv run python src/ui/main.py

Command-line pipeline

Each stage below is also runnable independently, and each script's own --help documents its full option set:

  1. src/detection/video_yolo.py / image_yolo.py: Run YOLO over raw video frames or images, producing a JSON detection report
  2. src/processing/video_entityprofiler.py: Track unique entities across a video's frames from that report, export the best frame per entity, and compute relative/absolute speed and direction
  3. src/processing/report_recalibrator.py: Recompute absolute speed on an existing entity-profiler report against a different reference entity, without reprocessing video
  4. src/utility/report_summarizer.py: Turn an entity-profiler (or recalibrator) report into summary statistics: entity counts by type and direction, per-video breakdowns, speed statistics
  5. src/processing/video_plateextractor.pyplate_dwellprofiler.py: Detect and OCR license plates across video frames, then match repeated plate readings to compute vehicle dwell time
  6. src/processing/image_occupancyprofiler.py: Re-identify and track entities chronologically across a folder of images to compute occupancy counts

Utility scripts under src/utility/ also include benchmarks (vehicle_speed_benchmark.py, vehicle_direction_benchmark.py, pedestrian_direction_benchmark.py, plate_ocr_benchmark.py, speed_distribution_comparator.py) that validate these algorithms against labeled/ground-truth datasets, and scraper.py for bulk-downloading photos from a Spypoint camera account.

Testing

uv run pytest

Tests live under tests/, mirroring the src/ package layout, and run against sample media in tests/data/.

Building an executable

Desktop builds are produced with PyInstaller (main.spec), driven by .github/workflows/build.yml for Linux, Windows, and macOS:

uv run pyinstaller main.spec

On Windows, the resulting binary is wrapped into an installer with Inno Setup via installer/main.iss.

License

Licensed under the GNU AGPLv3.

Bibliography

Acadia National Park final transportation plan / Environmental impact statement. (2019,
    March). National Park Service.
    https://parkplanning.nps.gov/document.cfm?parkID=203&documentID=94071

Ahad, A., Kidwai, F. A., & Alqadhi, S. (2026). AI-augmented real-time parking occupancy
    detection and prediction: Integrating computer vision with user behavioral insights
    for Delhi’s mixed-traffic ecosystem. Transportation.
    https://doi.org/10.1007/s11116-026-10767-1

Albers, J. L., Wildhaber, M. L., Green, N. S., Struckhoff, M. A., & Hooper, M. J.
    (2023). Visitor use and activities detected using trail cameras at forest
    restoration sites. Ecological Restoration, 41(4), 199–212.
    https://doi.org/10.3368/er.41.4.199

Arshad, J., Ijaz, C. A., Yousaf, A., Habib, S., Rehman, A. U., Abid, H., & Asif, R. M.
    (2022). Implementation of an intelligent parking system. 2022 International
    Conference on Engineering and Emerging Technologies (ICEET), 1–11.
    https://doi.org/10.1109/ICEET56468.2022.10007136

Bai, L., Wu, C., Xie, F., & Wang, Y. (2021). Crowd density detection method based on
    crowd gathering mode and multi-column convolutional neural network. Image and Vision
    Computing, 105, 104084. https://doi.org/10.1016/j.imavis.2020.104084

Bai, Y., Zou, Q., Chen, X., Li, L., Ding, Z., & Chen, L. (2023). Extreme low-resolution
    action recognition with confident spatial-temporal attention transfer. International
    Journal of Computer Vision, 131(6), 1550–1565.
    https://doi.org/10.1007/s11263-023-01771-4

Butoto, J., Liu, X., & Sando, T. (2026). Dwell time estimation using periodic image
    captures and deep learning. The International FLAIRS Conference Proceedings, 39(1).
    https://doi.org/10.32473/flairs.39.1.141550

Choi, W., Chao, Y.-W., Pantofaru, C., & Savarese, S. (2014). Discovering Groups of
    People in Images. In D. Fleet, T. Pajdla, B. Schiele, & T. Tuytelaars (Eds.),
    Computer Vision – ECCV 2014 (Vol. 8692, pp. 417–433). Springer International
    Publishing. https://doi.org/10.1007/978-3-319-10593-2_28

Eco-Counter. (n.d.). Counting solutions to understand user flows. Retrieved April 30,
    2026, from https://www.eco-counter.com/solutions/counting-solutions

Elek, O., Thomas, M. M., & Forbes, A. (2019). Learning patterns in sample distributions
    for Monte Carlo variance reduction (arXiv:1906.00124; Version 1). arXiv.
    https://doi.org/10.48550/arXiv.1906.00124

Fleming, D. (2016). As popular Acadia turns 100, there’s no room at the top. TCA
    Regional News.
    https://www.pressherald.com/2016/07/03/as-popular-acadia-turns-100-theres-no-room-at-the-top/

Ilesanmi, A. E., & Ilesanmi, T. O. (2021). Methods for image denoising using
    convolutional neural network: A review. Complex & Intelligent Systems, 7(5),
    2179–2198. https://doi.org/10.1007/s40747-021-00428-4

Jocher, G., Qiu, J., Liu, M., Lyu, S., Akyon, F. C., & Kalfaoglu, M. E. (2026).
    Ultralytics YOLO26: Unified Real-Time End-to-End Vision Models (Version 1). arXiv.
    https://doi.org/10.48550/ARXIV.2606.03748

Jones, T. E., Yang, Y., & Yamamoto, K. (2018). Comparing automated and manual visitor
    monitoring methods: Integrating parallel datasets on Mount Fuji’s North Face.
    Journal of Park and Recreation Administration, 36(1), 22–38.
    https://doi.org/10.18666/JPRA-2018-V36-I1-7976

Li, N. (2023). Ethical considerations in artificial intelligence: A comprehensive
    disccusion from the perspective of computer vision. SHS Web of Conferences, 179,
    04024. https://doi.org/10.1051/shsconf/202317904024

Liu, Z., Dai, C., & Li, X. (2024). An electric bicycle tracking algorithm for improved
    traffic management. Heliyon, 10(13), e32708.
    https://doi.org/10.1016/j.heliyon.2024.e32708

Louridas, P., & Ebert, C. (2016). Machine learning. IEEE Software, 33(5), 110–115.
    https://doi.org/10.1109/MS.2016.114

Lu, R., Zhang, H., & Zhang, Z. (2025). Revealing urban functionality through vehicle
    dwell patterns: A data-driven approach. 2025 IEEE 28th International Conference on
    Intelligent Transportation Systems (ITSC), 2544–2549.
    https://doi.org/10.1109/ITSC60802.2025.11423278

Lune, H., & Berg, B. L. (2017). Qualitative research methods for the social sciences
    (Ninth edition, global edition). Pearson.

Lupp, G., Kantelberg, V., Förster, B., Honert, C., Naumann, J., Markmann, T., & Pauleit,
    S. (2021). Visitor counting and monitoring in forests using camera traps: A case
    study from Bavaria (Southern Germany). Land (Basel), 10(7), 736.
    https://doi.org/10.3390/land10070736

Managing congestion: A toolkit for parks. (2020, December). National Park Service.
    https://www.nps.gov/orgs/1548/upload/Congestion_Management_2021-508.pdf

Manning, R., Jacobi, C., & Marion, J. L. (2006). Recreation monitoring at Acadia
    National Park. The George Wright Forum, 23(2), 59–72. JSTOR.

Miguel, J., Mendonça, P., Quelhas, A., Caldeira, J. M. L. P., & Soares, V. N. G. J.
    (2024). The development of a prototype solution for collecting information on
    cycling and hiking trail users. Information, 15(7), 389.
    https://doi.org/10.3390/info15070389

Mohammed, S., Budach, L., Feuerpfeil, M., Ihde, N., Nathansen, A., Noack, N., Patzlaff,
    H., Naumann, F., & Harmouch, H. (2025). The effects of data quality on machine
    learning performance on tabular data. Information Systems, 132, 102549.
    https://doi.org/10.1016/j.is.2025.102549

Monika, Singh, P., & Chand, S. (2023). Computer vision-based framework for pedestrian
    movement direction recognition. Journal of Intelligent & Fuzzy Systems, 44(5),
    8015–8027. https://doi.org/10.3233/JIFS-223283

Monitoring guidebook. (2019, June). Interagency Visitor Use Management Council.
    https://visitorusemanagement.nps.gov/Content/documents/508_final_Monitoring_Guidebook_Edition_One_IVUMC.pdf

Nadadur, D., Haralick, R. M., & Gustafson, D. E. (2005). A Bayesian framework for noise
    covariance estimation using the facet model. IEEE Transactions on Image Processing,
    14(11), 1902–1917. https://doi.org/10.1109/TIP.2005.854480

National Park Service. (2025). Annual park ranking report for recreation visits in:
    2025. Integrated Resource Management Applications.
    https://irma.nps.gov/Stats/SSRSReports/National%20Reports/Annual%20Park%20Ranking%20Report%20(1979%20-%20Last%20Calendar%20Year)

Quarterly acreage reports. (2026, March 31). National Park Service.
    https://www.nps.gov/subjects/lwcf/acreagereports.htm

Razzaque, T., Hussain, H., Ahmmad, R., & Siddique, S. (2024). Enhancing Safety and
    Collision Avoidance in Autonomous Vehicles through Pose Estimation Techniques. 2024
    13th International Conference on Electrical and Computer Engineering (ICECE),
    385–390. https://doi.org/10.1109/ICECE64886.2024.11024749

Singh, S., & Singh, K. (2025). Pattern recognition and image segmentation based on some
    novel fuzzy similarity measures. Journal of Experimental & Theoretical Artificial
    Intelligence, 37(8), 1453–1480. https://doi.org/10.1080/0952813X.2024.2440662

Tian, B., Tang, M., & Wang, F.-Y. (2015). Vehicle detection grammars with partial
    occlusion handling for traffic surveillance. Transportation Research Part C:
    Emerging Technologies, 56, 80–93. https://doi.org/10.1016/j.trc.2015.02.020

Viñals, M. J., Orozco Carpio, P. R., Teruel, P., & Gandía-Romero, J. M. (2024).
    Real-time monitoring of visitor carrying capacity in crowded historic streets
    through digital technologies. Urban Science, 8(4), 190.
    https://doi.org/10.3390/urbansci8040190

Waelen, R. A. (2023). The ethics of computer vision: An overview in terms of power. AI
    and Ethics, 4(2), 353–362. https://doi.org/10.1007/s43681-023-00272-x

Wang, Q., Liu, T., & Li, R. (2025). Artificial intelligence and environmental
    sustainability: Investigating the AI‐EKC Nexus for SDG 7 and SDG 13.
    https://doi.org/10.1002/sd.70294

Watson, A. E., Cole, D. N., Turner, D. L., & Reynolds, P. S. (2000). Wilderness
    recreation use estimation: A handbook of methods and systems. United States
    Department of Agriculture Forest Service.
    https://www.fs.usda.gov/rm/pubs/rmrs_gtr056.pdf

Xue, W., Sun, J., Liang, F., Hou, J., Yang, Y., Shang, W., Chen, X., Gradoni, G., &
    Huang, Y. (2025). Jensen–Shannon divergence hypothesis test for determining
    reverberation chamber field distribution. IEEE Transactions on Antennas and
    Propagation, 73(9), 6855–6870. https://doi.org/10.1109/TAP.2025.3574921

Yohannes, E., Lin, C.-Y., Shih, T. K., Thaipisutikul, T., Enkhbat, A., & Utaminingrum,
    F. (2023). An improved speed estimation using deep homography transformation
    regression network on monocular videos. IEEE Access, 11, 5955–5965.
    https://doi.org/10.1109/ACCESS.2023.3236512

Zhao, G., Takafumi, M., Shoji, K., & Kenji, M. (2012). Video based estimation of
    pedestrian walking direction for pedestrian protection system. Journal of
    Electronics (China), 29(1–2), 72–81. https://doi.org/10.1007/s11767-012-0814-y

Zualkernan, I., Dhou, S., Judas, J., Sajun, A. R., Gomez, B. R., & Hussain, L. A.
    (2022). An IoT system using deep learning to classify camera trap images on the
    edge. Computers, 11(1), 13. https://doi.org/10.3390/computers11010013

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages