작성자 | 김명원 |
일 시 | 2024. 3. 21(목) 18:00 ~ 21:00 |
장 소 | 복지관 b128-1호 |
참가자 명단 | 임혜진, 이재영, 성창민, 김명원, 장원준 |
사 진 |
COCO 데이터셋은 Common Objects in Context의 약자로, 객체 인식, 객체 검출, 세그멘테이션 등 다양한 작업에 사용하며 computer vision의 효율성을 높이기 위한 데이터셋이다.
세그멘테이션은 computer vision에서 픽셀 수준에서 분할하는 작업을 의미한다. 즉 이미지를 여러 개의 영역으로 나누는 것을 의미한다. 이미지에서 객체의 경계를 정확하게 식별하고 분리하는 데 사용되며 객체 인식 및 객체 검출과 같은 다양한 작업에 중요한 선행 단계로 활용된다.
https://cocodataset.org/#download
위의 링크를 통해 공식 웹 사이트에서 COCO 데이터셋을 다운받을 수 있다.
다운받은 데이터셋에는 학습용, 검증용, 테스트용으로 나눠진 이미지 파일과 각 이미지에 대한 객체들의 라벨 정보로 구성되어 있다.
COCO 데이터셋을 활용하기 위해서 데이터를 적절하게 전처리해야 한다. COCO 데이터셋에서 JSON형식의 annotation 파일로 제공된 이미지와 라벨을 읽어와서 자신이 사용하려는 모델이 활용할 수 있는 형식으로 변환하는 작업이 필요하다. 이때 데이터 증강 기법을 활용하여 데이터셋을 확잘할 수도 있다.
JSON은 데이터를 저장하고 전송하기 위한 형식으로 키-값의 형식으로 데이터를 표현한다. JSON은 사람이 읽고 쓰기 쉅다는 장점이 있어 많은 데이터 인터페이스 및 API에서 널리 사용되고 있다.
JSON 형식의 annotation 파일은 아래와 같은 구조를 가지게 된다.
info : 데이터셋에 대한 전반적인 정보를 포함한다. ex) 데이터셋의 이름, 버전 등
licenses : 데이터셋의 라이센스 정보를 포함한다. 이는 데이터셋을 사용할 떄 준수해야 하는 저작권 미 사용 규정에 대한 정보를 담고 있다.
images : 각 이미지에 대한 메타데이터를 포함한다. 이미지의 파일 경로, 너비, 높이, 고유한 식별자 등의 정보를 담고 있다.
annotations : 객체에 대한 라벨 정보를 포함한다. 각 객체의 이미지의 바운딩 박스 좌표, 클래스 ID와 같은 정보를 담고 있다.
categories : 객체의 카테고리 정보를 포함한다. 각 카테고리는 고유한 ID, 이름 등의 정보를 담고 있다.
데이터 증강 기법은 computer vision에서 모델의 일반화 능력과 성능을 향상시키기 위한 기법이다. 데이터 증강은 기존의 데이터를 변형하여 새로운 학습 데이터를 생성하는 과정으로 이를 통해 모델이 다양한 상황에서 더 일반화된 특성을 학습할 수 있다. 이미지 회전, 이미지 반전, 이미지 크기 조정, 이미지 이동, 이미지 밝기 조절, 이미지 추가, 컬러 변환, 원근 변환 등 다양한 데이터 증강 기법들이 있다. 이때 주의할 점은 데이터 증강 기법을 선택하고, 데이터의 본질을 유지하면서 변형을 적용하야 한다는 점이다. 또한 과도한 데이터 증강은 모델의 성능을 저하시킬 수 있으므로 신중하게 적용해야 한다.
이렇게 전처리한 데이터를 이용해 모델을 훈련해야 한다. COCO 데이터셋을 사용하여 모델을 훈련시키고, 객체 검출과 세그멘테이션 작업에 대한 성능을 평가할 수 있다. 훈련된 모델은 실제 이미지나 비디오에 적용하여 객체를 검출하고 세크멘테이션할 수 있다.
마지막으로 훈련된 모델의 성능을 평가해야 한다. COCO 데이터셋에 대한 평가 지표를 사용하여 모델의 정확도를 측정할 수 있다. 특히 객체 검출의 경우에는 정확도뿐만 아니라 속도에 대한 평가도 중요하다. 그 이유는 객체 검출 모델이 사용되는 실제 응용 프로그램에서 객체 검출이 실시간으로 이루어져야 하기 때문이다. 예를들어 자율 주행 자동차, 보안 시스템같은 곳에서 활용되기 때문에 정확도와 속도를 함께 고려해야 하는 것이다.
이상으로 COCO DataSet를 활용하는 법을 알아보았다.
우리가 진행하고 있는 프로젝트에 COCO DataSet을
적절하게 사용할 수 있으면 좋겠다.