embedded/yolov4_darknet

1. yolo_mark 설치

crab. 2021. 9. 8. 14:58
반응형

우리의 자율주행로봇을 만들 때 물체를 인식하기 위해 먼저 우리가 인식하고 싶은 데이터셋을 직접 박스 쳐서 만들어야 한다.

 

그때 사용되는 툴이 yolo_mark이다.

 

설치는 우선 

https://github.com/AlexeyAB/Yolo_mark

 

GitHub - AlexeyAB/Yolo_mark: GUI for marking bounded boxes of objects in images for training neural network Yolo v3 and v2

GUI for marking bounded boxes of objects in images for training neural network Yolo v3 and v2 - GitHub - AlexeyAB/Yolo_mark: GUI for marking bounded boxes of objects in images for training neural n...

github.com

여기서 Download ZIP로 압축파일을 받고 압축을 C:\Users\{컴퓨터이름} 에 풀어준다.

그 파일중 yolo_mark를 실행시키고 설루션 탐색기의 yolo_mark를 눌러 main.cpp를 켜면 

여기서 이제 

릴리스 x64로 바꾸고 디버거를 해주시면 되는데 opencv의 라이브러리가 추가되어 있어야 합니다.

 

https://crablab.tistory.com/27

 

+. 윈도우에서 opencv 설치하고 라이브러리 추가하기

이 글은 "OpenCV4로 배우는 컴퓨터 비전과 머신러닝"이란 책을 참고했습니다. opencv는 총 두 가지 방법으로 받을 수 있는데 설치 실행 파일과 소스 코드 직접 빌드가 그것이며 여기서는 설치 실행

crablab.tistory.com

그 과정은 여기 정리 되어 있습니다.

실행이 성공적으로 되었으면 위의 사진의 경로로 들어가 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를 통한 학습 데이터 만들기1(Darknet)

Yolo_Mark Yolo_Mark는 이미 학습되어있는 자료인 YoloV3가 아닌 직접 이미지 학습을 시키기 위한 프로그램입니다 Yolo_Mark만으로 이미지를 학습시킬 수 있는 건 아니지만 학습을 시키기 위해서 꼭 필요

candletheif.tistory.com

이제 yolo_mark를 열어 marking을 하면

이런 식으로 자동으로 txt 파일이 완성되며 marking이 끝이 납니다.

반응형