/AI-Bread-Detection

This automatically calculates the total price of bread in an image by using the bread detection model trained by YOLOX.

Primary LanguageJupyter NotebookApache License 2.0Apache-2.0

※ This repository is available in English.

このレポジトリについて

2021年9月4,5日に開催された関西情報系学生団体交流会 (KC3)の勉強会で使用したものです.
CVATによって作成したデータセットの学習済みONNXモデルを用いて,YOLOXで物体検出するプログラムを提供しています.
CVATの初期設定や,自動アノテーションを行う方法に関してはCVATの自動アノテーション機能を使ってみたを参照してください.
また,モデルの学習に関してはCVATとYOLOXで機械学習やってみた(近日公開)を参照してください.

ファイル構成

  • OpenVINO_Bread_Detection.ipynb
    画像の中のパンを検出するためのプログラムです.

  • AI_Bread_Register.ipynb
    画像の中のパンを検出し,それらの合計値段を計算する仮想レジプログラムです.

  • yolox-s.onnx
    以下の5種類のパンを検出するためのONNXモデルです.

    "malitozzo", "curry bread", "hot dog", "krone", "melon bread"

モデルの学習の際はこちらを使用しました.

使い方

Google Colabを使用して,OpenVINO_Bread_Detection.ipynbを実行してください.プログラム中ではGoogle DriveのYOLOX-sフォルダにある画像とモデルを読み込み,それを検出します.なので,初期設定ではYOLOX-sフォルダにyolox-s.onnxモデルと下記のパンの画像を入れておく必要があります.この辺りはお好きに変更してください.その際はプログラム中のif __name__ == '__main__':以下のmodel_path, img_path, output_path の部分を適宜変更してください.
AI_Bread_Register.ipynbでも同様にプログラムを実行できます.

ライセンス

これらのプログラムはApache License 2.0にて公開しています.
なお,このレポジトリはroboflow-aiさんのYOLOX / openvino_inference.pyを参考にして作成しました.

謝辞

このノートブックは、the Megvii TeamYOLOX repositoryroboflow-ai's notebookに基づいています。それらのリポジトリを作成して下さったMegviiチームと, notebookを作成して下さったroboflow-aiさんに感謝します。

参照

How to Train YOLOX On a Custom Dataset