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: 18 days 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
- Host: GitHub
- URL: https://github.com/nrl-ai/daisykit
- Owner: nrl-ai
- License: apache-2.0
- Created: 2021-09-03T09:20:49.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-10-24T01:28:35.000Z (over 2 years ago)
- Last Synced: 2026-01-08T00:10:36.760Z (3 months ago)
- Topics: 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
- Language: C++
- Homepage: https://daisykit.nrl.ai
- Size: 252 MB
- Stars: 110
- Watchers: 5
- Forks: 21
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DaisyKit - **D.A.I.S.Y: Deploy AI Systems Yourself!**
[](https://pypi.org/project/daisykit)
[](https://daisykit.readthedocs.io/en/latest/)
[](https://github.com/nrl-ai/daisykit/blob/master/LICENSE)
[](https://github.com/nrl-ai/daisykit/issues)
[](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: .