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
- Host: GitHub
- URL: https://github.com/nrl-ai/daisykit
- Owner: nrl-ai
- License: apache-2.0
- Created: 2021-09-03T09:20:49.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-10-24T01:28:35.000Z (over 1 year ago)
- Last Synced: 2025-04-12T17:50:47.789Z (10 days 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: 107
- Watchers: 5
- Forks: 19
- 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
```
### UbuntuBuild 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: .