まだプログラマーですが何か?

プログラマーネタとアスリートネタ中心。たまに作成したウェブサービス関連の話も http://twitter.com/dotnsf

タグ:ai

ゆるキャラを画像で検索するサービスを作って公開してみました:
http://yuru.mybluemix.net/

まず最初に、自分はある程度ゆるキャラに詳しいと思っています。積極的な興味というよりは、マンホールに詳しくなっていると、最近はそのマンホールのデザインにゆるキャラが使われることが珍しくなくなってきたので、自然と(?)ゆるキャラにも詳しくなってしまうのでした。。
2017011500
 

さて、ゆるキャラに限らないのですが、イマドキ何かを調べようとした時にはまず『ググる』のが定番です。ただ、それは調べるためのキーワードが分かっている場合です。ゆるキャラの場合、名前が分かっていれば名前でググれば確実ですし、名前が分からなくても出身地とかが分かれば「ゆるキャラ 東京都」などで検索すればいくつか候補が見つかるのでそこから調べる方法もあります。

しかし問題は名前も出身地も分からず、検索するためのキーワードがない場合です。例えば目の前に着ぐるみそのゆるキャラ本体がいて、写真は撮れるんだけど、そのゆるキャラがなんという名前で、どこのゆるキャラで、どんな特徴を持っているのか、、、といった情報を調べる具体的な方法がなかったように感じていました。

といった背景もあり、「画像からゆるキャラを調べる」ことができるようなウェブサービスを作ってみた、という経緯です。いわゆる「類似画像検索」を行うため、コグニティブエンジンである IBM WatsonVisual Recognition API を使って実装してみました:
http://yuru.mybluemix.net/


使い方はシンプルで、ウェブサイトをPCかスマホのブラウザで開き、ファイル選択ボタンを押して、ローカルシステムやフォトライブラリ等から目的の画像を選択するだけです:
2017011501


PC の場合に限り、目的の画像ファイルを画面上部のこの辺りにドラッグ&ドロップしても構いません:
2017011502


例えばこの画像のゆるキャラを調べてみることにしました。まあ有名なヒトなので答はわかっているのですが、ちょっとトリッキーなアイテムも写っていて普段と違う画像になっているので、いいサンプルかな、と:
く


この画像を選択するか、画面内にドラッグ&ドロップすると画面が暗転して検索が始まります:
2017011503


暗転から戻ると、検索結果として候補キャラが画面下部に表示されているはずです。最大で100件表示されます:
2017011504


今回の画像の場合、下の方にそれっぽいのが見つかりました:
2017011505


該当する結果の画像をクリックすると、そのゆるキャラの情報がポップアップします。ご存知「くまモン」でした。なお PC であればマウスオーバーでも表示されます:
2017011506


まだまだ学習量が充分ではなく、第一候補となることはまだ珍しいとか、(着ぐるみの写真ではなく)絵の場合には精度が落ちるとか、横から写した画像に弱いとか、背景画像に左右されることが多いとか、まだまだ問題はありますが、一応動くものが作れたと思ってます。

実際の用途としてはある程度いけるかな、と思ってます。もちろん精度高く検索できることが理想ですが、上記で書いたように「名前が分かれば色々調べる方法はあるんだけど、肝心の名前が出てこない」のを解決するツールとして考えると、検索結果の候補の中に含まれていれば、それはそれでオッケーかな、と。


なお、今回のサービスは Visual Recognition の中では現時点でベータ版の /v3/collections/ で始まる API を使って開発しています。今後の仕様変更などがあった場合にサービスがどうなるか何とも言えませんが、なるべく対応させていく予定です。合わせてもう少し学習データの量を増やして検索精度を上げられないか、がんばってみます。


「人工知能が進化したら、人間の仕事がなくなる!?」とか「人工知能が人間の仕事を奪う!?」とか言われているのをたまに目にします:
http://nikkan-spa.jp/907607 

個人的意見ですが、遅かれ早かれ&多かれ少なかれ、そういうことは出てくるんだろうなあ、、と思ってます。「絵画や小説など、芸術性/創造性の高い分野ではまだまだ」とも言われてますし、自分もその通りだとも思いますが、「まだまだ」ということは「いずれ・・・」という可能性を秘めているわけでもあります。

その一方で「人工知能が踏み込むことのできない分野もある」と思っています。人工知能がどれだけ発達しても、人間に追いつかないであろう分野があるとしたら、それは何だろう??と・・・


自分なりの答を1つ出すとしたら、それは「本能」だと思ってます。ニューラルネットワークやディープラーニングは「学習」させることで知能を得ます。この精度が高ければ高いほど、人間の脳に近づき、場合によっては人間を超えてしまうこともあると思っています。ただ、裏を返すとこの「学習」が人工知能の精度を高めているわけなので、何も学習させる前の人工知能はただの箱というか、「入力しても反応しないソフトウェア」でしかありません。

一方で人間には、何も教えていないのに既に体が知識を持っていたりします。特に生死に関わるようなもので、意志を伝えるために声や音を出すとか、身の危険を感じた時に自然に防御するとか、暑い時に汗をかいて体を冷やすとか、目の前にものが現れた時に(目を守ろうとして)目をつぶるとか、水中で呼吸を確保するために手足をバタバタさせるとか、、、DNA のレベルで学習済みというのか、動物や赤ちゃんが取る行動が近いといえるかもしれません。

もちろんこのような本能に近い行動をするようにコンピュータに学習させることはできると思いますが、「人はこれらのことを学習していなくてもわかっている、本能的に行動できる」という点が大きな違い、という意味です。


その意味で「人工知能が進化しても、自分の仕事を失わないようにするには?」を考えると、「仕事に本能に近い要素を取り入れること」と「自分の本能を磨き続ける」ことだと思ってます。例えば自分の場合であれば、お客様やイベントで製品の説明をする際に「どういう紹介の仕方をすれば驚いてくれるだろうか? 何を見せれば感動するだろうか?」といった、相手の本能を揺さぶるような観点を取り入れることを心がける、とか、頭や体を動かし続けて、自分の本能がサビつかないようにするとか、かなあ。



このページのトップヘ