人脸识别终端及系统的制作方法

文档序号:16070912发布日期:2018-11-24 13:12阅读:178来源:国知局

本发明涉及图像处理领域,更具体地涉及一种人脸识别终端及系统。

背景技术

随着人脸识别算法准确率的提升,以及终端硬件、系统的成熟,人脸识别技术已经广泛应用于各个领域。例如在安防领域,人脸识别系统对大量的视频图像进行分析、处理、比对,为智慧城市建设的大量摄像头带来了新的应用价值。

然而,当前的人脸识别系统采用后端服务器集群计算的模式,这样需要部署大规模的服务器来处理所有采集到的视频监控数据。由于回传的数据量过于庞大,会导致服务器的运行效率大大降低,并且运营维护成本也急剧增加。



技术实现要素:

本发明提供了一种人脸识别终端及系统,其中人脸识别终端可以形成一个独立的运算单元,从而能够减少网络的数据传输量,降低运营成本。

根据本发明的一方面,提供了一种人脸识别终端,包括处理器以及软件部,所述软件部包括:

系统层,实现对不同平台系统的抽象;

硬件抽象层,实现对音视频相关功能的抽象和对不同硬件平台的驱动接口抽象;

软件组件层,实现对系统内部的基础软件功能的封装;

软件业务层,实现所述终端所面向的场景业务,提供与外部设备的交互功能。

在本发明的一种实现方式中,所述软件业务层包括视频流模块、交互协议模块、系统管理模块和报警管理模块,其中:

所述视频流模块,处理音视频码流的本地录像和网络传输;

所述交互协议模块,接收外围的控制信息,处理相关命令,并统一调度分发;

所述系统管理模块,管理系统中的如下至少一种功能:网络功能、升级功能和用户权限功能;

所述报警管理模块,接收底层上报的事件并基于布控参数作相应的处理。

在本发明的一种实现方式中,所述系统内部的基础软件功能包括以下至少一种:

系统内部通信、软件定时器、配置管理。

在本发明的一种实现方式中,所述硬件抽象层包括媒体抽象子层和驱动抽象子层,其中:

所述媒体抽象子层,基于芯片的应用程序接口实现音视频编解码;

所述驱动抽象子层,实现对不同硬件平台的驱动接口抽象。

在本发明的一种实现方式中,所述不同硬件平台的驱动包括以下至少一种通用驱动:

看门狗、状态灯、双向串行线i2c和串行外设接口spi。

根据本发明的另一方面,提供了一种用于人脸识别的系统,包括上述方面或任一实现方式所述的人脸识别终端,还包括图像采集装置和远端服务器:

所述图像采集装置,负责前端视频数据/图像数据的采集;

所述人脸识别终端,负责基于所述视频数据/图像数据进行人脸识别;

所述远端服务器,负责从所述人脸识别终端接收所述人脸识别的结果。

在本发明的一种实现方式中,其中,

所述人脸识别终端,基于所述人脸识别的结果生成报警信息,并将所述报警信息发送至所述远端服务器;

所述远端服务器,从所述人脸识别终端接收所述报警信息,并基于所述报警信息执行后续处理。

在本发明的一种实现方式中,所述后续处理包括:二次人脸识别过程。

在本发明的一种实现方式中,还包括:本地计算机,负责展示与所述人脸识别装置相关的信息。

在本发明的一种实现方式中,所述人脸识别终端与所述远端服务器通过互联网进行通信。

由此可见,本发明实施例中的人脸识别终端可以形成一个独立的运算单元,其小巧轻便,能够减少传输到远端服务器中的数据量,减轻网络传输、服务器计算以及系统维护的成本和压力。

附图说明

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

图1是本发明实施例的电子设备的一个示意性框图;

图2是本发明实施例的人脸识别终端的软件部的一个示意性框图;

图3是本发明实施例的人脸识别终端的软件部的一个较为详细的模块化设计的结构框图;

图4是本发明实施例的人脸识别系统的一个示意性框图;

图5是本发明实施例的人脸识别系统的一个示意图。

具体实施方式

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

本发明实施例可以应用于电子设备,图1所示为本发明实施例的电子设备的一个示意性框图。图1所示的电子设备10包括一个或多个处理器102、一个或多个存储装置104、输入装置106、输出装置108、图像传感器110以及一个或多个非图像传感器114,这些组件通过总线系统112和/或其它形式互连。应当注意,图1所示的电子设备10的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。

所述处理器102可以包括中央处理单元(centralprocessingunit,cpu)1021和图形处理单元(graphicsprocessingunit,gpu)1022或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,例如现场可编程门阵列(field-programmablegatearray,fpga)或进阶精简指令集机器(advancedrisc(reducedinstructionsetcomputer)machine,arm)等,并且处理器102可以控制所述电子设备10中的其它组件以执行期望的功能。

所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器1041和/或非易失性存储器1042。所述易失性存储器1041例如可以包括随机存取存储器(randomaccessmemory,ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器1042例如可以包括只读存储器(read-onlymemory,rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现各种期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。

所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。

所述输出装置108可以向外部(例如用户)输出各种信息(例如图像或声音),并且可以包括显示器、扬声器等中的一个或多个。

所述图像传感器110可以拍摄用户期望的图像(例如照片、视频等),并且将所拍摄的图像存储在所述存储装置104中以供其它组件使用。

当注意,图1所示的电子设备10的组件和结构只是示例性的,尽管图1示出的电子设备10包括多个不同的装置,但是根据需要,其中的一些装置可以不是必须的,其中的一些装置的数量可以更多等等,本发明对此不限定。

为了能够减少传输至服务器的数据量,本发明实施例提供了一种人脸识别终端,能够在前端进行人脸识别等功能,稳定性高、实时性强,能够满足各种复杂的应用场景。

图2是本发明实施例的人脸识别终端的软件部的一个示意性框图。人脸识别终端可以包括处理器以及软件部,其中图2所示的软件部200包括系统层210、硬件抽象层220、软件组件层230和软件业务层240。

系统层210,实现对不同平台系统的抽象;

硬件抽象层220,实现对音视频相关功能的抽象和对不同硬件平台的驱动接口抽象;

软件组件层230,实现对系统内部的基础软件功能的封装;

软件业务层240,实现所述终端所面向的场景业务,提供与外部设备的交互功能。

可理解,这种模块化的设计是基于稳定性、实时性的要求。具体地,该模块化的设计结构可以如图3所示。

系统层可以实现对于不同系统平台的抽象,解决了当前一些方案系统切换后无法平滑适配,兼容性差的问题。作为一例,如图3中所述的linux。

硬件抽象层可以实现对底层音视频相关功能的抽象以及对不同硬件平台的驱动接口抽象,硬件抽象的主要目的是实现接口的平台无关化,以确保整体较好的可移植性。

示例性地,硬件抽象层可以包括媒体抽象子层和驱动抽象子层。其中,媒体抽象子层主要是基于芯片的应用程序接口实现音视频编解码,主要包含:视频编码、视频解码、图像编码、图像解码等等。编/解码是对视频或图像进行压缩/解压缩的过程。其中,芯片的应用程序接口可以与该芯片的生产厂商有关,不同厂商的应用程序接口可以相同或不同。

驱动抽象子层实现对不同硬件平台的驱动接口抽象。也就是说,驱动抽象子层(也可以称为驱动接口子层)主要是一些通用驱动(也可以称为基础驱动)的实现,主要包含:看门狗、状态灯、双向串行线(inter-integratedcircuit,i2c)、串行外设接口(serialperipheralinterface,spi)等等。可理解,通用驱动也可以包括此处未列出的其他驱动,诸如图3中所示出的复位,本发明对此不限定。

另外,可选地,硬件抽象层还可以包括厂商信息,如图3所示的英伟达。

软件组件层实现对系统内部通信、软件定时器、配置管理等基础软件功能的封装,主要目的是为软件业务层提供模块间通信的方法,以及统一的调用接口。另外,如图3所示,软件组件层还实现识别算法等功能。通过系统内部通信,对视频/图像进行人脸识别。具体地,可以由人脸识别终端的处理器调用该软件部200的软件服务层中的识别算法,对软件业务层所获取的视频/图像中的人脸数据进行人脸识别。本发明实施例对人脸识别的具体过程不做限定,例如,可以通过计算视频/图像中的人脸与底库人脸之间的相似度来判断是否属于同一人。

软件业务层包括视频流模块、交互协议模块、系统管理模块和报警管理模块。其中:

视频流模块负责处理音视频码流的本地录像和网络传输,其下层为经过封装或处理的音视频数据采集接口。实现要求做到与控制接口的无关,提供通用的数据传输接口。

交互协议模块负责接收外围的控制信息,处理相关命令,并统一调度分发。实现要求做到协议的可扩展性,提供通用的命令处理接口。

系统管理模块负责管理系统中的如下至少一种功能:网络功能、升级功能和用户权限功能。实现要求做到接口清晰易用。

报警管理模块负责接收底层上报的事件并基于布控参数作相应的处理。实现要求支持多模块通信,并支持多种报警和动作的联动。

由此可见,本发明实施例中的人脸识别终端可以形成一个独立的运算单元,其小巧轻便,能够回避网络不稳定、网络带宽受限等因素所造成的数据丢失问题。

示例性地,如图3所示,该软件部200能够通过各种协议使得人脸识别终端与其他设备进行数据传输等。例如,所使用的协议可以为实时流传输协议(realtimestreamingprotocol,rtsp)、超文本传输协议(hypertexttransferprotocol,http)等。其他设备诸如摄像机、浏览器、客户端等。

rtsp,rfc2326,是tcp/ip协议体系中的一个应用层协议。该协议用于c/s模型,是一个基于文本的协议,用于在客户端和服务器端建立和协商实时流会话。也就是说,rtsp是应用级协议,控制实时数据的发送。rtsp提供了一个可扩展框架,使实时数据,如音频与视频的受控点播成为可能。数据源包括现场数据与存储在剪辑中数据。该协议目的在于控制多个数据发送连接,为选择发送通道,如udp、组播udp与tcp,提供途径,并为选择基于rtp上发送机制提供方法。rtsp建立并控制一个或几个时间同步的连续流媒体。尽管连续媒体流与控制流交换是可能的,通常它本身并不发送连续流。换言之,rtsp充当多媒体服务器的网络远程控制。rtsp连接没有绑定到传输层连接,如tcp。在rtsp连接期间,rtsp用户可打开或关闭多个对服务器的可传输连接以发出rtsp请求。此外,可使用无连接传输协议,如udp。rtsp流控制的流可能用到rtp,但rtsp操作并不依赖用于携带连续媒体的传输机制。

http是一个客户端和服务器端请求和应答的标准(tcp)。客户端是终端用户,服务器端是网站。通过使用web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口的http请求。

参照图3,人脸识别终端可以采用rtsp从图像采集装置获取视频流或图像,例如可以是由图像采集装置实时采集的数据。随后,可以对视频流或图像进行编/解码,采用人脸识别算法进行人脸识别。具体地,可以将视频流或图像中的人脸与底库人脸进行比对。可以基于人脸识别的结果生成报警信息,并将该报警信息通过http发送至例如浏览器或客户端。

图4是本发明实施例的用于人脸识别的系统的示意性框图。图4所示的系统包括:人脸识别终端20、图像采集装置30和远端服务器40。

图像采集装置30,负责前端视频数据/图像数据的采集;

人脸识别终端20,负责基于所述视频数据/图像数据进行人脸识别;

远端服务器40,负责从所述人脸识别终端接收所述人脸识别的结果。

图像采集装置30可以为抓拍机或摄像机。抓拍机可以抓拍人脸图像或视频,例如,可以基于触发条件进行抓拍,该触发条件可以是周期或检测到人脸。抓拍机可以每隔一定时长(周期)抓拍一张图像或一定时长(如1s或2s等)的视频;或者,抓拍机可以在实时检测到存在人脸时抓拍一张图像或一定时长(如1s或2s等)的视频;本发明对此不限定。摄像机可以处于常开状态,并拍摄其范围内的视频流。本发明实施例中,图像采集装置30可以将采集到的图像/视频发送至人脸识别终端20,其中,视频可以是h.264格式的视频。

人脸识别终端20可以从图像采集装置30获取人脸数据(图像或视频)。在硬件设计上,人脸识别终端20的处理器可以是基于tegrax1开发的高性能人工智能算法处理器,具有teraflops级的浮点计算能力,能够流畅运行人脸识别算法,可实时解析多路图像采集装置30所采集的人脸数据,例如,如图5所示,一台人脸识别终端20可以实时解析1-2路普通摄像机或4-6路抓拍机的图像数据。

人脸识别终端20可以对人脸数据进行分析,如进行解码、人脸识别、底库比对、报警、存储等一系列功能。举例来说,人脸识别终端20可以存储人脸数据并可选地在此之后可以将所存储的人脸数据发送至远端服务器40。人脸识别终端20可以采用人脸识别模型判断人脸数据中的人脸是否为底库人脸之一。例如,在安防领域,底库人脸可以是通缉犯的人脸,若确定人脸数据中的人脸为底库人脸之一,可以生成报警信息,并将该报警信息及时发送至远端服务器40。进而,安防人员可以基于该报警信息实施抓捕等。

另外,人脸识别终端20还可以进行前端设备管理、底库管理、设备管理和权限管理等。由于人脸识别终端20可以解析多路图像采集装置30所采集的人脸数据,因此其可以对多路图像采集装置30进行前端设备管理,也就是说,这里的前端设备是指图像采集装置30。底库中的底库人脸可以根据需要进行更新,例如增加、删减等操作,从而实现底库管理。对人脸识别终端20自身的设备管理可以包括对其软件的更新等。权限管理包括哪些用户对人脸似别终端20执行哪种级别的操作等。

示例性地,可以经由本地个人计算机(personalcomputer,pc)实现前端设备管理、底库管理、设备管理和权限管理等。具体地,用户可以通过本地pc进行输入/输出操作,从而实现上述各项管理功能。另外,本地pc具有显示屏幕,其还可以实时呈现人脸识别终端20的人脸识别过程,例如将图像采集装置30所采集的人脸图像与底库人脸图像同时呈现在显示屏幕上,以便本地pc的用户实时查看。该显示屏幕还可以实时呈现报警信息,以便本地pc的用户实时查看。

本发明实施例中,本地pc可以同时连接一台或多台人脸识别终端20,如图5所示,本地pc同时连接三台人脸识别终端20。人脸识别终端20与本地pc之间的连接可以是有线连接或无线连接。例如,可以支持sd、usb等存储介质。例如,可以支持wifi等无线网络传输等。基于此,本地pc可以随时获取并导出人脸识别终端20中所存储的信息。

在功能设计上智能人像识别终端可以对实时监控视频中出现的目标进行人脸检测、人脸抓拍、人脸建模特征值提取,并结合实际业务应用实现人脸的黑、白名单比对实时报警等业务功能。

举例来说,以车载场景为例,如巡逻警车车载箱、公交、营运大巴车载箱、室外监控立杆设备箱等,一部车可以布置一台本地pc、至少一台人脸识别终端以及至少一个图像采集装置。且一般地,图像采集装置的数量可以大于或等于人脸识别终端的数量。

远端服务器40可以从人脸识别终端20接收人脸识别的结果,例如,改进结果指示:哪一个图像采集装置所采集的哪一段视频/图像中的哪一个人脸与底库人脸中的哪一个属于同一人的概率(或相似度)为多大。例如,人脸识别终端与远端服务器可以通过互联网进行通信。人脸识别终端20可以通过移动网络,将人脸识别的结果发送至远端服务器40。另外,人脸识别终端20还可以将报警信息发送至远端服务器40,其中关于该报警信息可以如上述所示,这里不再赘述。

示例性地,远端服务器40可以基于该报警信息进行后续处理。例如,在安防领域,若确定图像采集装置所采集的人脸为通缉人员,可以由安防人员据此实施抓捕。例如,若需进一步确认,则远端服务器40可以进行二次人脸识别过程。考虑到远端服务器40中的算法可以更复杂更准确,可以在远端服务器40再次进行人脸识别,以重新计算图像采集装置所采集的人脸与底库人脸之间的相似度,从而确定是否属于同一人。由此,可以提高处理精度,防止误判。

由此可见,本发明实施例中的人脸识别终端属于小巧的计算单元,可以灵活应用在各种移动侦查设备中,能够随时随地获取图像采集装置采集的人脸数据,进行人脸识别并实时地发送报警信息,基于此,能够减少传输到远端服务器中的数据量,减轻网络传输、服务器计算以及系统维护的成本和压力。在城市重大活动日趋密集重点场景日益增加的今天,这种前端临时布控正在逐渐成为警务工作的重要能力,并且具备适应各种复杂环境的能力。

尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(digitalsignalprocessing,dsp)来实现根据本发明实施例的物品分析设备中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。

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