Coder Social home page Coder Social logo

fishguardians / fishing-on-a-conveyor-belt Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 2.0 64.38 MB

Video recording and image analysis of fishes to automate and increase the efficiency of fish phenotyping, and bolster posterior analysis to improve farm production and management.

Python 100.00%
darknet-yolo machine-learning phenotyping python3

fishing-on-a-conveyor-belt's Introduction

Fish phenotyping project

Video recording and image analysis of fishes to automate and increase the efficiency of fish phenotyping, and bolster posterior analysis to improve farm production and management.

Getting Started [Detect Fish & ID Tag]

Git clone this repository git clone https://github.com/fishguardians/fishing-on-a-conveyor-belt.git

or Download the whole zip package

Getting Started [Detect Fish ONLY]

Go to https://github.com/fishguardians/fishing-on-a-conveyor-belt-no-tag


Getting Started [Detect Fish ONLY]

Go to https://github.com/fishguardians/fishing-on-a-conveyor-belt-no-tag

or Download the whole zip package from Github


Installation Guide - Google Doc

Setting Up Tutorial (Windows) - https://youtu.be/WGdvI_PCXuM

Setting Up Tutorial (Mac) - https://youtu.be/09KSx-147fg

How To Use Tutorial - https://youtu.be/MYsK0XLZWLQ

Prerequisites

Install Python [email protected] using this Windows_x64, Windows_x32, macOS or navigate to Downloads

Install/Downgrade Pip [email protected] with command python -m pip install pip==21.2.3

Installation

Install required python libraries pip install -r requirements.txt

Start the Program

Open the website python main.py

Usage

For educational and research purposes.

Contributing

For further details or development, email:

pureskill714[Raheem] - [email protected]

nbinged[Nicholas] - [email protected]

Don-Whis[Chen Dong] - [email protected]

yaoyujing - [email protected]

SageSG[Henry] - [email protected]

License

Contact

Please contact Singapore Institute of Technology & James Cook University for further enquiries.

Acknowledgements

Many thanks to the researchers at James Cook University for their hospitality and assistance. Special thanks to the Academic Professor, Kirwan Ryan Fraser and Industry Supervisor, Jose Domingos and his assistant Joseph Angelo.


Documentations

Darknet (For YOLOv3 and YOLOv4 convolunsional network) github link

Streamlit (Graphic User Interface) streamlit docs

Pandas (Data Visualisation) pandas docs

Tutorials

Tesseract tutorial (Fish ID Detection) youtube link 1, youtube link 2, configs

Google Colab (Object Tracking and YOLOv3) youtube link

LabelMe Library (Create Clean Datasets) link

YOLOv3 Tutorial (Train Images) link

OpenCV (Digit Recognition) github_repo, link

OpenCV (Fish Dimension) youtube_link

Links

Read files by directory - link

Unittest - link


Project Structure

# {Path} Description Commands
1 ./backup Stores a duplicate of the project -runs from main.py-
2 ./completed_videos Stores the completed videos -runs from video_processing.py-
3 ./dnn_model Stores the trained object detection model -runs from main.py-
4 ./images Stores the images for verification -runs from video_processing.py-
5 ./output Stores the unedited results from the processed videos -runs from multiple scripts-
6 ./pages Stores the frontend streamlit pages -runs from main.py-
7 ./scripts Stores all the scripts being used for video processing -runs from main.py-
8 ./testing Stores the examples for testing -runs from test_project.py-
9 ./videos Allow users to store unprocessed videos -runs from main.py-
10 ./constant.py Stores the variables in use -runs from main.py-
11 ./errorlogs.txt Stores the errors that is caught -runs from main.py-
12 ./reset_folders Check for corrupted folders -runs from main.py-
13 ./main.py Starts the program -runs from main.py-
14 ./test_project.py Unit Testing for the program -can run by itself-

Scripts

# Scripts Description
1 main.py Starts the program, check for errors, initalise object detection, run video processing
2 video_processing.py Get videos, skip frames, detect objects from frames, check hypothenuse of fish to centre of frame, save images, move videos, view video with streamlit
3 reset_folders.py Check if the folders are in the project
4 test_project.py Test if sub functions are working properly
5 object_detection.py Uses the yolov4 model, configs and classes to detect image
6 digit_recognition.py Retrieve fish weight reading from the image
7 fish_measurement.py Calls upon image enchancers to scrubbing data from image
8 generate_csv.py Perform data cleaning, using median, mode and IQR
9 streamlit_scripts.py Cache unprocessed videos
10 text_recognition.py Use pytesseract to detect fish id tags
11 constants.py Stores the variables used throughout the project

fishing-on-a-conveyor-belt's People

Contributors

don-whis avatar nbinged avatar pureskill714 avatar sagesg avatar yaoyujing avatar

Stargazers

 avatar

Watchers

 avatar

fishing-on-a-conveyor-belt's Issues

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.