病虫害検出

画像に写っている物体を分類したり、物体を検出したりするのに、深層学習を使うことが一般になりつつある。深層学習による物体分類や物体検出は、工学の分野にとどまらず、農学の分野にも応用されるようになった。例えば、小麦を撮影した写真から穂を検出して収量予測を行なったり、雑草を判別したり、植物の写真から病害部位を検出したりするなど多岐の課題に応用されている。この背景としては、専農者の減少や植物病理学分野の人材不足などが挙げられる。画像解析や時系列モデリングなどの手法を利用して、収穫期を精度よく予測できたり、病害虫を早期発見できたりすることは、農家の作業負担を減らし、経済損失を事前に防ぐことが可能にある。

病虫害による被害はグローバル規模で生産量の 20-40% の損失をもたらしていると言われている。農薬を正しく使うことで、病虫害による被害を抑えることは可能である一方で、農薬の乱用は環境汚染などの深刻な被害をもたらす。そのため、農薬を正しく使用するには、現在その圃場で起きている被害を正確に同定する必要がある。この病虫害の同定作業は、専門知識を持つ人材が各地の圃場を視察することで行われるが、そのコストは非常に大きい。コストの削減のために、画像による病虫害診断の取り組みが行われている(Boulent et al, 2019)。

モデル構築の一般的なワークフロー

画像による病虫害同定(分類あるいは検出)は、一般的な画像解析ワークフローと同じである。すなわち、画像収集、画像の前処理、畳み込みニューラルネットワークによるモデル構築、モデルの性能検証の手順で行われる。病虫害同定に適したデータの収集方法や前処理方法は Boulent らの総説で詳しく書かれている(Boulent et al, 2019)。

画像収集

画像を収集する前に問題の定義を具体化する必要がある。例えば、病虫害同定モデルができた時、それをどのように使用するのかをまず想定する。定点カメラで撮影した写真を対象にするのか、それともスマートフォンで撮影した写真を対象にするのかを決める。定点カメラによる撮影の場合は、植物全体が映り込むため、植物全体に対して病虫害診断を行うのか、それとも葉などの部位を検出して、それから病虫害診断するのかを決める。他方、スマートフォンによる撮影の場合は、特定の植物部位を対象する場合が多く、その際に、撮影した写真をそのまま使用するのか、それとも、スマホ上で診断したい部位をユーザーに囲んでもらうなどのことを決める必要がある。このような具体的な使い方を決めたのちに、画像の収集を開始する。

画像は様々な環境で取得することが重要である。すなわち、様々な圃場で、さまざな気象条件下で画像を集める必要がある。例えば、晴れの日にうどんこ病の写真ばかりをとって、曇りの日にモザイク病の写真ばかりをとった画像データセットでモデル構築した場合、そのモデルは、晴れであれば(日の光入ってあれば)うどんこ病、曇りであればモザイク病と判定してしまう可能性がある。また、圃場 A で健康な植物の写真、圃場 B でうどんこ病の写真のように圃場ごとに病虫害クラスを分けてデータを集めた時、作られるモデルは圃場 A で撮られた写真をすべて健康と判定し、圃場 B で撮られた写真をすべてうどんこ病として判定してしまう可能性がある。このような不都合を防ぐためには、様々な病虫害写真を様々な圃場や気象から集めてくる必要がある。例えば、ある時ある圃場でうどんこ病の葉の写真をとったならば、そのすぐ近く健康の葉の写真をとるといった作業が必要である。

圃場、気象以外にも注意する必要がある。スマートフォンを使ったサービスを想定しているのであれば、様々なスマートフォンで撮影する必要がある。また、植物の成長に伴う色の変化や作期(冬作・夏作)とも考慮する必要がある。

教師ラベル

分類問題においては、教師ラベルは基本的に一枚の画像に一つのラベルをつける。しかし、一枚の写真に複数の病気が現れる場合のつけ方を考慮する必要がある。この場合、二つのラベルをつけるか、あるいはそれぞれの病斑をバウンディングボックスで囲み、検出問題として解くかで対応する。また、同じ病気だが、初期と末期とでは病状の現れ方が大きく異なる場合は、別々の教師ラベルをつけた方が、モデルの判別性能が上がるとも言われている。

前処理

画像に映り込む背景(地面、他の個体の葉っぱなど判定対象外のオブジェクト)が病虫害判定性能を悪くすると言われている。そのため、葉の判定モデルであれば、まず葉の部分を切り出して、そのあとに判定するという前処理が行われることがある。いくつかの研究によれば、背景の除去は、モデルの性能をやや改善できるが、劇的な改善が見れないという(Boulent et al, 2019, Mohanty et al., 2016, Ramcharan et al., 2017)。ただし、この問題はデータの複雑さに依存するものと考えられるため、このような研究事例がもっと多く集まらない限り、「背景を除くという前処理が役に立たない」ということを一般的に言えない。

モデル構築

モデルを構築する場合は、既存の深層学習アーキテクチャを用いるのが手軽で高性能である。さらに、既存の深層学習アーキテクチャを使用する場合は、ImageNet などのビッグデータで学習を済ませたモデルを finetuning を行なって、病虫害判別モデルを構築したほうが手軽である。研究者自信で新しいアーキテクチャを作成してもよい。新しいアーキテクチャを用いる場合、自分が解決したい問題にあったアーキテクチャを見つけることはできるが、ハイパーパラメーターのチューニングなどに多くのコストがかかる。

応用例

バナナ病害の検出

深層学習による物体検出を農業分野の課題に応用した事例として、バナナの病害検出がある(Selvaraj et al, 2019)。この論文では、約 3 万枚のバナナ病害画像を病害ごとにクラス分けを行い、病害検出モデルを作成したと報告した。

画像データは東南アジア、アフリカ、ラテンアメリカなどで撮影された。撮影は専門家によって行われているが、撮影デバイスは携帯電話、タブレット、および一般的な RGB カメラである。撮影時間や撮影条件は特に統一されていなく、多様性を持つように撮影されていたという。撮影された約 3 万枚の写真は、その後、3 名の専門家が 4 週間にわたって、バウンディングボックスを付けるなどのアノテーション付を行なっていたという。

病害のクラス分けは、バナナの部位ごとに病害のクラス分けを行なっていた。一般的に植物の病害は、部位によって出たり出なかったりする。あるいは、同じ病害でも発生する部位によって見かけ上の特徴が大きく異なる。そのような病害を同じクラスとして扱うと、病害検出モデルの検出性能が悪くなる。これを防ぐために、論文の著者らは、各病害を部位ごとにグループ分けを行なった。例えば、葉のグループでは「健康な葉」、「バナナキサントモナス萎凋病を持つ葉」、「フザリウム萎凋病を持つ葉」など、偽茎のグループでは「健康な偽茎」、「バナナキサントモナス萎凋病を持つ偽茎」、「フザリウム萎凋病を持つ偽茎」などのようにグループ分けを行なった。

次に、各グループに対して、病害検出モデルを作成した。彼らは複数の深層学習アーキテクチャを適用したが、最終的に Faster R-CNN + Inception V2 および Faster R-CNN + ResNet50 の性能が最もよかった。つまりに、葉のグループに対して、この 3 種のアーキテクチャを学習し評価を行い、次に偽茎に対してもこの 3 種のアーキテクチャを学習し評価を行う、という作業をすべての部位に対して行った。病害の判定精度は 70-90% でばらついている。この病害検出モデルを使って、農家の意思決定をサポートできることに期待を寄せている。

ムギダニの検出

小麦の葉に付いているムギダニを検出するために、深層学習の手法が使われている(Li et al, 2019)。この問題の難しい所として、ムギダニが非常に小さく、検出するのが難しいというところにある。

この論文の著者らは、フィールドで撮影した 84 枚の 1440x1080 サイズの画像を訓練データと評価データに分けた後、1440x1080 の訓練データから様々な大きさの画像(150x250, 240x400, 300x500, 600x1000)を切り出して、回転・反転したりノイズを加えたりして、訓練データを増やした。最終的に 84 枚の訓練データから 3400 枚の画像を作り出した。これらの画像は最終的に、600x1000 にリサイズして訓練データとして使用された。

検出用の深層学習アーキテクチャとして ZF model と RPN model を組み合わせて使っている。ZF の部分は特徴抽出器として利用され、RPN の部分は領域検出と物体分類に使われている。論文の中では、ZF と RPN 以外の組み合わせ、例えば Faster R-CNN + VGG16 や SSD + VGG16 についても試したが、実行時間と予測精度のトレードフを見て、ZF + RPN が最も良かったという結論づけている。

References

  • Boulent J, Foucher S, Théau J, St-Charles PL. Convolutional Neural Networks for the Automatic Identification of Plant Diseases. Front Plant Sci. 2019, 10:941. DOI: 10.3389/fpls.2019.00941
  • Mohanty SP, Hughes DP, and Salathé M. Using deep learning for image-based plant disease detection. Front Plant Sci. 2016, 7:1419. DOI: 10.3389/fpls.2016.01419
  • Ramcharan A, Baranowski K, McCloskey P, Ahmed B, Legg J, and Hughes DP. Deep learning for image-based cassava disease detection. Front Plant Sci. 2017, 8:1852. DOI: 10.3389/fpls.2017.01852
  • Selvaraj MG, Vergara A, Ruiz H, Safari N, Elayabalan S, Ocimati W, Blomme G. AI-powered banana diseases and pest detection. Plant Methods. 2019, 92:4641. DOI: 10.1186/s13007-019-0475-z
  • Li W, Chen P, Wang B, Xie C. Automatic Localization and Count of Agricultural Crop Pests Based on an Improved Deep Learning Pipeline. Sci. Rep. 2019, 9:7024. DOI: 10.1038/s41598-019-43171-0