미국
Underwater Target Detection Software Demonstration on the RivGen Turbine
This repository includes data, object detection models, and processing scripts necessary to evaluate the accuracy of the object detection models created for the underwater target detection software demonstration on the RivGen turbine project and to reproduce the performance metrics (precision, recall, mAP50, mAP50-95) presented in the report. - Contents - The included data consist of "images" and "labels". Images and labels were curated from 2021 and 2024 smolt outmigration periods at the project site in Igiugig, AK. Images are monochrome 8-bit images of objects (smolt, debris, and other) passing through the field of view of the deployed cameras during various operational stages of the RivGen turbine. Labels are text files indicating the class and bounding polygon of each object in an image. The provided labels use the "YOLO" label format, described in detail here: https://docs.ultralytics.com/datasets/detect/. Each image has an associated label with the same time string in its file name (e.g., 2024_05_25_09_01_57.98.jpg and 2024_05_25_09_01_57.98.txt). Time strings have the format %yyyy_%mm_%dd_%HH_%MM_%SS.%3f. The 2021 and 2024 test datasets are included. These data were used to evaluate the accuracy of models version 1 (V1), V2, and V3, as described in the report. These data are organized into test directories found in the 2021 and 2024 directories, e.g., /data/2021/test/. The "train" and "val" directories are also present as the presence of these directories is necessary for the included script to run successfully, though the associated data is not included. The model weights files are included for models V1, V2, and V3 in the models directory, e.g., /models/v1_model_train_2021_val_2021_test_2021.pt. Finally, the python script "test_models.py" is included, which loads each model and tests it against the associated test dataset. The resulting accuracy metrics are saved to figures in a ./runs/detect/ directory, which will be created when the script is run on the user's machine. Instructions for installing and using the python script are included in the README. - Requirements - All instructions assume the user is using a computer using Ubuntu Linux 20.04+ with Python3.8+. Operation on other operating systems may require some modification to these instructions. Models will run on your computer's CUDA-capable NVIDIA GPU if one is available. The README.md provides instruction for installing the requirements from the requirements.py file. The included data was revised/updated to reflect the post-access report for the project. Resource titles and descriptions were updated to reflect the most up-to-date resources. The file names were updated by adding a "_Ver1" to the end of the outdated file and a "_Ver2" to the end of the revised file.