SharpAI / DeepCamera

Open-Source AI Camera. Empower any camera/CCTV with state-of-the-art AI, including facial recognition, person recognition(RE-ID) car detection, fall detection and more
https://sharpai.github.io/DeepCamera/
MIT License
1.87k stars 318 forks source link
ai camera computer-vision deep-learning edge face-detection face-recognition home-assistant machine-learning nvidia-jetson-nano object-detection python raspberry-pi tensorflow tf-lite video-surveillance

  DeepCamera

Empower camera with SOTA AI
ML pipeline for AI camera/CCTV
Easy to use Edge AI development

GitHub release Pypi release download


DeepCamera empowers your traditional surveillance cameras and CCTV/NVR with machine learning technologies. It provides open source facial recognition based intrusion detection, fall detection and parking lot monitoring with the inference engine on your local device.

SharpAI-hub is the cloud hosting for AI applications which help you deploy AI applications with your CCTV camera on your edge device in minutes.

Features

## Empower any camera with the state of the art AI - facial recognition - person recognition(RE-ID) - parking lot management - fall detection - more comming ## ML pipeline for AI camera/CCTV development - feature clustering with vector database Milvus - labelling with Labelstudio ## Easy to use Edge AI development environment - AI frameworks in docker - desktop in docker with web vnc client, so you don't need even install vnc client

Application 1: Self-supervised person recognition(REID) for intruder detection

SharpAI yolov7_reid is an open source python application leverages AI technologies to detect intruder with traditional surveillance camera. Source code is here It leverages Yolov7 as person detector, FastReID for person feature extraction, Milvus the local vector database for self-supervised learning to identity unseen person, Labelstudio to host image locally and for further usage such as label data and train your own classifier. It also integrates with Home-Assistant to empower smart home with AI technology. In Simple terms yolov7_reid is a person detector.

Installation Guide

pip3 install sharpai-hub
sharpai-cli yolov7_reid start

Prerequisites

1. Docker (Latest version)
2. Python (v3.6 to v3.10 will work fine)

Step-by-step guide

` with the camera entity ID we obtained in Step 9. If you have multiple cameras then keep adding the `entity_id` under `images_processing`.** ``` stream: ll_hls: true part_duration: 0.75 segment_duration: 6 image_processing: - platform: sharpai source: - entity_id: camera. scan_interval: 1 ``` If you have multiple cameras then after changing the 'entity_id' the code will become similar to this: ``` stream: ll_hls: true part_duration: 0.75 segment_duration: 6 image_processing: - platform: sharpai source: - entity_id: camera.192_168_29_44 - entity_id: camera.192_168_29_45 - entity_id: camera.192_168_29_46 - entity_id: camera.192_168_29_47 scan_interval: 1 ``` 12) At `home-assistant` homepage `http://localhost:8123` select `Developer Tools`. Look for and click `Check Configuration` under `Configuration Validation`. If everything went well then it must show "Configuration Valid'. Click `Restart`.Now go to the `container` tab of docker, click three vertical dots under `Actions` and press restart. Open the `Overview` tab of `home-assitant`. If you see `Image Processing` beside your cameras and below it `Sharp IP_ADDRESS_OF_YOUR_CAMERA`, then congrats. Everything is working as expected. ```NOTE: Till further steps are added you can use demo video in the beginning tutorial for further help.```

Important Links

The yolov7 detector is running in docker, you can access the docker desktop with http://localhost:8000 Home-Assistant is hosted at http://localhost:8123 Labelstudio is hosted at http://localhost:8080

Application 2: Facial Recognition based intruder detection with local deployment

We received feedback from community, local deployment is needed. With local deepcamera deployment, all information/images will be saved locally.
sharpai-cli local_deepcamera start

Application 3: DeepCamera Facial Recognition with cloud for free

Application 4: Laptop Screen Monitor for kids/teens safe

SharpAI Screen monitor captures screen extract screen image features(embeddings) with AI model, save unseen features(embeddings) into AI vector database Milvus, raw images are saved to Labelstudio for labelling and model training, all information/images will be only saved locally.

sharpai-cli screen_monitor start

Access streaming screen: http://localhost:8000

Access labelstudio: http://localhost:8080

Application 5: Person Detector

sharpai-cli yolov7_person_detector start

SharpAI-Hub AI Applications

SharpAI community is continually working on bringing state-of-the-art computer vision application to your device.

sharpai-cli <application name> start
Application SharpAI CLI Name OS/Device
Intruder detection with Person shape yolov7_reid Jetson Nano/AGX /Windows/Linux/MacOS
Person Detector yolov7_person_detector Jetson Nano/AGX /Windows/Linux/MacOS
Laptop Screen Monitor screen_monitor Windows/Linux/MacOS
Facial Recognition Intruder Detection deepcamera Jetson Nano Windows/Linux/MacOS
Local Facial Recognition Intruder Detection local_deepcamera Windows/Linux/MacOS
Parking Lot monitor yoloparking Jetson AGX
Fall Detection falldetection Jetson AGX

Tested Devices

Edge AI Devices / Workstation

Tested Camera:

Support

DeepCamera Architecture

architecture

DeepCamera Feature List

Commercial Version

FAQ

How to install python3

How to install pip3

How to install Docker-compose on Jetson Nano

sudo apt-get install -y libhdf5-dev python3 python3-pip
pip3 install -U pip
sudo pip3 install docker-compose==1.27.4

How to use web gui

How to config RTSP on GUI

Camera streaming URL format

How to create token for Telegram Bot(DOC W.I.P)

Contributions