우리의 자율주행로봇을 만들 때 물체를 인식하기 위해 먼저 우리가 인식하고 싶은 데이터셋을 직접 박스 쳐서 만들어야 한다.
그때 사용되는 툴이 yolo_mark이다.
설치는 우선
https://github.com/AlexeyAB/Yolo_mark
여기서 Download ZIP로 압축파일을 받고 압축을 C:\Users\{컴퓨터이름} 에 풀어준다.
그 파일중 yolo_mark를 실행시키고 설루션 탐색기의 yolo_mark를 눌러 main.cpp를 켜면
여기서 이제
릴리스 x64로 바꾸고 디버거를 해주시면 되는데 opencv의 라이브러리가 추가되어 있어야 합니다.
https://crablab.tistory.com/27
그 과정은 여기 정리 되어 있습니다.
실행이 성공적으로 되었으면 위의 사진의 경로로 들어가 yolo_mark.cmd 파일을 실행시켜봅니다.
이런 화면이 뜨면 잘 설치가 된 것입니다.
Yolo_mark-master\x64\Release\data 에 들어가시면 다음과 같은 파일들이 있는데
위에서부터 설명을 해드리면
img: 학습할 이미지를 넣는 폴더
obj.data: Class(학습할 Object)의 개수 Train정보, 이름 정보, 학습한 데이터(. wrights)의 저장 경로를 명시해 놓는 파일
obj.naems: 학습할 Object의 이름을 저장해 놓는 곳
train: 이미지의 경로가 저장되어 있는 곳
입니다.
이제 데이터셋을 만듭니다. 예를 들어 사과와 오렌지를 구분하는 과정을 하고 싶다면
웹페이지에서 크롤링을 하여 이미지를 다 모은 후
Yolo_mark-master\x64\Release\data\img에 넣어줍니다.
(정확한 학습을 위해서는 1000장 이상의 사진을 Mark 해주는 게 좋다고 합니다.)
그다음 obj.data를 notepad로 열어
classes에 인식할 오브젝트의 개수를 넣어주면 됩니다.
그 후에 obj.names를 열어
아까의 인식할 오브젝트 클래스 이름들을 넣어줍니다.
yolo-obj.cfg 설정해주기
Yolo_mark-master\x64\Release에 yolo-obj.cfg파일을 notepad로 열어 맨 밑으로 가시면
[convolutional]와 [region]가 있습니다.
[convolutional]에 filters를 보시면 35로 설정이 되어 있는데 이를
5 * (classes+5)의 값으로 설정해 줍니다. 저는 classes(object의 개수)가 한 개 이므로
5 * (1+5) = 30이 나오므로 30으로 수정해 줍니다.
다음은 [region]의 classes를 2에서 본인이 설정한 classes(object의 개수)로 설정해 줍니다. 저는 object의 개수가 한 개 이므로 1로 수정해 줍니다.
출처:https://candletheif.tistory.com/4
이제 yolo_mark를 열어 marking을 하면
이런 식으로 자동으로 txt 파일이 완성되며 marking이 끝이 납니다.
'embedded > yolov4_darknet' 카테고리의 다른 글
3. 구글에서 이미지크롤링 하기 (0) | 2021.09.08 |
---|---|
2. python으로 동영상을 프레임단위로 자르기 (3) | 2021.09.08 |