sekirocc / donde-toolkits

donde-toolkits is a group of ai toolkits, related with image process, feature service, video process

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Donde toolkits

It's a group of AI/CV related toolkits, including face feature extraction, feature searching and clustering service. Built with openvino and faiss[todo] [wip].

Currently developed with macOS, llvm-clang

Features

  • Openvino inference
  • Full pipeline detect/landmarks/align/extract
  • Feature search service with simple store
  • Feature searching with faiss
  • Feature clustering with faiss
  • Master/Workers architecture, Poco messaging
  • Conan to manage dependencies
  • Tests coverage

Dependencies

openvino, you need to install(download from openvino website) it first. other depencencies are managed by conan/conanfile.txt.

Models

name type desc urldesc
face-detection-adas-0001 detect detect face https://github.com/openvinotoolkit/open_model_zoo/blob/master/models/intel/face-detection-adas-0001/README.md
facial-landmarks-35-adas-0002 landmarks 70 points landmarks https://github.com/openvinotoolkit/open_model_zoo/blob/master/models/intel/facial-landmarks-35-adas-0002/README.md
Sphereface.xml feature extract face feature https://github.com/openvinotoolkit/open_model_zoo/blob/master/models/public/Sphereface/README.md

Project layout

  • include contains main api headers, define what DondeToolkits is. include common abstract definitions for feature extract, search, video process etc.

  • src contains implementations for api headers, and contains related header definition for those implementations.

  • test contains tests, they test the DondeToolkits library. tests depend to library.

Usage

Build and run

Install openvino distribution

Install dependencies

brew install openvino
brew install opencv
brew install ffmpeg

For linux

please refer to https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit/download.html

#double check your openvino install location, modify CMakeLists.txt if needed

set(OpenVINO_DIR "/opt/intel/openvino_2022/runtime/cmake")
find_package(OpenVINO REQUIRED COMPONENTS Runtime)

activate openvino env

python3.8 -m venv venv3.8
source venv3.8/bin/activate
source /opt/intel/openvino_2022/setupvars.sh

Build conan dependency packages

mkdir -p generated
conan install --build=missing  -of generated ./conan

Build toolkits with testings

bazel build --config=clang++  //:release
# run tests
./build/bin/DondeToolkitsTests
# run examples
./build/bin/video_decode <mp4-file>

such as:
./build/bin/video_decode /tmp/Iron_Man-Trailer_HD.mp4

Mac M1

README mac m1

About

donde-toolkits is a group of ai toolkits, related with image process, feature service, video process

License:Other


Languages

Language:C++ 85.6%Language:CMake 8.9%Language:Starlark 5.1%Language:Makefile 0.2%Language:Dockerfile 0.2%