データの境界

なんちゃって理系がデータ分析業界に入ってからの汗と涙の記録。

噂の「TensorFlowでキュウリの仕分けを行うマシン」がMFT2016に展示されていたので実物を見てきた

 

個人的には最近聞いた話の中でひさびさにワクワクした話。

「医療」「教育」「農業」のようなIT未開の分野に黙々と取り組んでいる人達はヒーローに見える

Google Cloud Platform Japan 公式ブログ: キュウリ農家とディープラーニングをつなぐ TensorFlow

約三行要約

  • エンジニア職だった方が実家のキュウリ農場でtensorflowを使った自動の「キュウリの品質仕分け機」を自作している
  • 家族(仕分け担当はお母さん)が9段階に仕分けしたキュウリを撮影し学習用画像データ(80×80px)としている。画像7000枚分。
  • 収穫のピーク時には一日 8 時間ずっと仕分け作業に追われる。それを自動化したい。
  • Web カメラによる画像撮影は Raspberry Pi 3 で制御し、そこで TensorFlow による小規模なニューラルネットによってキュウリのあり・なしを判断
  • 学習と計算は外部サーバーを使わず自宅のwindowsデスクトップPC1台(中身はLinux)で行っている。学習完了まで2〜3日かかる。
  • キュウリ画像の認識にはTensorFlow の「Deep MNIST for Experts」をベースに、若干手を加えたディープニューラルネットワークを用いている
  • test画像データでの精度は95%。本番データでは精度約70%ほど。


そしてこちらの自作マシンと作者の方が8月6,7日に東京ビックサイトで行われていたMaker Fair Tokyo 2016に参加されるということで行って少しだけお話を聞きました。

頂いた名刺の肩書(?)が「きゅうり農家/組み込みエンジニア」 となっていてシビれる。

 

会場でお聞きしたこと

  • ブログなどで製作工程をいろいろ書いていたらgoogleから連絡がきて上記の記事が作られた
  • 当初、キュウリ仕分け担当のお母さんは「そんなものでほんとにできるの?」と半信半疑だったそう
  • 学習用の7000枚のデータはGitHubで公開中(!)いろいろ触ってみてくださいとのこと
  • (学習用画像のクオリティー向上のため)写真を撮影するステージの光の当て方など試行錯誤中。識別部分の詳細ブログ
  • 例えば1時間1000円時給×8時間×作業日数を考えるとGCPなどの計算サーバを使用してもペイできそうではある
  • この仕分け機は8万円ぐらいで作ってる。そのうち数万はモニーター代(DIYあるある...)(そしてモニターは必須ではない。展示用らしい)
  • 細かなリンク部品などは3Dプリンターを使って印刷
  • 個人農家はみんな家(家族)で人力仕分けしているのでこういった安価な仕分け機はニーズがあるのでは
  • 現状以上に画素数などを上げるとどれほど学習コストがあがるかはまだ検証していない
  • もっと効果的に学習できる方法はないか検討中
  • (現状では)キュウリ一本の判別に3秒ほどかかってそうな感じ(以下動画参照)
  • まだ試作機2号。絶賛改良中
  • twitterブログで開発記を発信中


▲キュウリの「上」「下」「横」から撮影して判定

▲会場で再生されていたデモ(?)

 

個人的感想

お話を聞いて、そしてこれまでの仕分けの成果を考えると、もう少し試行錯誤すれば間違いなく人並み(お母さん並)の識別能力を得られるのだろうと思う。というより、"試行錯誤"しなくても、ぶっちゃけ学習用画像データのピクセル数を上げてGCPサーバーで大量にぶん回せば現在の約7割の精度はあっという間に100%に近い精度に上がるのだろう。

ただ、常にこういった技術の話で見失ってはいけないのは「目的は何か?」と「掛けられるコスト(時間・お金・人手)はどれほどか」ということ。

お話してみても、ブログを読んでみてもわかるように作者の方は技術に良く精通されている方なので物理で殴れば簡単に精度を向上できることは十二分に理解されている。つまり、真に難しいのは「キュウリ農家としてどこまでやるべきか」ということ。

実際に動いているところを見れて本当にエキサイティングだったし、「技術はなんのために使うか」を考えさせられる良い時間でした。猛暑のなか行ってよかった。

まぁ、つまり、一言で言うと、

かっこよすぎる

 

作者さんブログ: 

Workpiles | We work smart, we work rapidly, we keep working!

 

ディープラーニングの技術記事なのに最初の小見出しが「キュウリの仕分けとは」で始まる秀逸な記事

TensorFlowでディープラーニングによる『キュウリ』の仕分け | Workpiles

 

twitter

twitter.com

公開されている学習用データ:

github.com

 

(追記)

この記事を書いたのと同じ日にすでに上記のデータセット使って遊んでいる人がいた...データをオープンにする価値はすごい

qiita.com