aihub.or.kr · web view인공지능(ai: artificial intelligence) 분야는 인공적으로...

11
테테테테 테테테 2020 테 2 테 테테테테 테테테 테테테 테테 테테테테 테테 테테테 테테 테 테테테테 테테 테테 테테테 테테(QC) 테테테

Upload: others

Post on 24-Mar-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: aihub.or.kr · Web view인공지능(AI: Artificial Intelligence) 분야는 인공적으로 지능을 갖는다는 의미로 사람이 자연적으로 갖는 지능과 다른 의미이다

테크니컬리포트

2020 년 2 차인공지능 학습용 데이터 구축

농축수산 영역 축산물 품질 및 가축행동 영상 과제

축산물 품질(QC) 이미지

Page 2: aihub.or.kr · Web view인공지능(AI: Artificial Intelligence) 분야는 인공적으로 지능을 갖는다는 의미로 사람이 자연적으로 갖는 지능과 다른 의미이다

축산물 품질 데이터셋의 의미인공지능(AI: Artificial Intelligence) 분야는 인공적으로 지능을 갖는다는 의미로 사람이 자연적으로 갖는 지능과 다른 의미이다. 따라서 컴퓨터를 통해 의도적으로 지능을 부여한다. 이를 위해 가장 활발히 연구되고 있는 분야는 딥러닝을 이용한 사람의 눈과 입이 되고 있는 컴퓨터 비전 분야와 자연어 처리이다. 딥러닝 기술을 이용한 자연어 처리는 비약적으로 발전하였다. 언어의 통▪번역이나 자연어의 이해 등이 갈수록 자연스러워지는 것이 그리 놀라운 일이 아니다. 그에 비할 수 있는 컴퓨터 비전에서의 일들은 물체의 검출률, 인식률이 놀라울 만큼 높아졌다. 최적화 등의 문제들을 푸는 것들이 너무 쉬운 방법이 되어버렸다. 이는 딥러닝의 발전과도 맞물려 돌아갔다. 컴퓨터 비전은 새로운 전성기를 누리고 있다. 모든 기술에는 딥러닝이 들어가고 가격 경쟁력이 있는 카메라가 타 센서들을 누르고 우리 생활 곳곳에 스며들고 있다. 아래의 사진들은 우리가 누리고 있는 컴퓨터 비전의 세계이다.

먼저 컴퓨터 비전에서도 높은 레벨의 처리인 영상 이해이다. 각 물체들을 분류해내고 이 물체들의 기능을 이해하고 장면 전체를 이해하는 것이 영상 이해를 하는 것이다. 이렇게 영상 이해를 하게 되면 우리는 이 다음에 일어날 일도 상상할 수 있게 되며 이전에 일어난 일도 이해할 수 있게 된다. 따라서 영상을 가지고 시간의 흐름을 따라 갈 수 있게 된다.

그림 1. 영상 이해의 예시

아래의 영상은 요즘은 아주 흔한 얼굴 인식 기술이다. 이 기술은 다시 몇 가지의 기술이 합쳐진다. 먼저 얼굴을 찾는다(detection). 그 다음 얼굴을 인식한다(recognition). 그리고 얼굴을 identification 한다. 이러한 과정을 거치면 우리는 예를 들면 회사 서버에 출근이 기록된다.

Page 3: aihub.or.kr · Web view인공지능(AI: Artificial Intelligence) 분야는 인공적으로 지능을 갖는다는 의미로 사람이 자연적으로 갖는 지능과 다른 의미이다

그림 2. 얼굴 인식의 예시

그러나 아직까지 컴퓨터 비전 분야는 블루오션이 많이 남아있다. 축산도 그 영역 중에 하나이다. 당사인 한국축산데이터가 직접 데이터셋을 구축하는 분야도 여기에 있다. 우리는 축산물 품질(QC) 이미지 데이터를 총 16 만장 구축하기로 하였다. 축산물 품질에는 유의미한 소의 도체, 돼지의 도체, 닭의 도체, 달걀의 외관과 호우 유닛 이렇게 5 종의 데이터가 포함된다. 소의 도체, 돼지의 도체는 각각 소의 등심 단면, 돼지의 삼겹살 단면을 영상 데이터로 저장하고, 닭의 도체는 도축된 육계의 앞, 뒷면 영상을 촬영한 영상을 저장하였다. 달걀의 경우는 외관의 경우는 단순하긴 하지만 외관 테스트도 1+등급이 되려면 반드시 필요한 테스트 중에 하나이며 외관이 깨끗하고 묻어나는 것이 없으며 금이 가지 않고 내면에서도 금이 없으며, 점들이 없어야 하는 심사이다. 생각보다 까다로운 부분이다. 호우 유닛은 모든 달걀이 다 받는 것은 아니지만 샘플 심사를 해서 신선도를 나타내는 호우 유닛이 72 를 넘으면 1+를 받는다. 당사는 신선도 심사를 하는 영상을 촬영하여 달걀을 깨뜨렸을 때 달걀의 윗면과 옆면을 순간적으로 영상으로 획득하여 저장하여 데이터화 하였다. 따라서 당사가 얻고 싶어 하는 바는 달걀의 모양이 신선도와 연관성이 있는가 하는 것이다. 이렇듯 축산물 품질의 경우에는 각 이미지 데이터는 등급이라는 하나의 데이터를 더 얻게 된다. 이 두 개의 값이 연결된 데이터가 하나의 세트를 이루고, 영상을 가공할 때 얻는 가공데이터들이 다시 엮여 하나의 영상데이터에서 시작하여 커다란 연결된 데이터들이 세트를 이루게 된다. 우리의 목적은 이 하나의 평등한 한 등급의 데이터가 갖는 관계를 이해하고 연관성을 판단하게 되는데 있다.

데이터셋의 구성본 데이터셋은 일반적으로 컴퓨터비전 연구에 활용하는 원본 이미지-가공 데이터 쌍의 표준데이터셋으로 구성되어 있다. 구체적으로는, 원본 이미지의 경우 축산물 5 종(소, 돼지, 닭, 달걀의 외관, 달걀의 신선도)에 대하여 총 16 만 장 이상으로 구성되어 있다. 원본이미지를 얻기 위해 모든 이미지 획득 과정에서 동일하게 적용되는 것이 있는데 조도 체크와 칼라체커보드 촬영이다. 모든 도체 또는 축산품을 촬영할 때 동일한 환경을 만들 수 없기 때문에 조도와 칼라체크를 지원하여 추후 변환하여 동일한 기준이 필요하다면 만들 수 있도록 하였다.

Page 4: aihub.or.kr · Web view인공지능(AI: Artificial Intelligence) 분야는 인공적으로 지능을 갖는다는 의미로 사람이 자연적으로 갖는 지능과 다른 의미이다

그림 3. 칼라체커보드

그림 4. 조도계

원본 이미지는 소의 경우는 도축장에서 직접 동영상의 형태로 소의 이분 도체를 촬영하여 제공해주고 있다. 따라서 당사 AI팀에서는 화질이 좋은 원본만을 획득하여 소의 도체 원본 데이터로 사용한다. 한 도체마다 두 면의 등심이 나오고 이를 다양한 각도에서 획득한 영상 데이터가 얻어진다. 추가적으로는 어노테이션 데이터로 육색, 지방량, 품종, 암, 수, 등등이 저장된다. 우리는 어노테이션 데이터로도 다양한 데이터의 활용을 할 수 있는데, 한우와 육우, 암, 수 이렇게 나누어 등급 데이터를 확인해 볼 수가 있다. 아래는 성별에 따른 등급 비율을 퍼센트로 나누어 본 결과이다 전반적으로 암소가 데이터 양이 적고 높은 등급을 받지 못하는 것을 알 수 있다. 이처럼 데이터간 분석을 통해 새로운 정보를 활용이 가능하다.

Page 5: aihub.or.kr · Web view인공지능(AI: Artificial Intelligence) 분야는 인공적으로 지능을 갖는다는 의미로 사람이 자연적으로 갖는 지능과 다른 의미이다

개수 : 개체식별번호 등급성별 1 2 3 1+ 1++ 총합계거세 71.15% 50.00% 0.00% 82.42% 91.11% 77.39%암 28.85% 50.00% 100.00% 17.58% 8.89% 22.61%총합계 100.00% 100.00% 100.00% 100.00% 100.00% 100.00%

소도체에 포함되는 중요한 다른 정보는 영상의 가공데이터이다. 본 AI 데이터셋 구성에서는 영상 이미지에서 얻을 수 있는 영상에서의 의미 정보를 라벨로 저장한다. 물체의 외곽을 포함하는 Bounding Box, 물체의 정확한 외곽의 선을 나타내는 segmentation, 그리고 물체(동물)의 주요 구조를 표시하는 Keypoint 를 라벨로 영상 데이터와 라벨 데이터로 저장된다. 이 라벨들은 Ground Truth(GT)로써 머신러닝, 딥러닝 학습을 시킬 때 주로 사용된다. 보통의 경우는 Bounding Box 를 많이 학습을 시키며 이를 통해 detection 을 할 수 있게 된다. Bounding Box 는 시작 좌표, 폭과 높이를 포함하지만 학습되는 데이터는 그 안에 들어있는 영상의 내용이다.

돼지 도체는 등급과는 직접적인 연결은 안되지만 축산물등급평가원에서도 적시하고 있는 삼겹살의 형태를 담은 영상데이터를 적절한 데이터로 지정하였다. 삼겹살은 한국에서 가장 많이 소비되고 있는 돼지의 부위이다. 등급은 도체의 중량과 등지방의 두께에 따라 획득된다. 이 등급은 삼겹살의 양과 적절히 매칭된다. GT 데이터는 살코기부분과 지방부분으로 나누어 Segmentation 하는 것을 대상으로 한다.

닭의 도체는 등급 데이터와 함께 GT 데이터로 전체 영상 안에 닭의 도체가 있는 위치의 Bounding Box, 해당 닭의 모양을 그리는 segmentation, 그리고 헹거에 걸려있거나 바닥에 놓여있을 때의 각 관절 및 부위의 Keypoint 를 포함한다. 따라서 앞서 소도체에서 설명한대로 닭의 도체 역시 학습이 필요한 경우 segmentation 또는 keypoint 를 GT 데이터로 학습시킬 수 있고 이를 통해 구조가 제대로 되어있는지 아닌지 확인할 수 있다. 닭의 등급이 떨어지는 중요한 원인 중 하나가 구조적으로 골절이 있을 때이다. 따라서 Keypoint 로 구조를 인식해서 구조를 파악하고 등급을 추정할 수 있다.

끝으로 달걀의 외관에 의한, 달걀의 깨뜨려 윗면, 측면 영상을 통한 신선도 추정에 의한 등급 추정 데이터셋이다. 외관의 데이터는 달걀의 양면 영상을 저장한다. 신선도 추정 데이터는 할란 검사시 동시에 달걀의 윗면과 옆면 영상을 획득하여 저장하고 달걀의 노른자와 흰자 segmentation 좌표들을 저장한다.

앞서 설명한 것과 같이 품질 데이터셋을 구성하기 위해 영상 데이터, 가공 데이터 (라벨링, 어노테이션) – GT 데이터를 만든다.

표준 데이터셋으로 제공되는 데이터는 연구자가 일반적으로 연구를 진행하기에 충분한 양이며, 상용화 레벨에서는 강력한 사전학습모델을 만들 수 있는 양이다. 축산물품질을 평가하는 기술을 개발하기 위해서는 다양한 품질의 축산물 데이터를 수집하는 것이 중요하다. 이에 소 도체는 1++, 1+, 1, 2, 3 클래스에 대하여 총 이미지 약 3 만 장을 수집하였고 닭은 등급 닭 1 클래스 외에도 파계 이미지까지 포함하여 총 이미지 4 만 장을 수집하였다. 달걀은 호우 유닛에 따라 등급이 부여되는데, 1+, 1, 2 클래스에 대하여 총 이미지 1.5 만 장을 수집하였다.

Page 6: aihub.or.kr · Web view인공지능(AI: Artificial Intelligence) 분야는 인공적으로 지능을 갖는다는 의미로 사람이 자연적으로 갖는 지능과 다른 의미이다

표준데이터 종류 (축산물)

포함 내용 제공 방식

소(한우, 육우) 1-1) 살코기 Segmentation JSON 포맷 파일

돼지 3-1) 삼겹살 살코기 Bounding Box, Segmentation 3-2) 삼겹살 지방 Bounding Box, Segmentation 

JSON 포맷 파일

닭 4-1) 등급 닭 Bounding Box, Segmentation, Keypoint, 4-2) 파계 Bounding Box, Segmentation, Keypoint

JSON 포맷 파일

달걀 신선도 5-1) 난황 Segmentation

5-2) 노른자 Segmentation

JSON 포맷 파일

달걀 외관 6-1) 외형 Bounding Box JSON 포맷 파일

데이터셋의 설계 기준과 분포데이터셋을 설계할 때 가장 중요하게 고려했던 점은 축산물별 특징을 고려하여 수집하는 데이터와 가공 표준을 설정하는 것이고, 특히나 객체별로 미미한 차이를 등급 예측에 반영하는 것이 핵심이기 때문에 등급 판정에 대한 정확도를 높이기 위하여 다각도(탑뷰 및 사이드뷰 등)에서 이미지 데이터를 얻는 것에 주력하였다. 축산물별 데이터셋을 구성할 때에는 등급을 분류기준으로 삼았고, 해당 분류기준에 따라 골고루 데이터가 분포되도록 설계하여 학습 시 예상할 수 있는 데이터 편향성을 최소화하도록 했다. 

Page 7: aihub.or.kr · Web view인공지능(AI: Artificial Intelligence) 분야는 인공적으로 지능을 갖는다는 의미로 사람이 자연적으로 갖는 지능과 다른 의미이다

그림 2 데이터셋 구성 개요

축산물품질 데이터셋 구성 원칙과 주요 특징은 다음과 같다.

원천데이터 획득: 축산물품질 데이터는 도축장이나 육가공장을 통하여 원천데이터를 획득한다. 한국축산데이터의 데이터셋은 원천데이터는 영상 형태로 획득하고 이를 일정 기준에 따라 정적 이미지로 변환하여 최종 원천데이터셋을 구성한다. 축산물별 법정 등급 기준에 따라 최대한 다양한 등급의 데이터를 확보하였고, 특히 닭의 경우는 파계에 대한 데이터셋을 구축하여 데이터셋의 활용성을 높이도록 하였다. 또한 축산물별, 등급별 데이터 수집에 있어서 각 카테고리에 해당하는 데이터 양이 균등하게 분포될 수 있도록 구축하였다.

o 한우와 육우 홀스타인은 지정된 등급분류에 따라 1++, 1+, 1, 2, 3 등급으로 나누어 등급별로 데이터를 수집하였다. 특히, 소는 등심 부위의 마블링과 색상 등이 품질 결정에 중요한 부분을 차지하기 때문에 등심 절단면을 중심으로 학습할 수 있도록 데이터를 구성하였다.

o 닭 도체는 소와 다르게 일부 개체만 등급닭으로 판정사에게 등급이 매겨지고 나머지도 동일한 등급을 얻게 된다. 이 과정에서 애초에 피부가 상한 닭, 다리 및 날개가 부러진 닭은 파계라 하여 대상에서 제외되는데 따라서 등급은 모두 1 등급 이상만 나오게 된다. 현재 시장에서 유통되는 모든 닭은 1 등급 또는 등급외 닭이다. 한국축산데이터는 등급데이터를 얻기 위해서 육계 영상을 3 만수를 확보하였으나 1 등급 또는 파계 데이터를 얻게 되었고 따라서 등급외로 떨어지는 닭을 구분하는 알고리즘을 개발할 수 있을 것이라 예상한다.    

o 달걀은 호우 유닛에 따라 등급이 부여되는데, 호유 유닛 수치가 72 이상이면 1+ 등급을 얻는다. 호우 유닛을 총 네 개의 구간으로 나누어서 72 이상인 1+등급란, 60 이상인 1 등급란, 40 이상인 2 등급란, 40 미만인 등급란으로 구분하여 데이터를 구성하였다.

Page 8: aihub.or.kr · Web view인공지능(AI: Artificial Intelligence) 분야는 인공적으로 지능을 갖는다는 의미로 사람이 자연적으로 갖는 지능과 다른 의미이다

데이터 구조데이터셋에 따른 항목과 해당 값은 아래 테이블과 같다. 

분류 소 도체

(한우/육우)돼지 도체 닭 도체 달걀

(외관)

달걀

(호우)

내용 원본이미지,

가공데이터

원본이미지,

가공데이터

원본이미지,

가공데이터

원본이미지,

가공데이터

원본이미지,

가공데이터

수량 5 만 장 1 만장 5 만 장 1 만 장 4 만 장

항목 포함여부

도축장명 butchery

Y Y Y Y Y

촬영일시 date Y Y Y Y Y

사진번호 img_id Y Y Y Y Y

개체번호 id Y Y Y Y Y

축종 kind Y Y Y Y Y

바운딩박스 시작점 (x,y좌표)

bbs Y Y Y Y N

바운딩박스 끝점 (x,y좌표)

bbl Y Y Y Y N

세그멘테이션 좌표점

sgmt Y Y Y Y Y

Page 9: aihub.or.kr · Web view인공지능(AI: Artificial Intelligence) 분야는 인공적으로 지능을 갖는다는 의미로 사람이 자연적으로 갖는 지능과 다른 의미이다

키포인트 keypoint

N Y N Y N

품질등급 class Y Y Y Y Y

데이터 예시이 데이터는 한우 도체의 품질 평가를 위한 학습용 데이터 기준이며, 이미지 한 장(“#####.jpg”) 내에 있는 개별 개체(“N”)마다 축산물 종류를 나타내는 “label_id”와 등급을 나타내는 “class_id”, 마블링에 대한 segmentation 라벨의 x, y 좌표점 세트([(x1,y1), (x2,y2), (x3,y3),...]) 등으로 구성된다.

JSON File 예시

{ “00043.jpg” : {    “1” : {        “label_id” : “cow_korean”,        “class_id” : “1++”,        “segm” : [1778, 131, 1793, 162, 1804, 187, ...]        },    “2” : {        “label_id” : “cow_korean”,        “class_id” : “1++”,        “segm” : [1778, 131, 1793, 162, 1804, 187, ...]        },    “3” : {        “label_id” : “cow_korean”,        “class_id” : “1++”,        “segm” : [1778, 131, 1793, 162, 1804, 187, ...]        },    “4” : {        “label_id” : “cow_korean”,        “class_id” : “1++”,        “segm” : [1778, 131, 1793, 162, 1804, 187, ...]        },  ...

데이터 구축 과정

데이터 셋을 구축하기 위하여 2020 년 9월부터 한우 도축장을 시작으로 축산품의 영상 데이터를 얻기 시작했다. 일관된 품질의 영상데이터를 얻기 위해서 화질에 대한 가이드를 제시하였다. (1920x1080, 촬영스피드 1/100) 이후에도 추가적인 제안들을 수차례 제시하였다. 달걀의 할란 시험 영상의 경우 영상의 획득이 용의하도록 고프로를 장착하였고, 닭 도체와 돼지 도체는 DSLR (소니 알파 6400)을 사용하여 촬영하였다. 촬영 두수가 제한적인 경우는 주로 동영상 촬영을 하여 프레임을 여러 개 뽑는 방식을 적용하였다.

Page 10: aihub.or.kr · Web view인공지능(AI: Artificial Intelligence) 분야는 인공적으로 지능을 갖는다는 의미로 사람이 자연적으로 갖는 지능과 다른 의미이다

그림 4 데이터 정제와 분포 균등화

이렇게 일정한 기준에 따라 엄선된 16 만 장의 이미지에 대해서 bounding box, segmentation 또는 keypoint 등의 데이터가공을 수행하였다. Bounding box 작업의 경우 하나의 개체를 완전히 감싸면서도 최대한 피팅하는 박스를 그릴 수 있도록 가이드 하였고, 그에 따라 개체에 할당된 박스마다 좌상 꼭지점의 x,y 좌표점과 우하 꼭지점의 x,y 좌표점 정보를 기록하였다. Segmentation 작업의 경우 개체의 테두리를 따라 일정 간격으로 점을 찍어서 가공영역이 오브젝트에 최대한으로 피팅될 수 있도록 가이드 하였다. 닭 도체에 대하여는 keypoint 작업을 추가로 진행하였으며, 닭 도체 상에서 포인트를 표시할 위치(왼쪽 날개 등)를 가이드하였다.

위 세 가지 종류의 가공작업을 진행하며 작업자마다 성공률을 측정하였고, 성공률에 따라 검수자격을 부여하여 가공데이터를 검수하는 작업을 진행하였다. 이 때 검수를 통과하지 못한 데이터는 재가공하여 다시 검수를 받는 절차를 밟아 가공 오류를 최소화하였다.

Page 11: aihub.or.kr · Web view인공지능(AI: Artificial Intelligence) 분야는 인공적으로 지능을 갖는다는 의미로 사람이 자연적으로 갖는 지능과 다른 의미이다

그림 5 축산물별 라벨링 유형과 예시

검수와 품질 확보한국축산데이터는 축산 분야의 AI 모델 개발을 위해 원천데이터의 소싱 외에도 대량의 원천데이터를 신뢰도 높은 가공데이터로 변환하기 위하여 내부/외부에 걸쳐 철저한 검수절차를 두었다. 20명이상의 라벨링/어노테이션 인원이 수행하는 bounding box, segmentation, keypoint 에 대하여 현재 5명의 인원이 검수를 하고 있다. 이 검수 인원은 잘못된 라벨링을 수정하고 재입력을 요청하거나 전반적인 성과 흐름을 조절하는 역할을 하고 있다. 검수 프로세스의 안정을 위하여 셀렉트스타(1,400 만장 데이터 가공 이력)의 크라우드소싱 데이터가공 플랫폼 내 검수절차를 따랐으며 크라우드소싱 방식의 데이터가공을 보완하기 위하여 한국축사데이터 내부에도 직접 라벨링/어노테이션을 관리하고 검수하는 전문 개발 인력을 두고 있다. 

Page 12: aihub.or.kr · Web view인공지능(AI: Artificial Intelligence) 분야는 인공적으로 지능을 갖는다는 의미로 사람이 자연적으로 갖는 지능과 다른 의미이다

그림 6 축산 AI 모델 전문 인력을 통한 세부 검수

검수도구로는 한국축산데이터 내부 검수 조직 인원을 위한 검수 툴과 셀렉트스타의 플랫폼을 모두 이용하였으며, 1)정밀도 검사와 2)재현률 검사를 통하여 검수를 진행하였다. 정밀도 검사에서는 작업자들이 객체에 올바르게 가공 작업이 진행되었는지를 검수하며, 정밀도 검사에서 통과된 데이터만 다음 단계인 재현률 검사로 넘긴다. 재현률 검사에서는 작업자들이 데이터가공시 누락한 객체가 없는지 판단하여 양질의 데이터 검수를 진행하며, 마찬가지로 재현률 검사에서 통과된 데이터만 완료된 데이터 분류하였다.

그림 7 품질 확보를 위해 도입한 크라우드소싱 플랫폼 “캐시미션” 검수절차(내부조직도 동일하게 진행)

데이터 구축 담당자수행기관(주관) : 한국축산데이터 (전화: 02-6956-1120), 이메일: [email protected]