2013年1月17日木曜日

Recognizing and Extracting tomatos from a photo digital image.

トマト収穫ロボットを作るためには、画像からのトマト認識が重要です。
その画像認識技術の開発を進めています。
複数の方法を組合せて認識しますが、安定してきたので紹介します。
OpenCVも使っていますが、認識技術の中核は自作しました。

下の写真は、遠目で撮った写真から収穫が可能なトマトの候補を認識した結果です。何故、このような離れた位置からの認識が必要なのかは、長くなるので別な機会に説明します。
まだまだロジックの改良が必要ですが、目標は達成できそうです。
トマト収穫ロボットでは、2000x1500程度の画素数のwebcamを使うので、遠目の撮影を行う為のトマトとの位置関係、そして移動ロボットへの搭載方法を考えています。
元々、Low Cost Robotなので、1台専用にしても良いですが、、、

葉の陰や、重なっていても、それなりに認識しています。
この処理は、ロボットに搭載しているRaspberry Piの性能では、実用上の速度で出来ないので、RDCS上に配置されたi5 2.5GHz のマシンで動く、Space Recognizing Serviceで行います。その結果をロボットに返します。
遠目の撮影で、かつ 影になっているのトマト認識
黄緑色の十字マーカーは、認識した収穫候補のトマトを表します 
(処理対象の画像解像度 3680 × 2760)
画像認識の点で言えば、如何に、一枚の画像から多くの情報を、位相関係も含めて、かつ高速に抽出するのかが、私の一番重要視している点です。
50センチ程度から撮影した画像で行えば、ほぼ位相関係も含めて認識が可能となってきました。実際の収穫対象のトマトを選定する為には、まずは十分です。あとは、画像から推定するトマトの糖度ですが、なんとかなるでしょう。なんたって、サンプルが大量にありますから、実験しながら試行錯誤し、閾値の組合せを作れば良いです。接近したトマト画像の認識処理は、Raspberry Piで処理する目処も立ちました。

ちなみに、このトマトは、フルーツトマトで、糖度が約10以上あります。
私のトマト栽培は、化学合成農薬/肥料や、有害物の混ざり込む可能性のある農業用水を使いません。有用な微生物や安全な水を活用して作っています。
その理由は、自分が化学合成物に少し敏感な体質だからです。安心して食べれる物を作って、普通に食べれるのは、そのような体質の私にとっては大きな幸せです。

あ〜、時間が足りない、プログラムもっと、作りたい、改良したい。
工作の方は、ラジコン飛行機をしていたので、なんとかなりそうです。
そんな事もあり、主要な機能を遠隔から無線で操縦するする物はラジコンだと思っています。ロボットは、対象の作業を自律的に行う装置だと考えています。私は、人手を減らす為に使うので操縦しないですむようにしたいです。

peace!

0 件のコメント:

コメントを投稿