イベントレポート
GeekOutナイト
画像認識技術のお仕事ってどんなもの? 農家兼エンジニアとして、きゅうりの等級をAIで判定
80年代から取り組むオムロン、料理の写真を識別するクックパッドのノウハウも語られる
2018年6月20日 12:00
パソナキャリアが運営するIT・ウェブエンジニア向け転職サイト「GeekOut」が5月末、イベント「GeekOutナイト」を開催した。テーマは「画像認識技術」。きゅうりの等級をAIで判定する農家の小池誠氏、オムロン株式会社で産業分野の画像認識技術に取り組む仁科有貴氏、料理画像をAIで識別することに取り組むクックパッド株式会社の菊田遥平氏と、三者三様のスピーカーが集まった。それぞれのやってきたことが解説されたのはもちろん、これから画像認識を学ぶためのアドバイスも語られた。
組み込みエンジニア→実家に戻ってきゅうり農家兼エンジニア
小池氏は、ディープラーニングによる画像認識の事例としてGoogleの「CeBIT 2017」展示などでも紹介された、きゅうりの等級の判定を紹介した。
同氏は、組み込みエンジニアから、実家に戻ってきゅうり農家兼エンジニアとして活動。機械学習フレームワーク「TensorFlow」を使い、ベルトコンベア+ウェブカメラ+Raspberry Piで、画像認識によってきゅうりの等級を自動判定した。しかし、ベルトコンベアの仕組みによってきゅうりが傷んでしまうことから、テーブルに置いたきゅうりを判定する方式に変更して現場に投入した。
現在では、ディープラーニングアクセラレーターの利用や、畑の映像からきゅうりを検出する装置などに取り組んでいるという。こうして自動化を進めて、より品質や収量を上げる時間を確保したいと小池氏は語った。
1980年代から画像認識に取り組むオムロン
オムロンの仁科氏は、産業分野での画像認識を紹介した。部品として提供しているので一般消費者の知名度は高くないが、1980年代から画像認識に取り組んでおり、同社のコア技術の1つだという。
オムロンの扱う分野では、クラウド型ではなくエッジ型で、限られたハードウェアリソースでリアルタイム性を求められるという。そのような条件下で、工場で部品を掴むロボットでの工夫を語った。また、自動運転車に向けてドライバーシートの人が眠っていないか、スマートフォンを操作していたりしないかをディープラーニングで認識する事例も、動画とともに解説された。
料理写真判定における誤認識解消へのクックパッドの工夫とは
クックパッドの菊田氏は、スマートフォンに貯まった写真の中から料理の写真を認識する「料理きろく」での試行錯誤を紹介した。最初にデプロイしたモデルでは間違いが多く、植物はもとより、赤ちゃんを料理と誤認識するケースがあって、これはユーザー体験の観点から重大な問題だとされたという。
そこで、分類カテゴリーとして、料理と非料理だけでなく、植物や人間のカテゴリーも明示的に作ったり、テストデータを社員から集めて拡充したり、1枚の写真の中で料理の領域と非料理の領域を分けたりといった工夫を重ねた。
菊田氏は最後に「研究とサービス適用にはまだ乖離がある。だが断絶ではない。お互いを行き来できる人間や環境は価値がある」と語った。
画像認識、どう学ぶか?
それぞれの発表のあとに座談会も行なわれ、画像認識を学ぶ方法やノウハウなどが語られた。モデレーターは、ITジャーナリストの青山祐輔氏。
まず青山氏が、事前に集まった質問から「どこから始めればよいか」を尋ねた。
小池氏は、最近はフレームワークやライブラリが充実しているので、仕組みに興味がある人はまずプログラミングしてみるのがいいのではないかと語った。その段階ではデータを集めるのが大変なので、公開されているデータで始めてみるのがよいだろうという。
仁科氏は、機械学習コミュニティ「Kaggle」のコンペを紹介した。問題設定がきちんとしていて、簡単な問題から複雑な問題まであり、データも用意され、チュートリアルもあるので、お勧めだという。
菊田氏は、簡単な問題でいいので、自分の問題で試してみることを勧めた。画像認識にはそれほど莫大なデータはいらないのではないか、画像をインターネットから自動収集するスキルがない場合は手動ダウンロードなどで、ある程度のモデルは作れる、という。
これらの回答に関連して青山氏は、事前に募っていた質問から「どうデータを用意するか」の工夫を菊田氏に尋ねた。それに対して菊田氏は「身も蓋もないことを言うと、我々のところには料理画像がたくさんある(笑)」としつつ、モデル性能検証のためのデータはアクセス権限に気を付けつつ社員から集めるのが効果的だったと語った。そして「繰り返しになるが、自分の解きたい問題のデータを集めることが重要」だと説明した。
データを大量に集めるとなると、それらのアノテーションをどうするか、青山氏が仁科氏に質問した。仁科氏の仕事では実際に数多くの被験者を集めて画像を撮影することが多いという。このとき「眠い」といったアノテーションを写真に紐付けるには、単純作業をやってもらってその反応をとるといったことをしているという。「どれだけ会社としてそこに投資するかで決まる」と仁科氏はコメントした。
青山氏は最後に3人に、実サービスやアプリケーションにするときに引っ掛かった点について質問した。
仁科氏は「技術の選定は気を付けた方がいい」と語った。現在は画像認識といえばディープラーニングだが、ケースによってはルールベースのほうがいい場合もあるかもしれないという。「使えるところでは、人の知見を入れられるところは入れた方がいい。アプリケーションが何か、最新の技術は何かを見極めたほうがいい」と仁科氏。
菊田氏は改めて、まず動かして確かめることを勧めた。特に、機械学習では試行錯誤のスパンが長いことが、ほかのソフトウェア開発と違うところだという。「だから、早めに動かして確かめ、本当に解くべき問題を明らかにする。人間がコントロールし難い部分もあるため、それを見越して早めに取り組むほうがいい」と菊田氏。
小池氏は、2人に同感としつつ、「最近難しいと思っているのは品質保証」と語った。クックパッドの赤ちゃんの話を例に出しつつ、「きゅうりでも、これを間違えるか?というような大ポカがある」という。それをどうするかが難しいと語り、「きゅうりの場合は深刻な影響はないので、腹をくくるとか」と言って笑った。
会場からの質問も相次いだ。勉強やコーディングをする時間をどうしているかについては、小池氏は「農家の夜は長いので(笑)。あと、自分が解決したい自分の問題を見つけるのが一番」と回答。仁科氏は、「モチベーションを保つのが重要」として、Kaggleや、社内の毎年恒例の“ものづくりコンテスト”を紹介した。菊田氏は「モチベーションを外に求めるか、内側に求めるかでも違う」として、「私自身は内側に求めるほうだが、チームとして前進するには、外側に目標を作って、それを共有しつつ進めていく必要もある」と語った。