IT農家のディープ・ラーニング奮闘記 第1回

テクノロジは使ってナンボ! AIアシスト生活に挑戦

AI画像判別テーブルの仕様を決める

小池 誠


キュウリ用AIのあらまし

●基本構成

画像認識においては人間の目を超えたとも言われるディープ・ラーニング….筆者は2016年から2017年にかけてディープ・ラーニング・キュウリ自動選別機(1)を作りました(写真1図1).


写真1 うちにあるAIキュウリ自動判別コンピュータ(本誌2017年3月号で紹介)


図1 AIキュウリ自動判別機のハードウェア構成・・・ベルトコンベアでキュウリを箱まで運ぶ(2017年3月号で紹介)

今回は写真1よりも実用性を高めた「AIキュウリ選別テーブル」を作ってみます(写真2図2).


写真2 複数本置くだけでリアルタイムにジャンジャン選別してくれるAIテーブルを作る


図2 テーブル型キュウリ判別システム・・・サイズ判定の速度を上げた.同時に3本のサイズを判定できる

前回も今回も撮影台の上に置いたキュウリをUSBカメラで撮影し,ディープ・ラーニング向けフレームワーク TensorFlowで実装した畳み込みニューラル・ネットワークで9等級に分別(写真3表1)します.

 


写真3 キュウリは9つの等級に識別して出荷する・・・それぞれの等級に複数の画像を用意した
上列から2L,L,M,S,2S,B大,B中,B小,C

 

表1 キュウリの仕分け基準の例

等 級 秀 品 B品 C品
階 級 2L L M S 2S   –

(a)等級・階級表

秀品 B品 C品
曲がり

具合

真っ直ぐ←  → 曲がっている
太 さ 均一⇔不均一(先細り,先太り)
色 艶 艶がある  ⇔  艶がない
ない    ⇔    ある

(b)等級の仕分け基準の例

2L L M S 2S
長さ 約25cm以上 約23-

25cm

約21-

23cm

約19-

21cm

約17-

19cm

(c)階級の仕分け基準の例

 

●AIを人間のトモダチとして使う

前回はキュウリの等級を判別し,ベルトコンベアを使って指定の箱まで運搬していました.実際に運用してみると,ベルトコンベアでは時間がかかる上にキュウリに傷を付けてしまう結果になりました.
今回は実用化を考え「人工知能を使った自動化」から「人工知能のサポートによる作業の効率化」にコンセプトを変えて,テーブル型の選別システムを製作しました(図2).9種類もあり,慣れないと判断に時間がかかってしまうキュウリの等級判定を,人工知能を使って効率的に行います.収穫してきたキュウリを判定台に載せる工程は前回と同じく人手で行います.そして,人工知能が等級を判断した後,等級ごとの箱にキュウリを傷付けずにきれいに箱詰めする工程も人間に任せようというのが今回です.人工知能=自動化というイメージもありますが,今回は人工知能との協働を考えてみました(図3).
今回の特徴は,前回は撮影台にキュウリを1本ずつ載せて等級を判定していましたが,複数本を同時に判定できるようにしています.

図3 キュウリ自動判別マシンの理想と現実

●制作のきっかけ…選別作業は時間がかかるし素人には難しい

農家が収穫した作物を卸売市場に出荷する際に,作物の状態により複数の等級に選別して出荷を行っています.例えばキュウリの場合,長さ,太さ,色つや,病気/傷の有無などを見て,9つの等級に分けて出荷します(写真3).ところがこれを人間がやろうとすると…非常に見分けづらいのです.
昔に比べて機械化されたと言われる農業ですが,巨大な機械を導入できない小規模農家では,まだまだ手作業が多く残っているのが現状です.選別もそんな作業の1つで,農繁期には1日8時間以上かけてキュウリ1本1本を手作業で選別しています.選別のやり方にも農家のこだわりがあり,それを習得し熟練者と同じ精度で選別ができるようになるまでには時間をかけた修行も必要となります(写真4).

(a)ケース1

(b)ケース2
写真4 意外と難しいキュウリの等級判断
左が秀品,右がB品

広がる夢

今回のテーブル型選別システムですが,下記のような用途にも使えるかもしれません.

●電子工作用テーブル

テーブル上に置いたIC,抵抗,コンデンサなどを人工知能が判別して,仕様を自動的にテーブル上に表示します.これで部品の付け間違いもなくなります.

●逆引き動物辞典

テーブルの上で画用紙に動物の絵を書くと,人工知能が動物の特徴を捉え,その動物の情報をリアルタイムでテーブル上に表示します.インタラクティブな児童学習用アプリが作れるかもしれません.

●ダイエット・テーブル

テーブルの上に料理を並べると,人工知能がテーブル上の料理を識別し,並べた料理のカロリや塩分などをテーブル上に表示します.これで食べ過ぎることもなくなります.

●レシピ提案テーブル

テーブル上に食材を並べると,人工知能がテーブル上の食材を識別し,その食材で作れそうな料理のレシピがテーブル上に表示されます.冷蔵庫の余り物をテーブルに置くだけで夕飯のレシピを簡単に決めることができます.

●パズルお助けテーブル

パズルのピースをテーブル上に広げると,人工知能がピースの形や絵柄を識別し,どのピース同士がつながるかを教えてくれます.途中で投げ出してしまった難解なパズルは,人工知能のサポートを受けて完成させましょう.

仕様決め

●作物に傷を付けない

本誌2017年3月号(1)で紹介した自動選別機は,7000枚のキュウリ画像を使って学習を行いました.実際に作成した自動選別機を使ってキュウリの選別をやってみると,以下のような課題が見えてきました.
・ベルトコンベアでは運搬時に作物に傷が付く
・作業スピードが遅い
・作業場の明るさなど周辺環境の影響を受け選別精度が落ちる
特に「作物に傷がつく」という課題については,等級が下がる,または,出荷できなくなってしまうという問題があるので,絶対避けなければなりません.

●個人でも調達できる価格

前回はディープ・ラーニングを使って選別作業の自動化をコンセプトに開発を進めてきました.しかし,キュウリに傷を付けずに運ぶ,出荷用の箱にきれいに並べるといった部分の実装が難しい(ロボット・アームを使うとかなり高価になってしまう)ため,今回は少しコンセプトを変えて,『人工知能による自動化』ではなく,『人工知能のサポートによる作業の効率化』を目指すことにしました(図3).なお,「小型,安価,部品調達が簡単」という方針は従来通りです.
ハウスで収穫したキュウリは大きな入れ物にバラ積みされて農舎へ運ばれます.運ばれてきたバラ積みの入れ物からキュウリを取って,等級判断して,箱詰めを行うという一連の動作は従来通り人間の手で行いますが,等級判断部分に人工知能を使って熟練者と同じ判断を高速に行えるようにします.

●複数本の同時判定を可能に

前回の選別機はキュウリの等級判断を1本ごとに行っていました.しかし,これでは作業効率が悪いため,複数のキュウリを同時に判別するような仕組みを考えました.それがテーブル型の選別装置です.テーブル上部に設置したカメラでテーブル全体を撮影し,撮影した画像からテーブル上のキュウリの位置と画像を取得します(図4).

図4 テーブル型選別システム

取得した複数の画像を一度に人工知能で等級判断(バッチ処理)することでスピードアップを図ります.最後に人工知能が判断した等級情報を元のキュウリ位置に表示することでユーザに結果を示します.
テーブルにはデスクトップPCのディスプレイを横に倒して使用しました.これは,
・バックライトによって外環境からの光の影響を抑えキュウリの形をくっきり撮影できる
・テーブルに直接いろいろな情報を表示できることで作業者にとっても分かりやすいUIになる
と考えたからです.
ディスプレイを使う欠点は,前回のようにUSBカメラを3台使って,上/下/横の3方向からの画像を取得できなくなってしまい認識精度が低下することです.今回は人間の作業のサポートが主目的であるため,多少の認識精度の低下は問題なしとしました.カメラがとらえられないキュウリ裏側の傷や変色などは人間が見てもすぐに判断できるためです.

●仕分け基準のキャリブレーション機能を加える

過去1年間,キュウリの仕分けシステムを開発してきて分かったことがあります.
キュウリは季節ごとに成長の度合いが異なり,細めのキュウリがたくさんできたり太めのキュウリがたくさんできたりします.選別の熟練者は,その季節ごとの傾向に合わせて,選別の基準もうまく調整しているのです(図5).つまり選別の基準は絶対的なものではなく,作物の出来によって相対的に決める必要があります.

図5 成長時期によって判断基準が変わる

しかしニューラル・ネットワークを使った選別では,学習した判断基準(重みやバイアス)だけでしか判別することができません.
そこで図6に示すように,判定時のニューラル・ネットワークへの入力をキャリブレーションすることで,ニューラル・ネットワークの判定を調整するような仕組みを試してみました.画像だけを入力するのではなく,キュウリの大きさの情報(長さ,表面積,太さ)を数値として入力し,判定時にそれらを調整することで作業者が意図した判断になるよう調整します[図6(c)].
このキャリブレーション機能がうまく動けば,品種による違いや農家ごとの基準の違いなどにも再学習なしで対応できるかもしれません.

図6 キャリブレーションの仕組み

●運用時には3つのモードを切り替える

より実用的なシステムを目指して,今回の選別システムは下記3つのモードを搭載しました.
1,判定モード
キュウリの等級を判定するモードです.通常の選別作業を行うときに使用します.
2,学習モード
教師データを更新するモードです.判定が明らかに間違っているキュウリを発見したら,そのキュウリ画像に正しいラベル情報を加えることで人工知能を再学習させます.システムを使えば使うほど賢くなるようにするための機能です.
3,情報表示モード
今日どれだけの量を選別したかなどの情報を表示するモードです.過去のデータと比較できる機能も備えており,いわゆるダッシュボード的な機能です.
この3つのモードはテーブル右側のコントロール・パネルに付いたロータリ・スイッチで切り替えられます.

●部品表

選別システムで使用した部品の一覧を表2に示します.回路を図7に示します.

図7 テーブル型キュウリ判別システムの回路

表2 テーブル型キュウリ判別システムの部品

品 名 型 式 個 数 用 途 入手先
USBカメラ Logicool C270 1 テーブル画像の取得 Amazon
23型PCディスプレイ DELL E2311Hf 1 テーブル 中古PCショップ
ラズベリー・パイ3 1 全制御 秋月電子通商
1kΩボリューム SH16K4B102L20KC 3 キャリブレーション用のつまみ 秋月電子通商
ロータリ・スイッチ RS-2688-0112-38N 1 モード切り替え 秋月電子通商
ゲーム・スイッチ 10130035+10135000 1 決定ボタン 秋月電子通商
A-DコンバータIC MCP3008-I/P 1 入力のA-D変換 秋月電子通商

 

参考文献

(1)小池 誠;ラズパイ×Google人工知能…キュウリ自動選別コンピュータ,Interface,2017年3月号,CQ出版社.

こいけ・まこと