Awesome Open Source
Awesome Open Source
Sponsorship

What's SharpAI DeepCamera Build Status

SharpAI is open source stack for machine learning engineering with private deployment and AutoML for edge computing. DeepCamera is application of SharpAI designed for connect computer vision model to surveillance camera. Developers can run same code on Raspberry Pi/Android/PC/AWS to boost your AI production development. image

DeepCamera Architecture

architecture

Feature List

  • [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)

Commercial Support

Slack

Click to join sharpai slack channel

Demo

demo

Get Started

On X86 Linux

  1. Install Docker
sudo curl -sSL https://get.docker.com | sh
  1. Install Docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
  1. Get source code
git clone https://github.com/SharpAI/DeepCamera
  1. Start container
cd DeepCamera/
./run-on-linux.sh start

On OSX

  1. Install Docker Install Docker Desktop on Mac(Offical)
  2. Get source code
git clone https://github.com/SharpAI/DeepCamera
  1. Start container
cd DeepCamera/
./run-on-mac.sh start

On Raspberry Pi 3B+/4B

Connect Streaming

Through Open Source NVR

Shinobi login page(device_ip:8080):
username: [email protected]
password: SharpAI2018

Change IP configuration and camera url on the page. Detail information
If you are using other camera support streaming, please check The Shinobi NVR's document Supported Devices

Connect DeepCamera to API Server

Get device serial number

cat docker/workaipython/ro_serialno 
82f28703d001

82f28703d001 is device ID

Create User on API Server

REST API:

curl -X POST -H "Content-type: application/json" http://localhost:3000/api/v1/sign-up -d '{"username": "test11", "email": "[email protected]", "password": "xxxxxx"}'

Response:

{
  "success": true
}

Get Token of created user

REST API:

curl -X POST http://localhost:3000/api/v1/login/ -d "username=testuser&password=123456"

Response:

{
  "status": "success",
  "data": {
    "authToken": "t6QsPaU3VdbfUQMkNIf6I3MDtox29WLrPJRAKkOCfpc",
    "userId": "tiK8RYG87sGJAErdB"
  }
}

Create Group on API Server

Rest API:

Fill in X-Auth-Token and X-User-Id in previous response.

curl -X POST -H "X-Auth-Token: t6QsPaU3VdbfUQMkNIf6I3MDtox29WLrPJRAKkOCfpc" -H "X-User-Id: tiK8RYG87sGJAErdB" http://localhost:3000/api/v1/groups -d "name=group01"

Response:

{
  "groupId": "e309ff8c7a3a8ceb4011e86e"
}

Add device to Group on API Server

REST API: Replace X-Auth-Token and X-User-Id. Replace group id in requesting URL: http://localhost:3000/api/v1/groups/`e309ff8c7a3a8ceb4011e86e`/devices

curl -X POST -H "X-Auth-Token: t6QsPaU3VdbfUQMkNIf6I3MDtox29WLrPJRAKkOCfpc" -H "X-User-Id: tiK8RYG87sGJAErdB" -H "Content-type: application/json" http://localhost:3000/api/v1/groups/e309ff8c7a3a8ceb4011e86e/devices -d '{"uuid": "82f28703d001", "deviceName": "testDevice", "name":"testdevice","type": "inout"}'

Response:

{
  "success": true
}

Then restart DeepCamera service.

Rebuild Mobile App to connect to your own API Server(Doc WIP)

Clone https://github.com/SharpAI/ApiServer

Setup your own travis service for CI (to build your own APK on travis)

Setup your own sign keystore, setup your own Environment

Trigger build

Labelling and receive message sent from DeepCamera with Face Detection/Recognition result

API Server document can be found here: SharpAI/ApiServer

Contributions


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
python (47,787
android (5,791
deep-learning (3,457
machine-learning (3,168
tensorflow (1,991
video (750
raspberry-pi (563
ai (409
object-detection (408
face-detection (171
face-recognition (157
mxnet (97
automl (93
rtsp (61

Find Open Source By Browsing 7,000 Topics Across 59 Categories