스마트양식장 통합 데이터(흰다리새우)
- 분야농축수산
- 유형 텍스트 , 이미지
-
데이터 변경이력
데이터 변경이력 버전 일자 변경내용 비고 1.0 2022-07-13 데이터 최초 개방 데이터 히스토리
데이터 히스토리 일자 변경내용 비고 2022-10-20 신규 샘플데이터 개방 2022-07-13 콘텐츠 최초 등록 소개
- 흰다리새우 성장 단계별 이미지 데이터 총 15만장과 양식장 환경 데이터 셋 총 15만건을 구축 - 스마트 양식장에서 양식되는 흰다리새우의 상태를 진단하고, 최적의 상태로 유지하기 위한 사육환경, 양식장 관리 등을 인공지능을 통해 분석할 수 있는 통합(영상 이미지+센서) 데이터 구축 - 순환 여과 방식의 흰다리새우 양식장을 대상으로 생육 환경(수온, 염분, 용존 산소, pH 등)에 따른 생육 특징 변화 및 성장 단계별 이미지에 대한 데이터 구축
구축목적
- 디지털 뉴딜의 핵심인 인공지능과 흰다리새우 양식 비정형 데이터의 접목을 통한 자율제어 스마트양식 환경조성 - 국내 수산양식 관련 전문가 및 학생, 지역주민들을 크라우드 소싱 방식으로 적극 채용하여 코로나로 인한 일자리 쇼크 극복 도모
-
메타데이터 구조표 데이터 영역 농축수산 데이터 유형 텍스트 , 이미지 데이터 형식 이미지 데이터 : PNG, 시계열 데이터 : CSV, 라벨링 데이터 : JSON 데이터 출처 수산기술연구소 4개 수조, 한국농수산대학 3개 수조, 어가 1개 수조에서 이미지 및 시계열 데이터 자체수집 라벨링 유형 이미지 내 개체 바운딩박스 및 폴리곤 어노테이션 라벨링 형식 JSON 데이터 활용 서비스 흰다리새우 표준 양식 매뉴얼 개발, 인공지능 자율제어 양식기술 개발, 수산분야 R&D 등 데이터 구축년도/
데이터 구축량2021년/이미지: 152,902 개, 시계열: 180,000 개 -
- 구축 데이터 규모
구축 데이터 규모 구분 성과목표 구축실적 데이터셋 수중촬영(type01) 이미지 70,000장 72,344장 채집함(type02) 이미지 8,000장 8,051장 개별개체(type03) 이미지 70,000장 70,327장 개별개체-실측(type04) 이미지 2,000장 2180장 환경 시계열 데이터 180,000건 228,366건
- 구축 데이터 분포
구축 데이터 분포 구분 데이터 항목명 데이터 수 비율 촬영 방식 분포 수중촬영(type01) 이미지 72,344장 47.30% 채집함(type02) 이미지 8,051장 5.30% 개별개체(type03) 이미지 70,327장 46.00% 개별개체-실측(type04) 이미지 2180장 1.40% 생육 단계 분포 step1 48,077장 31.40% step2 74,323장 48.60% step3 30,502장 19.90%
- 구축 데이터 규모
-
-
AI 모델 상세 설명서 다운로드
AI 모델 상세 설명서 다운로드 AI 모델 다운로드- 모델 학습
- 이미지 바운딩박스 객체 인식 : 객체 탐지 알고리즘 중에서 YOLO 계열의 YOLOv5를 사용하여 학습 모델 설계
· AI 학습 중에서 image classification 은 주어진 이미지를 학습한 Class들 중 하나로 분류하는 학습으로 이미지에 하나의 객체가 있을 때 이 객체가 학습한 Class 중 어떠한 Class에 속하는지를 분류하기 위함
· 딥러닝 기반 방식은 Feature Extractor와 Classifier가 분리되어 있는 기존 전통적인 머신 러닝 방법과는 달리 Feature Extractor, 즉 이미지의 특징(feature)을 뽑아내는 것과 Feature들을 통해 어떠한 class에 속하는지 분류하는 Classifier(분류기)를 학습하는 것이 통합되어 있어 한꺼번에(end-to-end) 학습이 가능
· 이미지 내 특정 영역을 Detection한 후, cropping하여 그 부분이 어떠한 클래스에 속하는지 판단하는 용도로 생육 측정에 활용될 수 있음. 즉, Multi-Class Object Detection을 할 때 학습할 데이터가 부족한 경우, Multi-Class Object Detection Network 대신, One Class Object Detection + Classification의 2-Stage Approach로 활용
- 이미지 폴리곤 세그먼트 탐지: 물체의 사각형 위치만을 찾는 객체 탐지에 추가로 물의 경계를 마스크(mask) 또는 세그먼트(segment) 형태로 찾아내는 학습.
- 동일 클래스의 여러 객체가 있을 경우에 모든 객체를 하나의 라벨로 동일하게 처리하는 semantic segmenation 과 각각을 다른 라벨로 구분하는 instance segmentation이 있으며, 일반적으로 instance segmentation을 구현 모델로 제시됨.
- 전통적인 AI 학습으로는 학습이 어렵기 때문에 딥러닝 방식의 학습모델이 필요하며 대표적인 딥러닝 학습 모델은 객체탐지 학습모델인 R-CNN에서 발전한 Mask R-CNN 과 또 다른 객체탐지 학습모델인 YOLO에서 발전한 YOLACT이 있음.
- 본 과제에서 폴리곤 세그먼트 탐지는 YOLACT을 기반으로 구현함.
- Mask R-CNN은 localization을 수행하는 단계(stage)와 segmentation을 수행하는 단계가 분리되어 있는 것에 대하여 YOLACT은 localization 과 segmentation을 프로토타입 마스크 생성과 인스턴스 별 마스크 coefficient 예측을 병렬 작업으로 나누어서 해결하는 방식으로 단일 stage 로 처리함.
- IoU ≧ 0.5 으로 그린 Precision-Recall Curve 아래 면적 AP를 11보간법으로 계산한 클래스 평균값
- 환경 시계열 데이터 예측 학습모델: 시계열 예측에 효율적인 RNN 계열의 LSTM 딥러닝 학습모델로 설계 및 구현.
· 시간정보라는 추가정보에도 시계열 데이터는 자기상관 문제로 예측 차이 발생 가능하며, 예측과 실제가 학습과정에서와 달리 현실에서는 차이가 더 커질 가능성에 대응 필요.
· AI 시계열 데이터 분석의 기본 회귀방법은 OLS(Ordinary Least Square)로 예측한 값과 실제 값의 오차를 제곱하여 합계를 낸 값이 최소가 되도록 보정하는 가중치 벡터를 구하는 방법을 사용하나 시계열 데이터에서 오차는 서로 상관관계가 있을 가능성이 있으며 바로 인접한 시계열이 아니라 먼 과거에서부터 축적된 영향도 포함됨.
· 현재 상태 값이 이전 상태 값에 너무 밀접하게 연관이 있고, 미래 상태 값에도 영향을 크게 준다면 회귀분석 방식으로 시계열 데이터를 계산하는 것보다 더 증가/감소된 값이 발생함.
· 시계열 데이터가 이런 특징을 가지는 자기상관(autocorrelation) 영향으로 회귀분석과 틀어지는 자기회귀(autoregression)를 최소화 또는 제거하는 체계를 구성함.
· 딥러닝 방식 예측모형 AI 방식으로 단방향인 타 신경망과는 달리 입력과 출력을 연결하여 이전 출력이 새로운 입력이 되도록 순환적인 구조를 갖는 순환신경망(Recurrent neureal network, RNN)을 활용하여 시계열 순차적인 데이터 분석에 대응함.
< RNN을 기반으로한 LSTM 모델 구조 >
- 서비스 활용 시나리오
서비스 활용 시나리오caption> 응용서비스(예시) 데이터 명 AI 모델 모델 성능 지표 급이 또는 새우 탈피 시 설정된 환경에서 수질의 속성이 변화를 예측하고 설정된 환경으로 자율 조절 서비스 수온, 염분, DO, pH 등의 수질환경 시계열 데이터 시계열 데이터 기반의 수질 환경 예측 모형 예측 정확도 95% APP으로 새우 개체 촬영 시 실측 사이즈와 생육 표준과의 차이 정도 변별 및 시계열 데이터 분석 결과 생육 가이드 제공 서비스 흰다리새우 개체 이미지 데이터 이미지 속에서 흰다리새우개체 판별 및 생육 사이즈 추출 사이즈 추출 정확도 95%
-
데이터 성능 점수
측정값 (%)기준값 (%)데이터 성능 지표
데이터 성능 지표 번호 측정항목 AI TASK 학습모델 지표명 기준값 점수 측정값 점수 1 바운딩박스 객체 인식(치어) Object Detection YOLO v5 mAP 95 % 95.2 % 2 바운딩박스 객체 인식(미성어) Object Detection YOLO v5 mAP 95 % 97.8 % 3 바운딩박스 객체 인식(성어) Object Detection YOLO v5 mAP 95 % 97.6 % 4 폴리곤 객체 인식(치어) Object Detection YOLACT mAP 95 % 96.9 % 5 폴리곤 객체 인식(미성어) Object Detection YOLACT mAP 95 % 98.8 % 6 폴리곤 객체 인식(성어) Object Detection YOLO v5 mAP 95 % 96.8 %
※ 데이터 성능 지표가 여러 개일 경우 각 항목을 클릭하면 해당 지표의 값이 그래프에 표기됩니다.
※ AI모델 평가 지표에 따라 측정값의 범위, 판단 기준이 달라질 수 있습니다. (ex. 오류율의 경우, 낮을수록 좋은 성능을 내는 것으로 평가됩니다)
-
설명서 및 활용가이드 다운로드
데이터 설명서 다운로드 구축활용가이드 다운로드구축 데이터 정의
- 데이터 포맷 정의
– 흰다리새우 이미지 : 수조의 환경에 따른 생육 상태 데이터
– 수조환경 시계열 DATA : 센서 시계열데이터, 수기 시계열데이터구축 데이터 정의 데이터 포맷 정의 구분 데이터 종류 데이터 포멧 비고 이미지 생육 상태 PNG 라벨링 데이터와 병합 수조 환경 순환여과온도계측 Number 순환여과산소계측 Number 순환여과산도계측 Number 환경설정 TEXT 수조별 설정정보 활용 어노테이션 라벨링데이터 JSON
- 데이터 속성 정의
구축 데이터 정의 데이터 속성 정의 구분 데이터 명 데이터속성 이미지 생육지표 개체크기 number(cm) DATA 수조환경 시계열(센서) 온도 센서 number(℃) 시계열 pH 센서 number(pH) DATA 염분 센서 number(%) DO 센서 number(mg/ℓ(ppm))
- 특성 분류 정의
구축 데이터 정의 특성 분류 정의 구분 라벨링 대상 라벨링 범위 비고 생육단계 새우 몸체 머리끝~꼬리끝 바운딩박스 시계열 데이터 해당없음 해당없음
- 구축 데이터 명세
– 수조환경 시계열 데이터구축 데이터 정의 구축 데이터 명세 수조환경 시계열 데이터 구분 데이터 명 데이터속성 시계열
가공
데이터순환여과 온도 계측 최고온도 number(℃) 최저온도 ℃ number(℃) 24시간 평균온도 ℃ number(℃) 주간 평균 온도 ℃ number(℃) 야간 평균 온도 ℃ number(℃) 순환여과 산소 계측 일평균 산소 농도 number(ppm) 최고 산소 농도 number(ppm) 최저 산소 농도 number(ppm) 주간 평균 산소 농도 number(ppm) 야간 평균 산소 농도 number(ppm) 순환여과 산도 계측 일평균 pH number(pH) 최고 pH number(pH) 최저 pH number(pH) 주간 평균 pH number(pH) 야간 평균 pH number(pH) 환경설정 주간설정온도 ℃ number(℃) 하루 순환 여과 회전량 number(회)
Type 1) 수중 촬영 이미지 데이터 : 개체 수중촬영 이미지 (수집앱에서 일괄 업로드)
Type 2) 채집함 전체 촬영 이미지 데이터 : 채집함 전체 이미지 (10여 개체 동시 촬영)
Type 3) 채집함 개체 촬영 이미지 데이터 : 개체 단독 이미지 (10마리 대상 촬영)
Type 4) 개체 실측 촬영 이미지 : 실측 이미지 (12마리 개체에 대한 실측 이미지 촬영)
- 라벨링 및 어노테이션 구조 정의
구축 데이터 정의 라벨링 및 어노테이션 구조 정의 구분 라벨링 정보 비고 흰다리새우
객체 이미지수조번호 QR코드 연동 사육주수 수기입력 메타데이터 생장길이 실측 데이터 날짜 및 시간정보 Exif 메타데이터 이미지 해상도 / 비율 Exif 메타데이터 ISO Exif 메타데이터 촬영기기의 기종(카메라 정보) Exif 메타데이터 이미지 용량 Exif 메타데이터 촬영지 정보 Exif 메타데이터
· 영상(동적/정적) 이미지 데이터 라벨링이란 객체에 대한 Detection과 annotation 이므로 Bounding box와 Polygon을 실시함
· Polygon을 사용해서 목적에 맞는 객체의 외곽선에 맞추어 라벨링을 실시
· Bounding box는 목적에 맞는 객체를 모두 포함하면서 최대한 타이트하게 box처리 (IoU 0.8 이상)
· 목적에 맞는 객체와 다른 객체가 겹쳐 있을 경우에는 Polygon을 사용하여 정확도를 높임
· Bounding box로 라벨링 할 경우 단일, 다중 객체가 정확히 인식되도록 해야함
– 데이터 구성구축 데이터 정의 라벨링 및 어노테이션 구조 정의 데이터 구성 항목명 타입 필수여부 설명 version String Y 버전 flags Dict N label의 상위 클래스 shapes Object N 어노테이션 정보 shapes[].label String Y 라벨 이름 shapes[].points[] Number Y 좌표 정보 shapes[].group_id Number Y 그룹 아이디 shapes[].shape_type String Y 어노테이션 타입 shapes[].flags Dict N label의 상위 클래스 imagePath String Y 이미지 이름 imageData String N 이미지 해시 값 imageHeight Number Y 이미지 세로 길이 imageWidth Number Y 이미지 가로 길이
- 어노테이션 포맷
구축 데이터 정의 어노테이션 포맷 구분 항목명 타입 필수여부 설명 1 version String Y 버전 2 flags Dict N label의 상위 클래스 3 shapes Object N 어노테이션 정보 3-1 shapes[].label String Y 라벨 이름 3-2 shapes[].points[] Number Y 좌표 정보 3-3 shapes[].group_id Number Y 그룹 아이디 3-4 shapes[].shape_type String Y 어노테이션 타입 3-5 shapes[].flags Dict N label의 상위 클래스 4 imagePath String Y 이미지 이름 5 imageData String N 이미지 해시 값 6 imageHeight Number Y 이미지 세로 길이 7 imageWidth Number Y 이미지 가로 길이 8 file_attributes Object Y 파일 메타 정보 8-1 fileVersion String Y 파일명 체계 버전 8-2 waterTankId String Y 수조 ID 8-3 week String Y 사육주차 8-4 collectedDate Date Y 이미지 수집 날짜 8-5 round String Y 촬영 회차 8-6 type String Y 촬영 이미지 유형 8-7 step String Y 생육단계 8-8 actSize Number N 새우 실측 길이 8-9 DateTimeOriginal Date N Exif 날짜 및 시간 8-10 ExifImageWidth Number N Exif 이미지 가로 8-11 ExifImageHeight Number N Exif 이미지 세로 8-12 ISOSpeedRatings Number N Exif ISO 8-13 Model String N Exif 촬영기기 8-14 FileSizeOriginal Number N File Size bytes 8-15 GPSLatitude String N Exif 촬영지 위도 8-16 GPSLongitude String N Exif 촬영지 경도
- 실제 예시
구축데이터 정의 실제 예시 원본 json파일
{
"version": "4.5.9",
"flags": {},
"shapes": [
{
"label": "shrimp_type02_bb",
"points": [
[
451.0989010989011,
710.4395604395604
],
[
495.3296703296703,
817.3076923076923
]
],
"group_id": null,
"shape_type": "rectangle",
"flags": {}
}
],
"imagePath": "V002_wt11_13_20211010_01_01_wt11_02085440.png",
"imageData": null,
"imageHeight": 1920,
"imageWidth": 1080,
"file_attributes": {
"fileVersion": "V002",
"waterTankId": "wt11",
"week": "13",
"collectedDate": "20211010",
"round": "01",
"type": "01",
“step”: “step1”,
"actSize": null,
"DateTimeOriginal": "2021:10:10 09:00:43",
"ExifImageWidth": 1920,
"ExifImageHeight": 1080,
"ISOSpeedRatings": 200,
"Model": "SM-G973N",
"FileSizeOriginal": 353700,
"GPSLatitude": "(35.0, 59.0, 9.537)",
"GPSLongitude": "(127.0, 15.0, 44.473)"
}
}
{
"version": "4.5.9",
"flags": {},
"shapes": [
{
"label": "shrimp_type02_bb",
"points": [
[
451.0989010989011,
710.4395604395604
],
[
495.3296703296703,
817.3076923076923
]
],
"group_id": null,
"shape_type": "rectangle",
"flags": {}
}
],
"imagePath": "V002_wt11_13_20211010_01_01_wt11_02085440.png",
"imageData": null,
"imageHeight": 1920,
"imageWidth": 1080,
"file_attributes": {
"fileVersion": "V002",
"waterTankId": "wt11",
"week": "13",
"collectedDate": "20211010",
"round": "01",
"type": "02",
“step”: “step1”,
"actSize": null,
"DateTimeOriginal": "2021:10:10 09:00:43",
"ExifImageWidth": 1920,
"ExifImageHeight": 1080,
"ISOSpeedRatings": 200,
"Model": "SM-G973N",
"FileSizeOriginal": 353700,
"GPSLatitude": "(35.0, 59.0, 9.537)",
"GPSLongitude": "(127.0, 15.0, 44.473)"
}
}
{
"version": "4.5.9",
"flags": {},
"shapes": [
{
"label": "shrimp_type03_poly",
"points": [
[
641.5421679876831,
448.0370074699207
],
[
641.5421679876831,
454.51474026344295
],
[
641.9470262872783,
456.53903176141864
]
],
"group_id": null,
"shape_type": "polygon",
"flags": {}
}
],
"imagePath":
"V002_wt11_13_20211010_04_01_wt11_02085440.png",
"imageData": null,
"imageHeight": 1920,
"imageWidth": 1080
"file_attributes": {
"fileVersion": "V002",
"waterTankId": "wt11",
"week": "13",
"collectedDate": "20211010",
"round": "01",
"type": "03",
“step”: “step3”,
"actSize": 10.5,
"DateTimeOriginal": "2021:10:10 09:00:43",
"ExifImageWidth": 1920,
"ExifImageHeight": 1080,
"ISOSpeedRatings": 200,
"Model": "SM-G973N",
"FileSizeOriginal": 353700,
"GPSLatitude": "(35.0, 59.0, 9.537)",
"GPSLongitude": "(127.0, 15.0, 44.473)"
}
}
{
"version": "4.5.9",
"flags": {},
"shapes": [
{
"label": "shrimp_type03_poly",
"points": [
[
641.5421679876831,
448.0370074699207
],
[
641.5421679876831,
454.51474026344295
],
[
641.9470262872783,
456.53903176141864
]
],
"group_id": null,
"shape_type": "polygon",
"flags": {}
}
],
"imagePath":
"V002_wt11_13_20211010_04_01_wt11_02085440.png",
"imageData": null,
"imageHeight": 1920,
"imageWidth": 1080
"file_attributes": {
"fileVersion": "V002",
"waterTankId": "wt11",
"week": "13",
"collectedDate": "20211010",
"round": "01",
"type": "04",
“step”: “step3”,
"actSize": 10.5,
"DateTimeOriginal": "2021:10:10 09:00:43",
"ExifImageWidth": 1920,
"ExifImageHeight": 1080,
"ISOSpeedRatings": 200,
"Model": "SM-G973N",
"FileSizeOriginal": 353700,
"GPSLatitude": "(35.0, 59.0, 9.537)",
"GPSLongitude": "(127.0, 15.0, 44.473)"
}
}
- 데이터 포맷 정의
-
데이터셋 구축 담당자
수행기관(주관) : 원투씨엠 주식회사
수행기관(주관) 책임자명 전화번호 대표이메일 담당업무 김치권 070-7018-9433 [email protected] · AI모델 설계 및 구현 수행기관(참여)
수행기관(참여) 기관명 담당업무 전라북도 수산기술연구소 · 원천데이터 수집환경 구성 및 1차검수 사단법인 미래농업포럼 · 수집 데이터 가공
· 경진대회 및 홍보활동전주정보문화산업진흥원 · 구축데이터 검수 및 TTA 대응
-
인터넷과 물리적으로 분리된 온라인·오프라인 공간으로 의료 데이터를 포함하여 보안 조치가 요구되는 데이터를 다운로드 없이 접근하고 분석 가능
* 온라인 안심존 : 보안이 보장된 온라인 네트워크를 통해 집, 연구실, 사무실 등 어디서나 접속하여 데이터에 접근하고 분석
* 오프라인 안심존 : 추가적인 보안이 필요한 데이터를 대상으로 지정된 물리적 공간에서만 접속하여 데이터에 접근하고 분석 -
- AI 허브 접속
신청자 - 안심존
사용신청신청자신청서류 제출* - 심사구축기관
- 승인구축기관
- 데이터 분석 활용신청자
- 분석모델반출신청자
- AI 허브 접속
-
1. 기관생명윤리위원회(IRB) 심의 결과 통지서 [IRB 알아보기] [공용IRB 심의신청 가이드라인]
2. 기관생명윤리위원회(IRB) 승인된 연구계획서
3. 신청자 소속 증빙 서류 (재직증명서, 재학증명서, 근로계약서 등 택1)
4. 안심존 이용 신청서 [다운로드]
5. 보안서약서 [다운로드]
※ 상기 신청서 및 첨부 서류를 완비한 후 신청을 진행하셔야 정상적으로 절차가 이루어집니다. -
신청 및 이용관련 문의는 [email protected] 또는 02-525-7708, 7709로 문의
데이터셋 다운로드 승인이 완료 된 후 API 다운로드 서비스를 이용하실 수 있습니다.
API 다운로드 파일은 분할 압축되어 다운로드 됩니다. 분할 압축 해제를 위해서는 분할 압축 파일들의 병합이 필요하며 리눅스 명령어 사용이 필요합니다.
리눅스 OS 계열에서 다운로드 받으시길 권장하며 윈도우에서 파일 다운로드 시 wsl(리눅스용 윈도우 하위 시스템) 설치가 필요합니다.
※ 파일 병합 리눅스 명령어
find "폴더경로" -name "파일명.zip.part*" -print0 | sort -zt'.' -k2V | xargs -0 cat > "파일명.zip"
- 해당 명령어 실행 시, 실행 경로 위치에 병합 압축 파일이 생성됩니다.
- 병합된 파일 용량이 0일 경우, 제대로 병합이 되지 않은 상태이니 "폴더경로"가 제대로 입력되었는지 확인 부탁드립니다.
※ 데이터셋 소개 페이지에서 다운로드 버튼 클릭하여 승인이 필요합니다.