Microsoft Build 2017 の Day 1 のキーノートで発表された、Custom Vision Serviceで遊んでみました。
まずは、Custom Vision Service の製品ページはこちらになります。
https://azure.microsoft.com/ja-jp/services/cognitive-services/custom-vision-service/
機能をざっくり説明すると、画像をトレーニングデータとしてその画像が示しているものが何かを Machine Learning することができます。
機能の概要
例えば、こんな感じで猿と犬のデータをトレーニングデータして登録して、猿と犬と教えておきます。
で、トレーニング後に、教えてない猿の画像を与えると・・・monkey が 100% になっているので、完全に識別されています。
じゃー犬の画像ってことで、自分のアカウントの画像を与えてみると。。。とても残念な感じです。
かろうじて、猿よりは犬に近いって感じです。
多分、トレーニングで与えた犬の画像が、毛色や犬種が違ったので、識別しきれてないとかなんでしょう。
もっと、犬の画像をたくさん与えれば数値は改善されるかも。
ってことで、先ほどの犬のデータをトレーニングデータに追加してもう一度。。。若干、数字上がりましたね。
でも、同じ犬なのですが・・・・・
ここまでで伝えたかったのは、画像を食わせて、犬と猿を教えてあげてるだけです。
LUISを使っているのと同じような感じです。
操作方法
とっても簡単です。
まずは、https://www.customvision.ai/ でサインインします。
なんか出てきたら、ひとまずデフォルトOKで大丈夫だと思います。
で、New Project しましょう。
プロジェクトに名前を付けて、概要を書いて、Domains を選びますが、Domainsは困ったときはGeneral でいいんじゃないでしょうか。
まずは、Add images で画像を追加します。
Brows local files でローカルの画像を選びます。
んで、タグでを入力っと
そんな感じで画像を登録すると、こんな感じになります。
トレーニングをするための最低条件は、タグに登録されている画像の数が5枚以上、でかつ、タグの数が2個以上です。
準備ができたら、右上の「Train」をやります。で、処理が終わったら、「Quick Test」でテストできます。
こんくらいの操作感です。とってもらくちんですね。
色々試してみました
実験その1 手書きの文字認識
いつものように、マウスパットとmspaint.exeを使って書いた汚い字を認識できるかやってみました。
画像認識を考えると真っ先に思い浮かぶのが、文字をよませることになりつつありますw
登録したデータはこんな感じ。マウスパッドで書くのもだいぶなれてきました。
あと、今回は普通にフォントを混ぜてたりします。
で、結果。いつも誤りが多い「8」で試してみましたが、大正解って感じっすね。
ちょっと崩して書いた2もばっちりです。
でも、複数文字はだめですね。だって、画像的には全然違うし。
結論的には、今までの中で一番精度がよく認識できてます。
あとは、画像の渡し方を考えればある程度行けると思います。
ただ、全部の文字のパターンを登録するのか?って条件が付くのは、このサービスでやるのは向いてないかも。
青っぽい画像と赤っぽ画像を与えて、グフは青、シャーザクは赤と判断してくれるか?
画像を抽象化したところで、タグ化できないかなーって思って試してみました。
与えたのは、こんな感じ。
グフの結果は、0%でまったく一致しないっていう結果
そして、シャーザクも0%
これは、全然いい状態に持っていける気がしないです。
もっとたくさんのデータを与えたらどうなるか??って思いますけどね。
まとめ
画像をそのまま与えて、タグと紐づけるMLが回せるのがすごい楽です。
MLの知識もいりませんしね。
ただ、タグのつけかたはちょっと試行錯誤がいりそうな感じです。
プレビューのうちに、色々試して使い方覚えちゃいましょー。