一种基于FPGA的海量像素分块的连通区域识别方法及装置制造方法及图纸

技术编号:28561602 阅读:24 留言:0更新日期:2021-05-25 17:57
本发明专利技术公开了一种基于FPGA的海量像素分块的连通区域识别方法及装置,所述连通区域识别方法包括以下步骤:S1:接收前端成像单元的高带宽像素输入数据;S2:对高带宽像素输入数据进行数据分块处理,降低像素时钟频率;S3:根据设置好的阈值进行视频图像的二值化处理;S4:建立块与块之间的冲突表,完成各个分块模块中连通区域的初始化标记;S5:将各连通区域的具有等价关系的链表进行合并,完成反光球连通区域标记;S6:将连通区域统计特征输出给后续处理单元。本发明专利技术装置不需要存储视频每一帧的信息量,节约了存储资源,在PCB设计中既满足了板卡轻、小型的要求,又节省了物料和经济成本。

【技术实现步骤摘要】
一种基于FPGA的海量像素分块的连通区域识别方法及装置
本专利技术涉及图像处理领域,尤其涉及一种基于FPGA的海量像素分块的连通区域识别方法及装置。
技术介绍
虚拟现实产品已成为目前最受关注的智能设备,为给客户带来良好的体验,VR设备对硬件提出了更高的要求,用户想要真正的进入虚拟世界,步态分析技术必不可少。目前主流的步态分析技术主要包括:基于计算机视觉的人体步态捕捉与分析、基于惯性传感器的人体步态捕捉与分析、基于无线信号的人体步态捕捉与分析。基于计算机视觉的人体步态捕捉又分为基于红外摄像头、基于2D摄像头、基于深度3D摄像头等多种。本装置针对基于红外摄像头的光学步态捕捉而设计。由于虚拟现实需要给用户带来最真实的体验,所以前端数据成像单元要求实时性非常高,所需要的成像单元需要高分辨率高帧率的红外摄像机,一般的体验帧率都高达每秒200Hz、分辨率都高达2kx2k以上。面对采集系统带来的高帧率高分辨率的海量数据,后端的视频数据处理单元需要有非常强大的计算能力和并行处理能力分析出成像系统中反光球形成的连通区域。常用的处理单元有基于DSP的、基于windows、基于FPGA等ASIC处理单元。由于连通域标记算法具有重复比较、判断、转移工作,很少出现乘法除法等复杂运算,造成高速微处理器内部的多级指令流水线操作连续断流,使DSP以及windows的处理效率远远低于其峰值计算能力。再加上数据采集单元数据速率都高达Ghz,DSP,windows的IO接口接收能力有限,数据采集便存在困难。目前连通区域标记算法有行程扫描算法、轮廓标记算法、基于游程码的区域标记算法等等。有的算法需要一次遍历图像完成标记,有的则需要两次或更多次遍历图像。多次遍历图象存在处理延时,缓存图象等问题。而部分算法对连通区域的个数也有限制。实际应用中我们希望反光球越密集越好,这样三维空间中动态还原的更准确,也就造成了不同算法的时间效率的差别。再加上针对海量高分辨率图像这些算法都存在不能同时并行处理导致需要开辟大量的内存缓存图像,带来额外的经济损失。
技术实现思路
本专利技术提供一种基于FPGA的海量像素分块的连通区域识别方法及装置,用以解决标记连通区域时间较长满足不了高帧率下实时处理能力、且对连通区域的个数及形状有局限性导致连通区域增多以及反光球由于光照环境改变导致形状变化,识别能力欠佳等技术问题。为实现上述目的,本专利技术提出一种基于FPGA的海量像素分块的连通区域识别方法,所述基于FPGA的海量像素分块的连通区域识别方法包括以下步骤:S1:通过FPGA高速IO口接收前端成像单元的高带宽像素输入数据;S2:将采集到的高带宽像素输入数据进行数据分块处理,降低像素时钟频率,达到后续的可靠操作;S3:根据设置好的适合环境和反光镜分割的阈值进行视频图像的二值化;S4:通过FPGA内部自带的缓存单元建立块与块之间的冲突表,完成各个分块模块中连通区域的初始化标记;S5:将各连通区域的具有等价关系的链表进行合并,完成整帧视频的反光球连通区域标记;S6:将连通区域统计特征输出给后续处理单元,获取人体步态的三维坐标的基础信息。步骤S6中所述连通区域统计特征包括:连通区域的个数、连通区域中心坐标值、连通区域大小及圆度。所述步骤S2还包括以下子步骤:S21:按照纵列将每行图像分成四块,其中块与块之间延时一行;S22:第一个时间段T处理块1的第一行;S23:第二个时间段2T处理块1的第二行,同时延时△t并行处理块2的第一行;S24:第三个时间段3T处理块1的第三行,同时延时△t并行处理块2的第二行,延时△t处理块3的第1行;S25:第四个时间段4T处理块1的第四行,同时延时△t并行处理块2的第三行,延时△t处理块3的第2行,延时△t处理块4的第1行;S26:依次类推第n个时间段nT处理图像块1第n行,n+1时间段处理块2的第2行,n+2时间段处理块3的第n行,n+3时间段处理块4的第n行,至图像处理完成。所述T为扫描一行的时间单元。所述步骤S4还包括以下子步骤:S41:启动四个数据块之间的数据标记;S42:为每个块分配一个初始化的标记值Ln;S43:将每块图像按照从左到右的顺序逐像素开始扫描,并进行连通区域的标记;S44:为块2到块4分别建立冲突表Bn,所述块2的冲突表为B1,块3的冲突表为B2,块4的冲突表为B3,所述冲突表用于分别存储对应分块的最后一列的二值化像素值和标定值;S45:判断当前像素点在每行的位置;S46:第一个像素点查询左边块的冲突表进行初始化标记,中间像素点根据本块内部上一行和左边像素进行初始化标记,最后一个像素点建立与左边相邻块之间的冲突表并根据本块内部上一行和左边像素进行初始化标记;S46:初始化标记完成;S47:进行等价表的整理。所述步骤S42中的标记值可随意分配,但各个块之间不能重叠,即每个块之间的标记值不能超过下一块的标记值。所述步骤S47还包括以下子步骤:S471:将具有等价关系的临时标记全部等价为其中的最小值;S472:判断块1的等价表T1是否为空,若是则跳转至S473,若否则读出T1的等价关系值,进行等价关系的搜索,找到等价关系的最小值,将等价表中的所有等价位置用最小的等价值代替,在读取初始等价关系时,T1的L1从1开始标记,标记的值即真实存在的值,等价表T1整理完毕得到块1标记结果中的最大值K1;S473:判断块2的等价表T2是否为空,若是则跳转至S474,若否则进行T2等价表的搜索,在块2的等价关系整理过程中,将从初始链表T2中读出的等价值进行处理:若大于等于L2表示新的等价关系,则根据T1标记结果中的最大值K1进行处理;若小于L2表示为T1链表中传递过来的等价值,由于T1的等价值都已经标识过,所以当小于L2时直接采用临时标记值标记写入等价表E1;等价表T2整理完毕得到块2标记结果中的最大值K2;S474:重复步骤S473,进行块n的等价表Tn的整理,并记录整理的最大值Kn,从Tn表中读出的等价关系值根据Kn重新定义;S475:建立最终等价关系表E,以实现整合整帧图像的目的。所述基于FPGA的海量像素分块的连通区域识别装置包括:视频采集模块、行分块模块、二值化模块、连通区域并行标记模块、连通区域等价关系合并模块和连通区域统计特征输出模块:所述视频采集模块还包括至少两个FPGA高速IO口,用于接收前端成像单元的高带宽像素输入数据;所述行分块模块,用于接收视频采集模块采集到的高带宽像素输入数据,降低像素时钟频率,达到后续的可靠操作;所述二值化模块,用于接收行分块模块处理后的输入数据,并根据设置好的阈值对视频图像进行二值化处理;所述连通区域并行标记模块,用于接收控制器传输的数据,并根据控制指令将一组输入数据转变为两组输出数据;所述连通区域等价关系合并模块,用本文档来自技高网
...

【技术保护点】
1.一种基于FPGA的海量像素分块的连通区域识别方法,其特征在于,所述基于FPGA的海量像素分块的连通区域识别方法包括以下步骤:/nS1:通过FPGA高速IO口接收前端成像单元的高带宽像素输入数据;/nS2:将采集到的高带宽像素输入数据进行数据分块处理,降低像素时钟频率,达到后续的可靠操作;/nS3:根据设置好的适合环境和反光镜分割的阈值进行视频图像的二值化;/nS4:通过FPGA内部自带的缓存单元建立块与块之间的冲突表,完成各个分块模块中连通区域的初始化标记;/nS5:将各连通区域的具有等价关系的链表进行合并,完成整帧视频的反光球连通区域标记;/nS6:将连通区域统计特征输出给后续处理单元,获取人体步态的三维坐标的基础信息。/n

【技术特征摘要】
1.一种基于FPGA的海量像素分块的连通区域识别方法,其特征在于,所述基于FPGA的海量像素分块的连通区域识别方法包括以下步骤:
S1:通过FPGA高速IO口接收前端成像单元的高带宽像素输入数据;
S2:将采集到的高带宽像素输入数据进行数据分块处理,降低像素时钟频率,达到后续的可靠操作;
S3:根据设置好的适合环境和反光镜分割的阈值进行视频图像的二值化;
S4:通过FPGA内部自带的缓存单元建立块与块之间的冲突表,完成各个分块模块中连通区域的初始化标记;
S5:将各连通区域的具有等价关系的链表进行合并,完成整帧视频的反光球连通区域标记;
S6:将连通区域统计特征输出给后续处理单元,获取人体步态的三维坐标的基础信息。


2.如权利要求1所述的一种基于FPGA的海量像素分块的连通区域识别方法,其特征在于,步骤S6中所述连通区域统计特征包括:连通区域的个数、连通区域中心坐标值、连通区域大小及圆度。


3.如权利要求1所述的一种基于FPGA的海量像素分块的连通区域识别方法,其特征在于,所述步骤S2还包括以下子步骤:
S21:按照纵列将每行图像分成四块,其中块与块之间延时一行;
S22:第一个时间段T处理块1的第一行;
S23:第二个时间段2T处理块1的第二行,同时延时△t并行处理块2的第一行;
S24:第三个时间段3T处理块1的第三行,同时延时△t并行处理块2的第二行,延时△t处理块3的第1行;
S25:第四个时间段4T处理块1的第四行,同时延时△t并行处理块2的第三行,延时△t处理块3的第2行,延时△t处理块4的第1行;
S26:依次类推第n个时间段nT处理图像块1第n行,n+1时间段处理块2的第2行,n+2时间段处理块3的第n行,n+3时间段处理块4的第n行,至图像处理完成。


4.如权利要求3所述的一种基于FPGA的海量像素分块的连通区域识别方法,其特征在于,所述T为扫描一行的时间单元。


5.如权利要求1所述的一种基于FPGA的海量像素分块的连通区域识别方法,其特征在于,所述步骤S4还包括以下子步骤:
S41:启动四个数据块之间的数据标记;
S42:为每个块分配一个初始化的标记值Ln;
S43:将每块图像按照从左到右的顺序逐像素开始扫描,并进行连通区域的标记;
S44:为块2到块4分别建立冲突表Bn,所述块2的冲突表为B1,块3的冲突表为B2,块4的冲突表为B3,所述冲突表用于分别存储对应分块的最后一列的二值化像素值和标定值;
S45:判断当前像素点在每行的位置;
S46:第一个像素点查询左边块的冲突表进行初始化标记,中间像素点根据本块内部上一行和左边像素进行初始化标记,最后一个像素点建立与左边相邻块之间的冲突表并根据本块内部上一行和左边像素进行初始化标...

【专利技术属性】
技术研发人员:鲜燚
申请(专利权)人:成都国翼电子技术有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1