Android手机上图像和IMU数据采集的方法
网上有相关的教程,但都讲的很模糊,而且不全,甚至还有人要收费。自己完整做了一遍发现还是有些麻烦,固记录下来供大家参考,希望能帮到大家、
采用开源库 VideoIMUCapture-Android
可同时采集图像和IMU数据并提供了标定脚本。点击上面链接,下载软件。
第一步:获取数据
我文末的参考博客里有从linux获取软件数据的方法,这里我介绍在windows上直接获取的方法(当然linux也可以这样)
从上面的github库里面获取apk文件进行安装,打开会得到这样一个界面,点击直接开始录制(如图)

录制完成的数据会储存在
/Android/data/se.lth.math.videoimucapture/files/YYYY_MM_DD_hh_mm_ss
当然,如果你点软件界面的感叹号,他告诉你的路径前面还有前缀 /storage/emulated/0/,这个只是值你的设备的主储存。
如果你通过手机文件管理器直接查看这个位置,很有可能看不到,这是Arduino11之后的权限问题。
最直接的方法,你直接将手机数据线连接到电脑上,在手机上选择usb传输模式为文件传输,这样你就可以在电脑端直接访问手机里的这个文件夹,如图

这里你就可以看到你在不同时间段录制的数据,直接就可以拿出来用

第二步:使用docker处理采集的数据
ubuntu18安装docker,参考链接:
ubuntu18.04上安装Docker
在linux下运行如下命令,获取 VideoIMUCapture-Android 的github库
git clone https://github.com/DavidGillsjo/VideoIMUCapture-Android.git
进入对应文件夹
cd VideoIMUCapture-Android/calibration
默认方法
在calibration文件夹下运行命令,
SUDO=1 DATA=<my-data-path> ./run_dockerhub.sh
这里<my-data-path>就是你放的 YYYY_MM_DD_hh_mm_ss 这样日期文件的上一级文件,比如我这里

替代方法
受限于docker不能连接了,可以用这个百度网盘的镜像文件:
链接: https://pan.baidu.com/s/1QO1WIby3vl4SAMvyu1qYUA 提取码: jwai
然后使用
docker load -i videoimucapture-calibration.tar
加载为docker中的镜像
修改脚本禁用自动拉取
编辑 run_dockerhub.sh,将 PULL=1 改为 PULL=0,避免重复尝试拉取:
PULL=0 USE_NVIDIA=0 IMAGE=davidgillsjo/videoimucapture-calibration ./…/libs/dockers/common/run.sh “$@”
然后还是执行
SUDO=1 DATA=<my-data-path> ./run_dockerhub.sh
执行完这个就进入了docker容器里面,进入Docker容器后,默认在calibration目录。这里的calibration目录是docker中的,里面是用于处理采集的数据的Python脚本,其实这个docker容器是配置好了kalibr库,就不用我们自己去编译安装这个库了。
第三步:标定相机
先在这个位置:https://github.com/ethz-asl/kalibr/wiki/downloads下载一个 April,用A4纸打印,贴到平整的墙面上,然后用上面的软件对着它简单录制几十秒的视

本文详细介绍了如何在Android手机上同时采集图像和IMU数据,包括使用开源库VideoIMUCapture-Android进行数据采集,利用Docker处理数据,进行相机与IMU的标定,最终实现两者的融合标定。
最低0.47元/天 解锁文章
2774






