{"@type": "dcat:Dataset", "DOI": "10.15473/2488381", "accessLevel": "public", "bureauCode": ["019:20"], "contactPoint": {"@type": "vcard:Contact", "fn": "James Josline", "hasEmail": "mailto:james@marinesitu.com"}, "dataQuality": true, "description": "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.\n\n- Contents - \nThe 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. \n\nLabels are text files indicating the class and bounding polygon of each object in an image. \nFile names for both images and labels are time strings with the the format %yyyy_%mm_%dd_%HH_%MM_%SS.%3f. \nLabels are saved in the Ultralytics YOLO format for segmentation models (https://docs.ultralytics.com/datasets/segment/), which is as follows:\n\nEach image in the dataset (located in \"image\" directories) has a corresponding text file (located in \"labels\" directories) with the same name as the image file but with the \".txt\" extension.\nWithin each .txt file, each row corresponds to an object instance in the image.\n\nEach row contains the following information about the object instance:\nClass Index: An integer representing the class of the object (e.g., 0 for person, 1 for car, etc.).\nPolygon coordinates: A series of segmentation polygon coordinates around the mask area, normalized to be between 0 and 1.\n\nFor example, an image with two objects of class indicies '0', and '1', made up of 3-point and 5-point segments, respectively, would appear as follows:\n0 0.681 0.485 0.670 0.487 0.676 0.487\n1 0.504 0.000 0.501 0.004 0.498 0.004 0.493 0.010 0.492 0.0104\n\nThe list of classes for the multiclass model are found in \"all_classes.yaml\", where the class \"names\" correspond to the class index in each label. Model indices and class names for the multi-class model are:\n\nClass Index: Class Name\n0: other\n1: smolt\n2: debris\n\nSimilarly, the list of classes for the binary \"smolt\" model are found in \"smolt.yaml\", though only one class, \"smolt\", is included in this model:\n\nClass Index: Class Name\n0: smolt\n\nThe 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/.\n\nThe \"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.\n\nThe 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.\n\nFinally, 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.\n\n- Requirements - \nAll 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.\nThe README.md provides instruction for installing the requirements from the requirements.py file. \n\nThe 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\" and \"_Ver2\" to the end of the outdated file and a \"_Ver3\" to the end of the revised file. Two updates have occurred for this data set and can be followed using the file naming.", "distribution": [{"@type": "dcat:Distribution", "accessURL": "https://mhkdr.openei.org/files/588/Data%20Resources.zip", "description": "**Outdated** for updated/revised version see \"Demonstration_Data_and_Processing_Resources_Ver3\". ", "format": "zip", "mediaType": "application/zip", "title": "Demonstration_Data_and_Processing_Resources_Ver1.zip"}, {"@type": "dcat:Distribution", "accessURL": "https://mhkdr.openei.org/files/588/demonstration_data_and_processing_resources%20v2.zip", "description": "**Outdated** for updated/revised version see \"Demonstration_Data_and_Processing_Resources_Ver3\". ", "format": "zip", "mediaType": "application/zip", "title": "Demonstration_Data_and_Processing_Resources_Ver2.zip"}, {"@type": "dcat:Distribution", "accessURL": "https://mhkdr.openei.org/files/588/demonstration_data_and_processing_resources%20v3.zip", "description": "** Updated** This file contains data, object detection models, and processing scripts necessary to train the object detection models utilized in the project and to produce performance metrics. Data consist of \"images\" and \"labels\" with matching time string file names. Images and labels were curated from 2021 and 2024 smolt outmigration periods.\nPython3.8+ is required to install and run the train and validation script. The README.md provides instruction for installing the requirements from the requirements.py file. ", "format": "zip", "mediaType": "application/zip", "title": "Demonstration_Data_and_Processing_Resources_Ver3.zip"}, {"@type": "dcat:Distribution", "accessURL": "https://mhkdr.openei.org/files/588/TEAMER-ORPC-Post-Access-Report-Public.docx", "description": "The TEAMER Post Access Report.", "format": "docx", "mediaType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "title": "TEAMER ORPC Post Access Report.docx"}], "identifier": "https://data.openei.org/submissions/8111", "issued": "2024-12-17T07:00:00Z", "keyword": ["MHK", "Marine", "Hydrokinetic", "ML", "Machine Learning", "Igiugig", "Alaska", "Detection", "Cross-flow", "Tracking", "Smolt", "Salmon", "data", "processing scripts", "Python", "perfomance metrics", "TEAMER", "underwater target detection", "images", "AK", "RivGen", "RivGen turbine", "Software Demonstration"], "landingPage": "https://mhkdr.openei.org/submissions/588", "license": "https://creativecommons.org/licenses/by/4.0/", "modified": "2025-11-13T18:25:45Z", "programCode": ["019:009"], "projectLead": "Lauren Ruedy", "projectNumber": "EE0008895", "projectTitle": "Testing Expertise and Access for Marine Energy Research", "publisher": {"@type": "org:Organization", "name": "MarineSitu"}, "spatial": "{\"type\":\"Polygon\",\"coordinates\":[[[-180,-83],[180,-83],[180,83],[-180,83],[-180,-83]]]}", "title": "TEAMER: Underwater Target Detection Software Demonstration on the RivGen Turbine"}