AIが手書き絵を認識!私たちも作れる?【Quick, Draw!】
Quick, Draw!
こんにちは、家を掃除していたら見つけた将来やりたい仕事(高校1年)の宿題を見るとCGイラストレーターだったみかんです。今でもイラスト描いていたり、画像に関わる研究していたりでだいたい叶っていますね!笑 今回はもう登場してからしばらく経つので知っている方も多いかもしれませんが、“Quick, Draw!”というAIが手書きの絵を認識するブラウザゲームをご紹介し、さらに技術的な面も見ていきたいと思います。
操作画面は↓のようになっています。
最初にお題(この図ではハンマー)が与えられて制限時間(20秒)以内に、マウスとかで絵を描いて、それをAIが何かあててくれるゲームです。私は短時間で絵を描くのが苦手で、うまく認識してくれるかなって思ってたら、わりとなんでも認識してくれました笑
蚊とかわかんなすぎて適当に足書きまくったら、なんだかよくわからない生物になったんですが、認識してくれました笑
なんの絵でしょう?
次に、AIは正解してくれたけど、正直自分が後で見てもよくわかんなかったものを取り出してきたので、ぜひこれが何の絵か当ててみてください笑
問題1
答え↓
池
問題2
答え↓
パトカー
問題3
答え↓
ジャガイモ
問題4
答え↓
天使
すごくないですか?(画力的な意味ではなく) AIの認識精度恐るべし…。
技術的なお話
このゲームはGoogleの人工知能プロジェクトA.I. Experimentsで作られたものです。技術的にはいろんな人が手書きで描いた絵を大量に学習データとして持っており、それをニューラルネットワーク(↓のようなやつ)に学習(重み更新)させているんだと思います。
しかもユーザが描けば描くほどそれをさらに学習が進み、どんどん賢くなっていってるのではないでしょうか。
私たち一般人がこういうの作れる?
私たちのような一般人がこれを作るならば、学習データさえあれば簡単なニューラルネットワーク(最近ならdeep learning)でもある程度精度は出ると思います。今回はデータが配布されているので、GPUがそれなりにいいやつがあれば、時間は多分かなりかかりますが作れると思います。AIを作るにはいかに質の高い大量の学習データを用意するかにかかっていると研究をやりながらつくづく思います。
イラストを認識する上での問題点
こういったイラスト等の認識は国や文化によってイメージするものが異なる点で、認識の精度を上げる際に問題になることがあります(映像認識よりイラストの方が情報量が少なく特にその問題が顕著にでると思います)。このQuick, Draw!では、例えば消火栓は↓みたいなイメージの違いがありますよね。
こういったものを含めて開発していく場合、どうやって精度を上げていけばいいかは難しい問題になりますね。例えば消火栓(日本ver)と消火栓(アメリカver)みたいなクラスを分けたりとか…、でも国ごとに正解パターン作ったら、パターン数が膨大になる可能性が…、やっぱりAIの精度をより高めていくのって難しいですね。
応用例
もしこの認識が精度が高いものになれば検索システムに応用できるのではないかと思います。”なんか~こんなやつなんだっけ~”って絵をかけば、もしかしてこれですか?みたいなシステムができそうですよね。私も趣味でイラストの認識系は作ってみたいなって考えているところです。また色々紹介できたらって思ってます。
作り方教えていただけたら幸いです。