图像处理方法和图像处理设备与流程

文档序号:11143263阅读:672来源:国知局
图像处理方法和图像处理设备与制造工艺

本公开涉及图像处理领域,更具体地,本公开涉及利用现场可编程门阵列(FPGA)实现用于图像处理的神经网络算法的图像处理方法和图像处理设备。



背景技术:

目标检测是计算机图像处理领域中一个基础性的研究课题,其在人脸识别、安全监控以及动态追踪等很多方面都有广泛的应用前景。目标检测是指对于任意一帧或连续帧图像,检测和识别其中特定的目标(例如人脸),并返回目标的位置、大小信息,例如输出包围目标的边界框。神经网络是一种大规模、多参数优化的工具。依靠大量的训练数据,神经网络能够学习出数据中难以总结的隐藏特征,从而完成多项复杂的任务,如人脸检测,图片分类,物体检测,动作追踪,自然语言翻译等。神经网络已被人工智能界广泛应用。当前,诸如行人检测的目标检测中最广泛应用的是卷积神经网络。现有的图像处理方法通常使用单一的芯片实现具体目标检测功能,由于这些芯片往往并行计算的能力有限,无法适应现有的使用神经网络实现的人脸检测算法,导致可抓拍的人脸数目有限且算法效率低。

现场可编程门阵列作为一种通用芯片,其通过将算法映射到硬件的方式实现并行计算,从而具有数据吞吐率高、同等计算量下功耗低、价格便宜的特点。

因此,希望提供一种利用现场可编程门阵列作为协处理器实现用于目标检测的神经网络算法的图像处理方法和图像处理设备。



技术实现要素:

鉴于上述问题而提出了本发明。本发明提供了一种利用现场可编程门阵列实现用于图像处理的神经网络算法的图像处理方法和图像处理设备。

根据本公开的一个实施例,提供了一种图像处理方法,包括:获取由图像获取单元采集的原始图像数据;由第一图像处理单元对所述原始图像数据执行第一图像处理,以获取第一图像数据;由现场可编程门阵列单元基于所述第一图像数据,确定所述第一图像数据中的目标的检测结果;以及由所述第一图像处理单元基于所述第一图像数据和所述目标的检测结果,生成对应于所述目标的编码图像数据。

此外,根据本公开的一个实施例的像处理方法,其中,由所述第一图像处理单元基于所述第一图像数据和所述目标的检测结果,生成对应于所述目标的图像数据包括:基于所述第一图像数据中的每一帧图像数据以及所述每一帧图像数据中的所述目标的检测结果,裁剪所述每一帧图像数据,生成仅包括所述目标的图像数据;以及对所述仅包括所述目标的图像数据执行第一编码,生成对应于所述目标的编码图像数据。

此外,根据本公开的一个实施例的图像处理方法,其中,由所述第一图像处理单元基于所述第一图像数据和所述目标的检测结果,生成对应于所述目标的图像数据还包括:基于包括连续帧图像的所述第一图像数据以及所述包括连续帧图像的所述第一图像数据中每一帧图像数据中的所述目标的检测结果,标注所述包括连续帧图像的所述第一图像数据中每一帧图像数据中的目标;以及对标注有所述目标的所述包括连续帧图像的所述第一图像数据执行第二编码,生成连续帧对应于所述目标的编码图像数据。

此外,根据本公开的一个实施例的图像处理方法,其中,所述图像处理方法还包括:经由第一接口单元将所述第一图像数据从所述第一图像处理单元传输到所述现场可编程门阵列单元;以及经由第二接口单元将所述目标的检测结果从所述现场可编程门阵列单元传输到所述第一图像处理单元。

此外,根据本公开的一个实施例的图像处理方法,其中,所述第一图像处理单元包括裁剪子单元和第一编码子单元,所述裁剪子单元和所述第一编码子单元为硬件,所述裁剪的步骤由所述裁剪子单元实现,所述第一编码由所述第一编码子单元实现。

此外,根据本公开的一个实施例的图像处理方法,其中,所述第一图像处理单元包括第二编码子单元,所述第二编码子单元为硬件,所述第二编码由所述第二编码子单元实现。

此外,根据本公开的一个实施例的图像处理方法,其中,所述图像处理方法还包括:将所述目标的编码图像数据通过网络传输给后端服务器进行处理。

此外,根据本公开的一个实施例的图像处理方法,其中,所述目标包括人脸,所述后端服务器进行的所述处理包括人脸属性分析、人脸识别、人脸美颜、人脸卡通化中的至少一种。

此外,根据本公开的一个实施例的图像处理方法,其中,所述获取由图像获取单元采集的原始图像数据的步骤,所述由第一图像处理单元对所述原始图像数据执行第一图像处理以获取第一图像数据的步骤,所述由现场可编程门阵列单元基于所述第一图像数据确定所述第一图像数据中的目标的检测结果的步骤,以及所述由所述第一图像处理单元基于所述第一图像数据和所述目标的检测结果生成对应于所述目标的编码图像数据的步骤由摄像头实现,所述摄像头包括所述图像获取单元、所述第一图像处理单元和所述现场可编程门阵列单元。

根据本公开的另一个实施例,提供了一种图像处理设备,包括:图像获取单元,用于采集原始图像数据;第一图像处理单元,用于对所述原始图像数据执行第一图像处理,以获取第一图像数据;以及现场可编程门阵列单元,用于基于所述第一图像数据,确定所述第一图像数据中的目标的检测结果;其中,所述第一图像处理单元还用于基于所述第一图像数据和所述目标的检测结果,生成对应于所述目标的编码图像数据。

此外,根据本公开的另一个实施例的图像处理设备,其中所述第一图像处理单元还包括:裁剪子单元,用于基于所述第一图像数据中的每一帧图像数据以及所述每一帧图像数据中的所述目标的检测结果,裁剪所述每一帧图像数据,生成仅包括所述目标的图像数据;以及第一编码子单元,用于对所述仅包括所述目标的图像数据执行第一编码,生成对应于所述目标的编码图像数据。

此外,根据本公开的另一个实施例的图像处理设备,其中所述第一图像处理单元还包括:标注子单元,用于基于包括连续帧图像的所述第一图像数据以及所述连续帧图像的所述第一图像数据中每一帧图像数据中的所述目标的检测结果,标注所述包括连续帧图像的所述第一图像数据中每一帧图像数据中的目标;以及第二编码子单元,用于对标注有所述目标的所述包括连续帧图像的所述第一图像数据执行第二编码,生成连续帧对应于所述目标的编码图像数据。

此外,根据本公开的另一个实施例的图像处理设备,还包括:第一接口单元,用于将所述第一图像数据从所述第一图像处理单元传输到所述FPGA单元;以及第二接口单元,用于将所述目标的检测结果从所述现场可编程门阵列单元传输到所述第一图像处理单元。

此外,根据本公开的另一个实施例的图像处理设备,其中,所述裁剪子单元和所述第一编码子单元由硬件实现。

此外,根据本公开的另一个实施例的图像处理设备,其中,所述标注子单元由软件实现或者由硬件实现或者由硬件结合软件实现,所述第二编码子单元由硬件实现。

此外,根据本公开的另一个实施例的图像处理设备,其中,所述图像处理设备还包括数据发送单元,用于将所述目标的编码图像数据通过网络传输给后端服务器进行处理。

此外,根据本公开的另一个实施例的图像处理设备,其中,所述目标包括人脸,所述后端服务器进行的所述处理包括人脸属性分析、人脸识别、人脸美颜、人脸卡通化中的至少一种。

此外,根据本公开的另一个实施例的图像处理设备,其中,所述图像处理设备为摄像头,所述图像获取单元包括光学传感器,所述第一图像处理单元包括图形信号处理(ISP)模块和中央处理单元(CPU)模块。

根据本公开的实施例图像处理方法和图像处理设备,通过利用现场可编程门阵列作为协处理器实现用于目标检测的神经网络算法,使得神经网络需要的大量卷积运算使用现场可编程门阵列的并行计算能力实现,充分的并行化处理使得计算效率相比单核处理器计算有了很大的提升;此外,通过使用专门硬件进行视频流编码,同时将大规模的计算放到现场可编程门阵列上进行,减轻了主处理器芯片的负载,有效降低了卡顿的可能;前端实现快速的人脸检测后仅仅传输固定大小的人脸框编码的图片,而不是传输整个图片,减小了传输带宽,同时方便后台服务器运算;进一步地,由于现场可编程门阵列与主处理器芯片间耦合度较小,可以分别进行开发,实现了开发效率提升并且便于优化。

要理解的是,前面的一般描述和下面的详细描述两者都是示例性的,并且意图在于提供要求保护的技术的进一步说明。

附图说明

通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1是图示根据本公开实施例的图像处理设备的框图。

图2是图示根据本公开实施例的图像处理方法的流程图。

图3是进一步图示根据本公开实施例的图像处理设备的框图。

图4是进一步图示根据本公开实施例的图像处理方法的流程图。

图5是进一步图示根据本公开实施例的图像处理方法的流程图。

图6是图示根据本公开实施例的摄像头的框图。

图7是图示根据本公开实施例的图像处理系统的示意图。

具体实施方式

为了使得本公开的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。基于本公开中描述的本公开实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本公开的保护范围之内。以下,将参考附图详细描述本公开的各个实施例。

首先,参照图1和图2概述根据本公开实施例的图像处理设备及其图像处理方法。

图1是图示根据本公开实施例的图像处理设备的框图。如图1所示的图像处理设备10例如可以是用于执行特定场景的视频监控的摄像头。或者,如图1所示的图像处理设备10可以为独立的图像处理装置,例如图像处理服务器。或者,如图1所示的图像处理设备10可以配置在用于对从执行特定场景的视频监控的摄像头提供的视频数据执行目标识别和图像处理的服务器中。

具体地,根据本公开实施例的图像处理设备10包括图像获取单元101、第一图像处理单元102和现场可编程门阵列单元103。容易理解的是,根据本公开实施例的图像处理设备10不限于此,而是可以包括诸如数据发送单元、接口单元等其他单元。

图像获取单元101用于采集原始图像数据。在本公开的一个实施例中,图像获取单元101由诸如电荷耦合器件(CCD)或互补金属氧化物半导体器件(CMOS)的图像传感器配置。图像获取单元101可以与其后的第一图像处理单元102和现场可编程门阵列单元103等物理位置上分离分配,并且经由有线或者无线方式,从图像获取单元101发送采集的原始图像数据给其后的各单元。可替代地,图像获取单元101可以与图像处理设备10中的其他单元物理上位于同一位置甚至位于同一机壳内部,图像处理设备10中的其他单元经由内部总线接收从图像获取单元101发送的图像数据。

第一图像处理单元102用于对原始图像数据执行第一图像处理,以获取第一图像数据。在本公开的一个实施例中,第一图像处理单元102包括诸如图像信号处理(ISP)的处理单元。第一图像处理单元102对从图像获取单元101发送的原始图像数据执行预定的图像处理操作(例如图像降噪增强处理、白平衡等)以获取第一图像数据。第一图像处理单元102将获取的第一图像数据发送给现场可编程门阵列单元103。

现场可编程门阵列单元103用于基于第一图像数据,确定第一图像数据中的目标的检测结果。在本公开各实施例中,第一图像数据中的目标可以为人脸、行人、车辆等各种对象,在此并不进行限定。在某些实施例中,以检测的目标是人脸为例进行说明。在本公开的一个实施例中,确定第一图像数据中的目标包括确定第一图像数据中包括的作为目标的行人或者人脸。现场可编程门阵列单元103由现场可编程门阵列(FPGA)配置。现场可编程门阵列作为一种通用芯片,其通过将算法映射到硬件的方式实现并行计算。例如,利用现场可编程门阵列实现低比特卷积神经网络(BCNN)算法,其中通过利用现场可编程门阵列中的10K甚至100K数量级的查找表(LUT)作为卷积计算模块,以便充分利用现场可编程门阵列的资源以提高计算力。同时由查找表实现的卷积计算模块增加了可静态配置的通道数、数据位宽数以及可动态配置的循环次数和方式,配合可调整参数的控制模块(例如,现场可编程门阵列的ARM处理器),可以快速实现不同架构的CNN模型,其中每个模块都采用硬件语言编写,这样在编写时可以从最底层的硬件开始优化,减少了冗余。本公开各实施例中的现场可编程门阵列(FPGA),除包括FPGA模块外,还可以包括其他模块(例如ARM处理器等),在此并不进行限定。

在通过现场可编程门阵列单元103实现的卷积神经网络对于第一图像数据,确定第一图像数据中的目标的检测结果之后,现场可编程门阵列单元103将目标的检测结果提供给第一图像处理单元102。第一图像处理单元102基于第一图像数据和目标的检测结果,生成对应于目标的编码图像数据。如以下将参照附图描述的,第一图像处理单元102可以生成仅包括目标的编码图像数据(即,生成的对应于目标的编码图像数据为图片格式的数据),也可以生成连续帧对应于目标的编码图像数据(即,生成的对应于目标的编码图像数据为视频格式的数据)。其中,第一图像处理单元102生成的仅包括目标的编码图像数据为图片格式的数据,对于每一帧第一图像数据,生成与检测到的目标数量一致的仅包括目标的编码图像数据,每个仅包括目标的编码图像数据中包括一个目标。例如,在某一帧第一图像数据中的目标为两张人脸,则生成两个仅包括目标的编码图像数据(即两张图像),每个编码图像数据中包括一张人脸。其中,生成连续帧对应于目标的编码图像数据,是指生成的编码图像数据是与第一图像数据中的连续帧相对应的标记出目标的视频格式的数据。

在一个具体示例中,根据本公开的图像处理设备为摄像头(例如抓拍摄像头),该图像处理设备除包括上述组件外,还可以包括例如镜头、图像传感器等其他组件。通过在摄像头内利用现场可编程门阵列以及第一图像处理单元和第二处理单元实现对应于目标的编码图像数据,可以提高摄像头自身的图像处理能力,实现某些图像处理操作(例如人脸检测、人脸图像截取等)在摄像头本地完成,相对于现有技术中依赖服务器实现相关图像处理的方式,可以减轻服务器的运算压力。

图2是图示根据本公开实施例的图像处理方法的流程图。图2所示的根据本公开实施例的图像处理方法20由如图1所示的图像处理设备10执行。如图2所示的根据本公开实施例的图像处理方法20包括以下步骤。

在步骤S201中,获取由图像获取单元采集的原始图像数据。在本公开的一个实施例中,由诸如电荷耦合器件或互补金属氧化物半导体器件的图像传感器配置图像获取单元101采集监控场景的原始图像数据。此后,处理进到步骤S202。

在步骤S202中,由第一图像处理单元对原始图像数据执行第一图像处理,以获取第一图像数据。在本公开的一个实施例中,由第一图像处理单元102中包括的诸如图像信号处理器(ISP)的处理单元从图像获取单元101发送的原始图像数据执行预定的图像处理操作(例如图像降噪增强处理)以获取第一图像数据。此后,处理进到步骤S203。

在步骤S203中,由现场可编程门阵列单元基于第一图像数据,确定第一图像数据中的目标的检测结果。在本公开的一个实施例中,通过现场可编程门阵列单元103实现的卷积神经网络对于第一图像数据执行低比特卷积神经网络(BCNN)算法,确定第一图像数据中的目标的检测结果。此后,处理进到步骤S204。

在步骤S204中,由第一图像处理单元基于第一图像数据和目标的检测结果,生成对应于目标的编码图像数据。在本公开的一个实施例中,第一图像处理单元102基于第一图像数据和目标的检测结果,可以生成仅包括目标的每一帧编码图像数据,也可以生成连续帧对应于目标的编码图像数据。

通过参照图1和图2描述的根据本公开实施例的图像处理设备及其图像处理方法,通过利用现场可编程门阵列单元103作为协处理器实现用于目标检测的神经网络算法,使得神经网络需要的大量卷积运算使用现场可编程门阵列单元103的并行计算能力实现,充分的并行化处理使得计算效率相比单核处理器计算有了很大的提升。通过使用专门硬件(即,第一图像处理单元102)进行视频流编码,同时将大规模的计算放到现场可编程门阵列单元103上进行,减轻了主处理器芯片的负载,有效降低了卡顿的可能。

以下,将进一步参照图3到图5详细描述根据本公开实施例的图像处理设备及其图像处理方法。

图3是进一步图示根据本公开实施例的图像处理设备的框图。如图3所示的图像处理设备30与参照图1描述的图像处理设备10相比,进一步包括第一接口单元104、第二接口单元105以及数据发送单元106。此外,如图3所示,第一图像处理单元102具体包括图像处理子单元1021、裁剪子单元1022、第一编码子单元1023、标注子单元1024和第二编码子单元1025。此外,如图3所示的图像获取单元101和现场可编程门阵列单元103与参照图1描述的图像获取单元101和现场可编程门阵列单元103相同,在此将省略其重复描述。

具体地,图像获取单元101将采集的原始图像数据提供给第一图像处理单元102。第一图像处理单元102中的图像处理子单元1021对原始图像数据执行第一图像处理,以获取第一图像数据。在本公开的一个实施例中,图像处理子单元1021由图像信号处理器(ISP)配置。图像处理子单元1021对从图像获取单元101发送的原始图像数据执行第一图像处理(例如图像降噪增强处理等)以获取第一图像数据。

第一接口单元104用于将第一图像数据从图像处理子单元1021传输到现场可编程门阵列单元103。在本公开的一个实施例中,第一接口单元104为BT1120接口。

如上参照图1所述,现场可编程门阵列单元103基于经由第一接口单元104接收的第一图像数据,确定第一图像数据中的目标的检测结果。

第二接口单元105用于将目标的检测结果从现场可编程门阵列单元103传输到第一图像处理单元102。在本公开的一个实施例中,第二接口单元105为诸如USB、SPI或LAN接口。

如上参照图1所述,第一图像处理单元102基于第一图像数据和经由第二接口单元105接收的目标的检测结果,生成对应于目标的编码图像数据。

具体地,裁剪子单元1022用于基于第一图像数据中的每一帧图像数据以及经由第二接口单元105接收的每一帧图像数据中的目标的检测结果,裁剪第一图像数据中的每一帧图像数据,生成仅包括目标的每一帧图像数据。第一编码子单元1023用于对从裁剪子单元1022接收的仅包括目标的每一帧图像数据执行第一编码,生成每一帧对应于目标的编码图像数据。在本公开的一个实施例中,裁剪子单元1022和第一编码子单元1023由硬件实现。第一编码子单元1023例如为视频编码器(VENC),其对仅包括目标的每一帧图像数据执行诸如联合图像专家小组(JPEG)编码的第一编码,获得一帧仅包括目标(例如,人脸)的图像。

标注子单元1024用于基于包括连续帧图像的第一图像数据以及经由第二接口单元105接收的连续帧图像的第一图像数据中每一帧图像数据中的目标的检测结果,标注包括连续帧图像的第一图像数据中每一帧图像数据中的目标。第二编码子单元1025用于对标注有所述目标的包括连续帧图像的第一图像数据执行第二编码,生成连续帧对应于目标的编码图像数据。在本公开的一个实施例中,标注子单元1024由软件实现或者由硬件实现或者由硬件结合软件实现,第二编码子单元1025硬件实现。标注子单元1024例如为视频处理子系统(VPSS),VPSS利用现场可编程门阵列单元103提供的目标(例如,人脸等)的检测结果进行画框,即标注目标的位置。第二编码子单元1025例如为视频编码器(VENC),其对于标注有目标的包括连续帧图像的第一图像数据执行诸如H.264或H.265的第二编码,生成连续帧对应于目标的编码图像数据。

数据发送单元106用于将所述目标的编码图像数据(包括第一编码子单元1023生成的仅包括目标的JPEG图像和/或第二编码子单元1025生成的标注有目标的H.264或H.265视频)通过网络传输给后端服务器(未示出)进行处理。在所述目标包括人脸的情况下,后端服务器进行的处理可以包括人脸属性分析(例如年龄分析、性别分析等)、人脸识别、人脸美颜、人脸卡通化中的至少一种。

图4和图5是进一步图示根据本公开实施例的图像处理方法的流程图。图4和图5所示的根据本公开实施例的图像处理方法40和50由如图3所示的图像处理设备30执行。如图4所示的根据本公开实施例的图像处理方法40包括以下步骤。

图4所示的步骤S401和S402分别与参照图2描述的步骤S201和S202相同,在此将省略其重复描述。

在步骤S402中获取第一图像数据之后,处理进到步骤S403。在步骤S403中,由现场可编程门阵列单元基于第一图像数据,确定第一图像数据中的目标的检测结果。此后,处理进到步骤S404。

在步骤S404中,基于第一图像数据中的每一帧图像数据以及每一帧图像数据中的目标的检测结果,裁剪每一帧图像数据,生成仅包括目标的图像数据。对于每一帧图像数据中的每个对象,通常对应裁剪出一幅图像。在本公开的一个实施例中,裁剪子单元1022基于第一图像数据中的每一帧图像数据以及每一帧图像数据中的目标的检测结果,裁剪每一帧图像数据,生成仅包括目标的每一帧图像数据。此后,处理进到步骤S405。

在步骤S405中,对仅包括目标的每一帧图像数据执行第一编码,生成每一帧对应于目标的编码图像数据。在本公开的一个实施例中,第一编码子单元1023用于对从裁剪子单元1022接收的仅包括目标的每一帧图像数据执行第一编码,生成每一帧对应于目标的编码图像数据。如上所述,裁剪子单元1022和第一编码子单元1023由硬件实现。第一编码子单元1023例如为视频编码器(VENC),其对仅包括目标的每一帧图像数据执行诸如联合图像专家小组(JPEG)编码的第一编码,获得一帧仅包括目标(例如,人脸)的图像。此后,处理进到步骤S406。

在步骤S406中,基于包括连续帧图像的第一图像数据以及包括连续帧图像的第一图像数据中每一帧图像数据中的目标的检测结果,标注包括连续帧图像的第一图像数据中每一帧图像数据中的目标。其中,标注的方式可以为添加人脸框、行人框等标示框,也可以为其他可行的方式,在此并不进行限定。在本公开的一个实施例中,标注子单元1024基于包括连续帧图像的第一图像数据以及连续帧图像的第一图像数据中每一帧图像数据中的目标的检测结果,标注包括连续帧图像的第一图像数据中每一帧图像数据中的目标。此后,处理进到步骤S407。

在步骤S407中,对标注有目标的包括连续帧图像的第一图像数据执行第二编码,生成连续帧对应于目标的编码图像数据。在本公开的一个实施例中,第二编码子单元1025对标注有所述目标的包括连续帧图像的第一图像数据执行第二编码,生成连续帧对应于目标的编码图像数据。如上所述,标注子单元1024由软件实现或者由硬件实现或者由硬件结合软件实现,第二编码子单元1025硬件实现。标注子单元1024例如为视频处理子系统(VPSS),VPSS利用现场可编程门阵列单元103提供的目标(例如,人脸)的检测结果进行画框,即标注人脸框的位置。第二编码子单元1025例如为视频编码器(VENC),其对于标注有目标的包括连续帧图像的第一图像数据执行诸如H.264或H.265的第二编码,生成连续帧对应于目标的编码图像数据。

需要理解的是,上述用于执行第一编码的步骤S404和S405以及用于执行第二编码的步骤S406和S407不必以如图4所示的顺序执行,而是可以根据需要选择执行的顺序,或者选择执行步骤S404和S405以及步骤S406和S407之一。

如图5所示的根据本公开实施例的图像处理方法50包括以下步骤。

图5所示的步骤S501和S502分别与参照图2描述的步骤S201和S202相同,在此将省略其重复描述。

在步骤S502中获取第一图像数据之后,处理进到步骤S503。在步骤S503中,经由第一接口单元将第一图像数据从第一图像处理单元传输到现场可编程门阵列单元。在本公开的一个实施例中,经由BT1120接口将第一图像数据从第一图像处理单元102传输到现场可编程门阵列单元103。此后,处理进到步骤S504。

在步骤S504中,由现场可编程门阵列单元基于第一图像数据,确定第一图像数据中的目标的检测结果。在本公开的一个实施例中,通过现场可编程门阵列单元103实现的卷积神经网络对于第一图像数据执行低比特卷积神经网络(BCNN)算法,确定第一图像数据中的目标的检测结果。此后,处理进到步骤S505。

在步骤S505中,经由第二接口单元将目标的检测结果从现场可编程门阵列单元传输到第一图像处理单元。在本公开的一个实施例中,经由USB、SPI或LAN接口将目标的检测结果从现场可编程门阵列单元103传输回第一图像处理单元102。此后,处理进到步骤S506。

在步骤S506中,由第一图像处理单元基于第一图像数据和目标的检测结果,生成对应于目标的编码图像数据。如上所述,生成对应于目标的编码图像数据包括参照图4中的步骤S404和S405描述的生成每一帧对应于目标的编码图像数据,还包括参照图4中的步骤S406和S407描述的生成连续帧对应于目标的编码图像数据。此后,处理进到步骤S507。

在步骤S507中,将目标的编码图像数据通过网络传输给后端服务器进行处理。在本公开的一个实施例中,将所述目标的编码图像数据(包括第一编码子单元1023生成的仅包括目标的JPEG图像和/或第二编码子单元1025生成的标注有目标的H.264或H.265视频)通过网络传输给后端服务器(未示出)进行处理。在所述目标包括人脸的情况下,后端服务器进行的处理包括人脸属性分析、人脸识别、人脸美颜、人脸卡通化中的至少一种。

如图3所示的根据本公开实施例的图像处理设备30以及参照图4和图5描述的根据本公开实施例的图像处理方法40和50,为从图像获取单元101采集的图像数据配置有两条数据通路:一条直接送给现场可编程门阵列单元103进行人脸检测算法的计算,然后根据现场可编程门阵列单元103返回的检测结果截取视频中的人脸部分并进行JPEG编码;另一条基于现场可编程门阵列单元103的返回的检测结果,通过VPSS、VENC等单元后输出编码后的视频码流。如此,以上两条数据通路之间耦合度低,可以根据实际的应用需要选择相应的数据通路输出。同时图像处理子单元1021(ISP芯片)内部不进行大量计算,ISP、编码、裁剪等操作直接由硬件实现,减小了系统负荷。包括第一编码子单元1023的数据通路仅仅是编码大小较小的人脸区域的图像,可以实现每秒钟编码上千张人脸,而输出的人脸图片可以直接进行人脸识别计算,使得整个人脸检测与识别过程更加方便快捷。

以下,将参照图6和图7进一步描述根据本公开实施例的图像处理设备和包括该图像处理设备的图像处理系统的实例。

图6是图示根据本公开实施例的摄像头的框图。如6所示的摄像头60为参照图1描述的根据本公开实施例的图像处理设备10和参照图3描述的根据本公开实施例的图像处理设备30的具体示例。

如图6所示,根据本公开实施例的摄像头60包括光学传感器601、第一图像处理单元602和现场可编程门阵列603。摄像头60中的光学传感器601对应于图1和图3中图示的图像获取单元101,用于采集原始图像数据。第一图像处理单元602对应于图1和图3中图示的第一图像处理单元102,并且第一图像处理单元602进一步包括图形信号处理(ISP)模块6021和中央处理单元(CPU)模块6022,其以硬件和/或软件的方式对原始图像数据执行第一图像处理,以及生成对应于目标的编码图像数据。现场可编程门阵列603对应于图1和图3中图示的现场可编程门阵列103,用于基于第一图像数据,确定第一图像数据中的目标的检测结果。

图7是图示根据本公开实施例的图像处理系统的示意图。如图7所示的图像处理系统7包括摄像头60和服务器70。摄像头60获取原始图像数据,对原始图像数据执行第一图像处理以获取第一图像数据,并且利用其中配置的现场可编程门阵列单元基于第一图像数据确定第一图像数据中的目标的检测结果,以及基于所述第一图像数据和所述目标的检测结果生成对应于所述目标的编码图像数据。摄像头60将最终获取的目标的编码图像数据(包括第一编码子单元1023生成的仅包括目标的JPEG图像和/或第二编码子单元1025生成的标注有目标的H.264或H.265视频)通过网络有线地或无线地传输给后端服务器70进行诸如人脸属性分析、人脸识别、人脸美颜、人脸卡通化中的至少一种的处理。

以上,参照图1到图7描述了根据本公开的实施例图像处理方法、图像处理设备以及图像处理系统,其中通过利用现场可编程门阵列作为协处理器实现用于目标检测的神经网络算法,使得神经网络需要的大量卷积运算使用现场可编程门阵列的并行计算能力实现,充分的并行化处理使得计算效率相比单核处理器计算有了很大的提升;此外,通过使用专门硬件进行视频流编码,同时将大规模的计算放到现场可编程门阵列上进行,减轻了主处理器芯片的负载,有效降低了卡顿的可能;前端实现快速的人脸检测后仅仅传输固定大小的人脸框编码的图片,而不是传输整个图片,减小了传输带宽,同时方便后台服务器运算;进一步地,由于现场可编程门阵列与主处理器芯片间耦合度较小,可以分别进行开发,实现了开发效率提升并且便于优化。

以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。

本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

另外,如在此使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“A、B或C的至少一个”的列举意味着A或B或C,或AB或AC或BC,或ABC(即A和B和C)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。

还需要指出的是,在本公开的系统和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。

可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本公开的权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1