見出し画像

最近YOLOを使った研究をしています。

はじめに

技術の進歩は目覚ましく、専用の機材を使用したコンテンツを開発しようものなら、

  • 「生産終了しました。新規で購入出来ません」

  • 「しばらく更新されておらず、最近のバージョンに対応していません」

のように数年経つだけで使用ができなくなることもよくあります!(つらい)

せっかく作ったコンテンツを長く、多岐に活用したいのは全エンジニアの願いですよね。(AIを活用して一般的な機材で代用出来たらいいな、ついでに他との差別化もしたいな。。。)

ということで、AIを使ってよくある画像認識(人とかモノとか)をするといえばの代表、「YOLO」を研究しています。


YOLO (You Only Look Once)

YOLOとは学習させることで、商品などオリジナルのものをリアルタイムに画像検出できる技術。(おお…!)


実際にやってみた

検出までの道のりはざっくり5ステップ!

① 検出したいものを決める
② 学習素材(画像)を用意する
③ アノテーションをする
④ 学習する
⑤ 検出する

① 検出したいものを決める


② 学習素材(画像)を用意する

学習に使用する画像を用意します。様々な環境で撮影した画像がたくさんあると良いです。今回は1,200枚ほど。(自動水増し含む)

今回はまっすぐの向きだけ



③ アノテーションをする

「検出したいものはこれだよ」と囲んでラベルをつけて、学習時に使用するデータを作る作業。(今回は手作業なので画像が多いと大変。。。)

黙々とできる作業は意外と嫌いじゃない



④ 学習をする

今回は弊社所有のPC上で学習させます。
学習させる回数次第ではありますが、ある程度時間がかかるので待ちます。

待っている間にコーヒーでもどうぞ

今回は学習回数を300回で設定しましたが、後半の方では変化が見られず237回で終了。時間にして約1時間半ほど。

結果のログはこちら

「検出結果の座標」と「正解の座標」の重なり具合を比較するしきい値で平均精度を評価してみると。

mAP50(しきい値0.5での平均平均精度): 0.992(約99.2%)
mAP50-95(しきい値0.5-0.95での平均平均精度):0.986(約98.6%)

…ちょっと難しい

と高精度で検出できるモデルが出来ました!


⑤ 検出する

学習して作成されたモデルを使用して、リアルタイムにWEBカメラの映像から検出してみましょう!

検出できた!!

検出が出来たので、これを使っていい感じにコンテンツにしていきたいと思います!


さいごに

弊社では引き続きAIを活用した研究やコンテンツ制作をしていく予定です。
コンテンツ導入やコラボなどご興味あればお問い合わせください!!