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.
-
Machine learning technologies
- Yolov7 Tiny, pretrained from COCO dataset
- FastReID ResNet50
- Vector Database Milvus for self-supervised learning
-
Supported Devices
- Nvidia Jetson
- [Nano (ReComputer j1010)](https://www.seeedstudio.com/Jetson-10-1-H0-p-5335.html)
- Xavier AGX
- Single Board Computer (SBC)
- Raspberry Pi 4GB
- Raspberry Pi 8GB
- Intel X64
- MacOS
- Windows
- Ubuntu
- MCU Camera
- ESP32 CAM
- ESP32-S3-Eye
- Tested Cameras/CCTV/NVR
- RTSP Camera (Lorex/Amrest/DoorBell)
- Blink Camera
- IMOU Camera
- Google Nest (Indoor/Outdoor)
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
- Register account on SharpAI website
- Login on device:
sharpai-cli login
- Register device:
sharpai-cli device register
- Start DeepCamera:
sharpai-cli deepcamera start
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
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
Tested Devices
Edge AI Devices / Workstation
Tested Camera:
- DaHua / Lorex / AMCREST: URL Path:
/cam/realmonitor?channel=1&subtype=0
Port: 554
- Ip Camera Lite on IOS: URL Path:
/live
Port: 8554
- Nest Camera indoor/outdoor by Home-Assistant integration
Support
- If you are using a camera but have no idea about the RTSP URL, please join SharpAI community for help.
- SharpAI provides commercial support to companies which want to deploy AI Camera application to real world.
DeepCamera Architecture
Commercial Version
- Provide real time pipeline on edge device
- E2E pipeline to support model customization
- Cluster on the edge
- Port to specific edge device/chipset
- Voice application (ASR/KWS) end to end pipeline
- ReID model
- Behavior analysis model
- Transformer model
- Contrastive learning
- Click to join sharpai slack channel for commercial support
FAQ
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 create token for Telegram Bot(DOC W.I.P)
- Create Telegram Bot through @BotFather
- Set Telegram Token in Configure File
- Send message to the new bot you created