CN104781827A - 用于加速对象检测的硬件卷积预过滤 - Google Patents

用于加速对象检测的硬件卷积预过滤 Download PDF

Info

Publication number
CN104781827A
CN104781827A CN201280077133.8A CN201280077133A CN104781827A CN 104781827 A CN104781827 A CN 104781827A CN 201280077133 A CN201280077133 A CN 201280077133A CN 104781827 A CN104781827 A CN 104781827A
Authority
CN
China
Prior art keywords
object detection
detection zones
pixel
module
cascaded 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.)
Granted
Application number
CN201280077133.8A
Other languages
English (en)
Other versions
CN104781827B (zh
Inventor
J.李
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 CN104781827A publication Critical patent/CN104781827A/zh
Application granted granted Critical
Publication of CN104781827B publication Critical patent/CN104781827B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • 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/24Classification techniques
    • G06F18/245Classification techniques relating to the decision surface
    • G06F18/2451Classification techniques relating to the decision surface linear, e.g. hyperplane
    • 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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20024Filtering details

Landscapes

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

Abstract

描述与基于硬件的卷积预过滤以加速对象检测相关的系统、设备、制品和方法。

Description

用于加速对象检测的硬件卷积预过滤
技术领域
对象检测具有广泛的应用。例如,面部检测可以被用在人类计算机交互、相册管理、生物认证、视频监视、自动聚焦成像以及各种其它视觉系统中。人类检测可被用在视频监视、先进的驾驶员辅助系统等等中。其它对象检测示例包含交通监控、自动化泊车、字符识别、制造质量控制、对象计数和质量监控。
在一些现有的对象检测系统中,维奥拉-琼斯(Viola-Jones)级联检测框架被使用。在维奥拉-琼斯级联检测框架中,输入图像用滑动的窗口来扫描以使用级联分类器探测目标是否存在窗口中。这样的方法在计算上密集。基于软件和硬件的实施方式已经被提出,然而特别在图像和视频分辨率增加时对于现有的实施方式存在一些限制。在软件实施方式中,可以可能实现实时的对象检测。在图形处理单元(GPU)实施方式中,这样的方法可能消耗大多数或所有的计算资源,使得资源不可用于其它任务。其它硬件实施方式,诸如现场可编程门阵列(FPGA)和数字信号处理器(DSP)实施方式在硬件固定时可能不是可重构的。
因为对象检测可以被用在这样广泛的应用中,所以使对象检测更高效地执行是可能所期望的。
附图说明
在本文中描述的材料在附图中通过示例的方式并且不通过限制的方式来图解。为了图解的简单和清晰起见,在附图中图解的元件不必按比例绘制。例如,一些元件的大小为了清晰起见可以相对于其它元件而被放大。进一步,在被认为适当的地方,参考标记已经在附图当中被重复以指示对应或类似的元件。附图中:
图1是示例对象检测和/或识别系统的说明图;
图2是图解示例对象检测和/或识别过程的流程图;
图3是操作中的示例对象检测和/或识别过程的说明图;
图4是图解进一步示例对象检测和/或识别过程的流程图;
图5是示例对象检测和/或识别系统的说明图;
图6是进一步示例对象检测和/或识别系统的说明图;
图7是示例系统的说明图;以及
图8是示例系统的说明图,所有依据本公开的至少一些实施方式来布置。
具体实施方式
一个或多个实施例或实施方式现在参考附图来描述。虽然特定配置和布置被讨论,但是应当理解的是,这样做仅仅为了说明的目的。相关领域中的技术人员将认识到,在没有脱离本描述的精神和范围的情况下,其它配置和布置可以被采用。对于相关领域中的技术人员将显而易见的是,在本文中描述的技术和/或布置也可以被采用在除了在本文中描述的以外的各种其它系统和应用中。
虽然下面的描述阐明可以被表明在诸如例如片上系统(SoC)架构的架构中各种实施方式,但是在本文中描述的技术和/或布置的实施方式不被约束到特别的架构和/或计算系统并且可以为了类似的目的被任何架构和/或计算系统实施。例如,采用例如多个集成电路(IC)芯片和/或封装、和/或各种计算装置和/或消费者电子(CE)装置(诸如机顶盒、智能电话机)等的各种架构可以实施在本文中描述的技术和/或布置。进一步,虽然下面描述可以阐明许多特定细节,诸如系统部件的逻辑实施方式、类型和相互关系、逻辑分区/集成选择等,但是要求保护的主题可以在没有这样的特定细节的情况下被实践。在其它实例中,为了不使在本文中公开的材料模糊,诸如例如控制结构和全软件指令序列的一些材料可以不被详细示出。
在本文中公开的材料可以以硬件、固件、软件或其任何组合来实施。在本文中公开的材料也可以被实施为存储在机器可读介质上的指令,该指令可以被一个或多个处理器读取和执行。机器可读介质可以包含用于以由机器(例如计算装置)可读的形式来存储或传送信息的任何介质和/或机构。例如,机器可读介质可以包含只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光学存储介质;闪速存储器装置;传播信号的电的、光学的、声学的或其它形式(例如载波、红外信号、数字信号等)等等。
在说明书中对“一个实施方式”、“实施方式”、“示例实施方式”等的参考指示所描述的实施方式可以包含特别特征、结构或特性,但是每个实施方式可以不必包含该特别特征、结构或特性。而且,这样的短语不必指代相同的实施方式。进一步,在与实施方式结合来描述特别的特征、结构或特性时,要被认为的是,与无论是否在本文中被明确描述的其它实施方式结合来实现这样的特征、结构或特性是在本领域技术人员的知识范围内。
与用于加速对象检测的基于硬件的卷积预过滤相关的系统、设备、制品和方法被描述。
如上面描述的,对象检测具有广泛的应用。然而,对象检测的当前实施方式计算上密集并且具有限制,诸如不实现实时对象检测和/或识别,从而消耗大部分或所有的可用计算资源并且是功率密集的。
如下面更详细描述的,基于硬件卷积预过滤可以加速对象检测并且提供更大效率,使得实时对象检测和/或对象识别可以被获得并且计算资源和功率可以被节省。例如,输入图像与预先训练的卷积核的卷积可以提供过滤的图像。可以将阈值施加到过滤的图像以生成包含掩蔽和未掩蔽像素的掩蔽图像。掩蔽像素因为很可能不含关注的对象而可能被丢弃。对于未掩蔽像素,级联过滤可以被施加,未掩蔽像素可以已经通过卷积和阈值预过滤。级联过滤可以包含几个顺序的级。个体未掩蔽像素可以去到第一级并且如果它通过该级,则继续到第二级。如果像素未通过该级,则它可以被丢弃。用这样的方式,通过的像素可以在顺序的级处被测试。通过所有级的像素可以与区域(对象检测区域)相关,该区域可以很可能含关注的对象的部分或对象。通常,对象检测区域可以是与通过的像素相关的区域,使得过程或系统可以在该区域中已经检测到对象或对象的部分。在一些示例中,区域可以是在通过的像素周围的许多像素(例如32×32像素),其中通过的像素在区域的中心处。对象检测区域可以可选地被一起合并和传递用于进一步处理,诸如对象识别处理。
通常,如在本文中讨论的对象检测可以包含在输入图像中检测对象(即关注的类别的对象)可以在输入图像中的什么地方。例如,在面部检测中,检测可以包含检测面部。进一步,如在本文中讨论的对象识别可以包含识别特别的对象(即关注的类别的个体)。例如,在面部识别中,识别可以包含标识哪个人与检测的面部关联。所描述的基于硬件的卷积预过滤可以提供用于对象检测和/或识别实施方式的快速、可靠和低计算和功率成本的过程。
图1是对象检测和/或识别的示例系统100的说明图,该示例系统100依据本公开的至少一些实施方式来布置。如示出的,系统100可以包含经由硬件120实施的卷积模块122、阈值模块130和级联过滤模块140。在各种实施方式中,系统100可以被配置成执行包含执行对象检测预过滤的对象检测和/或对象识别。如下面进一步讨论的,系统100可以经由各种硬件实施方式利用卷积模块122可以经由硬件120来实施的共同性而被采用。通常,硬件120可以包含专用于或至少部分专用于执行卷积126的硬件或硬件的部分(例如,数字信号处理器、现场可编程门阵列、图形处理单元、或其它硬件加速器)。在各种实施方式中,阈值模块130和/或级联过滤模块140可以经由系统100的硬件120或其它部件(诸如(多个)中央处理单元或图形处理单元)来实施,该其它部件下面被进一步讨论,但是为了清晰起见不被示出在图1中。
如下面进一步讨论的,系统100也可以包含合并模块和/或对象识别模块,其为了清晰起见不被示出在图1中。进一步,在一些示例中,系统100可以包含附加的项目,其为了清晰起见不被示出在图1中。例如,系统100可以包含射频类型(RF)收发器、显示器、天线、扬声器、麦克风、加速度计、存储器、路由器、网络接口逻辑等。
在一些示例中,系统100可以执行对象检测操作或对象检测预过滤操作。例如,系统100可以接收输入图像110,其可以包含关注的一个或多个对象112。通常,输入图像110可以是任何合适的图像或视频数据,诸如例如图像文件或视频帧等等。关注的对象112通常可以包含针对对象检测和/或识别可以是期望的任何对象,诸如例如面部、眼睛、陆标、书写字符、人类或汽车等等。在图1中,面部检测和/或识别被用作说明性示例。如将要理解的是,在一些示例中,输入图像110可以不包含关注的对象。
如在图1中示出的,在硬件120的卷积模块122处,输入图像110与卷积核124的卷积126可以被执行以生成过滤的图像128。通常,卷积126可以提供输入图像110的修改的版本(即过滤的图像128)。例如,卷积126可以根据输入图像110的转变来提供输入图像110与卷积核124之间的重叠。在一些示例中,输入图像110的卷积126可以以逐像素的基础来执行。卷积核124可以包含用于经由卷积126生成过滤的图像128的任何合适的核或模板。例如,卷积核124可以包含预先设计的卷积核或预先训练的卷积核。预先训练的卷积核可以通过使用由大规模训练集训练的线性分类器来生成。训练集可以例如包含多个含有对象的图像和多个不含有对象的图像。如上面讨论的,卷积模块121可以经由硬件120来实施。在各种实施方式中,硬件120可以包含数字信号处理器、现场可编程门阵列、图形处理单元或其它硬件加速器等等。
如在图1中示出的,阈值模块130可以将阈值施加到过滤的图像128以生成掩蔽图像132。通常,阈值模块130可以以任何合适的方式(诸如例如以逐像素的基础)将阈值施加到过滤的图像。施加的阈值可以包含例如预定阈值、预先训练的阈值、卷积结果预先训练的阈值等等。掩蔽图像132可以包含多个掩蔽像素和多个未掩蔽像素。通常,掩蔽像素可以被视为很可能不包含关注的对象或关注的对象的部分,而未掩蔽像素可以被视为很可能(或至少要求进一步处理以确定是否它们可以)包含关注的对象或关注的对象的部分。通常,掩蔽像素可以被丢弃。掩蔽像素(并且由此输入图像110的部分或区)的这样的丢弃可以大大减少随后处理要求,因为级联过滤模块将不需要处理拒绝的或丢弃的像素。或者,如将要理解的是,级联过滤模块140可以由此仅处理那些像素(即未掩蔽像素),其很可能是关注的并且生成很可能是关注的对象或关注的对象的部分的区域。
掩蔽图像132的掩蔽和未掩蔽像素可以以任何合适的方式(诸如例如通过1的值来标识掩蔽像素并且通过0的值来标识未掩蔽像素)来表示。进一步,在一些实施方式中,图像的尺寸可以不改变,使得例如输入图像110、过滤的图像128和掩蔽图像132可以是相同尺寸的。
级联过滤模块140可以将级联过滤141施加到掩蔽图像132的未掩蔽像素中的(多个)个体像素以确定一个或多个对象检测区域150,如示出的。在一些示例中,级联过滤141可以被施加到掩蔽图像132的所有未掩蔽像素。对象检测区域150可以与一个或多个通过的像素(即通过级联过滤141的所有级的像素)相关。对象检测区域150可以包含例如其中对象已经被检测到的区域。在一些示例中,对象检测区域150可以对于对象识别是候选区域,使得它们可以被称为对象识别候选区域。通常,掩蔽图像132的(多个)个体未掩蔽像素可以通过如由级联过滤模块140实施的级联过滤141来处理。如示出的,级联过滤141可以包含任何数目的级,其被图解为级1 142、级2 144和级N 146。在说明性示例中,级联过滤141可以是七级级联过滤。在级联过滤141的级142-146中,未掩蔽像素可以被测试以确定它是否通过该级。通常,级可以包含真/假测试。如果像素通过级(例如,关于像素的测试被确定是真),在图1中被图解为“T”,则像素可以被传递到下一级。如果像素未能通过级(例如,关于像素的测试被确定是假),在图1中被图解为“F”,则像素可以被拒绝、丢弃和/或标记为拒绝的148。
通常,在级联过滤的各级处实施的测试可以包含围绕正被测试的像素的像素是否可以包含关注的对象的确定。这样测试的示例可以被图解如下:
其中k可以是级联过滤141的当前级,i可以是正被测试的像素,f可以是测试函数,x可以是关注的变量,θ可以是阈值。在一些实施方式中,对于像素的测试困难可以按级增加,使得较先的级可以是更容易的并且计算上较少密集,而较后的级可以是更困难的并且计算上更密集。使用这样的技术,像素可以被更高效地丢弃,从而节省计算资源和功率。
如讨论的,级联过滤141可以包含任何合适类型的级联过滤,诸如例如维奥拉-琼斯级联过滤或框架(参见例如Paul Viola, Michael Jones,Rapid Object Detection using a Boosted Cascade of Simple Features, CVPR 2001和/或在2010年12月10日提交的、Yangzhou Du, Qiang Li的、标题为TECHNIQUES FOR FACE DETECTION AND TRACKING的PCT/CN2010/000997)。这样的对象检测技术可以允许对象检测和/或识别以包含面部检测、陆标检测、面部对准、微笑/眨眼/性别/年龄的检测、面部识别、检测两个或更多个面部等等。在一些示例中,级联过滤141可以包含增强的级联过滤。
在其它示例中,级联过滤可以包含加速鲁棒特征(SURF)级联过滤或框架(参见例如Bay等人的"Surf: Speeded up robust features," Computer Vision and Image Understanding (CVIU), 110(3), 页346-359, 2008 和/或在2011年11月1日提交的、Jianguo Li、Yimin Zhang的、标题为“OBJECT DETECTION USING EXTENDED SURF FEATURES”的PCT/CN2011/081642)。这样的对象检测技术也可以允许对象检测和/或识别包含面部检测、陆标检测、面部对准、微笑/眨眼/性别/年龄的检测、面部识别、检测两个或更多个面部等等。
如讨论的,通过级联过滤141的级的(多个)未掩蔽像素(如果有的话)可以具有相关的对象检测区域150。通常,对象检测区域150可以是围绕和包含通过级联过滤141的未掩蔽通过的像素(例如未掩蔽通过的像素可以是在对象检测区域的中心处)的区域。对象检测区域150可以具有任何尺寸或形状,诸如例如正方形形状,其具有32个像素乘32个像素或15个像素乘15个像素等等的尺寸。在其它示例中,对象检测区域150可以是矩形或圆形。
如上面讨论并且下面进一步描述的,系统100可以包含合并模块。合并模块可以将两个或更多个对象检测区域合并以形成合并的对象检测区域。这样的合并可以巩固用于简化处理的区域,使得合并的区域可以含有更多的(可能整个)关注的对象。
进一步,系统100也可以包含对象识别模块。对象识别模块可以对对象检测区域、一些对象检测区域或(多个)合并的检测区域执行对象识别。这样的对象识别可以包含在那些区域中标识关注的一个或多个对象。
在一些实施方式中,从级联过滤模块140或可选的合并模块产生的(多个)对象检测区域可以被确定包含关注的对象并且没有进一步对象检测处理可以被执行。在一些实施方式中,从级联过滤模块140产生的(多个)对象检测区域可以被进一步处理以确定(多个)区域是否包含关注的对象。
如下面将更详细讨论的,在本文中讨论的系统100或其它系统可以被用来执行一些或所有的下面与图2至4结合讨论的各种功能或先前关于图1讨论的功能。
图2是图解依据本发明的至少一些实施方式布置的示例对象检测和/或识别过程200的流程图。在图解的实施方式中,过程200可以包含如由块202、204和/或206中的一个或多个图解的一个或多个操作、功能或动作。借助于非限制的示例,过程200在本文中将参考图1的示例系统100来描述。
过程200可以被利用作为用于对象检测和/或识别的计算机实施的方法。过程200可以在块202处开始,“经由硬件执行输入图像与卷积核的卷积以生成过滤的图像”,其中过滤的图像可以通过经由硬件执行输入图像与卷积核的卷积来生成。例如,过滤的图像可以通过经由专用或至少部分专用于执行卷积的硬件或硬件的部分(例如,数字信号处理器、现场可编程门阵列、图形处理单元、或其它硬件加速器)进行的输入图像与预先训练的卷积核的卷积来生成。
处理可以从操作202继续到操作204,“将阈值施加到过滤的图像以生成具有掩蔽像素和未掩蔽像素的掩蔽图像”,其中掩蔽图像可以通过将阈值施加到过滤的图像来生成。例如,掩蔽图像可以包含多个掩蔽像素(例如,被视为很可能不包含关注的对象或关注的对象的部分的那些像素)和多个未掩蔽像素(例如,更可能包含关注的对象或关注的对象的部分的那些)。
处理可以从操作204继续到操作206,“将级联过滤施加到未掩蔽像素的个体像素以确定与通过级联过滤的一个或多个像素相关的一个或多个对象检测区域”,其中级联过滤可以被施加到未掩蔽像素的个体像素以确定与通过级联过滤的一个或多个(如果有的话)像素相关的一个或多个(如果有的话)对象检测区域。例如,级联过滤可以是多级级联过滤。
产生的对象检测区域(如果有的话)可以被可选地合并。它们也可以通过对区域执行对象识别来进一步处理以在区域中标识关注的对象或关注的对象的部分。
与过程200相关的一些附加和/或替代的细节可以被图解在下面关于图3和/或4更详细讨论的实施方式的一个或多个示例中。
图3是在操作中的用于对象检测和/或识别的依据本公开的至少一些实施方式布置的示例系统100和过程300的说明图。在图解的实施方式中,过程300可以包含一个或多个操作、功能或动作,其由动作312、314、316、322、324、332、334、336、342、344和/或352中的一个或多个来图解。借助于非限制的示例,过程300在本文中将参考图1的示例系统100来描述。
在图解的实施方式中,系统100可以包含模块302、同类物和/或其组合。例如,模块306可以包含卷积模块122、阈值模块130、级联过滤模块140、合并模块155、对象识别模块160等等和/或其组合。卷积模块122可以用硬件120来实施并且可以被配置成执行输入图像与卷积核的卷积以生成过滤的图像。阈值模块130可以被配置成将阈值施加到过滤的图像以生成具有多个掩蔽像素和多个未掩蔽像素的掩蔽图像。级联过滤模块140可以被配置成对多个未掩蔽像素的个体像素执行级联过滤以确定与通过级联过滤的一个或多个像素相关的一个或多个对象检测区域。合并模块155可以被配置成将两个或更多个对象检测区域合并以形成合并的对象检测区域。对象识别模块160可以被配置成对对象检测区域和/或合并的对象检测区域执行对象识别。如讨论的,卷积模块122可以经由硬件120来实施。阈值模块130、级联过滤模块140、合并模块155和对象识别模块160可以被实施在如在本文中并且特别关于图5和6进一步讨论的各种实施方式中。
过程300可以被利用作为用于对象检测和/或识别的计算机实施的方法。过程300可以在块312处开始,“接收输入图像”,其中输入图像可以被接收。例如,输入图像可以在卷积模块122处被接收。输入图像可以通过任何合适的技术来接收并且可以通过系统100从另一个装置来接收或者可以在系统100中被内部生成并且从系统100的另一个模块传递到卷积模块122。
处理可以从操作312继续到操作314,“执行输入图像与卷积核的卷积”,其中输入图像与卷积核的卷积可以由卷积模块122执行以生成过滤的图像。例如,卷积可以基于预先训练的卷积核来执行。例如,卷积模块可以被维持在存储器中并且可以随着时间而被更新或训练。
处理可以从操作314继续到操作316,“传递过滤的图像”,其中可以将过滤的图像从卷积模块122传递到阈值模块130。
处理可以从操作316继续到操作322,“将阈值施加到过滤的图像”,其中阈值可以由阈值模块130施加到过滤的图像以形成掩蔽图像。例如,掩蔽图像可以包含未掩蔽像素,其可以是受关注用于进一步处理的,以及掩蔽像素,其可以被丢弃用于进一步处理。
处理可以从操作322继续到操作324,“传递掩蔽图像”,其中可以将掩蔽图像从阈值模块130传递到级联过滤模块140。
过滤可以从操作324继续到操作332,“施加级联过滤”,其中级联过滤可以被级联过滤模块140施加到掩蔽图像的未掩蔽像素。例如,多级级联过滤可以被施加到未掩蔽像素以确定通过的像素(即通过级联过滤的所有级的像素)。通过的像素可以与对象检测区域相关,该对象检测区域可以例如是围绕并且包含通过的像素的区域。未通态级联过滤的任何级的像素可以被拒绝和/或丢弃。
处理可以从操作332继续到操作334或336,两者被标注为“传递对象检测区域”,其中一个或多个对象检测区域可以被传递到合并模块155和对象识别模块160。如讨论的,在一些示例中,任何确定的对象检测区域可以被合并。在其它示例中,任何确定的对象检测区域可以被直接传到对象识别模块160。
处理可以从操作336继续到操作342,“合并”,其中任何接收的对象检测区域可以被合并模块155合并以形成一个或多个合并的对象检测区域。
处理可以从操作342继续到操作344,“传递合并的区域”,其中任何形成的合并的对象检测区域可以从合并模块155被传递到对象识别模块160。
处理可以从操作334或操作344继续到操作352,“识别关注的对象”,其中对象识别模块160可以对接收的对象检测区域和/或接收的合并的对象检测区域执行对象识别。对象识别模块160可以标识任何对象,其可以包含例如面部、眼睛、陆标、书写字符、人类或汽车等等。
图4是图解依据本公开的至少一些实施方式布置的示例对象检测和/或识别过程400的流程图。在图解的实施方式中,过程400可以包含一个或多个操作、功能或动作,其由块402、404、406、408、410、412、414、416、418、420、422、424、426和/或428中的一个或多个来图解。借助于非限制的示例,过程400在本文中将参考示例系统100来描述。
过程400可以被利用作为用于对象识别的计算机实施的方法。过程400可以在块402处开始,“接收输入图像”,其中输入图像可以被接收。例如,图像文件或视频帧等等可以被接收用于处理。
处理可以从操作402继续到操作404,“执行输入图像与卷积核的卷积以生成过滤的图像”,其中输入图像与卷积核的卷积可以经由在本文中讨论的硬件来执行以生成过滤的图像。操作404可以例如在卷积模块122处被执行。
处理可以从操作404继续到操作406,“将阈值施加到过滤的图像的像素”,其中阈值可以被施加到过滤的图像的像素。阈值可以包含例如预定阈值、预先训练的阈值、卷积结果预先训练的阈值等等。阈值可以被施加到过滤的图像的像素以确定像素是掩蔽还是未掩蔽像素。操作406可以例如在阈值模块130处被执行。
处理可以从操作406继续到操作408,“未掩蔽?”,其中可以基于阈值的施加确定像素是掩蔽的还是未掩蔽的。如果像素被确定是掩蔽的(即,被视为不太可能是包含关注的对象或关注的对象的部分的像素),处理可以从操作408继续到操作414,“拒绝像素”,其中像素可以被拒绝。
如果像素被确定是未掩蔽的,则处理可以从操作408继续到操作410,“利用级K来探测像素”,其中像素可以被级联过滤的级探测或测试。如将理解的是,未掩蔽像素可以被视为已经通过卷积和阈值预过滤并且可以保证进一步处理。通常,该像素(和/或围绕该像素的区域)可以被视为很可能(在处理的这个级处)包含关注的对象或关注的对象的部分。该像素可以例如使用在本文中讨论的任何技术在级联过滤的当前级处来探测或测试。
处理可以从操作410继续到操作412,“通过级K?”,其中可以确定像素是否通过级联过滤的级K。操作410和412可以例如由级联过滤模块140来执行。如果像素未能通过级K,则处理可以从操作412继续到操作414,“拒绝像素”,其中像素可以因为不太可能含有关注的对象或关注的对象的部分而被拒绝。处理可以从操作414继续到操作426,如下面进一步讨论的。
如果像素通过级K,则处理可以从操作412继续到操作416,“下一级,K=K+1”,其中级联过滤级计数可以被增加到下一级的序号(或指示所有级可以完成的高于最后级的序号)。如在本文中讨论的,级联过滤可以含有任何合适的数目的级。如将理解的,第一次经过操作410,像素可以在级1处被测试,第二次经过在级2处,以此类推,直到像素通过所有级或者未能通过级并且可以被拒绝。
处理可以从操作416继续到操作418,“通过所有级?”,其中可以确定级联过滤的所有级是否可以已经被像素通过。如果否,则像素可以被级联过滤的一个或多个附加级处理并且处理可以从操作418继续到操作410,“利用级K探测像素”,如上面讨论的。
如果像素已经通过级联过滤的所有级,则处理可以从操作418继续到操作420,“(多个)通过的像素”,其中像素可以被存储为通过的像素。如在本文中讨论的,通过的像素可以与对象检测区域相关,该对象检测区域可以包含和围绕通过的像素。
处理也可以从操作420继续到操作422,“合并”,其中通过的像素和/或与通过的像素相关的对象检测区域可以被合并以形成例如(多个)合并的对象检测区域。取决于对象检测区域的配置,它们可以被合并为单个合并的对象检测区域或多个对象检测区域。合并操作可以例如由合并模块155来执行。在一些示例中,合并操作可以在所有的像素已经被评估(即被拒绝或通过)之后执行。
处理也可以从操作422继续到操作424,“对象识别”,其中可以对对象检测区域或合并的对象检测区域执行对象识别。如讨论的,对象识别处理可以包含标识区域中的对象。对象识别操作可以例如由对象识别模块160来执行。
进一步,如果像素通过所有级,则处理可以从操作418继续到操作426,“所有像素完成?”。如讨论的,处理也可以从操作414在操作426处继续。在操作426处,可以确定所有未掩蔽像素是否已经通过过程来评估。如果更多像素要求处理,则处理可以从操作426继续到操作406,“将阈值施加到过滤的图像的像素”,如上面讨论的。如果所有像素完成,处理可以从操作426继续到操作428,“结束”,其中过程可以结束。
在操作中,过程200、300、400以及关于图1讨论的操作可以提供对象识别和/或为对象识别提供预过滤。预过滤可以包含例如输入图像与卷积核的卷积以形成过滤的图像,以及将阈值施加到过滤的图像。预过滤也可以包含级联过滤。预过滤可以加速对象检测,诸如面部检测。通常,预过滤可以被认为是区域过滤或像素过滤,使得接收的输入图像的区域或像素可以被拒绝并且可以避免对那些区域或像素的随后处理。随后处理可以代之以集中在目标区域(即,很可能包含正被搜寻的对象或面部的那些区域)上。这样的技术可以允许实时的对象或面部检测,特别地就分辨率而言增加到全高清(1920×1080)和超高清(3840×2160)。
使用面部识别作为说明性示例,支持15×15卷积并且使用32×32的面部模板、30×15的卷积核的硬件可以被使用。这样的卷积核可以要求例如两个邻域15×15卷积的使用。如将理解的,指明的尺寸仅为了示例的目的,并且特别地,未来的硬件可以支持更大卷积,诸如例如31×31的卷积。卷积核可以从数据集(诸如例如具有16000个修剪的面部和300000个修剪的非面部的数据集)使用线性分类器(例如支持向量机、逻辑回归等等)来训练。进一步,级联过滤可以利用来自将卷积结果与阈值组合以形成掩蔽图像的预过滤的结果来训练,如上面讨论的。
这样的实施方式可以与仅具有级联过滤的实施方式相比。这样的级联过滤可以利用例如16000个修剪的面部和19000个修剪的非面部来训练。如将理解的是,基于它们不同的训练,这样的预先训练的级联过滤(利用修剪和未修剪的面部预先训练的)将不同于利用来自将卷积结果与阈值组合以形成掩蔽图像(如紧接的上文讨论的)的预过滤的结果来训练的级联过滤(即,卷积预先训练的级联过滤)。
为了比较两个实施方式,每窗口误报率(FPPW)被评估。下面的表格图解了结果:
  卷积和阈值预过滤+级联过滤 级联过滤
级的数目 1个卷积和阈值预过滤+7个级联过滤级 8个级联过滤级
模板尺寸 32×32 32×32
卷积核尺寸 30×15(两个15×15) 不可应用
预过滤的过滤比率 在99.9%的真报率(TPR)下为86.4% 不可应用
总的TPR 94.05% 91.29%
测试误报率(FPPW) 3.62e-7 4.27e-7
弱分类器的数目 204 251
理论加速 >5.0x 1.0x
表格1。
表格1中的结果图解使用如上面讨论的加速鲁棒特征(SURF)级联过滤的实施方式。类似的结果可以被预期用于其它级联过滤,诸如例如基于维奥拉-琼斯的级联过滤等等。
在表格1中示出的所示出的理论加速可以被确定如下。尺寸15×15的硬件卷积可以在模板具有单位8(被转换为无符号的8位整数的阵列的元素)类型的情况下以0.5像素/时钟来运行或者在模板具有整数16(被转换为16位整数的阵列的元素)类型的情况下以0.125像素/时钟来运行。无符号的8位类型可以被假定,从而意味着一个像素处的一个卷积可以要求2个时钟。卷积和阈值预过滤可以要求2个卷积和1个阈值操作,从而意味着个体像素位置可以要求5个时钟。与此相比,级联过滤的第一级的单指令多数据(SIMD)实施方式在256位下可以要求多于25个时钟。
卷积和阈值预过滤可以过滤图像中大于86%的像素(参见表格1)。与此相比,级联过滤的第一级可以过滤图像中仅75%的像素。因此,卷积和阈值预过滤技术可以是5倍(要求5个时钟而不是25个时钟)或更快,并且更有效。进一步,卷积和阈值预过滤技术连同7级级联过滤一起可以具有比标准的8级级联过滤更少的弱分类器(204比251,参见表格1)。
如讨论的,卷积和阈值预过滤技术连同在本文中讨论的级联过滤技术一起可以具有对象检测实施方式中的许多优点。首先,正如描述的那样,技术可以提供加速(上至5倍或更高)。进一步,如讨论的,卷积模块可以以硬件来实施(其它模块可以这样),这可以提供更少的功率消耗。这样的优点可以在操作的电池和/或移动装置中特别重要。而且,所讨论的实施方式可以留下有价值的计算资源(例如,在(多个)中央处理单元和/或(多个)图形处理单元处),该计算资源可用于其它同时计算需求,诸如例如视频解码、开放图形库(OpenGL)渲染等等。
虽然示例过程200、300、400和关于图1讨论的过程的实施方式可以包含以图解的顺序示出的所有块的采取,但是本公开不被限制于此并且在各种示例中,过程200和300的实施方式可以包含仅采取示出的块的子集和/或以与图解的顺序不同的顺序来采取。
此外,图1至4的块中的任何一个或多个以及关于图1讨论的过程可以响应于由一个或多个计算机程序产品提供的指令来采取。这样的程序产品可以包含信号承载介质,该信号承载介质提供指令,所述指令在被例如处理器执行时可以提供在本文中描述的功能性。计算机程序产品可以以任何形式的计算机可读介质来提供。因此,例如,包含一个或多个处理器核心的处理器可以采取在图1至4中示出的一个或多个块。
如在本文中描述的任何实施方式中使用的,术语“模块”指代被配置成提供在本文中描述的功能性的软件、固件和/或硬件的任何组合。软件可以被具体化为软件包、代码和/或指令集或指令,并且如在本文中描述的任何实施方式中使用的“硬件”可以例如单独地或以任何组合包含硬连线电路、可编程电路、状态机电路和/或存储由可编程电路执行的指令的固件。模块可以共同地或个体地被具体化为形成更大系统(例如集成电路(IC)、片上系统(SoC)等等)的部分的电路。
图5是依据本公开的至少一些实施方式布置的用于对象检测和/或识别的示例系统100的说明图。在图解的实施方式中,系统100可以包含一个或多个中央处理单元506、一个或多个存储器存储设备508、硬件120、和/或一个或多个图形处理单元504。中央处理单元506、存储器存储设备508、硬件120和图形处理单元504可以能够经由例如总线或其它通路彼此通信。
如在图5中示出并且上面讨论的,卷积模块122可以经由硬件120来实施。进一步,在各种示例中,级联过滤模块140可以经由硬件122、中央处理单元506或图形处理单元504来实施。而且,在各种示例中,合并模块155可以经由中央处理单元506或图形处理单元504来实施。类似地,在各种示例中,对象识别模块160可以经由中央处理单元506或图形处理单元504来实施。
如讨论的,硬件120可以包含例如数字信号处理器或现场可编程门阵列或其它合适的硬件加速器。硬件120可以是经由专用硬件(即专用于的卷积功能的硬件120的部分,该硬件120的部分可以实施输入图像与卷积核的卷积,如在本文中讨论的)来实施卷积模块122的硬件模块。在各种实施方式中,阈值模块130、级联过滤模块140、合并模块155、和/或对象识别模块160的实施方式可以包含硬件实施方式和/或软件实施方式。例如,经由中央处理单元506实施的模块可以经由软件来实施。经由图形处理单元504实施的模块可以例如经由硬件(如果可用的话)或经由软件(如果可应用的话)来实施。
中央处理单元506可以包含任何合适的实施方式,其包含例如(多个)微处理器、多核心处理器、专用集成电路、(多个)芯片、芯片组等等。进一步,图形处理单元504可以包含任何合适的实施方式,其包含例如(多个)处理器、多核心处理器、专用集成电路、可编程逻辑器件、图形卡、集成的图形设备、(多个)通用图形处理单元等等。此外,存储器存储设备508可以是任何类型的存储器,诸如易失性存储器(例如,静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等)或非易失性存储器(例如闪速存储器等)等等。在非限制的示例中,存储器存储设备508可以通过高速缓冲存储器来实施。在各种示例中,系统100可以被实施为芯片组或片上系统。
图6是依据本公开的至少一些实施方式布置的用于对象检测和/或识别的进一步示例系统100的说明图。在图解的实施方式中,系统100可以包含一个或多个中央处理单元506、一个或多个存储器存储设备508、和/或一个或多个图形处理单元504。中央处理单元506、存储器存储设备508和图形处理单元504可以能够经由例如总线或其它通路彼此通信。
如将理解的,图6的实施方式类似于图5的实施方式,除了卷积模块122可以经由图形处理单元504来实施以外,如示出的。图形处理单元504可以经由专用的硬件(即专用于的卷积功能的图形处理单元504的部分,该图形处理单元504的部分可以实施输入图像与卷积核的卷积,如在本文中讨论的)来实施卷积模块122。通常,卷积模块122可以是经由图形处理单元504基于硬件的实施方式。进一步,在各种示例中,阈值模块可以经由图形处理单元504来实施。而且,在各种示例中,级联过滤模块140可以经由中央处理单元506或图形处理单元504来实施。在各种示例中,合并模块155可以经由中央处理单元506或图形处理单元504来实施。类似地,在各种示例中,对象识别模块160可以经由中央处理单元506或图形处理单元504来实施。
如讨论的,在各种实施例中,阈值模块130、级联过滤模块140、合并模块155、和/或对象识别模块160的实施方式可以包含硬件实施方式和/或软件实施方式。例如,经由中央处理单元506实施的模块可以经由软件来实施。经由图形处理单元504实施的模块可以例如经由硬件(如果可用的话)或经由软件(如果可应用的话)来实施。而且如讨论的,中央处理单元506可以包含任何合适的实施方式,其包含例如(多个)微处理器、多核心处理器、专用集成电路、(多个)芯片、芯片组等等。进一步,图形处理单元504可以包含任何合适的实施方式,其包含例如(多个)处理器、多核心处理器、专用集成电路、可编程逻辑器件、图形卡、集成的图形设备、(多个)通用图形处理单元等等。此外,存储器存储设备508可以是任何类型的存储器,诸如易失性存储器(例如,静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等)或非易失性存储器(例如闪速存储器等)等等。在非限制的示例中,存储器存储设备508可以通过高速缓冲存储器来实施。在各种示例中,系统100可以被实施为芯片组或片上系统。
图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中的部件中的任何一个和从内容提供者和系统700中的部件中的任何一个传送。内容的示例可以包含任何媒体信息,其包含例如视频、音乐、医学和游戏信息等等。
(多个)内容服务装置730可以接收包含媒体信息、数字信息、和/或其它内容的内容,诸如有线电视节目。内容提供者的示例可以包含任何有线或卫星电视或无线电设备或因特网内容提供者。提供的示例不意在以任何方式来限制依据本公开的实施方式。
在各种实施方式中,平台702可以从导航控制器750接收控制信号,该导航控制器750具有一个或多个导航特征。控制器750的导航特征可以例如被用来与用户接口722交互。在实施例中,导航控制器750可以是定点装置,其可以是计算机硬件部件(特别地,人机界面装置),该计算机硬件部件允许用户将空间(例如,连续和多维)的数据输入到计算机中。许多系统(诸如图形用户接口(GUI)和电视以及监视器)允许用户控制并且使用身体手势来提供数据到计算机或电视。
控制器750的导航特征的运动可以通过显示在显示器上的指针、光标、聚焦环或其它视觉指示器的运动在显示器(例如显示器720)上重复。例如,在软件应用程序716的控制下,位于导航控制器750的导航特征可以例如被映射到显示在用户接口722上的虚拟导航特征。在实施例中,控制器750可以不是分离部件而是可以被集成到平台702和/或显示器720中。然而,本公开不限于在本文中示出或描述的上下文中或元件。
在各种实施方式中,驱动器(未示出)可以包含如下技术:例如在被启用时,使用户能够在初始启动之后利用按钮的触摸将平台702像电视那样立即打开和关闭。程序逻辑可以允许平台702甚至在平台被“关闭”时将内容流送到媒体适配器或(多个)其它内容服务装置730或(多个)内容输送装置740。此外,芯片组705可以包含例如对8.1环绕声音频和/或高清晰度(7.1)环绕声音频支持的硬件和/或软件。驱动器可以包含针对集成图形平台的图形驱动器。在实施例中,图形驱动器可以包括快速外围部件互连(PCI)图形卡。
在各种实施方式中,在系统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图解其中系统700可以被具体化的小的形状因子装置800的实施方式。在实施例中,例如,装置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核心”)可以被存储在有形的、机器可读的介质上并且被供给到各种消费者或制造设施以加载到实际制备该逻辑或处理器的制作机器中。
虽然在本文中阐明的某些特征已经参考各种实施方式来描述,但是该描述不旨在以限制的意义进行解释。因此,对于在本公开所属领域内的技术人员而言是清楚的在本文中描述的实施方式的各种修改以及其它实施方式被视为处于本公开的精神和范围内。
下面的示例涉及进一步实施例。
在一个示例中,用于对象检测的计算机实施的方法可以包含经由硬件执行输入图像与卷积核的卷积以生成过滤的图像。阈值可以被施加到过滤的图像以生成掩蔽图像,其具有掩蔽像素和未掩蔽像素。级联过滤可以被施加到掩蔽图像的未掩蔽像素中的个体像素以确定与通过级联过滤的一个或多个像素相关的对象检测区域。
在一个示例中,用于对象识别的计算机实施的方法可以包含经由硬件执行输入图像与卷积核的卷积以生成过滤的图像。阈值可以被施加到过滤的图像以生成具有掩蔽像素和未掩蔽像素的掩蔽图像。级联过滤可以被施加到掩蔽图像的未掩蔽像素的个体像素以确定与通过级联过滤的一个或多个像素相关的一个或多个对象检测区域。进一步,图像可以被接收。对象识别可以对一个或多个对象区域执行使得执行对象识别可以包含标识对象区域中的对象。对象可以是面部、眼睛、陆标、书写字符、人类或汽车。进一步,两个或更多个对象区域可以被合并以形成合并的对象区域。输入图像可以包含图像文件或视频帧。硬件可以包含数字信号处理器、图形处理单元或现场可编程门阵列。卷积核可以包含设计的卷积核或预先训练的卷积核或由大规模训练集训练的线性分类器,大规模训练集包含含有对象的图像和不含有对象的图像。将阈值施加到过滤的图像可以包含施加预先训练的阈值或施加卷积结果预先训练的阈值。执行卷积可以包含以逐像素的基础来执行输入图像的卷积。将阈值施加到过滤的图像可以包含以逐像素的基础将阈值施加到过滤的图像。输入图像、过滤的图像和掩蔽图像可以是相同尺寸的。掩蔽像素可以由1的值来标识并且未掩蔽像素可以由0的值来标识。施加级联过滤可以包含施加七级级联过滤。施加级联过滤可以包含针对级联过滤的第一级确定多个未掩蔽像素的第一未掩蔽像素是否通过第一级以及如果第一未掩蔽像素通过第一级,则将第一未掩蔽像素传递到级联过滤的第二级,或者如果第一未掩蔽像素未能通过第一级,则拒绝第一未掩蔽像素。对象检测区域可以与通过的像素相关,第一对象区域可以具有32个像素乘32个像素的尺寸,以及第一通过的像素可以在第一对象区域的中心。级联过滤可以包含维奥拉-琼斯级联过滤或增强的级联过滤。
进一步,将阈值施加到过滤的图像可以包含经由数字信号处理器、图形处理单元或现场可编程门阵列将阈值施加到过滤的图像。施加级联过滤可以包含经由图形处理单元或中央处理单元施加级联过滤。对对象检测区域执行对象识别可以包含经由中央处理单元对对象区域执行对象识别。将两个或更多个对象检测区域合并可以包含经由中央处理单元将两个或更多个对象检测区域合并。
在其它示例中,计算机上的对象识别系统可以包含一个或多个处理器、一个或多个存储器存储设备、硬件模块、阈值模块、和级联过滤模块、和/或其组合。一个或多个处理器可以通信地耦合到硬件模块。一个或多个存储器存储设备可以通信地耦合到一个或多个处理器。硬件模块可以被配置成执行输入图像与卷积核的卷积以生成过滤的图像。阈值模块可以被配置成将阈值施加到过滤的图像以生成具有掩蔽像素和未掩蔽像素的掩蔽图像。级联过滤模块可以被配置成针对未掩蔽像素的个体像素执行级联过滤以确定与通过级联过滤的像素相关的对象区域。
在另一个示例中,计算机上的对象识别系统可以进一步包含图形处理单元、合并模块和对象识别模块。图形处理单元可以通信地耦合到一个或多个处理器。合并模块可以被配置成将两个或更多个对象区域合并以形成合并的对象区域。对象识别模块可以被配置成对对象区域或合并的对象区域执行对象识别。
在另一个示例中,系统可以进一步包含对象,其包含面部、眼睛、陆标、书写字符、人类或汽车。输入图像可以包含图像文件或视频帧。硬件模块可以包含数字信号处理器、图形处理单元或现场可编程门阵列。卷积核可以包含设计的卷积核或预先训练的卷积核或由大规模训练集训练的线性分类器,大规模训练集包含含有对象的图像和不含有对象的图像。阈值模块可以被进一步配置成施加预先训练的阈值或卷积结果预先训练的阈值中的至少一个。硬件模块可以被进一步配置成以逐像素的基础来执行输入图像的卷积。阈值模块可以被进一步配置成以逐像素的基础将阈值施加到过滤的图像。输入图像、过滤的图像和掩蔽图像可以是相同尺寸的。掩蔽像素可以由1的值来标识并且未掩蔽像素由0的值来标识。级联过滤模块可以包含七级级联过滤。级联过滤模块可以被进一步配置成通过如下执行级联过滤:针对级联过滤的第一级确定第一未掩蔽像素是否通过第一级,以及如果第一未掩蔽像素通过第一级,则将第一未掩蔽像素传递到级联过滤的第二级,或者如果第一未掩蔽像素未能通过第一级,则拒绝第一未掩蔽像素。对象区域可以与通过的像素相关,第一对象区域可以具有32个像素乘32个像素的尺寸,并且第一通过的像素可以在第一对象区域的中心。级联过滤可以包含维奥拉-琼斯级联过滤或增强的级联过滤。
在进一步示例中,至少一个机器可读介质可以包含多个指令,其响应于在计算装置上被执行,使计算装置执行依据上面示例的任何一个的方法。
在又进一步示例中,设备可以包含用于执行依据上面示例的任何一个的方法的单元。
上面示例可以包含特征的特定组合。然而,这样的上面示例不被限制于此,并且在各种实施方式中,上面示例可以包含采取这样特征的子集、采取这样特征的不同顺序、采取这样特征的不同组合、和/或采取不同于明确列出的那些特征的附加特征。例如,关于示例方法描述的所有特征可以关于示例设备、示例系统、和/或示例制品来实施,并且反之亦然。

Claims (31)

1.一种用于对象检测的计算机实施的方法,包括:
经由硬件执行输入图像与卷积核的卷积以生成过滤的图像;
将阈值施加到过滤的图像以生成具有多个掩蔽像素和多个未掩蔽像素的掩蔽图像;以及
将级联过滤施加到掩蔽图像的多个未掩蔽像素的个体像素以确定与通过级联过滤的一个或多个像素相关的一个或多个对象检测区域。
2.权利要求1的所述方法,进一步包括:
对所述一个或多个对象检测区域执行对象识别,其中执行对象识别包括标识第一对象检测区域中的对象。
3.权利要求1的所述方法,进一步包括:
接收输入图像;
将所述一个或多个对象检测区域的第一对象检测区域和第二对象检测区域合并以形成合并的对象检测区域;以及
对合并的对象检测区域执行对象识别,其中执行对象识别包括标识合并的对象检测区域中的对象。
4.权利要求1的所述方法,进一步包括:
将所述一个或多个对象检测区域的第一对象检测区域和第二对象检测区域合并以形成合并的对象检测区域;以及
对合并的对象检测区域执行对象识别,其中执行对象识别包括标识合并的对象检测区域中的对象,以及其中对象包括面部、眼睛、陆标、书写字符、人类或汽车中的至少一个。
5.权利要求1的所述方法,其中所述硬件包括数字信号处理器、图形处理单元或现场可编程门阵列中的至少一个。
6.权利要求1的所述方法,其中所述硬件包括数字信号处理器、图形处理单元或现场可编程门阵列中的至少一个,
其中将阈值施加到过滤的图像包括经由数字信号处理器、图形处理单元或现场可编程门阵列中的至少一个将阈值施加到过滤的图像,
其中执行级联过滤包括经由图形处理单元或中央处理单元中的至少一个来执行级联过滤,以及
其中对所述一个或多个对象检测区域执行对象识别包括经由中央处理单元对所述一个或多个对象检测区域执行对象识别。
7.权利要求1的所述方法,其中所述级联过滤包括维奥拉-琼斯级联过滤或增强的级联过滤的至少一个。
8.权利要求1的所述方法,其中施加级联过滤包括针对级联过滤的第一级确定多个未掩蔽像素的第一未掩蔽像素是否通过第一级;以及
如果第一未掩蔽像素通过第一级,则将第一未掩蔽像素传递到级联过滤的第二级;或者
如果第一未掩蔽像素未能通过第一级,则拒绝第一未掩蔽像素。
9.权利要求1的所述方法,其中所述一个或多个对象检测区域的第一对象检测区域与通过级联过滤的一个或多个像素的第一通过的像素相关,并且其中第一通过的像素在第一对象区域的中心。
10.权利要求1的所述方法,其中卷积核包括预先训练的卷积核。
11.权利要求1的所述方法,其中卷积核包括预先训练的卷积核,并且其中预先训练的卷积核包括由大规模训练集训练的线性分类器或设计的卷积核中的至少一个,其中大规模训练集包括含有对象的多个图像和不含有对象的多个图像。
12.权利要求1的所述方法,其中将阈值施加到过滤的图像包括施加预先训练的阈值或施加卷积结果预先训练的阈值中的至少一个。
13.权利要求1的所述方法,其中执行卷积包括以逐像素的基础来执行输入图像的卷积,并且其中将阈值施加到过滤的图像包括以逐像素的基础将阈值施加到过滤的图像。
14.权利要求1的所述方法,其中输入图像、过滤的图像和掩蔽图像是相同尺寸的。
15.权利要求1的所述方法,其中施加级联过滤包括施加七级级联过滤。
16.权利要求1的所述方法,进一步包括:
接收输入图像;
对所述一个或多个对象检测区域执行对象识别,其中执行对象识别包括标识所述一个或多个对象检测区域的第一对象检测区域中的对象并且其中对象包括面部、眼睛、陆标、书写字符、人类或汽车中的至少一个;以及
将所述一个或多个对象检测区域的第二对象检测区域与第三对象检测区域合并以形成合并的对象检测区域,以及
其中输入图像包括图像文件或视频帧中的至少一个,
其中所述硬件包括数字信号处理器、图形处理单元或现场可编程门阵列中的至少一个,
其中卷积核包括预先训练的卷积核,并且其中预先训练的卷积核包括由大规模训练集训练的线性分类器或设计的卷积核中的至少一个,其中大规模训练集包括含有对象的多个图像和不含有对象的多个图像,
其中将阈值施加到过滤的图像包括施加预先训练的阈值或施加卷积结果预先训练的阈值中的至少一个,
其中执行卷积包括以逐像素的基础执行输入图像的卷积,
其中将阈值施加到过滤的图像包括以逐像素的基础将阈值施加到过滤的图像,
其中输入图像、过滤的图像和掩蔽图像是相同尺寸的,
其中多个掩蔽像素由1的值来标识并且未掩蔽像素由0的值来标识,
其中施加级联过滤包括施加七级级联过滤,
其中施加级联过滤包括针对级联过滤的第一级确定多个未掩蔽像素的第一未掩蔽像素是否通过第一级;以及
 如果第一未掩蔽像素通过第一级,则将第一未掩蔽像素传递到级联过滤的第二级;或者
 如果第一未掩蔽像素未能通过第一级,则拒绝第一未掩蔽像素,
其中所述一个或多个对象检测区域的第一对象检测区域与通过级联过滤的一个或多个像素的第一通过的像素相关,并且其中第一通过的像素在第一对象检测区域的中心,
其中级联过滤包括维奥拉-琼斯级联过滤或增强的级联过滤中的至少一个,
其中将阈值施加到过滤的图像包括经由数字信号处理器、图形处理单元或现场可编程门阵列中的至少一个将阈值施加到过滤的图像,
其中施加级联过滤包括经由图形处理单元或中央处理单元中的至少一个施加级联过滤,
其中对所述一个或多个对象检测区域执行对象识别包括经由中央处理单元对所述一个或多个对象检测区域执行对象识别,以及
其中将第一对象检测区域与第二对象检测区域合并包括经由中央处理单元将第一对象检测区域与第二对象检测区域合并。
17.一种计算机上的对象检测系统,包括:
硬件模块,被配置成执行输入图像与卷积核的卷积以生成过滤的图像;
一个或多个处理器,通信地耦合到硬件模块;
一个或多个存储器存储设备,通信地耦合到一个或多个处理器;
阈值模块,被配置成将阈值施加到过滤的图像以生成具有多个掩蔽像素和多个未掩蔽像素的掩蔽图像;以及
级联过滤模块,被配置成针对多个未掩蔽像素的个体像素执行级联过滤以确定与通过级联过滤的一个或多个像素相关的一个或多个对象检测区域。
18.权利要求17的所述系统,其中所述硬件模块包括被配置成执行输入图像与卷积核的卷积的专用硬件的卷积模块。
19.权利要求17的所述系统,其中所述硬件模块包括数字信号处理器或现场可编程门阵列中的至少一个,并且其中所述硬件模块包括被配置成执行输入图像与卷积核的卷积的专用硬件的卷积模块。
20.权利要求17的所述系统,其中所述阈值模块经由所述硬件模块来实施并且所述级联过滤模块经由一个或多个处理器来实施。
21.权利要求17的所述系统,进一步包括:
图形处理单元,通信地耦合到一个或多个处理器,其中所述阈值模块和所述级联过滤模块经由图形处理单元来实施。
22.权利要求17的所述系统,进一步包括:
图形处理单元,通信地耦合到一个或多个处理器,其中所述阈值模块经由图形处理单元来实施并且所述级联过滤模块经由一个或多个处理器来实施。
23.权利要求17的所述系统,进一步包括:
图形处理单元,通信地耦合到一个或多个处理器,其中所述阈值模块经由图形处理单元来实施并且所述级联过滤模块经由一个或多个处理器来实施;
合并模块,经由图形处理单元来实施并且被配置成将所述一个或多个对象检测区域的第一对象检测区域和第二对象检测区域合并以形成合并的对象检测区域;以及
对象识别模块,经由图形处理单元来实施并且被配置成对所述一个或多个对象检测区域执行对象识别。
24.权利要求17的所述系统,进一步包括:
合并模块,经由一个或多个处理器来实施并且被配置成将所述一个或多个对象检测区域的第一对象检测区域和第二对象检测区域合并以形成合并的对象检测区域;以及
对象识别模块,经由一个或多个处理器来实施并且被配置成对所述一个或多个对象检测区域执行对象识别。
25.权利要求17的所述系统,其中所述硬件模块包括图形处理单元,并且其中图形处理单元包括被配置成执行输入图像与卷积核的卷积的专用硬件的卷积模块。
26.权利要求17的所述系统,其中所述硬件模块包括图形处理单元,其中图形处理单元包括被配置成执行输入图像与卷积核的卷积的专用硬件的卷积模块,并且其中所述阈值模块和所述级联过滤模块经由图形处理单元来实施。
27.权利要求17的所述系统,进一步包括:
合并模块,经由一个或多个处理器来实施并且被配置成将所述一个或多个对象检测区域的第一对象检测区域和第二对象检测区域合并以形成合并的对象检测区域;以及
对象识别模块,经由一个或多个处理器来实施并且被配置成对所述一个或多个对象检测区域执行对象识别,并且
其中所述硬件模块包括图形处理单元,其中图形处理单元包括被配置成执行输入图像与卷积核的卷积的专用硬件的卷积模块,并且其中所述阈值模块和所述级联过滤模块经由图形处理单元来实施。
28.权利要求17的所述系统,进一步包括:
合并模块,被配置成将所述一个或多个对象检测区域的第一对象检测区域和第二对象检测区域合并以形成合并的对象检测区域;以及
对象识别模块,被配置成对所述一个或多个对象检测区域执行对象识别,并且
其中所述硬件模块包括图形处理单元,其中图形处理单元包括被配置成执行输入图像与卷积核的卷积的专用硬件的卷积模块,并且其中所述阈值模块、所述级联过滤模块、所述合并模块和所述对象识别模块经由图形处理单元来实施。
29.权利要求17的所述系统,进一步包括:
对象识别模块,被配置成对所述一个或多个对象检测区域执行对象识别以标识所述一个或多个对象检测区域的第一对象检测区域中的对象,其中对象包括面部、眼睛、陆标、书写字符、人类或汽车中的至少一个;
合并模块,被配置成将所述一个或多个对象检测区域的第二对象检测区域和第三对象检测区域合并以形成合并的对象检测区域;并且
其中输入图像包括图像文件或视频帧中的至少一个,
其中所述硬件模块包括数字信号处理器、图形处理单元、或现场可编程门阵列中的至少一个,
其中卷积核包括预先训练的卷积核,并且其中预先训练的卷积核包括由大规模训练集训练的线性分类器或设计的卷积核中的至少一个,其中大规模训练集包括含有对象的多个图像和不含有对象的多个图像,
其中所述阈值模块被进一步配置成施加预先训练的阈值或卷积结果预先训练的阈值中的至少一个,
其中所述硬件模块被进一步配置成以逐像素的基础执行输入图像的卷积,
其中所述阈值模块被进一步配置成将阈值以逐像素的基础施加到过滤的图像,
其中输入图像、过滤的图像和掩蔽图像是相同尺寸的,
其中多个掩蔽像素由1的值来标识并且多个未掩蔽像素由0的值来标识,
其中所述级联过滤模块包括七级级联过滤,
其中所述级联过滤模块被进一步配置成通过如下执行级联过滤:针对级联过滤的第一级确定多个未掩蔽像素的第一未掩蔽像素是否通过第一级;以及
 如果第一未掩蔽像素通过第一级,则将第一未掩蔽像素传递到级联过滤的第二级;或者
 如果第一未掩蔽像素未能通过第一级,则拒绝第一未掩蔽像素,
其中所述一个或多个对象检测区域的第一对象检测区域与通过级联过滤的一个或多个像素的第一通过的像素相关,其中第一对象检测区域具有32个像素乘32个像素的尺寸,并且其中第一通过的像素在第一对象检测区域的中心,以及
其中所述级联过滤包括维奥拉-琼斯级联过滤或增强的级联过滤中的至少一个。
30.至少一个机器可读介质,包括:
多个指令,其响应于在计算装置上被执行,使计算装置执行依据权利要求1至16中的任何一项的所述方法。
31.一种设备,包括:
用于执行依据权利要求1至16中的任何一项的所述方法的单元。
CN201280077133.8A 2012-12-18 2012-12-18 用于加速对象检测的硬件卷积预过滤 Active CN104781827B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/086840 WO2014094232A1 (en) 2012-12-18 2012-12-18 Hardware convolution pre-filter to accelerate object detection

Publications (2)

Publication Number Publication Date
CN104781827A true CN104781827A (zh) 2015-07-15
CN104781827B CN104781827B (zh) 2018-10-19

Family

ID=50977528

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280077133.8A Active CN104781827B (zh) 2012-12-18 2012-12-18 用于加速对象检测的硬件卷积预过滤

Country Status (4)

Country Link
US (1) US9342749B2 (zh)
KR (1) KR101752072B1 (zh)
CN (1) CN104781827B (zh)
WO (1) WO2014094232A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105894012A (zh) * 2016-03-29 2016-08-24 天津大学 基于级联微神经网络的物体识别方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9858636B1 (en) 2016-06-30 2018-01-02 Apple Inc. Configurable convolution engine
US10627887B2 (en) 2016-07-01 2020-04-21 Microsoft Technology Licensing, Llc Face detection circuit
US10152630B2 (en) 2016-08-09 2018-12-11 Qualcomm Incorporated Methods and systems of performing blob filtering in video analytics
US11042722B2 (en) * 2016-12-30 2021-06-22 Nokia Technologies Oy Artificial neural network
US10319066B2 (en) 2017-04-27 2019-06-11 Apple Inc. Convolution engine with per-channel processing of interleaved channel data
US10176551B2 (en) 2017-04-27 2019-01-08 Apple Inc. Configurable convolution engine for interleaved channel data
US10325342B2 (en) 2017-04-27 2019-06-18 Apple Inc. Convolution engine for merging interleaved channel data
KR102410709B1 (ko) * 2017-06-30 2022-06-20 주식회사 넥슨코리아 컨텐츠 사용자의 로그 정보 생성 방법 및 장치
US10713537B2 (en) * 2017-07-01 2020-07-14 Algolux Inc. Method and apparatus for joint image processing and perception
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
US10997736B2 (en) * 2018-08-10 2021-05-04 Apple Inc. Circuit for performing normalized cross correlation
US11216953B2 (en) 2019-03-26 2022-01-04 Samsung Electronics Co., Ltd. Apparatus and method for image region detection of object based on seed regions and region growing
KR102202425B1 (ko) * 2019-08-09 2021-01-12 주식회사 한화 컨볼루션 신경망 기반의 수치 해석 데이터 보간 처리 장치 및 그 방법
CN111553464B (zh) * 2020-04-26 2023-09-29 北京小米松果电子有限公司 基于超网络的图像处理方法、装置及智能设备
DE102021102233B4 (de) 2021-02-01 2022-08-18 Recognitionfocus Gmbh Vorrichtung und Verfahren zur Korrespondenzanalyse in Bildern

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7426310B1 (en) * 2002-02-08 2008-09-16 Barrett Terence W Method and application of applying filters to N-dimensional signals and images in signal projection space
US20100239170A1 (en) * 2009-03-18 2010-09-23 Asnis Gary I System and method for target separation of closely spaced targets in automatic target recognition
US20120076408A1 (en) * 2010-09-29 2012-03-29 Andong University Industry-Academic Cooperation Foundation Method and system for detecting object
US8170282B1 (en) * 2009-09-17 2012-05-01 Sandia Corporation Technique for ship/wake detection
CN102598057A (zh) * 2009-08-23 2012-07-18 Iad信息自动化及数据处理有限公司 自动对象识别、然后根据对象形状进行对象跟踪的方法和系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4330833A (en) 1978-05-26 1982-05-18 Vicom Systems, Inc. Method and apparatus for improved digital image processing
US8463718B2 (en) * 2000-08-07 2013-06-11 Health Discovery Corporation Support vector machine-based method for analysis of spectral data
CA2628611A1 (en) * 2005-11-04 2007-05-18 Clean Earth Technologies, Llc Tracking using an elastic cluster of trackers
US8644643B2 (en) * 2006-06-14 2014-02-04 Qualcomm Incorporated Convolution filtering in a graphics processor
US8243991B2 (en) * 2008-06-17 2012-08-14 Sri International Method and apparatus for detecting targets through temporal scene changes
US8600166B2 (en) * 2009-11-06 2013-12-03 Sony Corporation Real time hand tracking, pose classification and interface control
KR101378295B1 (ko) * 2009-12-18 2014-03-27 한국전자통신연구원 영상의 프라이버시 마스킹 방법 및 장치
US8594375B1 (en) * 2010-05-20 2013-11-26 Digitalglobe, Inc. Advanced cloud cover assessment
US9235769B2 (en) * 2012-03-15 2016-01-12 Herta Security, S.L. Parallel object detection method for heterogeneous multithreaded microarchitectures
US20130279750A1 (en) * 2012-04-20 2013-10-24 Dmetrix, Inc. Identification of foreign object debris
US20140028861A1 (en) * 2012-07-26 2014-01-30 David Holz Object detection and tracking

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7426310B1 (en) * 2002-02-08 2008-09-16 Barrett Terence W Method and application of applying filters to N-dimensional signals and images in signal projection space
US20100239170A1 (en) * 2009-03-18 2010-09-23 Asnis Gary I System and method for target separation of closely spaced targets in automatic target recognition
CN102598057A (zh) * 2009-08-23 2012-07-18 Iad信息自动化及数据处理有限公司 自动对象识别、然后根据对象形状进行对象跟踪的方法和系统
US8170282B1 (en) * 2009-09-17 2012-05-01 Sandia Corporation Technique for ship/wake detection
US20120076408A1 (en) * 2010-09-29 2012-03-29 Andong University Industry-Academic Cooperation Foundation Method and system for detecting object

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HERBERT BAY ECT.: "Speeded-Up Robust Features (SURF)", 《COMPUTER VISION AND IMAGE UNDERSTANDING》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105894012A (zh) * 2016-03-29 2016-08-24 天津大学 基于级联微神经网络的物体识别方法

Also Published As

Publication number Publication date
US20150146915A1 (en) 2015-05-28
WO2014094232A1 (en) 2014-06-26
CN104781827B (zh) 2018-10-19
KR101752072B1 (ko) 2017-06-28
KR20150070327A (ko) 2015-06-24
US9342749B2 (en) 2016-05-17

Similar Documents

Publication Publication Date Title
CN104781827A (zh) 用于加速对象检测的硬件卷积预过滤
US10666784B2 (en) Intuitive computing methods and systems
US11715473B2 (en) Intuitive computing methods and systems
CN111476306B (zh) 基于人工智能的物体检测方法、装置、设备及存储介质
CN105224075B (zh) 基于传感器的移动搜索、相关方法和系统
CN103988503B (zh) 使用预捕获图像运动的场景分割
CN106663425A (zh) 用于自动语音识别的使用外推的跳帧和按需输出的神经网络
CN106295515B (zh) 确定图像中的人脸区域的方法及装置
CN110097019A (zh) 字符识别方法、装置、计算机设备以及存储介质
CN106575379A (zh) 用于神经网络的改进的定点整型实现方式
CN111243668B (zh) 分子结合位点检测方法、装置、电子设备及存储介质
EP2559030A1 (en) Intuitive computing methods and systems
US11776263B2 (en) Bidirectional pairing architecture for object detection in video
CN112269853B (zh) 检索处理方法、装置及存储介质
CN112966124B (zh) 知识图谱对齐模型的训练方法、对齐方法、装置及设备
CN111368116B (zh) 图像分类方法、装置、计算机设备及存储介质
CN112990053B (zh) 图像处理方法、装置、设备及存储介质
Wu et al. Hierarchical dynamic depth projected difference images–based action recognition in videos with convolutional neural networks
CN113505256A (zh) 特征提取网络训练方法、图像处理方法及装置
CN115168643B (zh) 音频处理方法、装置、设备及计算机可读存储介质
CN110232417A (zh) 图像识别方法、装置、计算机设备及计算机可读存储介质
CN114281937A (zh) 嵌套实体识别模型的训练方法、嵌套实体识别方法及装置
CN113722422A (zh) 模型训练方法、文本标签生成方法、装置、设备及介质
CN113052240B (zh) 图像处理模型的确定方法、装置、设备及存储介质
CN116431838B (zh) 文献检索方法、装置、系统及存储介质

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