2019年9月16〜17日にかけて、日本そして海外から多くのPythonユーザーやPythonコミュニティーが参加する「PyCon JP 2019」カンファレンスが大田区産業プラザPiOで開催された。本稿では、第2日目の基調講演の内容をまとめる。

Pythonで切り開く新しい農業

登壇者の小池誠氏は静岡県西部でキュウリ農家兼組み込みエンジニア兼Maker*1として活動をしている。小池氏による「AIを用いたキュウリの自動選別」については既に多くの記事がWeb上にも掲載されていて、ご覧になった方も多数いるはずだ。

基調講演の動画（Youtube）



その経験から「Pythonは農業においても広まっていく言語」だと述べる。

第2日目の基調講演の様子



組み込みの世界へのPythonの浸透

組み込み系の開発者としての経験を持つ小池氏が、会社を辞めた数年後に農業に従事する際に「コーディングは続けたい」と考えて手にしたのがPythonだ。第1日目の基調講演の登壇者であるコーリー・アルソフ氏と同様、小池氏も独学でPythonをマスターしている。

Maker Movement*1の高まりの中で、小池氏はさまざまなデバイスとPythonやその他の技術を組み合わせて、合わせ調味料調合機／卓上スプラウト栽培装置などを作り、趣味としてPythonと各種デバイスとを組み合わせた開発を楽しんでいるそうだ。このようなことから、自身のことを「Pythonで何か作って楽しむ人」と表現している。

現在は「自動草拾いロボット」を――制御デバイスにはJetson Nanoを、その制御を行うためにPythonやTensorFlowなどを使って――作っていて、農業の現場で活用できるかを実験中とのことだ。

現在実験中の自動草拾いロボット



Pythonを使ったデバイス制御は組み込み系の世界でも広く浸透しつつある。実際、Makerイベントでよく見られるデバイスでも、Pythonで開発が可能なものや、AI（人工知能）やML（機械学習）を支援するハードウェアを備えたものが増えている。

Pythonで開発可能なデバイスが増えている



このように組み込み系デバイスの制御にPythonが使われるようになった要因としては次のようなことが挙げられる。

ロボットに高度な認知行動をさせたい

Web技術／資産の活用が容易

読みやすい

高度な認知行動をさせるには「エッジAIやディープラーニング」が必要であり、それにはPythonをサポートするのが最適となるのは、ある意味当然のことだ（Web技術／資産の活用についても同様なことがいえるだろう）。また、高性能で安価なSoCが登場したことで、速度面でネックがあっても、学習コストの低さ、読みやすいコードが書けるというPythonの特徴が生かせる素地も整ったといえる。

産業分野でのAI技術活用の活発化、Pythonをサポートした組み込み開発環境の登場、Python用の豊富なライブラリを活用したラピッドプロトタイピングが可能といったことを要因として、Pythonはモノづくりの世界にも広まっていこうとしている。

農業とAI

そして、小池氏はこれを農業の分野に適用しようと考えた。「キュウリの自動選別機」はその第一歩である。

キュウリなどの果菜類の栽培は、機械化が難しく、労働集約型の作業となる。キュウリ栽培における労働時間の割合では、収穫におよそ40％、出荷作業に22％、管理作業（苗の世話、陽当たりの整備など）に19％などの時間が取られる。このうちの出荷作業に選別作業も含まれているが、これらに時間をかけたところで、キュウリの品質が高くなるわけではない。

選別作業を含む出荷にかかる時間を減らしたい



そこで、選別作業に使う時間を減らして、それをキュウリの品質向上につながる作業に振り分けたいと小池氏は考えた。これが「キュウリの自動選別器」を開発するモチベーションとなった。

選別作業とは、キュウリの太さや長さなどを目視で確認して、等級の振り分けを行うことだが、定量的な基準があるわけではなく、生産者の主観や長年の経験に頼るところがある。その一方で、毎日の選別作業でバラ付きが出てはいけないし、誰がやっても同じ基準で選別ができなければならない。そこで、コンピューターを使って同等のことを実現しようというのが小池氏のチャレンジである。

結論をいってしまえば、何度かの試作を経て、現在では実作業に使えるところまでに進化したということだ。その間にどのような発見があり、AIをどう活用すればよいかにどのような変化があったかについては上掲の基調講演の動画をご覧いただきたい。

重要なのは、判別作業の全てを自動化するのはうまくいかなかったという点だ。ベルトコンベアを使って、そこを流れるキュウリを撮影し、等級を判別して、キュウリを等級ごとに箱に詰めていく方法では、そこそこの精度で等級を判定はできても、キュウリに傷が付いてしまいお話にならない（速度面での問題もあった）。

最終的には、AIはあくまでも人の作業を「支援」するためのものとして、テーブル型キュウリ選別システムとなった。AIが行うのは、テーブルに並べられたキュウリの画像からその等級を判断することだけとして、実際の箱詰めなどは人の手で行う。このやり方を採用することで、初心者の1.4倍程度の速度で選別が可能となった（ただし、熟練者にはかなわない）。

キュウリの自動判別システムの開発からは次のようなことが分かったそうだ。

熟練者に近い基準で選別が可能

ディープラーニングは農業に適している

熟練者のノウハウを継承できる可能性がある

ディープラーニングには自動化以外にも可能性がある

まずディープラーニングによって熟練者に近い精度で判別が可能になったが、その一方でキュウリの選別に高い厳密性は求められていない。そのため、ある程度の精度（確率）で判別を行うというディープラーニングの手法は農業に適している。

そして、熟練者による判断を教師データとし、それをAIに組み込み、初心者の判別作業を支援することで、熟練者の経験や判断をAIを介して、初心者に伝えられるようになる。これは新規就農に対するハードルを下げることにもなるだろう。高齢化が激しい現在の農業においては、熟練者のノウハウを継承できる可能性が見えたことには大きな意義がある。

「ディープラーニングには自動化以外にも可能性がある」というのは、「AIには人の仕事を置き換える面もあるが、人と人の間をつなぐ技術でもある」ということだ。

例えば、キュウリの自動判別では全自動化をやめて、AIはあくまでも人の支援をするものとした。これにより、ライン作業が苦手な人でも、キュウリの判別作業を行えるようになる。このような使い方は、障害のある方の社会参画に可能性をもたらすだろう。さらに「AIではこういう結果が出た」ことを根拠とすれば、なかなか話の通じにくい人を相手にするときにでも、双方向で意見のやり取りが円滑に行えるようになるかもしれない。

AIを単に人間の仕事を置き換える手段を見るのではなく、それを活用することで人と人をよりよい関係でつなぐことも、これからは考えられていくようになるのかもしれない。

その後、小池氏が現在取り組んでいることについて述べられ、農業においてもPythonは有効に活用できることが示された。

農家がPythonで実現したい未来



最後に「Python 2のサポートは2020年1月1日には終了するが、これは一つの節目。そして、キュウリにも節目はある。なぜ節目があるかといえば、それはこれからの成長のためだ」として、「今度はPython 3で新しいことを始めてみよう」「何かを始めるために何かを学ぶのではなく、学ぶために何かを始めてみよう」というメッセージを参加者に投げかけて基調講演は終了した。

PyCon JP 2019のテーマである「Python New Era」が、第2日目の基調講演では「Pythonで切り拓かれる新しい時代の農業」という形で表現されることになった。