bebop2 ROS YOLO 실행하기

2019. 10. 1. 20:27드론

이전에 ubuntu 16.04 위에서 YOLO를 실행했는데, 이번에는 ROS 위에서 YOLO를 구동해보려고 한다. ROS YOLO Github에서 가장 저명한 오픈소스를 받을 것이다. 

 

https://github.com/leggedrobotics/darknet_ros

 

leggedrobotics/darknet_ros

YOLO ROS: Real-Time Object Detection for ROS. Contribute to leggedrobotics/darknet_ros development by creating an account on GitHub.

github.com

 

기존 catkin workspace가 있다면 그쪽으로 이동하도록 한다. 작업한 catkin 빌드시스템 폴더가 있어서 그쪽으로 이동하려고 한다

$ cs
$ git clone --recursive https://github.com/leggedrobotics/darknet_ros.git
$ cd ..
$ catkin_make -DCMAKE_BUILD_TYPE=Release
$ rospack profile

 

그리고 작업에 필요한 weight 파일을 받도록 한다. 하지만 기본 파일이 있는 것과 동시에 웹 사이트를 찾지 못해서 다운을 받지 못하는 상황이다

 

현재 있는 파일에 대해서 크기를 살펴보면, tiny 버전이 확실히 크기가 작으면서 버전이 올라갈수록 커지는 것을 알 수 있다

 

자신이 detection 하려는 물체에 대한 파일을 따로 만들어서 launch 파일에 추가할 수 있는 설명도 있다

 

빌드가 완료되었다는 가정 하에서 YOLO를 본격적으로 실행해보려고 한다. 기본적으로 제공하는 launch 파일 목록을 확인해보면 

$ cd /home/neol/catkin_ws/src/darknet_ros/darknet_ros/launch
$ ls -al

살펴볼 파일은 darknet_ros.launch와 yolo_v3.launch다. 두 파일의 차이는 yolo_v3는 darknet_ros를 포함하면서 yolo_v3를 사용한다는 점이다. 더 좋은 정확도를 낼 수 있는 장점이 있다. 다만 시간이 yolo_v2보다는 오래 걸린다는 점이다. 아무래도 weight 파일이 크기 때문이다 

 

기본적으로 yolov2_tiny.yaml 파일을 쓸 수 있음을 알 수 있다. 결론적으로 0.8 FPS로 약 1초당 1번씩 영상처리를 하게 된다. 만일 yolo_v3를 실행하면 i7 CPU 기준으로 낮은 0.1 FPS가 출력됐다

 

기본 코드 전제하에 subscribe만 /bebop/image_raw로 수정만 해주도록 한다

 $ cm 

 

다시 빌드 후 총 3개의 터미널을 연 상태에서 순서대로 실행하도록 한다

$ roscore 
$ roslaunch bebop_driver bebop_node.launch
$ roslaunch darknet_ros darknet_ros.launch

 

이를 수행하면 아래와 같이 YOLO V3 window가 켜지면서 결과값이 나오게 된다

'드론' 카테고리의 다른 글

darknet ros 예제파일 실행  (0) 2019.10.02
ROS YOLO detection 코드 분석하기  (0) 2019.10.01
Git install for Window  (0) 2019.10.01
Git 개요  (0) 2019.10.01
ROS bebop2 installation  (0) 2019.10.01