*NOTE --> ByteTracker uses python-package lap, which wont work for python-version > 3.10*
Nirikshan aims to provide video analytics on video sources like RTSP stream or video file using deep learning models.
- Video Source
- Video file
- RTSP Stream
- DNN Models
- object detection: yolo-V3/V4
- Pose Estimation: MediaPipe
- Face Detection
- Object Tracker: ByteTracker
- OpenCV for Video Processing and DNN for Inference
- NVIDIA Triton for Inference
- User Interface
- Python
- Class: Person
- Count
EmotionNotImplementedAge CategoryNotImplementedYoung AdultsNotImplementedMiddle AgedNotImplementedOlder AdultsNotImplemented
- Action
- Smoking
- Fighting
- Class: Vehicle
- Count
- Type (Car, Bus, Bike)
- Color
- Brand
- LPR
- Class: Animal
- Count
- Species
- Install dependencies using conda, use conda env file
myenv.yml
- Download models from below links
- Make sure conda env is activated.
- To Run application, Use command
make run FPATH=data/palace.mp4
- Action recognition in videos.
- Support for multiple video sources (IP Cameras, Local Files)
- Dockerize Analytics
- GPU Support for faster inference
- User Interface for visualizing analytics results
- yolov3: Radmon et al. "YOLOv3: An Incremental Improvement"
- yolov4: Bochkovskiy et al. "YOLOv4: Optimal Speed and Accuracy of Object Detection"
- ByteTrack: Zhang,Yifu et al. Multi-Object Tracking by Associating Every Detection Box.
- YuNet: https://github.com/opencv/opencv_zoo/tree/main/models/face_detection_yunet
- PaddleDetection: https://github.com/PaddlePaddle/PaddleDetection/blob/develop/deploy/pipeline/README_en.md