Skip to content

Almost Real-time Object Detection using Apple's CoreML and YOLO v1 -

Notifications You must be signed in to change notification settings

malheirosrafa/iOS-CoreML-Yolo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iOS-CoreML-Yolo

This is the implementation of Object Detection using Tiny YOLO v1 model on Apple's CoreML Framework.

The app fetches image from your camera and perform object detection @ (average) 17.8 FPS.

Requirements

  • Xcode 9
  • iOS 11
  • For training: Python 2.7 (Keras 1.2.2, TensorFlow 1.1, CoreMLTools 0.4.0)

Usage

To use this app, open iOS-CoreML-MNIST.xcodeproj in Xcode 9 and run it on a device with iOS 11. (You can also use simulator)

Model conversion

In this project, I am not training YOLO from scratch but converting the already existing model to CoreML model. If you want to create model on your own.

  • Create Anaconda environment. Open your terminal and type the following commands.
$ conda create -n coreml python=2.7
$ source activate coreml
(coreml) $ conda install pandas matplotlib jupyter notebook scipy scikit-learn opencv
(coreml) $ pip install tensorflow==1.1
(coreml) $ pip install keras==1.2.2
(coreml) $ pip install h5py
(coreml) $ pip install coremltools
  • Download the weights from the following link and move it into ./nnet directory.
  • Enter the environment and run the following commands in terminal with ./nnet as master directory.
(coreml) $ sudo python convert.py

I also included a jupyter notebook for better understanding the above code. You need to use it with root permissions for mainly converting the keras model to CoreML model. Initialise the jupyter notebook instance with the following command:

(coreml) $ jupyter notebook --allow-root

Tutorial

If you are interested in creating the Tiny YOLO v1 model on your own, a step-by-step tutorial is available at - Link

Results

These are the results of the app when tested on iPhone 7.

Result 1 Result 1 Result 1 Result 1 Result 1 Result 1

Author

Sri Raghu Malireddi / @r4ghu

About

Almost Real-time Object Detection using Apple's CoreML and YOLO v1 -

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 97.3%
  • Swift 1.8%
  • Other 0.9%