Skip to content

DaisyKit is an easy AI toolkit with face mask detection, pose detection, background matting, barcode detection, face recognition and more. - with NCNN, OpenCV, Python wrappers

License

Notifications You must be signed in to change notification settings

nrl-ai/daisykit

Repository files navigation

DaisyKit - D.A.I.S.Y: Deploy AI Systems Yourself!

PyPI docs license open issues Pypi Downloads

DaisyKit is an easy AI toolkit with face mask detection, pose detection, background matting, barcode detection, and more. This open-source project includes the following:

  • DaisyKit SDK - C++, the core of models and algorithms in NCNN deep learning framework.
  • DaisyKit Python wrapper for easy integration with Python.
  • DaisyKit Android - Example app demonstrates how to use Daisykit SDK in Android.

Links:

Demo Video: https://www.youtube.com/watch?v=zKP8sgGoFMc.

1. Environment Setup

Ubuntu

Install packages from Terminal

sudo apt install -y build-essential libopencv-dev
sudo apt install -y libvulkan-dev vulkan-utils
sudo apt install -y mesa-vulkan-drivers # For Intel GPU support

Windows

For Windows, Visual Studio 2019 + Git Bash is recommended.

2. Build and run C++ examples

Clone the source code:

git clone https://github.com/nrl-ai/daisykit.git --recursive
cd daisykit

Ubuntu

Build Daisykit:

mkdir build
cd build
cmake .. -Dncnn_FIND_PATH="<path to ncnn lib>"
make

Run face detection example:

./bin/demo_face_detector_graph

If you dont specify ncnn_FIND_PATH, NCNN will be built from scratch.

Windows

Build Daisykit:

mkdir build
cd build
cmake -G "Visual Studio 16 2019" -Dncnn_FIND_PATH="<path to ncnn lib>" ..
cmake --build . --config Release

Run face detection example:

./bin/Release/demo_face_detector_graph

3. C++ Coding convention

Read the coding convention and contribution guidelines here.

4. Known issues and problems

  • Slow model inference - Low FPS

This issue can happen on development builds. Add -DCMAKE_BUILD_TYPE=Debug to cmake command and build again. The FPS can be much better.

5. References

This toolkit is developed on top of other source code. Including