icevision-openvino-unity-tutorial
icevision-openvino-unity-tutorial copied to clipboard
This tutorial covers training an object detector with the IceVision library and implementing it in a Unity game engine project using the OpenVINO Toolkit.
IceVision → OpenVINO → Unity Tutorial
⚠️ ARCHIVED REPOSITORY ⚠️
This tutorial code will no longer receive updates as the IceVision library no longer appears in development. For the latest and improved version of this tutorial that uses PyTorch directly, please visit the new tutorial repositories linked below:
Tutorial Links
- Part 1: Train a YOLOX model using IceVision and export it to OpenVINO.
- Part 2: Create a dynamic link library (DLL) file in Visual Studio to perform object detection with a YOLOX model using OpenVINO.
- Part 3: Perform object detection in a Unity project with OpenVINO.
- Follow up: Use ONNX Runtime and DirectML instead of OpenVINO.
Demo Video
https://user-images.githubusercontent.com/9126128/183220227-868d552b-c67e-48b6-97f9-433c5634230a.mp4
Training Code
Jupyter Notebook | Colab | Kaggle |
---|---|---|
GitHub Repository |
Note: Training on the free GPU tier for Google Colab takes approximately 11 minutes per epoch, while training on the free GPU tier for Kaggle Notebooks takes around 15 minutes per epoch.
Kaggle Datasets
Reference Images
Class | Image |
---|---|
call | ![]() |
dislike | ![]() |
fist | ![]() |
four | ![]() |
like | ![]() |
mute | ![]() |
ok | ![]() |
one | ![]() |
palm | ![]() |
peace | ![]() |
peace_inverted | ![]() |
rock | ![]() |
stop | ![]() |
stop_inverted | ![]() |
three | ![]() |
three2 | ![]() |
two_up | ![]() |
two_up_inverted | ![]() |