Brodmann17 Deep Learning based highly efficient face detector working on ARM & x86 CPUs
Clone or download
root
Latest commit 067b83a Jun 3, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
example Add support to armv7l Jun 3, 2018
include Initial commit May 18, 2018
lib Add support to armv7l Jun 3, 2018
python Initial commit May 18, 2018
LICENSE Initial commit May 18, 2018
README.md Add support to armv7l Jun 3, 2018

README.md

Brodmann17 Face Detector

We share here a version of Brodmann17's super fast and accurate face detection library.
This detector is based on a proprietary deep-learning algorithm which allows to run highly accurate CNNs
efficiently on ARM CPUs.

Disclaimer:
  • This library is shared for non-commercial use only. For advanced, more accurate version for commercial use please reach out at partners@brodmann17.com

Library Dependencies

  • OpenBLAS 0.2.18 Sourcecode

  • google protobuf 2.6.1 Sourcecode

    If you are using ubuntu 16.04 these libraries can installed by:

    sudo apt-get install libopenblas-dev libprotobuf-dev

Supported Architectures

  • Armv8a (aarch64) : linux, tested on Ubuntu 16.04
  • Armv7l (arm) : linux, tested on Fedora 22
  • Intel (x84_64) : linux, tested on Ubuntu 16.04

Speed Benchmark (1 x ARM cortex A72, Rockchip RK3399)

Input Image Size Process Time [ms] FPS [1/s]
640x480 67.72 14.77
320x240 22.26 44.93

Getting started (C++)

  • Requirements:
  • CMake (at least 3.0.0) - can be installed by using:
        sudo apt-get install cmake
  • OpenCV (tested with 2.4.9.1) - can be installed by using:
        sudo apt-get install libopencv-dev
  • Run these commands
        cd example 
        mkdir build  
        cd build  
        cmake .. 
        make
        cd ..
  • To run the example
        build/example <input image filename>

Getting started (python)

  • Requirements:
    • Python 2.x
    • Numpy
    • Matplotlib
    • OpenCV
        pip install numpy, matplotlib, opencv-python
  • Usage
        from brodmann17_face_detector import Detector
    
        im = cv2.imread("../example/example2.jpg")
        with Detector() as det:
            detections = det.detect(im)

See python/example.ipynb for a full working example