YOLOv8(https://docs.ultralytics.com/)を使用して、抵抗撮影した画像からその抵抗値を推定するアプリを作成する。
学習データをncnn(https://github.com/Tencent/ncnn)で使用できるようにする(モバイル端末アプリで使用するため)。
大まかなプログラム処理フロー
- 画像中から抵抗を検出
- 検出した抵抗の画像を切り取り
- 切り取った画像からカラーコードを検出
- カラーコードから抵抗値を推定
このような処理を行うため、今回はYOLOv8で画像から抵抗の推定と、カラーコードの推定を行う。
推定を2回に分けたのは、抵抗値はカラーコードの組み合わせで決まるため、学習に使用する抵抗を多く用意しなくても済むようにしたためである。
作業フロー
- YOLOv8の環境構築
- 学習データの準備(アノテーション)
- 抵抗画像の学習
- 抵抗の推定と画像の切り出し
- 切り出した画像からカラーコードのアノテーション
- カラーコードの学習
- ncnnで使用できるように変換
- ncnnで抵抗値推定の実行