DAVIS 346 事件相机上手测试

DAVIS 346 事件相机上手测试

事件相机简介

事件相机,简单来说就是只有当镜头中像素亮度变化才会触发信号的相机,而传统相机是固定帧率采集图像。

说得大白话一点就是,只有运动才看得见,不动就是一片黑色。这样的好处其实也很明显,就是响应快、低功耗,特别是在做动态物体捕捉的时候,有着先天的优势。知乎上有很多科普事件相机的文章,大家感兴趣的可以去搜一下。

事件相机的使用

这次我们测试的是Davis 346 Color,这是Invitation公司出最新款的产品,这次到货之后看起来还像那么回事了,那个红色的就是相机本体:

下面我们就来讲讲大概怎么用。

#Ubuntu下的dv-gui使用#

官方提供了Windows,Ubuntu,MacOS等多平台的支持,这里我们使用的是Ubuntu 16.04的环境。下面是安装过程:

1. 添加PPA存储库以获取程序及依赖项,打开一个终端,运行下面的命令

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo add-apt-repository ppa:lkoppel/opencv
sudo add-apt-repository ppa:janisozaur/cmake-update
sudo add-apt-repository ppa:inivation-ppa/inivation

2. 更新软件包索引

sudo apt-get update

3. 安装dv-gui

sudo apt-get install dv-gui

4.(可选)如果打算自己做开发,可以安装开发包

sudo apt-get install dv-runtime-dev

5.连接好事件相机,运行dv-gui

dv-gui

事件相机

#ROS下的使用#

ROS下我们使用的是rpg_dvs_ros包,下面是它的安装与使用过程:

1. 安装依赖项

sudo apt-get install libusb-1.0-0-dev
sudo apt-get install ros-kinetic-camera-info-manager
sudo apt-get install ros-kinetic-image-view

2. 安装编译工具

sudo apt-get install python-catkin-tools

3. 创建工作区

mkdir -p ~/catkin_ws/src
cd catkin_ws
catkin config –init –mkdirs –extend /opt/ros/kinetic–merge-devel –cmake-args -DCMAKE_BUILD_TYPE=Release

4. 克隆存储库

cd ~/catkin_ws/src
git clone https://github.com/catkin/catkin_simple.git #该软件包用于构建DVS/DAVIS驱动程序
git clone https://github.com/uzh-rpg/rpg_dvs_ros.git

5. 编译

cd ~/catkin_wscatkin build dvs_ros_driver #如果使用的是DVS,catkin build davis_ros_driver #如果使用的是DAVIScatkin build dvs_renderer #编译渲染器catkin build dvs_calibration dvs_calibration_gui #编译校准工具

或者可以运行

$ catkin build

一键编译所有软件包。

6. 添加串口 udev规则

cd ~/catkin_ws/src/rpg_dvs_ros/libcaer_catkin #进入libcaer_catkin文件夹sudo ./install.sh #运行安装脚本

7. 连接好事件相机,运行

source ~/catkin_ws/devel/setup.bashroslaunch dvs_renderer dvs_mono.launch #如果使用的是DVSroslaunch dvs_renderer davis_mono.launch #如果使用的是DAVIS

#基于事件的角点检测#

该算法基于的论文《FastEvent-based Corner Detection》,其实现了基于事件的快速角点检测。代码地址,下面是运行过程:

1. 安装依赖项

sudo apt-get install libeigen3-dev

2. 克隆存储库

cd ~/catkin_ws/srcgit clonehttps://github.com/uzh-rpg/rpg_corner_events.git

3. 修改

由于我们使用的是DAVIS346,其像素为346 x 260,故要修改distinct_queue.h,,fast_detector.h 和 harris_detector.h 中的**sensor_width_ ** 和 sensor_height_,如下图:

4. 编译

cd~/catkin_ws/src/rpg_corner_events/corner_event_detector
catkin build –this

5. 运行

source ~/catkin_ws/devel/setup.bash
roslaunch corner_event_detector davis_live.launch

事件相机

后记

现在国内做事件相机研究的人还不多,大家可以多关注一下,可以和机器人碰撞出很多新的应用。如果想买的话,欢迎给我们充值~

现在国内做事件相机研究的人还不多,大家可以多关注一下,可以和机器人碰撞出很多新的应用。如果想买的话,欢迎给我们充值~

事件相机资源整理:https://github.com/uzh-rpg/event-based_vision_resources
事件相机开发文档:https://inivation.gitlab.io/dv/dv-docs/docs/getting-started.html
谢谢大家!