Be happy

YOLO_MARK-YOLO V2 자신의 데이터로 딥러닝(데이터 학습) 본문

볼라드 탐지기 (2017.9~2017.12)/yolo v2

YOLO_MARK-YOLO V2 자신의 데이터로 딥러닝(데이터 학습)

해퓌해퓌 2018. 6. 21. 15:39

안녕하세요? 오늘은 YOLO V2를 자신만의 데이터로 딥러닝시키는 데이터 학습하는 법을 알아보도록 하겠습니다.


https://github.com/AlexeyAB/darknet#how-to-train-to-detect-your-custom-objects 

https://github.com/AlexeyAB/Yolo_mark 

위의 두 사이트를 통해서 학습시키는 방법을 알게되었다. 참고하면 좋을 것이다. 나의 말로 요약을 해보도록하겠다.


1.Yolo_mark


위의 명령어를 실행하면 Yolo_mark라는 프로그램이 실행된다. 새랑 비행기가 나타날 것이다. 일단은, 터미널 창에서

Ctrl+c를 눌러서 종료시킨다. 


2.맞춤 이미지 라벨링

-x64/Release/data/img 디렉토리에서 모든 파일을 삭제한다. 

-x64/Release/data/img 폴더에 우리가 학습시킬 .jpg파일을 추가한다.

-x64/Release/data/obj.data를 수정한다.


-obj.data파일 수정

//classes=숫자 <-자신이 몇 개의 클래스로 분류를 하길 원하는 숫자를 적어 넣으면 된다.


-x64/Release/data/obj.names파일 수정

//파일의 각 줄에 하나씩 개체의 이름을 넣으면 된다.


-다시 Yolo_mark 폴더에 가서 ./linux_mark.sh 입력한다.


-그러면, Yolo_mark 프로그램이 시작되고, 드래그를 해서 바운딩 박스를 그려넣고,

  프로그램을 끝내면, img파일에 .txt파일이 생성된다.


3. 교육 준비 과정


-x64/Release/yolo-obj.cfg 를 수정해야한다.


-convolutional layers(76MB)를 다운로드한다.

http://pjreddie.com/media/files/darknet19_448.conv.23

-darknet폴더에 'yolo-obj.cfg'를 복사해서 넣고, 위에서 다운 받은 'darknet19_448.conv.23'를 넣는다.

-darknet/data폴더에 Yolo_mark/x64Release/data 안에 있는 것을 전부 복사해서 넣는다.

-'Yolo_mark'에 있는 'x64'폴더 전부를 darknet 폴더에 복사해서 넣는다.

-밑의 그림대로 진행한다.


-darknet 폴더에 backup 폴더를 만들어놔야한다.


4.실행

​-위의 과정대로, 교육 진행을 완료시키면, backup 파일에 weights파일들이 있을 것이다. 내가 생각했을 땐, 숫자가 클수록 학습이 많이 됬다는 것이니까 제일 숫자가 큰 파일로 YOLO를 실행시키는게 좋다고 생각한다.

 


위 그림처럼 실행해서, 성공하면 완료된 것이다.

에러나, 교육 과정에 대해서 좀 더 구체적으로 알고 싶다면, 맨 위를 링크된 주소로 들어가 참고하면 될 것 같다

Comments