All Projects → burnpiro → farm-animal-tracking

burnpiro / farm-animal-tracking

Licence: GPL-3.0 license
Farm Animal Tracking (FAT)

Programming Languages

python
139335 projects - #7 most used programming language
Jupyter Notebook
11667 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to farm-animal-tracking

VideoRecognitionTracking
Real time object or face detection recognition and tracking in video. The Full end-to-end project.
Stars: ✭ 36 (+89.47%)
Mutual labels:  tracking, recognition, detection
Hand-Digits-Recognition
Recognize your own handwritten digits with Tensorflow, embedded in a PyQT5 GUI. The Neural Network was trained on MNIST.
Stars: ✭ 11 (-42.11%)
Mutual labels:  recognition, detection
napari-hub
Discover, install, and share napari plugins
Stars: ✭ 44 (+131.58%)
Mutual labels:  tracking, detection
brfv4 android examples
Android Studio project (Java)
Stars: ✭ 43 (+126.32%)
Mutual labels:  tracking, detection
Deep Learning For Tracking And Detection
Collection of papers, datasets, code and other resources for object tracking and detection using deep learning
Stars: ✭ 1,920 (+10005.26%)
Mutual labels:  tracking, detection
Jeelizfacefilter
Javascript/WebGL lightweight face tracking library designed for augmented reality webcam filters. Features : multiple faces detection, rotation, mouth opening. Various integration examples are provided (Three.js, Babylon.js, FaceSwap, Canvas2D, CSS3D...).
Stars: ✭ 2,042 (+10647.37%)
Mutual labels:  tracking, detection
timeline
Timeline - A photo organizer
Stars: ✭ 39 (+105.26%)
Mutual labels:  recognition, detection
Vehicle Detection And Tracking
Computer vision based vehicle detection and tracking using Tensorflow Object Detection API and Kalman-filtering
Stars: ✭ 384 (+1921.05%)
Mutual labels:  tracking, detection
face-mask-detection-tf2
A face mask detection using ssd with simplified Mobilenet and RFB or Pelee in Tensorflow 2.1. Training on your own dataset. Can be converted to kmodel and run on the edge device of k210
Stars: ✭ 72 (+278.95%)
Mutual labels:  detection, tensorflow2
Awesome-Vision-Transformer-Collection
Variants of Vision Transformer and its downstream tasks
Stars: ✭ 124 (+552.63%)
Mutual labels:  tracking, detection
ARFaceFilter
Javascript/WebGL lightweight face tracking library designed for augmented reality webcam filters. Features : multiple faces detection, rotation, mouth opening. Various integration examples are provided (Three.js, Babylon.js, FaceSwap, Canvas2D, CSS3D...).
Stars: ✭ 72 (+278.95%)
Mutual labels:  tracking, detection
Trape
People tracker on the Internet: OSINT analysis and research tool by Jose Pino
Stars: ✭ 6,753 (+35442.11%)
Mutual labels:  tracking, recognition
Brfv4 javascript examples
BRFv4 - HTML5/Javascript - examples project. Reference implementation for all other platform example packages.
Stars: ✭ 460 (+2321.05%)
Mutual labels:  tracking, detection
Mcmot
Real time one-stage multi-class & multi-object tracking based on anchor-free detection and re-id
Stars: ✭ 181 (+852.63%)
Mutual labels:  tracking, detection
Face Track Detect Extract
💎 Detect , track and extract the optimal face in multi-target faces (exclude side face and select the optimal face).
Stars: ✭ 434 (+2184.21%)
Mutual labels:  tracking, detection
etiketai
Etiketai is an online tool designed to label images, useful for training AI models
Stars: ✭ 63 (+231.58%)
Mutual labels:  recognition, detection
Sst
Single Shot Tracker
Stars: ✭ 350 (+1742.11%)
Mutual labels:  tracking, detection
Pysot
SenseTime Research platform for single object tracking, implementing algorithms like SiamRPN and SiamMask.
Stars: ✭ 3,898 (+20415.79%)
Mutual labels:  tracking, siamese-network
opencv TLD
TLD:tracking-learning-detection 跟踪算法
Stars: ✭ 41 (+115.79%)
Mutual labels:  tracking, detection
DecisionAmbiguityRecognition
Deep learning AI, that recognizes when are people uncertain
Stars: ✭ 16 (-15.79%)
Mutual labels:  recognition, detection

Farm Animal Tracking Project

Project for tracking farm animals.Sample YT

Prerequisites

Instalation

Download repository and install dependencies

$ git clone https://github.com/burnpiro/farm-animal-tracking.git
$ cd farm-animal-tracking
$ pip install -r requirements.txt

Download detection model weights

  1. To download precompiled model weights Google Drive
  2. Unzip archive to model/detection_model

Download recognition model weights

  1. To download precompiled model weights Google Drive
  2. Unzip archive to model/siamese/weights

Running

Detection

To visualize animal detection on video use:

$ python show_prediction.py

or for image:

$ python run_detection.py

Tracking

To visualize animal tracking on video use:

$ python show_tracking.py --video=<path to video>

Dataset

Dataset for learning of model can be obtained at PSRG website.

EDA (Exploratory Data Analysis)

  • Run:
docker-compose -f eda/docker-compose.yaml up
  • Go to localhost:8001 and enter token from console

Siamese network

You can download current best weights from Google Drive MobileNetV2 Google Drive EfficientNetB5 Google Drive ResNet101V2. Put them into ./model/siamese/weights and use the path as --weights parameter.

Training

Make sure you have cropped dataset in ./data/cropped_animals folder. Please check ./data/data_generator.py documentation for more info.

$ python train_siamese.py

Generate Embeddings for Test dataset and visualize it

Instead of running this script manually (requires ~30GB of RAM) you can use pre-generated train/test/concat files in ./data/visualization. Just select two files with the same postfix, vecs-$1.tsv and meta-$1.tsv, it's important to use the same postfix, otherwise length won't match.

$ python helpers/generate_siamese_emb_space.py

Options:

  • --datatype: either train or test (default train), which data should be used for embeddings
  • --weights: string (default siam-118_0.0633.h5), specify weights file from mode/siamese/weights/MobileNetV2/ folder

This is going to produce two files:

  • vecs.tsv - list of embeddings for test dataset
  • meta.tsv - list of labels for embeddings

You can visualize those embeddings in https://projector.tensorflow.org/ application. Just upload them as a custom data (use Load option).

Average class values - Video

Test day data - Video

Train all data - Video

Generate tracking data

$ cd data
$ python generate_tracking.py

This is going to produce tracking data from videos, so we can evaluate model. Look for frames_tracking.json and pigs_tracking.json inside ./data/tracking/. For more details check Wiki.

Testing two images

You can specify the weights for the model. Please use weights marked with the lowest number (loss value).

$ python test_siamese.py

Options:

--weights siam-118_0.0633.h5
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].