YuNetのPythonでのONNX、TensorFlow-Lite推論サンプル

Overview

YuNet-ONNX-TFLite-Sample

YuNetのPythonでのONNX、TensorFlow-Lite推論サンプルです。
TensorFlow-LiteモデルはPINTO0309/PINTO_model_zoo/144_YuNetのものを使用しています。

Requirement

  • OpenCV 3.4.2 or later
  • onnxruntime 1.5.2 or later
  • tensorflow 2.6.0 or later

Demo

デモの実行方法は以下です。

python sample_onnx.py
  • --device
    カメラデバイス番号の指定
    デフォルト:0
  • --movie
    動画ファイルの指定 ※指定時はカメラデバイスより優先
    デフォルト:指定なし
  • --image
    画像ファイルの指定 ※指定時はカメラデバイスや動画より優先
    デフォルト:指定なし
  • --width
    カメラキャプチャ時の横幅
    デフォルト:960
  • --height
    カメラキャプチャ時の縦幅
    デフォルト:540
  • --model
    ロードするモデルの格納パス
    デフォルト:model/face_detection_yunet_120x160.onnx
  • --input_shape
    モデルの入力サイズ
    デフォルト:160,120
  • --score_th
    クラス判別の閾値
    デフォルト:0.6
  • --nms_th
    NMSの閾値
    デフォルト:0.3
  • --topk
    topk指定値
    デフォルト:5000
  • --keep_topk
    keep_topk指定値
    デフォルト:750
python sample_tlite.py
  • --device
    カメラデバイス番号の指定
    デフォルト:0
  • --movie
    動画ファイルの指定 ※指定時はカメラデバイスより優先
    デフォルト:指定なし
  • --image
    画像ファイルの指定 ※指定時はカメラデバイスや動画より優先
    デフォルト:指定なし
  • --width
    カメラキャプチャ時の横幅
    デフォルト:960
  • --height
    カメラキャプチャ時の縦幅
    デフォルト:540
  • --model
    ロードするモデルの格納パス
    デフォルト:model/model_float16_quant.tflite
  • --input_shape
    モデルの入力サイズ
    デフォルト:160,120
  • --score_th
    クラス判別の閾値
    デフォルト:0.6
  • --nms_th
    NMSの閾値
    デフォルト:0.3
  • --topk
    topk指定値
    デフォルト:5000
  • --keep_topk
    keep_topk指定値
    デフォルト:750

Reference

Author

高橋かずひと(https://twitter.com/KzhtTkhs)

License

YuNet-ONNX-TFLite-Sample is under Apache-2.0 License.

You might also like...
TensorFlow-based neural network library
TensorFlow-based neural network library

Sonnet Documentation | Examples Sonnet is a library built on top of TensorFlow 2 designed to provide simple, composable abstractions for machine learn

TensorFlow ROCm port
TensorFlow ROCm port

Documentation TensorFlow is an end-to-end open source platform for machine learning. It has a comprehensive, flexible ecosystem of tools, libraries, a

Deep learning operations reinvented (for pytorch, tensorflow, jax and others)
Deep learning operations reinvented (for pytorch, tensorflow, jax and others)

This video in better quality. einops Flexible and powerful tensor operations for readable and reliable code. Supports numpy, pytorch, tensorflow, and

NeuPy is a Tensorflow based python library for prototyping and building neural networks
NeuPy is a Tensorflow based python library for prototyping and building neural networks

NeuPy v0.8.2 NeuPy is a python library for prototyping and building neural networks. NeuPy uses Tensorflow as a computational backend for deep learnin

Python scripts to detect faces in Python with the BlazeFace Tensorflow Lite models
Python scripts to detect faces in Python with the BlazeFace Tensorflow Lite models

Python scripts to detect faces using Python with the BlazeFace Tensorflow Lite models. Tested on Windows 10, Tensorflow 2.4.0 (Python 3.8).

Human head pose estimation using Keras over TensorFlow.
Human head pose estimation using Keras over TensorFlow.

RealHePoNet: a robust single-stage ConvNet for head pose estimation in the wild.

TensorFlow 2 AI/ML library wrapper for openFrameworks
TensorFlow 2 AI/ML library wrapper for openFrameworks

ofxTensorFlow2 This is an openFrameworks addon for the TensorFlow 2 ML (Machine Learning) library

Implements Gradient Centralization and allows it to use as a Python package in TensorFlow
Implements Gradient Centralization and allows it to use as a Python package in TensorFlow

Gradient Centralization TensorFlow This Python package implements Gradient Centralization in TensorFlow, a simple and effective optimization technique

A Neural Net Training Interface on TensorFlow, with focus on speed + flexibility
A Neural Net Training Interface on TensorFlow, with focus on speed + flexibility

Tensorpack is a neural network training interface based on TensorFlow. Features: It's Yet Another TF high-level API, with speed, and flexibility built

Comments
  • ONNX Demo example not working with Jetson Xavier NX

    ONNX Demo example not working with Jetson Xavier NX

    Hi. First things first, thank you for you repo !! I'm just testing the ONNX demo code and I encountered the following error.

    python3 sample_onnx.py --width 640 --height 480 Traceback (most recent call last): File "sample_onnx.py", line 179, in main() File "sample_onnx.py", line 101, in main bboxes, landmarks, scores = yunet.inference(frame) File "/workspace/YuNet-ONNX-TFLite-Sample/yunet/yunet_onnx.py", line 59, in inference bboxes, landmarks, scores = self._postprocess(result) File "/workspace/YuNet-ONNX-TFLite-Sample/yunet/yunet_onnx.py", line 143, in _postprocess dets = np.squeeze(dets, axis=1) File "<array_function internals>", line 6, in squeeze File "/usr/local/lib/python3.6/dist-packages/numpy/core/fromnumeric.py", line 1495, in squeeze return squeeze(axis=axis) ValueError: cannot select an axis to squeeze out which has size not equal to one

    I'm using the default tensorflow docker from nvdia (other onnx models works such as yours of movenet multipose) with these packages installed

    onnxruntime-gpu 1.8.0 opencv-python 4.5.4.58 tensorflow 2.5.0+nv

    opened by isra60 5
Owner
KazuhitoTakahashi
KazuhitoTakahashi
Deploy tensorflow graphs for fast evaluation and export to tensorflow-less environments running numpy.

Deploy tensorflow graphs for fast evaluation and export to tensorflow-less environments running numpy. Now with tensorflow 1.0 support. Evaluation usa

Marcel R. 349 Aug 6, 2022
TensorFlow Ranking is a library for Learning-to-Rank (LTR) techniques on the TensorFlow platform

TensorFlow Ranking is a library for Learning-to-Rank (LTR) techniques on the TensorFlow platform

null 2.6k Jan 4, 2023
Robust Video Matting in PyTorch, TensorFlow, TensorFlow.js, ONNX, CoreML!

Robust Video Matting in PyTorch, TensorFlow, TensorFlow.js, ONNX, CoreML!

Peter Lin 6.5k Jan 4, 2023
Robust Video Matting in PyTorch, TensorFlow, TensorFlow.js, ONNX, CoreML!

Robust Video Matting (RVM) English | 中文 Official repository for the paper Robust High-Resolution Video Matting with Temporal Guidance. RVM is specific

flow-dev 2 Aug 21, 2022
Deep learning library featuring a higher-level API for TensorFlow.

TFLearn: Deep learning library featuring a higher-level API for TensorFlow. TFlearn is a modular and transparent deep learning library built on top of

TFLearn 9.6k Jan 2, 2023
Implementation of Restricted Boltzmann Machine (RBM) and its variants in Tensorflow

xRBM Library Implementation of Restricted Boltzmann Machine (RBM) and its variants in Tensorflow Installation Using pip: pip install xrbm Examples Tut

Omid Alemi 55 Dec 29, 2022
Official TensorFlow code for the forthcoming paper

~ Efficient-CapsNet ~ Are you tired of over inflated and overused convolutional neural networks? You're right! It's time for CAPSULES :)

Vittorio Mazzia 203 Jan 8, 2023
Open-AI's DALL-E for large scale training in mesh-tensorflow.

DALL-E in Mesh-Tensorflow [WIP] Open-AI's DALL-E in Mesh-Tensorflow. If this is similarly efficient to GPT-Neo, this repo should be able to train mode

EleutherAI 432 Dec 16, 2022
Deep learning library featuring a higher-level API for TensorFlow.

TFLearn: Deep learning library featuring a higher-level API for TensorFlow. TFlearn is a modular and transparent deep learning library built on top of

TFLearn 9.5k Feb 12, 2021
A Neural Net Training Interface on TensorFlow, with focus on speed + flexibility

Tensorpack is a neural network training interface based on TensorFlow. Features: It's Yet Another TF high-level API, with speed, and flexibility built

Tensorpack 6.2k Jan 1, 2023