DOI QR코드

DOI QR Code

ResNeXt 모델 기반의 외래잡초 영상 판별 시스템

Exotic Weed Image Recognition System Based on ResNeXt Model

  • Kim, Min-Soo (Dept. of Electronics Convergence Eng., Kwangwoon University) ;
  • Lee, Gi Yong (Dept. of Electronics Convergence Eng., Kwangwoon University) ;
  • Kim, Hyoung-Gook (Dept. of Electronics Convergence Eng., Kwangwoon University)
  • 투고 : 2021.04.06
  • 심사 : 2021.06.09
  • 발행 : 2021.06.30

초록

In this paper, we propose a system that recognizes weed images using a classifier based on ResNeXt model. On the server of the proposed system, the ResNeXt model extracts the fine features of the weed images sent from the user and classifies it as one of the most similar weeds out of 21 species. And the classification result is delivered to the client and displayed on the smartphone screen through the application. The experimental results show that the proposed weed recognition system based on ResNeXt model is superior to existing methods and can be effectively applied in the real-world agriculture field.

키워드

1. 서론

다양한 환경 조건에 잘 적응하는 생태적 특성이 있는 외래잡초는 주로 인간, 동물, 운송 수단 등을 통해 전파되며 장소를 가리지 않고 대량으로 번식한다. 매년 농경지 환경에서 잡초는 작물과 경쟁하여 영양분을 독식하고 생산량에 막대한 피해를 주고 있다. 이러한 현상을 효과적으로 방지하기 위해서는 잡초를 정확히 분류하고 각 종마다 적합한 제초제를 사용해야 한다[1]. 그러나 인간의 눈으로 많은 종의 잡초를 분류하려면 상당한 양의 노동력이 필요하고 전문가가 아닌 일반인은 잡초의 특징을 구분하기조차 쉽지 않다. 이에 따라 딥러닝 기반의 영상처리를 이용한 잡초 판별 연구가 활발하게 진행되고 있다 [2,3].

최근에는 정확한 잡초 판별을 위해 컴퓨터 비전 분야에서 주목받고 있는 영상 분류 및 인식 모델을 적용하고 있다[4,5]. 그중, 합성곱 신경망(Convolutional Neural Network, CNN)이 딥러닝 기반의 영상분류 기술 분야에서 기존의 방식들보다 우수한 성능을 보여주고 있다. 이를 바탕으로 CNN의 층을 깊게 형성하여 성능을 향상시킨 다양한 심층 합성곱 신경망(Deep Convolutional Neural Network, DCNN)들이 제안되었다. Jiang[6]은 비교적 큰 커널 크기의 합성 곱 필터를 사용한 AlexNet[7]보다 작은 합성곱 필터를 적용하여 매개변수를 감소시킨 VGGNet[8]을 통해 12개 종의 잡초를 높은 정확도로 분류했다. 이러한 작은 크기의 합성곱 필터로 구성된 합성곱 층과 완전 연결(Fully-Connected)층으로 이루어진 단순한 구조의 VGGNet은 학습이 쉽고 성능이 우수하여 영상의 특징을 추출하기 위해 많은 분야에서 활용되었고 신경망의 깊이가 성능 향상에 중요한 역할을 한다는 것을 증명하였다. 그러나 신경망의 깊이가 깊어질수록 전체 연산량이 많아지면서 학습 속도가 느리다는 단점을 동반하였다. 이를 해결하기 위해 Olsen등[9]은 다양한 커널 크기의 합성곱 필터를 병목 구조로 사용하는 Inception블록과 단순화된 완전연결층을 결합한 InceptionV3[10]를 이용하여 학습속도를 향상시켰으며 실시간 로봇 방제 시스템의 가능성을 보여주었다. MobileNetV2[11]의 경우에는 채널 간 연산을 분리해 수행하는 MobileNet을 변형한 구조로 기존 DCNN의 수행 속도를 줄이고 연산에 사용되는 메모리양을 개선하였다.이는 성능 면에서 다른 DCNN보다 높은 수치를 보이지는 않지만 모바일 기기나 임베디드 기기에서도 활용 가능하다는 장점을 가지고 있다. 반면 딥러닝의 신경망을 깊고 넓은 구조로 쌓을수록 성능이 향상된다고 알려져 있지만 동시에 기울기 소실/폭발 문제로 인해 학습이 어려워지는 현상도 함께 발생하였다.Kim[13]은 잔류학습 방식을 적용하여 DCNN의 층을 매우 깊게 쌓으면서 우수한 성능을 보여준 ResNet[12]기반의 토마토 작물 질병 분류 방식을 제안하며 다양한 깊이의 층으로 구성된 ResNet모델을 비교하였다.이를 바탕으로 ResNeXt[14]는 ResNet의 잔류 학습 방식과 Inception V3의 병목 구조를 유지하며 카디널리티 (Cardinality)라는 새로운 차원의 개념을 도입하여 영상 분류 성능을 향상시켰다.

이에 본 논문에서는 ResNeXt모델을 사용하여 잡초 영상으로부터 미세한 특징을 추출하고 가장 유사한 종의 명칭과 정확도를 사용자에게 알려주는 잡초 영상 판별 시스템을 제안한다.

본 논문의 구성은 다음과 같다. 2장에서는 제안하는 잡초 영상 판별 시스템의 구조에 대해 설명한다. 3장에서는 실험을 통한 잡초 영상 분류 결과를 보여준다. 그리고 4장에서는 결론을 맺고 향후 연구를 제시한다.

2. 제안하는 잡초 영상 판별 시스템

본 논문에서 제안하는 잡초 영상 판별 시스템의 전체 구조는 Fig.1과 같이 클라이언트와 서버로 구성된다. 우선 클라이언트인 사용자는 안드로이드 기반의 애플리케이션을 이용하여 잡초를 촬영하고 해당하는 잡초 영상은 자동으로 서버로 전송된다. 이때, 스마트폰 카메라를 통해서 촬영된 잡초 영상은 128×128프레임 크기의 JPEG파일 형식으로 저장된다. 다음으로 서버에서는 사용자로부터 전송받은 영상이 ResNeXt모델 기반 분류기에 입력된다. 21개종의 잡초 영상을 통해 학습된 ResNeXt모델은 입력된 잡초 영상의 세밀한 특징을 추출하고 이를 기반으로 잡초 분류를 수행한다.잡초 분류가 완료되면 가장 유사한 종의 명칭과 정확도가 출력되며 분류 결과는 다시 클라이언트로 전달되어 스마트폰 화면에 표시된다. 이와 같이 잡초 분류를 위한 딥러닝 기반의 영상처리 과정을 서버에서 진행하기 때문에 스마트폰의 연산 부담을 최소화하여 사용자에게 더 빠른 잡초 영상 판별 시스템을 제공한다.

MTMDCW_2021_v24n6_745_f0001.png 이미지

Fig. 1. Framework of proposed weed image recognition system.

2.1 ResNeXt 기반의 잡초 분류 모델

본 논문에서는 다양한 종의 잡초 영상으로부터 섬세한 차이를 학습하고 인식 정확도를 향상시키기 위한 신경망으로 ResNeXt-101 모델을 제안한다. ResNeXt는 ResNet의 잔류 연결과 Inception 모듈에서 사용된 병목 구조 기반의 split-transform-merge 방식을 적용하였다.ResNeXt에서 입력은 저차원으로 분할되어 다수의 병목 구조를 통해 변형되고 다시 병합된다. 이때, 카디널리티는 병목 구조의 수를 의미하며 ResNeXt는 카디널리티를 증가시킴으로써더 적은 매개변수를 사용하며 성능을 향상시킬 수 있음을 증명하였다.

Fig.2는 본 논문에서 제안하는 ResNeXt-101의 구조도를 보여준다. 먼저 ResNeXt-101에는 128× 128 프레임 크기의 3채널 RGB 영상이 입력된다. ResNeXt-101은 합성곱 층, ResNeXt블록, Global AveragePooling, Dropout, Softmax로 구성되며 매개변수를 줄이기 위해 변형된 합성곱 층은 3×3커널크기를 가진 합성곱 필터(ConvolutionFilter, Conv), 배치 정규화(BatchNormalization, BN), 선형 유닛 (RectifiedLinearUnits, ReLU)활성화 함수, 커널 크기가 2×2인 Max-Pooling으로 설정하였다. 합성곱층의 Conv는 32개의 특징 맵을 추출하고 BN을 통해 정규화한 후 ReLU활성화 함수와 Max-Pooling 과정을 거쳐 가장 뚜렷한 특징 값을 추출하여 ResNeXt 블록으로 입력한다. ResNeXt-101은 101개의 합성곱층을 가지고 있으며 Table1과 같이 4가지 형태의 변형된 ResNeXt블록으로 구성된다. ResNext블록은 다수의 병목 구조가 병렬로 이루어진 구조이며 각 병목 구조는 1×1, 3×3, 1×1커널 크기를 갖는 3개의 합성곱 필터가 직렬로 연결된 구조이다. 이러한병목 구조는 적은 수의 매개변수만으로도 출력되는 특징 차원의 수를 증가시킬 수 있기 때문에 4가지의 ResNeXt블록이 연결된 깊은 구조의 ResNeXt-101 는 더 다양한 윤곽 특징을 효과적으로 추출할 수 있다. 또한 ResNeXt블록으로 입력되는 데이터의 정보를 유지하기 위해 모든 ResNeXt블록의 잔류 연결에는 추가적인 연산 과정을 포함하지 않았다.

MTMDCW_2021_v24n6_745_f0002.png 이미지

Fig. 2. Structure of proposed ResNeXt-101.

Table 1. ResNeXt-101 with a 32×4d template.

MTMDCW_2021_v24n6_745_t0001.png 이미지

2.2 ResNeXt 블록

ResNeXt는 ResNet과 같이 잔류 학습 방식을 그대로 유지하지만 카디널리티라는 새로운 개념을 적용하여 적은 매개변수로도 분류 성능을 향상시킬 수 있었다. 카디널리티는 동일한 병목 구조가 적용된 ResNeXt블록의 병렬 연결 수를 의미한다. 기존의합성곱 신경망은 출력하고자 하는 특징 차원의 수를 증가시키기 위해 특징 차원만큼의 합성곱 필터가 필요했기 때문에 신경망의 구조가 넓어지거나 깊어진다는 단점이 있었다. 하지만 ResNext는 출력하고자 하는 특징의 차원 수를 카디널리티만큼 분할하여 추출한다. 따라서 ResNeXt는 병목 구조를 병렬로 쌓아 올림으로써 출력되는 특징 차원의 수를 효과적으로 증가시킬 수 있다.병목 구조는 1×1커널 크기를 가지는 합성곱 필터를 사용하여 적은 연산량을 통해 입력 벡터의 차원을 줄여서 특징을 추출한다. DCNN구조에서 이러한 병목 구조를 통한 합성곱 연산은 매개변수와 연산 속도를 줄일 수 있다. ResNeXt 블록은 Fig.3과 같은 구조이며 단순히 필터의 수를 늘려 신경망의 너비를 넓히는 ResNet블록과 달리 입력 벡터를 분할하여 32개의 동일한 형태의 병목 구조에 적용한다. 서로 다른 병목 구조를 통해 추출된 특징 벡터는 결합(Concatenation)연산에 의해 다시 결합되어 하나의 특징 벡터로 출력된다. 이를 통해 Res NeXt블록은 ResNet블록과 거의 비슷한 수의 매개변수를 사용하여 더 다양하고 강력한 특징을 추출할 수 있다.ResNeXt블록의 연산 과정은 다음과 같은 식을 통해 표현된다.

MTMDCW_2021_v24n6_745_f0003.png 이미지

Fig. 3. Architecture of ResNeXt block.

\(\sum_{d=1}^{D} w_{d} x_{d}\)       (1)

\(F(X)=\sum_{c=1}^{C} R_{c}(X), X=\left[x_{1}, x_{2}, \ldots x_{D}\right]\)        (2)

\(Y=X+F(X)\)         (3)

여기서 xd, wd는 d번째 채널의 입력 벡터와 가중치이다. 또한 C, Rc, F, Y는 각각 카디널리티, 임의의 병목 구조의 연산 과정, 병합된 출력, ResNeXt블록의 출력을 나타낸다. 식 (1)은 입력 벡터를 분할하여 변형하고 다시 병합하는 과정을 의미하며, D채널 입력 벡터 X는 식(2)와 같이 동작하는 Rc연산을 32개의 카디널리티 만큼 계산된 후 다시 합쳐진다. 식 (3) 에서는 잔류 연결을 통해 입력 벡터가 결합 연산을 통해 출력된 벡터와 합쳐진다. 이를 통해 상위 층의 기울기 값이 변하지 않고 그대로 전달되어 입력 값의 작은 변화에도 민감하기 때문에 잡초 영상의 세밀한 특징을 학습하게 된다. 최종 출력단에는 GlobalAverage Pooling과정을 통해 ResNeXt블록으로부터 추출된 특징 벡터의 평균을 취하고 Softmax에 입력하여 가장 높은 확률에 해당하는 잡초 클래스로 분류한다. 이때 심층 신경망이 학습 데이터에 집중되는 현상 인과적합(Overfitting)을 방지하기 위해 Dropout을 0.2 로 설정하였다. 역전파 과정에서 Cross Entropy 손실 함수를 사용하여 오차를 계산하였고 기존 방식인 SGD(Stochastic Gradient Descent) 방식이 아닌 AdamOptimizer를 통해 오차를 최소화하는 방향으로 신경망의 가중치를 갱신하였다.

3. 실험

3.1 실험 데이터

본 논문에서는 잡초 분류의 성능을 평가하기 위해 ‘전남대학교 외래잡초 데이터세트’[5]를 사용하였다. 잡초 영상은 대한민국 전국 각지의 경작지에서 DSLR, 스마트폰 카메라 등을 통해 고해상도로 촬영되었다. 원본 영상에는 잡초 외에 불필요한 배경이 포함되어있기 때문에 잎, 꽃 및 전초를 포함된 부분으로 구분하여 잘라내었다. 수집된 21개 종의 잡초 중에는 동일한 과에 속하는 개체가 존재하며 특정한 과의 잡초종들은 일반인이 구분하기 어려울 정도로 비슷한 특징을 가지고 있다. 따라서 영상을 잘라낸 후에 잡초전문가에 의해 식물 분류학을 기준으로 각 잡초 클래스(종)로 분류하였다.전체 잡초 영상 데이터는 총 209180개이며 Fig.4은 전남대학교 외래잡초 데이터 세트에 속한 잡초 영상의 예시와 함께 각 종의 분포를 보여준다.

MTMDCW_2021_v24n6_745_f0004.png 이미지

Fig. 4. CNU(Chonnam National University) weeds dataset. (a) example of weed images, (b) distribution of species.

3.2 측정 방식

본 논문에서는 제안된 RexNeXt기반의 잡초 분류모델의 성능을 검증하기 위해 기존 연구에서 제안한 방식인 VGG16[6], InceptionV3[9], ResNet-101[13] 모델을 포함한 다양한 신경망의 실험을 진행하여 비교하였다. 전체 잡초 영상 데이터는 7:3의 비율을 통해 학습 데이터와 테스트 데이터로 구성되었으며, 모든 딥러닝 모델은 Python기반 Keras를 사용하여 구현되었다. 모델의 학습은 learningrate는 0.001, batch_ size는 16으로 설정하여 CUDA10.0Toolkit과 cuDNN 으로 구성된 GPU 소프트웨어 환경에서 NVIDIA TITAN V를 통해 300Epoch까지 수행하였다.

• VGG16[6]:본 논문에서 사용한 VGG16은 13개의 합성곱 층과 3개의 완전 연결 층으로 구성된다. 각 합성곱 층은 3×3커널 크기의 Conv와 ReLU활성화 함수로 구성되며 커널 크기가 2×2인 Max-Pooling 을 사용한다. 최종 출력단에는 Softmax층을 결합하여 완전 연결 층을 통해 출력을 21개 종의 잡초 범주로 분류한다.

• InceptionV3[9]: InceptionV3는 합성곱 블록, 변형된 Inception블록, 분류기로 구성된다. Incep- tionV3의 합성곱 블록은 3×3커널 크기의 합성 곱 필터를 사용하여 3번 반복하는 구조이며 최적화 함수로 RMSProp[15]를 사용하였다. 또한 더 넓게 형성된 Inception블록을 적용하여 같은 입력으로부터 다양한 크기의 합성곱 연산을 함으로써 차원을 줄일 때 발생하는 정보 손실을 방지하였다. 그리고 보조 분류기와 레이블 스무딩(LabelSmoothing)을 통해 기울기 소실 문제를 해결하고 과적합을 완화하였다.

• MobileNetV2[11]:MobileNetV2는 ReLU6활성화 함수를 사용하는 픽셀 위주 합성곱(Pointwise Convolution)층, 깊이 위주 합성곱(DepthwiseCon- volution)층과 선형 병목(LinearBottleneck) 층으로 구성된 역 잔류 블록(InvertedResidualBlock)을 사용한다. 픽셀 위주 합성곱 층은 1×1커널 크기의 합성 곱 필터를 통해 채널 간 연산을 수행함으로써 입력 벡터의 채널을 확장하고 깊이 위주 합성곱 층은 각 채널별로 연산을 수행한다. 선형 병목 구조는 비선형 함수에 의해 발생하는 정보 손실을 방지하는 역할을 한다.

• ResNet-101[13]: ResNet은 단순하게 출력을 학습하는 것이 아니라 잔류 학습을 통해 입력과 출력의 차이를 학습하여 작은 변화에 대해 민감하게 반응할 수 있도록 학습한다. 본 논문에서는 ResNeXt-101 과 비교하기 위해 101개의 합성곱 층으로 구성된 ResNet-101을 사용하였다.

3.3 실험 결과

Table2는 본 논문에서 진행한 잡초 영상 분류 실험의 결과를 나타낸다. 가장 단순한 CNN 구조인 VGG16은 85.8%로 가장 낮은 정확도를 보여준다. 반면 Inception블록을 통해 다양한 커널 크기의 Conv 를 이용하여 특징을 추출한 InceptionV3는 VGG16 보다 높은 91.5%의 정확도로 잡초를 분류하였다. 이를 통해 신경망의 구조를 깊고 넓게 구성할수록 성능이 향상될 수 있음을 확인하였다.잔류 학습 방식을 사용하는 MobileNetV2와 ResNet-101의 경우에는 InceptionV3보다 높은 성능을 보여주었지만 모바일환경에 적용하기 위해 간소화한 MobileNetV 2보다 신경망의 구조를 더욱 깊게 구성한 ResNet-101이 0.4%더 높은 정확도를 보여주었다. ResNeXt-101의분류 정확도는 동일한 수의 합성곱 층을 사용한 ResNet-101보다 2.3%상승한 97.4%로 신경망을 단순하게 깊고 넓게 쌓는 것보다 카디널리티의 증가가 영상 분류 성능에 효과적임을 알 수 있다.

Table 2. Results of weed classification.

MTMDCW_2021_v24n6_745_t0002.png 이미지

4. 결론

본 논문에서는 ResNeXt모델을 이용하여 잡초 영상을 분류하는 잡초 영상 판별 시스템을 제안하였다. 실험 결과를 통해 제안하는 잡초 영상 판별 시스템의 ResNeXt모델이 가장 우수한 성능을 보여주었으며 실제 농업 분야에서 유용하게 사용될 수 있음을 확인하였다. 그러나 고해상도의 잡초 영상을 기반으로 학습된 영상 분류 모델에 저해상도의 영상이 입력되면 오차가 발생할 확률이 높다.따라서 향후 연구는 더 많은 종의 잡초 영상을 수집하여 데이터베이스를 확장하고 저해상도의 영상으로부터 발생하는 분류 오차를 줄일 수 있도록 화질 개선 기술을 적용하고자 한다.

참고문헌

  1. C. Kim, J. Kim, Y. Oh, S. Hong, S. Heo, C. Lee, et al., "Exotic Weeds Flora in Crop Fields in Republic of Korea," Weed & Turfgrass Science, Vol. 7, No. 1, pp. 1-14, 2018. https://doi.org/10.5660/WTS.2018.7.1.1
  2. A.D.S. Ferreira, D.M. Freitas, G.G.D. Silva, H. Pistori, and M.T. Folhes, "Weed Detection in Soybean Crops Using ConvNets," Computers and Electronics in Agriculture, Vol. 143, pp. 314-324, 2017. https://doi.org/10.1016/j.compag.2017.10.027
  3. T.N. Quoc and V.T. Hoang, "Medicinal Plant Identification in the Wild by Using CNN," Proceeding of International Conference on Information and Communication Technology Convergence, pp. 25-29, 2020.
  4. C. Andrea, B.B.M. Daniel, and J.B.J. Misael, "Precise Weed and Maize Classification through Convolutional Neuronal Networks," Proceedings of the IEEE Second Ecuador Technical Chapters Meeting, pp. 1-6, 2017.
  5. H.T. Vo, G. Yu, T. V. Dang, and J. Kim, "Late Fusion of Multimodal Deep Neural Networks for Weeds Classification," Computers and Electronics in Agriculture, Vol. 175, pp. 105506, 2020. https://doi.org/10.1016/j.compag.2020.105506
  6. J. Jiang, "A Novel Crop Weed Recognition Method Based on Transfer Learning from VGG16 Implemented by Keras," IOP Conferene Series: Materials Science and Engineering, Vol. 677, No. 3, 2019.
  7. A. Krizhevsky, I. Sutskever, and G.E. Hinton, "ImageNet Classification with Deep Convolutional Neural Networks," Advances in Neural Information Processing Systems, Vol. 25, pp. 1097-1105, 2012.
  8. K. Simonyan and A. Zisserman, "Very Deep Convolutional Networks for Large-scale Image Recognition," Proceeding of International Conference on Learning Representations, 2015.
  9. A. Olsen, D.A. Konovalov, B. Philippa, P. Ridd, J.C. Wood, J. Johns, et al., "DeepWeeds: A Multiclass Weed Species Image Dataset for Deep Learning," Scientific Reports, Vol. 9, No. 1, pp. 1-12, 2019. https://doi.org/10.1038/s41598-018-37186-2
  10. C. Szegedy, V. Vanhoucke, S. Loffe, 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.
  11. M. Sandler, A. Howard, M. Zhu, A. Zhmoginov, and L. Chen, "MobileNetV2: Inverted Residuals and Linear Bottlenecks," Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 4510-4520, 2018.
  12. K. He, X. Zhang, S. Ren, and J. Sun, "Identity Mappings in Deep Residual Networks," Proceedings of the European Conference on Computer Vision, pp. 630-645, 2016.
  13. M. Kim, "Tomato Crop Disease Classification Using An Ensemble Approach Based on A Deep Neural Network," Journal of Korea Multimedia Society, Vol. 23, No. 10, pp. 1250-1257, 2020. https://doi.org/10.9717/KMMS.2020.23.10.1250
  14. S. Xie, R. Girshick, P. Dollar, Z. Tu, and K. He, "Aggregated Residual Transformations for Deep Neural Networks," Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 1492-1500, 2017.
  15. T. Tieleman and G. Hilton, "Divide the Gradient by A Running Average of Its Recent Magnitude," COURSERA: Neural Network for Machine Learning, Vol. 6, pp. 26-31, 2012.