방학동안 현장실습과 즐거운 휴무의 연속으로 졸작을 많이 진행하지 못하고
2학기가 시작되고 7주가 지났다.
지난 7주동안 어떤 것을 했는지 요약하겠다.
1학기 때 YOLO를 사용하고, 실행해보는 것 까지 진행하였다.
YOLO는 이미 학습되어 있는 카테고리가 분류되어 있다.
하지만 우리가 필요한 것은 '야생동물'. 때문에 다시 학습시킬 필요가 있다고 판단했다.
여러 카테고리를 학습하기 앞서, 고라니 하나만을 학습시키기로 결정.
총 200장의 고라니 사진을 수집했다.
YOLO를 학습하기 위해서는 YOLO-Mark가 필요하다.
YOLO-Mark는 YOLO에서 학습할 이미지에서 학습할 개체를 Bounding-Box로 표시해주는 프로그램이다.
YOLO-Mark를 다운받기 위해서는 git을 통하여 다운받으면 된다. 간단하다.
git clone https://github.com/AlexeyAB/Yolo_mark
Yolo_mark 폴더가 생겼을 것이다.
폴더에 들어가 yolo_mark를 실행시키면 된다.
YOLO-Mark를 실행시키면 위와 같은 프로그램이 실행된다.
YOLO-Mark를 실행시키기 전에 'obj.names' 파일을 찾아서 카테고리를 먼저 분류한다.
우리는 고라니만을 학습시킬 예정이기 때문에 'inermis' 한 줄만 저장했다.
그리고 'yolo-obj.cfg'파일을 찾아서 수정해야한다.
...
...
...
...
[convolutional]
size=1
stride=1
pad=1
filters=35 -> 30
activation=linear
[region]
anchors = 1.08,1.19, 3.42,4.41, 6.63,11.38, 9.42,5.11, 16.62,10.52
bias_match=1
classes=2 -> 1
coords=4
num=5
softmax=1
jitter=.2
rescore=1
object_scale=5
noobject_scale=1
class_scale=1
coord_scale=1
absolute=1
thresh = .6
random=0
yolo-obj.cfg 파일의 맨 아래 부분을 위와 같이 수정한다.
마지막으로 img폴더에 학습하고자 하는 이미지를 저장한 후, YOLO-Mark를 통하여 Bounding-Box를 설정해준다.
그리고 학습을 시킨다.
./darknet detector train data/obj.data cfg/yolo-obj.cfg
위와 같이 입력하면 학습이 진행된다.
학습을 진행한 결과 '1000 per / 60 min'의 속도가 나왔다.... 짱느리다....
현재까지 2만번을 학습시켰음에도 불구하고 고라니 이외의 물체가 60%이상으로 인식된다....
한참은 더 해야할 듯 하다...
학습은 여기까지!
YOLO를 해결하였으니, 이제 그 외의 부분을 살펴보자.
이제 Bounding-Box의 좌표를 확인하여 카메라를 이동, 물총을 발사하는 것이 남았다.
카메라의 이동과 물총을 발사하기 위해 우리는 '아두이노(Arduino)'를 사용하기로 했다.
아두이노가 아직 도착하지 않았기에 간단히 구조만 설명하도록 하겠습니다.
'프로젝트 > 딥 러닝 Smart Scarecrow (영상 인식)' 카테고리의 다른 글
[6] Apache2 Root Directory 변경 (0) | 2017.11.10 |
---|---|
[5] Ubuntu 서버 구축(LAMP) (0) | 2017.10.19 |
[4] 아두이노와 PC 설계 (0) | 2017.10.19 |
[2] YOLO 설치와 사용 (0) | 2017.10.19 |
[1] 프로젝트 설계 (0) | 2017.10.18 |