视频拼接融合产品的产品与架构设计(一)

1视频拼接产品概述

将多达8个视频拼接在一起,拼成上帝视角的大图,并且可以共享最终生成的画面。

1.1 三维方案

三维方案是我在晚上思考的时候无意想到,这种方案应该是最接近事实的方案,多个画面应该是在三个维度,x,y,z 上面进行缩放,平移,旋转吗,可以形成柱面立体的图像,而底座的平面不一定是平面,有可能是一个曲面。不过这个方案虽然好,难度却比较大, 自己做一个三维引擎还是用unity,ue等工具直接编辑,这个难度在于掌握unity工具的一般不具备视频概念,因此我做了一个比较劣质的三维工具,可以在三维中显示视频,也做了一些文字,天空盒,点击选择等等的功能,思考到后面,有一个问题没有解决,就是三维合成二维图像的问题,多个视频在三维空间中不能直接拼接成二维的图像,压缩成jpeg,h264,h265等的流进行发送,存储是这个拼接工具的最直接的功能,三维非常直观,但是要达到这种地步还是要做大量的算法工作,因此暂时停一下,使用二维先解决问题。

1.2 二维平面方案

2 界面问题

界面是最大的问题,不像是一个服务器,本身是逻辑的组合,而界面比较麻烦的是:设计问题,如何做到设计比较符合常理?
首先我设计了一个基本的界面,如下图所示:
在这里插入图片描述

它是一个带有尺度刻度的界面,可以加载树来展示所有的实时摄像头,文件也可以。这个界面首先是利于观察,所有的画面展示出来,用于人眼可以看清楚所有的综合画面是什么样子的。

2.1 画面调整

那么,每个小窗口画面都是必须能要改变大小的,意味着画面可以随时调整大小,

3 算法

里面的算法比较多
在这里插入图片描述
首先我考虑到的是画面调整完后,有可能需要恢复到原始状态,但是畸形矫正不用恢复,所以畸形矫正应该是一个选项,要么选取(勾上),要不未选(没有勾),很有可能有的画面不需要矫正。

3.2 透视变换和裁剪

裁剪是必然的,那么像透视变换和仿射变化,以及单应矩阵可能先做,透视变化和仿射变化我设计了一个界面去调整
在这里插入图片描述
首先要选择两个画面,进行算法,在这里插入图片描述
如透视变化,这时候画面会取到最后一帧,出现1,2,3,4 四个方块,调整方块的位置则可以改变矩阵,从而生成新画面,同时这个必须记录下来,确定以后以便于主界面在渲染的时候进行透视变换。

3.3 移动

移动和记录移动的像素,进行记录
在这里插入图片描述

如上图所示,由于摄像头的角度,偏移,高度豆可能不仅相同,所以这个必须经过画面的裁剪移动来进行图片帧对齐。
在这里插入图片描述
除了窗口的拖动,单帧在窗口里是可以使用键盘移动的,使用w a s d 键盘来移动帧,符合很多人游戏的上手。不过这样留下了黑边,所以必须进行裁剪
在这里插入图片描述

3.4裁剪

因此裁剪框也是一个需要的功能,

3.5 透视变换

透视变换是一个最最核心的功能。代替那些orb,shft 特征变换

3.6 鱼眼矫正

上面的图片经过矫正以后,图像被拉直,同时,部分画面被切割掉了
在这里插入图片描述

4 关于特征

特征抓取是网上最多的人写过很多文章,这一部分就是使用ORB 特征,和 SIFT 等特征抓取匹配,然后再拼接,生成单应矩阵,这种方案不可取,是最差的方案,因为在实际的项目中,你连特征都抓不到,根本自动化不了,所以尽早放弃这种想法,除了一种情况例外,硬件是自己做的,自己知道自己的单应矩阵。

5 真正可靠的做法

把多路摄像头接入画面,缩小,观察,进行矫正,缩放,变换,裁切,放大,记录,这就是商业上做的做法
在这里插入图片描述

5.1 数字放大技术

这个太重要了,就算使用gpu 速度也没有那么快,那么尽量使用小的图,然后放大,读者会说,那不是失真了么。不会,这要用上真正的数字放大技术
下面是原图:模糊了
在这里插入图片描述
下面是原图的矫正:
在这里插入图片描述
下面左边是原图放大4倍,使用双线性差值,右边是数字放大技术4倍,就是这么的离谱,就是上面的小图放大的,出家人不打诳语。
在这里插入图片描述

6 架构设计

6.1 插件式编程

所有的算法编写成为插件

6.2 gpu编程

使用glsl 和 cuda 两种语言

6.3 放小接入,放大接出

这个步骤太重要了 ,一切为了速度

6.4 硬件盒子

硬件分为两种,我们考虑了
1 瑞芯微国产硬件的布局
2 jetson nano

6.5 输出

1 输出为mp4文件
2 输出为内存共享,为了给AI 输出,将合成的图像给AI以后,本来的跨境追踪reid好做了很多,是不是?
在这里插入图片描述

3 输出为rtmp ,rtsp 服务

等我第二遍进行代码上的讲解

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qianbo_insist

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值