1. 발표 일정
2024년 12월 12일 목요일
준비기간 12월 09일 ~ 12월 11일 (3일간)
2. 주제
Object Detection기반의 해양생물 탐지
3. 선정 이유 및 활용
[1] 나를 위한...
- 연어회를 제외한 생선회를 잘 먹지 않기 때문에 물고기 종류에 대한 지식이 부족하다.
- 바다에서 웃기거나 생소하게 생긴 물고기를 발견했을 때 그 어종이 궁금해질 수 있다.
- Object Detection 기술을 활용하여 해양생물을 탐지하고 정보를 얻는 시스템을 만들고자 한다.
[2] 초보 낚시꾼을 위한 어류 정보 검색
- 초보 낚시꾼은 물고기의 종류를 정확히 알지 못하는 경우가 많다.
- 낚시한 물고기의 사진을 찍어 이름, 식용 여부, 특징 등을 손쉽게 검색할 수 있는 시스템이 필요하다.
- 초보자도 물고기에 대한 지식을 빠르게 습득할 수 있으며 낚시라는 취미를 더 오래 즐길 수 있다.
[3] 수온 상승으로 인한 외래종 출몰
- 지구온난화로 한반도 바다의 수온이 상승하면서 새로운 외래종이 출몰하고 있다.
- 외래종 중에는 기존의 토착종과 생김새가 유사한 경우가 많아 육안으로 구분하기 어렵다.
- 독성을 가지거나 만지면 위험한 어종도 포함되어 있어, 이를 식별하지 못하면 사고로 이어질 수 있다.
- Object Detection 기반 해양생물 탐지 시스템을 통해 외래종과 토착종을 구분하고 위험 어종에 대한 경고를 제공하여 생태계 변화와 안전 문제를 동시에 해결할 수 있다.
4. 데이터 수집
계획
- 구글에서 8개의 어종을 검색해서 이미지를 한 클래스 당 400장 수집(크롤링)
➡ 라벨링할 때 분명 100장 ~150장 정도 건지기도 힘들 듯 ? 😕
- 유튜브 해양생물 다큐멘터리에서 자료 수집
5. 라벨링
클래스 정의
고등어 감성돔 방어 농어 황어 가숭어 대구 숭어 독립적인 클래스로 설정
라벨링 툴
LabelImg, Roboflow 또는 CVAT 같은 툴을 사용하면 효율적으로 작업 가능.
- 필요에 따라 해양생물
여러 종류를 바다, 수족관 배경으로 편집

6. 데이터 전처리
이미지 정규화
모든 이미지를 동일한 크기로 리사이즈(예: 416x416)하고 픽셀 값을 정규화.
데이터 증강
학습 데이터의 다양성을 늘리기 위해 아래 기술을 활용
회전 물고기 방향 다양화.
밝기/대비 조정 다양한 조명 환경에 대응.
크롭 및 확대 이미지의 일부를 확대하여 세부 특징을 부각.
플립 좌우 반전으로 데이터 수를 증가.
데이터 분리 학습(70%), 검증(20%), 테스트(10%)로 나누어 과적합 방지.
7.모델 선정 및 학습 설정
YOLO 버전 🤔
YOLOv8 로 개발 -> 추후에 업그레이드 하는 것도 좋을 듯?
- 모바일 환경 고려?
ONNX 변환 YOLO 모델을 ONNX 포맷으로 변환하면 다양한 모바일 디바이스에서 사용 가능.
하이퍼파라미터 설정
배치 크기 GPU 메모리에 맞게 설정.
학습률 초기값으로 0.001 제안.
에포크 수 데이터셋에 따라 최소 50~100으로 설정.
🐟 지난 번 Early Stopping의 patience를 너무 짧게 줘서 충분한 학습을 하지 못함.
이번엔 빨리 개발하고 학습할 시간을 충분히 확보하는 것이 목표
2탄으로...