딥러닝 알고리즘을 이용한 토마토에서 발생하는 여러가지 병해충의 탐지와 식별에 대한 웹응용 플렛폼의 구축

A Construction of Web Application Platform for Detection and Identification of Various Diseases in Tomato Plants Using a Deep Learning Algorithm

Article information

J Korean Soc Qual Manag. 2020;48(4):581-596
Publication date (electronic) : 2020 December 25
doi : https://doi.org/10.7469/JKSQM.2020.48.4.581
*Department of Statistic, Chonnam National University
**Department of Electronic Engineering, Mokpo National University
나명환*, 조완현*, 김상균**,
*전남대학교 통계학과
**목포대학교 전자공학과
Corresponding Author (narciss76@mokpo..ac.kr)
※This work was supported by the Research Program of Rural Development Administration (Project No. PJ015337012020) and the Korea National Research Foundation (Project No. NRF-2020R1F1A1067066) of the Korea Grant funded by the Korean Government.
Received 2020 September 11; Revised 2020 November 19; Accepted 2020 November 25.

Trans Abstract

Purpose

purpose of this study was to propose the web application platform which can be to detect and discriminate various diseases and pest of tomato plant based on the large amount of disease image data observed in the facility or the open field.

Methods

The deep learning algorithms uesed at the web applivation platform are consisted as the combining form of Faster R-CNN with the pre-trained convolution neural network (CNN) models such as SSD_mobilenet v1, Inception v2, Resnet50 and Resnet101 models. To evaluate the superiority of the newly proposed web application platform, we collected 850 images of four diseases such as Bacterial cankers, Late blight, Leaf miners, and Powdery mildew that occur the most frequent in tomato plants. Of these, 750 were used to learn the algorithm, and the remaining 100 images were used to evaluate the algorithm.

Results

From the experiments, the deep learning algorithm combining Faster R-CNN with SSD_mobilnet v1, Inception v2, Resnet50, and Restnet101 showed detection accuracy of 31.0%, 87.7%, 84.4%, and 90.8% respectively. Finally, we constructed a web application platform that can detect and discriminate various tomato deseases using best deep learning algorithm. If farmers uploaded image captured by their digital cameras such as smart phone camera or DSLR (Digital Single Lens Reflex) camera, then they can receive an information for detection, identification and disease control about captured tomato disease through the proposed web application platform.

Conclusion

Incheon Port needs to act actively paying

1. 서 론

토마토는 전세계적으로 가장 인기가 높은 야채 과일로서 우수한 항산화력과 혈관질환 예방, 항암, 다이어트, 피부 개선, 골다공증 등에 개선 효과를 가지고 있으며 이러한 효능 덕분에 세계에서 가장 건강한 식품으로 선정되었다.

토마토는 사람들이 직접 생으로 먹기도 하고 다양한 요리의 재료로 사용되기도 한다. 따라서 토마토는 농부들에게 매우 경제적으로 부가가치가 높은 농산물로 생각되고 있다. 따라서 농부들은 일년 내내 시설에서 토마토를 재배하고 생산할 수 있기를 바라고 있다. 이러한 경우에 좋은 품질과 맛좋은 토마토를 생산하기 위해서는 성장에 영향을 미치는 다양한 요인들에 대한 효과적인 관리가 필요하다. 이러한 요인들로는 온도, 습도, 햇빛과 같은 환경 요인들 뿐만 아니라 생육발달에 영향을 크게 미치는 병충해 발생 등 다양한 요인들이 포함된다. 그 중에서 토마토 수확량에 가장 큰 영향을 미치는 요인으로는 병충해 발생이며 이들에 대한 빠른 진단과 처방만이 수확량을 향상시키는 가장 결정적인 요인이라고 할 수 있다.

일반적으로 병해충은 식물의 잎, 줄기, 뿌리, 열매 등 다양한 곳에서 발생할 수 있다. 특히 토마토에서 발생하는 가장 흔한 질병으로는 세균성 궤양병, 잎 마름병, 흰가루병, 잎나방벌레 등이 있다. 다양한 병충해로부터 재배중인 과일이나 채소를 보호하는 것은 농산물의 품질과 수확량을 보장하는데 가장 필수적 요소이다. 성공적인 예방 전략은 조기 발견 및 적절한 처방으로 병충해 확산을 최대한 방지하는 것이다.

그러나 현실적으로 실전 경험이 풍부한 농부들일지라도 병충해의 증상과 원인에 대한 조기 발견은 매우 어려운 작업이다. 또한 농민들은 질병과 해충의 확산을 조기에 발견하고 예방하기 위해 식물을 지속적으로 모니터링해야 한다. 그런데 이러한 지속적인 관찰은 농부들에게 매우 힘들고, 시간이 많이 들어가는 비효율적인 작업이라 할 수 있다. 더불어 농민들이 질병과 해충을 수동적으로 탐지하기 때문에 질병을 오인하거나 정확한 방제 시기를 놓치는 경우가 발생한다. 따라서 질병과 해충으로부터 식물을 효과적으로 보호하기 위해서는 자동화된 감지와 식별 방법이 필요하다.

따라서 본 연구에서는 딥 러닝 알고리즘을 이용하여 토마토 병충해를 자동으로 검출하고 판별할 수 있는 병충해 판별 서비스 구축 모델을 제안한다. 먼저, 우리는 토마토에서 발생 가능한 다양한 병충해에 대한 이미지 데이터를 수집하고 학습 데이터를 준비하였다. 둘째, 토마토에서 병충해 탐지를 위한 최적의 딥러닝 플렛폼을 구축하기 위해 다양한 CNN 기반 특징 추출자와 Faster R-CNN을 결합한 딥러닝 모델을 제안하고, 이들에 대한 성능을 평가한다. 마지막으로 최적의 딥러닝 알고리즘을 이용하여 농가 현장에서 사용할 수 있는 스마트팜 병충해 판별을 위한 웹응용 플랫폼을 개발하여 보급한다.

2. 이론적 배경 및 선행연구

먼저, 우리는 딥 러닝 알고리즘을 사용하여 식물의 병해충 검출 및 판별에 대한 사전 연구들을 간략하게 고찰해 보자. 가장 최근에 발표한 리뷰 논문은 Saleem et al.(2019)에 의해서 저술된 논문을 생각할 수 있다. 이 논문에서 저자들은 다양한 식물 질병을 식별하는데 사용되는 딥러닝 모델에 대한 포괄적인 소개를 기술하고 있다. 또한 저자들은 증상이 분명히 나타나기 전에 식물의 질병을 조기에 발견하기 위해 더 높은 투명성을 얻는 연구들 간의 차이점을 논술하였다. 다음으로 이 주제에 대한 두번째 리뷰 논문은 Patil과 Gulvani(2019)들에 의해서 저술된 논문이 있다. 이 논문에서 저자들은 식물의 잎과 열매에서 발생하는 질병을 탐지하는 다양한 선행 연구 결과들을 소개하였다. 그리고 이 주제에 대한 세번째 리뷰 논문은 Golhani et al.(2018)에 의해서 저술되었다. 이 논문에서 저자들은 초분광 데이터를 사용하여 식물 질병을 감지하는 데 사용할 수 있는 다양한 고급 인공신경망 방법들을 고찰하였다. 또한 그들은 신경망과 하이퍼스펙트럼 데이터의 조합이 식물 질병 탐지 및 식별을 위해서 매우 강력한 도구로 사용될 수 있다고 제안하였다.

지금까지 고찰한 세 건의 리뷰 논문 외에도 딥러닝 모델을 활용한 일반적인 식물의 병해충 검출 및 판별에 관한 다양한 연구 논문들이 발표되었다. Toda와 Okura(2019)는 인터넷에 게시된 식물 질병 영상들을 사용하여 제안된 컨벌루션 신경망(CNN)을 학습하고 다양한 뉴런과 레이어간의 시각적인 방법을 이용하여 효과적으로 평가했다. 또한 그들은 신경망이 인간의 의사 결정과 유사하게 진단된 모든 질병의 색과 질감을 포착할 수 있음을 보여주었다. Turkoglu와 Hanbay(2019)는 식물 질병 탐지를 위한 아홉가지 강력한 딥 러닝 알고리즘들의 성능을 비교했다. 평가에서 그들은 딥 러닝 특징 추출과 서포트 벡터 머신(SVM) 및 익스트림 러닝 머신(ELM) 분류기를 조합하여 수행한 식물 질병 감지가 전이 학습보다 더 나은 성능을 보여 주었다는 것을 발견하였다. Akila와 Deepan(2018)은 가장 널리 사용되는 세 가지 딥 러닝 기술인 Faster R-CNN, 영역 전체 컨볼루션 네트워크 및 단일 샷 멀티박스 탐지기를 기반으로 식물의 잎 질병을 효과적으로 탐지 할 수 있는 시스템을 제안하였다. Hanson et al.(2017)은 새로운 접근 방식을 제안하고 심층 컨볼루션 신경망을 사용하여 식물의 잎 영상을 기반으로 식물 질병을 인식하는 모델을 개발하였다. Sladojevic et al.(2016)은 딥 러닝 알고리즘을 사용한 식물 질병 감지에 대한 비슷한 논문을 발표하였다. 이들은 심층 컨볼루션 네트워크를 사용하여 13 종의 식물 질병을 인식하고 식물 잎을 주변과 분리하는 새로운 접근 방식을 제안하였다. 그밖에 이승훈 등(2020)은 광업 데이터의 시계열 분석을 통해 실리카 농도를 예측하기 위한 머신러닝 모델을 제안하였으며, 노유찬 등(2020)은 데이터 마이닝을 활용한 장기저장탄약 상태 결정요인 분석 방법을 제안하였다.

다음으로 우리는 딥 러닝 알고리즘을 이용한 토마토 질병 탐지 및 식별 문제에 대한 선행연구들을 고찰해보자. Wang et al.(2019)는 딥 러닝 알고리즘과 물체 감지 방법을 모두 사용하여 토마토 질병에 대한 감지 알고리즘을 개발하였다. 그들은 Faster R-CNN과 마스크 R-CNN의 두 가지 모델을 사용했다. 여기서 Faster R-CNN은 토마토 질병의 유형을 식별하는 데 사용되었으며 마스크 R-CNN은 식물에서 질병의 위치와 모양을 감지하고 구분하는 데 사용되었다. Fuentes et al.(2018)은 토마토 식물 질병 및 해충을 인식하기 위한 정제된 필터 뱅크 프레임 워크를 구현하여 오류 탐지 및 클래스 불균형을 해결하기 위한 시스템을 제안하였다. Ashqar와 Abu-Naser(2018)는 제한된 조건하에서 수집된 감염된 또는 건강한 토마토 잎 9000 개 영상 데이터세트를 사용하여 다섯가지 질병을 식별할 수 있는 심층 컨볼루션 신경망을 제안하였다. 제안된 모델을 학습한 후 별도의 검증 데이터를 사용하여 99.84%의 정확도를 달성할 수 있음을 확인하고 접근 방식의 타당성을 입증하였다.

마지막으로 지금까지 개발된 다양한 딥 러닝 알고리즘을 사용하여 식물 또는 작물의 질병 및 해충을 식별하기 위한 웹 애플리케이션을 개발한 몇가지 연구들을 고찰해 보자. Rishiikeshwer et al.(2019)은 고급 딥러닝 기술을 사용하여 잎의 이상을 조기에 진단하는 농부 친화적인 모바일 애플리케이션을 개발하였다. 그들이 개발한 모바일 애플리케이션은 400 개의 실제 잎 영상에서 최대 95 %의 정확도를 보여주었으며 3600 개의 증강 데이터 세트에서 최대 98 %의 정확도를 보여주었다. Verma et al.(2019)은 6 가지 CNN 모델(Inception, VGG16, VGG19, ResNet v2, ResNet50, Xception)을 기반으로 식물 질병을 식별할 수 있는 모바일 웹 애플리케이션을 개발하였다. 또한 10 개의 분류 라벨이 있는 18,160 개의 토마토 잎 영상들을 사용하여 개발된 모바일 애플리케이션의 성능을 비교한 결과 ResNet50이 최고의 정확도를 보이는 것을 확인하였다. Lu et al.(2017)는 약한 지도학습 딥 러닝 프레임 워크를 기반으로 노지에서 자란 밀의 질병을 자동으로 식별할 수 있는 진단 시스템을 개발하였다.

3. 병충해 영상자료의 준비

3.1 영상자료의 수집

딥 러닝 알고리즘을 사용하여 토마토 질병을 감지하는 첫 번째 단계는 병충해 영상 데이터 수집이다. 이것은 데이터 중심 애플리케이션을 개발하는데 있어 매우 중요한 단계이다. 온실에서 재배되고 있는 토마토 식물에서 발생 가능한 대표적인 4가지 질병인 세균성궤양병(Bacterial canker), 역병(Late blight), 잎나방벌레(Leaf miner) 그리고 흰가루병(Powdery mildew)들에 대한 약 850 장의 영상을 수집하였다. 수집된 영상들 중에는 4 가지 유형의 질병이 중복적으로 나타날 수 있으며 단일 영상내에서도 동일 질병이 여러군데 나타나고 있다. 우리의 실험에 사용된 데이터 세트 속에 포함된 총 질병의 수는 표 1에 주어져 있다. 또한 그림 1은 4 가지 유형의 토마토 질병에 대한 대표적인 영상들을 보여주고 있다.

The number of the types of disease in the collected images

Figure 1.

Representative images of four types of tomato diseases

3.2 주석 XML의 생성

두 번째 중요한 작업은 수집된 영상에 병충해가 발생한 영역에 바운딩 박스와 레이블을 지정하는 것이다. 딥 러닝 알고리즘의 학습 데이터로 사용하기 위하여 수집된 영상에서 질병에 대한 부가적인 정보없이 농업 전문가의 경험에 의해서 질병의 라벨링이 수행되었다. 그림 2는 라벨링 프로세스의 일부로 각 영상에서 질병의 유형과 영역을 나타내는 주석 XML을 생성하기 위한 전체 과정을 간략하게 보여주고 있다.

Figure 2.

Generation process of annotation XML

딥러닝 알고리즘을 학습하려면 이미지 및 XML 주석 파일이 입력으로 필요하다. XML의 주석 파일에는 각 이미지에 포함되어 있는 질병 클래스에 대한 몇 가지 정보가 포함되어 있어야 한다. 대표적인 정보로는 영상의 크기 (너비 및 높이), 클래스의 경계 상자 좌표 (x, y, w, h) 및 클래스 이름을 포함하고 있다. 하나의 영상에서 여러 개의 질병들이 발생할 수 있다. 이러한 경우, 우리는 각 병충해 영역에 대해 경계 상자와 병충해 이름을 각각 다른 객체로 지정하였다. 각 주석 파일은 학습 과정에서 원활한 동작을 위해 영상 파일의 이름과 동일하게 저장하였다. 주석 파일에는 하나 이상의 병충해에 대한 정보가 포함되어 있으며 다양한 도구를 사용하면 보다 쉽게 XML 주석 파일을 제작할 수 있다. 다음 그림 3은 바운딩 박스 형태로 토마토 잎에서 발생하는 질병들의 위치와 크기, 종류를 나타내고 있다.

Figure 3.

Examples of the form of a bounding box of diseases occurring in tomato leaves

4. 웹 응용 프로그램 개발

일반적으로 경험이 풍부한 농부들에게도 작물 해충이나 질병을 조기에 탐지하는 작업은 결코 쉬운 일이 아니다. 또한 농촌의 고령화로 인하여 병충해 판별과 방제에 대한 지식이 매우 부족한 실정이다. 이러한 문제를 해결하기 위해 작물의 이미지를 통해 병충해를 탐지 및 판별하여 적절한 방제 정보를 제공할 수 있는 스마트팜 플랫폼 개발에 대한 요구가 증가되고 있는 실정인다. 또한 현재의 농촌의 고령화 실정을 반영하여 사용하기 쉬운 인터페이스의 제공이 필수적이다.

따라서 본 연구에서는 농부가 쉽게 농장에서 스마트폰이나 일반 카메라로부터 촬영된 영상을 웹서버에 업로드하여 병충해가 발생한 영역을 검출하고 판별하여 적절한 방제 정보를 제공할 수 있는 스마트팜 플랫폼을 구축하고자 한다. 제안된 스마트팜 플랫폼은 딥러닝 알고리즘에서 널리 이용되고 있는 ResNet 모델과 Faster R-CNN을 결합하여 병충해에 대한 정보를 학습하였고 개발된 웹플랫폼에 탑재하여 실제 현장에서 활용할 수 있는 방법을 제시하고자 한다. 먼저 우리는 간단히 우리의 스마트팜 플랫폼 개발에 사용된 두가지 딥러닝 알고리즘인 ResNet 모델과 Faster R-CNN 모델에 대한 각각 구조와 성능에 대해서 대략적으로 고찰해보려고 한다.

4.1 ResNet

ResNet (잔차 학습이라고도 함)은 Microsoft Research Institute에서 제안한 네트워크이다. 바로 가기 연결 및 ID 매핑과 같은 새로운 용어를 기존 CNN 구조에 추가하고 152 개 계층의 깊은 구조를 가지고 있다. ResNet 설계팀은 네트워크를 100 개 이상의 계층으로 심화하여 딥 러닝 효과를 최대한 달성하는 방법을 고려하여 잔여 학습이라는 새로운 학습 방법을 발표했다.

ResNet은 CNN의 출력을 직접 사용하는 대신 입력과 출력을 새로운 출력으로 결합하여 가중치 계층을 훈련시키는 방법으로 이것이 잔여 학습의 기본 개념이다. 과거의 딥러닝 알고리즘과 차이점은 입력에서 출력으로의 단축 연결이 있다는 것이다. 이 단축키는 매개 변수가 없는 직접 연결이므로 덧셈 계산 측면에서 덧셈을 제외하고는 기존 CNN과 차이가 없다. 네트워크를 설계하기 위해 ResNet 팀은 대부분의 컨볼루션 계층에서 3x3 커널만을 사용했다. 출력 피쳐 맵의 크기가 같으면 모든 레이어의 필터 수가 동일하다. 기능 맵의 크기가 절반으로 줄어들면 계산량의 균형을 맞추기 위해 필터 수가 두 배가 된다. 또한 복잡성을 줄이기 위해 최대 풀링, 숨겨진 완전 연결 레이어 또는 드롭 아웃을 사용하지 않았다.

잔여 네트워크의 구조를 단순화하기 위해 단축 연결은 다른 모든 컨볼루션 계층을 연결한다. ResNet 팀은 또한 18, 34, 50, 101 및 152 레이어 실험을 수행하였다. 그림 4는 34 계층 일반 네트워크와 ResNet 구조의 차이점을 보여주고 있다.

Figure 4.

Architecture of typical Plain net and ResNet

4.2 Faster R-CNN

최근에는 컨볼루션 뉴럴 네트워크을 이용한 객체 검출을 위한 다양한 방법들이 제안되고 있다. 그 중에서 가장 잘 알려진 방법으로 R-CNN 알고리즘이 있다. R-CNN 알고리즘은 선택적 검색 알고리즘을 사용하여 이미지내에서 약 2,000개의 영역을 선택하고 독립적으로 CNN 알고리즘을 이용하여 분류를 수행한다. 그러나 이러한 방법은 약 2,000개의 영역에서 CNN 알고리즘을 적용하여 각 영역에 대해 독립적으로 특징 벡터를 추출하기 때문에 많은 계산을 수행해야하는 단점이 있다.

이러한 R-CNN 알고리즘의 단점을 해결하기 위한 방법으로 Faster R-CNN 알고리즘이 제안되었다(Ren et al. 2015). 선택적 검색 알고리즘을 CNN 알고리즘 자체로 대체하고 임시 영역을 제공하는 RPN(지역 제안 네트워크)을 생성하여 문제를 해결하였다. 이 경우 CNN을 통과하는 특성맵의 슬라이딩 윈도우를 이용하여 각 앵커에 대한 바운딩 박스의 좌표를 추정하고 분류 네트워크를 이용하여 바운딩 박스의 점수를 계산하여 객체를 감지하고 분류 작업을 수행한다. 그림 5은 Faster R-CNN의 대략적인 구조를 보여준다.

Figure 5.

Core structure of Faster R-CNN

4.3 병충해 식별을 위한 웹 서비스

다음 그림 6은 웹 브라우저 또는 스마트폰 앱을 통해 농작물의 상태를 진단하고 다양한 서비스를 제공하기 위한 스마트팜 서비스를 위한 개념도를 보여주고 있다. 본 연구에서는 그림 6의 구성도를 바탕으로 토마토 병해충을 검출하고 판별하여 적절한 방제 정보를 제공하기 위한 병해충 판별 서비스를 개발하였다. 먼저, 병해충 검출 및 판별을 효과적으로 수행하기 위해서 다양한 특징 추출자와 Faster R-CNN을 결합한 여러가지 모델들의 성능을 비교하여 이중에서 가장 병해충 검출 및 판별율이 가장 높은 Resnet101과 Faster R-CNN을 결합한 모델을 이용하여 병해충 판별 서비스를 구축하였다.

Figure 6.

Web service configuration diagram to provide smart farm service

또한 다음 그림 7는 스마트폰 앱을 이용하여 병해충 판별 서비스를 실행한 과정을 보여주고 있다. 농부들은 웹 브라우저 또는 스마트폰 웹을 사용하여 개발된 웹서비스에 접속할 수 있으며 사진을 찍거나 이미지를 업로드함으로서 서비스를 이용할 수 있다. 개발된 웹서비스는 토마토의 잎, 줄기, 과실에 발생한 병해충을 검출하고 판별할 수 있도록 학습되어 있으며 판별 결과를 바운딩 박스와 함께 병해충 이름과 정확도로 나타냈으며 각 병해충에 대한 증상과 방제 방법을 자세한 설명과 함께 제공하고 있다. 서비스 이용 방법은 메인 메뉴에서 “Disease Identification” 버튼을 클릭하고 카메라 또는 파일 매체를 선택하여 병해충이 발생한 영역을 촬영하여 서버로 업로드한다. 서버에서는 업로드된 이미지를 병해충 판별 시스템을 이용하여 검사하고 그 결과를 농부에게 전달한다.

Figure 7.

The process of executing a disease identification service using a smartphone web

5. 실험결과 및 분석

5.1 병충해 판별 시스템의 학습

본 연구에서는 병해충 검출 및 판별을 위한 Faster R-CNN 모델에 가장 적합한 CNN 기반 특징 추출자를 선택하기 위해 사전 학습된 모델인 MobileNet v1, Inception v2, Resnet50 및 Resnet101들을 사용하였고, 이들의 성능을 평가하기 위해 수집된 데이터 세트를 학습과 평가를 위해 각각 80%와 20%로 무작위로 나누었다. 학습에는 총 700개의 이미지가 사용되었고 평가에는 150개의 이미지가 사용되었다. 각 이미지에는 여러 개의 병해충들이 동시에 포함되어 있을 수 있다. 학습에 사용된 데이터의 병해충 영역은 육안 관찰에 의해 수동으로 선택되었다. 학습에 사용된 700장의 이미지에는 약 2,935개의 바운딩 박스를 이용하여 병해충 영역을 표시하였으며 평가에 사용된 150장의 이미지에는 약 641개의 바운딩 박스가 선택되어 있다. 학습 및 평가에 사용된 이미지에 포함된 병해충 수는 표 2에 주어져 있다.

Number of pests included in tomato images used for training and testing

5.2 CNN 특징추출자의 성능비교

토마토의 병해충을 판별하는데 사용한 시스템의 사양은 표 3과 같다. 다음 그림 8은 Faster R-CNN의 특징 추출기로 사용되는 여러가지 CNN 모델들의 학습에 따른 총 손실을 보여주고 있다. MobileNet v1은 수렴하지 않았으며 50만 번의 반복 훈련에도 불구하고 지속적으로 진동하였다. 나머지 모델들은 약 20만 번의 반복 학습 후에는 수렴하는 경향이 나타났다. 여기서 Inception v2와 ResNet 50의 수렴 속도는 보통이었고 ResNet101은 가장 빠르게 수렴하는 것으로 나타났으며 오류 수렴 속도를 비교해 보면 MobileNet v1이 가장 좋지 않았으며, Inception v2, ResNet50, ResNet101들은 비교적 학습이 잘 되는 것으로 나타났다.

System specifications used in the experiment

Figure 8.

Convergence graph of loss function for feature extractor by each CNN

다음으로 토마토의 질병과 해충을 탐지하고 식별하는 각각의 딥러닝 알고리즘의 성능을 평가하였다. 토마토 질병을 탐지하고 식별하는데 사용된 4가지 딥러닝 알고리즘의 탐지 결과는 표 4와 같다. 표 4의 결과에서 MobileNet v1를 특징 추출자로 사용했을 경우 탐지율이 가장 낮게 나타났다. 특히 세균성 궤양을 제외한 나머지 질병과 해충에서 검출률이 매우 낮게 나타났다. 역병의 경우, 다른 질병이 국부적으로 나타나는 것에 비해서 질병의 형태가 토마토 잎, 줄기, 열매 등에서 전역적인 형태로 나타나는 증상 때문에 모든 알고리즘에서 인식률이 전반적으로 낮게 나타났다. 다른 해충과 질병은 잎과 줄기에 국부적으로 증상이 나타남으로 해충과 질병 지역을 선택하기가 더 쉽운 것으로 판단된다. ResNet50의 탐지율은 MobileNet v1보다는 높지만 다른 알고리즘과 비교해서 인식률이 조금 낮게 나타났다. Inception v2는 전반적으로 인식률이 높게 나타났으며 Resnet101의 인식율은 다른 모델에 비해 모든 증상에서 비교적 높게 나타났다.

Tomato disease detection result according to learned feature extractor

5.3 CNN 특징 추출자와 Faster R-CNN을 결합한 제안된 모델의 판별결과

다음 그림 9는 각 CNN 모델을 특징 추출자로 사용하여 구축한 Faster R-CNN의 토마토 병해충에 대한 검출 및 판별 결과를 보여주고 있다. 그림 9은 동일한 샘플에 대해 특징추출기에 따라 검출 결과를 경계 상자, 정확도 그리고 경계 상자의 색상으로 감지된 클래스를 구분하여 보여준다. 녹색은 세균성 궤양병, 하늘색은 역병, 흰색은 흰가루병, 연녹색은 잎나방벌레를 나타내며 감지된 물체의 신뢰성이 90 % 이상인 경우에 대해서만 경계 상자로 표시하였다.

Figure 9.

Tomato pest detection and identification results using CNN feature extractor and Faster R-CNN

주어진 검출 결과로부터 우리는 MobileNet v1 특징추출자가 다른 CNN 특징 추출자보다 성능이 많이 떨어짐을 알 수 있고 또한 나머지 3개의 CNN 모델들에 대한 특징추출자들의 성능은 매우 유사하나 이 중에서 ResNet 101 특징추출자가 가장 우수한 것으로 보인다.

6. 결 론

본 연구에서는 MobileNet v1, Inception v2, ResNet50 및 ResNet101등의 CNN 특징추출자들과 Faster R-CNN 모델을 결합한 딥 러닝 알고리즘을 사용하여 토마토 질병과 해충을 감지하고 식별하는 웹 응용 플렛폼을 제안하였다. 특히, 우리는 4가지 대표적인 토마토 질병에 초점을 맞추었다. 각각의 특징추출자들과 Faster R-CNN의 성능을 평가하기 위해 4가지 병해충 증상을 포함하는 총 850장의 이미지를 수집하였다. 그 중 700장은 제안된 모델을 학습하는데 사용하였고, 150장은 검증을 위해 사용하였다.

우리는 실험 결과 분석을 통해 다음과 같은 결론을 내릴 수 있었다. 먼저, Faster RCNN에서 특징 추출 부분을 담당하는 4개의 딥러닝 알고리즘들의 반복횟수에 대한 손실함수의 수렴속도를 비교하였다. 손실함수의 수렴속도에 대한 비교결과에서 MobileNet v1은 수렴하지 않고 약 50만 번의 훈련에도 불구하고 지속적으로 진동하고 있음을 알 수 있었으며 나머지 모델들은 약 20만번의 반복 후에 수렴하는 것으로 나타났다. Inception v2와 Restnet50의 수렴 속도는 중급이었고 Resnet101이 가장 빠르게 수렴하는 것으로 나타났다.

또한 토마토 해충과 질병들의 감지 성능을 비교하기 위해 Faster R-CNN과 4개의 사전 훈련된 CNN 모델들을 결합한 딥러닝 알고리즘들의 판별능력을 평가하였다. 비교실험에서 우리는 세균성궤양병을 제외한 모든 질병에 대해 MobileNet v1의 검출률이 매우 낮다는 결론을 내렸으며 ResNet50의 탐지율은 MobileNet v1보다 높지만 다른 딥 러닝 알고리즘보다 낮게 주어졌다. Inception v2의 탐지율은 전반적으로 높았으며 ResNet101의 탐지율은 모든 모델 중에서 가장 높은 것으로 나타났다.

마지막으로 실험 결과에서 도출한 결과를 바탕으로 재배 현장에서 스마트폰을 이용하여 토마토 해충과 질병을 감지할 수 있는 웹 응용 플랫폼을 제안하였다. 향후에는 제안된 딥러닝 알고리즘을 스마트폰용 웹으로 개발하여 농부들이 보다 쉽게 토마토의 병해충을 판별하는데 사용할 수 있도록 웹 응용플렛폼을 제공할 계획이다.

References

Akila M, Deepan P. 2018;Detection and Classification of Plant Leaf Diseases by using Deep Learning Algorithm. International Journal of Engineering Research & Technology (IJERT) 6(7):1–5.
Ashqar BAM, Abu-Naser SS. 2018;Image-Based Tomato Leaves Diseases Detection Using Deep Learning. International Journal of Academic Engineering Research (IJAER) 2(12):10–16.
Deng J, Dong W, Socher R, Li LJ, Li K, Fei-Fei L. 2009;ImageNet: A Large-Scale Hierarchical Image Database. IEEE Computer Vision and Pattern Recognition (CVPR)
Fuentes AF, Yoon S, Lee J, Park DS. 2018;High-Performance Deep Neural Network-Based Tomato Plant Diseases and Pests Diagnosis System with Refinement Filter Bank. Frontiers in Plant Science :1–15.
Golhani K, Balasundram SK, Vadamalai G, Pradhan B. 2018;A review of neural networks in plant disease detection using hyperspectral data. Information Processing In Agriculture 5:354–371.
Hanson AM, Joy A, Francis J. 2017;Plant Leaf Disease Detection using Deep Learning and Convolutional Neural Network. International Journal of Engineering Science and Computing 7(3):5324–5328.
He K, Zhang X, Ren S, Sun J. 2016. Deep Residual Learning for Image Recognition. In : IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas, NV. p. 770–778.
Howard AG, Zhu M, Chen B, Kalenichenko D, Wang W, Weyand T, Andreetto M, Adam H. 2017;MobileNets : Efficient Convolutional Neural Networks for Mobile Vision Applications. arXiv: 1704.04861.
Lee SH, Yoon YA, Jung JH, Sim HS, Chang TW, Kim YS. 2020;A Machine Learning Model for Predicting Silica Concentrations through Time Series Analysis of Mining Data. Journal of Korean Society for Quality Management 48(3):511–520.
Liu W, Anguelov D, Erhan D, Szegedy C, Reed S, Fu C, Berg A. 2016. SSD: Single Shot multibox Detector ECCV.
Lu J, Hu J, Zhao F, Mei F, Zhang C. 2017;An In-field Automatic Wheat Disease Diagnosis System. Computers and Electronics in Agriculture 142PA:369–379.
Patil R, Gulvani S. 2019;Plant Disease Detection Using Neural Network: A Review. Journal of Emerging Technologies and Innovative Research (JETIR) 6(2):151–155.
Ren S, He K, Girshick R, Sun J. 2015. Faster R-CNN: Towards real time object detection with region proposal networks NIPS.
Rishikeshwer BS, Shriram TA, Raju JS, Hari M, Santhi B, Brindha GR. 2019;Farmer-Friendly Mobile Application for Automated Leaf Disease Detection of Real-Time Augmented Data Set using Convolution Neural Networks. Journal of Computer Science
Roh YU, Cho N, Lee D. 2020;A Study on Determinants of Stockpile Ammunition using Data Mining. Journal of Korean Society for Quality Management 48(2):297–307.
Saleem MH, Potgieter J, Arif KM. 2019;Plant Disease Detection and Classification. Plants 9(8):1–22.
Sladojevic S, Arsenovic M, Anderla A, Culibrk D, Stefanovic D. 2016;Deep Neural Networks Based Recognition of Plant Diseases by Leaf Image Classification. Computational Intelligence and Neuroscience :1–11.
Toda Y, Okura F. 2019;How Convolutional Neural Networks Diagnose Plant Disease. Plant Phenomics :1–14.
Turkoglu M, Hanbay D. 2019;Plant disease and pest detection using deep learning-based features. Turkish Journal of Electrical Engineering & Computer Sciences 27:1636–1651.
Verma S, Chug A, Singh AP, Sharma S, Rajvanshi P. 2019. Deep Learning-Based Mobile Application for Plant Disease Diagnosis: A Proof of Concept with a Case Study on Tomato Plant. Applications of Image Processing and Soft Computing Systems in Agriculture IGI Global Reference Books. p. 242–271.
Wang Q, Qi F, Sun M, Qu J, Xue J. 2019;Identification of Tomato Disease Types and Detection of Infected Areas Based on Deep Convolutional Neural Networks and Object Detection Techniques. Computational Intelligence and Neuroscience :1–15.

Article information Continued

Figure 1.

Representative images of four types of tomato diseases

Figure 2.

Generation process of annotation XML

Figure 3.

Examples of the form of a bounding box of diseases occurring in tomato leaves

Figure 4.

Architecture of typical Plain net and ResNet

Figure 5.

Core structure of Faster R-CNN

Figure 6.

Web service configuration diagram to provide smart farm service

Figure 7.

The process of executing a disease identification service using a smartphone web

Figure 8.

Convergence graph of loss function for feature extractor by each CNN

Figure 9.

Tomato pest detection and identification results using CNN feature extractor and Faster R-CNN

Table 1.

The number of the types of disease in the collected images

Types of disease Bacterial canker Late blight Leaf miner Powdery mildew Total
Number of pests 1534 891 623 528 3576

Table 2.

Number of pests included in tomato images used for training and testing

Bacterial canker Late blight Leaf miner Powdery mildew
Training 1,228 739 516 452
Testing 306 152 107 76

Table 3.

System specifications used in the experiment

Hardware / Software Specifications
Processer Intel Core i7-4790 CPU 3.6 GHz
Memory 64 GB
GPU GeForce GTX TITAN Xp 12 GB
OS Linux Ubuntu 16.04 64 bits
Deep learning Framework Tensorflow-GPU 1.10.0

Table 4.

Tomato disease detection result according to learned feature extractor

Bacterial canker Late blight Leaf miner Powdery mildew Total rate
Test set 306 152 107 76
Mobilenet v1 144 11 14 30 31.0%
Inception v2 301 91 96 74 87.7%
Resnet50 284 80 104 73 84.4%
Resnet101 306 102 96 76 90.5%