Mobile QR Code QR CODE : The Transactions of the Korean Institute of Electrical Engineers

  1. (Dept. of Electronics Engineering Kangwon National University, Korea.)



CNN, Disease Classification, Inception, Plant disease, Rose

1. 서 론

장미는 예로부터 장미만의 특별한 상징을 지니고 있다. 그 상징은 장미의 색과 송이의 수에 따라 달라지며 꽃도 아름답게 생겨 사람들의 수요가 많다. 졸업식과 같은 행사에서 선물로 사용되며 문학 작품이나 영화에서도 상징적으로 등장하고 있다. 또한, 장미는 고유의 향이 있어 탈취제나 향수같이 향을 내는 제품에도 사용된다. 원예에서 장미는 조건을 맞춰준다면 모든 계절에 꽃이 필 수 있으며 절화용으로도 활발히 재배되고 있어 수요가 높다. 이런 장미의 특성 때문에 수익성 작물로서 재배되고 있다. 그림 1에서도 볼 수 있듯이 절화류 중에서 가장 높은 매출을 보여주고 있으며 국화와 백합이 그 뒤를 따르고 있다 (1).

장미에 병충해는 큰 위협이 될 수 있다. 병충해는 장미의 중요한 부분인 꽃이 떨어지게 하거나 반점을 생기게 하여 상품성을 떨어트린다. 게다가 한 나무에 여러 꽃이 붙어 자라므로 전염이 쉽게 이루어질 수 있다. 병충해는 주변 환경에 따라 다양한 종류로 발생하므로 계속 신경을 써주어야 하는 어려움이 있다. 온도와 습도가 적당할 때는 흰가루병이 발병할 수 있으며 여름 같은 고온기에는 벌레 피해를 볼 수 있고 습도가 높을 때는 노균병에 걸릴 수 있다. 이런 질병과 해충으로 인한 피해를 줄이기 위해서는 병충해 방제가 중요하다. 병충해가 발견되었을 때에는 감염된 부분을 제거하고 약제를 살포하는 것이 주된 방제 방법이다. 하지만 병충해마다 사용하는 약제가 다르고 잘못 살포할 경우 약품에 대한 내성이 생길 수도 있어 올바른 방제법이 필요하다.

그림. 1. 화훼 판매 금액

Fig. 1. Revenue of Flowers in Korea

../../Resources/kiee/KIEE.2020.69.7.1040/fig1.png

병충해에 관한 전문지식이 충분하지 않을 때 방제에 어려움이 생긴다. 방제를 위해선 장미에 걸린 병충해가 어떤 병충해인지 구별하는 과정이 필요하지만 모든 병충해의 증상과 특징을 외우기란 쉽지 않으며 증상이 뚜렷한 병충해가 아니면 정확한 병충해를 구별 못 할 수 있다. 그래서 농가에서는 어떤 병충해인지 알아내기 위해 전문가에게 병충해 분류를 맡긴다. 하지만 시간이 오래 걸릴 수 있어 피해가 커질 수 있다. 그렇기에 농가에서는 전문가의 병충해 식별 이전에 병충해를 알아낼 만한 수단이 필요하다.

식물의 병충해를 탐지하고자 하는 연구는 많이 있으며 방법 또한 다양하다. 먼저 사과의 병충해를 탐지하려고 한 연구가 있다 (2). 탐지하려고 하는 사과의 병충해는 흑균병(Black rot), 알터나리아 곰팡이(Alternaria), 잎굴파리(Leaf miner)로 3종류를 탐지한다. 우선 사과의 잎 이미지를 확보하고 RGB 색 공간인 이미지를 L*a*b* 색 공간으로 변환시켰다. L*은 밝기, a*는 빨강과 초록, b*는 노랑과 파랑을 의미한다. 그 후 K-평균 클러스터링으로 이미지를 나누었다. 분할한 이미지를 색상과 그레이 레벨 동시 발생 행렬(Gray Level Co-occurrence Matrix) 등을 이용하여 수작업으로 70가지의 특징을 추출했다. 분류기를 SVM(Support Vector Machine)으로 설정하고 추출한 특징으로 병충해를 분류할 수 있도록 학습시켰다. SVM 내에서 다항 커널과 RBF(Radial Basis Function) 커널을 사용하여 ANN (Artificial Neural Network)의 병충해를 분류한 결과와 성능 비교를 하였다. 결과를 비교했을 때 SVM의 다항 커널 에러율은 0.42, RBF 커널은 0.2가 나왔으며 ANN은 0.53의 에러율을 보여주었다. ANN보단 SVM으로 학습한 결과가 좋게 나왔으며 SVM 내에서는 다항 커널보다는 RBF 커널이 더 결과가 좋게 나왔음을 확인할 수 있었다. 다른 연구에서는 병충해의 특징 추출을 위해 이미지 분할 알고리즘을 제시하고 MDC(Minimum Distance Classifier)와 SVM을 분류기로 설정하여 병충해를 탐지했다 (3). 이미지 분할은 잎 이미지에서 녹색의 픽셀을 마스킹하고 녹색의 값이 임계값 보다 작은 경우 픽셀에 0을 할당하여 픽셀을 분할 하였다. 그 후 마스크 경계 안의 녹색을 제거하여 병충해를 탐지할 수 있게 하였다. 제시한 이미지 분할 알고리즘과 기존의 K-평균 클러스터링의 성능을 비교하기 위해 바나나, 콩, 레몬, 장미 데이터에서 15장을 뽑아 학습시켰다. MDC를 분류기로 하여 결과를 확인했을 때 K-평균 클러스터링의 탐지 정확도는 0.87, 제시한 이미지 분할 알고리즘은 0.94으로 제시한 알고리즘의 우수성을 증명하였다. 그 후 5가지의 병충해를 분류했으며 평균 정확도는 0.98으로 좋은 결과를 내었다. 다른 방식으로 이미지 분할 기법을 사용하고 OCSVM (One-Class Support Vector Machine)으로 잎을 훈련시킨 연구도 있다 (4). 19가지의 식물의 정상을 포함한 4종류 병충해를 분류하였다. 전경을 분리하는 GrabCut 알고리즘으로 잎을 분리하고 LBP(Local Binary Pattern) 알고리즘을 통해 특징을 추출하여 OCSVM으로 병충해를 학습시켰다. 학습한 결과 총 정확도가 0.95로 높은 수치를 보였다. 주로 이미지 분할과 같은 전처리 기법을 사용해 병충해의 특징을 추출하고 다양한 분류기를 통해 병충해 탐지를 한 모습을 볼 수 있다. 하지만 위 연구들의 확보한 병충해의 데이터가 많지 않아 학습에 사용한 데이터가 적으며 수작업으로 특징을 추출했기 때문에 다른 환경의 데이터를 예측할 때 제대로 분류하지 못할 수 있다. 농작물의 병충해 탐지 연구에 비해 화훼 병충해 탐지 연구는 많지 않다. 화훼는 주로 영상처리를 이용하여 꽃의 분류를 하는 연구를 찾아볼 수 있다. 꽃의 병충해 탐지 또한 농작물의 병충해 탐지처럼 잎을 이용하여 분류할 수 있으므로 영상처리를 통해 병충해를 분류할 수 있을 것이다.

본 논문에서는 영상을 기반으로 한 장미잎 병충해 탐지 시스템을 제안한다. 병충해에 걸린 장미의 잎 데이터를 확보하고 딥러닝 모델을 활용하여 장미 병충해를 분류한다. 실제 농가에서 적용할 수 있도록 잎만 촬영한 실험실 이미지뿐만 아니라 농가에서 찍은 농가 이미지도 같이 포함하여 학습시켰다. 농가 이미지는 실험실 이미지와 다르게 변하는 배경이 존재하여 이미지의 복잡성이 높아진다. 장미 잎사귀의 사진으로 병충해를 식별하여 방제할 수 있다면 많은 인력이 필요하지 않게 되며 시간 또한 절약할 수 있어 피해를 최소화할 수 있다.

2. 이론 및 방법

2.1 학습 네트워크

CNN(Convolutional Neural Network)은 컨볼루션 연산을 통해 특징을 추출해 학습하는 네트워크 구조이다 (5). 음성이나 이미지 처리에서 주로 사용되고 있다. CNN의 구조는 입력과 출력, 은닉층으로 구성되어 있다. 입력에는 특징을 추출하고자 하는 영상이나 음성이 들어가며 은닉층은 컨볼루션과 풀링같은 연산을 하고 연산이 끝난 결과는 출력을 통해 나오게 된다. 기존의 기계학습의 방식인 이미지 전처리를 통한 특징 추출 단계와 추출된 특징을 학습하는 단계가 구분되어있지 않고 하나의 네트워크 안에 특징 추출 단계와 분류기가 포함되어있다. CNN에서 특징을 추출하고 범주를 분류하는 과정은 다음과 같다. 데이터가 입력으로 들어오면 은닉층 안에서 컨볼루션 연산을 하여 특징 맵을 얻어낸다. 특징 맵의 값을 평균이나 최대 풀링 과정을 통해 대표적인 특징을 선택하고 맵의 크기를 감소시킨다. 이러한 과정들을 반복하여 최적의 특징을 추출하고 학습시켜 완전 연결 층에서 범주들을 분류한다. 층의 끝에는 활성 함수를 두어 값을 다음 층으로 변환하여 전달하거나 답을 출력한다. 그림 2에 CNN 구조를 정리했다. CNN에 관한 연구는 꾸준히 연구되고 있으며 구조를 변형하여 더 좋은 성능을 내는 네트워크들이 많이 제시되었다.

이번 연구에서 사용한 딥러닝 네트워크는 구글에서 개발한 Inception 모델을 사용하였다 (6). Inception은 컨볼루션 기반 네트워크이며 ImageNet의 1000개의 범주를 분류하는 2014 ILSVRC에서 우승하여 처음 등장하였다. Inception은 전에 제시되었던 AlexNet이나 ZFNet (7)보다 학습 망을 더 깊게 설계하여 성능을 높였다. 하지만 망을 깊게 설계하면 매개변수가 증가하기 때문에 네트워크가 과적합 될 수 있으며 계산 비용이 많이 증가한다. Inception에서는 계산량을 줄이기 위해 인셉션 모듈을 제안했다. 인셉션 모듈은 NIN(Network In Network) 구조의 영향을 받아 컨볼루션과 풀링 연산을 포함해 작은 네트워크를 구성하고 Concat을 통해 연산값을 합쳐 모듈을 구성했다 (8). 1X1 컨볼루션 망을 이용하여 레이어의 채널 크기를 줄인 후 3X3이나 5X5의 컨볼루션 연산을 하였고 7X7같이 크기가 커서 계산량이 많은 컨볼루션 망은 여러 개의 3X3 컨볼루션 망으로 대체하였다. 또한, nXn의 컨볼루션 망을 nX1, 1Xn의 연산으로 바꿔 계산량을 줄이고자 하였다. 본 논문에서는 이런 구조를 개선하고 최적화한 Inception V4를 사용하였다 (9). Inception V4는 첫 번째 컨볼루션 레이어인 stem layer의 구조를 변경했으며 인셉션 모듈 3종류를 사용하였다. 인셉션 모듈 다음에는 특징 맵의 크기를 줄이는 2종류의 Reduction층을 두었다.

그림. 2. CNN 구조

Fig. 2. CNN structure

../../Resources/kiee/KIEE.2020.69.7.1040/fig2.png

2.2 데이터 세트 및 학습

딥러닝을 통한 병충해 탐지의 결과가 좋아지기 위해서는 데이터가 중요하다. 데이터의 개수가 많아지고 다양해지면 그만큼 새로운 특징을 추출할 수 있어 성능이 좋아진다. 그래서 학습에 사용할 다양하고 양이 많은 데이터의 확보가 필요하다. 본 논문에서는 학습에 사용할 장미의 이미지를 과학기술정보통신부에서 주관하는 AI Open Innovation Hub (AI Hub)에서 확보하였다 (10). 데이터는 8가지의 병충해로 구성되어 있다. 데이터의 양이 너무 적은 병충해는 다른 병충해에 비해 학습이 제대로 되지 않기 때문에 일정 개수 이상의 병충해를 골라 학습에 사용하였다. 학습에 사용한 병충해는 6가지로 흑균병(Black rot), 노균병(Downy mildew), 나방류 애벌레(Leaf bite), 정상(Normal), 흰가루병(Powdery mildew), 점박이응애(Two spotted spider mite)가 있다. 선택한 장미 병충해들의 이미지 개수는 총 13,125개이며 그중에서 80%인 10,500장을 학습에 사용하였으며 남은 20%는 학습된 모델의 성능검증에 사용되었다.

데이터의 형태는 농가에서 찍은 농가 데이터와 잎만 촬영한 실험실 데이터로 이루어져 있다. 농가 이미지와 실험실 이미지의 형태는 그림 3에 나타내었다.

그림. 3. 잎 이미지 형태

Fig. 3. Type of Leaf image data

../../Resources/kiee/KIEE.2020.69.7.1040/fig3.png

전체 13,125 이미지 중 농가 데이터는 9,836장, 실험실 데이터는 3,289장이 있으며 학습 데이터에는 각각 7,855/2,645장, 테스트 데이터에는 각각 1,981/644장으로 구성되어 있다. 가장 데이터 개수가 적은 병충해는 흑균병으로 총 36장이 있고 학습에는 29장이 쓰였다. 정상이 8,295장으로 데이터 중에서 가장 많았으며 학습에는 6,636장이 사용되었다. 자세한 데이터 구성은 표 1에 정리하였다.

표 1. 데이터 베이스 정보 및 수량

Table 1. Types and numbers of database images

../../Resources/kiee/KIEE.2020.69.7.1040/tbl1.png

3. 연구 결과

시스템의 성능을 평가하기 위해 테스트 세트에서 정상을 포함하여 다섯 종류의 병충해와 정상 이미지를 분류한다. 이미지의 특징을 추출하고 병충해를 분류해낼 네트워크는 Inception V4를 선택하였다. 예측 결과 중에 1순위로 예측한 것을 정답으로 하여 성능을 평가한다. 이 과정은 그림 4에 나타내었다.

표 2. 장미잎 병충해 분류 결과

Table 2. Results of Rose Leaf Disease Classification

../../Resources/kiee/KIEE.2020.69.7.1040/tbl2.png

그림. 4. 병충해 학습 및 분류 과정

Fig. 4. The flowchart of disease classification

../../Resources/kiee/KIEE.2020.69.7.1040/fig4.png

학습된 모델의 성능은 전체 데이터 세트에서 학습에 사용하지 않은 20%의 테스트 데이터 세트를 통해 검증하였다. 학습된 모델에 테스트 데이터를 넣어 예측한 결과를 범주별로 정리했고 결과는 표 2에 정리하였다. 테스트 데이터 전체 2,625장 중에서 2,608장을 맞춰 0.99의 정확도를 보였다. 하지만 테스트 데이터가 불균형한 데이터이기 때문에 수치에 정상과 같은 양이 많은 데이터의 영향이 있다. 그래서 정확도는 모델의 성능을 대표하지 못한다고 판단하여 혼동행렬을 사용하여 모델을 평가하였다. 예측한 정답 중에서 실제 정답의 비율인 Precision과 실제 정답 중에서 예측한 정답의 비율인 Recall 값을 구한 후 조화평균을 사용한 F1 score를 구하여 모델의 성능을 평가하였다. Precision, Recall과 F1 Score를 구하는 식은 다음과 같다.

(1)
$"Precision"=\dfrac{TP}{TP +FP}$

(2)
$"Recall"=\dfrac{TP}{TP+FN}$

(3)
$"F" "1" "Score"=2\times\dfrac{"Precision"\times "Recall"}{"Precision"+"Recall"}$

위 수식들로 범주별 Precision과 Recall 값을 구하였다. 구한 값은 표 3에 정리했다. Precision과 Recall 값들의 전체적인 평균을 구했을 때 Precision은 0.99, Recall은 0.97의 값이 나왔다. 두 값을 토대로 모델의 전체적인 성능인 F1 Score를 구하면 0.98의 높은 수치를 보인다.

예측 결과에서 노균병의 Recall 수치가 다른 병충해에 비해 낮은 모습을 보였다. 하지만 이는 노균병의 테스트 데이터의 수가 적어 하나의 오류가 수치에 크게 반영된 것이다. 흰가루병은 15장의 가장 많은 예측 오류를 보였다. 흰가루병의 경우 잎에 흰색의 가루가 묻은 것 같은 증상을 보여 육안으로도 충분히 구별할 수 있지만, 나방류 애벌레로 잘못 예측한 경우가 많았다. 이는 흰색 가루를 나방류 애벌레가 파먹은 것으로 인식하여 잘못 분류하였다. 또한, 점박이 응애로도 잘못 분류하였는데 점박이 응애의 증상은 잎의 엽록소를 파먹어 잎의 변색을 관찰할 수 있다. 흰가루병을 점박이 응애로 예측한 잎의 사진을 보면 흰가루병으로 인한 변색으로 옅은 녹색과 갈색으로 변한 잎의 모습을 볼 수 있어 점박이 응애로 잘못 분류하였다.

실제 농가의 적용을 위해 테스트 데이터 중에서 잎만 있는 실험실 이미지를 제외하고 농가 데이터만을 사용하여 다시 성능검증을 하였다. 그 결과는 표 4에 정리하였다. 결과를 보면 전체 테스트 데이터보다 결과가 조금씩 안 좋아진 것을 볼 수 있으며 특히 나방류 애벌레의 Precision 값은 0.57로 매우 낮다. 흰가루병에서 나방류 애벌레로 잘못 분류한 데이터의 유형이 모두 농가 데이터이며 나방류 애벌레의 농가 데이터가 적어 수치에 영향을 많이 주었다. 또한, 나방류 애벌레의 학습 농가 데이터가 적어 나방류 애벌레만의 특징을 많이 학습하지 못했을 것으로 예측된다. 농가 데이터의 Precision과 Recall의 값은 0.92와 0.97로 괜찮은 예측 성능을 보여주며 실제 농가에도 적용할 수 있을 것이다.

표 3. 성능 평가 결과

Table 3. Result of Performance evaluation

../../Resources/kiee/KIEE.2020.69.7.1040/tbl3.png

표 4. 농가 데이터 성능 평가 결과

Table 4. Result of Field condition data performance evaluation

../../Resources/kiee/KIEE.2020.69.7.1040/tbl4.png

4. 결 론

장미는 화훼 산업 중에서 판매 금액으로 높은 순위를 유지하고 있어 대표적인 수익성 작물로 자리 잡고 있다. 하지만 장미에 병충해를 입으면 상품성이 떨어져 농가에 피해를 준다. 병충해를 방제하기 위해서는 병충해 탐지가 중요하지만, 병충해 대부분은 눈으로 탐지하는 경우가 많아서 전문가가 아니라면 탐지하기가 쉽지 않다. 병충해 방제가 늦어진다면 다른 작물까지 전염되어 피해가 커질 수 있다. 이를 방지하기 위해 본 논문에서는 전문가의 병충해 분류 이전에 장미 농가에 일차적인 병충해 탐지를 할 방법을 연구했다. 데이터는 장미 잎사귀의 이미지를 사용했고 네트워크는 Inception V4를 이용하여 딥러닝 모델을 학습시켰다. 학습한 분류 시스템의 성능은 Precision, Recall을 구하여 평가하였다. Precision과 Recall의 값은 각각 0.99와 0.97의 수치가 나왔다. Precision과 Recall의 평균값으로 모델의 전체적인 성능인 F1 Score의 값을 구했다. F1 Score는 0.98로 병충해 분류 모델의 좋은 성능을 보여주었다.

잎을 통해 병충해를 분류하면 병충해 식별까지 걸리는 시간을 절약할 수 있으며 정확한 방법으로 방제가 가능해진다. 농가에서는 잎의 사진을 찍는 것으로 병충해를 알아낼 수 있으며 조기에 탐지할 수 있어 작물 피해를 줄일 수 있다. 식물과 병충해의 종류를 확장하여 학습시켜 나간다면 다른 농장에서의 적용도 가능해질 것이다.

Acknowledgements

This work was supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIT) (No. 2017R1E1A1A03070297). This research was supported by the MSIT (Ministry of Science and ICT), Korea, under the ITRC (Information Technology Research Center) support program (IITP- 2020-2018-0-01433) supervised by the IITP (Institute for Infor- mation & communications Technology Promotion).

References

1 
Ministry of Agriculture, Food and Rural Affairs, , Flower cultivation research.Google Search
2 
E. Omrani, B. Khoshnevisan, S. Shamshirband, H. Saboohi, N. B. Anuar, M. H. N. M. Nasir, 2014, Potential of radial basis function-based support vector regression for apple disease detection, Measurement, Vol. 55, pp. 512-519DOI
3 
V. Singh, A. K. Misra, 2017, Detection of plant leaf diseases using image segmentation and soft computing techniques, Information processing in Agriculture, Vol. 4, No. 1, pp. 41-49DOI
4 
X. E. Pantazi, D. Moshou, A. A. Tamouridou, 2019, Automated leaf disease detection in different crop species through image features analysis and One Class Classifiers, Computers and electronics in agriculture, Vol. 156, pp. 96-104DOI
5 
A. Krizhevsky, I. Sutskever, G. E. Hinton, 2012, Imagenet classification with deep convolutional neural networks, Advances in neural information processing systems., pp. 1097-1105Google Search
6 
C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, A. Rabinovich, 2015, Going deeper with convolutions, The IEEE Conference on Computer Vision and Pattern Recognition, pp. 1-9Google Search
7 
Matthew D. Zeiler, Rob Fergus, 2014, Visualizing and understanding convolutional networks, European conference on computer vision, pp. 818-833DOI
8 
M. Lin, Q. Chen, S. Yan, 2013, Network in network, arXiv: 1312.4400Google Search
9 
C. Szegedy, S. Ioffe, V. Vanhoucke, A. A. Alemi, 2017, Inception-v4, inception-resnet and the impact of residual connections on learning, Thirty-first AAAI conference on artificial intelligence.Google Search
10 
AI Open Innovation Hub, http://www.aihub.or.kr/Google Search

저자소개

함현식(Hyun-sik Ham)
../../Resources/kiee/KIEE.2020.69.7.1040/au1.png

He is currently working toward the B.S. and M.S. degree in Department of Electronic Engi- neering from Kangwon National University, South Korea.

조현종(Hyun-chong Cho)
../../Resources/kiee/KIEE.2020.69.7.1040/au2.png

He received his MS and PhD degrees in Elec- trical and Computer Engineering from the University of Florida, USA in 2009.

During 2010-2011, he was a Research Fellow at the University of Michigan, Ann Arbor, USA.

From 2012 to 2013, he was a Chief Research Engi- neer in LG Electronics, South Korea.

He is currently a professor with the Department of Electronics Engineering and Interdisciplinary Graduate Program for BIT Medical Convergence, Kangwon National University, South Korea.