DeepCamera icon indicating copy to clipboard operation
DeepCamera copied to clipboard

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

AI Empowered NVR

SharpAI help you deploy AI empowered NVR on your edge device in minutes.

Install SharpAI on Jetson Nano/Xavier AGX/Windows/Linux/MacOS

  • Register account on SharpAI website
  • Install sharpai-hub: pip3 install sharpai-hub
  • Login on device: sharpai-cli login
  • Register device: sharpai-cli device register

Start Applications

DeepCamera Face Recognition NVR

  • DeepCamera is a face recongnition NVR leverages MTCNN for face detection and InsightFace's ArcFace for face recognition, it leverages SVM from SKLearn as classifier and a private implemetation from Frank Zuo to fine-tune accuracy. To handle unbalanced dataset distribution which is most likely seen when you start to labelling unknown faces, we deployed upsampling policy to your own labelled face dataset. All the inference code as well as AutoML training code are running on your own device.
  • The DeepCamera commerical version which had been deployed to a large-scale AI smart city construction project has strong backend design to support large scale edge device cluster with redis. The commerical version provides private cloud deployment for security requirement.
  • Learned from the open source community, it was a painful procedure to deploy a private cloud solution on your own device, we provide free cloud host for evaluation and non-commericial use with limited storage quota, so you can easily use following command line to setup DeepCamera on your own device in 5-minutes:
sharpai-cli deepcamera start

Yolo Parking

Maintaining empty parking spot count using YOLO real-time vehicle detection, this is an original version for evaluation, we are planning to bring yolov7 to this interesting application. Github Link

sharpai-cli yoloparking start

Linux Desktop GUI is accessible through http://localhost:8000, thanks to open source web vnc client noVNC, we don't have to install any software on the computer to remote access a edge device.

Connect RTSP camera source to NVR

You need to get the RTSP url of your camera and add it to NVR. Then NVR engine will pull video stream through RTSP protocol from your camera, after extracting frame from video stream, the extracted frame will be sent to detector for AI tasks.

  • NVR GUI address: http://localhost:8080

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

Support

If you are using a camera but have no idea about the RTSP URL, please join SharpAI community for help or use iSpyConnect to get camera streaming URL format. SharpAI provides commercial support to companies which want to deploy AI Camera application to real world.

Click to join sharpai slack channel

DeepCamera Architecture

architecture

Features

  • [x] Install with SharpAI Hub CLI
  • [x] FFMpeg with Nvidia Nano hardware decoder
  • [x] Face Detector with Nvidia Nano GPU TensorRT MTCNN
  • [x] Face Embedding with Nvidia Nano GPU Pytorch InsightFace
  • [x] Person Detection with GPU
  • [x] Integrate with telegram bot API
  • [x] Porting to Jetson Nano
  • [x] High accurate Face Recognition
  • [x] Face Detection
  • [x] Inference on ARM Mali GPU
  • [x] Support Android TF Lite(GPU/CPU/NPU)
  • [x] Support open source embedded linux
  • [x] Control from mobile application
  • [x] Management System for devices
  • [x] Push Notification to Mobile Device
  • [x] Object Detection
  • [x] Distributed System based on celery
  • [x] Plugin to process video by Shinobi CCTV
  • [x] Application on Android to decode video with hw acc
  • [x] Motion Detection with Android GPU
  • [x] Lable and train from Mobile to Edge Device
  • [x] Native raspberry pi camera support
  • [x] Labelling server and application is down, need BYOD document API server repo
  • [x] Image upload to AWS or on premise AWS compatiable server(MINIO)

Todos

  • [ ] Integration with Home Assistant

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 use web gui

How to config RTSP on GUI

Camera streaming URL format

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

Contributions