牛乳キャップデータバンク↓

2018年10月28日日曜日

AIで牛乳キャップの画像仕分に挑戦 その3


さて、前回はWatsonの使い方について投稿いたしましたので、今回からはマシーンラーニングにより実際に分類機を作って使ってみます。

まずやらなければならないのは、トレーニングに必要な画像を大量に集めることです。

幸い、相場サイトには既に5万枚を超える牛乳キャップの画像が蓄積されていますので、画像が足りなくて困ることは無さそうです。

大量の画像を確保できたら、AIのお手本となるようにそれらの画像を分類してやります。

人力による分類は結構しんどい作業ですが、お手本の数は多い方が精度が高まるとのことですので、頑張るしかありません。
最低限必要な数は分類毎に150枚くらいとのこと。。

赤、青、緑、茶色の牛乳キャップは出現頻度がかなり高いので、ごそっと選択して一気にコピーできます。
が、紫とか黄とか黒はレアなのでイメージを探すのが大変です。
とりわけ黒は少ないのでチマチマとコピーする必要があり、手がかかります。

数時間作業したところで、さすがに飽きてきてきました。
お手本の数がまだ少ないので精度は期待できませんが、とりあえずここらでマシンラーニングをやってみることにします。

緑:164枚

青:161枚

赤:116枚

黄:114枚

オレンジ:104枚

ピンク:99枚

茶:80枚

紫:79枚

黒:24枚

このファイルをZIPで圧縮して相場サイトのサーバにアップロードします。
さらに、そこからZIPファイルとコマンドをWatsonに送ってマシンラーニングを実行するのです。

実行するコマンドは以下のような感じです。

マシンラーニングには数時間の時間を要するのですが、いつ終わるか分かりません。
分類機の状態を調べるコマンドがあるので、定期的にそれで確認することになります。


確認コマンドを実行すると以下のように状態を返してくれます。


マシンラーニング開始直後はstatusが"training"となっていますが、ここが"ready"になると準備完了です。

数時間後、状態が"ready"になりました。


では、トレーニングが完了した色分類機を使ってテストしてみましょう。
テストに使うのはトレーニングで使用していない、ヤフオクの最新出品画像です。

まずは、簡単そうなものから。
→どう見ても「緑」です。これなら間違えようがありませんよね。


相場サイトのサーバにアップロードして分類コマンドを実行します。


実行結果が戻ってきました!


おお、クラスが"green"でスコアが0.925ですね。
強い確信をもって、「緑」と判定してくれているようです。
期待通り!

次はちょっと難しそうなやつ。
背景が緑で、キャップ自体が赤、青の二色刷りになっています。
期待としては「赤」ですが、果たしてどうなるか。。


分類コマンドの結果が戻ってきました!


やりました!分類結果は「赤」ということで、大正解。
優秀じゃないですかワトソン君。

調子がいいのでバンバンやってみましょう。

画像 期待結果 Watsonの答え コメント
大正解!
大正解!
背景色に騙されませんでした。
ピンク
大正解!
青に引っ張られませんでした。
大正解!
背景色に騙されませんでした。
大正解!
背景色に騙されませんでした。
大正解!
オレンジ
青に引っ張られてしまいましたね。できればオレンジがよかったなぁ。
ピンク
大正解!
茶色
大正解!
背景に騙されませんでした。
ピンク
茶色に引っ張られてしまいました。できればピンクにしてほしかったが。。
大正解!
背景に騙されませんでした。
オレンジ
大正解!
青に引っ張られませんでした。
何だこりゃ?
青でも赤でもなくピンクですか?
そんなこと教えた覚えはないっ!
大正解!
茶色
紫と赤で迷っているようですな。。
どっちにしても不正解ですが。。

トレーニングに使った画像が少なかったので、まともな結果は期待していませんでしたが、思ったよりもちゃんと分類できたようです。

背景色に騙されずしっかりと牛乳キャップの色を分類しているのがすばらしいです。

間違ったものもありましたので、さらにトレーニングに使う画像数を増やして学習させ、精度を上げていきたいと思います。

次に続く。



0 件のコメント:

コメントを投稿