识别系统智能提速的方法、系统、装置和设备与流程

文档序号:18198360发布日期:2019-07-17 06:00阅读:170来源:国知局
识别系统智能提速的方法、系统、装置和设备与流程

本申请涉及识别技术,尤其涉及对识别系统的智能提速。



背景技术:

近年来,识别技术被越来越多地使用在各个领域中。识别技术可包括例如人脸识别、指纹识别、虹膜识别、红外识别、刷卡等等。

现有技术的识别系统中,算法的运行高度依赖于硬件。例如,人脸识别系统经常使用安装在计算机上的人脸检测系统,其摄像头界面不甚流畅,并且也不能智能地或自适应地对摄像头和/或各种算法对cpu的使用频率等进行任何控制。此类对资源的不合理使用会带来各种问题,例如资源浪费、软件运行速度过低、用户体验不良等。

因此,本领域中需要改进的方案来实现对识别技术的智能提速。



技术实现要素:

本公开的一方面涉及一种识别系统的智能提速的方法,包括基于用户提供的信息识别用户身份;由摄像头线程控制摄像头来获取所述用户的用户图像并实时采集所述摄像头线程的资源使用数据;由人脸检测线程使用人脸检测算法在所述用户图像中检测所述用户的人脸并实时采集所述人脸检测线程的资源使用数据;由特征提取线程使用特征提取算法基于所述用户图像和所述人脸检测结果来进行特征提取并实时采集所述特征提取线程的资源使用数据;基于所述用户身份从人像权威机构获取关联于所述用户身份的人像底图;由特征比对线程使用特征比对算法对所述人像底图和经特征提取的所述用户图像进行特征比对并实时采集所述特征比对线程的资源使用数据;基于实时采集的所述摄像头线程、所述人脸检测线程、所述特征提取线程和所述特征比对线程的资源使用数据,使用模型来实时优化所述摄像头线程、所述人脸检测线程、所述特征提取线程和所述特征比对线程对所述识别系统的资源使用;以及若所述用户图像的特征与所述人像底图相匹配,则认为所述用户符合所述用户身份。

根据一示例性而非限定性实施例,基于实时采集的所述摄像头线程、所述人脸检测线程、所述特征提取线程和所述特征比对线程的资源使用数据,使用模型来实时优化所述摄像头线程、所述人脸检测线程、所述特征提取线程和所述特征比对线程对所述识别系统的资源使用进一步包括确定所述摄像头线程、所述人脸检测线程、所述特征提取线程和所述特征比对线程对所述识别系统的资源使用是否合理;以及若所述摄像头线程、所述人脸检测线程、所述特征提取线程和所述特征比对线程中的至少一者对所述识别系统的资源使用不合理,则使用所述模型来调整所述至少一者对所述识别系统的资源使用。

根据另一示例性而非限定性实施例,该方法进一步包括,若所述摄像头线程、所述人脸检测线程、所述特征提取线程和所述特征比对线程中的所述至少一者对所述识别系统的资源使用不合理,则除了使用所述模型来调整所述至少一者对所述识别系统的资源使用以外,还按需使用所述模型来相应地调整所述摄像头线程、所述人脸检测线程、所述特征提取线程和所述特征比对线程中的一个或多个其它线程对所述识别系统的资源使用。

根据又一示例性而非限定性实施例,所述摄像头线程的资源使用数据包括视频帧读取时间和所述摄像头线程对cpu的使用率。

根据再一示例性而非限定性实施例,所述人脸检测线程的资源使用数据包括所述人脸检测算法的计算时间和所述人脸检测线程对cpu的使用率。

根据又一示例性而非限定性实施例,所述特征提取线程的资源使用数据包括所述特征提取算法的计算时间和所述特征提取线程对cpu的使用率。

根据另一示例性而非限定性实施例,所述特征比对线程的资源使用数据包括所述特征比对算法的计算时间和所述特征比对线程对cpu的使用率。

根据进一步的示例性而非限定性实施例,基于实时采集的所述摄像头线程、所述人脸检测线程、所述特征提取线程和所述特征比对线程的资源使用数据,使用模型来实时优化所述摄像头线程、所述人脸检测线程、所述特征提取线程和所述特征比对线程对所述识别系统的资源使用进一步包括基于实时采集的所述摄像头线程、所述人脸检测线程、所述特征提取线程和所述特征比对线程的资源使用数据,使用所述模型来计算所述摄像头线程、所述人脸检测线程、所述特征提取线程和所述特征比对线程各自合适的睡眠参数,并通过所述合适的睡眠参数来控制相应线程对cpu的使用率。

根据另一示例性而非限定性实施例,该方法进一步包括将实时采集的所述摄像头线程、所述人脸检测线程、所述特征提取线程和所述特征比对线程的资源使用数据录入日志;以及基于所述日志来训练所述模型。

根据进一步的示例性而非限定性实施例,该方法进一步包括在基于所述日志来训练所述模型之前,对所述日志进行归类、筛选和归一化,并且基于所述日志来训练所述模型进一步包括使用经归一化的日志来训练所述模型。

根据再一示例性而非限定性实施例,对所述日志进行归类包括将所述日志归为合理的资源使用或不合理的资源使用。

根据又一示例性而非限定性实施例,对所述日志进行筛选包括保留同一个时间段的数据并去除多余数据。

根据另一示例性而非限定性实施例,对所述日志进行归一化包括将资源使用率格式化到[0,1]之间。

本申请还涉及相应的识别系统、识别系统的智能提速的装置、设备及计算机可读介质。

附图说明

图1示出了现有技术的使用识别系统的场景的示意图。

图2示出了根据本公开一示例性方面的特征实时提取流程的流图。

图2a示出了根据本公开一示例性方面的用于特征实时提取的智能提速模型。

图3示出了根据本公开一示例性实施例的特征本地比对方法的流程图。

图3a示出了根据本公开一示例性方面的用于特征本地比对的智能提速模型。

图4示出根据本公开的一方面的确定合适阈值的方法的流程图。

图5示出了根据本公开一示例性实施例的使用日志来训练模型的方法的流程图。

图6示出了根据本公开一示例性实施例的对识别技术的智能提速设备。

图7示出了根据本公开一示例性方面的使用识别系统的场景的示意图。

具体实施方式

为了更好地理解本发明的技术方案,下面结合附图对本申请的实施例进行详细描述。

应当明确,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例的罗列。基于本公开中描述的实施例,本领域普通技术人员在没有付出创造习惯劳动的情况下所获得的所有其他变化例都属于本申请的保护范围。

本公开的一方面涉及一种对识别技术的智能提速方案。该智能提速方案可基于机器学习来确定系统的资源使用是否合理,并且在不合理的情况下,基于机器学习来优化系统的资源使用。基于机器学习的该智能提速方案可涉及模型训练和模型使用。

根据示例性方面,模型训练可涉及例如在实时的识别过程中记录系统的资源使用参数。根据一示例性实施例,例如可记录各个线程的资源使用参数。例如,可记录各个线程的运行时间以及对cpu的使用率等。例如,模型训练还可涉及将所记录的系统参数录入日志以用于初始或后续使用日志来进行模型训练。该模型可以是任何机器学习模型,例如大数据挖掘模型、神经网络等等。如所可知,cpu使用率仅仅是资源使用参数的一个示例。本公开的方案并不被限定于cpu使用率,而是可适用于其它系统资源,诸如但不限于内存、总线、缓存、显示器等等。

根据另一示例性方面,模型使用则可涉及实时确定反映系统的资源使用的数据。例如,实时确定反映系统的资源使用的数据可包括设置本地埋点以识别系统的资源使用问题。系统的资源使用问题可包括例如对cpu的使用率是否过高/过低、运行时间是否过长等。埋点是数据采集领域的术语,其可指针对特定事件进行捕获、处理和发送的相关技术及其实施过程。基于埋点所采集到的数据,模型可以确定系统的资源使用是否合理。

模型使用可进一步涉及当确定系统当前的资源使用有问题后,通过使用经训练的模型,来给出改进的资源使用方案。例如,确定改进的资源使用方案可包括确定合适的cpu使用率、合适的运行时间等。系统可基于改进的资源使用方案来调整系统的运行。例如,系统可以相应地调节cpu使用率、合适的运行时间等等或其任何组合。

例如,对于线程而言,通常系统通过使用sleep(睡眠)方法来暂停当前的线程。被暂停的线程不需要cpu的执行时间,从而系统会将cpu的执行时间分配给其它线程。因此,通过控制sleep参数,就能够控制线程对cpu的使用(例如,使用率)。由此,当基于模型识别出特定线程对cpu的使用率不合理时,可基于模型确定合理的cpu使频率,并通过动态地调整该线程的sleep参数来达到对于该线程而言合理的cpu使频率。

sleep参数的调整仅仅是示例。如本领域普通技术人员所知,也可以通过其它各种手段来控制和调整系统的资源使用。例如,控制线程对cpu的使用频率还可以使用wait、block等方法。又如,可以通过程序来控制线程的计算频率(例如,单位时间的计算笔数)等。本发明在此方面并不受限定。

图1示出了现有技术的使用识别系统100的场景的示意图。例如,在铁路自动闸机口,乘客应当将身份证或车票放在识别器102上。识别器102识别出乘客身份,并从数据库检索出与该乘客身份对应的照片底图及相关联的信息。摄像头104拍摄乘客的图像。系统100将摄像头104所拍摄到的图像显示到显示器106上,并检测该图像中的人脸。处理器对所检测到的人脸进行特征提取,并将经特征提取的人脸与所识别出的照片底图中的人脸特征进行比对并确定是否两者是否属于同一人。若是,则系统100指令闸机108开门放行。若否,则系统指令报警。

通常,摄像头104的拍摄、显示器106的显示、以及系统100对人脸的检测以及特征的提取涉及相对固定或默认的资源使用。例如,摄像头104可能使用默认的分辨率进行拍摄,显示器106可能使用默认的渲染频率进行显示,系统100可能使用默认的cpu频率、算法计算频率等来进行人脸检测和/或特征提取等等。这导致此类人脸检测系统显示器106的显示界面往往不流畅,并且人脸检测和特征提取的运行速度高度依赖于硬件。

例如,当环境条件(例如,光照等)或人流状况等发生变化时,最优的摄像头频率可能发生动态的变化。同样,人脸检测算法和/或特征提取算法的最优频率也会发生相应的动态变化。

图2示出了根据本公开一示例性方面的特征实时提取流程200的流图。如图所示,该系统中可例如涉及主线程、摄像头子线程1、人脸检测子线程2以及特征提取子线程3。

在框202,主线程可启动。在框204,主线程可启动摄像头。在框211,摄像头子线程1可打开摄像头并启动摄像头线程,并且还可初始化该子线程1的sleep参数等。在框206,主线程可启动人脸检测。在框221,人脸检测子线程2可初始化人脸检测算法并启动检测线程,并且还可初始化该子线程2的sleep参数等。在框208,主线程可启动特征提取。在框231,特征提取子线程3可初始化特征提取算法并启动特征提取线程,并且还可初始化该子线程3的sleep参数等。如所可知,本公开并不受子线程启动的次序所限,也并不受所涉及的子线程的类型及用于控制相应子线程的资源使用的手段所限制。

在框212,摄像头子线程1可获取视频帧。在框213,摄像头子线程1可将视频帧传递给人脸检测子线程2,从而人脸检测子线程2的检测队列长度+1。在框214,摄像头子线程1可对视频帧进行界面绘制。在框215,摄像头子线程1收集线程的资源使用参数。例如,资源使用参数可包括cpu使用率、视频帧读取时间等或其任何组合。根据一示例,摄像头子线程1收集视频帧读取时间及cpu使用率后可将这些资源使用参数录入日志。在框216,摄像头子线程1可例如基于sleep参数来实时控制摄像头子线程1的资源使用(例如,对cpu的使用率)。根据一示例性而非限定性的实施例,摄像头子线程1的sleep参数可如下文所描述地来确定。

在框222,人脸检测子线程2可检测该检测队列长度是否小于1。检测队列的初始长度例如可为0。若确定检测队列的长度小于1(即,隐含的“是”分支),则人脸检测子线程2可以自动等待。当队列长度不小于1(即,大于或等于1)时(即,“否”分支),人脸检测子线程2可在框223对视频帧进行人脸检测。

在框224,人脸检测子线程2可将人脸检测结果和视频帧传递给特征提取算法3,从而特征提取算法3的提取队列长度+1。在框225,人脸检测子线程2可清空检测队列。在框226,人脸检测子线程2可收集系统资源使用参数,诸如人脸检测算法对cpu的使用率以及人脸检测算法计算时间等参数。根据一示例,人脸检测子线程2收集人脸检测算法的计算时间以及对cpu的使用率等参数后可将这些系统资源使用参数录入日志。在框227,人脸检测子线程2可例如基于sleep参数来实时控制人脸检测子线程2的资源使用(例如,对cpu的使用率)。

在框232,特征提取子线程3确定提取队列的长度是否小于1。提取队列的初始长度例如可为0。若确定提取队列的长度小于1(即,隐含的“是”分支),特征提取子线程3可以自动等待。当队列长度不小于1(即,大于或等于1)时(即,“否”分支),在框233,特征提取子线程3进行特征提取,并将所提取到的特征保存到本地。在框234,特征提取子线程3可收集系统资源使用参数,诸如特征提取时间以及cpu使用率等参数。根据一示例,特征提取子线程3收集特征提取时间以及cpu使用率等参数可包括将这些系统使用参数录入日志。在框235,特征提取子线程3例如基于sleep参数来实时控制特征提取子线程3的资源使用(例如,对cpu的使用率)。

尽管以上结合图1将主线程与各子线程(例如,摄像头子线程1、人脸检测子线程2和特征提取子线程3)描述为并行运行,但是本公开并不受此所限。例如,主线程与各子线程的运行可被串行化。

尽管以上结合sleep参数来描述控制各线程对cpu的使用率,但是本领域普通技术人员应理解,本公开并不被限定于cpu这一资源,并且也不被限定于sleep参数这一控制系统对资源的使用的手段。根据进一步的示例性而非限定性的实施例,各线程之间对资源使用的调整和控制可以是联动的。例如,当其中一个或多个线程的cpu使用率过高而被调整后,若有需要,可以相应地提高其余一个或多个线程的cpu使用率,从而使得整个系统达到更高的工作效率。

尽管以上结合人脸检测来描述了图1的流程100,但是可领会,本公开在此方面并不受限定。例如,图1的流程也可被用于人脸识别、指纹识别、虹膜识别、红外识别、刷卡等等场景。

图2a示出了根据本公开一示例性方面的用于特征实时提取流程中的智能提速模型。该特征实时提取流程可以是例如以上结合图1描述的特征实时提取流程200。

图2a中的(a)示出了根据一示例性实施例的摄像头子线程提速模型。例如,该模型的横轴可代表例如视频帧读取时间,而该模型的纵轴可代表例如摄像头子线程对cpu的使用率。应领会,这仅仅是示例性的实施例。根据本公开的摄像头子线程提速模型并不被限定于此。如所可见,根据该示例性模型,在线1之下并在线2之上的点被分类为合理,而在线1之上或在线2之下的点被分类为不合理。如所可知,图2的(a)中所示的摄像头子线程提速模型仅是示例而不对本公开构成任何限定,本公开的摄像头子线程提速模型可基于具体的应用场景、识别系统、具体的各个线程、所使用的各种资源等或其任何组合而具有不同的、其他的复杂分类形式、分类数量等。

根据一示例,当在图2的特征实时提取流程200中的摄像头子线程1的例如框215中,收集到资源使用参数(例如,在本例中为视频读取时间和cpu使用率),则可在框216中用例如图2a的(a)中所示的摄像头子线程提速模型来对其进行分类。如果分类结果为资源使用合理(例如,cpu使用率合适),则保持例如原来的资源使用(例如,仍保持对cpu的使用率等)。否则,如果分类结果为资源使用不合理(例如,对cpu的使用率过高/过低等),则相应地调节对资源的使用(例如,降低/提高cpu使用率等)。如所可理解,cpu使用率作为资源使用的示例。根据本公开的摄像头子线程提速并不被限定于此。例如,摄像头子线程1中所涉及的资源使用还可包括对诸如但不限于内存、总线、缓存、显示器等的使用。

根据另一示例,当在图2的特征实时提取流程200中的摄像头子线程1的例如框215中,收集到资源使用参数(例如,在本例中为视频读取时间和cpu使用率)并将其录入日志后,也可使用其来训练例如图2a的(a)中所示的摄像头子线程提速模型,这将在以下结合图5来进一步描述。如所可理解,cpu使用率作为资源使用的示例。根据本公开的摄像头子线程提速并不被限定于此。例如,摄像头子线程1中所涉及的资源使用还可包括对诸如但不限于内存、总线、缓存、显示器等的使用。

图2a中的(b)示出了根据一示例性实施例的人脸检测子线程提速模型。例如,该模型的横轴可代表算法计算时间,而该模型的纵轴可代表例如人脸检测子线程2对cpu的使用率。应领会,这仅仅是示例性的实施例。根据本公开的人脸检测子线程提速模型并不被限定于此。如所可见,根据该示例性模型,在线1之下并在线2之上的点被分类为合理,而在线1之上或在线2之下的点被分类为不合理。如所可知,图2的(b)中所示的人脸检测子线程提速模型仅是示例而不对本公开构成任何限定,本公开的人脸检测子线程提速模型可基于具体的应用场景、识别系统、具体的各个线程、所使用的各种资源等或其任何组合而具有不同的、其他的复杂分类形式、分类数量等。

根据一示例,当在图2的特征实时提取流程200中的人脸检测子线程2的例如框226中,收集到资源使用参数(例如,在本例中为算法计算时间和cpu使用率),则可在框227中用例如图2a的(b)中所示的人脸检测子线程提速模型来对其进行分类。如果分类结果为资源使用合理(例如,cpu使用率合适),则保持例如原来的资源使用(例如,仍保持对cpu的使用率等)。否则,如果分类结果为资源使用不合理(例如,对cpu的使用率过高/过低等),则相应地调节对资源的使用(例如,降低/提高cpu使用率等)。如所可理解,cpu使用率作为资源使用的示例。根据本公开的人脸检测子线程提速并不被限定于此。例如,人脸检测子线程2中所涉及的资源使用还可包括对诸如但不限于内存、总线、缓存、显示器等的使用。

根据另一示例,当在图2的特征实时提取流程200中的人脸检测子线程2的例如框226中,收集到资源使用参数(例如,在本例中为视频读取时间和cpu使用率)并将其录入日志后,也可使用其来训练例如图2a的(b)中所示的人脸检测子线程提速模型,这将在以下结合图5来进一步描述。如所可理解,cpu使用率作为资源使用的示例。根据本公开的摄像头子线程提速并不被限定于此。例如,人脸检测子线程2中所涉及的资源使用还可包括对诸如但不限于内存、总线、缓存、显示器等的使用。

图2a中的(c)示出了根据一示例性实施例的特征提取子线程提速模型。例如,该模型的横轴可代表特征提取时间,而该模型的纵轴可代表例如特征提取算法对cpu的使用率。应领会,这仅仅是示例性的实施例。根据本公开的特征提取子线程提速模型并不被限定于此。如所可见,根据该示例性模型,在线1之下并在线2之上的点被分类为合理,而在线1之上或在线2之下的点被分类为不合理。如所可知,图2的(c)中所示的特征提取子线程提速模型仅是示例而不对本公开构成任何限定,本公开的特征提取子线程提速模型可基于具体的应用场景、识别系统、具体的各个线程、所使用的各种资源等或其任何组合而具有不同的、其他的复杂分类形式、分类数量等。

根据一示例,当在图2的特征实时提取流程200中的特征提取子线程3的例如框234中,收集到资源使用参数(例如,在本例中为特征提取时间和cpu使用率),则可在框235中用例如图2a的(c)中所示的特征提取子线程提速模型来对其进行分类。如果分类结果为资源使用合理(例如,cpu使用率合适),则保持例如原来的资源使用(例如,仍保持对cpu的使用率等)。否则,如果分类结果为资源使用不合理(例如,对cpu的使用率过高/过低等),则相应地调节对资源的使用(例如,降低/提高cpu使用率等)。如所可理解,cpu使用率作为资源使用的示例。根据本公开的特征提取子线程提速并不被限定于此。例如,特征提取子线程3中所涉及的资源使用还可包括对诸如但不限于内存、总线、缓存、显示器等的使用。

根据另一示例,当在图2的特征实时提取流程200中的特征提取子线程3的例如框234中,收集到资源使用参数(例如,在本例中为特征提取时间和cpu使用率)并将其录入日志后,也可使用其来训练例如图2a的(c)中所示的特征提取子线程提速模型,这将在以下结合图5来进一步描述。如所可理解,cpu使用率作为资源使用的示例。根据本公开的摄像头子线程提速并不被限定于此。例如,特征提取子线程3中所涉及的资源使用还可包括对诸如但不限于内存、总线、缓存、显示器等的使用。

图2a的各示例性提速模型及其具体分类仅是提速模型的示例,本发明并不被限定于此,而是可根据具体的线程及其资源使用而有不同的实现。

图3示出了根据本公开一示例性实施例的特征比对方法300的流程图。在框302,启动比对。在框304,获取人像权威机构的底图。例如,人像权威机构可以是公安网或其它权威机构,而获取人像权威机构的底图可包括传入公安网的图片等。在框306,对从人像权威机构所获取的人像底图进行特征提取。在框308,将从人像权威机构所获取的人像底图与本地实时采集的人像进行特征比对。本地实时采集的人像的特征可例如使用如结合图2所描述的特征实时提取流程200来采集。根据一示例性而非限定性实施例,框308的特征比对可采用特征比对线程,并且在框308的比对过程中,系统收集资源使用参数,诸如特征比对算法的计算时间和cpu使用率等。系统可将这些资源使用参数录入日志。系统还可使用所收集到的资源使用参数来训练模型。另一方面,系统可使用特征比对线程提速模型来计算系统的改进资源使用方案,包括例如优化特征比对流程对cpu的使用率等。系统可使用经优化的资源使用方案来使用资源以提高系统效率和用户体验。这将在以下结合图3a来详述。

在框310,确定是否通过比对。如果框310的确定结果为是,则在框312返回成功的比对结果。如果框310的确定结果为否,则在框314确定是否超时。若未超时,则回到框308继续进行比对。继续进行比对可包括例如重新获取用户的本地图像,和/或使用更高级别的特征提取和/或特征比对算法等或其任何组合。若已超时,则转到框312返回失败的比对结果。方法300在框316结束。

尽管以上结合人像比对描述了人脸特征的本地比对方法300,但是本公开在此方面并不受限定。例如,图3的流程也可被用于指纹比对、虹膜比对、红外比对、刷卡等等场景。图3的流程也可被用于远程比对,其中比对可在远程服务器处等进行,并且比对结果可被返回给本地系统。

图3a示出了根据本公开一示例性实施例的特征比对线程提速模型。例如,该模型的横轴可代表例如线程运行时间,而该模型的纵轴可代表例如特征比对线程对cpu的使用率。应领会,这仅仅是示例性的实施例。根据本公开的特征比对线程提速模型并不被限定于此。如所可见,根据该示例性模型,在线1之下并在线2之上的点被分类为合理,而在线1之上或在线2之下的点被分类为不合理。如所可知,图3中所示的特征比对线程提速模型仅是示例而不对本公开构成任何限定,本公开的特征比对线程提速模型可基于具体的应用场景、识别系统、具体的各个线程、所使用的各种资源等或其任何组合而具有不同的、其他的复杂分类形式、分类数量等。

根据一示例,当在图3的特征比对方法300中收集到资源使用参数(例如,在本例中为线程运行时间和cpu使用率),则可在框308中用例如图3a中所示的特征比对线程提速模型来对其进行分类。如果分类结果为资源使用合理(例如,cpu使用率合适),则保持例如原来的资源使用(例如,仍保持对cpu的使用率等)。否则,如果分类结果为资源使用不合理(例如,对cpu的使用率过高/过低等),则相应地调节对资源的使用(例如,降低/提高cpu使用率等)。如所可理解,cpu使用率作为资源使用的示例。根据本公开的特征比对线程提速并不被限定于此。例如,特种比对线程中所涉及的资源使用还可包括对诸如但不限于内存、总线、缓存、显示器等的使用。

根据另一示例,当在图3的特征比对方法300中,收集到资源使用参数(例如,在本例中为线程运行时间和cpu使用率)并将其录入日志后,也可使用其来训练例如图3a中所示的特征比对线程提速模型,这将在以下结合图5来进一步描述。如所可理解,cpu使用率作为资源使用的示例。根据本公开的特征比对线程提速并不被限定于此。例如,特征比对线程中所涉及的资源使用还可包括对诸如但不限于内存、总线、缓存、显示器等的使用。

图4示出根据本公开的一方面的确定合适阈值的方法400的流程图。方法400可结合例如图2的流程200的摄像头子线程1、人脸检测子线程2和/或特征提取子线程3、和/或图4的特征比对线程400等来执行。方法400例如在框402开始。在框404,进行线程初始化。在框406,通过本地埋点识别资源利用是否合理。例如,可通过本地埋点来采集线程对资源的使用情况,并且可使用模型来确定线程对资源的使用是否合理。识别资源利用不合理可包括例如识别线程对cpu的使用率是否过高/过低。

当在框406确定资源利用合理(即,“是”分支),则方法400前进到框412。在框412,系统使用当前默认的资源使用方案。然后,方法400前往框414。另一方面,当在框406确定资源利用不合理(即,“否”分支),例如线程对cpu的使用率过高时,在框408,通过模型给出合适的资源使用方案。例如,可通过模型给出合适的cpu使用率等或其任何组合。在框410,计算系统的改进资源使用方案,包括例如确定线程的合适参数。例如,对于图2的特征实时提取方法200和/或图3的特征比对方法300而言,可以分别计算摄像头子线程1、人脸检测子线程2和/或特征提取子线程3、和/或特征比对线程的sleep参数。然后,方法400去往框414。在框414,方法400结束。

图5示出了根据本公开一示例性实施例的使用日志来训练模型的方法500的流程图。方法500在框502开始。在框504,进行日志归类。例如,日志归类可包括主要归为两类,一类是合理的资源使用,另一类是不合理的资源使用。例如,合理的资源使用可包括线程对cpu的使用率合适或其它资源使用或其各种组合等。不合理的资源使用可包括线程对cpu的使用率不合适(例如,过高或过低等)或其它资源使用不合适等或其任何组合。不合理的资源使用可使用阈值来确定。例如,模型可通过训练来确定合适的阈值。例如,对于特定工作情景合适的cpu使用率阈值和/或其它资源使用率等或其各种组合。当在框504进行了日志归类之后,方法500可在框506进行日志筛选。根据一示例性而非限定性的实施例,日志筛选可包括保留同一个时间段的数据并去除多余数据。当在框506进行了日志筛选之后,方法500可在框508进行日志归一化。根据一示例性而非限定性的实施例,日志归一化可包括例如将cpu的使用率格式化到[0,1]之间,将其它资源使用率格式化到[0,1]之间,等等。当在框508进行了日志归一化之后,方法500可在框510进行机器学习。根据一示例性而非限定性的实施例,机器学习可包括基于经归一化的日志,通过优化器来训练模型。此处的模型可采用各种机器学习模型,例如深度学习神经网络等。当在框510进行了机器学习之后,方法500在框512生成经训练的模型。方法500在框514结束。例如,对于不同的线程,如上训练的模型可例如如在图2a中的(a)、(b)、(c)以及图3a中所示,并且分别可在图2的框216、227、235、图3的框308等中使用。

图6示出了根据本公开一示例性实施例的识别系统600。根据一示例性实施例,识别系统600可包括例如处理器601、存储器602以及摄像头603。根据一示例性实施例,识别系统600还可包括输入/输出接口604和通信模块605。根据一示例性实施例,识别系统600还可包括主线程模块610、摄像头子线程模块611、人脸检测子线程模块612、特征提取子线程模块613、和/或特征比对模块614。

输入/输出接口604可接收例如用户身份信息,并可输出用户图像以及比对结果等。通信模块605可以与远程服务器和数据库(例如,人像权威机构的数据库等)通信以从其获取人像底图。

例如,主线程模块610可被配置成执行以上结合图2中的主线程描述的至少一部分功能。摄像头子线程模块611可被配置成例如执行以上结合图2中的摄像头子线程1描述的至少一部分功能。人脸检测子线程模块612可被配置成例如执行以上结合图2中的人脸检测子线程2所描述的至少一部分功能。特征提取子线程模块613可被配置成例如执行以上结合图2中的特征提取子线程3所描述的至少一部分功能。特征比对模块614可被配置成例如执行以上结合图3描述的特征比对方法300的至少一部分功能。

根据一示例性实施例,识别系统600还可包括本地埋点模块615、模型模块616、sleep确定模块617、日志记录和处理模块618和/或模型训练模块619等。

根据一示例性而非限定性实施例,本地埋点模块615可被配置成执行与埋点的设置以及使用埋点来识别资源使用是否合理等有关的功能。例如,本地埋点模块615可执行结合图4描述的框406等。

根据一示例性而非限定性实施例,模型模块616可被配置成实现本公开的方案中所使用的各种模型,包括例如以上结合图2a和图3a描述的摄像头子线程提速模型、人脸检测子线程提速模型、特征提取子线程提速模型和/或特征比对线程提速模型等。例如,模型模块616可包括上述各个子模型(未示出),这些子模型可被分别训练以及使用和/或联合训练以及使用。模型模块616可执行例如以上参照图2的框216、227和235以及框308、310等所描述的功能。

根据一示例性而非限定性实施例,sleep确定模块617可被配置成计算例如摄像头子线程1、人脸检测子线程2和/或特征提取子线程3、和/或特征比对线程的sleep参数等。例如,sleep确定模块617可执行例如结合图2的框216、227、235等描述的功能。如所可知,对sleep参数的调整仅仅是示例。如本领域普通技术人员所知,也可以通过其它各种手段来控制和调整系统的资源使用。例如,控制线程对cpu的使用频率还可以使用wait、block等方法。又如,可以通过程序来控制线程的计算频率(例如,单位时间的计算笔数)等。本发明在此方面并不受限定。如所可知,cpu使用率仅仅是资源使用参数的一个示例。本公开的方案并不被限定于cpu使用率,而是可适用于其它系统资源,诸如但不限于内存、总线、缓存、显示器等等。

根据一示例性而非限定性实施例,日志记录和处理模块618可被配置成进行日志录入和处理。例如,日志记录和处理模块618可被配置成执行以上参照图2的框215、框226、框234以及图3的框308以及图5描述的关于日志归类、日志筛选、日志归一化等各种功能。

根据一示例性而非限定性实施例,模型训练模块619可被配置成训练模型模块616。例如,模型训练模块619可使用日志记录和处理模块618所录入并处理的日志来训练模型模块616。根据一示例性而非限定性实施例,模型训练模块619可执行以上参照图5描述的关于机器学习和生成模型等各种功能。

根据一示例性而非限定性实施例,主线程模块610、摄像头子线程模块611、人脸检测子线程模块612、特征提取子线程模块613、和/或特征比对模块614、本地埋点模块615、模型模块616、sleep确定模块617、日志记录和处理模块618和/或模型训练模块619等可例如被实现在存储器602中并由处理器601执行以实现其各自的功能。但是本公开并不被限定于此。例如,上述模块中的任何一个或多个模块可通过asic、现场可编程门阵列(fpga)等来实现,可以通过分立的硬件组件来实现、和/或可通过软件与硬件和固件的各种组合来实现。上述模块可通过总线(未示出)耦合在一起并通过总线来相互通信。

图7示出了根据本公开一示例性方面的使用识别系统的场景700的示意图。例如,在铁路自动闸机口,乘客将身份证或车票放在识别器702上。从而例如结合图2描述的主线程启动,并陆续启动摄像头子线程1、人脸检测子线程2和/或特征提取子线程3。摄像头子线程1打开摄像头并初始化该子线程1的sleep参数。摄像头704可拍摄乘客的图像视频帧。系统700将摄像头704所拍摄到的图像显示到显示器706上。人脸检测子线程2初始化人脸检测算法和该子线程2的sleep参数,并且当检测到摄像头子线程1的队列非空时即进行人脸检测,并将人脸检测结果和视频帧提供给特征提取算法。特征提取子线程3初始化特征提取算法和该子线程3的sleep参数,并且当检测到人脸检测算法子线程2的队列非空时即进行特征提取,并将所提取的特征保存到本地。

在摄像头子线程1、人脸检测子线程2和/或特征提取子线程3的运行过程中,系统可实时记录各个线程的资源使用参数。例如,可实时记录各个线程的运行时间以及对cpu的使用率等。系统可将所记录的系统参数录入日志以用于初始或后续使用日志来进行模型训练等。该模型可以是任何机器学习模型,例如大数据挖掘模型、神经网络等等。例如,该模型可以由结合图6描述的模型模块616来实现,并且可包括例如结合图2a和图3a所描述的各种线程提速模型。

另一方面,系统通过本地埋点来采集关于线程对资源的使用情况的数据,并使用相应模型来实时确定该线程对资源的使用是否合理。例如,识别资源使用是否合理可包括例如识别线程对cpu的使用率是否过高/过低。如所可知,cpu使用率仅仅是资源使用参数的一个示例。本公开的方案并不被限定于cpu使用率,而是可适用于其它系统资源,诸如但不限于内存、总线、缓存、显示器等等。

若模型基于本地埋点所采集的资源使用数据确定相应线程的资源使用是合理的,则该线程继续使用当前的资源使用方案(例如,系统默认值)。另一方面,若模型基于本地埋点所采集的资源使用数据确定相应线程的资源使用不合理,则系统基于模型给出对于该线程而言合适的资源使用方案。基于此,系统计算出线程的合理sleep时间并通过该sleep时间来实时控制线程对资源(例如,cpu)的使用。

另一方面,识别器702识别出乘客身份,并使用例如结合图3所描述的特征比对方法,从例如权威机构的数据库检索出与该乘客身份对应的人像底图及相关联的信息。系统进一步检测该图像底图中的人脸并进行特征提取,并将经特征提取的人像底图与本地实时采集的图像中的人脸特征进行比对并确定是否两者是否属于同一人。若是,则系统700指令闸机708开门放行。若否且尚未超时,则系统继续进行进一步的特征比对。若已超时,则系统指令报警。

当闸机708完成对一用户的识别后,系统700可继续进行对下一用户的识别,从而各线程可循环运行。由于根据本公开的识别系统智能提速不断地实时优化各线程对资源的使用,因此能有效地提高系统的整体工作效率并且改善用户体验。

尽管本申请在以上是结合人脸识别的具体场景来描述各实施例的,但是本申请的各方面同样可以被用于其它对人或物进行识别的技术,诸如指纹识别、虹膜识别、刷卡等等。通过利用本申请的技术方案,同样可以基于模型来确定系统的资源使用问题并基于模型来优化系统的资源使用,以便达到更好的效果或更高的效率。

本领域普通技术人员应理解,本发明的有益效果并非由任何单个实施例来全部实现。各种组合、修改和替换均为本领域普通技术人员在本发明的基础上所明了。

此外,术语“或”旨在表示包含性“或”而非排他性“或”。即,除非另外指明或从上下文能清楚地看出,否则短语“x”采用“a”或“b”旨在表示任何自然的可兼排列。即,短语“x”采用“a”或“b”藉由以下实例中任何实例得到满足:x采用a;x采用b;或x采用a和b两者。属于“连接”与“耦合”可表示相同含义,表示两器件的电气连接。另外,本申请和所附权利要求书中所用的冠词“一”和“某”一般应当被理解成表示“一个或多个”,除非另外声明或者可从上下文中清楚看出是指单数形式。

各个方面或特征将以可包括数个设备、组件、模块、及类似物的系统的形式来呈现。应理解和领会,各种系统可包括附加设备、组件、模块等,和/或可以并不包括结合附图所讨论的全部设备、组件、模块等。也可以使用这些办法的组合。

结合本文所发明的实施例描述的各种说明性逻辑、逻辑块、模块、和电路可用通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如dsp与微处理器的组合、多个微处理器、与dsp核心协同的一个或多个微处理器、或任何其它此类配置。此外,至少一个处理器可包括可作用于执行以上描述的一个或多个步骤和/或动作的一个或多个模块。例如,以上结合各个方法描述的实施例可以通过处理器和耦合到处理器的存储器来实现,其中该处理器可被配置成执行前述任何方法的任何步骤或其任何组合。

此外,结合本文中所发明的方面描述的方法或算法的步骤和/或动作可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中实施。例如,以上结合各个方法描述的实施例可以通过存储有计算机程序代码的计算机可读介质来实现,其中该计算机程序代码在由处理器/计算机执行时执行前述任何方法的任何步骤或其任何组合。

本发明中通篇描述的各种方面的要素为本领域普通技术人员当前或今后所知的所有结构上和功能上的等效方案通过引述被明确纳入于此,且意在被权利要求书所涵盖。此外,本文所发明的任何内容都并非旨在贡献给公众——无论这样的发明是否在权利要求书中被显式地叙述。

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