이창복
(Chang-bok Lee)
1iD
조현종
(Hyun-chong Cho)
†iD
-
(Dept. of Interdisciplinary Graduate Program for BIT Medical Convergence, Kangwon National
University, Korea.)
Copyright © The Korean Institute of Electrical Engineers(KIEE)
Key words
Image segmentation, Korean cattle, Mask R-CNN, Weight estimation
1. 서 론
한국농촌경제연구원(Korea Rural Economic Institute, KREI)과 농협 축산정보센터에 따르면, 한우의 가격은 2015년 1월
기준 13,618원/kg에서 2016년 1월 기준 17,856원/kg로 크게 상승한 후, 현재까지 꾸준히 상승세를 유지해 2020년 12월 기준 18,377원/kg에
이르렀다. 그에 따라 비육우 농장의 수익성 향상과 송아지 가격 상승으로 인한 축산 농가의 사육두수가 증가하고 있다. 그런데 그와 반대로 한우 농가
수는 줄어들고 있다. 그림 1의 (a)를 보면 한육우의 사육두수는 2016년을 기준으로 상승세에 접어들어 꾸준히 증가하고 있지만, (b)에서는 반대로 한육우를 사육하는 농장의 숫자는 줄어들고 있고, (c)에서는 100마리 이상의 개체를 사육하는 대규모 축산 농가의 증가 추세를 보여준다. 이러한 상황은 한 농가 당 사육 및 관리해야 할 개체의 수가 과거와
달리 많아지고 있음을 의미한다(1).
소의 체중 및 체위의 측정은 개체의 성장률을 측정하거나, 일일 사료급여량을 산출하고, 출하를 위한 목표 수치 확인 및 건강검진을 위해 축산 농가 입장에서
꼭 필요한 요소이다. 따라서 축산기술연구소와 같은 기관에서는 3개월마다 반복적으로 이루어지는 행위이다. 그러나, 소는 축산업 대상 동물 중 가장 크고
무거운 가축이며, 겁이 많아 새로운 공간으로 나서는 것을 두려워하고, 코에 고삐를 하지 않기에, 2020년 기준 평균 무게가 700kg이 넘는 소를
우형기 위로 올리는 것은 많은 인력과 시간의 소모가 발생하는 작업이다. 현재 대규모 축산 농가가 꾸준히 증가하는 추세이기 때문에 축산 농가는 이전보다
더욱 많은 자원의 소모가 발생하고 있고, 앞으로 더 심각해질 것이다.
소의 체중측정은 국립축산과학원에서 제시하는 일일 사료급여량을 산출하기 위해서, 그리고 적절한 출하 시기 결정을 위해서 꼭 필요한 항목임에도 우형기를
가진 농가가 많지 않은 것과 출하 시기를 정확한 목표 체중의 도달이 아닌 눈으로 가늠해 결정하거나, 월령으로 결정하는 것은 앞서 언급한 이유 때문이다(2). 이러한 상황을 해결하고자 농촌진흥청에서는 소의 가슴둘레로 회귀 식을 산출하는 ‘한우 체중 산정용 줄자’와 사육방법과 성별 및 월령으로 표준 체중을
추정하는 ‘한우 표준 체중 계산기’ 프로그램을 개발했으나, 두 방법 모두 10%의 오차가 발생하는 방법으로, 700kg에 이르는 한우의 무게를 고려하면
70kg 이상의 오차가 발생하여 정밀한 체중을 측정하기에는 어려운 방법이다(3), (4).
그림. 1. 2015년과 2020년 사이의 한 육우 관련 통계 (a)한육우 사육 두수, (b)한육우 사육 농가 수, (c)대규모 한육우 축산 농가
수
Fig. 1. Statistics related to beef cattle between 2015 and 2020 (a) Number of Korean
beef cattle, (b) Number of Korean beef cattle livestock farmers, (c) Number of large-scale
Korean beef cattle livestock farmers
영상기기의 보급이 보편화 되고, 디지털 영상 처리 기술과 카메라의 성능, 깊이를 측정하는 3D 카메라의 등장으로 영상 처리 분야가 발전하면서 축산분야에도
영상 처리 기술이 도입되는 연구가 늘어났다. 동물의 생체 정보와 체중의 상관관계를 조사하는 기존 연구들로는, 3D 카메라를 활용해 돼지의 몸통 너비,
엉덩이 너비, 체고를 각각 10.3%, 5.87%, 7.01%의 오차 성능에 도달한 연구(5), 제작한 모형 소의 탑뷰와 사이드뷰 영상과 영상 처리 기법으로 개발한 알고리즘을 실제 소에 적용해 가슴 너비, 엉덩이 너비, 골반 너비에 대해서
1.1~16.7%의 오차 성능을 나타낸 연구(6), 돼지를 대상으로 탑뷰 영상에서 사람이 파악한 면적과 회귀신경망으로 체중을 오차 4%로 예측한 연구가 있다(7). 이러한 연구들은 영상 처리 기술이 축산분야에 적용되어 좋은 성능을 기대할 수 있다는 것을 보여주고 있지만 LeCun의 Lenet-5에서 합성곱이
적용된 이래로(8), 컴퓨터 비전 분야에서 CNN(Convolutional Neural Network)이 널리 사용되기 시작했으며, 최근에는 딥러닝 기반의 객체 탐지(Object
Detection)와 영상 분할(Image Segmentation)이 영상처리 기법의 ACM(Active Contour Model)이나 Selective
Search보다 좋은 성능을 보여주면서, 딥러닝 기반의 방법의 축산분야 적용에 관한 연구도 진행되었다. 딥러닝 기반 알고리즘으로 소의 머리, 몸통,
네 다리를 탐지한 기존 연구는 99.18%의 정확도를 보여주었고(9), 그 밖에도 앞다리와 뒷다리를 탐지해 스텝의 크기를 계산하여 절름발이 소를 분류하여 98.57%의 정확도를 나타낸 연구도 있었다(10). 이렇게 과거와 달리 영상 분야의 딥러닝 기술의 많은 발전이 있었기 때문에, 우형기나 줄자가 아닌, 영상기반의 딥러닝 기술을 사용해 한우 개체 정보를
파악하는 시도가 가능해졌다.
영상기반의 축산분야 접근 방식에서 한우 각 개체의 정보를 추출하기 위해서 영상 분할은 필수적이다. 배경과 소의 영역을 분할하여 획득되는 소의 영역에서
그 면적과 가슴 너비 및 체장에 대한 변수를 측정하고, 형태를 획득할 수 있기 때문이다. 관련 연구들로는 소의 체고와 가슴 너비 및 몸 깊이가 각각
0.65, 0.73, 0.49(11), 몸 깊이를 0.49(12), 체고가 0.94의 상관관계가 있음을 조사한 연구들이 있다(13). 이 연구들은 한우의 신체 부위의 치수를 정밀하게 측정하여 체중을 예측하는 연구의 가능성을 보여준다. 영상에서 한우의 영역을 정밀하게 분할하여 영역을
구하고, 그 영역에서 원하는 신체 부위의 측정을 진행하는 과정으로, 동물에게 스트레스를 주지 않는 영상기반의 비접촉 체중 예측이 연구될 수 있다.
영상기반의 체중 예측은 카메라의 설치가 기존의 반복적인 인력 소모와 시간 소모를 대체할 수 있어 대규모 개체를 사육하는 농가가 일일 사료급여량을 산출하고,
적절한 출하 시기를 결정할 수 있게 하여 한우 농가의 경쟁력을 향상시킬 수 있다. 본 논문에서는 모래, 배설물, 사람이 존재하는 복잡한 배경에서 정밀하게
한우와 배경의 분할을 진행하기 위해 Mask R-CNN을 사용하고, 분할된 마스크로 구한 한우 영역의 크기와 마스크로 구할 수 있는 최적 타원의 장축,
단축의 길이의 세 가지 요소를 통해 한우의 체중을 예측하는 방법을 제안한다.
2장에서는 연구소개 및 환경구성, 사용한 알고리즘을 소개하고, 3장에서는 영상 분할 알고리즘의 비교, 4장에서는 체중 상관요소 추출과정을 설명하며
5장에서는 체중 예측 평가를 진행한다, 마지막 6장에서는 결론과 함께 향후 연구 방향을 설명한다.
2. 연구소개 및 연구방법
2.1 연구 목적 및 연구 흐름
그림. 2. 연구 흐름도
Fig. 2. Research Flow Chart
본 연구는 영상기반의 체중 예측을 목표로 하는 연구로써, 비접촉 방식을 통한 동물의 스트레스 감소 및 농가의 투입인력 감소와 쉬운 체중측정을 통한
체계적인 사료량 산출 및 출하 시기 결정을 연구 효과로 기대할 수 있다.
연구는 데이터 수집, 학습데이터 추출, 영상 분할, 체중 상관요소 추출, 체중 예측 순으로 진행되었고, 이를 그림 2에 흐름도로 표현하였으며. 각각에 해당하는 설명은 2.2 단락부터 자세히 서술하였다.
2.2 데이터 수집
강원도 춘천시 신북읍에 위치한 강원대학교 목장에서 데이터 수집이 진행되었다. 부속목장에는 체위와 체중을 측정하기 위한 유도로가 따로 설치되어 있지
않기 때문에, 우형기를 우사 옆에 설치하고 소형 트랙터를 동원하여 한 마리씩 우형기로 이동시켜 측정을 진행하였다. 탑뷰를 촬영하는 카메라는 두 대를
사용해, 한 대는 우형기 바로 위에 설치하고, 남은 한 대는 소가 우형기로 이동하는 사이에 촬영될 수 있도록 우형기 입구에 설치하여 영상을 획득했다.
오전 10시~12시 사이에 작업이 진행되었으며, 조도의 변화는 크지 않았으나, 소를 우형기로 유도하는 과정에서 노끈과 사람이 배경에 포함되었다. 데이터
획득에 사용된 한우는 총 12마리이며, 실측 무게 데이터의 평균은 454.79kg이며, 표준편차는 121.18이다.
2.3 장비 및 환경
연구에 사용된 컴퓨터 자원은 Intel Xeon 프로세서, NVIDIA TITAN XP 12GB 그래픽 카드를 사용했다. 환경은 Window 10
운영체제, 텐서플로우 1.13.1, 케라스 2.3.1을 사용했다. 사용된 카메라는 모델명 GB-CDX로, 성능은 1920x1080(FHD), 30FPS이며,
딥러닝 네트워크가 학습할 때, 큰 해상도의 입력은 곧 많은 파라미터 수를 의미하여 많은 연산량을 필요로 하게 되는데, CNN 내부의 합성곱 층과 풀링
층에서 큰 특징만을 남겨 완전연결층에서 학습하므로 소의 모습을 선명히 담을 수 있는 해상도라면 더 큰 해상도를 사용하더라도 성능의 이득을 기대하기
어렵다. 그 때문에 효율성을 위해서 영상의 획득은 1280x720(HD)의 해상도로 설정해 사용했다.
2.4 학습데이터 추출
CNN 기반의 분류 알고리즘, 이미지에서 윈도우를 이동하며 분류해 탐지하는 객체탐지, 인코더와 디코더 구조를 통해 영역을 분할하는 영상 분할 기술들이
개발되었지만 모두 지도학습이라는 점은 같다. 지도학습은 반드시 Ground Truth 역할을 하는 라벨이 필요하며, 네트워크 학습 과정에서 그 라벨과
출력을 비교하여 오차값이 가중치 갱신에 사용된다. 네트워크 학습 과정에서 동일한 라벨이 여러 개 존재한다면, 연산 횟수가 그만큼 많아질 뿐, 가중치
갱신 과정에는 동일한 오차값이 사용되므로 성능 향상에는 의미가 적고, 오히려 원치 않는 특징에 집중하는 모델로 학습될 수 있다. 그 때문에 효율성과
안정성을 위해서 유사한 데이터를 버리고, 변화가 있는 데이터를 선별할 필요가 있다. 본 논문에서 사용하는 Mask R-CNN 알고리즘 또한 지도학습이며
구조는 다르지만, 학습 과정의 특징은 같다(14). 연구에 사용한 카메라는 30FPS의 성능으로, 초당 30장의 영상을 획득하기 때문에 매우 근소한 차이의 반복되는 데이터가 존재하게 되므로, 일정량
이상의 변화가 발생하는 영상만을 선별했으며 그 방법은 다음과 같다.
1) 영상의 선별은 영상을 히스토그램으로 표현하기 위해 그레이스케일 영상으로 변환한다
2) 히스토그램의 값을 모두 더하여 해당 이미지의 합산 값을 구한다.
3) 1)과 2)의 과정을 연속된 프레임에 대하여 실행하고, 두 이미지의 히스토그램 합산 값의 차이가 임계값 20,000을 넘는 이미지를 선별한다.
위와 같은 방법은 단순히 히스토그램 합산 값의 차이만을 활용하기 때문에 연산이 간단하다. 영상을 수집할 때, 우형기와 그 주변에서 한우와 사람의 움직임이
같이 촬영되었으나 사람의 움직임으로 인한 히스토그램의 변화를 고려해 임계값을 20,000으로 설정하여, 간단하면서도 효과적인 데이터 선별을 진행했다.
선별하기 전 데이터를 그림 3의 (a)에 선별하는 데이터와 버려지는 데이터를 원본과 흑백으로 구분하여 나타내었다. (b) 3장의 이미지에서 분명한 차이를 확인할 수 있다.
그림. 3. (a)프레임 추출 전, (b)프레임 추출 후
Fig. 3. (a) Before frame extraction, (b) After frame extraction
2.5 영상 분할 방법 1 (Mask R-CNN)
Mask R-CNN은 객체의 위치를 찾으면서 해당 객체의 마스크를 생성하는 알고리즘이다. 이러한 알고리즘을 Instance Segmentation이라
부르는데, 이전의 픽셀 단위로 분류하는 Semantic Segmentation과 위치를 찾는 객체탐지를 합친 개념으로, 객체의 구분과 영역의 분할을
같이 획득하는 알고리즘을 뜻한다.
그림. 4. Mask R-CNN 구조
Fig. 4. Mask R-CNN structure
객체탐지 알고리즘인 Faster R-CNN의 RoI(Region of Interest)에 Semantic Segmentation 알고리즘인 FCN(Fully
Convolutional Network)을 적용한 것을 Mask R-CNN이라고 할 수 있으며, Mask R-CNN의 구조를 나타내는 그림 4는 Faster R-CNN의 RoI에 FCN이 적용되는 것을 보여준다(15), (16).
Mask R-CNN에서 두 알고리즘을 함께 사용하면서, 영상 분할 성능도 향상되었다. Faster R-CNN이 탐지와 함께 객체를 분류하는 기능을
수행하기 때문에, FCN은 픽셀들을 다양한 클래스로 분류할 필요가 사라졌다. 그래서 활성 함수로 기존의 여러 개의 클래스로 분류하는 Softmax
대신, 픽셀이 마스크인지 아닌지의 두 개의 클래스로 분류하는 Sigmoid를 사용하여, 클래스 수가 줄어든 만큼 생성하는 마스크 정확성의 이득을 얻었다.
그림. 5. (a)RoI Pooling, (b)RoIAlign
Fig. 5. (a)RoI Pooling, (b)RoIAlign
또 다른 개선된 점은 Faster R-CNN에서 합성 곱 층의 고정된 입력 크기 7x7에 맞추기 위한 RoI Pooling이 Mask R-CNN에서
RoIAlign으로 변경된 것이다. 객체탐지 알고리즘은 위치 파악이 목적이기 때문에, MxN 크기의 RoI를 7x7로 풀링할 때, 7의 배수가 아닌
M과 N의 경우 그림 5의 (a)는 예시를 위해 7x7 대신 2x2로 설정하여 5x5 RoI의 각 좌표를 반올림하여 진행되는 것을 보여준다. 그러나 영상 분할은 픽셀 단위의 정밀한
분할을 목적이므로, RoIAlign은 여러 픽셀에 걸쳐지는 Subcell을 사용하여보다 정밀한 특징맵을 생성한다. 따라서 본 연구에서는 한우의 정확한
면적과 모양을 획득하기 위해서 Mask R-CNN 알고리즘을 사용했다.
한우 영상의 분할 결과는 그림 6에 나타내었다. 배경을 흑백으로 표현하였고, 생성한 마스크 영역은 원본 그대로 표현하였다.
그림. 6. 영상 분할 결과
Fig. 6. Image segmentation result
2.6 영상 분할 방법 2 (GrabCut)
영상 분할에서 Mask R-CNN의 성능을 알아보기 위해 GrabCut 알고리즘과 비교하였다(17). GrabCut은 최대 유량 알고리즘이라고도 불리우는 GraphCut을 확장한 알고리즘이다(18).
GrabCut은 알고리즘의 시작 시 그림 7의 (a)와 같이 사람이 지정하는 객체를 포함한 RoI가 주어져야 한다. 주어진 RoI의 내부에 객체가 위치하고, 외부에 배경이 위치함을 이용하여 배경과 객체에
각각 RGB 색상 공간을 기반으로 GMM(Gaussian Mixture Model)을 생성한다. 생성한 두 GMM을 통해 영상을 확실히 객체인 영역과
배경인 영역, 그리고 두 영역에 포함되지 않는 미지의 영역으로 나눈다. 미지의 영역을 객체 혹은 배경의 영역으로 분할 하기 위해서 확실히 객체 및
배경인 영역만을 이용해 더 정확한 두 GMM과 다시 생성하고, 새롭게 생성한 GMM으로 미지의 영역을 객체에 가까운 영역과 배경에 가까운 영역으로
분할하여, 최종적으로 입력 영상에서 객체와 배경을 분할할 수 있다. GrabCut을 본 연구의 데이터에 적용한 결과를 그림 7의 (b)에 나타내었다.
그림. 7. (a) GrabCut RoI 설정, (b) GrabCut 결과
Fig. 7. (a) GrabCut RoI Settings, (b) GrabCut Result
2.7 영상 분할을 위한 Ground Truth
표 1. 영상 분할 평가
Table 1. Image segmentation evaluation
Evaluation Metrics
(Confidence)
|
Mask R-CNN
Score
|
GrabCut
Score
|
Precision (0.50)
|
0.999
|
0.999
|
Precision (0.75)
|
0.996
|
0.450
|
Precision (0.85)
|
0.889
|
0.223
|
Recall (0.50)
|
0.999
|
0.749
|
Recall (0.75)
|
0.999
|
0.337
|
Recall (0.85)
|
0.999
|
0.337
|
AP (0.50)
|
0.997
|
0.748
|
AP (0.75)
|
0.992
|
0.209
|
AP (0.85)
|
0.892
|
0.103
|
VIA(VGG Image Annotator) 라벨링 툴을 사용해 4,106장의 한우 탑뷰 영상을 라벨링 했다. 영상 분할을 위한 영상 라벨링 작업은
이미지 내에서 분할 하고자 하는 객체와 배경의 경계에 좌표를 찍는 방법으로 이루어지는데, 모델이 학습할 때 그 좌표들을 이어 마스크를 형성하고, 해당
영역을 Ground Truth로 학습한다. 그래서 많은 좌표를 찍을수록 정밀한 영상 분할을 기대할 수 있어, 장당 45개 이상의 좌표로 라벨링 데이터를
구성했다.
3. 영상 분할 성능평가
연구에 사용된 한우는 최저 303kg에서 최고 663kg까지 포함하지만, 304kg, 305kg, 303kg의 근사한 무게와 비슷한 크기의 개체도
포함하고 있어, 학습데이터와 테스트 데이터에 무게 분포를 고르게 구성할 필요가 있다. 그러기 위해 12마리의 한우를 무게순으로 4그룹으로 나눈 후,
무작위로 그룹 당 한 마리씩 선택하여 테스트 데이터로 사용해 상이한 무게의 한우 이미지에 대한 성능을 검증할 수 있도록 했다. 남은 8마리의 소를
학습데이터로 사용하여, 총 4,102장의 데이터 중 1,249장은 테스트에, 2,853장은 학습에 사용되었다.
영상 분할의 목적은 각각의 픽셀의 클래스를 예측해 객체의 영역을 분할하는 것이기 때문에 Ground Truth와의 영역을 비교하는 IoU(Intersection
over Union)와 Precision-Recall 곡선 아래 영역을 통합하는 Average Precision으로 평가를 진행했다. Average
Precision을 산출하기 위해 Precision-Recall 곡선이 필요하다. 분류 학습모델을 평가할 때는 TP(True Positive), TN(True
Negative, FP(False Positive), FN(False Negative)의 네 가지 범주를 쉽게 구분할 수 있지만, 영상 분할 모델의
경우 무엇을 어떤 범주로 간주할지 직관적이지 않다. 영상 분할에서 TP는 마스크가 생성되었고, IoU가 임계값을 넘는 경우를, FP는 IoU가 임계값을
넘지 못하는 경우를 의미한다. FN은 Ground Truth가 존재하지만, 마스크를 생성하지 못한 경우를, TN은 Ground Truth가 없고,
마스크를 생성하지 않은 경우를 의미한다.
식 (1)과 (2)를 살펴보면, Precision은 알고리즘이 생성한 마스크 중에서 IoU를 넘는 것의 비율을 의미하며, Recall은 실제 참인 것 중에서 참으로
예측된 것의 비율을 의미한다. 두 지표 모두 참에 대한 평가이지만, Precision은 FN을 고려할 수 없고, Recall은 FP를 고려할 수 없다.
그리고 두 지표는 반비례 경향을 가질 수 있으므로, Precision과 Recall은 상호보완적으로 사용되어야 하며, 두 지표가 모두 높을수록 좋은
모델이다. 그렇기에 Precision-Recall 곡선 아래 면적으로 구해지는 Average Precision을 통해 모델이 평가되어야 한다. 본
연구에서 평균 IoU는 0.884이었기 때문에, 0.5, 0.75, 0.85를 기준으로 삼아 세 차례 평가를 진행했다. 그에 관한 결과 수치는 표 2과 같다. Confidence는 IoU 수치의 기준을 의미한다.
표 1을 보면, 기준 Confidence가 0.5일 때의 두 알고리즘의 성능은 비슷하지만, 0.85로 증가할수록 차이가 벌어지는 것을 확인할 수 있다.
이는 GrabCut 알고리즘의 평균 IoU는 0.75이기 때문이며, 그만큼 딥러닝 기반의 Mask R-CNN의 성능이 GrabCut 보다 뛰어남을
의미한다.
그림 7에서 확인할 수 있듯이 우형기 발판의 색상이 한우의 색상과 유사하다. GrabCut의 RoI를 한우의 크기에 맞춰 설정할 때, 피치 못하게 그 RoI
내부에 발판이 포함되었고, GrabCut은 RoI 내부에 객체가 존재함을 기본조건으로 동작하므로, GrabCut 알고리즘은 발판도 객체로 판단하는
경우가 많았으며, 발판이 RoI 내부와 외부에 모두 존재할 때는 한우와 배경을 좀 더 잘 구분하였다. 이러한 분석은 딥러닝 기반의 방법은 수많은 학습데이터를
거치면서, 정답과 오답의 특징을 스스로 찾아내 학습하면서 발판과 한우의 차이를 구분했지만, RGB 색상 공간의 유사함을 기준으로 분할하는 GrabCut
기법은 주변 배경에 의해 쉽게 정확성을 잃어버린다는 것을 보여준다.
4. 체중 상관요소
4.1 피어슨 상관 계수
한우의 탑뷰 영상에서 영상 분할을 통해 획득한 마스크의 면적과 체중의 상관관계를 알아보기 위해, 알고리즘의 결과로 획득한 마스크의 면적과 우형기로
측정한 체중 사이의 피어슨 상관 계수를 계산했다. 피어슨 상관 계수는 변수 사이의 선형 상관관계를 계량화한 수치로, 코시-슈바르츠 부등식에 의해 +1과
–1 사이의 값을 가지며, +1은 완벽한 양의 선형 상관관계를, 0은 상관관계가 없음을, -1은 완벽한 음의 선형 상관관계를 의미한다.
4.2 Mask R-CNN 마스크의 체중 상관관계
그림. 8. 카메라 위치에 따른 영상 비교 (a) 우형기 카메라 영상, (b) 우형기 입구 카메라 영상
Fig. 8. Comparison of images according to camera position (a) cattle weight bridge
camera image, (b) cattle weight bridge entrance camera image
우형기를 촬영하는 첫 번째 카메라의 탑뷰 영상에서 획득한 마스크는 체중과 0.88의 상관관계가 있었고, 우형기 입구를 촬영하는 두 번째 카메라에서
수집한 탑뷰 영상의 마스크는 체중과 0.66의 상관관계가 있었으며, 두 영상을 모두 사용했을 때는 0.71의 상관관계가 있었다. 카메라의 위치에 따라
차이가 발생하는 것은 세 가지 원인으로 분석할 수 있었다. 첫째, 두 번째 카메라에서 획득한 영상은 두 명의 사람과 도구가 포함되어 첫 번째 카메라보다
더 복잡한 배경을 포함했고, 둘째, 첫 번째 카메라에서는 우형기 때문에 소가 항상 영상의 중앙에 위치하여 카메라 왜곡을 최소화할 수 있었으나, 두
번째 카메라에서는 소가 영상의 가장자리에 위치하는 경우가 더 많았기 때문에 왜곡의 영향을 피할 수 없었다. 셋째, 세 마리의 작은 소를 제외한 나머지
소는 우형기 안에서 자유롭게 움직일 수 없어 비교적 자세가 고정적이었지만, 우형기 밖에서는 대부분의 소가 자유로운 자세를 취했다. 일정하지 않은 자세는
같은 소에서도 다른 탑뷰 면적 값을 가지게 된다. 그림 8의 (a)와 (b)의 비교를 통해 (b)에서 더 복잡한 배경과 카메라 왜곡을 확인할 수 있다.
4.3 GrabCut 마스크의 체중 상관관계
GrabCut으로 생성한 마스크의 체중 상관관계 또한 Mask R-CNN의 경우와 경향은 유사했다. 우형기 바로 위의 첫 번째 카메라에서는 0.43의
상관 계수, 우형기 입구의 두 번째 카메라에서는 0.33의 상관 계수, 두 데이터를 합하여 산출했을 때는 0.36의 상관 계수를 얻을 수 있었다.
Mask R-CNN에서의 계수와 비교했을 때 큰 차이를 보였으며, 이것은 Mask R-CNN의 IoU 0.88과, GrabCut의 IoU 0.75의
차이보다 크다. IoU가 Ground Truth와의 유사도인 것을 고려하면, 상관 계수의 차이는 예상보다 컸으며, 체중을 예측하는 과정에서 마스크의
정확성은 IoU 만으로 가늠할 수 없으며, 상관 계수의 필요를 보여준다.
4.4 체중 상관요소 추정
그림. 9. 한우의 다양한 자세들
Fig. 9. Various postures of Korean Cattle
기존 연구를 통해 밝혀진 체중 상관요소는 앞서 언급했듯 체고, 가슴 너비, 몸 깊이 등이 있다. 체고와 몸 깊이를 추정하기 위해서는 탑뷰가 아닌 사이드뷰
영상 데이터가 필수적이지만, 우형기 및 실제 우사 환경에서는 항상 우리의 창살이 한우의 옆모습을 모습을 가리고 있으므로 좋은 품질의 데이터를 얻기
어렵다. 따라서 본 연구는 탑뷰 영상만으로 체중 예측을 진행하기 위해, 체장과 몸 너비를 체중 상관요소로 추출하고자 하였다.
그러나 그림 9과 같이, 소는 항상 움직이며 방향이 일정하지 않기 때문에, 단순히 분할한 마스크의 가로 길이와 세로 길이로는 체장과 너비를 산출할 수 없다. 이러한
문제를 해결하기 위해 마스크에서 최적 타원을 그린 후, 그 타원의 장축과 단축을 체중 상관요소로 추출하였다. 표 2는 타원의 장축과 단축의 피어슨 상관 계수를 보여주고, 그림 10은 타원의 장축과 단축을 시각화하였다.
표 2. 체중와 장축과 단축의 체중 피어슨 상관계수
Table 2. Pearson's correlation coefficient between the weight and the major axis,
the minor axis
Pearson Correlation Coefficient
|
Mask R-CNN
|
GrabCut
|
MinorAxisLength
|
0.350
|
0.032
|
MajorAxisLength
|
0.557
|
0.514
|
그림. 10. 최적 타원의 장축과 단축
Fig. 10. Minor a xis and Minor axis of the optimal ellipse
5. 한우 체중 예측
체중 예측 학습에 사용된 데이터는 Mask R-CNN 학습 과정과 같은 학습 데이터셋, 테스트 데이터셋에서 우형기 바로 위에 위치하는 첫 번째 카메라로
획득한 데이터에서 추출한 체중 상관요소로 구성하였다. Ground Truth 마스크에서 추출한 세 가지 체중 상관요소를 학습하고, 두 영상 분할 알고리즘의
결과 마스크에서 추출한 세 가지 체중 상관요소로 테스트를 진행하였다. 데이터의 양은 학습데이터는 2,236개, 테스트 데이터는 937개를 사용하였다.
표 3. 체중 예측 결과
Table 3. Weight Prediction Results
Cow Weight (kg)
|
Number of Images
|
Mask R-CNN
MAE(kg)
|
Error Rate
|
GrabCut
MAE(kg)
|
Error Rate
|
305
|
153
|
43.624
|
0.143
|
251.101
|
0.823
|
580
|
135
|
16.362
|
0.028
|
110.714
|
0.190
|
463
|
402
|
29.656
|
0.064
|
157.861
|
0.341
|
443
|
247
|
23.099
|
0.052
|
193.843
|
0.438
|
Weighted Average
|
26.108
|
0.069
|
167.371
|
0.424
|
체중 예측에 사용된 네트워크는 다음과 같다. 입력층과 두 개의 은닉층 및 출력층을 포함하는 완전연결층으로 구성되었으며, RMSprop를 옵티마이저로
사용하였고, MSE(Mean Squared Error)를 손실함수로 사용하였으며, 20 EPOCH 동안 검증 결과의 개선이 없으면 학습을 멈추도록
설정하여 과적합을 방지하였다. 네트워크에 영상 분할 마스크 면적, 최적 타원의 장축 및 단축을 입력하고, 한우 무게를 정답으로 학습하였으며, MAE
(Maen Absolute Error)으로 평가를 진행하였다. 표 3은 그 결과를 나타낸다. 이 결과를 각 체중에 해당하는 데이터양을 고려하여 오차율의 가중평균을 산출하면 0.07을 얻을 수 있다.
GrabCut의 마스크로 예측한 오차율은 Mask R-CNN과 큰 차이를 보여주고 있는데, 두 결과의 유사한 경향은 580kg의 소에서 가장 작은
오차값을 갖는다는 것이다. 그에 대한 원인을 분석해 보았을 때, 580kg의 소의 영상은 다른 소들과 비교해서 머리와 꼬리가 일직선인, 곧게 펴진
데이터가 많다는 차이가 있었다. 이것으로 보아 체중의 예측에는 자세에 대한 부분이 영향을 크게 미치는 것을 알 수 있다.
사이드뷰 데이터와 EfficientNet 아키텍처를 사용해 체중을 예측한 기존 연구는 0.89의 정확도를 나타내었다(19). 본 연구는 비교적 수집하기 쉬운 탑뷰 데이터에서 체중 상관요소를 추정하여 가중평균 오차율 0.07의 성능을 획득하여 체중 예측의 정확성을 향상한
의미가 있다.
6. 결 론
2016년 이후로 한우의 가격이 꾸준히 상승하면서, 사육 두수도 함께 증가하고 있다. 그러나 농가의 수가 반대로 줄어들고 있어 한 농가에서 사육하는
한우 두수가 늘어나고 있다. 그에 따라 인력과 같은 자원의 소모도 증가하고 있다. 영상기반의 비접촉 한우 생체 정보 측정은 동물에게 스트레스를 유발하지
않고, 인력 소모를 감소할 방법이며, 최근의 딥러닝 기술과 영상기기의 발전은 영상기반의 접근 방식을 가능케 하였다.
본 논문에서는 한우의 체중을 예측하기 위해 이미지에서 한우의 영역분할을 수행하고 체중 상관요소를 추정하여 체중을 예측하였다. 12마리 한우의 탑뷰
영상을 수집했으며, 반복적인 데이터를 제거하기 위해 히스토그램 합산 값을 사용하여 영상을 선별하였고, 효과적인 이미지 분할 알고리즘인 Mask R-CNN을
활용하여 학습했다. Mask R-CNN은 객체탐지 알고리즘 구조에 이미지 분할 알고리즘을 적용한 구조로 되어 있으며 Faster R-CNN의 RoI
Pooling을 개선하고, FCN의 활성함수를 변경해 정밀한 분할이 가능했다. 12마리 중 8마리를 학습하고, 4마리로 테스트를 진행했으며, 평균
IoU 0.88와 confidence 0.85 기준 Averate Precision 0.88의 결과에 도달했다. Mask R-CNN의 영상 분할 성능을
확인하기 위해 GrabCut의 결과와 비교를 진행했으며, GrabCut은 사람의 RoI 지정이 필요한 알고리즘임에도 딥러닝 기반의 Mask R-CNN이
더 정밀하게 개체와 배경을 분할할 수 있음을 확인할 수 있었다. Mask R-CNN의 이미지 분할은, 비교적 복잡한 구조인 한우의 머리 부분은 정밀한
분할을 이루지 못했으나, 단순한 몸통 같은 부위는 정밀하게 분할을 수행한 것을 확인할 수 있었다. 분할 마스크와 체중의 상관관계는 카메라의 위치에
따라 차이가 있었으나 최고 0.88의 상관 계수를 확인했고, 영상 분할 결과 마스크의 최적 타원으로 추정한 체중 상관요소는 0.35, 0.55의 상관
계수를 가지는 것을 확인하였다. 세 가지의 체중 상관요소를 통해 체중을 예측한 결과는 가중평균 0.07의 오차율을 보였으며, 8마리의 데이터를 학습하여
4마리의 데이터로 평가한 결과이므로, 추후 많은 데이터를 확보하면 더 정밀한 예측이 기대될 수 있음을 보여준다.
따라서 추후 연구에서는 카메라 왜곡 보정과 함께 이미지 가슴 너비, 골반 너비 및 체고 등 더 많은 체중 상관요소를 획득하고, 소의 자세에 따른 영향
및 일정 자세를 선별하는 알고리즘을 추가로 연구하여 영상기반의 한우 체중을 더욱 정밀하게 예측하는 연구를 수행할 것이다.
Acknowledgements
This work was supported by the National Research Foundation of Korea(NRF) grant funded
by the Korea government(MSIT) (No. 2017R1E1A1A03070297). This research was supported
by the MSIT(Ministry of Science and ICT), Korea, under the ITRC(Information Technology
Research Center) support program(IITP-2021-2018-0-01433) supervised by the IITP(Institute
for Information & communications Technology Promotion).
References
Korean Statistical Information Service, Number of farms and number of cattle by city
and breeding scale
National Institute of Animal Science, Enhancement of economic feasibility through
proper management of breeding cattle using standard Korean cattl
Rural Development Administration, A tape measure that calculates the weight of Korean
cattle without a scale
Rural Development Administration, Korean cattle standard weight calculator
K. Wang, H. Guo, Q. Ma, W. Su, L. Chen, D. Zhu, 2018, A portable and automatic Xtion-based
measurement system for pig body size, Computers and Electronics in Agriculture, Vol.
148, pp. 291-298
K. W. Seo, D. W. Lee, E. G. Choi, C. H. Kim, H. T. Kim, 2012, Algorithm for Measurement
of the Dairy Cow's Body Parameters by Using Image Processing, Journal of Biosystems
Engineering, Vol. 37, No. 2, pp. 122-129
Wongsriworaphon, Apirachai, Arnonkijpanich Banchar, Pathumnakul Supachai, 2015,
An approach based on digital image analysis to estimate the live weights of pigs in
farm environments, Computers and Electronics in Agriculture, Vol. 115, pp. 26-33
Y. LeCun, L. Bottou, Y. Bengio, P. Haffner, 1998, Gradientbased learning applied to
document recognition, Proceedings of the IEEE, Vol. 86, No. 11, pp. 2278-2324
B. Jiang, Q. Wu, X. Yin, D. Wu, H. Song, D. He, 2019, FLYOLOv3 deep learning for key
parts of dairy cow body detection, Computers and Electronics in Agriculture 166 104982
D. Wu, Q. Wu, X. Yin, B. Jiang, H. Wang, D. He, H. Song, 2020, Lameness detection
of dairy cows based on the YOLOv3 deep learning algorithm and a relative step size
characteristic vector, Biosystems Engineering, Vol. 189, pp. 150-163
Banos, Georgios, P. M. Coffey, 2012, Prediction of liveweight from linear conformation
traits in dairy cattle, Journal of dairy science, Vol. 95, No. 4, pp. 2170-2175
E. P. C. Koenen, A. F. Groen, 1998, Genetic evaluation of body weight of lactating
Holstein heifers using body measurements and conformation traits, Journal of dairy
science, Vol. 81, No. 6, pp. 1709-1713
W. Barlieb, C. M. Baumrucker, C. R., 2010, Genetic parameters of feed intake, production,
body weight, body condition score, and selected type traits of Holstein cows in commercial
tie-stall barns, Journal of Dairy Science, Vol. 93, No. 10, pp. 4892-4901
K. He, G. Gkioxari, P. Dollár, R. Girshick, 2017, Mask r-cnn, Proceedings of the IEEE
international conference on computer vision, pp. 2961-2969
S. Ren, K. He, R. Girshick, J. Sun, 2016, 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
Jonathan Long, Shelhamer Evan, Darrell Trevor, 2015, Fully convolutional networks
for semantic segmentation, Proceedings of the IEEE conference on computer vision and
pattern recognition, pp. 3431-3440
Rother, Carsten, Kolmogorov Vladimir, Blake Andrew, 2004, GrabCut interactive foreground
extraction using iterated graph cuts, ACM transactions on graphics (TOG), Vol. 23,
No. 3, pp. 309-314
Greig, M. Dorothy, T. Porteous Bruce, H. Seheult Allan, 1989, Exact maximum a posteriori
estimation for binary images, Journal of the Royal Statistical Society: Series B (Methodological),
Vol. 51, No. 2, pp. 271-279
A. H. Zhain, M. D. Guitara, B. U. Hidayahtuloh, R. A. Wibowo, H. F. Muttaqin, 2021,
Digital Image Processing to Determine Weight and Classification of Cow Weight with
Deep Learning, Psychology and Education Journal, Vol. 58, No. 1, pp. 6066-6082
저자소개
He received the B.S. degree in Electrical and Electronic Engineering from Kangwon
National University, South Korea in 2020.
He is currently working toward the M.S. degree in Department of Interdisciplinary
Graduate Program for BIT Medical Convergence, Kangwon National University, South Korea.
He received his MS and PhD degrees in Electrical and Computer Engineering from the
University of Florida, USA in 2009.
During 2010-2011, he was a Research Fellow at the University of Michigan, Ann Arbor,
USA. From 2012 to 2013, he was a Chief Research Engineer in LG Electronics, South
Korea.
He is currently a professor with the Department of Electronics Engineering and Interdisciplinary
Graduate Program for BIT Medical Convergence, Kangwon National University, South Korea.