首页 / 专利库 / 视听技术与设备 / / 一种图像处理方法、装置及存储介质

一种图像处理方法、装置及存储介质

阅读:569发布:2021-06-15

专利汇可以提供一种图像处理方法、装置及存储介质专利检索,专利查询,专利分析的服务。并且本 发明 实施例 提供了一种 图像处理 方法、装置以及存储介质,能够提高运算效率,所述图像处理方法包括:所述第一处理器接收输入的图像数据,对所述输入的图像数据进行 颜色 格式转换、 采样 和特征提取处理,输出特征提取结果;第二处理器对所述第一处理器输出的特征提取结果进行目标检测,输出目标检测结果。通过将不同的处理过程分别置于不同的处理器进行处理,可以提高图像处理的运算效率。,下面是一种图像处理方法、装置及存储介质专利的具体信息内容。

1.一种图像处理方法,其特征在于,所述方法包括:
第一处理器接收输入的图像数据,对所述输入的图像数据进行颜色格式转换、采样和特征提取处理,输出特征提取结果;
第二处理器对所述第一处理器输出的特征提取结果进行目标检测,输出目标检测结果。
2.根据权利要求1所述的方法,其特征在于,
第一处理器包括现场可编程逻辑阵列FPGA,第二处理器包括中央处理器CPU。
3.根据权利要求1或2所述的方法,其特征在于,所述第一处理器对所述输入的图像数据进行颜色格式转换,包括:所述第一处理器将输入的第一颜色空间的图像数据转换为第二颜色空间的图像数据,所述第一颜色空间包括RGB颜色空间,所述第二颜色空间包括LUV颜色空间或YUV颜色空间,所述第二颜色空间的图像数据包含亮度像素信息和色度像素信息,其中所述亮度像素信息用分段函数计算获得。
4.根据权利要求3所述的方法,其特征在于,
所述第一处理器采用下式计算获得所述LUV颜色空间中的亮度像素信息L、第一色度像素信息U和第二色度像素信息V:
L=af(y)
U=bLxz2-cL+d
V=eLyz2-fL+g
其中,x、y、z1和z2为中间值, z2=1/(x+15y+3z1),a、b、c、d、e、f和g为常数,A为常数矩阵,f(y)是以中间值y为变量的分段函数 h、
i、j和k为常数。
5.根据权利要求4所述的方法,其特征在于,
所述第一处理器在计算中间值z2时,将z2的分母数值调整到预设的范围内,再根据调整后的值进行查表,获得中间值z2。
6.根据权利要求1或2所述的方法,其特征在于,
所述第一处理器进行的采样处理包括:对颜色格式转换后的图像数据进行n次下采样或上采样得到n个目标图像,每次下采样或上采样的处理方式相同,n为大于1的正整数。
7.根据权利要求1或2所述的方法,其特征在于,
所述第一处理器和第二处理器共用多个内存区域,所述多个内存区域采用轮询访问机制,分周期缓存所述第一处理器和第二处理器的处理结果。
8.一种图像处理装置,其特征在于,包括第一处理器和第二处理器,其中:
所述第一处理器用于接收输入的图像数据,对所述输入的图像数据进行颜色格式转换、采样和特征提取处理,输出特征提取结果;
所述第二处理器用于对所述第一处理器输出的特征提取结果进行目标检测,输出目标检测结果。
9.根据权利要求8所述的装置,其特征在于,
第一处理器包括现场可编程逻辑门阵列FPGA,第二处理器包括中央处理器CPU。
10.根据权利要求8或9所述的装置,其特征在于,其中:
所述第一处理器包括颜色格式转换模,其用于将输入的第一颜色空间的图像数据转换为第二颜色空间的图像数据,所述第一颜色空间包括RGB颜色空间,所述第二颜色空间包括LUV颜色空间或YUV颜色空间,所述第二颜色空间的图像数据包含亮度像素信息和色度像素信息,其中所述亮度像素信息用分段函数计算获得。
11.根据权利要求10所述的装置,其特征在于,
所述颜色格式转换模块采用下式计算获得所述LUV颜色空间中的亮度像素信息L、第一色度像素信息U和第二色度像素信息V:
L=af(y)
U=bLxz2-cL+d
V=eLyz2-fL+g
其中,x、y、z1和z2为中间值, z2=1/(x+15y+3z1),a、b、c、d、e、f和g为常数,A为常数矩阵,f(y)是以中间值y为变量的分段函数 h、
i、j和k为常数。
12.根据权利要求11述的装置,其特征在于,
所述颜色格式转换模块在计算中间值z2时,将z2的分母数值调整到预设的范围内,再根据调整后的数值进行查表,获得中间值z2。
13.根据权利要求8或9所述的装置,其特征在于,
所述第一处理器包括用于进行图像缩放的采样模块,所述采样模块包括n个串行连接的采样子模块,每个采样子模块对前一采样子模块输出的图像数据进行下采样或上采样,输出本采样子模块采样后的目标图像,每个采样子模块的处理方式相同,n为大于1的正整数。
14.根据权利要求8或9所述的装置,其特征在于,
所述图像处理装置还包括存储模块,所述存储模块包括多个存储子模块,所述多个存储子模块采用轮询访问机制,分周期缓存第一处理器和第二处理器的处理结果。
15.一种计算机可读存储介质,存储有程序指令,当该程序指令被执行时可实现权利要求1-7中任一项所述的方法。

说明书全文

一种图像处理方法、装置及存储介质

技术领域

[0001] 本文涉及图像处理技术领域,尤指一种图像处理方法、装置以及存储介质。

背景技术

[0002] 道路行人安全是汽车交通行业一个重要的问题,许多汽车制造行业厂商正在开发车载高级汽车辅助驾驶系统(Advanced Driver Assistance Systems,简称ADAS)。该系统通过车载传感器采集道路数据,对其加以分析计算,可以帮助驾驶员分析路况信息,以减少交通事故,实现安全出行。如今随着摄像头技术的发展,在汽车智能电子市场,基于摄像头的图像采集设备以其低成本、高精度、高灵活性等特性已经成为ADAS系统中首要选择。因此,根据车载摄像头实时采集的路况图像,选择合适的行人检测算法进行分析处理,是ADAS系统中最重要工作之一。
[0003] 基于机器学习的目标检测算法,可以较好的根据计算机视觉特征以及分类模型,对视频或来自摄像头的画面内容进行特定目标的检索。在高级汽车辅助驾驶系统ADAS或路面监测系统中,可以有广泛应用。
[0004] 鉴于车载行人检测系统特殊的工作环境,若要满足驾驶安全需求,要求其检测性能指标必须满足延迟低、精度高、时间快等要求。因此,在ADAS终端上使用的检测算法需要进行算法优化以提高运算效率。发明内容
[0005] 本申请实施例提供了一种图像处理方法、装置以及存储介质,能够提高运算效率。
[0006] 一方面,本发明实施例提供了一种图像处理方法,包括:第一处理器接收输入的图像数据,对所述输入的图像数据进行颜色格式转换、采样和特征提取处理,输出特征提取结果;
[0007] 第二处理器对所述第一处理器输出的特征提取结果进行目标检测,输出目标检测结果。
[0008] 另一方面,本发明实施例还提供了一种图像处理装置,包括第一处理器和第二处理器,其中:
[0009] 所述第一处理器用于接收输入的图像数据,对所述输入的图像数据进行颜色格式转换、采样和特征提取处理,输出特征提取结果;
[0010] 所述第二处理器用于对所述第一处理器输出的特征提取结果进行目标检测,输出目标检测结果。
[0011] 再一方面,本发明实施例还提供了一种计算机可读存储介质,存储有程序指令,当该程序指令被执行时可实现前述图像处理方法。
[0012] 本发明实施例通过将不同的处理过程分别置于不同的处理器进行处理,可以提高图像处理的运算效率。
[0013] 本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书、权利要求书以及附图中所描述的方案来实现和获得。

附图说明

[0014] 附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
[0015] 图1为本发明实施例图像处理方法流程图
[0016] 图2为本发明实施例图像处理装置结构示意图;
[0017] 图3为本发明实施例应用于机器视觉的车辆检测系统示意图;
[0018] 图4为本发明实施例采用FPGA+ARM的异构处理优化计算流程图;
[0019] 图5为本实施例异构计算框架图;
[0020] 图6为本发明实施例RGB转LUV硬件实现图;
[0021] 图7为本发明实施例的动态缩放处理流程图;
[0022] 图8为本发明实施例的降采样处理流程图;
[0023] 图9为不采用DDR轮询机制的存取流程图;
[0024] 图10为本发明实施例采用轮询机制存取流程图。

具体实施方式

[0025] 本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
[0026] 本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
[0027] 此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
[0028] ACF(Aggregate Channel Feature)算法是机器学习领域的一种目标识别算法,具有良好的检测精度。由于该算法的实现依赖大量数学计算,而在边缘计算领域受到资源、功耗等条件限制,难以用传统CPU、GPU架构高效实现。
[0029] 为此申请人提供一种可以提高图像处理运算效率的图像处理方法和装置,说明如下。
[0030] 本实施例提供一种图像处理装置,如图1所示,包括第一处理器11和第二处理器12,其中:
[0031] 所述第一处理器11用于接收输入的图像数据,对所述输入的图像数据进行颜色格式转换、采样和特征提取处理,输出特征提取结果;
[0032] 所述第二处理器12用于对所述第一处理器11输出的特征提取结果进行目标检测,输出目标检测结果。
[0033] 通过将不同的处理过程分别置于不同的处理器进行处理,可以提高图像处理的运算效率。
[0034] 例如第一处理器可以是现场可编程逻辑阵列(FPGA)、第二处理器可以是中央处理器(CPU)。
[0035] 在一示例性实施例中,第一处理器包括颜色格式转换模、采样模块和特征提取模块,其中:
[0036] 所述颜色格式转换模块,用于将输入的第一颜色空间(例如RGB颜色空间)的图像数据转换为第二颜色空间(例如LUV颜色空间或YUV颜色空间)的图像数据;
[0037] 所述采样模块,用于进行图像缩放,包括进行上采样和/或下采样处理,得到多个目标图像;
[0038] 所述特征提取模块,用于对所述多个目标图像分别进行特征提取,输出特征提取结果;
[0039] 第二处理器包括目标检测模块,所述目标检测模块用于对所述特征提取结果进行目标检测,输出目标检测结果。
[0040] 本实施例基于FPGA和CPU的异构处理装置,将颜色格式转换、图像缩放、特征提取等计算较为复杂的部分采用FPGA进行处理,利用其多并发,低延迟的处理特性,提升检测速率。
[0041] 以第一空间为RGB颜色空间,第二空间为LUV颜色空间为例,所述颜色格式转换模块将输入的第一颜色空间的图像数据转换为第二颜色空间的图像数据时,将输入的第一颜色空间的图像数据转换为包含亮度像素信息和色度像素信息的第二颜色空间图像数据,其中所述亮度像素信息用分段函数计算获得。采用分段函数计算可以分段描述亮度像素信息,由此可以提高转换的精度。在其他实施例中,还可以转换为其他包含亮度像素信息的颜色格式,例如YUV颜色格式。
[0042] 例如,所述颜色格式转换模块采用下式计算所述第二颜色空间中的亮度像素信息L、第一色度像素信息U和第二色度像素信息V:
[0043] L=af(y)
[0044] U=bLxz2-cL+d
[0045] V=eLyz2-fL+g
[0046] 其中,x、y、z1和z2为中间值, z2=1/(x+15y+3z1),a、b、c、d、e、f和g为常数,A为常数矩阵,f(y)是以中间值y为变量的分段函数h、i、j和k为常数。
[0047] 可选地,其中,a=1/270,b=13×4=52,c=13×0.197833=2.571829,d=0.325926,e=13×9=117,f=13×0.468331=6.088303,g=0.496296,h=116,i=16,[0048] 在计算z2时,为了避免除法计算,同时保证计算精度,所述颜色格式转换模块可采用动态缩放与查表结合的方式,将分母数值调整到预设的范围内,再根据调整后的数值进行查表,获得中间值z2。预设范围例如可以为[216,2*216]。
[0049] 在一示例性实施例中,所述采样模块包括n个串行连接的采样子模块,每个采样子模块对前一采样子模块输出的图像数据进行下采样或上采样,输出本采样子模块采样后的目标图像,每个采样子模块的处理方式相同,对于第一个采样子模块,其是对所述颜色格式转换模块输出的第二颜色空间的图像数据进行采样。n可以为大于1的正整数,采样子模块的数量取决于需要的目标图像数量。例如需要得到4幅大小不同但均小于原图尺寸的目标图像,则可设计4个采样子模块,则每个采样子模块输出一个目标图像,采样模块共输出n个目标图像。可采用连续下采样(降采样)的方式得到4个目标图像。同时,还可以采用连续上采样(升采样)的方式,或者采用上采样和下采样相结合的方式得到目标图像,例如分别对原始图像大小进行上采样和下采样得到目标图像。
[0050] 例如采样方法可采用双线性插值法。在原始输入图像(以图像分辨率为640×480为例)基础上,采用插值法使原始输入图像在行、列上各缩小一半,得到第一目标图像,图像分辨率为320×240;在第一目标图像基础上,采用插值法使原始输入图像在行、列上各缩小一半,得到第二目标图像,图像分辨率为160×120;在第二目标图像基础上,采用插值法使第二目标图像在行、列上各缩小一半,得到第三目标图像,图像分辨率为80×60;在第三目标图像基础上,采用插值法使第三目标图像在行、列上各缩小一半,得到第四目标图像,图像分辨率为40×30。
[0051] 可见,由于每次均对行列进行减半采样,因此每个子模块的设计可以是相同的,并且可以采用级联的方式进行连接,节省硬件资源、降低开发成本。
[0052] 在一示例性实施例中,图像处理装置还包括存储模块,所述存储模块包括多个存储子模块,所述多个存储子模块采用轮询访问机制,多个存储子模块分周期缓存第一处理器的处理结果(包括目标图像、特征提取结果)和第二处理器的处理结果(包括目标检测结果),使不同图像的数据独立存储且并行计算。第一处理器对原始图像进行转换和采样(以下简称预处理)后,得到预处理后的图像数据(即目标图像)。以包括三个存储子模块为例,第一存储子模块在第一周期用于缓存目标图像,在第二周期用于缓存特征提取结果,在第三周期用于缓存目标检测结果;第二存储子模块在第一周期用于缓存特征提取结果,在第二周期用于缓存目标检测结果,在第三周期用于缓存目标图像;第三存储子模块在第一周期用于缓存目标检测结果,在第二周期用于缓存目标图像,在第三周期用于缓存特征提取结果。对于同一图像帧而言,其不同的处理结果缓存于不同的存储子模块中。对于同一存储周期,三个存储子模块分别缓存三个图像帧的处理结果,例如在第一存储周期,第一存储子模块缓存预处理后的目标图像第一图像帧,第二存储子模块缓存第二图像帧的特征提取结果,第三存储子模块缓存第三图像帧的目标检测结果,使得不同图像帧的数据能够独立存储且并行计算。通过采用多个存储子模块,在不同的周期轮流存储不同的处理结果,提高数据处理装置的处理速度,减少延迟。
[0053] 采用本发明实施例方法和装置通过高性能的异构计算设计,可以提高图像处理的运算效率,提高计算性能。
[0054] 本发明实施例还提供一种图像处理方法,如图2所示,包括以下步骤:
[0055] 步骤21,第一处理器接收输入的图像数据,对所述输入的图像数据进行颜色格式转换、采样和特征提取处理,输出特征提取结果;
[0056] 具体地,第一处理模块将输入的第一颜色空间(例如RGB颜色空间)的图像数据转换为第二颜色空间(例如LUV颜色空间或YUV颜色空间)的图像数据,对第二颜色空间的图像数据进行进行上采样和/或下采样处理,以对图像进行缩放,得到多个目标图像;对多个目标图像分别进行特征提取,输出特征提取结果。
[0057] 步骤22,第二处理器对所述第一处理器输出的特征提取结果进行目标检测,输出目标检测结果。
[0058] 通过将不同的处理过程分别置于不同的处理器进行处理,可以提高图像处理的运算效率。
[0059] 例如,第一处理器包括现场可编程逻辑门阵列FPGA,第二处理器包括中央处理器CPU。
[0060] 在一示例性实施例中,第一处理器对所述输入的图像数据进行颜色格式转换,包括:所述第一处理器将输入的第一颜色空间的图像数据转换为第二颜色空间的图像数据,所述第一颜色空间包括RGB颜色空间,所述第二颜色空间包括LUV颜色空间或YUV颜色空间,所述第二颜色空间的图像数据包含亮度像素信息和色度像素信息,其中所述亮度像素信息用分段函数计算获得。
[0061] 例如,所述第一处理器采用下式计算获得所述LUV颜色空间中的亮度像素信息L、第一色度像素信息U和第二色度像素信息V:
[0062] L=af(y)
[0063] U=bLxz2-cL+d
[0064] V=eLyz2-fL+g
[0065] 其中,x、y、z1和z2为中间值, z2=1/(x+15y+3z1),a、b、c、d、e、f和g为常数,A为常数矩阵,f(y)是以中间值y为变量的分段函数h、i、j和k为常数。
[0066] 可选地,其中,a=1/270,b=13×4=52,c=13×0.197833=2.571829,d=0.325926,e=13×9=117,f=13×0.468331=6.088303,g=0.496296,h=116,i=16,[0067] 在一示例性实施例中,第一处理器在计算中间值z2时,将z2的分母数值调整到预设的范围内,再根据调整后的值进行查表,获得中间值z2。采用动态缩放与查表结合的方式可以平衡计算精度和计算效率。
[0068] 在一示例性实施例中,第一处理器进行的采样处理包括:对颜色格式转换后的图像数据进行n次下采样或上采样得到n个目标图像,每次下采样或上采样的处理方式相同,例如每次采样时均对输入图像进行减半采样。
[0069] 在一示例性实施例中,所述第一处理器和第二处理器共用多个内存区域,所述多个内存区域采用轮询访问机制,分周期缓存所述第一处理器和第二处理器的处理结果。对于同一图像帧,其不同阶段的处理结果缓存于不同的存储子模块中。以使用3个内存区域为例,三个内存区域在同一存储周期分别缓存三个图像帧的处理结果,例如在第一存储周期,第一块内存区域缓存预处理后的目标图像第一图像帧,第二块内存区域缓存第二图像帧的特征提取结果,第三块内存区域缓存第三图像帧的目标检测结果,从而使得不同图像帧的数据能够独立存储且并行计算。
[0070] 所述数据处理方法中的实现细节和效果可参照数据处理装置中的描述,此处不再赘述。
[0071] 下面以第一处理器为FPGA,第二处理器为CPU的异构处理器为例,对上述方法和装置进行详细说明。
[0072] 在本实施例中,使用了Xilinx的ZYNQ UltraScale+MPSoC系列异构FPGA芯片作为数据处理装置,该芯片内置FPGA逻辑资源和ARM A53 CPU。在本实施例方案中,将算法进行定点化设计,将格式转换、图像缩放和特征提取过程使用FPGA逻辑资源进行加速,其中采用了并行计算、流线架构;将目标检测过程使用ARM CPU完成,其中采用动态检测的策略。经过加速设计后,前期数据处理过程中数据流水执行,其耗时将大幅缩短,近似实时计算;分类检测时间根据被检测数据集难度动态变化,最高可达到120FPS(每秒帧数)。在实际路测数据集上其检测平均帧率可达28.6FPS。
[0073] 本发明实施例提供的数据处理装置可以应用于如图3所示的基于机器视觉的车辆检测系统,通过机器视觉的目标检测技术进行道路车辆的识别。如图3所示,通过摄像头采集车辆前方的画面,将采集的图像数据输入数据处理装置,经由数据处理装置得到检测结果(如图中框线所示),后续基于检测结果可进行驾驶辅助及行驶预警等应用。
[0074] 图4为本实施例数据处理流程图,在本实施例中,道路视频输入至数据处理装置后,首先进行颜色格式转换,将RGB视频转换为LUV格式或者YUV格式以便算法的后续处理。在进行完颜色格式转换后,进行图像缩放处理,在本例中经过4种比例的缩放,从原始图像的640x480分辨率,获得320x240、160x120、80x60、40x30四幅新图像数据,再经过特征提取和目标检测,获得结果,并完成输出。单一ARM的计算处理,在进行前3个计算模块的运算时,处理较慢,影响了整体的视频处理速度。本实施例将前3个像素级运算模块部署在FPGA上,基于特征进行处理的目标检测模块部署在ARM上计算,改进了整体的计算流程。相比于采用单一ARM处理器的方案,计算较为复杂的部分采用FPGA进行处理,利用其多并发、低延迟的处理特性,提升检测速率。处理时间由原先的近400ms/帧,提升至平均55ms/帧。
[0075] 图5所示为本实施例整体的异构计算框架图,在该数据处理装置中,FPGA(下称PL:programmable logic)进行图像预处理(包括颜色格式转换和图像缩放)和特征提取计算,ARM(PS:programmable system)部分完成后续目标检测计算,并通过指令的发送,控制各处理模块和存储模块(例如双倍速率同步动态随机存储器,简称DDR)的数据交互。特征提取算法可以采用ACF算法,分类目标检测可以采用adaboost算法(一种迭代算法)。
[0076] 除了采用原始ACF算法外,还可以采用改进的快速ACF算法(下称Fast-ACF算法)。原始ACF算法中使用到了多尺度金字塔特征值结构,其生成方法是使用标准特征算法逐一计算生成所有尺度特征值,这样生成一幅图像的特征金字塔的过程会消耗较多的逻辑资源和时间。而在Fast-ACF算法中采用了近似计算方法,在使用标准特征算法计算生成某一尺度特征值后,用其作为基准尺度特征值缩放出邻近几个尺度(扩展层)的特征值,这种方法可使扩展层特征值的计算量减小三分之二,从而使计算生成完整特征金字塔的效率大大提高。经过测试,这种经过优化的算法具有良好的性能,在仅仅损失极小检测准确率情况下,检测的速度有了明显提升。
[0077] Fast-ACF算法通过提取图像的ACF(颜色空间、梯度幅值、梯度直方图)特征,使用Adaboost分类器对特征进行分类操作,实现目标检测功能。Fast-ACF算法中对特征提取过程进行优化,将ACF特征金字塔分成基准尺度和扩展尺度两部分进行计算。基准尺度特征由输入的多分辨率图像按照标准算法严格计算产生,计算包括计算梯度幅值、统计梯度直方图和滤波计算;计算扩展尺度时,根据其尺度大小选择合适缩放参数,对邻近基准尺度特征值进行近似计算生成,其中近似计算分为上采样和下采样两种类型。
[0078] 在图5中,视频输入后经过PS和PL上的特征提取和目标检测,完成检测,并在显示设备(monitor)上进行显示。在本方案中,系统各模块设计情况如下:
[0079] 颜色格式转换处理(Color Format Convertor):在该处理流程中,将输入的RGB视频转换为LUV颜色格式;
[0080] 图像缩放处理(Scaler):由于Fast-ACF算法需要生成可以作为特征提取处理输入数据的多尺度的图像,因此由图像缩放模块生成具有不同分辨率的图像数据;
[0081] 特征提取处理(Feature Extraction):对不同分辨率的图像数据进行特征提取计算,包括基准层和扩展层两类计算;
[0082] 目标检测处理(Object Detection):对提取的特征进行动态目标检索,可根据训练的模型加以判断;
[0083] 检测框标记处理(OSD Blending):车辆检测系统中设计该处理,将检测到的物体标识框叠加到原视频图像上,进行显示输出。
[0084] 下面对上述处理中的颜色格式转换处理、图像缩放处理分别进行说明。
[0085] 上述实施例中的颜色格式转换处理是基于动态缩放的颜色格式转换。根据识别算法,特征提取过程可以使用LUV颜色空间的图像。因为相较于RGB颜色空间图像而言,LUV图像的亮度像素信息可更彻底地从颜色元素中分离开来,以L分量单独存在,更容易表征图像亮度像素信息,并进行梯度计算。因此对于输入的RGB图像首先需要进行颜色空间转换,计算得到图像的LUV分量。计算过程如下:
[0086] 首先RGB通过与矩阵A的计算,获得中间值x,y,z1以及z2:
[0087] z2=1/(x+15y+3z1)
[0088] 其中常数矩阵A为:
[0089]
[0090] 在获得上述中间值后,以下述公式进行LUV各分量计算,在本实施例中,对L通道的转换加入了分段函数的设计,使得转换的精度更为精确:
[0091]
[0092] U=13L*(4xz2-0.197833)+0.325926
[0093] V=13L*(9yz2-0.468331)+0.496296
[0094] 在转换中,f(y)是以中间值y为变量的分段函数,该函数定义如下:
[0095]
[0096] 上述计算方法可以采用软件实现,还可以采用如图6所示的流水线式设计。包括多个乘法器(DSP)单元和多个计算(Calc)单元,其中DSP_R2Y用于计算R到Y的乘法值,DSP_G2Y用于计算G到Y的乘法值,DSP_B2Y用于计算B到Y的乘法值,以此类推,图中未示出常数输入,Calc_L用于计算灰度像素值L,Calc_U用于计算色度值U,Calc_Z2用于计算Z2值,Calc_V用于计算色度值V。在该硬件流水线处理中,先通过矩阵运算获得x、y、z1等中间分量,DSP单元负责进行乘法运算。Calc_L,Calc_Z2,Calc_U,Calc_V,Calc_U依据公式中的计算,获得各个中间结果,以及LUV分量的结果。
[0097] 在进行格式转换处理过程中,考虑到硬件实现通常采用定点化设计,本实施例采用动态缩放的运算以提升精度,可以平衡计算精度和运算效率。因为在运算中间值的过程中,Z2的运算涉及除法,而在FPGA实现运算的过程中,除法因消耗硬件资源较大,为了规避该除法计算,本实施例采用查找表的方式进行替代运算,在设计查找表时,将公式中的分母部分作为查找表的输入,在这里采用了动态缩放的设计策略。考虑到分母过大或过小时,查找表的计算精度均会有损失。因此需要适当的放大或缩小
16
分母的数值,使得查找区间更为精确。这里以2 为分界线进行设计,使分母的取值落在预设区间[216,2*216]之间。确定的过程采用如下循环的方式进行:
[0098] 缩放分母:
[0099] 修正查表值:z2=LUT(Tz)·2scale
[0100] 当分母小于216时,需要适当扩大分母,使其大于216,而在分母大于2*216时,需要将分母的数值缩小,以使其落在预设的区间内。该方式每次以乘2或除2的方式步进。流程图如图7所示,包括以下步骤:
[0101] 步骤1,设置Tz=x+15y+3z1,缩放次数ScaleN=0;
[0102] 步骤2,判断Tz是否小于1×216,如果是,执行步骤3,如果不是,执行步骤4;
[0103] 步骤3,重新为Tz赋值,使得新Tz等于2倍的旧Tz,同时按预设步长增加缩放次数ScaleN,例如加1次,返回步骤2;。
[0104] 步骤4,判断Tz是否大于1×216,如果是,执行步骤5,如果不是,执行步骤6;
[0105] 步骤5,重新为Tz赋值,使得新Tz等于旧Tz的一半,同时按预设步长减小缩放次数ScaleN,例如减1次,返回步骤4;
[0106] 步骤6,记录当前最新的Tz值和ScaleN;
[0107] 步骤7,用当前最新的Tz值查表得到查表结果LUT(Tz),再用2scaleN乘上查表结果,即通过位移运算,将数值还原到缩放前的区间范围,以对查表值进行修正。
[0108] 通过动态缩放方式实现求倒数查表,可以使结果具有动态精度,分母TZ取值越靠近缩放区间(1,2),缩放次数ScaleN的绝对值越小,其精度越大;相反,如果分母取值远离该区间,缩放次数ScaleN的绝对值增大,虽然其精度会减小,但这却能有效扩展分母的取值范围,同时在整个定义域内其精度能够满足要求。
[0109] 上述实施例中的图像缩放处理是基于模块复用的连续降采样处理,对颜色格式转换后的图像数据进行降采样。可采用双线性插值法,在原始输入图像(以图像分辨率为640×480为例)基础上,使原始输入图像在行、列上各缩小一半。颜色格式转换模块的输入除了RGB数据外,还可包括用于驱动显示器的视频数据信号,用于标识有效数据行和帧数据结束。图8为本发明实施例的降采样处理图,如图所示,DS(Down Scalar)为降采样单元,目标是由初始的640×480图像获得320×320、160×120、80×60、40×30四个新的图像数据。获得新的图像数据进入到特征提取模块的基准层(Base_layer Feature_Calc)模块,进行梯度(Grad_Calc)、直方图(Hist_Calc)、滤波(Filter)的运算进行特征提取。提取后的特征数据,输入不同分辨率的扩展层,以得到不同尺度的特征提取结果。
[0110] 在采样处理中,如果采用4种不同倍率的缩放模块,占用的硬件资源占用较多,因此为了进行硬件资源优化,DS(Down Scalar)采用级联的方式,均使用行列1/2的降采样模块,每次对行列进行减半采样。该实现方式利用单一的采样模块,即可完成4幅新图像数据的获取,节省了硬件资源。
[0111] 整个处理流程,特征提取和目标检测分别在不同的处理器中完成,对DDR的访问也分时完成,因此需要良好的调度机制,以提高DDR的访存读取效率。为此本实施例还提供了针对异构处理的乒乓缓存优化方案,由于图像特征计算与目标检测分别是由PL逻辑与PS CPU完成,因此本实施例需要3个内存区域(存储子模块)存储数据,使特征计算与目标检测过程在内存中实现乒乓操作,通过地址选择,将预处理、特征提取、目标检测等处理的存储空间互相隔离,实现不同图像帧的数据能够独立存取与并行计算。
[0112] 如图9所示,如果仅使用一片DDR空间(图中的A区域)进行数据存取,进行处理流程时,只能顺序执行相关操作,完成三部分的处理需要至少消耗3个时间周期(Time Period)。该种实现效率较低,处理延迟较高。
[0113] 本实施例采用3片DDR的空间,进行预处理、特征计算、目标检测三个主要部分的轮询存储访问,如图10所示,DDR空间A区域在时间周期0用于缓存预处理结果即目标图像,在时间周期1用于缓存特征提取结果,在时间周期2用于缓存目标检测结果;DDR空间B区域在时间周期0用于缓存特征提取结果,在时间周期1用于缓存目标检测结果,在时间周期2用于缓存目标图像;DDR空间C区域在时间周期0用于缓存目标检测结果,在时间周期1用于缓存目标图像,在时间周期2用于缓存特征提取结果。对于同一图像帧而言,其不同的处理结果缓存于不同的存储子模块中。在轮询访问机制中,经过一定的处理时间,三个处理模块会轮流占用不同的DDR空间(如图中A区域、B区域和C区域),目的是在有新数据进入到各个DDR存储空间时,不会发生覆盖的情况。使用三片DDR空间后,总有模块可以从已有数据的片区获取信息进行处理,同时每个时间周期均有结果输出,从而大幅提高整个系统的处理速度。在其他实施例中,根据处理过程可以设计其他个数个DDR,例如2个或4个等。
[0114] 本发明实施例的基于异构FPGA平台的硬件加速架构,在FPGA上利用流水线与并行计算的策略优化,优化机器学习的异构计算部署,可实现640x480近30fps的检测速率。
[0115] 本发明实施例还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序;所述计算机程序被执行后,能够实现前述示例性实施例提供的方法,例如,执行如图2、图4及图7所示方法中的一个或多个。所述计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
[0116] 本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈