잎사귀 질병 검출을 위한 관심 영역 특징 추출 기반의 어텐션 강화 YOLO 모델
초록
기존 객체 검출에서 널리 사용되고 있는 YOLO 모델은 어떤 특징 벡터가 더 중요한지를 학습할 수 있는 어텐션 기능이 배제되어 있다. 따라서 본 논문에서는 기존 YOLO 모델의 객체 검출 성능을 향상할 수 있는 어텐션 YOLO 모델을 제안하고자 한다. 제안한 에텐션 모델은 입력 잎사귀 영상에서 배경 영역에는 질병에 관한 정보가 없고 오직 잎사귀 내부에만 질병을 구별할 수 있는 반점과 색상 정보가 존재한다는 것에서 착안했다. 입력 잎사귀 영상에서 배경, 잎사귀, 질병 영역을 구분할 수 있는 영상 분할 서브 네트워크를 YOLO의 특징 추출 서브 네트워크와 결합함으로써, 관심 영역에 대한 특징 구별력을 제고하고자 한다. 이를 통해, YOLO 모델에서 공간적으로 질병 관련 특징의 중요도를 강화할 수 있는 새로운 어텐션 모델을 소개하고자 한다. 그리고 실험 결과를 통해, 제안한 어텐션 YOLO 모델이 기존의 YOLO 모델 대비 평균 정밀도 평가에서 약 0.06 정도의 객체 검출 성능을 개선할 수 있음을 보이고자 한다.
Abstract
The YOLO model, which is widely used in the existing object detection, excludes the attention function that can learn which feature vectors are more important. Therefore, in this paper, we propose an attention YOLO model that can improve the object detection performance of the existing YOLO model. The proposed attention model was conceived from the fact that there is no information on diseases in the background area of the input leaf image, and spots and color information that can determine the presence or absence of the diseases exist only inside the leaf. By combining the YOLO's feature extraction subnetwork with the image segmentation subnetwork capable of dividing the background, leaf, and disease areas from the input leaf, it is intended to improve the ability to distinguish features in the region of interest. In other words, a new attention model that can spatially reinforce the importance of disease-related features in the YOLO model is introduced. In addition, through the experimental results, it is shown that the proposed attention YOLO model can improve the detection performance by about 0.06 in the mean Averaged Precision(mAP) evaluation compared to the existing YOLO model.
Keywords:
attention YOLO model, object detection, image segmentation, deep convolutional neural networks, smart farmⅠ. 서 론
스마트 팜은 전통적인 농사법에 정보통신기술을 접목한 방식을 말한다. 특히, 사물인터넷의 발달과 함께, 기상, 대기, 토양, 생육 관련 센서 정보를 수집하고 분석함으로써, 작물의 생육 상태를 모니터링하고 작물의 질병을 조기 예방할 수 있는 새로운 농업 방식이라 보면 된다. 현재 전 세계 농업 선진국은 지리적 특성을 고려해 자국 환경에 맞는 방식으로 스마트 농업을 전개하고 있다. 이러한 국제 흐름에 발맞추어 국내 스마트 팜 생태계 조성 및 한국형 스마트 팜 시스템 구축에 관한 필요성을 절감하고 있다. 국내 스마트 팜 시장 규모도 매년 증가할 추세로 내다보고 있다.
특히 스마트 팜 시스템 구축에 있어서 핵심 소프트웨어 기술인 "농작물의 질병 검출 및 분류 기술" 부재가 현안으로 대두되고 있다[1][2]. 종래의 작물 질병은 작물 질병 전문가나 농작물에 대한 풍부한 경험이 축적된 농부가 작물에 나타난 증세를 보고 판단하였다. 하지만 이러한 검출 방법은 많은 시간이 소요되고 상당한 비용이 요구된다. 또한 질병의 종류와 발생 부위가 다양해짐으로써 작물 질병을 육안으로 판별하는 것은 점점 한계에 봉착하고 있다. 또한 감별자에 따른 작물 질병의 편차도 심하게 분포할 수 있고 농지가 넓은 경우에는 육안 판별을 실행하기가 실제로는 불가능하다.
따라서 이 논문에서는 스마트 팜 시스템 구축에 필수적인 인공지능 기반의 작물 질병 검출 기술을 소개하고자 한다. 특히 사과나무 잎사귀 영상에서 질병이 발생한 잎사귀 영역을 포함한 바운딩 박스(BB, Bounding Box)를 검출하는 새로운 기법을 제시하고자 한다. 기존의 딥 러닝 기반의 대표적인 객체 검출 모델은 YOLO[3](You Only Look Once)이다. 기존의 RCNN[4](Region Based Convolutional Neural Networks) 객체 검출은 위치 추정과 클래스 부류를 위해 영역 제안(Region proposal)과 클래스 분류(Class classification)로 두 단계로 이원화되어 있지만, YOLO 네트워크는 입력 영상에서 한 번에 객체의 위치와 부류를 동시에 추정할 수 있다. 따라서 YOLO 네트워크는 실시간 객체 검출에 큰 강점을 가진다. 하지만 객체 검출 정확도 측면에서는 개선의 여지가 남아 있다. 이 논문에서는 특히 사과나무 잎사귀 질병 검출에 특화된 영역 분할 기반의 어텐션 YOLO 모델을 새롭게 제안하고자 한다. 사과나무 잎사귀에서 질병이 발생한 부위는 잎사귀에 국한되어 있다는 점에 착안하여 어텐션 기능이 강화된 YOLO 모델을 선보이고자 한다. 이를 통해, 잎사귀 질병 검출에 대한 정확도를 향상하고 농작물의 질병을 신속·정확하게 진단함으로써, 작물의 품질과 생산량을 제고하고자 한다.
1.1 전통적인 객체 검출 기법
전통적인 객체 검출 기법은 슬라이딩 윈도우(Sliding Window) 방식과 영역 제안 방식으로 나뉠 수 있다. 슬라이딩 윈도우 방식은 윈도우를 영상의 좌측 상단에서 래스터 스캐닝을 적용하면서 우측 하단에 도달할 때까지 윈도우 내부에 객체 존재 유무를 판별하는 방식이다. 학습 단계에서는 검출할 객체가 포함된 긍정 샘플(Positive samples)과 객체가 포함되지 않은 부정 샘플(Negative)을 수집한다. 그리고 긍정과 부정 샘플 각각에 대해 특징을 추출하고 분류기를 학습한다. 대표적인 특징 추출 기법으로는 HoG(Histogram-of-Gradients)[5], SIFT(Scale Invariant Feature Transform)[6], LBP(Local Binary Patterns)[7] 등이 있다. 분류기로는 SVM(Support Vector Machine)[8]이 주로 사용된다. 테스트 단계에서는 입력 영상에서 슬라이딩 윈도우를 이동하면서 특징을 뽑아낸 후, 학습된 분류기를 통과하여 객체 존재 여부를 판별한다.
이에 반해, 영역 제안 방식은 유사한 색상, 크기, 텍스처를 가진 슈퍼픽셀(Superpixel)[9]들을 병합하면서 객체가 존재할 후보 바운딩 박스를 생성하는 기법이다. 여기서 슈퍼픽셀은 밝기 등과 같은 유사한 특성을 갖는 픽셀들을 묶어 놓은 덩어리로 생각하면 된다. 후보 바운딩 박스 생성은 슈퍼픽셀이라 불리는 작은 덩어리에서 시작한다. 즉, 슈퍼픽셀을 둘러싼 바운딩 박스를 정의할 수 있다. 그리고 슈퍼픽셀간의 유사도 검증을 통해서 병합을 수행한다. 유사한 색상, 크기, 텍스처 등을 갖는 슈퍼픽셀들을 하나로 병합한 후, 새로운 바운딩 박스 후보를 생성한다. 이렇게 영역 제안 기법은 슈퍼픽셀들을 병합하고 더 큰 영역들을 제안하면서, 작은 바운딩 박스부터 크기가 큰 바운딩 박스를 계속적으로 만들어 간다. 더 이상 병합할 영역이 없다고 판단되면, 바운딩 박스 생성은 멈추게 된다. 이렇게 생성된 후보 바운딩 박스 집합과 GT(Ground Truth) 바운딩 박스 집합을 활용하여 SVM을 학습하고 객체 존재 여부를 판별하게 된다. 이때 긍정 샘플은 GT 바운딩 박스이며 부정 샘플은 GT 바운딩 박스와 20~50%가 겹치는 후보 바운딩 박스가 된다. 대표적인 영역 제안 기법에는 SS(Selective Search)[10]가 있다.
1.2 딥 러닝 기반 객체 검출 기법
딥 러닝은 기존의 신경망 구조에서 레이어의 개수를 더 깊이 쌓은 구조이다. 방대한 양의 데이터를 가지고 신경망의 파라미터를 내리막 경사법을 통해서 최적의 해를 찾는 방식을 취한다. 이런 딥 러닝은 신경망이 출현할 당시에는 병렬처리 컴퓨팅 성능이 낮아서 깊은 구조에 대한 잠재력을 확인하기 어려웠다. 하지만, 최근 병렬처리 컴퓨팅 성능의 발전과 인터넷의 발달로 빅데이터 기반의 신경망 학습이 실현 가능하게 되었고 그 결과 딥 러닝은 인공지능, 컴퓨터 비전, 영상처리, 자연어처리, 음성처리 분야에서 기술 패러다임 전환을 이끌게 되었다.
특히, 2012년에 일명 알렉스 넷(Alex net)이라 불리는 심층 합성곱 신경망(DCNN, Deep Convolutional Neural Networks)에 관한 논문이 발표된 이래로[11], 딥 러닝 기반의 영상 인식 및 객체 검출 기술이 매년 갱신을 거듭하고 있다. 그리고 스마트 폰의 홍채 인식, 자율 주행을 위한 보행자 검출, 의료 영상 진단 등 다양한 분야에서 상용화가 되고 있다.
딥 러닝은 기존의 특징 추출과 분류기 학습으로 이원화되어 있는 기계학습 과정을 한 단계로 통합함으로써, 기존의 HoG/SIFT와 같이 수작업 특징 추출 기법이 갖는 특징 구별력을 강화하고 응용 도메인에 따른 특징 설계에 대한 부담을 완화할 수 있다. 현재 영상 인식 및 객체 검출 분야에서는 DCNN 기반의 딥 러닝 모델이 베이스 모델로 자리를 잡고 있다. 영상 인식 분야에서는 VGG[12], ResNet[13] 모델이 베이스 모델로 자리매김을 했고, 객체 검출 분야에서는 YOLO, RCNN, Fast RCNN[14], Faster RCNN[15]이 베이스 모델로 자리를 잡았다. 이러한 딥 러닝 모델은 기존의 HoG/SIFT 기반의 영상 인식과 객체 검출 성능에 비해 정확도 측면에서 괄목할만한 성과를 거두었다.
딥 러닝 기반 객체 검출 모델은 크게 RCNN 계열과 YOLO 계열로 구분될 수 있다. RCNN 계열로는 RCNN의 상위 버전에 해당하는 Fast/Faster RCNN이 있고 YOLO 계열로는 YOLO를 포함해서 YOLO의 스케일 취약성을 보완한 SSD(Single Shot Detection)[16]가 있다. RCNN 계열과 YOLO 계열의 가장 큰 차이는 영역 제안과 분류기 구조에 있다. 초기 객체 모델인 RCNN은 영역 제안과 분류기 학습과정이 이원화되어 있다. 즉, SS를 통해 후보 바운딩 박스를 생성하고 분류기를 학습하는 구조로 되어 있다. RCNN은 후보 바운딩 박스를 라사이징을 통해 동일한 크기로 맞춘 후, VGG와 같은 영상 인식 모델에 일일이 통과시켜야 된다. 따라서 상당한 계산 시간이 요구된다. 이러한 단점을 보완하기 위해, ROI(Region of Interest) 레이어를 만들어서 후보 바운딩 박스를 VGG의 특징 맵의 좌표로 사상한 후, 동일한 크기를 뽑아내는 Fast RCNN 모델이 등장했다. 하지만 여전히 영역 제안이 따로 분리되어 있기 때문에 종단간 학습(End-to-end learning)이라 볼 수 없다. Faster RCNN은 영역 제안을 VGG의 특징 맵에서 수행할 수 있는 서브 네트워크 제안함으로써, 계산 시간 단축과 종단간 학습을 통한 검출 정확도 향상을 동시에 달성하게 되었다.
반면 YOLO 모델은 영역 제안과 분류기 학습을 한 번에 수행하는 방식이다. RCNN 계열과는 달리, 영역 제안 기법이나 영역 제안 서브 네트워크를 따로 사용하지 않는다. YOLO는 영역 제안을 단순화하기 위해, 입력 영상을 S✕S로 분할한 후, 각 셀(Cell)에서 앵커(Anchor)라 불리는 후보 바운딩 박스를 n개 생성한 후, 학습을 진행한다. 즉, 입력 영상으로부터 앵커와 GT 바운딩 박스의 오차를 보정하면서 클래스 부류를 동시에 추정한다. 따라서 RCNN 계열보다 구조가 단순하면서도 계산 속도에서 강점을 지닌다고 볼 수 있다.
Ⅱ. 관련 연구
이 장에서는 YOLO 객체 검출 네트워크 구조에 대해 자세히 소개하고자 한다. 이를 통해 제안한 어텐션 YOLO 모델의 필요성을 제시하고자 한다.
2.1 YOLO 모델의 객체 검출 방식
그림 1은 YOLO 모델의 객체 검출 방식에 대한 개념을 보여 주고 있다. RCNN 계열과 달리, YOLO 모델은 영역 제안을 따로 적용하거나 서브 네트워크를 만들지 않는다. 그림 1에 보면, 입력 영상이 S✕S의 격자 무늬로 분할된 것을 볼 수 있는데, 이 각각의 격자를 셀이라 부른다. 이 예제에서는 셀의 개수가 총 25개다. 그리고 각 셀 마다 앵커 박스, 즉 후보 바운딩 박스가 생성된다. 이 예제에서는 ✕로 표시된 셀 하나에 대해서만 앵커 박스를 노란색 점선으로 표시했다. 앵커 박스의 개수는 셀 당 n개를 지정할 수 있다. 앵커 박스의 가로 및 세로의 길이는 GT 바운딩 박스를 군집화함으로써 초기 값을 설정할 수 있다. 그리고 각각의 셀이 질병 잎사귀의 중심점을 포함하고 있으면, 이 셀은 네트워크를 통해 질병 잎사귀로 분류되고 앵커 박스의 중심점과 가로/세로 길이를 GT 바운딩 박스로 보정하게 된다. GT 바운딩 박스 예시는 오른쪽 영상에서 실선으로 표시되어 있다.
2.2 YOLO 네트워크의 구조
그림 2는 YOLO 네트워크의 구조를 단순화해서 보여 주고 있다. YOLO 네크워크는 크게 특징 추출 서브 네트워크와 검출 서브 네트워크로 구성된다. 특징 추출 서브 네트워크는 입력 영상에서 특징을 추출하기 위한 네트워크로써, ResNet/VGG와 같이 이미지넷에 사전 학습된 네트워크가 일반적으로 사용된다. 그리고 검출 서브 네트워크는 특징추출 서브 네트워크의 마지막 특징 맵을 사용해서 최종 바운딩 박스와 클래스 부류를 추정하는 네트워크이다. 검출 서브 네트워크는 합성곱 신경망(Convolution layer), 완전 연결 계층(Fully connected layer), 그리고 최종 바운딩 박스와 클래스 부류를 추정하기 위한 손실 레이어(Loss layer)로 구성된다.
2.3 출력 텐서 포맷
그림 3은 YOLO 네트워크에서 최종 생성된 텐서의 모양을 보여 주고 있다. 여기서 텐서란 3차원 행렬을 의미한다. S는 가로 및 세로의 크기이고 F는 채널의 개수이다. S✕S는 그림 1에서의 셀의 개수와 동일하다. 셀 당 바운딩 박스와 클래스 부류를 추정하겠다는 의미를 내포하고 있다. 이 논문에서 총 5개의 앵커 박스를 사용하기 때문에 그림 3에서는 셀 당 바운딩 박스 5개를 추정한다고 가정했다. 그리고 출력 텐서의 각각의 값은 특정한 의미를 지닌다. 그림 3에서 BB는 최종 추정한 바운딩 박스를 의미하고 (x,y,w,h,c,p1,p2)라는 7개의 값으로 구성된다. 여기서 (x,y)는 바운딩 박스의 중심 좌표 값이며 (w,h)는 가로와 세로 길이에 해당한다. c는 객체가 존재할 확신, 즉 신뢰도(Confidence)에 해당한다. c는 추정된 바운딩 박스와 GT 바운딩 박스와의 겹친 정도를 나타내는 IoU(Intersection of Union)로 계산된다. (p1,p2)은 각각의 바운딩 박스에 대해 최종 추정된 클래스 부류에 대한 확률 값이다. 이 논문에서는 두 종류의 질병을 분류하기 때문에 부류의 개수가 총 2개이다. 참고로 원 논문에서는 앵커 박스의 개수와는 상관없이 하나의 클래스 부류를 추정하지만, 본 연구에서는 앵커 박스마다 클래스 부류를 추정하였다. 이렇게 출력단에서 생성된 YOLO 텐서는 손실 레이어에서 GT 바운딩 박스와 GT 클래스 부류와의 오차가 최소가 되도록 계산이 된다.
Ⅲ. 제안한 관심 영역 특징 추출 기반의 어텐션 강화 YOLO 모델
기존의 YOLO 모델은 보행자/자동차와 같이 객체 간의 구별성이 높은 객체 검출에 탁월한 성능을 보인다. 하지만 이 논문에서 다루는 잎사귀 질병 검출 문제는 정상 잎사귀와 질병이 발생한 잎사귀를 구별해서 질병이 발생한 잎사귀만을 검출하기 때문에 상대적으로 검출 난이도가 높다. 다시 말하면, 잎사귀의 모양이 유사한 정상 잎사귀에서 질병이 발생한 영역의 작은 반점과 색상을 인식해서 질병 잎사귀만을 걸러 내는 작업은 기존의 객체 검출보다 난이도가 높다고 말할 수 있다. 따라서 객체 검출 성능을 제고하기 위해서는 YOLO 모델의 특징 추출 No.의 특징 구별력을 강화할 필요가 있다. 기존의 YOLO 모델에서의 특징 추출 No.는 ResNet이나 VGG 모델을 주로 사용한다. 하지만 ResNet/VGG는 질병이 존재하는 영역에 대한 공간적인 위치의 중요도를 결정하고 특징의 구별력을 높일 수 있는 어텐션 기능이 누락되어 있다. 따라서 특징 맵에서 질병이 존재하는 영역에 대한 어텐션 기능을 추가할 필요가 있다.
3.1 제안한 접근 방법
제안한 기법에서는 기존의 YOLO 모델에 질병이 존재할 영역을 주의 집중해서 볼 수 있는 어텐션 메커니즘을 추가하고자 한다. 이를 실현하기 위해 제안한 기법은 입력 영상에서 배경, 잎사귀, 질병 영역을 분할해서 YOLO 모델의 특징 추출 No.의 구별력을 강화하고자 한다.
그림 4는 제안한 기법의 아이디어를 보여 주고 있다. 입력 영상에서 잎사귀를 제외한 배경 영역은 잎사귀 질병에 관한 정보가 없다. 반면 잎사귀 내에 반점이나 색상은 질병을 구분 짓기 위한 핵심적인 단서로 작용한다. 그리고 잎사귀 영역을 찾는 것도 정상 잎사귀와 질병 잎사귀에 대한 바운딩 박스를 검출하는 데 도움을 줄 수 있다. 따라서 본 논문에서는 제안한 어텐션 YOLO 모델을 구현하기 위해 입력 영상에서 잎사귀, 배경, 질병 영역을 구분할 수 있는 영상 분할 No.를 추가적으로 설계하고 ResNet 특징 추출 No.와 결합하고자 한다.
3.2 영역 분할 서브네트워크
입력 영상에서 영역을 분할하는 기법으로는 K-평균 군집화(K-means clustering), 그래프 분할 기법 [17] 등이 있다. 하지만 최근 딥 러닝 기반의 영상 분할 네트워크의 성능이 탁월하기 때문에 본 연구에서는 딥 러닝 모델을 도입하고자 한다. 대표적인 영상 분할 네트워크에서는 FCN(Fully Convolutional Networks), U-Net 모델 등이 있다[18]. 그림 5는 본 연구에서 사용된 FCN 영역 분할 네트워크의 구조를 보여 준다.
FCN는 크게 인코더와 디코더로 구성된다. 인코더는 입력 영상에서 특징을 추출하는 단계이고 스트라이드(Stride)와 풀링(Pooling) 과정을 통해 특징 맵의 크기를 감소한다. 그리고 디코더에서는 인코더에서 압축된 특징 맵을 업샘플링(Upsampling) 통해 크게 한 후, 최종 영역 분할 맵을 추정한다. 업샘플링 과정은 보간법이나 전치 합성곱(Transposed convolution)으로 구현된다.
그림 5의 영역 분할 네트워크를 학습하기 위해서는 영상 분할 맵에 대한 라벨링 작업이 필요하다. 본 연구에서는 GT 영상 분할 맵을 생성하기 위해, 포토샵 편집 툴을 사용해서 수작업으로 잎사귀, 배경, 질병 영역을 분할하였다. 이렇게 생성된 GT 영상 분할 맵과 영역 분할 네트워크의 최종 출력단의 텐서와 오차가 최소가 되도록 학습을 하였다.
3.3 어텐션 강화 YOLO 모델
제안한 어텐션 YOLO 네트워크는 기존의 YOLO 네트워크를 개선한 모델이다. 기존의 YOLO 모델은 질병 진단을 위해 특징 맵에서 공간적으로 어떤 영역이 더 중요한지를 학습하는 방법은 배제되어 있다. 따라서 제안한 방법은 영역 분할 No.를 YOLO의 특징 추출 No.와 퓨전함으로써, 어텐션 기능을 추가하고자 한다. 영역 분할 네트워크에서 추정된 잎사귀, 배경, 질병 영역에 대한 공간적인 특징 맵의 중요도를 YOLO No.에서 학습된 특징 맵과 결합함으로써 YOLO 모델에 공간 어텐션 기능을 강화하고자 한다.
그림 6은 제안한 어텐션 네트워크의 구조를 보여 주고 있다. 제안한 네트워크는 크게 세 종류의 No.로 구성된다. 하나는 YOLO 특징 추출 No.이고 다른 하나는 영역 분할 No.이다. 그리고 마지막은 YOLO 검출 No.로써, 두 No.를 퓨전한 특징 맵을 입력으로 받는다.
그림 6에서 보듯이, 기존의 YOLO 네트워크와 제안한 어텐션 YOLO 모델과의 가장 큰 차이점은 영역 분할 No.를 사용하는 것에 있다. 영역 분할 No.는 입력 영상에서 잎사귀, 질병, 배경 영역을 구분할 수 있기 때문에 질병이 포함된 바운딩 박스를 찾기 위한 특징의 중요도를 공간적으로 다르게 모델링할 수 있다. 이를 통해, YOLO 특징 No.의 특징 구별력과 정보력을 강화할 수 있다. 그림 5의 영역 분할 No.의 예측 맵의 크기는 YOLO 특징 추출 No.의 출력 맵의 크기와 다르다. 따라서 그림 6의 하단에 보듯이, 영역 분할 No.의 소프트맥스의 출력단에 합성곱 레이어와 ReLU(Rectified Linear Unit) 레이어로 구성된 블록을 추가적으로 달아주었다.
참고로 ResNet No.는 ResNet-50 모델에서 40번째의 ReLU 레이어에서 잘린 네트워크이다. 그림 6에서 볼 수 있듯이, YOLO의 특징 추출 No.인 ResNet 모델과 영역 분할 No.의 모델을 퓨전한 것을 볼 수 있다. 퓨전 방식은 연결 레이어(Concatenation layer)를 사용했다. 가중치 맵을 구현하기 위해, 소프트맥스(Softmax) 레이어를 추가하여 정규화를 수행할 수 있지만, 연결레이어를 사용해서도 충분히 YOLO 특징 No.의 구별력과 정보력을 높일 수 있다. 다시 말하면, 영역 분할 No.에서 추출된 잎사귀, 배경, 질병 영역에 대한 특징을 ResNet의 특징과 퓨전함으로써, YOLO 검출 No.의 특징 구별력과 정보력을 향상할 수 있다.
Ⅳ. 실험 및 결과
4.1 학습 데이터 및 라벨링 작업
그림 7은 이 논문에서 사용된 사과나무 잎사귀 질병 영상의 예시이다. 질병은 크게 2종류로 갈색 무늬병과 점무늬 낙엽병이다. 총 학습 데이터는 1,320장이고 이 중에서 갈색 무늬병은 924장이고 점무늬 낙엽병은 396장이다. 데이터 확충을 위해, 잘림, 영상 회전, 영상 잡음 기법을 적용했다. 랜덤 샘플링을 통해 훈련 집합과 테스트 집합을 7:3의 비율로 나누었다. 바운딩 박스 라벨링은 질병이 포함된 잎사귀를 포함하도록 바우딩 박스를 생성했다.
총 생성된 GT 바운딩 박스 개수는 3,815개이고 이 중에서 갈색 무늬병은 2,641개이고 점무늬 낙엽병은 1,174개이다. GT 바운딩 박스의 정보는 박스의 중심 좌표와 박스의 가로 및 세로 길이로 표현된다.
4.2 영역 분할 맵 학습 결과
영역 분할 네트워크를 학습하기 위해 사용된 영상은 총 697장이고 이 중에서 정상 잎사귀는 211개, 갈색 무늬병은 266개, 점무늬 낙엽병은 220개이다. 영역 분할 네트워크를 학습하기 위해서는 GT 영상 분할 맵이 필요하다. 본 연구에서는 포토샵 툴을 사용해서 GT 영상 분할 맵을 만들었다.
그림 8은 학습된 영역 분할 네트워크를 사용한 추출된 결과 영상을 보여 주고 있다. 왼쪽은 입력 영상이고 오른쪽은 결과 영상이다. 그림에서 노란색은 배경, 파란색은 잎사귀, 그리고 청록색은 질병을 의미한다.
그림에서 보듯이 배경, 잎사귀, 질병 영역이 분할된 것을 관찰할 수 있다. 물론 질병 영역에 대한 정확도를 개선할 필요가 있으나 본 연구의 목적은 이 영상 분할 맵을 활용해서 최종 질병 잎사귀를 검출하는 것이 목적이다. 따라서 영상 분할 맵의 개선 작업은 차후에 수행하고자 한다. 참고로 영상 분할 네트워크의 평균 정확도(Mean accuracy)는 약 71%이고 자카드 지수(Jaccard index)는 68%이다. 평균 정확도는 클래스 별 똑바로 추정된 픽셀의 개수를 평균한 것을 의미하고 자카드 지수는 GT 영역과 모델이 예측한 영역의 중첩된 영역을 GT 영역과 모델 예측 영역의 합으로 나눈 비율을 의미한다.
4.3 바운딩 박스 예측 결과
그림 9와 10은 제안한 어텐션 네트워크를 사용해서 예측된 바운딩 박스 검출 예시이다.
그림 9와 10에서 볼 수 있듯이, 제안한 어텐션 YOLO 모델이 전반적으로 질병 잎사귀를 잘 검출하는 것을 볼 수 있다. 특히 질병이 뚜렷한 잎사귀는 잘 검출되는 것을 볼 수 있다. 하지만 잎사귀가 작거나 다른 잎사귀에 가려진 경우, 그리고 질병 영역이 눈에 잘 띄지 않을 때에는 오검출이 될 수 있다.
4.4 정량적 평가
기존의 YOLO 모델과 제안한 어텐션 YOLO 모델의 성능을 평가했다. 평가 지표는 객체 검출에서 널리 사용되는 평균 정밀도[15](AP, Average Precision)를 사용했다. 평균 정밀도는 재현율(Recall)과 정확률(Precision)로 그래프로 그렸을 때, 그래프의 면적에 해당한다[19]. 성능이 좋을수록 높은 수치를 갖는다. 여기서, 재현율은 GT 바운딩 박스 개수에서 옳게 추정된 바운딩 박스의 비율이고 정확률은 검출된 바운딩 박스 개수에서 옳게 추정된 바운딩 박스의 비율이다. 평균 정밀도는 클래스 부류마다 얻을 수 있으며 이 점수를 모두 평균한 값이 평균 평균 정밀도(mAP, mean AP)라 한다. 그림 11은 재현율에 따른 정확률의 결과를 그래프로 보여 준 결과이다. 그림에서 가로축이 재현율이고 세로축이 정확률을 의미한다. 그림에서 보듯이, 기존의 YOLO보다 제안한 어텐션 강화 YOLO 모델이 재현율에 따른 정확률이 더 높은 것을 볼 수 있다.
표 1은 기존의 YOLO 모델과 제안한 어텐션 YOLO 모델에 대한 mAP 값이다. 표에서 보듯이 제안한 기법이 더 우수한 성능을 가진 것을 알 수 있다. 이는 잎사귀, 배경, 질병 영역에 해당하는 영역 추출 과정을 통해서 공간적으로 어떤 영역의 특징 데이터가 객체 검출 및 분류에 가장 큰 영향을 줄 지에 관한 어텐션 모델을 반영했기 때문이다.
V. 결 론
이 논문에서 잎사귀 질병을 검출하는 어텐션 강화 YOLO 모델을 제안하였다. 잎사귀 영상에서 배경 영역은 질병에 관한 정보가 없고 잎사귀 내의 반점이나 색상 정보가 질병 진단의 단서가 된다는 것에 착안해서 기존의 YOLO 모델에 어텐션 기능을 추가하였다. 이를 위해, 입력 잎사귀 영상에서 영역 분할 No.를 추가하고 기존 YOLO 특징 추출 No.와 퓨전함으로써 특징의 구별력을 높여 주었다. 즉, YOLO 모델에서 공간적으로 중요한 특징 벡터를 주의 집중해서 볼 수 있는 학습 기법을 제안했다. 결과에서 보듯이, 제안한 기법이 질병이 포함된 잎사귀를 검출할 수 있음을 확인하였다. 그리고 정량적 평가에서도 기존의 YOLO 대비 6%의 mAP 증가를 달성할 수 있었다.
제안한 기법도 아직 개선 사항이 많이 남아 있다. 예를 들어, 잎사귀의 폐색 문제 대응, 스케일에 강인한 특징 추출 방안, 바운딩 박스 검출의 정확도 개선이 현안으로 남아 있다. 따라서 향후 이러한 문제를 해결하기 위해, 영역 분할 No.에서 추출된 특징 맵에서 질병이 포함된 잎사귀에 대한 후보 바운딩 박스를 제안할 수 있는 영역 제안 어텐션 모델을 개발하고자 한다.
Acknowledgments
이 논문은 2020년도 정부(산업통상자원부)의 재원으로 한국산업기술진흥원의 지원을 받아 수행된 연구임 (P0012769, 2020년 산업혁신인재성장지원사업). 또한 이 성과는 정부(과학기술정보통신부)의 재원으로 한국연구재단의 지원을 받아 수행된 연구임(No. 2020R1A2C1010405)
References
- H. J. Yu, D. H. Lee, and C. H. Son, "Apple leaf disease identification through region-of-interest-aware deep convolutional neural network", Journal of Imaging Science and Technology, Vol. 64, No. 2, pp. 20507-1-20507-10, Jan. 2020. [https://doi.org/10.2352/J.ImagingSci.Technol.2020.64.2.020507]
- H. J. Yu and C. H. Son, "Leaf spot attention network for apple leaf disease identification", in Proc. IEEE Conference on Computer Vision and Pattern Recognition Workshop, Seattle, WA, USA, pp. 229-237, Jun. 2020.
- J. Redmon, S. Divvala, R. Girshick, and A. Farhadi, "You Only Look Once: Unified, RealTime Object Detection", in Proc. IEEE Conf. Computer Vision and Pattern Recognition, Las Vegas, NV, USA, pp. 779-788, Jun. 2016. [https://doi.org/10.1109/CVPR.2016.91]
- R. Girshick, J. Donahue, T. Darrell, and J. Malik, "Rich feature hierarchies for accurate object detection and semantic segmentation", in Proc. IEEE Conference on Computer Vision and Pattern Recognition, Columbus, USA, pp. 580-587, Jun. 2014. [https://doi.org/10.1109/CVPR.2014.81]
- N. Dalal and B. Triggs, "Histograms of oriented gradients for human detection", in Proc. IEEE Conference on Computer Vision and Pattern Recognition, San Diego, CA, USA, pp. 886-893, Jun. 2005.
- D. G. Lowe, "Distinct image features from scale-invariant key points", International Journal of Computer Vision, Vol. 60, No. 2, pp. 91-110, Nov. 2004. [https://doi.org/10.1023/B:VISI.0000029664.99615.94]
- Z. Guo, L. Zhang, and D. Zhang, "A completed modeling of local binary pattern operator for texture classification", IEEE Transactions on Image Processing, Vol. 19, No. 6, pp. 1657-1663, Jun. 2010. [https://doi.org/10.1109/TIP.2010.2044957]
- C. Cortes and V. Vapnik, "Support-vector networks", Machine Learning, Vol. 20, No. 3, pp. 273-297, Sep. 1995. [https://doi.org/10.1007/BF00994018]
- R. Achanta, A. Shaji, K. Smith, A. Lucchi, P. Fua, and S. Süsstrunk, "SLIC superpixels compared to state-of-the-art superpixel methods", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 34, No. 11, pp. 2274-2282, Nov. 2012. [https://doi.org/10.1109/TPAMI.2012.120]
- J. R. Uijlings, K. E. van de Sande, T. Gevers, and A. W. Smeulders, "Selective search for object recognition", International Journal of Computer Vision, Vol. 104, pp. 154–171, Mar. 2013. [https://doi.org/10.1007/s11263-013-0620-5]
- A. Krizhevsky, I. Sutskever, and G. E. Hinton, "Imagenet classification with deep convolutional neural networks", in Proc. Neural Information Processing Systems, Harrah's Lake Tahoe, Nevada, pp. 1-9, Dec. 2012.
- K. Simonyan and A. Zisserman, "Very deep convolutional networks for large-scale image recognition", arXiv: 1409.1556, [cs. CV], Sep. 2014.
- K. He, X. Zhang, S. Ren, and J. Sun, "Deep residual learning for image recognition", in Proc. IEEE Conference on Computer Vision and Pattern Recognition, Las Vegas, pp. 770-778, Jun. 2016.
- R. Girshick, "Fast R-CNN", in Proc. IEEE International Conference on Computer Vision, Santiago, CHILE, pp. 1440-1448, Dec. 2015. [https://doi.org/10.1109/ICCV.2015.169]
- S. Ren, K. He, R. Girshick, and J. Sun, "Faster R-CNN: Towards real-time object detection with region proposal networks", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 39, No. 6, pp. 1137-1149, Jun. 2017. [https://doi.org/10.1109/TPAMI.2016.2577031]
- W. Liu, "SSD: single shot multibox detector", in Proc. European Conference on Computer Vision, Amsterdam, Netherlands, pp. 21-37, Oct. 2016. [https://doi.org/10.1007/978-3-319-46448-0_2]
- P. F. Felzenszwalb and D. P. Huttenlocher, "Efficient graph-based image segmentation", International Journal of Computer Vision, Vol. 59, pp. 167–181, Sep. 2004. [https://doi.org/10.1023/B:VISI.0000022288.19776.77]
- J. Long, E. Shelhamer, and T. Darrell, "Fully convolutional networks for semantic segmentation", in Proc. IEEE Conference on Computer Vision and Pattern Recognition, Boston, pp. 3431-3440, Jun. 2015. [https://doi.org/10.1109/CVPR.2015.7298965]
- X. Wang, L. Chen, Q. Li, J. Son, X. Ding, and J. Song, "Influence of self-driving data set partition on detection performance using YOLOv4 network", The Journal of The Institute of Internet, Broadcasting and Communication, Vol. 20, No. 6, pp. 157-165, Dec. 2020.
2017년 3월 ~ 현재 : 군산대학교 소프트웨어융합공학과 학사과정
관심분야 : 컴퓨터 비전, 영상처리, 딥 러닝
2002년 2월 : 경북대학교 전자전기공학부(공학사)
2004년 2월 : 경북대학교 전자공학과(공학석사)
2008년 8월 : 경북대학교 전자공학과(공학박사)
2017년 4월 ~ 현재 : 군산대학교 소프트웨어융합공학과 부교수
관심분야 : 컴퓨터 비전, 영상처리, 딥 러닝, 기계학습, 색 재현
2003년 3월 : 경북대학교 농학박사
2020년 7월 ~ 현재 : 농촌진흥청 사과연구소 소장
관심분야 : 딥 러닝 응용, 작물 병해충, 생육 모델링, 3차원 매핑