農業、製造業、ITサービスの立場から語る画像認識の研究開発 ── GeekOutナイトレポート

f:id:blog-media:20180621220840j:plain

2018年5月30日(水)、画像認識に取り組む3人のエンジニアが、それぞれの立場から技術について語る「GeekOutナイト」が開催された。

きゅうりの選別、料理の記録、自動車の運転にも利用される「画像認識技術」について学べるイベント「GeekOutナイト」を開催します - GeekOut

今回は、個人でディープラーニングを用いた自動等級判定に取り組んでいるきゅうり農家の小池誠さん、自動車のドライバ状態推定技術など画像センシングによる先端的な研究を進めるオムロン株式会社の仁科有貴さん、そして画像分析を用いたサービスの研究開発に取り組むクックパッド株式会社研究開発部の菊田遥平さんが登壇。

それぞれ、「農業における個人のメイカーとして」、「B2B企業における産業向けとして」、そして「B2Cにおける自社のサービス開発のため」という、三者三様の立場から画像認識への取り組み方、それぞれの技術に対するスタンス、そしてこれから画像認識に取り組むエンジニアに向けてのアドバイスを語っていただいた。

「きゅうり仕分け機」の開発にディープラーニングを活用

f:id:blog-media:20180621220857j:plain

最初に登壇したのは小池さん。以前にも取材記事に登場いただいたが、きゅうり農家を営みながら、元エンジニアという経歴を生かし、自らディープラーニングによるきゅうりの選別に取り組んでいる。今回は、過去の開発において、学習用データの作成にどのように取り組んだのか、歴代のきゅうり仕分け機の開発コンセプト、農作物にAIを利用する際の課題について語ってくださった。

一般的にディープラーニングを用いた画像認識は、精度を上げるためには数万枚から数十万枚もの大量の学習用画像データを集める必要がある。しかし、小池さんの場合は個人で開発しており、またあくまで試験的な取り組みだったため、試作1号機では1週間ほどかけて集めた2,500枚から始めた。しかし、それでも8割程度の精度を達成できたことから、もっと本格的な開発へ取り組む決断を下すことができたという。

そして試作2号機では2カ月かけて8,500枚の画像を、3号機では1カ月で3万6千枚もの画像を集めることができた。また、撮影した画像に左右反転といった加工を加えることによって、学習データを増やすことも行った。小池さんの「きゅうりの仕分け」という目的においては、このくらいの枚数でも十分な精度を確保することができたという。

f:id:blog-media:20180621220923j:plain
小池誠(こいけ・まこと)さん 自動車関連の組み込み系エンジニアを退職後、実家のきゅうり農業に従事。負担の大きい「きゅうりの仕分け」作業をディープラーニングによって自動化する取り組みを発表して大きく注目される。

「機械学習は良いデータを大量に集める必要があるので、初めから目的を持ってデータを集める環境を設計することで、適切な情報を含むデータを集めることができる」「機械学習による画像認識は、画像処理のプロじゃなくても成果が出せる。でも100%の精度を目指さないという割り切りも大切」(小池さん)

今後は、きゅうりの仕分け機を改良した試作4号機の開発のほか、きゅうりの収穫漏れを防止するために、枝になっているきゅうりを発見する機構と、それを使った自動収穫ロボットの開発を目指すという。さらには、高齢化する農業をさらに高度化するため、先人たちのノウハウをテクノロジーを活用して残していくことに取り組みたいという。

オムロンのビジネスを支える画像認識技術は、ルールベースも併用

f:id:blog-media:20180621220947j:plain

続いて登壇したのは、オムロンでロボットなどの画像認識の研究開発に取り組んでいる仁科さん。オムロンというと、一般的にはコンシューマー向けの体重計や温度計と行ったヘルスケア機器が知られているが、製造工程の自動化のための制御機器などが主要なビジネスであり、画像認識技術はオムロンを支えるコア技術となっている。

オムロンの画像認識への取り組みは古く、1980年代に工場で製品を検査する視覚センサーから始まっており、顔画像センシング技術も1997年には実用化を果たしている。オムロンの顔画像センシング技術は他社に販売され、一般向けのデジタルカメラやプリンターなどに組み込まれた形で世界中で利用されており、出荷台数は累計で5億ライセンスにも達するとのこと。

仁科さんは、大学院で地中レーダによる地雷探査を研究していたが、オムロンに入社してから画像認識に取り組むことになった。そこからいくつものプロジェクトを経て、現在はロボットビジョンの研究開発を行っている。メディア等にも登場しオムロンの広告塔になっている卓球ロボの視覚機能も仁科さんが担当したものだ。

画像認識というとディープラーニングだと思われがちだが、オムロンが取り組む画像認識は、ディープラーニングを利用するものだけでなく、それ以前から使われているエンジニアが自らアルゴリズムを考えるルールベースのものもある。

なぜなら、ディープラーニングはGPUなどを用いるように莫大な計算リソースを利用するだけでなく、認識結果の根拠がブラックボックスになってしまうことが多い。

したがって、消費電力やコストの制約が厳しく、トラブル発生時の説明責任が重要な場面では、やはり人間が介在したルールベースによる画像認識にアドバンテージがあり、そうした場面こそがエンジニアの腕の見せ所なのだという。

「ディープラーニングは処理が重いしブラックボックスになるので、すぐに適用することが困難な場合が多い。ただ、従来よりも圧倒的に精度が出ることが多いので、課題は多いが克服の努力をしている。最近のオムロンの画像認識に関する研究開発は、ディープラーニングが6~7割を占めている」(仁科さん)

f:id:blog-media:20180621221110j:plain
仁科有貴(にしな・ゆうき)さん 熊本大学大学院自然科学研究科博士前期課程修了後、オムロン株式会社に入社し、画像認識技術を応用した人体検出センサなどの研究開発に従事。現在は、ロボットビジョン技術の研究開発に取り組む。

仁科さんからはこのほか、自動運転技術の実用に不可欠な、運転中のドライバーの状態を推定する技術についての紹介もあった。

完全自動運転の実用化までには、高速道路だけといった限定的な場面での自動運転技術の導入が予想されている。そうした段階では、自動運転から人間による運転への切り替えが必ず発生するため、そうした場面で人間が運転できる状態にあるのか認識する必要がある。例えば、スマホを操作していたり、居眠りしていたりすると、事故につながる可能性が高い。

そこで、カメラによってドライバーの状態や、どのくらい眠いのかを推定する技術をオムロンでは開発している。また、そのために被験者を研究所に招いたり、外部機関を活用することで、大量の学習データの作成も行っているという。

「ディープラーニングは学習データの量が物をいう。部署には専属の正解データ入力部隊を抱えるほか、外部機関も活用することで、日々学習データを充実させている」(仁科さん)

そして、将来の自動運転の実用化に向けて、日々の研究開発に取り組んでいる。

料理判定モデルの精度を高める、クックパッドの取り組み

f:id:blog-media:20180621222230j:plain

最後に登壇したのはクックパッドの菊田さんだ。料理レシピ投稿・検索アプリ「クックパッド」の機能の一つとして「料理きろく」を提供しており、スマホで撮影した画像をもとに日々の食事を振り返ることができる。現在のユーザー数は22万人以上で、料理の写真は2700万枚にもなる。

この機能による「料理を記録する」という行為をできるだけ簡単にするため、ユーザーのスマホの中にある写真から料理だけを自動的に選び出す過程で画像認識を用いているという。

現在のディープラーニングによる画像認識の精度は人間を超えているため(ILSVRCのTop5エラー率の推移による)、料理かそうではないかの判定は、一見すると簡単に思える。

しかし、菊田さんによると、これは機械学習で解きやすい問題設定の場合に限った話であり、実際のサービスで生じる問題を機械学習で解決しようとすると、機械学習で解くべき問題から乖離(かいり)がある場合がほとんどでうまくいかないことが多いという。

だからこそ、トライアンドエラーを繰り返し、素早く改善しながら機械学習で解くべき問題を明らかにしていくことが大切なのだという。

「料理きろく」も、最初のリリース時は機械学習の知見が十分ではなかったが、ひとまずモデルを作成し、素早くリリース。いろいろと課題が見えたため、そこからひとつひとつ課題を解決していったという。

例えば、暗い場所で撮影した料理を拾い損ねたり、また逆に赤ん坊の写真を料理だと誤認したりといったことが起きた。そのように知見をひとつひとつ積み上げて、新たな料理判定モデルの開発に取り組んだ。

f:id:blog-media:20180621222258j:plain
菊田遥平(きくた・ようへい)さん コンサルティングファームで機械学習を用いた業務を経験後、2016年12月よりクックパッド株式会社研究開発部でサービス開発を推進する。ちなみにクックパッドへの転職ではパソナキャリアの転職支援サービスを利用したとのこと(発表による)。

開発において大きなハードルになったのが、ユーザーが実際に撮影した画像を学習データに利用できないという点だ。なぜならスマホ内部の画像は利用者のプライバシーに密接に関わるため、それを研究開発に利用することはできない。したがって、アプリにおいて判定した結果が正しいかどうか、開発者が直接画像を見て精度を判定することもできないのだ。

そこで菊田さんたち開発チームは、クックパッド社内で協力者を募ってスマホ内部の画像を提供してもらい、さらにそれに際しても提供写真にアクセスできる人間を限定するという対応を行った。それらの画像を利用して、新たな技術を開発し、2度の料理判定モデルの更新を経て、現在の「料理きろく」機能では、当初のモデルからさらに認識精度を高めることができた。

クックパッドではこうして蓄積してきた「画像分析技術」を他の分野にも応用している。例えば、料理の写真からレシピを「パスタ」「肉料理」「サラダ」といったジャンルごとに分類するモデル、古いレシピに使われている過去の低画質画像を超解像技術によって高解像度に変換するモデル、利用者の投稿つくれぽ画像から料理以外のものを自動的にチェックする社内システムなど、さまざまな場面で利用し、日々新規技術の開発とサービスへの適用に取り組んでいるという。

機械学習を始めたいなら、とにかく手を動かしてみるべき

それぞれのプレゼンテーションの後、3人そろっての座談会が行われた。参加者からの質問をベースに、画像認識に取り組む上での有益なコメントを多数聞くことができた。

最初の質問は「画像認識をやってみたいが、取りかかれずにいる。どういうふうに始めればよいのか」というもの。これに対して小池さんから「自分の場合は機械学習のアルゴリズムに興味があった。今はライブラリがたくさん出ているので、まずはそれを動かしてみたらいい。データ集めが大変なら、公開されているデータセットもある」と、現在の機械学習のハードルの低さを強調し、とにかく手を動かしてみることを勧めた。

菊田さんも同様に、最近の機械学習ライブラリの優秀さを説明。そして簡単でもいいから自分でデータを用意してやってみることを勧める。「数十枚とかでもそれっぽく動くので、画像が足りないというのは、始めないことの言い訳にはならない」と、強く初心者の背中を後押しする。

また仁科さんは、オンラインでのデータ分析コンテストサイト「Kaggle」を勧める。「簡単な問題から難しい問題までそろっていて、チュートリアルが用意されているものもあるので、機械学習の基礎を手元で簡単に学ぶことができる。入門としてお薦め」と話す。

f:id:blog-media:20180621222316j:plain

最後に、画像認識技術を使い、実際に開発に取り組む人へのアドバイスとして、「技術の選定には気を付けるべき。何でもディープラーニングで精度が出るわけじゃない。ルールベースの方が良い場面もある」と仁科さんが技術の見極めについて語ると、菊田さんは「できるだけ素早く動くものを作って、他の人に見てもらうことが重要。機械学習はデータの用意とモデル作成の試行錯誤に時間がかかるので、画像認識以外の部分の開発とスケジュールがズレやすい。できるだけ小さく動くものを作って、あとから改善していけばいい」と、改善のサイクルを素早く回すことを勧めた。

そして小池さんからは「機械学習は、どれだけデータを集めても人間には思いもよらない間違いをすることがある。そのリスクを抑えるのは非常に難しいが、それを恐れていては何も始められない。だから、機械学習以外の部分でリスクヘッジする仕組みを考えたり、逆にリスクを覚悟して腹をくくってやるのも重要(笑)」だとアドバイスがあった。

表現の仕方は三者三様だが、機械学習を始めることのハードルの低さ、そしてまだまだ発展途上である画像認識という技術を利用するにあたっては、とにかく小規模でもいいから開発して他人に見せ、機械学習に適した利用の仕方やモデルの改善に素早く対応していくことが大切であると、三人とも口をそろえていた。機械学習がまだまだ可能性に満ちた技術だということが感じられるイベントだった。

執筆者プロフィール

青山 祐輔(あおやま・ゆうすけ)

青山祐輔さんプロフィール写真

ITジャーナリスト。インプレスにて「Impress Watch」「月刊iNTERNET magazine」などの編集記者、リクルート「R25」のウェブディレクターなどを経て独立。現在は主に、AIによる社会のデジタルトランスフォーメーションと、メイカームーブメントによる企業のイノベーションの現場を追いかけている。
B.M.Factory – Nothing but a text.