Gyroflow源码分析.1(准备)

2022-06-15 16:03:16 浏览数 (1)

这个使用IMU增稳的工作真的很强,甚至很多大厂都虎视眈眈的。

这个是目前的样子,rust重写的

很厉害,但是我rust不熟悉啊,一头雾水。幸好以前的版本是Python的,而且还开源,所以我就可以研究研究。

首先就是找代码库:

就是这个

使用来自内部或外部日志的 IMU 运动数据进行视频稳定,项目当时的简介。

我的代码从这里下载的,就是最后一个Python的版本

自适应/动态缩放

对 insta360 元数据的原生支持

.gyroflow 文件,用于保存数据和未来的插件

更多输出编解码器选项

改进的输出质量/分辨率

自动同步

与多个点同步

自动校准

背景颜色选择

新的平滑算法,包括旋转限制平滑和水平锁定

音频导出

支持高速镜头(例如自由飞波),虽然它需要更多的工作

改进了视频播放器和稳定预览的用户界面

镜头预设搜索

这个是库所能做的工作。

我也下载了一个编译的版本,看看是什么样的

太简陋了

标定板

执行的后台打印工作

经过我研究,这个ElvinC才是库的源作者,就是一切的源头

我们自己研究吧,因为有UI,所以需要安装对应的库,QT的库

安装成功

代码语言:javascript复制
C:UsersyunswjAppDataLocalProgramsPythonPython37Libsite-packagesPySide2

在安装的这个位置,可以看到有可视化的编辑器

是QT的

这个不懂

还缺一个库

一番寻找找到了Github,呵呵

非得翻墙,醉了

看起来碉堡了

代码语言:javascript复制
https://abhitronix.github.io/vidgear/latest/

这个库有完善的文档。

代码语言:javascript复制
# Install latest stable release with all Core dependencies
pip install -U vidgear[core]

# Or Install latest stable release with all Core & Asyncio dependencies
pip install -U vidgear[asyncio]

安装的话就这样就好了

在安装的同时,我找到了制作以前的工作,是一个简单的库,作用如图。

其实核心工作已经完成了

首次运行,报错

代码语言:javascript复制
pip install orangebox
代码语言:javascript复制
pip install construct
代码语言:javascript复制
pip install hachoir  

还缺少这些库,安装一下。

这次ok了

UI

没有FFmpeg

其实读懂还是比较困难的,因为这个库和GUI交互

代码语言:javascript复制
http://www.cvl.isy.liu.se/research/datasets/gopro-gyro-dataset/gopro-gyro-dataset.zip

Gopro视频 IMU数据

有必要看下这个论文

到手

代码语言:javascript复制
python.exe .setup.py install

坐等视频

关于数据集的描述,请看我的另一篇文章。

关于数据采样这里

其实原版论文800HZ,这里800应该也可以

使用的是这个陀螺仪,下单了。

5块钱!

ST的Logo



工业级别的传感器

4200应该和4250差不多吧。。。

执行最后一个

一个视频文件由三个文件构成

陀螺仪数据定时定时采样,CSV文件每陀螺仪测量一行。每条线具有三个角速度测量值,每个轴(x、y、z)一个。角速度测量值以弧度/秒表示。

就像这样

代码语言:javascript复制
python.exe .gopro_dataset_example.py ..gopro-gyro-datasetrccar.MP4

运行

创建视频流..gopro-gyro-datasetrccar.MP4

创建陀螺仪流..gopro-gyro-datasetrccar_gyro.csv

后处理 L3G4200D 陀螺仪数据消除频率尖峰噪声

创建校准器

估计时间偏移和摄像机到陀螺仪的旋转,猜测陀螺仪速率=853.86

这个输出的参数

瞎写了这么多,下篇继续

代码语言:javascript复制
https://pan.baidu.com/s/1btFmHGh25APqYGR_l7hicw 取码:r5wk

0 人点赞