Coder Social home page Coder Social logo

wildlifeai / fishdetection-fasterrcnn-project Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 0.0 1.26 GB

Scripts to train algorithms to detect fish, using underwater images labelled by citizen scientists in Spyfish Aotearoa

License: MIT License

Python 100.00%
marine-conservation underwater-images fish-identification

fishdetection-fasterrcnn-project's Introduction

Spyfish Aotearoa - FishDetection with FasterRCNN

This repository contains scripts and resources to train machine learning algorithms to identify fish for Spyfish Aotearoa using data labelled by citizen scientists.

Adi Gabay and Ohad Tayler carried out this work, as part of their internship in Wildlife.ai and their studies in the Hebrew University.

Contributors Forks Stargazers Issues MIT License

Overview

To train the fish identification models we used still images of baited underwater videos (BUV). BUV is a simple, versatile underwater survey method that researchers use to count scavenger fish inside and outside marine reserves.

Citizen scientists labelled the images at Spyfish Aotearoa Zooniverse project. Using the Koster data mangament tools, we aggregated the labels of multiple citizen scientists and retrieved the data in a folder with the images and a folder of the labels in YOLO format.

We trained a 'FasterRCNN' using the pipeline below on the data to detect three fish species (blue cod, snapper and scarlet wrasse). We used methods like augmentations, style transfer to improve our model results.

Flow chart of the pipeline

Requirements

  • Python 3.7+
  • GPU with at least 16 GB of memory
  • CUDA - vesion 11.0.2
  • Trainig data (COCO format).

How to use

  1. In order to train the model you should run the train.py with the required parameters.
  2. To test the model you should run the file test.py
  3. In order to load the data and transform the data you should run the SpyFishAotearoaDatahandler - this should create a folder with the formatted data and the CSV files.
  4. To get general information about the data you should run the file utils/eda_lib.py
  5. To transfer the data style you need to use the utils/transfer_dataset
  6. To plot the images with the labels you should run the file plot_boxes_on_images.py

Citation

If you use this code or its models, please cite:

Gabay A, Taylor O, Paz E, Hyams G, Anton V (2022). Spyfish Aotearoa - FishDetection with FasterRCNN. https://github.com/wildlifeai/FishDetection-FasterRCNN-project

Collaborations/questions

We are working to make our work available to anyone interested. Please feel free to contact us if you have any questions.

fishdetection-fasterrcnn-project's People

Contributors

adida avatar ohadtay avatar victor-wildlife avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.