1. 서론
오늘날의 데이터 과학 분야와 딥러닝 기술의 발전은 농업 분야에서도 많은 변화를 가져왔다. 인공위성이나 항공사진의 데이터 수집을 통하여 기후의 변화환경변화, 농작물의 생육정보에 대한 실시간 모니터링이 가능해졌고, 수집된 데이터에 의한 빅데이터 분석으로 농작물의 작황 예측과 수확시기를 결정하는 의사결정에 활용할 수 있게 되었다. 뿐만 아니라 자동화된 농기구에 센서를 장착한 스마트 농업기술을 활용하여 제초, 벌초, 농약 살포, 수확, 선별, 포장 등 사람이 해야 하는 작업을 기계가 대체하기에 이르렀다. 이로 인하여 앞으로도 농업 분야의 큰 생산성 향상이 기대된다.
이미지 처리 분야에서 합성곱 신경망 기술을 활용한 딥러닝 기술의 발전은 자율주행 자동차, 침입 탐지, 개인 인증과 같은 다양한 분야에서 활용되고 있으며, 이러한 기술은 농업 분야에서도 다양하게 활용이 된다. 예를 들어, 일반적인 농가에서 병충해가 발생할 경우 전문가 자문을 통해 병충해의 종류를 파악하고 대처하게 되는데, 이런 방법은 전문가를 섭외하고 파악하기까지 긴 시간이 소요된다. 하지만, Valeria 등의 연구에 의하면 딥러닝 기술을 활용한 이미지 분류기법을 사용하여 나뭇잎과 줄기의 이미지만으로 질병의 종류를 파악할 수 있게 되었다[1-5]. 또한 농가에서는 여러 작물을 재배할 경우 비슷한 종류의과 일이 섞이는 경우도 발생하는데, 이미지 분류기법을 활용하여 여러 가지 종류가 섞여 있는 상태에서도 과일을 자동으로 분류할 수 있다. 그리고 실시간으로 과일의 이미지를 수집하여 과일의 수확시기 예측하기도 하며, 수집한 데이터가 적을 경우 적대적 생성모델을 사용하여 많은 데이터를 만든 다음 이를 이용하여 분류기의 성능을 높이기도 한다[6].
본 연구에서 살펴볼 내용은 수확된 단감 표면의 상태를 바탕으로 단감의 상태를 진단하며, 이를 위하여 이미지 분류기법과 객체 인식 기법을 활용한다 [7]. 일반적으로 농가에서 단감을 재배하고 출하하기 전에는 상품의 가격을 결정하기 위해 선별작업이 필요하다. 현재 우리나라에서 많이 생산되는 단감 농사의 경우 많은 자동화가 이루어 졌음에도 불구하고 최종 선별 단계 작업은 대부분 사람이 눈으로 하는 수작업을 통해서 이루어진다. 그러나 사람이 선별할 경우 판단 기준에 대한 일관성 부족으로 품질의 객관적 평가가 어렵다는 문제점이 발생한다. 즉, 1) 과실선별 자의 숙련도, 2) 조명상태와 같은 작업장의 조건, 3) 선별 작업의 제한시간 등과 같은 외부적인 조건에 따라 양품과 불량품을 분류하는 기준이 달라질 수 있다.
따라서 본 논문에서는 이러한 문제를 해결하기 위해 단감의 이미지를 기반으로 품질을 판별하는 딥러닝 모델을 제안한다. 사람의 얼굴을 판별하는 경우 앞면과 뒷면, 옆면보다는 가장 큰 특징을 나타내는 앞면 사진을 기준으로 판별하지만 기계식 분류를 하기 위해서는 과실의 앞면 사진만이 획득되는 것이 아니므로 본 연구에서는 1단계로 단감의 앞면, 옆면, 뒷면의 세 방향에 대한 이미지를 분류하는 방향 분류작업을 우선적으로 진행하였다. 이후 2단계로 방향 분류가 이루어진 이미지에 대하여 양품과 불량품으로 분류하는 품질 분류를 진행하는 방식으로 이루어진다. 최종적인 학습과 분류가 완료된 이후에는 각 분류기의 분류 기준을 시각화하기 위해 CAM을 사용하여 분류 결과를 시각화하였다. 이러한 시각화는 전문가에 의한 단감의 불량원인을 파악하는데 활용될 수 있다.
본 논문의 구성은 다음과 같다. 2장에서는 관련 연구로서 농업에서 활용이 될 수 있는 이미지 분류기법에 대해 소개한다. 3장에서는 단감의 이미지 데이터 셋에 대한 설명과 전처리 과정에 대해 기술하고, 4장에서는 본 논문에서 제안하는 단감 품질 분류혼합 모델을 포함하여 품질 분류 모델에 대해 설명 및 비교한 후, 모델별 실험 결과에 대해 설명한다. 5장에서 각 모델의 분류 기준을 시각화하기 위하여 CAM에 대해 자세히 설명하며, CAM 시각화를 통한 활성화 영역을 분석한다. 마지막으로 6장에서 연구를 통해 얻은 최종 결론과 향후 연구 방향에 대하여 논한다.
2. 관련연구
최근, 딥러닝을 활용한 합성곱 신경망(Convolu- tional Neural Network: CNN) 기술의 발전은 각 분야에 걸쳐 큰 영향력을 주고 있으며 다양한 연구에 응용되어 활용되고 있다. 그 중에서도 농업 분야에서는 농작물의 병충해를 탐지하기 위한 기술에 매우 큰 관심과 연구가 꾸준히 이루어지고 있다. 일반적으로 작물이 병충해에 노출되면 열매나 잎에서 반점이나 변색과 같은 증상이 나타난다. 이러한 증상을 육안으로 판별하여 병충해를 식별하거나 과실의 결점을 인식하기보다는 합성곱 신경망을 이용한 분류 자동화에 대한 노력이 많은 연구자들에 의해 이루어져 왔다. Ferentions 등[8]은 농가에서 촬영된 이미지와 잎만 따로 수집하여 촬영한 이미지를 학습하였을 때를 비교하여 어느 데이터가 효율이 좋은지에 대한 연구를 수행하였다. 작물의 잎에 대한 이미지 데이터를 획득한 후, 합성곱 신경망 기법을 이용하여 식물의 잎을 58개의 클래스로 분류하였고, VGGNet, GoogleNet, AlexNet 등 이미지 분류에 널리 사용되는 5개의 모델을 사용하여 성능이 가장 나은 모델 2개를 선정하였다. 그 이후 검증용 데이터를 통한 예측도를 비교하여 식물 이미지 분류에 대한 효율성을 입증하였다.
농작물의 품질 특성을 평가하는 것 역시 매우 중요한 일이다. 특히, 온실 속에서 재배되는 농작물의 경우 유통 비용을 절감하기 위해 적절한 수확 시기를 파악해야 하고, 이러한 최적의 수확 시기를 파악하기 위해서는 시기별 농작물 품질 평가가 이루어져야 한다. 특히 토마토와 같은 후숙 과일은 수확 시기에 따른 품질 특성 평가가 특히 중요하다. 고광은 등[9]은 대규모의 토마토 영상 데이터셋을 수집하여 토마토 개체의 숙도 분류를 실시간으로 수행하는 딥러닝 모델을 제안하였다. 이 논문에서 제안 모델은 객체 탐지 분야에서 빠른 속도와 높은 정확도를 보이는 CNN 기반 single stage detector를 활용하였다. 그 밖에도소민혁 등[10-14]의 연구에서는 망고의 종류를 파악하기 위한 모델이나 사과, 감귤, 토마토와 같은 다양한 농작물의 품질을 CNN을 사용하여 분류하는 등의 연구를 수행하였다.
이와 같이 농업분야에서의 이미지 분류 문제는 오랫동안 연구자들의 관심을 받아왔었다. CNN 기술이 획기적인 발전을 보여주기 이전의 연구자들은 과일이나 잎의 정상 영역과 결점 영역이 서로 다른 광학적 특징을 가진다는 사실에 주목하였다. 이 특징을 찾기 위하여 영상의 보정과 윤곽선 추출, 특징 추출에 기반한 영상처리에 집중하였으나 이러한 연구는 다양한 외부 조건에 그 성능의 변화폭이 크며, 예외적인 상황에서도 좋은 성능을 보이는데 한계가 있었다. 이 후, LeNet의 등장으로 이미지 처리 분야에서 CNN의 효과가 검증되었고, 2012년 AlexNet이 나타난 후 매년 성능이 개선된 모델들이 등장하면서 딥러닝 이미지 처리 분야는 비약적인 발전을 해왔다. 이러한 발전 과정에 크게 기여한 기법으로 Inception, VGGNet, ResNet, MobileNet 등의 심층 신경망 기술이 있다[10].
CNN 모델 중에서 널리 알려진 Inception 모델은 2014년에 개최된 ILSVRC(ImageNet Large-Scale Visual Recognition Challenge) 이미지 인식 대회에서 우승한 모델이며, 구글 출신의 Szegedy 등에 의하여 논문으로 발표되었다[15]. 이 기능은 꾸준한 개선을 보였으며, 2015년에는 V1과 V2의 성능을 압도하는 V3 모델을 보여주었다[16]. Inception은 CNN의 망을 늘려 성능을 향상시킨 모델인데, 일반적으로 딥러닝 모델의 깊이를 늘리면 과대적합이 될 가능성이 높아지지만 Inception은 각 층마다 다양한 크기의 합성 곱 신경망에 필터를 사용함으로 깊이와 크기를 늘리면서도 과대 적합을 막고, 다양한 종류의 특성 도출이 가능해졌다. 깊이가 깊어지면 속도가 느려지지만, 이 모델에서는 1x1 컨볼루션 필터를 사용하여 연산량을 줄이고 속도도 높일 수 있었다.
VGGNet(Visual Geometry Group Net)은 옥스퍼드 대학의 연구팀에서 개발된 모델로, 2014년에 개최된 ILSVRC(ImageNet Large-Scale Visual Recognition Challenge) 이미지 인식 대회에서 준우승을 한 모델이다. 이 모델은 GoogLeNet에 비해 굉장히 간단한 구조를 사용하면서도 비슷한 성능을 보여주면서 신경망 깊이의 유효성을 증명한 모델로 평가 받고 있다[17]. VGGNet의 연구진은 모델의 깊이를 깊게 만들었을 때 성능에 어떤 영향을 미치는지 확인하기 위해 컨볼루션 필터를 3×3으로 고정하여 실험하였으며, 여러 번의 실험결과 신경망의 깊이가 깊어질수록 오차값이 감소하는 것을 확인하였다. 그리고 5x5 필터를 사용했을 때 보다 3×3 필터를 두 번 연산했을 때 동일한 크기를 결과를 가져오면서 연산량을 줄일 수 있었고, 층의 개수를 늘림으로 비선형성을 증가시킬 수 있다는 것도 밝혀내었다.
ResNet은 마이크로소프트에서 개발한 모델로 연구진은 이전 모델들이 층이 깊어질수록 성능이 떨어지는 현상을 발견하였으며, 이를 극복하기 위한 방법으로 고안되었다[18]. ResNet은 층이 깊어지면서 발생하는 기울기 소실 문제를 스킵 연결을 이용한 잔차학습(residual learning)을 통해 해결하였다.
MobileNet은 구글에서 개발한 모델로서 핵심은 Xception[19]에서 제안한 깊이별 분리 합성곱(De- pthwise-Separable Convolution)을 사용하여 경량화된 기법으로 설계한 모델이다[20]. 이 모델은 경량화를 통해 기존에는 어려웠던 핸드폰, 임베디드 시스템과 같은 저용량 메모리 환경에서 딥러닝 모델을 사용할 수 있게 되었다.
MobileNet은 높은 성능과 경량화를 목적으로 설계된 합성곱 신경망 모델로 다양한 분야에서 응용이 되고 있다. 과일을 구분하기 위한 자동 선별 장치와 같은 임베디드 장비에서는 주로 저성능 컴퓨터가 많이 사용되는데, 이러한 환경에서도 높은 정확도를 얻기 위해서는 작고 가벼운 합성곱 신경망 모델이 더 적합하다. 고광은 등[10]은 과일의 결점을 찾기 위하여 수정된 MobileNet을 이용하였는데, 이 모델을 사용하여 결점이 있는 과일을 분류하는 기법을 제안하였다. 수정된 MobileNet은 기존 MobileNet의 틀을 지키는 선에서 구조를 재설계하고 ResNet에서 사용된 Skip Connections을 도입하여 과일 분류에 있어 더 높은 성능을 보여주었다. 본 논문에서는 Mobile Net을 대신하여 과일 분류로서 성능이 검증된 수정된 MobileNet을 사용하였다.
이미지를 분류하기 위한 CNN 모델의 연구와 함께 각 모델의 성능을 시각화하기 위한 연구도 계속되었는데 대표적인 연구가 바로 CAM이다. CAM은 Rother 등이 2016년 CVPR 학술대회에 발표한 논문에서 사용된 용어이다[21]. 기존의 CNN 모델은 이미지를 통해 어떻게 결과를 도출하는지에 대한 해석이 어려웠으며 이를 해결하기 위해 CAM을 고안하게 되었다. CAM은 CNN 분류기에서 이미지의 어느 부분이 결과 값에 영향을 주었는지를 분석하기 위하여 레이어 시각화 수식을 통해 히트맵(heat map)을 생성하고, 입력 값으로 들어간 이미지와 결합하여 결과를 도출한다. 이렇게 결합된 이미지를 통해 모델의 분류 기준 영역을 시각화할 수 있게 되었다.
3. 데이터 집합
3.1 단감 이미지 데이터 집합과 특징
본 논문에서는 단감의 품질 분류를 위한 목적으로 수확한 단감의 이미지 데이터를 직접 구축하였으며, 단감 데이터의 표면 이미지를 세 방향에서 촬영한 영상 자료를 사용하였다. 단감의 품질은 출하 시에 상품성이 높은 양품 단감과 상품성이 낮은 불량 단감의 두 가지로 나누어진다. 이러한 분류 작업은 관련 분야의 전문성이 있는 재배 농가의 숙련가가 참여하였다. 분류된 작업을 바탕으로 동일한 조명 조건에서 단감의 표면 사진을 촬영하였는데, 촬영한 이미지는 단감의 앞면과 뒷면, 그리고 옆면의 3개의 클래스로 나뉘며 이 클래스 역시 레이블링 작업을 통해서 이미지 데이터베이스를 구축하였다.
출하를 위한 육안 분류에서 전문 작업자는 단감의 여러 면의 상태와 색상을 보는데, 단감의 표면은 원형 또는 타원형의 둥근 모양을 띄기에 표면 전체를 사진 1장에 담기는 어려운 일이다. 더불어, 단감을 선별하기 위해서는 특정 단면만 가지고는 불량인지 판별할 수 없다. 이러한 문제를 해결하기 위하여, 본 논문에서는 특징이 가장 잘 드러나는 대표적인 표면 3곳인 앞면, 뒷면, 옆면을 각각 촬영하였다.
단감의 품질 분류는 양품, 불량품 두 가지 상태로 분류하였는데, 이는 상품출하 가능여부를 기준으로 정하였다. 양품 단감은 상품으로 출하가 가능하고, 불량품은 출하가 불가능한 상태이다. 단감의 불량을 가르는 기준은 다양하다. 그러나 본 논문에서는 다음과 같은 분명한 기준을 이용하였다.
1. 단감이 너무 익어 홍시가 된다면 상품으로서의 가치가 떨어져서 불량으로 판별한다.
2. 단감의 꼭지가 떨어지거나 외상을 입으면 가치는 떨어져서 불량으로 판별한다.
3. 병충해가 있을 경우 불량을 판별하게 된다.
기준 1의 경우는 홍시로 분류되어 단감 출하 기준을 만족시키지 못하여 불량으로 정의한 것이며 과수 재배 농가의 필요에 따라 홍시 상품으로도 출하는 가능할 것이다.
Fig. 1은 단감의 샘플 이미지로서 각 클래스별 예를 보여주고 있다. Table 1은 데이터 개수에 대한 정보이다. 전체 이미지 데이터는 총 940개가 수집되었고, 수집한 데이터는 Grabcut 알고리즘을 사용하여 배경을 삭제한 후 크기를 160×160으로 변경하였다. 그림 (a), (b)는 단감의 뒷면사진이며 모두 불량품으로 분류된 사진이다. 그림 (c), (d)는 단감의 앞면 사진으로 역시 불량품으로 분류되었다. (e), (f)는 단감의 옆면 불량사진이다. 그림 아래의 사진은 모두 양품 이미지이며 (g), (h)는 뒷면, (i), (j)은 옆면 사진이다.
Fig. 1. Persimmon Image Data. (a), (b) Back/Bad, (c), (d) Front/Bad, (e), (f) Side/Bad, (g), (h) Back/Normal, (i), (j) Front/Normal, and (k), (l) Side/Normal.
Table 1. Dataset details.
3.2 데이터 셋과 전처리
Table 1에 표기된 원본 데이터 개수를 살펴보면 앞면의 경우 양품은 34개이며 옆면의 경우 불량 이미지가 318개로 데이터의 불균형이 심한편이다. 더불어 앞면 양품 이미지의 개수가 매우 적기에 과적합의 가능성이 존재한다. 그렇기에 본 논문에서는 데이터를 증식하여 학습을 진행하였고, 라이브러리는 이미지 학습에 주로 사용되는 Augmentation 라이브러리를 활용하였다. 원본 데이터에서 훈련 데이터와 테스트 데이터의 비율은 8:2로 하였고, 훈련 데이터는 데이터 증식을 통해 400개로 증식 후 다시 학습용과 검증용을 3:1 비율로 나눠서 훈련하였다. 또한 과적합을 방지하기 위해 테스트 데이터는 완전히 분리하여 데이터 증식 후 학습을 진행하였다.
모델의 성능을 높이는 방법은 크게 두 가지로 모델의 구조를 변경하는 방법과 데이터를 정제하는 방법이 있다. 또한, 객체를 분류하는데 있어서 분류의 기준이 되는 사물 이외의 것들은 정확도를 떨어트리는 요인이 될 수 있다. 본 논문에서 사용된 데이터셋의 배경은 시멘트 바닥, 가정용 매트, 과실 적재용 상자 등 다양한 배경을 가지고 있다. 그렇기 때문에 이미지에서 과일 이외의 배경을 제거하여 모델의 성능 향상을 이루었으며, 전처리 기법으로 Grabcut 알고리즘을 사용하였다[23]. Grabcut 알고리즘은 이미지에서 배경과 전경을 구분하여 전경을 추출하는 알고리즘으로 작업하고자 하는 이미지에 경계선을 지정하여 GMM(Gaussian Mixture Model)을 통해 색상 분포를 추정한다. 그리고 상태 에너지 최소화 함수를 통한 최적화방법을 사용하여 객체의 전경과 배경을 분류한다. 즉 전경에 모든 화소를 할당하고 현재 분류를 기반으로 유사 색상 값을 가진 화소를 클러스터링 하여 최적화하고 분할 결과를 개선하기 위한 과정을 반복하여 전경과 배경의 분리 결과를 획득할 수 있다.
Fig. 2는 Grabcut 알고리즘의 적용 전, 후에 대한 이미지로 원본 이미지에서 빨간 점선 박스를 통해 경계선을 지정하면 해당 알고리즘을 통해 배경을 제거한 이미지를 반환한다. 경계선은 추출하고자 하는 배경과 전경을 분리할 수 있도록 적정선을 설정을 해줘야 원하는 전경을 추출할 수 있다.
Fig. 2. Persimmon Preprocessing.
4. 딥러닝 알고리즘과 실험 결과
4.1 품질 선별 모델
본 장에서는 단감 품질 선별을 위한 CNN 이미지 분류 모델을 소개한다. 모델은 이미지 분류에 있어 성능이 증명된 VGG19, InceptionV3, ResNet50, 수정된 MobileNet을 Fine-tunning을 통해서 모델의 가중치를 초기화하고 출력 레이어를 수정한 후 학습하였다. 본 논문에서 클래스 분류 방법에 따라 단순이진 분류 모델, 다중 클래스 분류 모델, 혼합 2단계 모델 3가지를 설계하였고, 각 모델은 위의 CNN 구조 4가지를 통해 모델을 구축하고 성능을 비교하였다.
모델 학습에 설정한 매개변수에서 최적화 방법은 Adam(Adaptive Moment Estimation) 알고리즘을 이용하였고, 학습율은 0.0001, 배치 크기는 8, Epoch 는 100회로 설정하였다. 모델의 결과는 테스트 데이터 셋에 대한 결과값으로 혼돈 행렬(Confusion ma- trix)을 통해 TP(True Positive), FP(False Positive), TN(True Negative), FN(False Negative)를 구하고, 해당 값을 통해 정확도, F-1 점수를 산출하여 성능을 평가하였다.
4.1.1 단순 이진 분류 모델
Fig. 3은 단순 이진 분류 모델로 이미지 데이터셋에서 단감 표면의 상태만 양품과 불량품을 분류하는 모델이다. 데이터상의 입력으로 단감의 이미지는 3면이 들어가지만, 모델은 방향에 대한 정보는 무시하고 표면 상태만 분류하도록 하였다. 단순 이진 분류 모델의 출력은 2개로 양품, 불량품으로만 나누어진다. 이 모델의 수행결과가 Table 2에 나타나 있다. 성능 검사 결과 InceptionV3가 정확도 87.5%로 나타났으며, F1 점수 역시 91.4%로 가장 높게 나왔다. 재현율과 정밀도라는 지표 대신 F1 점수 지표를 사용한 이유는 이 지표가 재현율과 정밀도의 조화 평균을 반환하기 때문이다. 이 때문에 재현율과 정밀도 지표 값 중 하나가 매우 낮을 경우, F1 점수도 매우 낮게 나오기 때문에 산술 평균에 비하여 재현율과 정밀도의 편차를 많이 반영하기 때문이다.
Fig. 3. Persimmon Quality Classification Algorithm: Simple Binary Classifier Model.
Table 2. Summary of results using Simple Binary Classifier Model.
4.1.2 다중 클래스 분류 모델
Fig. 4는 다중 클래스 분류 모델로 품질 선별과 방향을 한 번에 분류하도록 클래스를 6개로 나누어 학습하였다. 출력 레이어는 6개로 앞면 양품과 앞면 불량, 뒷면 양품, 뒷면 불량, 옆면 양품, 옆면 불량으로 나누어진다. Table 3은 다중 클래스 분류 모델의결과표로, 성능은 InceptionV3가 정확도 89.5%와 F1 점수 68.4%로 가장 높게 나왔다. 이 모델의 경우 결과 레이블이 너무 세분화 되어있어 비교적 좋은 성능을 보여주지 못하고 있다.
Fig. 4. Persimmon Quality Classification Algorithm : Multi- Class Classifier Model.
Table 3. Summary of results using Multi-Class Mode.
4.1.3 혼합 2단계 모델
마지막으로 Fig. 5는 본 논문에서 제안하는 혼합 2단계 모델로서 방향 분류 모델과 앞면/뒷면/옆면 품질 선별 모델을 개별적으로 구축하여 학습한 후에 결합하였다. 방향 분류 모델의 출력 레이어는 3개로 앞면, 뒷면, 옆면으로 나누어지고, 앞면/뒷면/옆면 품질 선별 모델의 출력 레이어는 동일하게 양품, 불량품 2개로 나누어진다. 혼합 모델의 프로세스는 다음과 같다. 단감 이미지 데이터를 입력하면 방향 분류모델을 거쳐서 방향을 분류하고 해당 방향에 맞는 품질 선별 모델을 다시 거친 후 양품, 불량품을 판별하게 된다. 예를 들어 앞면 불량 이미지를 입력 값으로 넣을 경우 방향 선별 모델을 통해 앞면을 판별하고 앞면 품질 선별 모델로 들어가서 불량을 판별하게 되는 시스템이다. 이는 데이터 분류 기준이 방향과 품질 두 가지로 나누어지기에 각각의 모델에서 하나의 기준점을 두고 분류를 했을 시 더 높은 성능 보여줄 거라는 가정하에 설계되었다.
Fig. 5. Persimmon Quality Classification Algorithm : Mixed Two-Step Model Structure.
Table 4는 혼합 2단계 모델을 구성하는 방향 분류모델과 방향별 품질 선별 모델의 결과표이다. 이미지 상에서 많은 정보량을 가지고 있는 방향 분류 모델과 앞면 품질 선별 모델의 경우 높은 성능을 보여주었다. 하지만, 비교적 정보량이 적은 뒷면, 옆면 품질선별 모델의 경우 낮은 성능을 보였다.
Table 4. Summary of results using Mixed Two-Step Model.
Table 5는 혼합 2단계 모델의 종합 결과표로 InceptionV3와 ResNet50가 동일하게 가장 높은 성능으로 정확도 87%, F1 점수 91.9%가 나왔다.
Table 5. Summary of results using Mixed Two-Step Model.
분류를 2단계로 나누어서 할 경우 단계가 증가하여 시간과 비용이 다소 증가하지만 1단계에서 앞면, 옆면, 뒷면을 판별하는 단계의 성능이 매우 뛰어나기 때문에 최종 점수가 이진 분류 모델, 다중 클래스보다 나은 정확도 87%, F1 점수 91.9%의 비교적 좋은 성능을 보여주는 것을 알 수 있다.
5. 분류 시각화 알고리즘
5.1 CAM
최근 딥러닝 분야에서는 인공지능의 결과를 이해하고 올바르게 해석할 수 있고, 결과물이 생성되는 과정을 설명 가능하도록 해주는 기술인 설명 가능한 인공지능인 XAI(eXplainable AI)에 대한 연구 역시 활발히 진행되고 있다. CNN의 특징 정보는 합성곱층과 풀링 층을 거칠 때는 유지가 되지만, 완전 연결층을 거칠 때 소실이 된다고 한다. 이러한 문제를 해결하기 위해 완전 연결층을 대신하여 GAP(Global Average Pooling)이 사용되고 있다. 더불어 GAP은 위치 정보를 그대로 보유하기 때문에 특징 정보에 대한 시각화가 가능해졌다. 이렇게 GAP을 통한 시각화 기법을 CAM이라 한다. CAM은 학습된 CNN 모델의 전이학습을 통해 생성되는데, 모델의 마지막 합성 곱 층에서 평활화를 하는 대신 GAP을 사용하여 다음 레이어를 생성하고, 마지막 결과값으로 이어진다. 이렇게 전이학습을 한 후 결과값으로 가는 가중치와 마지막 합성곱 층을 곱하여 각 필터별 특징 맵을 추출하고, 이 값을 전부 더하여 특징 맵을 구할 수 있다. CAM 이외에도 Grad-CAM과 Grad-CAM++ 같은 다양한 시각화 기법들이 존재한다. 본 논문에서는 CNN 모델을 사용하여 단감의 품질을 판별하였기에, 시각화 영역의 경계가 단순하여 구현상의 편의에 의해 CAM을 채택하였다.
Fig. 6은 CAM 기반의 단감 품질 판별 시각화 시스템의 구조이다. 먼저 CNN Backbone을 구축하기 위해 품질 판별에 사용된 분류기를 전이학습하고, 마지막 계층인 완전 연결 계층(fully-connected layer, FC)과 출력 레이어를 제거하였다. 그리고 이 CNN Backbone에 합성곱 신경망과 GAP, 완전 연결 계층을 차례로 추가하여 CAM 구조를 완성하였다. 여기서 단감 이미지가 입력으로 들어가면 CNN Back- bone과 GAP을 거쳐서 이미지의 결과에 해당하는 레이어가 활성화되는데, 이렇게 활성화된 레이어로 향하는 가중치와 마지막 합성곱 층을 곱하여 특징 맵을 구하고 시각화할 수 있다.
Fig. 6. CAM Structure.
5.2 CAM을 사용한 시각화와 의미파악
Fig. 7은 방향 분류 모델별, Fig. 8은 방향별 품질선별 모델에서 산출된 활성화 영역과 원본 데이터를 결합한 이미지이다. 방향 분류 모델에서 앞면은 단감의 침 주위, 뒷면은 꼭지, 옆면은 표면의 가운데 영역으로 사람의 육안으로 구별하는 특징을 바르게 시각화하였고, 품질 분류 모델은 불량으로 판별할 수 있는 영역인 홍시, 검은 반점, 탄 부위 등의 특징 영역에서 시각화되는 것을 볼 수 있었다.
Fig. 7. CAM of Direction Model.
Fig. 8. CAM of State Model.
사람의 육안으로 품질을 판별할 경우 면밀히 관찰하지 않는다면 불량 단감을 체크하지 못하는 경우가 종종 발생한다. 더불어, 품질판별 모델을 통해 단감을 선별하더라도 육안으로 봤을 때와 비교하여 납득하기 어려운 상황이 있다. 가령, 단감이 홍시로 변하는 과정임에도 겉표면의 색상이 주황색으로 유지하는 경우, 또는 다른 단감의 침에 찔려 미세한 상처가 생기지만 시간이 지나야 상처가 덧나기 때문에 판별이 어려워지는 경우, 불량으로 레이블링 된 이미지를 보더라도 납득이 쉽게 되지 않을 수 있으며, 노린재, 탄저병과 같은 질병 또한 육안으로 판별이 힘든 경우가 종종 발생하는데, 이런 부분을 CAM을 통해 시각화한다면 모델의 신뢰도가 높아질 수 있을 것이다.
6. 결론 및 향후 연구과제
일반적으로 농업 분야는 연간 작업량의 불균형이심 한 편으로 주로 수확 시기에 작업량이 늘어난다. 하지만, 대부분의 농가의 수확시기는 특정한 계절에 집중되어 있어서 이 시기에 인력 부족으로 어려움을 겪고 있다. 이러한 인력 부족 문제를 극복하기 위해 농업 라인의 과실분류 자동화에 대한 지속적인 연구가 진행되고 있다. 본 논문에서는 CNN 알고리즘을 이용하여 단감의 품질을 선별하기 위한 여러 가지 분류 모델을 시험하였다. 특히 앞면, 뒷면, 옆면을 먼저 분류한 후에 양품과 불량품으로 분류하는 혼합 2단계 분류 모델을 설계 및 구현하였다. 또한, 제안된 모델과 단순 이진 분류 모델, 다중 클래스 분류 모델과 비교하여 그 성능을 측정하였다. 이를 위한 데이터 셋은 6가지 클래스로 총 940개의 데이터를 자체 수집한 후 데이터를 증식하였고, VGG19, Inception V3, ResNet50, 수정된 MobileNet의 다양한 CNN 모델을 적용하였다. 이 모델들을 모두 사용하여 모델을 학습 및 검증한 후, CAM을 사용하여 단감의 주요 품질 판별에서 불량에 대한 원인을 시각화함으로 사람의 육안으로 판별이 어려웠던 부분을 확인할 수 있었다.
실험 결과 다중 클래스 분류를 할 경우 Inception V3 모델이 89.5%로 가장 높은 분류 성능을 보여주었지만, F1 점수는 68.4%의 정확도 밖에 보여주지 못하였다. 반면 본 논문의 혼합 2단계 분류 모델은 87%의 비교적 높은 정확도를 보여주었다. 특히, 이 모델의 경우 정밀도와 재현율의 조화평균값인 F1 점수에서는 91.9%로 다중 클래스 분류모델에 비하여 매우 높은 성능을 보여주었다. 따라서 F1 점수가 좋은 혼합 2단계 분류 모델이 단감 분류에 사용되기에 적절한 모델로 간주할 수 있다.
또한, 본 연구에서는 불량품으로 분류된 단감에 대해서 어떠한 요인에 의하여 불량으로 분류되었는가를 시각화하기 위한 CAM 기법을 연구하였다. CAM을 통한 시각화는 단감의 품질 불량의 원인 파악 연구에 적용할 수 있을 것으로 기대된다. 향후 연구과제로 CAM 이외에 Grad-CAM과 Grad-CAM++ 같은 다양한 기법을 활용한 시각화의 고도화가 이루어져야 하며, 본 연구의 결과를 임베디드 시스템과 자동화된 기기에 사용하여, 농가의 수작업 분류작업을 덜어주기 위한 용도로 활용되어야 할 것이다.
※ This research is financially supported by Changwon National University in 2021∼2022.
References
- M. Valeria, E.G. Carlos, A.Z. Laura, M.C. Jose, G. Jorge, and G. Hamurabi, et al. "Comparison of Convolutional Neural Network Architectures for Classification of Tomato Plant Diseases," Applied Sciences, Vol. 10, Issue 4, ID 1245, 2020, doi:10.3390/app10041245.
- H. Ham, D. Kim, J. Chae, S. Lee, Y. Kim, and H.U. Cho, et al. "A Study of Tomato Disease Classification System Based on Deep Learning," The Transactions of the Korean Institute of Electrical Engineers, Vol. 69, No. 2, pp. 349-355, 2020. https://doi.org/10.5370/kiee.2020.69.2.349
- G. Wang, Y. Sun, and J. Wang, "Automatic Image-Based Plant Disease Severity Estimation Using Deep Learning," Journal of Computational Intelligence and Neuroscience, Vol 2017, Article ID 2917536, 2017, https://doi.org/10.1155/2017/2917536.
- S.P. Mohanty, D.P. Hughes, and M. Salathe, "Using Deep Learning for Image-Based Plant Disease Detection," Frontier in Plant Science, Vol. 7, No. 1419, pp. 1-7, 2016.
- L.G. Nachtigall, R.M. Araujo, and G.R.. Nachtigall, "Classification of Apple Tree Disorders Using Convolutional Neural Networks," Proceedings of the 2016 IEEE 28th International Conference on Tools with Artificial Intelligence, pp. 472-476, 2016.
- J. Park, H. Kim, and K. Kim, "Accessing Impact of DCGAN Image Data Augmentation for CNN based Tomato Disease Classification," Journal of Digital Contents Society, Vol. 21, No. 5, pp. 959-967, May 2020 https://doi.org/10.9728/dcs.2020.21.5.959
- M. Kanae, S. Maria, B. Kohei, T. Kouki, S. Tetsuya, and S. Maya, et al. "Noninvasive Diagnosis of Seedless Fruit Using Deep Learning in Persimmon," The Horticulture Journal Preview, Vol. 90, No. 2, pp. 172-180, 2021. https://doi.org/10.2503/hortj.UTD-248
- K.P. Ferentions, "Deep Learning Models for Plant Disease Detection and Diagnosis," Computers and Electronics in Agriculture, Vol. 145, pp. 311-318, 2018. https://doi.org/10.1016/j.compag.2018.01.009
- K.E. Ko, S. Yang, and I.H. Jang "Real-Time Tomato Ripeness Classification System based on Deep Learning Model for Object Detection," Journal of Institute of Control Robotics and Systems, Vol. 24 No. 11, pp. 999-1004, 2018. https://doi.org/10.5302/j.icros.2018.18.0166
- M. So, C. Han, and H. Kim, "Defect Classification Algorithm of Fruits Using Modified MobileNet," Journal of KIIT, Vol. 18, No. 7, pp. 81-89, 2020.
- A.S.A. Mettleq, I.M. Dheir, A.A. Elsharif and S.S. Abu-Naser, "Mango Classification Using Deep Learning," International Journal of Academic Engineering Research, Vol. 3 No. 12, pp. 22-29, 2020.
- J. Li, S. Xie, Z. Chen, H. Liu, and J. Kang and Z. Fan, et al. "A Shallow Convolutional Neural Network for Apple Classification," IEEE Access, Vol. 8, pp. 111683-111692, 2020. https://doi.org/10.1109/access.2020.3002882
- S. Sakib1, Z. Ashrafi, and Md. A.B. Sidique "Implementation of Fruits Recognition Classifier using Convolutional Neural Network Algorithm for Observation of Accuracies for Various Hidden Layers," arXiv preprint, arXiv:1904.00783, 2019.
- O.A. Mohammed and S.A. Samy "Classification of Apple Fruits by Deep Learning," International Journal of Academic Engineering Research, Vol. 3 Issue 12, pp. 1-9, 2019.
- C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, and D. Anguelov, et al., "Going Deeper with Convolutions," Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 1-9, 2015.
- C. Szegedy, V. Vanhoucke, S. Ioffe, J. Shlens, and Z. Wojna "Rethinking the Inception Architecture for Computer Vision," Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 2818-2826, 2016.
- K. Simonyan and A. Zisserman, "Very Deep Convolutional Networks for Large-Scale Image Recognition," arXiv preprint. arXiv:1409.1556, 2014.
- K. He, X. Zhang, S. Ren, and J. Sun, "Deep Residual Learning for Image Recognition," Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 770-778, 2016.
- F. Chollet, "Xception: Deep learning with Depthwise Separable Convolutions," arXiv preprint, arXiv:1610.02357, 2016.
- A.G. Howard, M. Zhu, B. Chen, D. Kalenichenko, W. Wang, and T. Weyand, "Mobile Nets: Efficient Convolutional Neural Networks for Mobile Vision Applications", arXiv preprint, arXiv:1704.04861, 2017.
- B. Zhou, A. Khosla, A. Lapedriza, A. Oliva, and A. Torralba, "Learning Deep Features for Discriminative Localization," arXiv preprint, arXiv:1512.04150, 2015.
- C. Rother, V. Kolmogorov, and A. Blake, "Grab Cut: Interactive Foreground Extraction Using Iterated Graph Cuts", ACM SIGGRAPH, Vol. 23, No. 3, pp. 309-314, 2004. https://doi.org/10.1145/1015706.1015720
- R. Zhang, and E. Lee, "Human Face Recognition Based on improved CNN Model with Multi-layers," Journal of Korea Multimedia Society, Vol. 24, No. 5, pp 701-708, 2021. https://doi.org/10.9717/KMMS.2021.24.5.701