Skip to content

A proof of concept iOS project combines Deep Learning with IPFS and Ethereum Blockchain to make network cameras achieve the unachievable.

License

Notifications You must be signed in to change notification settings

tao-foundation/camX

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to cam X

cam X is an iOS project written in Swift that I built for ONVIF Open Source Spotlight Challenge

It's a proof of concept project to demonstrate how Deep Learning, IPFS and Blockchain can be applied together in practice.

cam X uses FFmpeg library to decode and stream live video from cameras use ONVIF protocol, HTTP, RTSP or iOS device build-in cameras. It equips with Tiny Yolo and Yolo 2 deep learning object detection models as video analytics engine on camera. Users are given options to pick any object class to detect or raise alarm. Users manually pick alarm to save to IPFS. iOS device UUID used as key to store alarm hash to Ethereum Rinkeby Test Network via a simple lookup smart contract.

I posted an article on Medium to explain the project in details Deep Learning + IPFS + Ethereum Blockchain in practice

Installation

  1. Run FFmpeg-iOS-build-script to build FFmpeg library for iOS.

  2. Run 'pod update' in root directory to install ONVIFCamera library.

  3. Install Carthage and run 'carthage update --platform iOS' to install web3swift library and swift-ipfs-api library.

  4. Run download.sh shell script to download pre-trained CoreML models: Tiny Yolo and Yolo 2.

  5. Then you can build the project in Xcode. You need minimum iOS 11.0 to run the app.

User Guide

See cam X page for detailed slides and screenshots. Alternatively, I made demo videos on network cameras and iPad Pro backward facing camera

Screenshots

Video Alarm IPFS Transaction

About

A proof of concept iOS project combines Deep Learning with IPFS and Ethereum Blockchain to make network cameras achieve the unachievable.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 92.8%
  • Objective-C 6.8%
  • Other 0.4%