RGB相机动捕系列:相机标定(四、架构设计)

**RGB相机动捕系列:相机标定(四、架构设计)

RGB相机动捕系列:相机标定(四、架构设计)

一、概述

之前的几篇文章分别写了RGB相机阵标定的特征提取、标定计算、相机配准。本篇将阐述整个标定过程中的整体架构设计,将整个流程串起来,为整个标定系统的可用性、可扩展性、易用性定下基础。

二、基础架构

从前面几篇文章中我们可以看到,整个相机标定流程从相机采集图像出发,经过特征提取,标定计算,相机配准几个步骤,每个步骤又都是使用了通用的算法,采用了SOA架构作为基础架构,每个过程作为一个服务,完成自己的功能,有效提高复用率、灵活性和扩展性。

三、服务

3.1相机采集服务

相机采集服务器主要功能是控制相机采集图像数据,并将图像数据发送给特征提取服务器。所有相机部署在多台专用采集服务器上,通过硬件触发器对相机数据进行同步,保证每台相机采集的数据做到帧同步。由于相机图像数据量大,考虑到动捕室都是局部范围内的区域部署,所以将数据采集服务器和应用层服务器之间使用光纤进行连接,达到实时数据发送,通过将图像数据采集作为单独服务器方法,外部客户端不需要知道服务器内部如何采集的图像数据,也不用知道使用的哪种相机硬件,服务器也不需要知道客户端请求到图像数据的用途,只需要通过接口输出标准图像数据即可,服务器维护人员可以单独对相机硬件进行维护和升级,随着场地的增大,使用SOA的方式能够快速的扩展数据相机和数据采集服务器,有极大的扩展性。

3.2特征提取服务

特征提取服务器接受图像数据进行算法计算,并将计算好的数据发送到数据汇总服务器,由于特征提取计算对资源占用较高,采用SOA的方式将算法计算作为单独的一个服务,能够节省硬件成本,随着后期场地的扩大,相机图像数据量的扩大,可以快速增加特征提取的服务器数量和对算法进行升级,有良好的可维护性和可扩展性。

3.3相机采集服务和特征提取服务之间的数据传输

数据采集服务器和特征提取服务器之间使用RTMP协议进行数据传输,RTMP是一种基于TCP的网络协议,用于实现音视频数据的实时传输,RTMP提供了稳定的连接和较低的延迟,是实时标定理想的选择。RTMP提供的复用和复用分离可以将独立的视频数据整合为统一的视频流,可以使多个视频流同步传输,使用复用分离可以将视频流分离为原始视频,便于同一个数据采集服务器多个相机的数据传输。

3.4数据汇总服务

数据汇总服务器是面向用户的,接收特征提取服务器的数据,实时显示每个相机的特征提取出来的运动轨迹,供用户观察。并根据帧号对数据进行汇总,并将汇总后的数据转发给标定计算服务。

3.5标定计算服务

标定计算服务器接收数据汇总服务汇总得到的所有相机的对齐后的数据,并将进行最后的标定和配准,并将标定结果保存到服务器中的数据库中。

3.5特征提取服务、数据汇总服务、标定计算服务之间的数据传输

特征提取服务、数据汇总服务、标定计算服务之间的通信方式采用RPC方式,各服务器之间的相互调用可以像调用本地函数用于调用远程函数,不必知道底层的细节。且RPC高效低延迟,性能高等优点,对于手指动捕系统的实时需求有良好的适应性。具体实现使用Google公司的GRPC系统,该系统基于HTTP/2,提供了多路复用、双向流、请求优先级等功能,可以节省带宽,降低TCP连接速度,提高系统性能。IDL使用ProtoBuf,采用二进制消息,有较好的性能和效率。


RGB相机动捕系列:相机标定(四、架构设计)
http://example.com/2024/03/11/RGB相机动捕系列:相机标定(四、架构设计)/
作者
sunTFly
发布于
2024年3月11日
许可协议