Build Naruto Hand Seals Recognition with Convolutional Neural Network YOLOX-Nano
- onnxruntime 1.10.0 or Later
- OpenCV 3.4.2 or Later
- Tensorflow 2.3.0 or Later (Only when running SSD or EfficientDet)
- Kaggle Public dataset:naruto-hand-sign-dataset
- YOLOX-Nano
│ simple_demo.py │ ├─model │ └─yolox │ │ yolox_nano.onnx │ └─yolox_onnx.py │ ├─setting─┬─labels.csv │ └─jutsu.csv │ ├─utils │ └─_legacy
python simple_demo.py
python Ninjutsu_demo.py
In addition, the following options can be specified when running the demo.
Option specification
- --device
Camera device number
Default:- simple_demo.py:0
- Ninjutsu_demo.py:0
- --file
Video file name ※If specified, the video will be loaded in preference to the camera
Default:- simple_demo.py:None
- Ninjutsu_demo.py:None
- --fps
Processing FPS ※Valid only if the inference time is less than FPS
Default:- simple_demo.py:10
- Ninjutsu_demo.py:10
- --width
Width when shooting with a camera
Default:- simple_demo.py:960
- Ninjutsu_demo.py:960
- --height
Height when shooting with a camera
Default:- simple_demo.py:540
- Ninjutsu_demo.py:540
- --skip_frame
Whether to thin out when loading the camera or video
Default:- simple_demo.py:0
- Ninjutsu_demo.py:0
- --model
Storage path of the model to load
Default:- simple_demo.py:model/yolox/yolox_nano.onnx
- Ninjutsu_demo.py:model/yolox/yolox_nano.onnx
- --input_shape
Model input shape
Default:- simple_demo.py:416,416
- Ninjutsu_demo.py:416,416
- --score_th
Class discrimination threshold
Default:- simple_demo.py:0.7
- Ninjutsu_demo.py:0.7
- --nms_th
NMS threshold
Default:- simple_demo.py:0.45
- Ninjutsu_demo.py:0.45
- --nms_score_th
NMS score threshold
Default:- simple_demo.py:0.1
- Ninjutsu_demo.py:0.1
- --sign_interval
The hand-sign history is cleared when the specified time(seconds) has passed since the last mark was detected.
Default:- Ninjutsu_demo.py:2.0
- --jutsu_display_time
Time to display the Ninjutsu name when the hand-sign procedure is completed(seconds)
Default:- Ninjutsu_demo.py:5
- --use_display_score
Whether to display the hand-sign detection score
Default:- Ninjutsu_demo.py:False
- --erase_bbox
Whether to clear the bounding box overlay display
Default:- Ninjutsu_demo.py:False
- --use_jutsu_lang_en
Whether to use English notation for displaying the Ninjutsu name
Default:- Ninjutsu_demo.py:False
- --chattering_check
Continuous detection is regarded as hand-sign detection
Default:- Ninjutsu_demo.py:1
- --use_fullscreen
Whether to use full screen display(experimental function)
Default:- Ninjutsu_demo.py:False
NeuralNetwork-YOLOXNano-HandSeals-Recognition is under MIT license.
KouzanMouhitsu(衡山毛筆) Font(https://opentype.jp/kouzanmouhitufont.htm)