CN104781828B - 使用视频运动估计模块的加速对象检测过滤器 - Google Patents

使用视频运动估计模块的加速对象检测过滤器 Download PDF

Info

Publication number
CN104781828B
CN104781828B CN201280077195.9A CN201280077195A CN104781828B CN 104781828 B CN104781828 B CN 104781828B CN 201280077195 A CN201280077195 A CN 201280077195A CN 104781828 B CN104781828 B CN 104781828B
Authority
CN
China
Prior art keywords
region
vector
processing unit
graphics processing
filter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201280077195.9A
Other languages
English (en)
Other versions
CN104781828A (zh
Inventor
L.徐
Y.杜
J.李
Q.李
Y-T.彭
Y-J.秋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN104781828A publication Critical patent/CN104781828A/zh
Application granted granted Critical
Publication of CN104781828B publication Critical patent/CN104781828B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06V10/7747Organisation of the process, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/165Detection; Localisation; Normalisation using facial parts and geometric relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/12Classification; Matching
    • G06F2218/16Classification; Matching by matching signal segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Medical Informatics (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)

Abstract

本文描述了与使用视频估计模块的加速对象检测过滤器有关的***、设备和方法。

Description

使用视频运动估计模块的加速对象检测过滤器
背景技术
对象识别具有范围广泛的应用。例如,脸部识别可在人机交互、相册管理、生物统计鉴定、视频监控、自动聚集成像及多种其它视觉***中使用。人物检测可在视频监控、高级驾驶员辅助***及诸如此类中使用。其它对象检测示例包括交通监视、自动车辆停车、字符识别、生产质量控制、对象统计及质量监视。
在一些现有对象检测***中,使用Viola-Jones级联检测框架。在Viola-Jones级联检测框架中,通过滑动窗口扫描输入图像以使用级联分类器探测在窗口中是否存在目标。此类方法可采用于实现起来复杂的基于特征的分类器。另外,此类方法是计算上密集型的。人们提议了各种软件和硬件实现,然而,提议的实现具有限制,特别是在图像和视频分辨率增大时。
由于对象识别可在范围广泛的应用中使用,因此,最好可使对象检测有效执行。
附图说明
本文中所述的材料在附图中以示例而非限制的方式示出。为确保示图的简明和清晰起见,图中所示元素不一定按比例画出。例如,为清晰起见,一些元素的尺寸相对其它元素可能显得过大。此外,在认为视当之处,标号已在图中重复以指示一致或类似的元素。在附图中:
图1是示例对象检测和/或识别***的说明性图形;
图2是示出示例对象检测和/或识别过程的流程图;
图3是在操作中的示例对象检测和/或识别过程的说明性图形;
图4是示出示例线性分类器的结果的一组曲线图;
图5是示出示例线性分类器级的结果的一组曲线图;
图6是示例对象检测和/或识别***的说明性图形;
图7是示例***的说明性图形;以及
图8示出全部根据本公开内容的至少一些实现布置的示例***的说明性图形。
具体实施方式
现在参照附图描述一个或几个实施例或实现。虽然论述了特定的配置和布置,但应理解的是,这只是为了便于说明。相关领域技术人员将认识到,在不脱离描述的精神和范围的情况下,可采用其它配置和布置。相关领域技术人员将明白,本文中所述技术和/或布置也可在与本文中所述不同的多种其它***和应用中采用。
虽然下面的描述陈述了可在诸如芯片上***(SoC)体系结构等体系结构中显露的各种实现,但本文中所述技术和/或布置的实现不限于特定体系结构和/或计算***,并且可由用于类似目的的任何体系结构和/或计算***实现。例如,采用例如多个集成电路(IC)芯片和/或封装和/或诸如机顶盒、智能电话等各种计算装置和/或消费电子(CE)装置的各种体系结构可实现本文中所述的技术和/或布置。此外,虽然以下描述可陈述诸如逻辑实现、***组件的类型和相互关系、逻辑分割/集成选择等各种特定细节,但实践所述主题可无需此类特定细节。在其它情况下,诸如控制结构和完全软件指令序列等一些材料可未详细示出以免混合本文中公开的材料。
本文中公开的材料可以硬件、固件、软件或其任何组合的形式实现。本文中公开的材料也可实现为存储在机器可读介质上,可由一个或多个处理器读取和执行的指令。机器可读介质可包括用于以机器(例如,计算装置)可读形式存储或传送信息的任何介质和/或机制。例如,机器可读介质可包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存装置、电气、光、声或其它形式传播信号(例如,载波、红外信号、数字信号等)及其它。
说明书中对“一个实现”、“实现”、“示例实现”等的引用指所述实施例可包括特定特征、结构或特性,但每个实现可不一定包括特定特征、结构或特性。另外,此类词语不一定指同一实现。此外,在结合实某个实现描述某个特定特征、结构或特性时,应认为结合无论本文中是否明确描述的其它实现来达到此类特征、结构或特性是在本领域技术人员的认知之内。
本文描述了与使用视频估计模块的加速对象检测过滤器有关的***、设备、物品和方法。
如上所述,对象识别具有范围广泛的应用。然而,对象检测的当前实现是计算上密集型的,并且具有诸如未实现实时对象检测和/或识别,消耗大部分或所有可用计算资源及功率密集型等限制。
如下面更详细所述,视频运动估计模块可被改变用途以实现线性分类器,以加速对象检测和提供更大效率,从而可实现实时对象检测和/或识别,并且可节省计算资源和功率。例如,图形处理单元可包括一般可提供用于视频编码的运动向量估计和类似计算的视频估计模块。在本文中使用时,视频估计模块可包括配置成在视频编码应用中提供运动向量估计和类似计算的任何模块。例如,视频估计模块可提供将加权向量和当前块的向量与参考块的向量的绝对值差的向量的点积相加的计算。在运动向量和视频编码上下文中,此类计算例如可提供在当前块与参考块之间(加权)差的测量。
如下面更详细所述,此类计算可改变用途以实现对象检测预过滤。例如,可选择或确定输入图像的单独区域。上述计算可改变用途以确定将加权向量和表示区域的向量与参考向量的绝对值差的向量的点积相加的计算。在此上下文中,可选择参考向量以将区域的分类增强为可能包括对象或关注对象的一部分(即,通过线性分类器预过滤)或不可能包括对象或关注对象的一部分(即,线性分类器预过滤失败并且被拒绝)。例如,在脸部识别应用中,参考向量可表示随机代表性脸部或表示脸部的统计平均值的脸部,或者参考向量可以为零值参考向量。类似地,在此上下文中,可预训练加权向量以增强对象识别预过滤。例如,在脸部识别应用中,可通过包括脸部的多个图像和不包括脸部的多个图像,预训练加权向量。
可比较上述计算与阈值,或者可评估上述计算以确定区域是否通过预过滤器。可将此类预过滤器级描述为经视频运动估计模块实现的线性分类器。如讨论的一样,失败区域可被拒绝。可为对象识别处理传送通过区域,或者可在任何数量的另外线性分类器预过滤器级测试通过区域。此类另外的级例如可变得越来越难以通过。经视频运动估计模块实现的此类级可共享它们是线性分类器的共同性。在其它示例中,可传送通过区域(例如,通过经视频运动估计模块实现的单级或多个线性分类器级的区域)到级联过滤器以实现另外测试。如下面进一步讨论的一样,级联过滤器可包括任何适合类型的级联过滤器,如Viola-Jones级联过滤器或框架或加速稳固特征(SURF)级联过滤器或框架。在一些示例中,级联过滤器可实现基于特征的分类器级。
如将领会的一样,可类似地评估和预过滤图像的其它区域,使得一部分图像(即,未预过滤的图像的部分)可由对象识别模块处理。此类预过滤可节省宝贵的计算资源。
通常,如本文中讨论的对象检测可包括检测在输入图像中对象(即,关注的类别的图像)是否可在输入图像中和/或可在输入图像中何处。例如,在脸部检测中,检测可包括检测脸部。此外,如本文中讨论的对象识别可包括识别特定对象(即,关注的类别的个体)。例如,在脸部识别中,识别可包括识别哪个人与检测到的脸部相关联。所述基于硬件的卷积预过滤器可为对象检测和/或识别实现提供快速、可靠和低计算与功率成本的过程。
图1示出根据本公开内容的至少一些实现布置的用于对象检测和/或识别的示例***100的说明性图形。如图所示,***100可包括经图形处理单元120和级联过滤器模块140实现的视频运动估计模块130。在各种实现中,***100可配置成执行对象检测和/或识别,包括执行对象检测预过滤。如下面进一步讨论的一样,可经各种硬件实现采用***100,这些实现的共同性是可经图形处理单元120实现视频运动估计模块130。例如,图形处理单元120可包括专用于或至少部分专用于执行与视频运动估计的计算并且具体而言本文中讨论的那些计算的硬件或硬件的一部分。在一些示例中,视频运动估计模块130可以是可提供运动估计服务的共享功能或资源。在各种实现中,级联过滤器模块140可经诸如中央处理单元等***100的图形处理单元120或其它组件实现,这些组件在下面进一步讨论,但为清晰起见,在图1中未示出。
如下面进一步讨论的一样,***100也可包括为清晰起见,在图1中未示出的对象识别模块或另外的模块或组件。例如,***100可包括射频类型(RF)收发器、显示器、天线、扬声器、麦克风、加速计、存储器、路由器、网络接口逻辑等。
如讨论的一样,在一些示例中,***100可执行对象检测操作或对象检测预过滤器操作。例如,***100可接收输入图像110,输入图像可包括关注的一个或更多个对象112。通常,输入图像110可以是任何适合的图像或视频数据,如图像文件或视频帧或诸如此类。关注的对象112通常可包括可希望对其对象检测和/或识别的任何对象,如脸部、眼睛、地标、书写字符、人或汽车或诸如此类。在图1中,脸部识别被用作说明性示例。如将领会的一样,在一些示例中,输入图像110可不包括关注的对象。
如图所示,可选择或确定输入图像110的区域114。区域114例如可由任何适合的模块或组件确定,如***100的视频运动估计模块130、图形处理单元120的另一模块、中央处理单元。如将领会的一样,可将输入图像110分割成多个区域,并且可如所述般确定和处理单个区域或多个区域。在一些示例中,可处理全部输入图像110,这是因为可依次评估每个其区域。在各种实现中,处理的区域可重叠,或者处理的区域可不覆盖全部输入图像110。
如图1所示,图形处理单元120的视频运动估计模块130可应用线性分类器级联过滤器131到区域114,并且级联过滤器模块140可应用级联过滤器141以确定区域114是否为对象候选区域150。对象候选区域150可与通过区域有关(即,通过线性分类器级联过滤器131和/或级联过滤器141的所有级的区域)。如图所示,线性分类器级联过滤器131可包括任何数量的级,示为线性分类器级1 132、线性分类器级2 134和线性分类器级N 136。类似地,级联过滤器141可包括任何数量的级,示为级联过滤器级1 142、级联过滤器级2 144和级联过滤器级N 146。
通常,可通过如由视频运动估计模块130实现的线性分类器级联过滤器131,处理输入图像110的单独区域。在线性分类器级联过滤器131的级132-136,可测试级114以确定它是否通过该级。通常,该级可包括真/假测试。如果区域114通过图1中示为“T”的级(例如,确定相对于区域的测试为真),则区域114可被传送到下一级。在此类示例中,区域114可被分类或标记为对象候选区域。如果区域114未通过该级(例如,确定相对于像素的测试为假),则可拒绝,放弃区域114和/或将其标记为被拒绝190。线性分类器级联过滤器131可包括任何数量的级132-136,如3级。在一些实现中,可使用单级。如讨论的一样,如果区域通过某个级,则可将该区域分类为对象候选区域。如果区域通过第二级,则可将该区域分类为第二级对象候选区域,并以此类推。如将领会的一样,对于通过线性分类器级联过滤器131的所有级,可将区域简单地分类为对象候选区域、通过区域、线性分类器通过区域或诸如此类。
类似地,可通过级联过滤器141处理输入图像110的区域。在级联过滤器141的级142-146,例如可测试区域114以确定它是否通过该级。如图所示,该级可包括真/假测试。如果区域114通过图1中示为“T”的级(例如,确定相对于区域的测试为真),则区域114可被传送到下一级。如果区域114未通过该级(例如,确定相对于像素的测试为假),则可拒绝,放弃区域114和/或将其标记为被拒绝148。在一些示例中,级联过滤器141可不同于线性分类器级联过滤器141,表现在级142-146可包括非线性分类器。例如,任何级142-146可实现基于特征的分类。如果区域通过级联过滤器141第二级的每级,则区域可被分类为级联过滤器级对象候选区域、通过区域、级联过滤器通过区域或诸如此类。
如讨论的一样,级联过滤器141可包括任何适合类型的级联过滤器,如Viola-Jones级联过滤器或框架(例如,参阅Paul Viola、Michael Jones所著“使用简单特征的增强级联的快速对象检测”(Rapid Object Detection using a Boosted Cascade ofSimple Features, CVPR 2001)和/或由Yangzhou Du、Qiang Li所著,2010年12月10日提出,题为“用于脸部检测和跟踪的技术”(TECHNIQUES FOR FACE DETECTION AND TRACKING)的PCT/CN2010/000997)。此类对象检测技术可允许对象检测和/或识别以包括脸部检测、地标检测、脸部配准、微笑/眨眼/性别/年龄检测、脸部识别、检测两个或更多个脸部和/或诸如此类。在一些示例中,级联过滤器141可包括增强级联过滤器。
在其它示例中,级联过滤器可包括加速稳固特征(SURF)级联过滤器或框架(例如,参阅Bay等人所著“Surf:加速稳固特征”("Surf: Speeded up robust features,"Computer Vision and Image Understanding (CVIU), 110(3), pages 346-359, 2008)和/或由Jianguo Li、Yimin Zhang所著,2011年11月1日提出,题为“使用扩展SURF特征的对象检测”(OBJECT DETECTION USING EXTENDED SURF FEATURES)的PCT/CN2011/081642)。此类对象检测技术也可允许对象检测和/或识别以包括脸部检测、地标检测、脸部配准、微笑/眨眼/性别/年龄检测、脸部识别、检测两个或更多个脸部和/或诸如此类。
回到与线性分类器级联过滤器131有关的讨论,通常,在线性分类器级联过滤器131实现的测试可包括是否可将区域视为可能包括关注的对象或关注的对象的一部分的确定。
如上讨论的一样,视频估计模块130可配置成提供用于视频的运动向量的估计。也如讨论的一样,视频估计模块130可配置成提供将加权向量和当前块的向量与参考块的向量的绝对值差的向量的点积相加的计算。此类计算可如下在等式(1)中示出:
Figure DEST_PATH_IMAGE002
其中,Y可以是计算结果,SUM可以是i上加法函数,i可以是计数器变量(例如,计数器变量i可从1到n,n是评估的像素的总数),ABS可以是绝对值函数,权重可以是加权和,curr block可以是当前块,以及ref block可以是参考块。如将领会的一样,在运动向量和视频编码上下文中,此类计算可提供在当前块与参考块之间(加权)差的测量。如果加权项未使用(即,假定为值1),则计算提供块的类似性的量度(即,当前块与参考块的类似程度的量度)。在此上下文中,加权项可将不同重要性引入视频的图像或帧的不同区域。
在对象检测和/或识别的上下文中,视频估计模块130可配置成应用线性分类器级1-N 132、134和/或136。线性分类器级的此类应用可将该区域分类为对象候选区域(即,通过该区域)或者拒绝该区域。例如,等式(1)可如以下等式所示改变用途
Figure DEST_PATH_IMAGE004
其中,y可以是计算结果,
Figure DEST_PATH_IMAGE006
可以是加权向量,
Figure DEST_PATH_IMAGE008
可以是表示工114的向量,以及
Figure DEST_PATH_IMAGE010
可以是参考向量。在对象检测的上下文中,等式(2)可基于在表示区域114的向量(即,
Figure 70706DEST_PATH_IMAGE008
)与参考向量(即,
Figure 925529DEST_PATH_IMAGE010
)之间的绝对值差,提供绝对值差向量的确定,基于绝对值差向量和加权向量(即,
Figure 705266DEST_PATH_IMAGE006
)的点积,提供结果值(即,y)的确定。可比较确定的结果值(即,y)和阈值,并且基于比较,可确定区域114是通过还是未通过线性分类器级。
例如,通过使用此类技术,视频估计模块130可通过基于在表示区域的向量与参考向量之间的绝对值差,确定绝对值差向量,基于绝对值差向量与加权向量的点积,确定结果值,并且比较结果值和阈值,应用线性分类器(例如,分类器级1-N 132、134和/或136之一的线性分类器)。
在此类实现中,等式(2)可作为分布函数处理,例如,使得参考向量
Figure 100476DEST_PATH_IMAGE010
可描述数据的中心,并且W可反映在每维中的变化。通常,可以线性形式选择参考向量
Figure 351066DEST_PATH_IMAGE010
。通常,也可选择
Figure 173529DEST_PATH_IMAGE010
以实现其在级132-136提供准确分类的功效。例如,可选择参考向量
Figure 378245DEST_PATH_IMAGE010
以表示零值补块(即,
Figure 577145DEST_PATH_IMAGE010
= 0)、均值对象(即,统计均值对象)或随机代表性对象。此外,可基于其在级132-136提供准确分类的功效,选择和/或计算加权向量
Figure 246024DEST_PATH_IMAGE006
。例如,可使用线性判别分析(LDA)或者使用支持向量机器(SVM)或诸如此类,将加权向量
Figure 177071DEST_PATH_IMAGE006
确定或计算为用于具有对象的区域中每个像素的标准偏差(STD)的倒数。下面进一步讨论与此类参考向量
Figure 931400DEST_PATH_IMAGE010
的选择有关的结果和与确定在脸部检测应用中的加权向量
Figure 606095DEST_PATH_IMAGE006
有关的方法,并且具体而言,相对于图4进行讨论。
可利用结果值或计算结果y确定区域114是否通过有关级。例如,可比较结果值和阈值(例如,可适当地做出有关结果值是大于还是小于阈值的确定)以确定区域114是否通过有关级。应用的阈值例如可包括预确定的阈值、预训练的阈值或诸如此类。可基于其在级132-136提供分类的功效,选择阈值,并且可例如在一段时间内训练它。
例如,通过使用此类技术,视频估计模块130可通过基于在表示区域的向量与参考向量之间的绝对值差,确定绝对值差向量,基于绝对值差向量与加权向量的点积,确定结果值,并且比较结果值和阈值,应用线性分类器(例如,分类器级1-N 132、134和/或136之一的线性分类器)。
此外,在一些实现中,可在训练中,如训练加权向量
Figure 129480DEST_PATH_IMAGE006
或应用的阈值中使用被拒绝的区域190,或者可在选择参考向量
Figure 995543DEST_PATH_IMAGE010
中使用被拒绝的区域。可经本文中讨论的图形处理单元120或中央处理单元应用此类训练。
如将领会的一样,可以多种方式实现相对于图1讨论的过程和组件。在一些实现中,可使用无级联过滤器的单个线性分类器。在此类示例中,单个线性分类器可用于确定是否可能将区域视为包括关注的对象或关注的对象的一部分。在一些实现中,可使用带级联过滤器的单个线性分类器。类似地,可使用带或无级联过滤器的多级线性分类器级联。在任何情况下,可将对象候选区域(即,通过利用的实现的区域)视为可能包括关注的对象或关注的对象的一部分。可选择性地合并此类区域(例如,通过图形处理单元120或通过一个或更多个处理单元)。类似地,可为对象识别处理合并或非合并的区域。对象识别例如可由图形处理单元120或一个或更多个处理单元的对象识别模块执行。如上讨论的一样,对象检测可包括确定输入图像是否或在何处可包括关注的对象(例如,输入图像包括书写字符),并且对象识别可包括识别对象可以是什么特定对象(例如,书写字符为“S”)。
如下面将更详细描述的一样,***100可用于执行下面结合图2和/或3讨论的一些或所有各种功能或以前相对于图1讨论的功能。
图2是示出根据本公开内容的至少一些实现布置的示例对象检测和/或识别过程200的流程图。在所示实现中,过程200可包括如框202、204和/或206的一个或更多框所示的一个或更多个操作、功能或动作。作为非限制性示例,本文中将参照图1的示例***100描述过程200。
过程200可用作用于对象检测和/或识别的计算机实现的方法。过程200可从方框202“接收输入图像”开始,其中,可接收输入图像。例如,输入图像可包括任何适合的图像数据,如图像文件或视频帧或诸如此类。输入图像例如可在图形处理单元120和/或视频运动估计模块130接收。输入图像可使用任何适合的技术接收,并且可由***100从另一装置接收,可在***100内部生成,并且从***100的另一模块传送到图形处理单元120,或者可在图形处理单元120的另一模块内部生成,并且传送到视频运动估计模块130。
处理可从操作202继续到操作204“确定输入图像的区域”,其中,可确定输入图像的单独区域。该区域例如可由图形处理单元120的视频运动估计模块130、图形处理单元120的另一模块或由中央处理单元或诸如此类确定。该区域例如可以是输入图像的多个区域的单独区域。
处理可从操作204继续到操作206“经图形处理单元的视频运动估计模块应用线性分类器到区域以将区域分类为对象候选区域或者拒绝该区域”,其中,可应用线性分类器到该区域以确定该区域是否是对象候选区域(即,通过线性分类器并且被视为可能包括关注的对象或关注的对象的一部分),或者拒绝该区域。线性分类器例如可经图形处理单元120的视频运动估计模块130实现。图形处理单元120的视频运动估计模块130也可配置成例如估计用于视频编码的运动向量,并且提供类似的视频编码计算。
可为输入图像的其它区域重复过程200。此外,例如可通过任何另外数量的线性分类器级,级联通过线性分类器的区域。可选的是,通过线性分类器的区域可由单级或多级级联过滤器处理。可选择性地合并结果对象候选区域(如果有)。通过在区域上执行对象识别以识别区域中关注的对象或关注的对象的一部分,可进一步处理对象候选区域或合并的对象候选区域。例如,对象识别可识别任何对象,这些对象例如可包括脸部、眼睛、地标、书写字符、人或汽车或诸如此类。
与过程200有关的一些另外和/或备选细节可在下面相对于图3更详细讨论的实现的一个或更多个示例中示出。
图3是根据本公开内容的至少一些实现布置,用于在操作中对象检测和/或识别的示例***100和过程300的说明性图形。在所示实现中,过程300可包括如一个或更多个动作311、312、313、314、315、316、322、324、332和/或334所示的一个或更多个操作、功能或动作。作为非限制性示例,本文中将参照图1的示例***100描述过程300。
在所示实现中,***100可包括模块302、诸如此类和/或其组合。例如,模块302可包括视频运动估计模块130、级联过滤器模块140、对象识别模块160或诸如此类和/或其组合。视频运动估计模块130可经图形处理单元120实现,并且可配置成确定输入图像的区域,并且应用线性分类器到该区域以将该区域分类为对象识别模块或者拒绝该区域。视频运动估计模块130例如可通过基于在表示区域的向量与参考向量之间的绝对值差,确定绝对值差向量,基于绝对值差向量与加权向量的点积,确定结果值,并且比较结果值和阈值,应用线性分类器。视频运动估计模块130可配置成应用多个另外的线性分类器到通过初始分类的任何区域。级联过滤器模块140可配置成将通过线性分类器的区域分类为级联过滤器级对象候选区域或者拒绝该区域。对象识别模块160可配置成在通过级联过滤器模块140的区域上执行对象识别。对象识别模块160也可配置成在执行对象识别前选择性地合并通过区域。
过程300可用作用于对象检测和/或识别的计算机实现的方法。过程300可从方框311“接收输入图像”开始,其中,可接收输入图像。例如,输入图像可在图形处理单元120和/或视频运动估计模块130接收。输入图像可由***从另一装置接收,或者可在***100内部生成。
处理可从操作311继续到操作312“确定区域”,其中,可确定输入图像的单独区域。区域可以是输入区域的多个区域的单独区域,并且可被选择或确定以用于对象检测和/或识别处理。
处理可从操作312继续到操作313“应用线性分类器级”,其中,可应用线性分类器级到该区域。线性分类器级可由经图形处理单元120实现的视频运动估计模块130应用,并且可确定该区域是对象候选区域(即,通过线性分类器,并且被视为可能包括关注的对象或关注的对象的一部分)或者拒绝该区域。应用线性分类器级可包括改变视频运动估计模块130的用途,例如,以基于绝对值差向量(即,通过应用绝对值差到表示区域的向量和参考向量确定的向量)和加权向量的点积,提供计算。可比较结果计算值和阈值以确定该区域是否通过线性分类器级。
处理可从操作313继续到操作314“应用线性分类器级2到N”,其中,可选择性地应用另外的线性分类器级到该区域。可应用任何数量的另外级,例如包括另外两级。任何另外的级可由视频估计模块130应用。在某个区域通过另外的级时,可如此分类该区域。例如,如果某个区域通过第二线性分类器级,则可将该区域分类为第二级对象候选区域,如果某个区域通过第三线性分类器级,则可将该区域分类为敏感级对象候选区域,并以此类推。
处理可从操作314继续到均标记为“传送区域”的操作315或316,其中,可将一个或更多个对象候选区域传送到级联过滤器模块140和/或对象识别模块160。如讨论的一样,在一些示例中,通过应用级联过滤器,可进一步处理任何确定的对象候选区域。在其它示例中,可将任何确定的对象候选区域直接传递到对象识别模块160。
处理可在操作322“应用级联过滤器”继续,其中,可将级联过滤器应用到任何收到的区域以确定它是否可以是级联过滤器级对象候选区域(即,通过级联过滤器的区域)。应用的级联过滤器可包括任何数量的级,例如7级。应用的级联过滤器例如可包括任何适合的级联过滤器,如增强级联过滤器、Viola-Jones级联过滤器、实现基于特征的分类的Viola-Jones级联过滤器或SURF级联过滤器。
处理可从操作322继续到操作324“传送区域”,其中,可将分类为级联过滤器级对象候选区域的任何区域从级联过滤器模块140传送到对象识别模块160。
处理可在操作322“合并”继续,其中,可选择性地合并通过以前处理的任何收到区域以形成一个或更多个合并的对象候选区域。例如,可经图形处理单元120或一个或更多个中央处理单元实现合并。
处理可从操作332继续到操作334“识别关注的对象”,其中,对象识别模块160可在收到的对象候选区域和/或合并的对象候选区域上执行对象识别。对象识别模块160可识别任何对象,这些对象例如可包括脸部、眼睛、地标、书写字符、人或汽车或诸如此类。例如,可经图形处理单元120或一个或更多个中央处理单元实现对象识别模块160。
虽然如图2和3所示的示例过程200和300和相对于图1讨论的过程的实现可包括以所示顺序进行示出的所有框,但本公开内容在此方面并无限制,并且在各种示例中,过程200和300的实现可包括只进行示出的框的子集和/或以与所示不同的顺序进行。
另外,可响应一个或几个计算机程序产品提供的指令,进行图2和3的任何一个或更多个框和相对于图1讨论的过程。此类程序产品可包括提供指令的信号承载介质,指令在由例如处理器执行时,可执行本文中所述功能性。计算机程序产品可能计算机可读介质的任何形式提供。因此,例如,响应由计算机可读介质输送到处理器的指令,包括一个或几个处理器核的处理器可进行图2和3所示一个或几个方框。
在本文中所述任何实现中使用时,术语“模块”指配置成提供本文中所述功能性的软件、固件和/或硬件的任何组合。软件可实施为软件包、代码和/或指令集或指令,并且在本文中所述任何实现中使用时,“硬件”可例如单独或以任何组合方式包括硬连线电路、可编程电路、状态机器电路和/或存储可编程电路执行的指令的固件。模块可全体或单独实施为形成更大***的一部分的电路,例如,集成电路(IC)、芯片上***(SOC)等。
如讨论的一样,在操作中,过程200和/或过程300可作为线性分类器和/或线性分类器级联操作(即,可级联多个线性分类器级以形成线性分类器级)以便实现对象识别预过滤。也如讨论的一样,视频运动估计模块可用于经改变相对于等式(1)和等式(2)讨论的计算的用途,应用一个或多个线性分类器级。此外,在计算中,可选择参考向量
Figure 237168DEST_PATH_IMAGE010
,并且可确定加权向量
Figure 512292DEST_PATH_IMAGE006
。如将领会的一样,参考向量
Figure 93446DEST_PATH_IMAGE010
和加权向量
Figure 428612DEST_PATH_IMAGE006
可影响应用的线性分类器级的功效。
图4是示出根据本公开内容的至少一些实现布置的示例线性分类器的结果的一组曲线图。图5是示出根据本公开内容的至少一些实现布置的示例线性分类器级的结果的一组曲线图。
图4和5示出的曲线图示出沿x轴的假肯定(FP)率(FPR)和沿y轴的真肯定(TP)率(TPR)。曲线图中示出的曲线可描述为用于线性分类器的接收器操作特性(ROC)曲线。在此类表示中,1-TPR可以是检测丢失率,并且1-FPR可以是检测算法中扫描区域的节省。如将领会的一样,更高的1-FPR和更低的1-TPR可通常是合乎需要的,使得趋向曲线图顶部左侧的ROC曲线可通常是合乎需要的。
现在转到图4,为示例脸部检测实现示出了三个曲线图(4A、4B和4C)。曲线图4A示出用于其中使用了表示脸部的统计均值(即,偏置:均值)的参考向量的实现的ROC曲线。曲线图4B示出用于其中使用了表示随机脸部(即,偏置:x(1))的参考向量的实现的ROC曲线。曲线图4C示出用于其中使用了表示零值补块(即,偏置:0)的参考向量的实现的ROC曲线。为方便起见,在每个曲线图的顶部标记用于每个曲线图的参考向量的类型。
如图所示,曲线图4A包括三个ROC曲线。ROC曲线401示出用于为具有对象的区域中每个像素使用标准偏差(STD)的倒数确定的加权向量的ROC。ROC曲线402示出用于使用线性判别分析(LDA)确定的加权向量的ROC。ROC曲线403示出用于使用支持向量机器(SVM)确定的加权向量的ROC。此外,曲线图4A包括分别用于STD、LDA和SVM,可指示在TPR=0.99时的FPR的三个垂直线404、405和406。
类似地,曲线图4B包括三个ROC曲线。ROC曲线411示出用于为具有对象的区域中每个像素使用标准偏差(STD)的倒数确定的加权向量的ROC,ROC曲线412示出用于使用线性判别分析(LDA)确定的加权向量的ROC,并且ROC曲线413示出用于使用支持向量机器(SVM)确定的加权向量的ROC。曲线图4B也示出分别用于STD、LDA和SVM,可指示在TPR=0.99时的FPR的三个垂直线414、415和416。
此外,曲线图4C示出三个曲线。ROC曲线421示出用于为具有对象的区域中每个像素使用标准偏差(STD)的倒数确定的加权向量的ROC,ROC曲线422示出用于使用线性判别分析(LDA)确定的加权向量的ROC,并且ROC曲线423示出用于使用支持向量机器(SVM)确定的加权向量的ROC。曲线图4C也示出分别用于STD、LDA和SVM,可指示在TPR=0.99时的FPR的三个垂直线424、425和426。
如可使用曲线图4A、4B和/或4C确定的一样,在脸部检测应用中,LDA通常对确定加权向量可以是优选的。也如使用图4的曲线图可确定的一样,表示零值补块(即,偏置:0)的参考向量可通常在脸部检测实现中是优选的。使用类似的制表技术和/或分析,可为用于其它对象(如眼睛、地标、书写字符、人或汽车或诸如此类)的实现确定用于确定加权向量的适合参考向量和/或技术。
现在转到图5,示出了用于脸部检测实现中线性分类的多个级的三个曲线图。每个级示出使用和表示零值补块(即,偏置:0)的实现。曲线图5A示出ROC曲线501,显示用于在处理的第1级的LDA实现的ROC。此外,曲线图5A示出指示在TPR=0.99时的FPR的垂直线502。类似地,曲线图5B示出ROC曲线511,显示用于在处理的第2级的LDA实现的ROC。曲线图5A也显示指示在TPR=0.99时的FPR的垂直线512。此外,曲线图5C示出ROC曲线521,显示用于在处理的第3级的LDA实现的ROC。曲线图5C包括指示在TPR=0.99时的FPR的垂直线522。
如通过查看曲线图5A、5B和/或5C将领会的一样,对于在此实现中的以后级,每个级的性能减弱。对于此3级线性分类器级联,可将最终FPR确定为FPR(3级)=0.067 * 0.517* 0.713 =0.025,而TPR(3级)=0.99^3=0.970。此类实现因此可滤除(例如,输入图像的)大约97.5% (1-FPR)的扫描区域,而损失3% (1-TPR)的准确度。此类性能可提供实时对象检测和/或识别。此外,如讨论的一样,此类线性分类器级可在硬件(即,图形处理单元)中实现,这可提供更低的功耗。此类优点可在电池操作和/或移动装置中尤其重要。
图6示出根据本公开内容的至少一些实现布置的用于对象检测和/或识别的示例***100的说明性图形。在所示实现中,***100可包括一个或更多个中央处理单元602、一个或更多个存储器库604、图形处理单元120和/或***代理器/存储器控制器606。中央处理单元602、存储器库604、图形处理单元120和/或***代理器/存储器控制器606可以能够例如经总线或其它接入相互进行通信。
如图6所示和如上讨论的一样,视频估计模块130可经图形处理单元120实现。此外,在各种示例中,级联过滤器模块140可经图形处理单元120或中央处理单元602实现。此外,在各种示例中,对象识别模块160可经图形处理单元120或中央处理单元602实现。
图形处理单元120可包括处理器、多核处理器、专用集成电路、可编程逻辑装置、图形卡、集成图形、通用图形处理单元或诸如此类。中央处理单元602可包括任何适合的实现,例如包括微处理器、多核处理器、专用集成电路、芯片、芯片集或诸如此类。另外,存储器库508可以是任何类型的存储器,如易失性存储器(例如,静态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)等)或非易失性存储器(例如,闪存存储器等)等等。在非限制性示例中,存储器库508可通过高速缓冲存储器实现。***代理器/存储器控制器可包括配置成管理***100和控制存储器库604的任何适合的实现。在各种示例中,***100可实现为芯片集或芯片上***。在示例中,***100可实现为具有图形处理器、四核中央处理单元、单板高速缓冲存储器、存储器控制器输入/输出(I/O)模块(未示出)及配置成管理显示功能、I/O功能和直接媒体接口(DMI)功能的***代理器和存储器控制器的单个芯片或装置。
图7示出根据本公开内容的示例***700。在各种实现中,***700可以是媒体***,但***700不限于此上下文。例如,***700可包含到个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能装置(例如,智能电话、智能平板或智能电视)、移动因特网装置(MID)、消息传递装置、数据通信装置等等。
在各种实现中,***700包括耦合到显示器720的平台702。平台702可接收来自诸如内容服务装置730或内容输送装置740等内容装置或其它类似内容源的内容。包括一个或几个导航特征的导航控制器750可用于与例如平台702和/或显示器720交互。下面更详细地描述每个这些组件。
在各种实现中,平台702可包括芯片集705、处理器710、存储器712、存储装置714、图形子***715、应用716和/或无线电718的任何组合。芯片集705可在处理器710、存储器712、存储装置714、图形子***715、应用716和/或无线电718之间提供相互通信。例如,芯片集705可包括能够提供与存储装置714的相互通信的存储适配器(未示出)。
处理器710可实现为复复杂指令集计算机(CISC)、精简指令集计算机(RISC)、x86指令集兼容处理器、多核或任何其它微处理器或中央处理单元(CPU)。在各种实现中,处理器710可以是双核处理器、双核移动处理器等等。
存储器712可实现为易失性存储器装置,诸如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM (SRAM)。
存储装置714可实现为非易失性存储装置,诸如但不限于磁性磁盘驱动器、光盘驱动器、磁带驱动器、内部存储装置、附接的存储装置、闪存存储器、电池备份SDRAM(同步DRAM)和/或网络可访问的存储装置。在各种实现中,存储装置714可包括在例如包括多个硬盘驱动器时增大对宝贵数字媒体的存储性能增强保护的技术。
图形子***715可执行诸如静态或视频等图像的处理以便显示。图形子***715例如可以是图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可用于以通信方式耦合图形子***715和显示器720。例如,接口可以是高清晰多媒体接口、显示端口、无线HDMI和/或符合无线HD标准的技术的任何项。图形子***715可集成到处理器710或芯片集705中。在一些实现中,图形子***715可以是以通信方式耦合到芯片集705的独立卡。
本文中所述的图形和/或视频处理技术可在各种硬件体系结构中实现。例如,图形和/或视频功能可集成在芯片集内。备选,可使用离散图形和/或视频处理器。作为仍有的另一实现,图形和/或视频功能可由包括多核处理器的通用处理器提供。在其它实施例中,功能可在消费电子装置中实现。
无线电718可包括能够使用各种适合无线通信技术传送和接收信号的一个或几个无线电。此类技术可涉及跨一个或几个无线网络的通信。示例无线网络包括(但不限于)无线局域网(WLAN)、无线个人区域网(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在跨此类网络进行通信中,无线电718可根据任何版本的一个或几个适用标准操作。
在各种实现中,显示器720可包括任何电视类型监视器或显示器。显示器720例如可包括计算机显示屏幕、触摸屏显示器、视频监视器、电视状装置和/或电视。显示器720可以是数字和/或模拟显示器。在各种实现中,显示器720可以是全息显示器。此外,显示器720可以是可接收视觉投影的透明表面。此类投影可传达各种形式的信息、图像和/或对象。例如,此类投影可以是用于移动增强现实(MAR)应用的视觉覆盖。在一个或几个软件应用716的控制下,平台702可在显示器720上显示用户接口722。
在各种实现中,内容服务装置730可由任何国家、国际和/或独立服务托管,并且因此可由平台702经例如因特网访问。内容服务装置730可耦合到平台702和/或显示器720。平台702和/或内容服务装置730可耦合到网络760以便传递(例如,发送和/或接收)网络760的媒体信息。内容输送装置740也可耦合到平台702和/或显示器720。
在各种实现中,内容服务装置730可包括有线电视盒、个人计算机、网络、电话、因特网启用的装置或能够输送数字信息和/或内容的家电及能够经网络760或直接在内容提供商与平台702和/或显示器720之间单向或双向传递内容的任何其它类似装置。将领会的是,可经网络760单向和/或双向传递***700中的任何一个组件和内容提供商接收和传送的内容。内容的示例可包括任何媒体信息,例如包括视频、音乐、医疗和游戏信息等等。
内容服务装置730可接收诸如包括媒体信息、数字信息和/或其它内容的有线电视节目的内容。内容提供商的示例可包括任何有线或***或无线电或因特网内容提供商。提供的示例无意于以任何方式限制根据本公开内容的实现。
在各种实现中,平台702可接收来自具有一个或几个导航特征的导航控制器750的控制信号。控制器750的导航特征可用于与例如用户接口722交互。在实施例中,导航控制器750可以是指点装置,指点装置可以是允许用户输入空间(例如,连续和多维)数据到计算机中的计算机硬件组件(具体而言,人机接口装置)。诸如图形用户接口(GUI)和电视与监视器等许多***允许用户使用物理手势控制和提供数据到计算机或电视。
通过在显示器上显示的指针、光标、焦环或其它视觉指示器的移动,控制器750的导航特征的移动可在显示器(例如,显示器720)上复现。例如,在软件应用716的控制下,位于导航控制器750上的导航特征可映射到在例如用户接口722上显示的虚拟导航特征。在实施例中,控制器750可以不是单独的组件,而可以集成到平台702和/或显示器720中。然而,本公开内容不限于本文中所示或所述元素或上下文中。
在各种实现中,例如,在启用时,驱动程序(未示出)可包括允许用户在初始引导后通过按钮的点触立即开启和关闭像电视等平台702的技术。使平台“关闭”,程序逻辑也可允许平台702将内容流传送到媒体适配器或其它内容服务装置730或内容输送装置740。另外,芯片集705例如可包括对8.1环绕立体声音频和/或高清晰7.1环绕立体声的硬件和/或软件支持。驱动程序可包括用于集成图形平台的图形驱动程序。在实施例中,图形驱动程序可包括***组件互连(PCI) Express图形卡。
在各种实现中,***700中所示任何一个或几个组件均可集成。例如,平台702和内容服务装置730可集成,或者平台702和内容输送装置740可集成,或者平台702、内容服务装置730和内容输送装置740可集成。在各种实施例中,平台702和显示器720可以是集成单元。例如,显示器720和内容服务装置730可集成,或者显示器720和内容输送装置740可集成。这些示例无意限制本公开内容。
在各种实施例中,***700可实现为无线***、有线***或两者的组合。在实现为无线***时,***700可包括适合通过无线共享介质通信的组件和接口,如一个或几个天线、发射器、接收器、收发信机、放大器、滤波器、控制逻辑等等。无线共享介质的一个示例可包括部分无线频谱,如RF频谱等。在实现为有线***时,***700可包括适合通过有线通信介质通信的组件和接口,如输入/输出(I/O)适配器、将I/O适配器与对应有线通信介质连接的物理连接器、网络接口卡(NIC)、光盘控制器、视频控制器、音频控制器及诸如此类。有线通信介质的示例可包括导线、电缆、金属引脚、印刷电路板(PCB)、背板、交换结构、半导体材料、双绞线、同轴电缆、光纤等等。
平台702可建立一个或几个逻辑或物理信道以传递信息。信息可包括媒体信息和控制信息。媒体信息可指表示对用户有意义的内容的任何数据。内容的示例例如可包括来自话音交谈、视频会议、流传送视频、电子邮件(“email”)消息、话音邮件消息、字母数字符号、图形、图像、视频、文本等的数据。来自话音交谈的数据例如可以是语音信息、静音期间、背景噪声、柔和噪声、音调等等。控制信息可指表示对自动化***有意义的命令、指令或控制字的任何数据。例如,控制信息可用于通过***路由媒体信息,或者指示节点以预定方式处理媒体信息。然而,实施例不限于图7中所示或所述元件或上下文中。
如上所述,***700可以变化的物理样式或外形实施。图8示出可实施***800的小型装置700的实现。在实施例中,例如,装置800可实现为具有无线功能的移动计算装置。移动计算装置例如可指具有处理***和如一个或几个电池等移动电源的任何装置。
如上所述,移动计算装置的示例可包括个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能装置(例如,智能电话、智能平板或智能电视)、移动因特网装置(MID)、消息传递装置、数据通信装置等等。
移动计算装置的示例也可包括布置成由人佩戴的计算机,如腕部计算机、手指计算机、指环计算机、眼镜计算机、带夹计算机、臂带计算机、鞋计算机、衣服计算机及其它可穿戴计算机。在各种实施例中,例如,移动计算装置可实现为能够执行计算机应用程序及话音通信和/或数据通信的智能电话。虽然一些实施例可通过示例,借助于实现为智能电话的移动计算装置进行描述,但可理解,其它实施例也可使用其它无线移动计算装置实现。实施例在此上下文中并不受限制。
如图8所示,装置800可包括外壳802、显示器804、输入/输出(I/O)装置806及天线808。装置800也可包括导航特征812。显示器804可包括用于显示对移动计算装置适当的信息的任何适合的显示单元。I/O装置806可包括用于将信息输入移动计算装置中的任何合适的I/O装置。I/O装置806的示例可包括字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、摇杆开关、麦克风、扬声器、话音识别装置和软件等等。信息也可通过麦克风(未示出)输入装置800中。此类信息可由话音识别装置(未示出)进行数字化。实施例在此上下文中并不受限制。
各种实施例中使用硬件元素、软件元素或两者的组合实现。硬件元素的示例可包括处理器、微处理器、电路、电路元素(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD),、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体装置、芯片、微芯片、芯片集等等。软件的示例可包括软件组件、程序、应用程序、计算机程序、***程序、机器程序、操作***软件、中间件、固件、软件模块、例程、子例程、功能、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定实施例是否使用硬件元素和/或软件元素实现可根据任何数量的因素而变化,如所需的计算速率、功率电平、耐热度、处理周期预算、输入数据率、输出数据率、存储器资源、数据总线速度及其它设计或性能约束。
至少一个实施例的一个或几个方面可由在表示处理器内各种逻辑的机器可读介质上存储的代表性指令实现,指令在由机器读取时,促使机器制造逻辑以执行本文中所述技术。称为“IP核”的此类表示可存储在有形的机器可读介质上,并且提供到各种客户或生产设施以加载到实际形成逻辑或处理器的制造机中。
虽然本文中陈述的某些特征已参照各种实现进行了描述,但描述并无限制意义。因此,本公开内容有关领域的技术人员明白本文中所述实现的各种修改及其它实现,这些均应视为在本公开内容的精神和范围内。
以下示例涉及其它实施例。
在一个示例中,用于对象检测的计算机实现的方法可包括接收输入图像。可确定输入图像的区域。经图形处理单元的视频运动估计模块,可应用线性分类器到输入图像的区域以将区域分类为对象候选区域或者拒绝区域。
在一个示例中,用于对象检测的计算机实现的方法可包括接收输入图像。可确定输入图像的区域。经图形处理单元的视频运动估计模块,可应用线性分类器到输入图像的区域以将区域分类为对象候选区域或者拒绝区域。如果该区域被分类为对象候选区域,则经图形处理单元的视频运动估计模块,可应用第二线性分类器到该区域以将该区域分类为第二级对象候选区域或者拒绝该区域。如果该区域被分类为第二级对象候选区域,则经图形处理单元的视频运动估计模块,可应用第三线性分类器到该区域以将该区域分类为第三级对象候选区域或者拒绝该区域。如果该区域被分类为第三级对象候选区域,则可将该区域传送到级联过滤器模块,并且经级联过滤器模块可处理该区域以将该区域分类为级联过滤器级对象候选区域或者拒绝该区域。级联过滤器模块可包括7级级联过滤器、增强级联过滤器、Viola-Jones级联过滤器或实现基于特征的分类的Viola-Jones级联过滤器。此外,经图形处理单元的视频运动估计模块,可确定用于视频的运动向量的估计。如果该区域被分类为级联过滤器级对象候选区域,则可合并该区域和也被分类为级联过滤器级对象候选区域的第二区域以形成合并区域。可在合并的区域上执行对象识别。应用线性分类器可包括基于在表示区域的向量与参考向量之间的绝对值差,确定绝对值差向量,使得参考向量表示零值补块、均值对象或随机代表性对象;基于绝对值差向量与加权向量的点积,确定结果值,使得加权向量可以是预训练的加权向量、标准偏差预训练加权向量的倒数、线性判别预训练加权向量或支持向量机器预训练加权向量;以及比较结果值和阈值。输入图像可包括图像文件或视频帧。级联过滤器模块可经图形处理单元或中央处理单元实现。对象识别候选区域上的对象识别可经图形处理单元或中央处理单元实现。
在其它示例中,用于在计算机上对象检测的***可包括:图形处理单元,图形处理单元包括配置成确定输入图像的区域,并且应用线性分类器到输入图像的该区域以将该区域分类为对象候选区域或者拒绝该区域的视频运动估计模块;以通信方式耦合到图形处理单元的一个或更多个处理器及以通信方式耦合到一个或更多个处理器的一个或更多个存储器库。
在另一示例中,***可还包括配置成在该区域上执行对象识别以识别区域中的对象的对象识别模块,对象包括脸部、眼睛、地标、书写字符、人或汽车。视频估计模块可配置成通过基于在表示区域的向量与参考向量之间的绝对值差,确定绝对值差向量,使得参考向量表示零值补块、均值对象或随机代表性对象,基于绝对值差向量与加权向量的点积,确定结果值,使得加权向量可以是预训练的加权向量、标准偏差预训练加权向量的倒数、线性判别预训练加权向量或支持向量机器预训练加权向量,以及比较结果值和阈值,应用线性分类器到该区域以将该区域分类为对象候选区域或者拒绝该区域。视频运动估计模块可还配置成如果该区域被分类为对象候选区域,则应用第二线性分类器到该区域以将该区域分类为第二级对象候选区域或者拒绝该区域。视频运动估计模块可还配置成如果该区域被分类为第二级对象候选区域,则应用第三线性分类器到该区域以将该区域分类为第三级对象候选区域或者拒绝该区域。视频运动估计模块可还配置成估计用于视频的运动向量。级联过滤器模块可经图形处理单元或一个或更多个处理器实现。对象识别模块可经图形处理单元或一个或更多个处理器实现。图形处理单元、一个或更多个处理器和一个或更多个存储器库可以是芯片上***。输入图像可以是图像文件或视频帧。
在又一示例中,至少一种机器可读介质可包括多个指令,指令响应在计算装置上被执行,促使计算装置执行如上述示例的任何一个示例的方法。
在还有的其它示例中,设备可包括用于执行如上述示例的任何一个示例的方法。
上述示例可包括特征的特定组合。然而,此类上述示例在此方面不受限制,并且在各种实现中,上述示例可包括只进行此类特征的子集,进行不同顺序的此类特征,进行此类特征的不同组合,和/或进行与明确列出的那些特征不同的另外特征。例如,相对于示例方法描述的所有特征可相对于示例设备、示例***和/或示例制品实现,且反之亦然。

Claims (13)

1.一种用于对象检测的计算机实现的方法,包括:
接收输入图像;
确定所述输入图像的区域;
经图形处理单元的视频运动估计模块,应用线性分类器到所述输入图像的所述区域以将所述区域分类为对象候选区域或者拒绝所述区域;
如果所述区域被分类为对象候选区域,则经所述图形处理单元的所述视频运动估计模块应用第二线性分类器到所述区域以将所述区域分类为第二级对象候选区域或者拒绝所述区域;
如果所述区域被分类为第二级对象候选区域,则经所述图形处理单元的所述视频运动估计模块应用第三线性分类器到所述区域以将所述区域分类为第三级对象候选区域或者拒绝所述区域;
如果所述区域被分类为第三级对象候选区域,则将所述区域传送到级联过滤器模块,并且经所述级联过滤器模块处理所述区域以将所述区域分类为级联过滤器级对象候选区域或者拒绝所述区域,其中所述级联过滤器模块包括7级级联过滤器,其中所述级联过滤器包括增强级联过滤器、Viola-Jones级联过滤器或实现基于特征的分类的Viola-Jones级联过滤器中的至少一个;
如果所述区域被分类为级联过滤器级对象候选区域,则合并所述区域和也被分类为级联过滤器级对象候选区域的第二区域以形成合并区域;
如果所述区域被分类为级联过滤器对象候选区域,则在所述区域上执行对象识别,其中执行所述对象识别包括识别所述区域中的对象,并且其中所述对象包括脸部、眼睛、地标、书写字符、人或汽车中的至少一个;以及
如果形成所述合并区域,则在所述合并区域上执行对象识别,
其中经所述图形处理单元的所述视频运动估计模块应用所述线性分类器到所述区域包括:
基于在表示所述区域的向量与参考向量之间的绝对值差,确定绝对值差向量;
基于所述绝对值差向量和加权向量的点积,确定结果值;以及
比较所述结果值和阈值。
2.如权利要求1所述的方法,其中所述参考向量表示零值补块、均值对象或随机代表性对象中的至少一个。
3.如权利要求1所述的方法,其中所述加权向量包括预训练加权向量、标准偏差预训练加权向量的倒数、线性判别预训练加权向量或支持向量机器预训练加权向量中的至少一个向量。
4.如权利要求1所述的方法,还包括:
如果所述区域被分类为对象识别区域,则在所述区域上执行对象识别,其中执行所述对象识别包括识别所述区域中的对象。
5.如权利要求1所述的方法,还包括:
经所述图形处理单元的所述视频运动估计模块确定用于视频的运动向量的估计。
6.如权利要求1所述的方法,其中所述输入图像包括图像文件或视频帧中的至少一个,
其中所述级联过滤器模块经所述图形处理单元或中央处理单元中的至少一个来实现,以及
其中在一个或更多个对象候选区域上执行所述对象识别包括经由所述图形处理单元或所述中央处理单元中的至少一个来执行所述对象识别。
7.一种用于计算机上的对象检测的***,包括:
图形处理单元,包括配置成确定输入图像的区域,并且应用线性分类器到所述输入图像的所述区域以将所述区域分类为对象候选区域或者拒绝所述区域的视频运动估计模块;
一个或更多个处理器,以通信方式耦合到所述图形处理单元;
一个或更多个存储器库,以通信方式耦合到所述一个或更多个处理器;
级联过滤器模块,配置成将所述区域分类为级联过滤器级对象候选区域或者拒绝所述区域,其中所述级联过滤器模块包括7级级联过滤器,其中所述级联过滤器包括增强级联过滤器、Viola-Jones级联过滤器或实现基于特征的分类的Viola-Jones级联过滤器中的至少一个;以及
对象识别模块,配置成在所述区域上执行对象识别,其中执行所述对象识别包括识别所述区域中的对象,并且其中所述对象包括脸部、眼睛、地标、书写字符、人或汽车中的至少一个,
其中所述视频运动估计模块还配置成:
如果所述区域被分类为对象候选区域,则应用第二线性分类器到所述区域以将所述区域分类为第二级对象候选区域或者拒绝所述区域;以及
如果所述区域被分类为第二级对象候选区域,则应用第三线性分类器到所述区域以将所述区域分类为第三级对象候选区域或者拒绝所述区域,
其中所述视频运动估计模块配置成应用线性分类器到所述区域以通过以下操作将所述区域分类为对象候选区域或者拒绝所述区域:
基于在表示所述区域的向量与参考向量之间的绝对值差,确定绝对值差向量;
基于所述绝对值差向量和加权向量的点积,确定结果值;以及
比较所述结果值和阈值。
8.如权利要求7所述的***,其中所述参考向量表示零值补块、均值对象或随机代表性对象中的至少一个;
其中所述加权向量包括预训练加权向量、标准偏差预训练加权向量的倒数、线性判别预训练加权向量或支持向量机器预训练加权向量中的至少一个向量。
9.如权利要求7所述的***,其中所述视频运动估计模块还配置成估计用于视频的运动向量。
10.如权利要求7所述的***,其中所述级联过滤器模块经所述图形处理单元或所述一个或更多个处理器中的至少一个来实现,并且所述对象识别模块经所述图形处理单元或所述一个或更多个处理器中的至少一个来实现。
11.如权利要求7所述的***,其中所述视频运动估计模块还配置成估计用于视频的运动向量,
其中所述级联过滤器模块经所述图形处理单元或所述一个或更多个处理器中的至少一个来实现,
其中所述对象识别模块经所述图形处理单元或所述一个或更多个处理器中的至少一个来实现,
其中所述图形处理单元、所述一个或更多个处理器和所述一个或更多个存储器库包括芯片上***,以及
其中所述输入图像包括图像文件或视频帧中的至少一个。
12.一种机器可读介质,包括:
多个指令,所述指令响应在计算装置上被执行,促使所述计算装置执行如权利要求1到6任一项所述的方法。
13.一种用于对象检测的设备,包括:
用于执行如权利要求1到6任一项所述方法的部件。
CN201280077195.9A 2012-12-20 2012-12-20 使用视频运动估计模块的加速对象检测过滤器 Expired - Fee Related CN104781828B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/087017 WO2014094275A1 (en) 2012-12-20 2012-12-20 Accelerated object detection filter using a video motion estimation module

Publications (2)

Publication Number Publication Date
CN104781828A CN104781828A (zh) 2015-07-15
CN104781828B true CN104781828B (zh) 2020-09-15

Family

ID=50977564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280077195.9A Expired - Fee Related CN104781828B (zh) 2012-12-20 2012-12-20 使用视频运动估计模块的加速对象检测过滤器

Country Status (6)

Country Link
US (1) US9141855B2 (zh)
EP (1) EP2936383A4 (zh)
JP (1) JP6026007B2 (zh)
CN (1) CN104781828B (zh)
TW (1) TWI541762B (zh)
WO (1) WO2014094275A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101951729B1 (ko) * 2013-01-06 2019-02-26 인텔 코포레이션 터치 데이터의 분산된 전처리와 디스플레이 영역 제어를 위한 방법, 장치, 및 시스템
CN105303163B (zh) * 2015-09-22 2019-03-01 深圳市华尊科技股份有限公司 一种目标检测的方法及检测装置
US10275684B2 (en) * 2015-11-04 2019-04-30 Samsung Electronics Co., Ltd. Authentication method and apparatus, and method and apparatus for training a recognizer
US10152630B2 (en) 2016-08-09 2018-12-11 Qualcomm Incorporated Methods and systems of performing blob filtering in video analytics
US11190335B2 (en) * 2018-01-23 2021-11-30 Intel Corporation Method and apparatus for performing non-unique data pattern detection and alignment in a receiver implemented on a field programmable gate array
JP6977624B2 (ja) 2018-03-07 2021-12-08 オムロン株式会社 物体検出装置、物体検出方法、およびプログラム
US10796157B2 (en) * 2018-03-13 2020-10-06 Mediatek Inc. Hierarchical object detection and selection
CN108958474A (zh) * 2018-05-29 2018-12-07 西北工业大学 一种基于误差权重的动作识别多传感信息融合方法
US11373063B2 (en) * 2018-12-10 2022-06-28 International Business Machines Corporation System and method for staged ensemble classification

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070091203A1 (en) * 2005-10-25 2007-04-26 Peker Kadir A Method and system for segmenting videos using face detection
CN101340578A (zh) * 2007-07-03 2009-01-07 株式会社日立制作所 运动矢量估计装置、编码器及摄像机
CN101350069A (zh) * 2007-06-15 2009-01-21 三菱电机株式会社 从训练数据构建分类器并使用分类器检测在测试数据中的移动对象的计算机实现方法
CN101877058A (zh) * 2010-02-10 2010-11-03 杭州海康威视软件有限公司 人流量统计的方法及***
CN102819751A (zh) * 2012-08-21 2012-12-12 长沙纳特微视网络科技有限公司 一种基于动作识别的人机互动方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61145599A (ja) * 1984-12-19 1986-07-03 日本電気株式会社 連続音声認識装置
US6167390A (en) * 1993-12-08 2000-12-26 3M Innovative Properties Company Facet classification neural network
US7508990B2 (en) * 2004-07-30 2009-03-24 Euclid Discoveries, Llc Apparatus and method for processing video data
US9319708B2 (en) * 2006-06-16 2016-04-19 Via Technologies, Inc. Systems and methods of improved motion estimation using a graphics processing unit
JP4933186B2 (ja) * 2006-07-26 2012-05-16 キヤノン株式会社 画像処理装置、画像処理方法、プログラム及び記憶媒体
US7908233B2 (en) * 2007-06-29 2011-03-15 International Business Machines Corporation Method and apparatus for implementing digital video modeling to generate an expected behavior model
JP2010204947A (ja) * 2009-03-03 2010-09-16 Toshiba Corp オブジェクト検出装置、オブジェクト検出方法、及び、プログラム
US8559672B2 (en) * 2009-06-01 2013-10-15 Hewlett-Packard Development Company, L.P. Determining detection certainty in a cascade classifier
CN102375993A (zh) 2010-08-23 2012-03-14 索尼公司 目标检测方法和设备
US8737747B2 (en) * 2011-02-14 2014-05-27 Xerox Corporation Method for automated tire detection and recognition

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070091203A1 (en) * 2005-10-25 2007-04-26 Peker Kadir A Method and system for segmenting videos using face detection
CN101350069A (zh) * 2007-06-15 2009-01-21 三菱电机株式会社 从训练数据构建分类器并使用分类器检测在测试数据中的移动对象的计算机实现方法
CN101340578A (zh) * 2007-07-03 2009-01-07 株式会社日立制作所 运动矢量估计装置、编码器及摄像机
CN101877058A (zh) * 2010-02-10 2010-11-03 杭州海康威视软件有限公司 人流量统计的方法及***
CN102819751A (zh) * 2012-08-21 2012-12-12 长沙纳特微视网络科技有限公司 一种基于动作识别的人机互动方法及装置

Also Published As

Publication number Publication date
EP2936383A4 (en) 2016-08-24
JP2015536517A (ja) 2015-12-21
CN104781828A (zh) 2015-07-15
EP2936383A1 (en) 2015-10-28
WO2014094275A1 (en) 2014-06-26
US20140348434A1 (en) 2014-11-27
TWI541762B (zh) 2016-07-11
US9141855B2 (en) 2015-09-22
TW201432623A (zh) 2014-08-16
JP6026007B2 (ja) 2016-11-16

Similar Documents

Publication Publication Date Title
CN104781828B (zh) 使用视频运动估计模块的加速对象检测过滤器
US9342749B2 (en) Hardware convolution pre-filter to accelerate object detection
US11538164B2 (en) Coupled multi-task fully convolutional networks using multi-scale contextual information and hierarchical hyper-features for semantic image segmentation
US9860553B2 (en) Local change detection in video
US20240112035A1 (en) 3d object recognition using 3d convolutional neural network with depth based multi-scale filters
US10430694B2 (en) Fast and accurate skin detection using online discriminative modeling
US9292927B2 (en) Adaptive support windows for stereoscopic image correlation
TWI617996B (zh) 使用方向性濾波之物件檢測技術
US9525803B2 (en) Object detection using motion estimation
WO2014189613A1 (en) Skin tone tuned image enhancement
CN113168502A (zh) 用于可变计算资源的动态自适应卷积神经网络
US20140192133A1 (en) Content aware selective adjusting of motion estimation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200915

Termination date: 20211220