An open API service indexing awesome lists of open source software.

https://github.com/nrl-ai/daisykit

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
https://github.com/nrl-ai/daisykit

background-matting barcode-detection computer-vision cpp deep-learning deployment embedded face-detection face-mask-detection hand-pose inference-engine machine-learning mobile ncnn neural-network no-code object-detection python vulkan

Last synced: about 15 hours ago
JSON representation

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

Awesome Lists containing this project

README

        

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

[![PyPI](https://img.shields.io/pypi/v/daisykit)](https://pypi.org/project/daisykit)
[![docs](https://img.shields.io/badge/docs-latest-blue)](https://daisykit.readthedocs.io/en/latest/)
[![license](https://img.shields.io/github/license/nrl-ai/daisykit.svg)](https://github.com/nrl-ai/daisykit/blob/master/LICENSE)
[![open issues](https://isitmaintained.com/badge/open/nrl-ai/daisykit.svg)](https://github.com/nrl-ai/daisykit/issues)
[![Pypi Downloads](https://pepy.tech/badge/daisykit/month)](https://pypi.org/project/daisykit/)

[DaisyKit](https://daisykit.nrl.ai) 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:**

- **Python Package:** [https://pypi.org/project/daisykit/](https://pypi.org/project/daisykit/).
- **Documentation:** [https://daisykit.nrl.ai/docs](https://daisykit.nrl.ai/docs).
- **Sponsor this project:** [https://github.com/sponsors/vietanhdev](https://github.com/sponsors/vietanhdev).



**Demo Video:** .

## 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.

- Download and extract OpenCV from [the official website](https://opencv.org/releases/), and add `OpenCV_DIR` to path.
- Download [precompiled NCNN](https://github.com/Tencent/ncnn/releases).

## 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=""
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="" ..
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](https://daisykit.nrl.ai/docs/contribution).

## 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

- Toolchains setup from [ncnn](https://github.com/Tencent/ncnn).
- QR Scanner from [ZXing-CPP](https://github.com/nu-book/zxing-cpp).
- JSON support from [nlohmann/json](https://github.com/nlohmann/json).
- Pretrained AI models from different sources: .