ココアのお勉強ブログ

技術職の一般人です。趣味でコード書いたりソフト触ったり。

Using Deep Learning for Image-Based Plant Disease Detectionまとめた

Using Deep Learning for Image-Based Plant Disease Detectionを落合フォーマットでまとめました。

どんなもの?

Deep neural networksで植物病害診断の改善を試みた。

データセットは26の病気をもつ14種類の植物画像54,306枚のを用いている(FIGURE 1)。

f:id:hotcocoastudy:20190505011043p:plain

FIGURE 1 | Example of leaf images from the PlantVillage dataset, representing every crop-disease pair used. (1) Apple Scab, Venturia inaequalis (2) Apple Black Rot, Botryosphaeria obtusa (3) Apple Cedar Rust, Gymnosporangium juniperi-virginianae (4) Apple healthy (5) Blueberry healthy (6) Cherry healthy (7) Cherry Powdery Mildew, Podoshaera clandestine (8) Corn Gray Leaf Spot, Cercospora zeae-maydis (9) Corn Common Rust, Puccinia sorghi (10) Corn healthy (11) Corn Northern Leaf Blight, Exserohilum turcicum (12) Grape Black Rot, Guignardia bidwellii, (13) Grape Black Measles (Esca), Phaeomoniella aleophilum, Phaeomoniella chlamydospora (14) Grape Healthy (15) Grape Leaf Blight, Pseudocercospora vitis (16) Orange Huanglongbing (Citrus Greening), Candidatus Liberibacter spp. (17) Peach Bacterial Spot, Xanthomonas campestris (18) Peach healthy (19) Bell Pepper Bacterial Spot, Xanthomonas campestris (20) Bell Pepper healthy (21) Potato Early Blight, Alternaria solani (22) Potato healthy (23) Potato Late Blight, Phytophthora infestans (24) Raspberry healthy (25) Soybean healthy (26) Squash Powdery Mildew, Erysiphe cichoracearum (27) Strawberry Healthy (28) Strawberry Leaf Scorch, Diplocarpon earlianum (29) Tomato Bacterial Spot, Xanthomonas campestris pv. vesicatoria (30) Tomato Early Blight, Alternaria solani (31) Tomato Late Blight, Phytophthora infestans (32) Tomato Leaf Mold, Passalora fulva (33) Tomato Septoria Leaf Spot, Septoria lycopersici (34) Tomato Two Spotted Spider Mite, Tetranychus urticae (35) Tomato Target Spot, Corynespora cassiicola (36) Tomato Mosaic Virus (37) Tomato Yellow Leaf Curl Virus (38) Tomato healthy.

先行研究と比べてどこがすごい?

当時従来の方法と呼ばれていたものは、

  • SIFT

f:id:hotcocoastudy:20190505030623p:plain

局所画像特徴量〜 SIFT, HOG を題材に - 映像情報メディア学会https://www.ite.or.jp/contents/keywords/FILE-20160413114344.pdfより引用
  • SURF

 

www.slideshare.net

HoG

f:id:hotcocoastudy:20190505030906p:plain

局所画像特徴量〜 SIFT, HOG を題材に - 映像情報メディア学会https://www.ite.or.jp/contents/keywords/FILE-20160413114344.pdfより引用

がある。

これらは特徴量を事前に定義しておかなければならないため(手作業)中々ヘビーでしんどい。

だがDeep neural networkはそういった問題を克服できる。

技術や手法のキモはどこ?

葉の原画像color(a, d)に対してグレースケール(b, e)にしたり葉の部分のみ切り取った画像(c, f)をそれぞれ用意して実験を行った。

f:id:hotcocoastudy:20190505011506p:plain

FIGURE 2 | Sample images from the three different versions of the PlantVillage dataset used in various experimental configurations. (A) Leaf 1 color, (B) Leaf 1 grayscale, (C) Leaf 1 segmented, (D) Leaf 2 color, (E) Leaf 2 gray-scale, (F) Leaf 2 segmented.

それぞれ以下を方法組み合わたら計60回の実験設定になる。

ちなみに以下のTransfer Learningというのは今でいう転移学習のこと(多分)である。

AlexNetとGoogLeNetのTransfer LearningはImageNetを用いたpretrainモデルを使ってる。

f:id:hotcocoastudy:20190505012047p:plain

また、ハイパーパラメータは以下を利用した。

  • epoch数 : 30
  • optimizer : SGD(Stochastic Gradient Descent)って書いてあるけど多分Momentum SGD
  • Momentum : 0.9
  • Base learning rate : 0.005

f:id:hotcocoastudy:20190505020718p:plain

Momentum SGD
  • Weight decay : 0.0005
  • Learning rate policy : Step(30/3 epoch = 10ごとに学習率を減らす)
  • Gamma : 0.1
  • Batch size : 24(GoogLeNet), 100(AlexNet)

どうやって有効だと検証した?

FIGURE3は30epoch学習させた時の平均F1スコアとloss関数のグラフをまとめたものである。

f:id:hotcocoastudy:20190505021722p:plain

FIGURE 3 | Progression of mean F1 score and loss through the training period of 30 epochs across all experiments, grouped by experimental configuration parameters. The intensity of a particular class at any point is proportional to the corresponding uncertainty across all experiments with the particular configurations. (A) Comparison of progression of mean F1 score across all experiments, grouped by deep learning architecture, (B) Comparison of progression of mean F1 score across all experiments, grouped by training mechanism, (C) Comparison of progression of train-loss and test-loss across all experiments, (D) Comparison of progression of mean F1 score across all experiments, grouped by train-test set splits, (E) Comparison of progression of mean F1 score across all experiments, grouped by dataset type. A similar plot of all the observations, as it is, across all the experimental configurations can be found in the Supplementary Material.

以下のTABLE 1はその実験の結果である(平均F1スコアで評価)

f:id:hotcocoastudy:20190505022047p:plain

grayscaleは全体的に低い。color(原画像)とsegmented(切り抜き画像)ではわずかにcolorの方が良い結果になっている。

もっともよいモデルはGoogLeNet(Transfer learning)のTRAIN : 80%, TEST : 20%、colorの場合であった。平均F1スコアは0.9934だった。

FIGURE4は(A)にような画像が与えられたときのAlexNet(TrainFromScratch, TRAIN : 80%, TEST : 20%, color)の1番最初の畳み込み層を可視化したもの(B)である。

f:id:hotcocoastudy:20190505022953p:plain

FIGURE 4 | Visualization of activations in the initial layers of an AlexNet architecture demonstrating that the model has learnt to efficiently activate against the diseased spots on the example leaf. (A) Example image of a leaf suffering from Apple Cedar Rust, selected from the top-20 images returned by Bing Image search for the keywords “Apple Cedar Rust Leaves” on April 4th, 2016. Image Reference: Clemson University - USDA Cooperative Extension Slide Series, Bugwood. org. (B) Visualization of activations in the first convolution layer(conv1) of an AlexNet architecture trained using AlexNet:Color:TrainFromScratch:80–20 when doing a forward pass on the image in shown in panel b.

議論はある?

異なった環境下の葉の写真を用いてテストしたら精度が約31%ほどに落ちた。より多くの異なった環境の学習画像を用意しなければならない課題がある。

また今回は1種類(同種)の葉に対して診断を行ったので植物に種類を特定して病気を診断できるようにする必要がある。

次に読むべき論文は?

どなたか教えて下さい