Introduction
최근 우리나라 농가 인구수는 2019년 약 209만 명으로, 지속적인 감소가 예상되며, 특히, 65세 이상의 고령 농업인은 약 116만 명으로, 전체 농가 인구의 약 55.9%를 차지한다(KAMICO and KSAM, 2018). 농가 인구의 고령화로 인해 노동력 부족 문제가 점점 심화되고 있으며, 향후 국내 농업 생산량 확보를 위해 농업 노동력 대체가 시급히 요구되고 있다(Lee and Noh, 2018). 특히, 밭농업의 경우 작물의 종류가 다양하여 작업기계를 전용화 시키는데 많은 비용이 발생되므로 수도작에 비해 기계화율이 현저히 낮게 나타나지만, 작업을 위한 노동력은 더 많이 필요로 한다(Yoo and Hwang, 2018). 밭작물은 다양한 고부가 가치 작물을 포함하고 있으며, 최근 그 수요가 증가하고 있기 때문에 노동력 부족 문제 해결을 위한 방안이 필요한 실정이다.
이와 같은 문제 해결을 위해 무인 로봇화 농작업 시스템 개발이 현실적인 대안으로 제시되고 있으며, 다양한 연구개발 및 제품 적용이 추진되고 있다(Kim, 2011). 실시간 인식 자동화는 무인화 시스템의 기본적인 요소 중 하나로서 농작물의 생육을 육안으로 관리하는 농작업의 경우 무인 작업을 위해 필수적이다(Lee et al., 2018). 밭작물은 작물별 재배 방법, 작물 종류 및 크기가 다양하기 때문에 무인화 농작업 시스템을 밭농업에 적용하기 위해서는 작물을 정확하게 인식하고 주변 환경과 구분하는 센싱 기술이 필요하다(Lee et al., 2010).
최근 자동차 및 건설기계 분야에서는 영상 기반 센싱 분야의 하드웨어 및 데이터 처리 기술의 비약적인 발전으로 자율주행, 작업 자동화 기술 개발 등에 적용되고 있으며(Kim et al., 2019; Lee et al., 2019a), 자율주행 자동차의 경우 상용화 수준의 연구개발이 진행되고 있다(Han et al., 2019). 농업기계 분야에서는 주로 무인 항공기(unmanned aerial vehicle, UAV) 기반으로 작물 인식과 관련된 연구개발이 추진되고 있으며, 대표적으로 Na et al. (2018)은 무인 항공기 기반 RGB 영상을 이용하여 원격으로 작물 바이오매스 및 작황을 평가하는 방법을 개발 한 후, 이를 보리와 밀을 대상으로 성능을 검증하였다. Park and Park (2015)은 무인 항공기를 이용하여 농작물을 촬영하고 이를 합성하여 농작물을 분류하였으며, 고효율의 영상 확보 및 정확한 농작물 분석이 가능하다고 보고하였다. 또한 Lee (2017)는 무인 항공기를 활용하여 농작물 수확량 예측의 정확도를 높이기 위한 조사방법 전환 방안을 제시하였으며, Jeong et al. (2018)은 무인 항공기 기반의 작물 공간정보를 구축하여 농작물 재해보험의 자료 조사 업무를 효과적으로 지원할 수 있는 방안을 제시하였다. 기존의 선행 연구는 주로 항공영상 및 후처리 기술을 통해 광역범위 정보 파악을 목적으로 수행되었지만 현재 대부분의 농업기계는 지상에서 운행되며, 이를 무인화 하기 위해서는 주행정면의 작물을 실시간 인식할 수 있는 영상 기술을 필요로 하고 있다.
따라서 본 연구에서는 밭농업용 무인화 농업 시스템을 개발하기 위한 기초 연구로써 실시간 밭작물 인식 시스템을 개발하였다. 영상 인식은 스테레오 카메라를 이용하여 구현하였으며, 대표적인 농업기계인 트랙터를 플랫폼으로 기술을 구현한 후 다양한 밭작물에 대해 인식 성능을 검증하였다.
Materials and Methods
밭작물 인식 시스템
스테레오 카메라는 2개의 이미지 센서를 통하여 영상정보를 취득하는 방식으로 2D 영상에 피사체까지의 거리가 포함된 3D 정보의 계산이 가능한 장점이 있기 때문에 다양한 분야에서 객체 검출에 관련된 연구에 많이 활용되고 있다(Lee et al., 2009). Fig. 1은 본 연구에서 개발된 밭작물 인식 시스템에 사용된 스테레오 카메라(Tara USB 3.0 stereo vision camera, e-con Systems, Chennai, India)의 구조를 나타낸 것이다. OL과 OR은 각각 왼쪽과 오른쪽 이미지 센서의 광학 중심을 나타내며, xL과 xR는 각각 왼쪽과 오른쪽 이미지 센서에 투영된 목표 지점을 나타낸다. f는 초점 거리로 광학 중심과 이미지 센서 사이의 최단 거리를 의미한다. T는 왼쪽과 오른쪽 이미지 센서의 거리를 나타내며, 식(1)을 이용하여 카메라와 작물의 거리를 계산할 수 있다. 본 연구에서 사용된 스테레오 카메라는 60 mm 간격으로 위치한 2개의 이미지 센서로 구성되어 있으며, 752 (W) × 480 (H) 픽셀 크기의 이미지를 얻을 수 있다. 카메라의 크기는 100 (L) × 30 (H) × 35 (D) mm3, 무게는 80 g이며, 상세 제원은 Table 1과 같다.
(1)
Where, Z = distance (mm)
f = focal length (mm)
T = baseline distance (mm)
xL = target point projected on left camera
xR = target point projected on right camera
Fig. 2는 본 연구에서 개발된 밭작물 인식 시스템을 나타낸 것으로서 트랙터 및 농업기계 전방에 부착하여 사용이 가능하도록 제작하였다. 밭작물 인식 시스템은 스테레오 카메라를 통해 작물 영상을 촬영하고, 촬영된 작물 영상은 싱글 보드 컴퓨터(Lattepanda, Latteapanda, Shanghai, China)로 실시간 전송되며, 전송된 데이터는 영상처리를 통해 전방의 작물 인식 및 결과값을 자체 저장된다.
밭작물 인식 알고리즘
Fig. 3은 본 연구에서 개발된 밭작물 인식 알고리즘을 나타낸다. 알고리즘은 스테레오 영상(stereo images)을 이용한 시차맵(disparity map) 생성, 작물 경계 에지 검출(edge detection)과 영역 분할(object segmentation), 작물 높이 산출(height calculation)의 순서로 구성된다. 스테레오 카메라는 각각 왼쪽과 오른쪽 카메라 이미지 센서로 촬영된 영상을 스테레오 매칭을 통하여 대상체까지의 거리정보를 포함하는 시차맵을 생성하였다. 프로그램 코딩은 C++ (Visual studio 2017, Microsoft, Redmond, USA)를 이용하였다. 시차맵을 이용하여 작물까지의 실제거리를 산출한 후, 카메라의 화각, 초점거리 등의 카메라 사양을 이용하여 영상의 실제 크기를 계산하였다. 전체 영상에서 픽셀 각각의 시차 값을 이용해서 배경과 작물 사이의 경계를 검출하였으며, 검출된 경계를 기반으로 작물 영역을 원 영상으로부터 분할한 후 최종적으로 작물 높이를 계산하였다. 이 때, 작물 경계 검출은 일반적으로 많이 사용되는 canny edge detection을 사용하였으며, 다른 경계 검출 알고리즘 보다 오차율이 낮고 복잡한 영상에서도 효과적으로 경계 에지 검출이 가능하다는 장점을 가지고 있다(Jang, 2012).
canny edge 검출은 Fig. 4와 같이 가우시안 블러 필터(gaussian blur filter), 기울기 산출(finding gradients), 비 최대값 억제(non-maximum suppression), 두 개의 임계값(double thresholding) 설정 및 히스테리시스(hysteresis) 과정의 순서로 구성된다. 가우시안 블러 과정은 영상의 노이즈 제거를 위한 잡음제거 단계이며, 기울기 산출 과정은 미분값을 통하여 경계를 찾는 단계로 x, y축의 기울기의 크기 및 방향을 계산한다. 비 최대값 억제 과정은 잘못 검출된 경계 영역을 확인하고 다시 제거해주는 단계이다. 두 개의 임계 값 설정 과정은 high, low 임계값을 설정하여 실제 경계와 노이즈를 다시 검출하는 단계이며, 최종적으로 히스테리시스 과정에서 두 임계값을 이용하여 검출한 경계들을 판단한다. 식(2)는 가우시안 블러 계산식을 나타내며, x, y는 수평, 수직 축에서 원점으로부터 거리, σ는 가우스 분포의 표준 편차를 나타낸다. 식(3), (4)는 gradient의 크기 및 방향 계산식을 나타낸다.
(2)
(3)
(4)
Where, Yreal = world coordinate y-axis value (mm)
Tb = baseline distance (mm)
Y = camera coordinate y-axis value (pixel)
xL = target point projected on left camera
xR = target point projected on right camera
성능평가
밭작물 인식 시스템의 성능평가는 다양한 밭작물을 대상으로 실시하였으며, 대상작물은 Fig. 5와 같이 국내 주요 재배작물인 배추, 감자, 깨, 무, 콩으로 선정하였다(Park et al., 2006). 성능평가는 충남 청양군에서 수행하였으며, 밭작물 재배용 트랙터(TM52, TYM Co., Ltd., Seoul, Korea)를 플랫폼으로 영상장치를 전방에 장착한 후 실험을 실시하였다. 성능평가는 5가지 작물에 대해 촬영 거리 및 촬영 높이에 따른 성능을 분석하였으며, 실험조건으로 촬영 거리 100, 150, 200 cm의 3수준, 촬영 높이 42, 44, 46, 48, 50 cm의 5수준을 선정하였다. 작물 영상은 작물별로 유사한 샘플 5개에 대해 3회씩 반복 측정하였으며, 트랙터를 정지시킨 후 촬영하였다. 그 후, 실제 작물 높이와 측정된 작물 높이 평균 값을 비교하였으며, 이 때 비교는 식(6)과 같이 평균 상대 오차(mean relative error, MRE)를 이용하였다(Lee et al., 2019b). 통계처리는 IBM SPSS Statistics (ver. 24, IBM corp., Armonk, USA)를 이용하였으며, 처리간 평균비교는 5% 수준에서 최소 유의차로 검정하였다.
(6)
Where, Pi = estimated crop height (cm)
Pt = measured crop height (cm)
Results and Discussion
작물 영상 수집 결과
Fig. 6은 밭작물 인식 시스템을 이용하여 촬영된 영상을 나타내며, 배추, 감자, 깨, 무, 콩의 순서로 각 작물별 대표적인 결과영상 5개를 나열하였다. 스테레오 카메라의 구조적 특성상 촬영된 모든 작물의 2개의 영상에서 중심점은 다르게 나타나며, 카메라의 기준 높이가 같기 때문에 2개의 영상에서 수직 방향으로의 차이는 없지만 수평 방향으로의 차이가 존재한다. 스테레오 카메라를 이용하여 촬영된 2개의 영상을 통해 계산된 시차맵은 영상 간 픽셀 이동을 나타낸 것으로 거리가 먼 물체일수록 낮은 값으로 영상에서 검은색에 가깝게 나타나며, 가까운 물체일수록 높은 값으로 영상에서 흰색에 가깝게 나타난다. 흰색과 검은색의 경계가 작물과 배경과의 경계임을 알 수 있다.
배추의 시차맵은 작물의 특성상 작물의 간격이 규칙적이고 잎의 분포가 고르기 때문에 작물의 높이가 균일하고 잎의 밀집도가 높게 나타났으며, 배경과의 값 차이가 분명하여 작물의 높이 측정이 용이하다. 감자의 시차맵의 경우 중간 하단 부위에 가장 높은 값이 나타났으며, 상단 및 좌우로 점차 값이 낮아지는 결과를 보였다. 대표적인 영상에서는 중심선 높이 위로는 다소 낮은 값을 보여 작물 뒤 배경으로 판단하며, 따라서 값의 차이가 큰 중간 높이 기준으로 작물 범위로 인식 가능할 것으로 판단된다. 깨의 시차맵은 감자와 같이 하단 부위가 높은 값을 보이지만 값의 범위가 더 넓게 분포되는 것으로 나타났다. 상단 부위 또한 넓게 분포되지만 대표적인 감자 영상에 비해 배경과 작물의 값의 차이가 뚜렷해 작물 범위 인식이 용이한 것으로 판단된다. 무의 시차맵은 깨와 유사한 결과를 보였지만 하단 부위에 높은 값의 분포가 비교적 넓고 계단식으로 하단 부위부터 상단 부위까지 값이 점차 상승하는 것으로 나타난다. 감자, 깨, 무는 작물 잎의 분포가 비교적 균일하여 실제와 시차맵을 이용한 측정과 큰 차이가 없는 것으로 나타났다. 콩의 시차맵은 작물의 특성상 잎의 분포가 균일하지 않아 측정은 잘 이루어졌으나, 기준 높이가 모호하여 실제 작물 높이 보다 크게 측정되었으며 배추와 비교했을 때, 작물의 밀집도가 높지 않아 중심선 위쪽으로 균일하지 못한 값이 나타났다.
작물 인식 정확도 결과
5가지 밭작물을 대상으로 실시한 촬영 거리 및 촬영 높이에 따른 성능분석 결과는 Table 2와 같다. 촬영 거리 및 촬영 높이에 따른 성능분석 결과, 실제 높이 47.2 cm인 배추는 47.0 - 48.4 cm의 범위로 측정되었으며, 실제 높이 64 cm인 감자는 63.1 - 65.6 cm의 범위로 측정되었다. 또한 실제 높이 95.4 cm인 깨는 94.9 - 97.1 cm의 범위로 측정되었으며, 실제 높이 45.3 cm인 무는 45.5 - 47.3 cm의 범위로 측정되었다. 한편, 실제 높이 68.9 cm인 콩은 69.8 - 72.1 cm의 범위로 측정되었다. 측정된 작물 높이를 LSD (least significant difference) 검증을 이용하여 유의성 분석한 결과, 모든 작물에서 5% 이내 차이가 없는 것으로 나타났다.
Table 2. Estimated crop heights according to camera height and distance to crop. | |
z Which means the same crop type are not significantly different at p < 0.05 by LSD’s multiple range. |
Table 3은 실제 작물 높이와 측정된 작물 높이의 평균 상대 오차를 나타낸 것이다. 측정된 작물 높이는 반복 시험의 평균값으로 표현되었다. 배추, 감자, 깨, 무, 콩의 평균 상대 오차는 각각 1.70, 2.25, 3.96, 3.41, 4.97%로 나타났다. 감자, 깨, 무는 약 2 - 4%의 평균 상대 오차 값을 나타냈으며, 이는 작물의 분포가 비교적 균일하여 실제와 시차맵을 이용한 측정과 큰 차이가 없기 때문인 것으로 판단된다. 배추의 평균 상대 오차는 1.70%로 가장 낮게 나타났으며, 작물의 높이가 비교적 균일하고 작물의 잎의 밀집도가 높아 스테레오 카메라를 이용한 작물 높이 인식에 좋은 성능을 나타내는 것으로 판단된다. 콩의 평균 상대 오차는 4.97%이며 배추의 약 2.9배로 가장 높게 나타났으며, 작물들이 생장하는 위치가 균일하지 않아 측정 오차가 크게 나타난 것으로 판단된다.
각 작물별 실제 작물 높이와 측정된 높이의 평균 상대 오차는 모두 5% 미만으로 나타났으며 이를 통해 본 개발 기술의 농업 현장 적용이 가능할 것으로 판단된다. 하지만, 본 연구는 유사 시간대에 동일한 장소에서 진행되었기 때문에 향후 트랙터 등 농업기계에 적용 및 상용화를 위해서는 조도, 촬영 시간대 및 촬영 장소를 고려한 추가적인 성능평가를 실시하고, 영상 노이즈 제거 및 영역 인식 알고리즘의 최적화가 필요할 것으로 판단된다.
Conclusion
본 연구는 밭농업용 무인 농업 시스템 개발에 대한 기초 연구로써, 실시간 밭작물 인식 시스템 개발을 목적으로 수행되었다. 스테레오 카메라 기반의 밭작물 인식 시스템을 개발하고 국내 대표적인 밭작물 5가지를 대상으로 성능평가를 수행하였으며, 주요 결과는 다음과 같다.
스테레오 카메라 기반의 실시간 밭작물 인식 시스템을 개발하였으며, 실제 트랙터에 부착하여 성능평가를 실시하였다.
성능평가는 국내 대표적인 5가지 밭작물(배추, 감자, 깨, 무, 콩)을 대상으로 영상을 수집하였으며, 스테레오 카메라로 촬영된 영상의 시차맵을 작성하고 좌표계 변환식을 이용하여 월드 좌표계 영상을 카메라 좌표계로 변환하여 작물 높이를 측정하였다.
시험 조건은 촬영 거리 3수준, 촬영 높이 5수준으로 설정하였으며, 작물의 실제 높이와 측정된 높이의 평균 상대 오차를 계산하였다. 모든 작물에서 평균 상대 오차는 5% 미만으로 나타났으며, 배추의 평균 상대 오차는 1.70%로 5가지 작물 중 가장 높은 성능을 나타냈다.
본 연구에서 개발된 밭작물 높이 인식 시스템을 통해 작물의 실시간 높이 측정이 가능하였으나, 성능평가는 유사 시간대에 이루어졌기 때문에 향후 조도에 따른 추가적인 검증을 통한 적응형 영상 보정 기술 개발이 필요할 것으로 판단된다.