ROS에서 Intel RealSense D435i와 YOLO V3를 사용한 물체 인식!
8668 단어 ROSRealSenseD435iYOLOv3
본문의 목적
이 기사는 Intel RealSenceD435i 도입을 시작으로 ROS와 YOLO V3의 물체 식별을 목적으로 한 기사입니다.배경에 대한 이론적 설명이 없다.
컨디션
본 보도는 다음과 같은 환경에서 실험을 진행한다.
항목
릴리즈
Ubuntu
18.04
ROS
Melodic
IntelRealsense
D435i
Ubuntu와 ROS의 환경 구축은 다른 사이트를 참조하십시오.
RealSense SDK 설치 단계
본 보도는 다음과 같은 환경에서 실험을 진행한다.
항목
릴리즈
Ubuntu
18.04
ROS
Melodic
IntelRealsense
D435i
Ubuntu와 ROS의 환경 구축은 다른 사이트를 참조하십시오.
RealSense SDK 설치 단계
$ sudo apt-key adv --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
$ sudo add-apt-repository "deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo bionic main" -u
$ sudo apt-get install librealsense2-dkms
$ sudo apt-get install librealsense2-utils
$ sudo apt-get install librealsense2-dev
$ sudo apt-get install librealsense2-dbg
$ realsense-viewer
위의 작업을 완료하고 장치를 USB 3으로 설정합니다.0을 삽입하여 Streo Module과 RGB Camera를 오프에서 열면 아래 그림처럼 식별될 것입니다.하지만 여기서 주의해야 할 것은!!(이곳은 내가 걸려 넘어진 곳이다...)
Intel RealSense는 USB 3입니다.식별하려면 0을 삽입해야 합니다.
USB 3이 필요합니다.0에 꽂았는지 확인하세요.
또한 가상 머신(VMware)을 통해 동작을 확인하고 싶은 분들은 VMware의 설정에서 USB 호환성을 2.0에서 3.0으로 바꾸지 않으면 장치가 식별되지 않는다는 것을 주의하십시오.
패키지 업그레이드
포장을 업그레이드해 주세요.
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt --only-upgrade install librealsense2-utils librealsense2-dkms librealsense2-dev librealsense2-dbg
Realsense ROS 설치
다음 명령을 실행하여 설치합니다$ sudo apt install -y ros-melodic-ddynamic-reconfigure
$ cd ~/catkin_ws/src
$ git clone https://github.com/IntelRealSense/realsense-ros
$ catkin make
$ source devel/setup.bash
동작 확인
다음 명령을 실행하여 rviz에 3차원 점 그룹을 표시합니다$ roslaunch realsense2_camera demo_pointcloud.launch
아래 그림처럼 보이면 성공!
다음 카메라 이미지 내보내기$ sudo apt install ros-melodic-rqt-image-view
$ roslaunch realsense2_camera rs_camera.launch
$ rosrun rqt_image_view rqt_image_view
왼쪽 상단의 선택 상자에서 화제를 선택하십시오raw를 선택하면 아래처럼 그림을 표시하는 데 성공합니다!
출력의 테마는 다음과 같은 데이터입니다/camera/color/camera_info
/camera/color/image_raw
/camera/color/image_raw/compressed
/camera/color/image_raw/compressed/parameter_descriptions
/camera/color/image_raw/compressed/parameter_updates
/camera/color/image_raw/compressedDepth
/camera/color/image_raw/compressedDepth/parameter_descriptions
/camera/color/image_raw/compressedDepth/parameter_updates
/camera/color/image_raw/theora
/camera/color/image_raw/theora/parameter_descriptions
/camera/color/image_raw/theora/parameter_updates
/camera/depth/camera_info
/camera/depth/image_rect_raw
/camera/depth/image_rect_raw/compressed
/camera/depth/image_rect_raw/compressed/parameter_descriptions
/camera/depth/image_rect_raw/compressed/parameter_updates
/camera/depth/image_rect_raw/compressedDepth
/camera/depth/image_rect_raw/compressedDepth/parameter_descriptions
/camera/depth/image_rect_raw/compressedDepth/parameter_updates
/camera/depth/image_rect_raw/theora
/camera/depth/image_rect_raw/theora/parameter_descriptions
/camera/depth/image_rect_raw/theora/parameter_updates
/camera/extrinsics/depth_to_color
/camera/extrinsics/depth_to_infra1
/camera/extrinsics/depth_to_infra2
/camera/infra1/camera_info
/camera/infra1/image_rect_raw
/camera/infra1/image_rect_raw/compressed
/camera/infra1/image_rect_raw/compressed/parameter_descriptions
/camera/infra1/image_rect_raw/compressed/parameter_updates
/camera/infra1/image_rect_raw/compressedDepth
/camera/infra1/image_rect_raw/compressedDepth/parameter_descriptions
/camera/infra1/image_rect_raw/compressedDepth/parameter_updates
/camera/infra1/image_rect_raw/theora
/camera/infra1/image_rect_raw/theora/parameter_descriptions
/camera/infra1/image_rect_raw/theora/parameter_updates
/camera/infra2/camera_info
/camera/infra2/image_rect_raw
/camera/infra2/image_rect_raw/compressed
/camera/infra2/image_rect_raw/compressed/parameter_descriptions
/camera/infra2/image_rect_raw/compressed/parameter_updates
/camera/infra2/image_rect_raw/compressedDepth
/camera/infra2/image_rect_raw/compressedDepth/parameter_descriptions
/camera/infra2/image_rect_raw/compressedDepth/parameter_updates
/camera/infra2/image_rect_raw/theora
/camera/infra2/image_rect_raw/theora/parameter_descriptions
/camera/infra2/image_rect_raw/theora/parameter_updates
/camera/realsense2_camera_manager/bond
/camera/rgb_camera/auto_exposure_roi/parameter_descriptions
/camera/rgb_camera/auto_exposure_roi/parameter_updates
/camera/rgb_camera/parameter_descriptions
/camera/rgb_camera/parameter_updates
/camera/stereo_module/auto_exposure_roi/parameter_descriptions
/camera/stereo_module/auto_exposure_roi/parameter_updates
/camera/stereo_module/parameter_descriptions
/camera/stereo_module/parameter_updates
/clicked_point
/diagnostics
/initialpose
/move_base_simple/goal
/rosout
/rosout_agg
/tf
/tf_static
YOLO V3 기반 물체 식별
YOLO는 실시간 객체 검색 알고리즘입니다.이 알고리즘은 YOLO(You Look Only Onne)의 이름처럼 검출창을 미끄러지게 하는 구조를 사용하지 않고 이미지를 CNN을 통과하면 대상을 검출할 수 있다.
YOLO의 알고리즘을 아래 웹사이트에서 간단명료하게 설명했습니다.
YOLOV3 설치 단계
다음 명령을 순서대로 실행하십시오.$ cd ~/catkin_ws/src
$ git clone --recursive [email protected]:leggedrobotics/darknet_ros.git
$ cd ..
$ catkin_make -DCMAKE_BUILD_TYPE=Release
하지만 여기서 주의해야 할 것은!!
darknet_Ros가 SSH 연결 설정을 하지 않으면 clone이 되지 않습니다.
따라서 SSH 연결을 설정한 후 클론을 실행하십시오.
SSH 연결에 대해서는 다음 웹 사이트를 참조하십시오.
YOLO V3 설치 모델
yolov2-tiny.weights와 ylov3.weights는 캣킨입니다.make는 자동으로 다운로드됩니다.
다른 모델의 다운로드 방법은 아래 파일을 참조하십시오.$ ~/catkin_ws/src/darknet_ros/darknet_ros/yolo_network_config/weights/how_to_download_weights.txt
구성 파일 수정
사용할 카메라 테마 이름에 따라 프로필을 수정해야 합니다.
이번에는 Intel RealSense D435i로 RGB 이미지의 화제는raw가 되다.그래서darknetros/darknet_ros/config/ros.수정
동작 확인
다음 명령을 순서대로 집행하다.
$ sudo apt install -y ros-melodic-ddynamic-reconfigure
$ cd ~/catkin_ws/src
$ git clone https://github.com/IntelRealSense/realsense-ros
$ catkin make
$ source devel/setup.bash
$ roslaunch realsense2_camera demo_pointcloud.launch
$ sudo apt install ros-melodic-rqt-image-view
$ roslaunch realsense2_camera rs_camera.launch
$ rosrun rqt_image_view rqt_image_view
/camera/color/camera_info
/camera/color/image_raw
/camera/color/image_raw/compressed
/camera/color/image_raw/compressed/parameter_descriptions
/camera/color/image_raw/compressed/parameter_updates
/camera/color/image_raw/compressedDepth
/camera/color/image_raw/compressedDepth/parameter_descriptions
/camera/color/image_raw/compressedDepth/parameter_updates
/camera/color/image_raw/theora
/camera/color/image_raw/theora/parameter_descriptions
/camera/color/image_raw/theora/parameter_updates
/camera/depth/camera_info
/camera/depth/image_rect_raw
/camera/depth/image_rect_raw/compressed
/camera/depth/image_rect_raw/compressed/parameter_descriptions
/camera/depth/image_rect_raw/compressed/parameter_updates
/camera/depth/image_rect_raw/compressedDepth
/camera/depth/image_rect_raw/compressedDepth/parameter_descriptions
/camera/depth/image_rect_raw/compressedDepth/parameter_updates
/camera/depth/image_rect_raw/theora
/camera/depth/image_rect_raw/theora/parameter_descriptions
/camera/depth/image_rect_raw/theora/parameter_updates
/camera/extrinsics/depth_to_color
/camera/extrinsics/depth_to_infra1
/camera/extrinsics/depth_to_infra2
/camera/infra1/camera_info
/camera/infra1/image_rect_raw
/camera/infra1/image_rect_raw/compressed
/camera/infra1/image_rect_raw/compressed/parameter_descriptions
/camera/infra1/image_rect_raw/compressed/parameter_updates
/camera/infra1/image_rect_raw/compressedDepth
/camera/infra1/image_rect_raw/compressedDepth/parameter_descriptions
/camera/infra1/image_rect_raw/compressedDepth/parameter_updates
/camera/infra1/image_rect_raw/theora
/camera/infra1/image_rect_raw/theora/parameter_descriptions
/camera/infra1/image_rect_raw/theora/parameter_updates
/camera/infra2/camera_info
/camera/infra2/image_rect_raw
/camera/infra2/image_rect_raw/compressed
/camera/infra2/image_rect_raw/compressed/parameter_descriptions
/camera/infra2/image_rect_raw/compressed/parameter_updates
/camera/infra2/image_rect_raw/compressedDepth
/camera/infra2/image_rect_raw/compressedDepth/parameter_descriptions
/camera/infra2/image_rect_raw/compressedDepth/parameter_updates
/camera/infra2/image_rect_raw/theora
/camera/infra2/image_rect_raw/theora/parameter_descriptions
/camera/infra2/image_rect_raw/theora/parameter_updates
/camera/realsense2_camera_manager/bond
/camera/rgb_camera/auto_exposure_roi/parameter_descriptions
/camera/rgb_camera/auto_exposure_roi/parameter_updates
/camera/rgb_camera/parameter_descriptions
/camera/rgb_camera/parameter_updates
/camera/stereo_module/auto_exposure_roi/parameter_descriptions
/camera/stereo_module/auto_exposure_roi/parameter_updates
/camera/stereo_module/parameter_descriptions
/camera/stereo_module/parameter_updates
/clicked_point
/diagnostics
/initialpose
/move_base_simple/goal
/rosout
/rosout_agg
/tf
/tf_static
YOLO는 실시간 객체 검색 알고리즘입니다.이 알고리즘은 YOLO(You Look Only Onne)의 이름처럼 검출창을 미끄러지게 하는 구조를 사용하지 않고 이미지를 CNN을 통과하면 대상을 검출할 수 있다.
YOLO의 알고리즘을 아래 웹사이트에서 간단명료하게 설명했습니다.
YOLOV3 설치 단계
다음 명령을 순서대로 실행하십시오.
$ cd ~/catkin_ws/src
$ git clone --recursive [email protected]:leggedrobotics/darknet_ros.git
$ cd ..
$ catkin_make -DCMAKE_BUILD_TYPE=Release
하지만 여기서 주의해야 할 것은!!darknet_Ros가 SSH 연결 설정을 하지 않으면 clone이 되지 않습니다.
따라서 SSH 연결을 설정한 후 클론을 실행하십시오.
SSH 연결에 대해서는 다음 웹 사이트를 참조하십시오.
YOLO V3 설치 모델
yolov2-tiny.weights와 ylov3.weights는 캣킨입니다.make는 자동으로 다운로드됩니다.
다른 모델의 다운로드 방법은 아래 파일을 참조하십시오.
$ ~/catkin_ws/src/darknet_ros/darknet_ros/yolo_network_config/weights/how_to_download_weights.txt
구성 파일 수정
사용할 카메라 테마 이름에 따라 프로필을 수정해야 합니다.
이번에는 Intel RealSense D435i로 RGB 이미지의 화제는raw가 되다.그래서darknetros/darknet_ros/config/ros.수정
동작 확인
다음 명령을 순서대로 집행하다.
$ roslaunch realsense2_camera rs_camera.launch
$ roslaunch darknet_ros darknet_ros.launch
$ rosrun rqt_image_view rqt_image_view
동작이 좋으면 아래처럼 물체를 식별할 수 있을 것 같다.fps와 정밀도는 다음과 같다.
FPS:0.1
Objects:
laptop: 98%
tvmonitor: 93%
정밀도는 좋지만 fps는 상당히 낮다.(내 PC에는 GPU가 없기 때문에 CPU만 작동하는 것으로 여겨진다)동작 속도를 높이다.
내 환경에서 OpenCV와 OpenML이 설치되어 있기 때문에 그것들을 사용하여 계산할 수 있도록 설정합니다.데이터 네트워크/Makefile 변경
GPU=0
CUDNN=0
OPENCV=1
OPENMP=1
DEBUG=0
이 상태로 변경한 후 캣킨 메이크를 진행한 결과 다음과 같습니다.fps와 정밀도는 다음과 같다.
FPS:0.8
Objects:
tvmonitor: 74%
laptop: 53%
keyboard: 45%
fps는 0.1에서 0.8로 상승했지만 정밀도가 떨어졌다.총결산
향후 계획
참고 문장
Reference
이 문제에 관하여(ROS에서 Intel RealSense D435i와 YOLO V3를 사용한 물체 인식!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/MMM-lab/items/5614e2cd2e525e6d6286
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(ROS에서 Intel RealSense D435i와 YOLO V3를 사용한 물체 인식!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/MMM-lab/items/5614e2cd2e525e6d6286텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)