Notice ID NF-FN7600-21-02077
“The Department of Commerce (DOC), National Oceanic and Atmospheric Administration (NOAA) National Marine Fisheries Service (NMFS) Southeast Fisheries Science Center (SEFSC) requires contractor services to improve upon and operationalize an existing camera control model/algorithm for fish detection. These services will develop Machine Learning (ML) algorithms that will analyze video streams taken during fishing operations as fish are caught, or are passed through a camera chute system, or under a set of stereo-cameras, or single images with fixed distance to target. These ML algorithms will be used to automatically determine species composition, length and count of fish.
Period of Performance: The anticipated Period of Performance for these services is 09/01/2021 – 08/31/2021, with four (4) potential option years (FY 22 – 26), if exercised.
The Government is especially interested in responses from SBA certified small business concerns that are capable of performing the work described within this notice…”
“Scope of Work
The primary objective of the work is to build on current machine learning algorithms to automatically detect and identify individual fish images or from video data streams using standard and machine vision cameras. Machine learning algorithms are best described as a non-numerical model that processes image features through a neural network to categorize species, length, and catch events. The primary dataset for species identification were collected with a camera system placed above a deck on a fishing vessel or collected during survey. The resulting products should be built as executable programs with user settable parameters, built using C++, Python, or similar programming environments. Several image data sets shall be provided by SEFSC scientists for the analysis that include multiple images of over a hundred species and many sizes for training classification algorithms. A system for user validation of the results should be incorporated into the model/algorithm. Machine learning source code management and sharing shall be done using GitHub currently in use and the developer shall have read access to the library and read-write access to the existing applications. Current algorithms shall serve as a basis for continued work. SEFSC scientists shall provide image/video data for model development including reference image/video sets. Progress on the two job task(s) below shall be evaluated though meetings with SEFSC programming staff. In order of priority. Query learning may be explored to identify ambiguous or new classes of fishes?
- Automated Species Classification
Fish targets that are detected and separated for the image background shall be passed on to a classification algorithm that shall determine class membership of up to 200 different classes of fish. Annotated images supplied by SEFSC shall be used in classification and length measurement. The classifications should be made in a probabilistic framework, allowing users to incorporate classification uncertainty into data analysis. A potential hierarchical structure can be applied to group fish with low species level classification confidence in species groups of similar appearing fish types. Targets with high uncertainty can be identified for latter manual review…”
“2. Fish/Shrimp Detection and Size Estimation
This work shall improve upon and operationalize existing camera control model/algorithm for fish detection as fish pass at different times through a camera chute system or under a set of stereo-cameras or single images with fixed distance to target. For the stereo system, one camera shall be used to evaluate fish presence, and when a fish is present a stereo image pair shall be captured and saved to disk. The application shall involve testing to determine optimal settings and evaluate possibility of taking rapid stereo-camera sequences and selecting best image pair for further analysis…”
The model development shall include the source code and documentation for its use based on past algorithm developments:
- Identification- species classification
- Improve on and implement existing species identification algorithm originally built at AFSC using OpenCV and Open Source deep learning algorithms
- provide species class membership including measures of confidence for classification and potentially using a hierarchical approach
- Target detection and image capture
- Improve on and implement existing image acquisition algorithm originally built at AFSC using OpenCV and Open Source deep learning algorithms
- Determine optimal capture settings to detect and capture images of individual fish passing by the cameras. This shall be fishery specific.
- Target processing – sizing
- improve on existing model/algorithm for automated stereo-image or single camera based size determination, including camera calibration…”