본문 바로가기
졸업 작품 (Capstone)/Theft Chaser (YOLO)

[9] darknet(YOLOv3) 폴더 및 파일에 대한 간단한 분석

by Late Bloomer Lee 2019. 6. 22.
728x90

YOLO source code를 더 편한 환경에서 확인할 수 있다.

https://github.com/pjreddie/darknet

 

pjreddie/darknet

Convolutional Neural Networks. Contribute to pjreddie/darknet development by creating an account on GitHub.

github.com

(1) darknet 폴더 구성은 아래 사진처럼 되어있다. 

 

- 우리가 주로 많이 들어가고 수정하는 폴더는 backup, cfg, data, examples, src 정도다.

 

 

(2) 먼저 cfg 폴더로 가보자. cfg 는 말 그대로 configure 의 줄임말이다. 

 

- cfg 내부의 파일들을 수정해, 본인만의 모델을 만들어 데이터 학습을 할 수 있다. ( coco.data, yolov3.cfg(v3 버전), yolo-obj.cfg(v2버전), rnn.cfg 등 )

 

 

(3) data 폴더의 파일들을 보면 일전에 예제로 실행한 dog.jpg 말고도 여러 가지가 있다. 

 

*(3 - 1) coco.names 파일을 열어보면 아래와 같이 나온다.

 

 

- 80개의 클래스로 나뉘어있다.

 

 

(4) examples 폴더에 가서 detector.c 파일을 열어보자.

 

138번째 줄의 if(1%10000==0 .. 이 부분에서 10000을 원하는 수로 수정하면 된다.

- :set number 를 입력하면 각 줄에 숫자가 나온다.

- 숫자 자판 1, 3, 8 을 차례대로 입력 후키보드 Shift+g 를 입력해주면 138번째 줄로 한번에 이동한다.

- 138번째 줄의 if(i%10000==0 || (i < 1000 && 1%100 == 0 )){ 에서 10000을 100 혹은 50으로 바꿔주면 100, 50번마다 가중치 파일(데이터)을 생성한다. [ 학습 할때 ]

- 위 코드에 대한 설명은 차후에 설명하도록 하겠습니다.

 

 

(5) src 폴더로 가보자.

 

 

- 여러가지 C 코드들이 있다.

- 몇 번 코드들을 뒤적이고 읽어보았지만, 나로서는 이해하기 힘들었다 ㅠㅠ

- 차후에 우리는 image.c 파일을 수정할 것이다.

 

이상 darknet 내부의 폴더 및 파일들에 대한 간단한 분석을 해보았습니다!

 

 

 

참고 블로그 : https://pgmrlsh.tistory.com/5?category=766787 

728x90

댓글