RESEARCH ARTICLE
CAM-based orchard path detection for developing an unmanned sprayer
Department of Biosystem Machinery Engineering, Chungnam National University, Daejeon 34134, Republic of Korea
Abstract
This study was conducted to apply a deep learning model to identify and visualise path areas in an orchard. Data was collected by attaching an image capture device to the front of a sprayer and driving it through an orchard. The collected data was classified into four classes: ground, trees, sky and obstacles for pre-processing for training. Sliding window techniques were used on the image dataset for model training and performance. The image was sampled using a sliding window method with 224×224 pixels and divided into train, validation, and test sets. A modified VGG16 algorithm was implemented and used to train the pre-processed image dataset. The performance results of this model showed an accuracy of up to approximately 99% on both the training and validation sets, and after building a confusion matrix using the test set, the classification performance was evaluated and showed an F1 score of 0.96. To visualise the results of this trained learning model, class activation maps were used to detect the paths in the orchard. The implementation of this method resulted in an average processing time of about 0.94 seconds per frame on the orchard footage, which could potentially be beneficial in real-time decision making scenarios in fruit farming where rapid response is important.
Keywords
speed sprayer, class activation map, sliding window, convolutional neural network, deep learning
Introduction
국내 농업 생산량은 농업인구의 지속적인 고령화 및 감소로 인해 매년 감소하고 있는 추세이다. 또한 2020년 기준 우리나라의 곡물 자급률은 19.3%로 OECD 38개국 가운데 최하위를 기록하였다(KREI, 2022). 농업 생산성 향상 및 농업인구 감소 해결을 위해서는 무인∙자동화 기술 개발이 필요하다. 무인∙자동화 기술은 농작업에 따라 제초, 방제, 수확 등 다양한 기술들이 연구∙개발되고 있으며, 자율주행 기술의 경우 농작업의 자동화에 필수적인 요소이다(Choi and Hong, 2019). 그 중 과수원의 경우 과수가 동일한 간격으로 직선상에 위치하고 있으며, 반복적인 농작업을 수행해야 하기 때문에 자율주행 기술 적용 및 산업화가 가능하다.
감귤은 농산물 가공품의 원료로 널리 활용되는 국내 대표 과수원 재배작물로, 2020년 총수입은 약 9500억에 달하지만 방제 작업의 기계화율이 낮다(Kang and Lee, 2019; Kotra, 2021). 이를 해결하기 위해 과수원에 적용이 가능한 무인 스피드 스프레이어(speed sprayer, SS)가 개발되었으며, RGB 정보를 HSV 로 변환하여 주행로와 과수열 구분을 위해 전통적인 컴퓨터 비전 방식인 에지 검출(edge detection)과 허프 변환(Hough transform)을 이용하였다(Lee et al, 2019). 하지만 주요 직선을 이용한 경로 인식 방법은 허프 변환 방식의 특성으로 인해 하드웨어 자원 소모량이 많아지고, 그에 따라 주변 환경 및 장애물 등 복잡성에 대한 처리 능력이 약할 수 있다(Song et al., 2022).
따라서 본 연구에서는 감귤 과수원 내 무인 방제기 자율주행 기술 개발을 위해 수행되었으며, CAM(Class activation map)을 이용한 영상 기반 감귤 과수원 경로 인식 기술을 개발하였다. 감귤 과수원 내에서 방제기가 주행할 때 정면 영상을 수집하여 데이터 전처리 후, 합성곱 신경망(Convolutional neural network, CNN)을 통해 학습하여 CAM으로 경로를 검출하였다.
Material and Methods
과수원 영상 수집
본 연구에서는 감귤 과수원 영상을 수집하여 과수원 경로 인식을 위한 학습데이터로 사용하였다. 영상데이터는 농촌진흥청 국립원예특작과학원 감귤연구소 내 감귤 과수원에서 촬영된 자료를 사용하였으며, 영상 수집을 위해 Table 1과 같은 수집장치를 사용하였다.
Table 1. Camera specification.
Item |
Model |
Specification (megapixel) |
Smart phone |
G7 ThinQ |
12 |
Galaxy s9 |
12 |
|
Camera |
e-CAM190A_CUXVR |
13 |
딥러닝 학습을 위한 데이터 구성
영상 수집장치로 수집한 1920×1080 pixels의 크기를 갖는 수집 영상을 프레임별로 나누었다. 학습 데이터는 프레임 별로 나눈 수집 영상에 대해 Fig. 1과 같이 나무(tree), 하늘(sky), 땅(ground), 그리고 나머지 부분(obstacle)으로 총 4가지 클래스로 분류 후 224×224 pixels로 슬라이딩 윈도우 방식을 사용하여 샘플링(sampling) 작업을 수행하였다. 샘플링된 영상 데이터는 Table 2와 같이 학습 집합(training set), 검증 집합(validation set) 및 테스트 집합(test set)으로 7:2:1의 비율로 구성하였다.
본 연구에서는 특정 클래스별 영상 데이터가 부족할 경우, 학습에 영향을 줄 수 있다고 판단하여 부족한 클래스의 영상 데이터는 좌·우/상·하 반전을 통해 증강시켜 각 클래스별 데이터 크기의 비율을 맞추었다.
Fig. 1. Image generated by sliding window.
Table 2. Dataset composition.
Classes |
Number of data |
|||
Train |
Validation |
Test |
Total |
|
Ground |
800 |
200 |
100 |
1,100 |
Tree |
800 |
200 |
100 |
1,100 |
Sky |
800 |
200 |
100 |
1,100 |
Obstacle |
800 |
200 |
100 |
1,100 |
Total |
3,200 |
800 |
400 |
4,400 |
소프트웨어 환경
과수원 경로 인식을 위한 딥러닝 모델의 학습프로그램은 오픈소스 기반의 파이썬(version 3.6, Python Software Foundation, Wilmington, Delaware, United States)을 이용하며 윈도우 운영체제에서 다양한 함수 및 기능을 원활히 사용하기 위해 파이썬 통합 플랫폼 아나콘다(version 3.5, Anaconda, Austin, Texas, United States) 기반으로 개발하였다. 인공신경망 설계 및 학습 구현은 Pytorch (version 4.0, Berkeley Software Distribution, San Mateo, California, United States)를 이용하며 결과의 시각화 및 저장 등 영상처리는 OpenCV (version 3.4.1, Berkeley Software Distribution, Santa Clara, California, United States) 라이브러리를 사용하였다. 딥러닝 모델 학습을 위한 하드웨어는 병렬 처리를 위해 GPU (GeForce gtx1070ti, Nvidia, Santa Clara, California, United States) 기반으로 구성되었다. 소프트웨어 및 하드웨어 환경 정보는 Table 3과 같다.
Table 3. Specification of development environment for deep learning.
Item |
Specification |
|
Hardware |
CPU |
Intel (R) Core (TM) i5-9400F, 2.90 GHz |
Memory |
16.0 GB |
|
GPU |
NVIDIA GeForce GTX 1070 Ti |
|
Software |
OS |
Windows 10 |
Program language |
Python 3.6 (Anaconda 3.5) |
|
Framework |
Pytorch 4.0 |
|
Image processing |
OpenCV 3.4.1 |
과수원 경로 인식을 위한 딥러닝 모델
본 연구에서 과수원 경로 인식을 위한 딥러닝 모델은 VGGNet을 변형한 모델을 사용하였다(Simonyan, Karen and Andrew, 2014). 변형된 VGG16 모델은 16개의 층으로 구성되어있는 모델이다. 입력 이미지의 크기는 224×224×3를 가지며, 합성곱 신경망에서 모든 필터 커널의 크기는 3×3이고, 필터 개수는 64, 128, 256, 512개로 각각 2, 2, 3, 6회 반복된다. 이후에 3회의 완전연결계층을 갖고 소프트맥스를 통해 1000가지 클래스로 분류한다. 마지막 합성곱 계층 이후에 평균 풀링 후 2회의 완전연결계층을 통해 4가지 클래스로 분류하였다.
Class activation map
학습된 딥러닝 모델에 원본 영상 전체를 입력하면 합성곱 계층의 마지막에 14×14×512 크기의 특징맵들이 출력되게 된다. 이를 학습된 딥러닝 모델 속 완전연결계층의 가중치 값들과 곱하고 마지막에 더하면 14×14×4 크기의 데이터를 출력하게 된다. 출력 데이터에서 4개의 채널은 각 클래스별 특징 맵으로, ground에 해당하는 14×14 크기의 특징 맵을 원 영상의 크기로 확대하여 원본 영상 위에 CAM을 생성하였다. 이러한 과정은 Fig. 2와 같고, 홍색에 가까운 영역은 ground임을 나타낸다.
Fig. 2. Process of class activation map algorithm.
성능 평가
학습된 모델을 검증하기 위해 테스트 집합을 이용하였으며, 이후 본 연구에서는 경로 영역 검출이 목표이기에 Table 4와 같이 ground에 대한 분류 결과만을 가지고 오차 행렬(confusion matrix)로 나타냈다(Kim et al., 2022).
Table 4. Confusion matrix.
Predicted Actual |
Ground |
Non-Ground |
Ground |
TP |
FN |
Non-Ground |
FP |
TN |
오차 행렬은 TP (True Positive), TN (True Negative), FP (False Positive), FN (False Negative)로 구성이 되어 있다. TP와 TN은 예측과 실제 해당 클래스가 일치하는 경우, FN과 FP는 예측과 실제 해당 클래스가 일치하지 않는 경우를 나타낸다. 이렇게 도출된 오차 행렬의 값을 이용하여 정밀도(precision), 정확도(accuracy), 재현율(recall), F1-score를 계산하여 성능을 평가하였으며 식(1) ~ (4)와 같다.
(1)
(2)
(3)
(4)
Result and Discussion
과수원 경로 영역 인식 모델 학습 결과, Fig. 3과 같이 손실은 학습반복에 따라 점차 감소 및 수렴되었으며, 이를 통해 클래스별 분류가 가능하다고 판단되었다. 학습 집합은 30 epochs에서 가장 높은 정확도와 가장 낮은 손실을 보였으며, 검증 집합은 50 epochs에서 가장 높은 정확도와 가장 낮은 손실을 보였다.
Fig. 3. Accuracy(a) and loss(b) graph of train and validation set per epoch.
학습모델 성능을 검증하기 위해 테스트 집합을 이용하여 분류한 결과 Table 5와 같이 나타났다. 이를 Table 6과 같이 오차 행렬로 정리해본 결과, ground 영역에 대해 분류해내는 것을 알 수 있었다. 이후 오차 행렬의 TP, TN, FP, FN 값을 이용하여 정밀도, 정확도, 재현율 및 F1-score를 계산하였다. 그 결과 Table 7과 같이 정밀도, 정확도, 재현율 및 F1-score는 계산되었다.
Table 5. Results of performance evaluation of model using test set.
Predicted Actual |
Ground |
Tree |
Sky |
Obstacle |
Ground |
100 |
0 |
0 |
0 |
Tree |
0 |
98 |
2 |
|
Sky |
0 |
0 |
94 |
0 |
Obstacle |
0 |
0 |
0 |
100 |
Table 6. Results of confusion matrix.
Predicted Actual |
Ground |
Non-Ground |
Ground |
100 |
0 |
Non-Ground |
2 |
292 |
Table 7. Classification performance assessment indicators
Class |
Accuracy |
Precision |
Recall |
F1-score |
Ground |
0.98 |
1 |
0.9259 |
0.9615 |
학습 결과를 CAM 방식으로 시각화한 결과는 Fig. 4와 같다. 한 프레임 당 처리 소요 시간은 평균 0.94초로 나타났고, ground에 대한 영역 인식이 오류 영역 없이 좋은 성능을 보인 것을 확인할 수 있었다.
Fig. 4. Image results of class activation map algorithm.
Conclusion
본 연구는 딥러닝 모델인 VGG16과 CAM 방식을 이용하여 감귤 과수원의 경로 영역 인식모델 개발을 목표로 진행되었다. 모델 학습을 위해 감귤 과수원 내 경로 영상을 수집한 후, 학습을 위한 데이터베이스를 구축하였다. 딥러닝 모델을 활용하여 학습시킨 후, CAM 방식으로 경로 영역에 대한 인식을 확인하였으며, 성능 평가를 통해 인식 성능을 확인하였다. 평균 처리 소요 시간은 0.94초로 확인하였으며, ground 영역과 그 외 다른 영역에 대한 인식 결과가 농작업 현장에서 사용 가능할 수 있을 것으로 기대할 수 있었다. 향후 지속적인 데이터 수집을 통해 Image augmentation 방법으로 데이터의 크기를 증강시키는 방식이 아닌, Raw data로 클래스별 데이터셋을 구성하여 딥러닝 모델의 학습을 진행할 예정이다.
Acknowledgements
본 결과물은 농림축산식품부의 재원으로 농림식품기술기획평가원 지원(과제번호: 319009-01)으로 수행되었습니다.
References
Choi KH, Hong SH. 2019. Analysis of market and technology status of major agricultural machinery(Tractor, Combine, Harvestor and Rice Transplanter). The Journal of the Korean Society of International Agriculture 31(1):8-16.
Kang MC, Lee SH. 2019. effect of climatic variability by growing seasons on the citrus yield in jeju-do. Journal of Climate Research 14(1):1-18.
Kim YT, Kim YH, Baek SM, Kim YJ. 2022. Technology Trend on Autonomous Agricultural Machinery. Journal of Drive and Control, 19(1): 95-99.
KOTRA(Korea Trade-Investment Promotion Agency). 2021. COVID-19 Cannot Stop the Mandarin Orange Fever. Assessed in https://www.investkorea.org/jj-en/bbs/i-2584/detail.do?ntt_sn=6 on 23 September 2023.
KREI(Korea Rural Economic Institute). 2022. 2021 FOOD BALANCE SHEET. 24-27 pp. [in Korean]
Simonyan, Karen, Andrew Zisserman. 2014. Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556.
Song HY, Choi CH, Ha JS, Moon BI. 2022. Hough Transform-based Co-processing System for Lane Detection. Proceedings of KIIT Conference, 90-92