현재 딥러닝 객체 인식 분야에서는 학습과 평가 실험을 위한 다양한 데이터셋이 존재합니다. 대표적으로 COCO (Common Objects in Context), KITTI Vision Benchmark Suite 등의 대규모 데이터가 있지만, 실제 시스템에 맞는 딥러닝 객체 탐지 알고리즘을 적용하기 위해서는 결국, 수집된 데이터을 통해 최적화해야합니다.
지도학습으로 정의되는 모든 머신러닝 알고리즘은 학습을 하기 위해 입력되는 데이터(Input)와 데이터를 명시하는 클래스 또는 라벨(Output)이 필요합니다. 단순히 많은 데이터뿐만 아니라 데이터를 알려주는 클래스 정보가 함께 있어야 학습을 진행할 수 있죠. 오늘은 Matlab의 Computer Vision Toolbox에 포함되어있는 Image labeler를 이용하여 객체 탐지 알고리즘 학습을 위핸 데이터 생성을 알아보겠습니다.
1. 매트랩을 실행한 다음, 앱 도구에서 우측의 화살표를 클릭해주세요.
2. 영상 처리 및 컴퓨터 비전 항목에서 lmage Labeler를 클릭해주세요.
3. 이미지 라벨링이 필요한 데이터를 Add images from folder를 통해 불러옵니다.
4. ROI Labels 항목에서 Label을 클릭한 다음, 학습을 원하는 클래스의 이름과 형태를 지정해주면 됩니다.
5. 마우스로 객체의 경계상자를 만들어주는 방식으로 라벨링 노가다를 시작해줍니다. 클래스가 여러개 있을 경우에는 잘못 라벨링될 수 있으니 주의하셔야합니다.
6. 라벨링이 모두 완료가 되면 Export Labels에서 추출해주시면 됩니다. 저는 한번 더 검증하기 위해 보통 To Workspace로 이동시킨다음 저장하는것을 선호합니다. 저장 방식은 Ground Truth 보단 Table 형태가 직관적입니다.
7. Table 형식으로 저장하게되면 다음과 같이 파일 경로와 객체의 경계상자 좌표값이 저장되게 됩니다. Matlab 내에서 학습을 진행하게 될경우, 바로 입력해주면 되며 다른 형식으로 변환 역시 간편하게 하실 수 있습니다. 라벨링이 진행 중인 상황정보를 저장할땐 Save에서 Session를 저장해주시면 됩니다.
# 머신러닝 프로젝트 제작, 상담 및 컨설팅 / 머신러닝 접목 졸업작품 컨설팅
# 데이터 가공, 수집, 라벨링 작업 / C, 파이썬 프로그램 제작
# email : deepi.contact.us@gmail.com
# site : www.deep-i.net
'Matlab' 카테고리의 다른 글
[MATLAB] 클러스터링 (군집화) 기법 구현을 위한 기본 2D 데이터셋 모음 (0) | 2020.11.26 |
---|---|
[Matlab] K-Means Clustering (K-평균 군집화) 알고리즘 구현하기 (0) | 2020.11.24 |
[Matlab] 매트랩을 이용한 다층신경망 (Multi-Layer Perceptron: MLP) 구현하기 (XOR 문제) (0) | 2020.11.01 |
[Matlab] 객체 탐지 알고리즘 학습을 위한 이미지 데이터 라벨링 #2 (0) | 2020.07.31 |
[Matlab] 매트랩을 이용한 실시간 그래프 그리기 (1) | 2020.07.05 |