Azure AI Custom Visionを使ってAIモデルを作ってみる
Azure AI Custom Visionとは?
Microsoft Azure が提供する画像認識AIの開発プラットフォームです。
- GUI による直感的なモデル作成
- クラウド・エッジデバイス向けのモデルエクスポート
- REST API による推論の実行
などが行えます!
本記事での目的
特定の状況に特化したAIモデルを簡単に制作できる手法の一つとして活用できるか検証します!
検証環境
検証の対象として手元にある工具3種を物体検知してみます!
- コンビネーションスパナ12mm
- コンビネーションスパナ17mm
- モンキーレンチ
コンビネーションスパナはサイズ違いなのでほとんど似たような形状ですが認識できるのでしょうか?
検証(Custom Visionでの生成)
とりあえず試した場合
最低枚数が15枚とのことなので30~60枚を目標に試してみる
公式のドキュメントでは50枚以上が推奨とのこと
データ
名前 | データ数 |
---|---|
モンキーレンチ | 45 |
コンビネーションスパナ17mm | 63 |
コンビネーションスパナ12mm | 62 |
結果
モンキーレンチの認識は良好な気がする
コンビネーションスパナも認識はするがモンキーレンチや他サイズとの誤認識が割とある印象
全体的に認識しない状況などもあるので枚数が足りない可能性
学習用データの増加
データ
名前 | データ数 |
---|---|
モンキーレンチ | 106 |
コンビネーションスパナ17mm | 93 |
コンビネーションスパナ12mm | 91 |
結果
割といい感じで認識するが100パーセントとはいえないことがわかった。
また自分の環境以外のデータだと認識率が下がることを認識した。・
17mm,12mmとのサイズ違いに関しては人間でも判別が難しい場合は判別が難しいことがわかった。
テープなどで改善するかを後に検証する。
また学習の環境に近いほど認識しやすい気がするので特定用途で使うのであればその環境に合わせて学習データを作っていく方が良いと感じた。
コンビネーションスパナの統合
コンビネーションスパナ(以下スパナ)のサイズでの分類をやめて、スパナとモンキーレンチという扱いで学習させる
データ
名前 | データ数 |
---|---|
モンキーレンチ | 106 |
コンビネーションスパナ | 158 |
コンビネーションスパナ17mm | 95 |
コンビネーションスパナ12mm | 93 |
結果
サイズ分けしていた時よりも認識が悪くなった
また、モンキーレンチの認識も若干悪化した気がする
サイズ違いでの違いからスパナという形状に対して学習に必要な枚数がもっと必要な可能性やモンキーレンチとの学習枚数のバランスが重要のなのかもしれない
バランスが重要とのことは公式ドキュメントにも記載があった。
テープによるマーキング等の調査
データ
名前 | データ数 |
---|---|
モンキーレンチ | 93 |
コンビネーションスパナ17mm | 58 |
コンビネーションスパナ12mm(テープ付き) | 57 |
結果
12mmの認識が上がった。若干モンキーレンチへの誤認識が高いものの、これは学習データの比率でモンキーレンチが多いことが関係していそう。
検証での気づき
- 認識の精度というのは単純に枚数を増やせば良くなる訳ではない
- バランスは大事だし、いかに色んなデータを集めてくるかが認識の精度向上に必要なのではないかと思った
- CustomVision上では学習に対して詳しい設定ができる訳ではないので(できるのかもしれないが見つけられなかった)機械学習モデルを簡単に作ることはできるが理解するという部分ではなかなか難しいと感じた
- 機械学習に関して前提知識が足りないので一度自前でやってみて基礎的な部分の理解を高めたり、パラメーターの変化を試してみようと思います。
Discussion