From Working to Working: Sustaining a Wildlife-Detection Pipeline Through Dependency Drift
Abstract
Research pipelines that rely on computer vision models do not remain functional on their own: as the external tools and libraries they depend on continue to evolve, a previously working pipeline can silently drift out of a working state. Because such failures can occur without producing an error, they pose a particular risk to research software, where a pipeline that appears to run successfully may in fact be returning degraded or incorrect results. In this poster, we examine this problem in the context of the GreenCrossingAI project, whose wildlife-detection pipeline uses MegaDetector, a computer vision model, to automatically identify animals in camera trap images and videos collected at wildlife crossing sites for use by environmental scientists. The MegaDetector installation on the project's shared workstation had fallen out of date and begun producing errors, prompting an upgrade to the current release. Although the upgrade completed without error, a version check showed the pipeline was still running the old release, indicating that the new installation was not actually being used. Inspecting the python module search path and the system PYTHONPATH variable revealed a machine-wide override loading the outdated MegaDetector installation ahead of the environments own package, affecting every environment on the machine; the override was removed and the fix verified by confirming the module search path and installed version directly. Extending this check to other user accounts on the same machine uncovered a related, account specific issue, in which the updated model was not being correctly retrieved and cached, showing that the same failure mode, a configuration correct in one context and silently incorrect in another, was not isolated to a single cause. These findings informed an incremental, documentation first methodology: each fault is traced to its root cause through direct inspection of the system, corrected with a minimal targeted change, verified against test data recorded as it occurs. Both fixes described above were confirmed using this methodology: after each change, the module search path and installed package version were re-checked directly, and the corrected configuration was confirmed to apply across every user account on the shared machine rather than only the one under which it was first diagnosed. This reinforces the central finding of the work: a fix correct in one environment cannot be assumed to behave identically in another, and confirming it requires environment-specific verification as part of the fix itself. For research pipelines built on continuously evolving external tools, sustaining this kind of environment-aware documentation is what allows scientific data processing to continue reliably over time.