大規模トマト生産施設における収穫ロボットの開発
− パターンマッチングによる果実認識 −
Development of Tomato Harvesting Robot in Large Scale Greenhouse
― Fruit Detection using Pattern Matching Algorithm ―
中村大輔
1. はじめに
ロボットの視覚部に関するこれまでの研究では,カラー画像やレーザ等の距離情報等が用いられてきたが,我々が取り組んでいるガクを離脱させない収穫のためには,果柄を含めたガク周辺の情報が必要である.多くの場合果柄はロボット側から死角となるため,本研究ではハンドにTVカメラを搭載し,果柄が撮影可能な位置から認識することとした.しかし,カメラ移動に伴う光環境の変化は,画像処理には大きな問題である.そこで,明度の変化に柔軟な対応が可能なパターンを機械学習により作成し,これによるパターンマッチングで果実と果柄のリアルタイム検出を試みた.
2. 想定した収穫動作とアルゴリズム
基本パターンの作成にはHaar-Like特徴量を,機械学習によるパターンの重畳にはAdaboostアルゴリズムを用いた.果実あるいは果柄だけを含む画像各2,800枚と,含まない画像600枚を,教師データとして学習させた.この学習により作成されたパターンを検出窓とする.この検出窓で動画の各フレーム画像中を走査し,検出窓に近い特徴を持つ部分を認識対象とした.今回ハンドは,収穫対象果実を確定後,動画撮影しながら果実左右の開放空間に移動し,果柄の位置が認識できた地点でそのまま収穫動作に移行することを想定した.このアルゴリズムをFig 1に示す.まず,パターンマッチングにより果実候補を検出する.この候補には,未熟果や背景,葉などが含まれている場合があるため,色相の赤の領域で適熟果を判定する.ここで候補が複数の場合は,視野中心から近いものから,それが房状の場合は右か左端の果実を収穫対象とする.カメラは2台用いて,1台で対象果実を追跡しながら接近し,直角に設置したもう1台の視野内に果柄周辺が入ってくると果柄のパターンマッチングを開始する.ステレオビジョンにより果実,果柄までの位置を求め,移動は果実が視野中央に来るまで行う.
3. 実験方法および結果
今回のトマト品種は桃太郎で,撮影はハンドの動きを想定してカメラをレール上で移動させて行った.最初の適熟果の判定を作物列を撮影して検証したところ,83 %を正しく検出できた.失敗のほとんどは視野内の果実と検出窓のサイズによるもので,果実が大きく映りすぎた12 %は一つの果実を複数個として,逆の3 %は房を1つの果実として検出した.これらはカメラが移動することで解決できるため問題はないと考えた.つぎに,対象果実の横の空間にレールを向けてカメラを水平移動した結果,移動中に果実を見失うことはほとんどなかった.今回のパターンマッチングはカメラ移動に伴う明度変化に対応し良好な検出が行えたといえる.最後に果実,果柄までの距離の算出結果をFig 2,3に示す.動画の各フレームと実際の距離との対応付けは難しかったため,今回は真値とではなく最頻値との振れ幅を求めた.果実は90 %が40.9 mm以内であったのに対して果柄は63.7 mm以内であった.算出基準は検出窓の位置としたが,今回の窓は果実に内包するサイズとしたため,果実の向きにより果実中心と窓の中心は必ずしも一致せず,この様な分布となった.果柄の場合これに加えて,主茎などを誤検出するフレームもあり振れ幅は大きくなった.これらはフレーム間で補完しあうことで精度向上が期待できる.
Fig. 1 Flowchart of fruit detection algorithm
Fig. 2 Error of distance to fruits
Fig. 3 Error of distance to peduncles
秘蔵ムービー