CN105051756A - Haar解算系统、图像分类系统、关联方法和关联计算机程序产品 - Google Patents
Haar解算系统、图像分类系统、关联方法和关联计算机程序产品 Download PDFInfo
- Publication number
- CN105051756A CN105051756A CN201380074942.8A CN201380074942A CN105051756A CN 105051756 A CN105051756 A CN 105051756A CN 201380074942 A CN201380074942 A CN 201380074942A CN 105051756 A CN105051756 A CN 105051756A
- Authority
- CN
- China
- Prior art keywords
- image
- rectangular area
- pixel
- haar
- block
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 69
- 238000004590 computer program Methods 0.000 title claims description 30
- 238000004364 calculation method Methods 0.000 title abstract 3
- 101100412103 Arabidopsis thaliana REC3 gene Proteins 0.000 claims abstract description 39
- 102100033934 DNA repair protein RAD51 homolog 2 Human genes 0.000 claims abstract description 39
- 101001132307 Homo sapiens DNA repair protein RAD51 homolog 2 Proteins 0.000 claims abstract description 39
- 101100528972 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RPD3 gene Proteins 0.000 claims abstract description 39
- -1 REC4 Proteins 0.000 claims abstract description 21
- 101100366474 Schizosaccharomyces pombe (strain 972 / ATCC 24843) rec12 gene Proteins 0.000 claims abstract description 21
- 239000012634 fragment Substances 0.000 claims description 38
- 230000008569 process Effects 0.000 claims description 21
- 238000012423 maintenance Methods 0.000 claims description 5
- 102100031437 Cell cycle checkpoint protein RAD1 Human genes 0.000 abstract description 50
- 101001130384 Homo sapiens Cell cycle checkpoint protein RAD1 Proteins 0.000 abstract description 50
- 230000015654 memory Effects 0.000 abstract description 41
- 102100023882 Endoribonuclease ZC3H12A Human genes 0.000 abstract description 38
- 101710112715 Endoribonuclease ZC3H12A Proteins 0.000 abstract description 38
- QGVYYLZOAMMKAH-UHFFFAOYSA-N pegnivacogin Chemical compound COCCOC(=O)NCCCCC(NC(=O)OCCOC)C(=O)NCCCCCCOP(=O)(O)O QGVYYLZOAMMKAH-UHFFFAOYSA-N 0.000 abstract description 38
- 230000006870 function Effects 0.000 description 14
- 101150075799 CPX1 gene Proteins 0.000 description 12
- 238000006073 displacement reaction Methods 0.000 description 12
- 239000004020 conductor Substances 0.000 description 11
- 101100467560 Caenorhabditis elegans rpy-1 gene Proteins 0.000 description 10
- 230000002452 interceptive effect Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 108700012361 REG2 Proteins 0.000 description 6
- 101150108637 REG2 gene Proteins 0.000 description 6
- 108091058543 REG3 Proteins 0.000 description 6
- 101100120298 Rattus norvegicus Flot1 gene Proteins 0.000 description 6
- 101100412403 Rattus norvegicus Reg3b gene Proteins 0.000 description 6
- 102100027336 Regenerating islet-derived protein 3-alpha Human genes 0.000 description 6
- 238000000926 separation method Methods 0.000 description 6
- 238000010408 sweeping Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 208000036335 preeclampsia/eclampsia 1 Diseases 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000005415 magnetization Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000017105 transposition Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 101100016515 Arabidopsis thaliana AHB1 gene Proteins 0.000 description 1
- 102100035024 Carboxypeptidase B Human genes 0.000 description 1
- 102100021429 DNA-directed RNA polymerase II subunit RPB1 Human genes 0.000 description 1
- 101000946524 Homo sapiens Carboxypeptidase B Proteins 0.000 description 1
- 101001106401 Homo sapiens DNA-directed RNA polymerase II subunit RPB1 Proteins 0.000 description 1
- 241001515806 Stictis Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000005291 magnetic effect Effects 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local 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/443—Local 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
- G06V10/446—Local 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 using Haar-like filters, e.g. using integral image techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R2300/00—Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle
- B60R2300/80—Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the intended use of the viewing arrangement
- B60R2300/802—Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the intended use of the viewing arrangement for monitoring and displaying vehicle exterior blind spot views
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R2300/00—Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle
- B60R2300/80—Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the intended use of the viewing arrangement
- B60R2300/8073—Details of viewing arrangements using cameras and displays, specially adapted for use in a vehicle characterised by the intended use of the viewing arrangement for vehicle security, e.g. parked vehicle surveillance, burglar detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Image Processing (AREA)
- Mechanical Engineering (AREA)
Abstract
描述了用于解算图像的预定义矩形区域(REC1)的HAAR特征的HAAR解算系统(HSYS)。该HAAR解算系统包括一个或多个存储器(MEM)、多个计算引擎(CU1,CU2,CU3,CUn)和主处理器(MCPU)。每个所述计算引擎被布置成从所述一个或多个存储器(MEM)中检索对应于矩形图像区域(BLK(1)...(BLK(mn+n))的图像数据块(BLK(i));解算所述图像数据块的所有像素的积分图像值(IBLK(i))以获得所述图像数据块的积分图像;以及将所述块的所述积分图像(IBLK(i))存储在所述一个或多个存储器(MEM)中。所述主处理器(MCPU)被布置成确定哪一个或哪些图像数据块包括所述图像的所述预定义矩形区域的像素;对于包括所述图像的所述预定义矩形区域的像素的每个图像数据块,将相应的矩形区域片段(REC1,REC2,REC3,REC4,REC12,REC34)定义为属于所述图像的所述预定义矩形区域的所述块的所述像素;对于包括所述图像的所述预定义矩形区域(REC1)的像素的每个图像数据块(IB1,IB2,IB3,IB4,IB12,IB34)解算所述矩形区域片段(REC1,REC2,REC3,REC4,REC12,REC34)的HAAR特征;以及添加所述矩形区域片段(REC1,REC2,REC3,REC4,REC12,REC34)的所述HAAR特征以获得所述图像的所述预定义矩形区域的所述HAAR特征。
Description
技术领域
本发明涉及HAAR解算系统、图像分类系统、关联方法以及关联计算机程序产品。
背景技术
基于Haar特征的对象检测和对象识别经常被使用。Haar特征是在矩形图像区域上的累积像素值。积分图像被用于预计算值,其可以被用于容易地计算密集图像位置处的Haar特征。国际专利申请WO2007/128452A2中给出了一个例子。WO2007/128452A2描述了用于在图像上操作的方法和装置,特别是用于在不同比例下并且具有不同旋转,例如对于比例-不变和旋转-不变的兴趣点检测和/或描述的兴趣点检测和/或描述工作。WO2007/128452A2描述了用于匹配在相同图像或不同图像中的兴趣点的方法。
海量并行处理越来越多地用于处理图像,例如用于执行像色彩空间转换一样的基于像素的处理。然而,由于积分图像在像素到像素间和线到线之间具有数据依赖性,因此已知的海量并行架构不能很容易地计算积分图像和Haar特征。
发明内容
正如附属权利要求中所描述的,本发明提供了一种HAAR解算系统、一种图像分类系统、一种包括了安全系统的车辆、一种解算图像的预定义矩形区域的HAAR特征的方法、一种检测图像中的图像特征的方法、一种用于并行处理器系统的计算引擎、一种用于解算HAAR特征的计算机程序产品、一种用于用于导致并行处理器系统的一个或多个计算引擎解算积分图像值的计算机程序产品。
本发明的具体实施例在从属权利要求中被陈述。
根据下文中描述的实施例,本发明的这些或其它方面将会很明显并且被阐述。
附图说明
根据附图,仅仅通过举例的方式,本发明的进一步细节、方面和实施例将被描述。为了简便以及清晰,附图中的元件不一定按比例绘制。在附图中,对应于已经描述元件的元件可能具有相同的参考符号。
图1示意性地显示了包括HAAR解算系统的系统的实施例的一个例子;
图2示意性地显示了将图像分隔成图像块以及将图像块分配给计算引擎以用于并行处理;
图3a-图3c示意性地显示了图像的图像块内的扫描方案;
图4示意性地说明了解算HAAR特征的已知方法;
图5示意性地显示了通过使用SIMD并行计算架构解算HAAR特征的已知方法;
图6和图7示意性地说明了根据实施例的解算HAAR特征的方法;
图8和图9示意性地说明了根据实施例的解算HAAR特征的方法;
图10a和图10b示意性地说明了根据另一个实施例的解算HAAR特征的方法;
图11示意性地显示了示例用户交互系统;
图12示意性地显示了包括了安全系统的车辆;
图13显示了包括了计算机程序产品的计算机可读介质;以及
图14显示了包括另一个计算机程序产品的另一个计算机可读介质。
具体实施方式
图1示意性地显示了系统SYS的实施例的一个例子,该系统SYS包括相机CAM、HAAR解算系统HSYS、主机处理器HOST和用户接口设备UIDEV。HAAR解算系统HSYS包括相机接口CAM-IF、存储器MEM、海量并行处理器单元MPARU和主处理器MCPU。相机接口CAMIF可被连接到相机CAM并且被布置成从相机CAM接收图像数据并且将图像数据存储在存储器MEM中。每个图像包括如图2所示的矩形像素阵列的图像数据:图像IMG(ixj)或简言之IMG,包括具有行编号RP1,...,RPi的多个i像素行以及具有列编号CP1,...,CPj的多个j像素列。每个图像IMG(ixj)被存储在存储器MEM中。该MEM可能包括DDR存储器。海量并行处理器单元MPARU包括多个计算引擎CU1,CU2,CU3,...CUn的阵列MPA。图1显示了阵列MPA包括至少4个计算引擎,但是替代实施例可能使用更少的计算引擎,例如2个,而其它替代实施例可能使用更多的计算引擎,例如8个、16个、32个、64个、128个或其它适当数目。
多个计算引擎可以是两个计算引擎CU1,CU2。在替代实施例中,多个计算引擎可能包括4个、8个或更多,例如至少16个计算引擎,例如32个计算引擎、64个计算引擎或128个计算引擎、或等于2的幂或不同于2的幂的其它数目的计算引擎。
多个计算引擎CU1,CU2,CU3,...CUn被布置成与公共指令一起执行。例如,计算引擎CU1,CU2,CU3,...CUn可以被布置成所谓的单指令多数据(SIMD)布置中。多个计算引擎CU1,CU2,CU3,...CUn可以被布置并可操作为单一程序、多数据(SPMD)型架构,其中多个计算引擎CU1,CU2,CU3,...CU被布置成通过对不同块执行基本上相同的程序来并行地对相应图像数据块执行解算。当以单程序多数据(SPMD)架构操作时,任务可以被分割并同时运行在具有不同输入(例如图像数据不同块)的多个计算引擎上。例如,计算引擎可能并行地在不同数据上运行相同代码。其它架构可能例如具有运行基本上相同指令流的计算引擎组,其中每个计算引擎占据指令流中任何分支的其自身路径,例如如果/那么/否则结构中的不同分支或取决于例如计数器或块索引的不同分支。
多个计算引擎CU1,CU2,CU3,...CUn被布置成经由相应的总线AHB1,AGB2,AHB3,...,AHBn来访问存储器MEM。多个计算引擎CU1,CU2,CU3,...CUn可以被布置成从存储器MEM读取和向存储器MEM写入。存储器MEM可以是单一存储器,或者可能包括多于一个存储器。如果存储器包括多于一个存储器,那么多个计算引擎CU1,CU2,CU3,...CUn可以被布置成从一个存储器读取并且向多于一个存储器MEM中的另一个存储器写入。主处理器MCPU被布置成经由总线AHBM访问存储器,并且被布置成至少从存储器MEM读取数据,例如读取由计算引擎CU1,CU2,CU3...CUn写入到存储器MEM中的数据。
具有多个计算引擎CU1,CU2,CU3,...CUn的阵列MPA被连接到阵列控制器MPACON。阵列控制器MPACON被布置成经由控制连接INST1,INST2,INST3,...,INSTn来控制多个计算引擎CU1,CU2,CU3,...CUn,正如图1所示,INST1,INST2,INST3,...,INSTn可以从公共控制连接INSTCOM得出。在一个实施例中,阵列控制器MPACON可以被布置成经由公共控制连接INSTCOM和相应的控制连接INST1,INST2,INST3,...,INSTn给计算引擎CU1,CU2,CU3,...CUn提供指令和时钟。在替代实施例中,阵列控制器MPACON可以被布置成经由公共控制连接INSTCOM和相应的控制连接INST1,INST2,INST3,...,INSTn给计算引擎CU1,CU2,CU3,...CUn提供时钟,并且计算引擎CU1,CU2,CU3,...CUn被布置成依赖于由阵列控制器MPACON提供的时钟来从存储器MEM获取指令。
为了使多个计算引擎CU1,CU2,CU3,...CU并行地对相应的图像数据块执行解算,图像IMG(ixj)可以被认为是图像数据块的阵列,正如参照图2将要描述的。包括具有行编号RP1,...,RPi的多个i像素行和具有列编号CP1,...,CPj的多个j像素列的IMG(ixj)可以被认为是块阵列BIMG(mxn),该块阵列BIMG(mxn)是具有块行编号RB1,RB2,...,RBm的多个m行块和具有块列编号CB1,CB2,CB3,...,CBn的多个n列块的阵列。多个块可以因此被标记和编号为BLK(1),BLK(2),BLK(3),...,BLK(n),BLK(n+1),BLK(n+2),BLK(n+3),...,BLK(2n),...,BLK(mn+1),BLK(mn+2),BLKM(mn+3),...,BLK(mn+n)。所述块还可以被称为图像块。
图2示意性地显示了将图像分隔成图像块以及将图像块分配给计算引擎以用于并行处理。在一个实施例中,如图2所示,每行块的块数目n等于计算引擎CU1,CU2,...CUn的数目,但是在替代实施例中,计算引擎的块数目可以不同于每行块的块数目。在下文中,描述了非限制性实施例,其中将要描述计算引擎的数目等于每行块的块数目。本领域技术人员将会了解数目不同的替代实施例是如何可以被设计。
如图2所示,多个图像数据块可以通过相应的多个计算引擎并行处理。多个计算引擎CU1,CU2,CU3,...CUn例如可以被布置成一次处理块的一行,处理完一行之后,继续处理下一行。这是由图2中的虚线双箭头所示,它显示了系统的快照:包括块BLK(n+1),...,BLK(2n)的行块RB2被用作将要由相应的计算引擎CU1,CU2,CU3,...CUn处理的n个处理块PBLK1,PBLK2,PBLK3,...,PBLKn的处理行块EP。
当计算引擎CUp处理图像块PBLKp时,计算引擎扫描图像块的所有像素以检索像素块的像素数据值,并且执行像素数据解算,例如求和。至此,计算引擎CUp可以被布置成使用多个可能的扫描方案之一。另外,计算引擎CUp可以是被布置成一次处理一个像素的标量处理器,或被布置成一次处理多个像素(例如多个水平邻居或多个垂直邻居)的向量处理器。图3a-图3c示意性地显示了图像的图像块内的可能的扫描方案。本领域技术人员将了解更多的扫描方案是可能的,并且可能会在其它实施例中使用。例如,扫描方案可以是所谓的水平扫描方案,其中扫描是从相应行的起始到行的结尾逐行执行,或是所谓的垂直扫描方案,其中扫描是从相应列的起始到列的结尾逐列执行。
图3a显示了水平扫描方案,其中计算引擎CUp包括用于一次处理单一像素Pix1PROC的标量单一像素处理器内核。在处理像素Pix1PROC之后,计算引擎移动到水平相邻像素,直到该行上的块的最后像素,即在块内从像素列CPB1到像素列CPB(j/n):然后,计算引擎CUp继续处理下一行的第一像素,直到处理了块PBLKp的所有行RPB1,..,RPM(i/m)。
图3b显示了水平扫描方案,其中计算引擎CUp包括向量处理器内核,所述向量处理器内核被布置成一次处理多个水平相邻像素PixvecHPROC,即位于相同行上但是在相邻列的像素。在完成处理多个水平相邻像素PixvecHPROC之后,计算引擎CUp移动到下一个多个水平相邻像素。
图3c显示了水平扫描方案,其中计算引擎CUp包括向量处理器内核,所述向量处理器内核被布置成一次处理多个垂直相邻像素PixvecVPROC,即位于一列内相邻行上的像素。在完成处理多个垂直相邻像素PixvecVPROC之后,计算引擎CUp移动到下一列,以处理下一个多个垂直相邻像素。
多个计算引擎CU1,CU2,CU3,...CUn的每个计算引擎因此可能包括或作为被布置成同时处理多个像素的向量处理器。
块内的不同扫描方案可以在本发明的不同实施例中使用。
图4和图5示意性地说明了解算多个像素P(x,y)的图像IMG(ixj)的预定义矩形区域PREG1的HAAR特征的已知方法,其中该像素P(x,y)在i个像素行RP1,…,RPi和j个像素列CP1,…,CPj的二维像素阵列中具有像素值IMG(x,y)。所述预定义矩形区域PREG1由像素列CPx1和CPx2以及像素行RPy1和RPy2所限制,并且可以通过其以下拐角像素表示:左上拐角像素P1=(CPx1,RPy1)、右上拐角像素P2=(CPx2,RPy1)、左下拐角像素P3=(CPx1,RPy2)和右下拐角像素P4=(CPx2,RPy2),即,左上和右上拐角像素相应地位于像素行RPy1以及像素列CPx1和CPx2上,而左下和右下拐角像素相应地位于像素行RPy2以及像素列CPx1和CPx2上。至此,已知方法首先解算了积分图像,每个像素的积分图像P=(x,y)被定义为:
INT(x,y)=IMG(x,y)+INT(x-1,y)+INT(x,y-1)-INT(x-1,y-1)
其中x水平运行,并且y垂直运行。
由具有拐角像素P1,P2,P3,P4的像素列CPx1和CPx2和像素行RPy1和RPy2所限制的区域PREG1的HAAR特征然后被定义为:
HAAR(CPx1,RPy1,CPx2,RPy2)=
INT(CPx2,RPy2)-INT(CPx2,RPy1-1)-INT(CPx1-1,RPy2)+INT(CPx1-1,RPy1-1),
我们示意性地表示为
HAAR(PREG2)=
I4-I2-I3+I1
其中I1,I2,I3和I4示意性地表示了上面表达式的积分图像术语,即:
I1=INT(CPx1-1,RPy1-1),
I2=INT(CPx2,RPy1-1),
I3=INT(CPx1-1,RPy2),
I4=INT(CPx2,RPy2).
I1,I2,I3和I4因此与下述拐角像素相关联的像素位置的积分图像值相对应:与拐角像素P1相关联的(CPx1-1,RPy1-1)、与拐角像素P2相关联的(CPx2,RPy1-1)、与拐角像素P3相关联的(CPx1-1,RPy2)以及与拐角像素P4相关联的(CPx2,RPy2)。这是通过指相应的相关联像素位置的I1-I4参考符号在图4的底部图中示意性地表示。
为了解算矩形区域PREG1的HAAR特征,已知方法首先在第一扫描方向,例如在x-方向水平地,扫描整个图像IMG(ixj),以获得对应于所述第一(在这里是水平)方向的积分的中间结果INTX(ixj)。该第一扫描用似向量记法可以被表示为:
INTX((x,y1),(x,y2),(x,y3),...,(x,yn))=
IMG((x,y1),(x,y2),(x,y3),...,(x,yn))+INTX((x-1,y1),(x-1,y2),(x-1,y3),...,(x-1,yn)).
然后,已知方法在第二扫描方向上对中间结果使用第二扫描,以从中间结果确定积分图像。如果第一扫描方向是水平地,那么第二扫描方向是垂直地。第二扫描用似向量记法可以被表示为:
INT((x1,y),(x2,y),(x3,y),...,(xn,y))=
INTX((x1,y),(x2,y),(x3,y),...,(xn,y))+INT((x1,y-1),(x2,y-1),(x3,y-1),...,(xn,y-1)).
即,积分图像值是从水平x-方向的第一扫描获得,以沿着x-方向获得像素值的积分作为中间结果,随后是在垂直y-方向的第二扫面,以从中间结果获得积分图像。
如果使用多个具有并行处理的计算引擎实现,如图5所示,已知方法的实现方案M1P因此包括:通过在水平扫描方向上逐行扫描图像IMG从存储器(例如DDR存储器)读取图像值,来解算M12P中间求和;以及,将所解算的中间求和写入M14P存储器。接着,已知方法包括:通过以转置顺序(即,在垂直扫描方向上)从存储器读取回中间求和,来解算M16P积分图像值,以及将积分图像值写入存储器中。接着,已知方法包括:通过从存储器读取来自四个像素位置的积分图像值,来解算M20PHAAR特征。将中间结果写入回存储器以及从存储器读取回中间结果可能需要显著的带宽量。这可能是使用(正如图像大小和信息量,即,要被存储的图象、中间值和积分图像所要求的)相对低成本的大容量存储器的障碍,因为这样的大容量存储器通常需要相应的装置,例如DDR存储器,并且对在一定成本范围内所支持的带宽具有实际的上限。因此,可能希望提供一种改进的方法和系统。
图6和图7示意性地说明了根据一个实施例的解算HAAR特征的方法。该方法解算具有i个像素行RP1,...,RPi和j个像素列CP1,...,CPj的二维像素阵列的图像IMG(ixj)的预定义矩形区域REG1(为清楚起见,用不同参考数字表示上面描述的已知例子中的预定义矩形区域REG1)的HAAR特征。所述预定义矩形区域REG1由像素列CPx1和CPx2以及像素行RPy1和RPy2所限制,并且可以通过其拐角像素指示:左上拐角像素P1=(CPx1,RPy1)、右上拐角像素P2=(CPx2,RPy1)、左下拐角像素P3=(CPx1,RPy2)和右下拐角像素P4=(CPx2,RPy2),即,左上和右上拐角像素相应地位于像素行RPy1以及像素列CPx1和CPx2上,而左下和右下拐角像素相应地位于RPy2以及像素列CPx1和CPx2上。
该方法使用多个mxn图像数据块的图像数据IMG(ixj)的划分,其与被组织成具有m行RB1,...,RBm图像数据块和n列CB1,...,CBn图像数据块的二维阵列的相应矩形图像区域BLK(1),….,BLK(1,…,mn+n)相对应。在下面,图像数据块和对应的矩形图像区域可以指相同参考符号BLK(K),k=1,...,mn+n,因为对所属技术人员来说,其指代什么是很明确的,并且两个实体的不同参考标记可能仅会模糊对方法和系统的描述。矩形图像区域BLK(1),...,BLK(1,...,mn+n)的每个块也可以被称为“片”(tile),以指示块在一起被“拼片”(tileup)成为完整图像。
该方法可以使用图1所示的HAAR解算系统HSYS被执行,其中该HAAR解算系统HSYS包括用于存储包括图像数据的数据的一个或多个存储器(MEM)、多个(两个或更多)计算引擎CU1,CU2,CU3,CUn以及主处理器MCPU。
该方法包括:计算M10C每个图像数据块的积分图像,以及将每个图像数据块的积分图像存储M18在所述一个或多个存储器MEM中。至此,每个计算引擎被布置成:根据所述一个或多个存储器MEM中检索与矩形图像区域BLK(1)...(BLK(mn+n)相对应的图像数据块BLK(i),解算所述图像数据块的所有像素的积分图像值IBLK(i)以获得所述图像数据块的积分图像,以及将所述块的所述积分图像IBLK(i)存储在所述一个或多个存储器MEM中。特此,可以获得多个积分图像IBLK(1),...,IBLK(mn+n):每个图像数据块一个积分图像。块的多个积分图像可以一起被称为“分片式(tiled)积分图像”,指示该积分图像不是现有技术中的单一积分图像,而是包括多个积分图像,每块一个,其可以一起被认为形成分片式积分图像。图像数据块的像素的积分图像值还可以被称为分块积分值。
为了解算图像数据块的所有像素的积分图像值IBLK(i)以获得图像数据块的积分图像,相应的计算引擎可以被布置成:在水平方向上在图像数据块上使用逐行扫描以根据一个或多个存储器读取数据块,来解算M12图像数据块的中间结果,将中间结果存储M14在所述一个或多个存储器中或计算引擎的本地存储器中,以及使用以转置顺序从所述一个或多个存储器或所述本地存储器的中间结果的读取,来解算M16图像块的积分图像。所述计算引擎可能以与现有技术中积分图像解算相似的方式执行这些行为,其中现有技术使用了水平和垂直扫描以及被向和从一个或多个存储器写入和读取的中间结果。然而,正如现有技术中,使用每个块的中间结果不需要将ixj像素的中间结果存储在外部DDR存储器中,但可能仅需要存储被并行处理的块数目(即,对应于计算引擎数目)的中间结果。如果外部DDR用来存储中间结果,这可能给外部DDR强加较低的带宽要求。此外,这可能允许每个计算引擎使用本地存储器,其可以是集成存储器(“芯片上”),或本地外部存储器。相比于现有技术所需的DDR存储器,所述本地外部存储器可以具有相对小的大小和/或可以具有低得多的带宽要求和/或可以具有较低成本。
该方法因此可能获得所述分片式积分图像,作为多个积分图像IBLK(1),IBLK(2),…,IBLK(n),…,IBLK(mn+1),IBLK(mn+2),…,IBLK(mn+n),每个图像数据块一个。多个积分图像IBLK(1),IBLK(2),…,IBLK(n),…,IBLK(mn+1),IBLK(mn+2),…,IBLK(mn+n)还可以被称为“分块积分图像”或“积分图像片”。
该方法还包括:通过一个或多个存储器MEM中检索积分图像值来解算M20HAAR特征,以及通过检索到的所述积分图像值来解算HAAR特征。
至此,在一个实施例中,主处理器MCPU可以被布置成确定图像数据块IB1,IB2,IB3,IB4中的哪一个或哪些块包括图像的预定义矩形区域REG1的像素。图6和图8的底部图中显示了第一个例子。图6显示了所述预定义矩形区域REC1,其包含对应于4个积分图像片的像素,每个积分图像片包括拐角像素P1,P2,P3或P4中的一个:积分图像片IBLK((m-1)n+(n-1)),标示为图像块IB1;积分图像片IBLK((m-1)n+n),标示为图像块IB2;积分图像片IBLK(mn+(n-1)),标示为图像块IB3;积分图像片IBLK(mn+n),标示为图像块IB4。包括拐角像素P1,P2,P3或P4的块可能进一步被称为“拐角块”IB1,IB2,IB3,IB4。
在另一个实施例中,对于包括图像的预定义矩形区域的像素的每个图像数据块IB1,IB2,IB3,IB4,主处理器MCPU还可以被布置成将相应的矩形区域片段REC1,REC2,REC3,REC4定义为属于图像的预定义矩形区域REC1的像素块。对于第一个例子已经在图8中示出,其中四个矩形区域REC1,REC2,REC3和REC4一起对应于图像的预定义矩形区域REG1。在对应于图像块IB1的像素块中的第一矩形区域REC1从左上像素P1延伸到相邻矩形块REC2,REC3,REC4。在对应于图像块IB2的像素块中的第二个矩形区域REC2从右上像素P2延伸到相邻矩形块REC1,REC3,REC4。在对应于图像块IB3的像素块中的第三个矩形区域REC3从左下像素P3延伸到相邻矩形块REC1,REC2,REC4。在对应于图像块IB4的像素块中的第四个矩形区域REC4从右下像素P4延伸到相邻矩形块REC1,REC2,REC3。与拐角块IB1,IB2,IB3,IB4相关联的矩形区域还可以被称为拐角区域REC1,REC2,REC3,REC4。
在另一个实施例中,多个计算引擎CU1,CU2,CU3,...CU中的一个或多个计算引擎可以被布置成充当主处理器。在该另一个实施例中,被布置成充当主处理器的多个计算引擎CU1,CU2,CU3,...CU中的一个或多个计算引擎可以被布置成确定图像数据块IB1,IB2,IB3,IB4中的哪一个或哪些包括图像的预定义矩形区域REC1的像素。在另一个替代实施例中,被布置成充当主处理器的多个计算引擎CU1,CU2,CU3,...CU中的一个或多个计算引擎还可以被布置成,对于包括图像的预定义矩形区域的像素的每个图像数据块IB1,IB2,IB3,IB4,将相应的矩形区域片段REC1,REC2,REC3,REC4定义为属于图像的预定义矩形区域REC1的像素块。
主处理器MCPU还可以被布置成,对于包括图像的预定义矩形区域REC1的像素的每个图像数据块IB1,IB2,IB3,IB4,解算相应矩形区域片段REC1,REC2,REC3,REC4的HAAR特征,以及添加矩形区域片段REC1,REC2,REC3,REC4的HAAR特征,以获得图像的预定义矩形区域的HAAR特征。
至此,主处理器MCPU可以被布置成,对于包括图像的预定义矩形区域REC1的像素的每个图像数据块IB1,IB2,IB3,IB4,从一个或多个存储器MEM中检索与相应矩形区域片段REC1的拐角像素B1C1,B1C2,B1C3,B1C4相关联的积分图像值IB1I1,IB1I2,IB1I3,IB1I4,以及根据与相应矩形区域片段REC1的拐角像素B1C1,B1C2,B1C3,B1C4相关联的积分图像值解算块的相应矩形区域片段REC1的HAAR特征,以便对于包括图像的预定义矩形区域的像素的所有图像数据块,解算矩形区域片段REC1,REC2,REC3,REC4,REC12,REC34的HAAR特征。
计算引擎可以被布置成,以像素比特深度的1,5-3倍(例如像素比特深度的2倍)范围内的比特深度来解算积分图像值,其中像素比特深度对应于表示图像数据的比特深度。由此,相比于现有技术系统,计算引擎可以被简化和/或与将积分图像数据存储在一个或多个存储器中相关联的带宽要求被降低,现有技术的计算引擎需要计算完整图像的积分图像,其具有明显大的比特深度要求(典型地,对于来自8位像素值的积分图像是32比特),作为实施例中对计算引擎的相对宽松要求,其仅需要一次处理一个图像数据块。
例如,对于图8所示的第一个例子,主处理器MCPU可能根据相应的拐角像素P1,P2,P3,P4和相应的矩形区域的其它拐角处的像素来解算矩形区域片段REC1,REC2,REC3和REC4的HAAR特征。至此,主处理器可以被布置成,在确定图像数据块中的哪个或哪些包括图像的预定义矩形区域的像素中,通过标识一个或多个图像数据块中的哪一个或哪些块包括图像的预定义矩形区域的拐角像素P1,P2,P3,P4,来确定一个或多个拐角块IB1,IB2,IB3,IB4。
例如,通过与左上块拐角像素P1(在附图中也被称为B1C1,指示块1拐角像素1)、右上块拐角像素B1C2、左下块拐角像素B1C3和右下块拐角像素B1C4相应地相关联的分块积分图像值IB1I1,IB1I2,IB1I3和IB1I4,可以将矩形区域REG1的HAAR特征解算为:
HAAR(REC1)=
INT_IB1(BCx2,BRy2)-INT_IB1(BCx2,BRy1-1)-INT_IB1(BCx1-1,BRy2)+INT_IB1(BCx1-
1,BRy1-1),
其中INT_IB1代表块IB1的积分图像,其可能示意性地写为:
HAAR(REC1)=
IB1I4-IB1I2-IB1I3+IB1I1,
其中IB1I1代表INT_IB1(BCx1-1,BRy1-1),其表示顶部左侧相邻位置B1C1处的分块积分值;IB1I2代表INT_IB1(BCx2,BRy1-1),其表示顶部相邻位置B1C2处的分块积分值;IB1I3代表INT_IB1(BCx1-1,BRy2),其表示左侧相邻位置B1C3处的分块积分值,以及IB1I4代表INT_IB1(BCx2,BRy2),其表示位置B1C4处的块积分值。
因此,通过与矩形区域REC1,REC2,REC3,REC4的所有拐角像素相关联的分块积分图像值,可以将矩形区域REG1的HAAR特征解算为:
HAAR(REG1)=
HAAR(REC1)+HAAR(REC2)+HAAR(REC3)+HAAR(REC4)
=
IB1I4-IB1I2-IB1I3+IB1I1+
IB2I4-IB2I2-IB2I3+IB2I1+
IN3I4-IB3I2-IB3I3+IB3I1+
IB4I4-IB4I2-IB4I3+IB4I1
在此,IB2I3,IB2I1,IB3I2,IB3I1,IB4I2,IB4I3和IB4I1与它们块外侧的像素有关,以便它们的分块积分图像值是0。公式因此可能简化为:
HAAR(REG1)=
IB1I4-IB1I2-IB1I3+IB1I1+
IB2I4-IB2I2+
IB3I4-IB3I3+
IB4I4.
在此,主处理器MCPU可以被要求从一个或多个存储器中仅仅读取9个值。
因此,主处理器可以被布置成,对于一个或多个拐角块IB1,IB2,IB3,IB4中的每个,从一个或多个存储器中检索与拐角块IB1中的矩形区域片段的拐角像素B1C1,B1C2,B1C3,B1C4相关联的分块积分图像值IB1I1,IB1I2,IB1I3,IB1I4,以及使用与拐角块IB1中的矩形区域片段的拐角像素B1C1,B1C2,B1C3,B1C4相关联的分块积分图像值IB1I1,IB1I2,IB1I3,IB1I4来解算拐角块IB1的矩形区域片段REC1的HAAR特征。
在另一个实施例中,在进一步解算移位矩形区域REG1'的HAAR特征以获得矩形区域REG1和相关联的移位矩形区域REG1'的HAAR特征期间,由主处理器MCPU读取的值数目可以进一步减少。矩形区域REG1和移位矩形区域REG1的HAAR特征例如可以在对象检测中使用,以改进对象检测性能。移位区域REG1'例如可以相对于矩形区域REG1沿着行方向移位了单一像素位置。在替代例子中,移位区域可以移位了多个像素,其中所述多个小于在移位方向上测量的图像块的宽度。该移位区域可能替代地对应于水平移位、垂直移位、或水平和垂直移位的组合,例如对角移位。
图9示意性地指示了在大小和形状上对应于矩形区域REG1,但是相对于矩形区域REG1被水平移位的移位矩形区域REG1'(虚线显示)。该移位矩形区域REC1'的分块积分图像值使用了用于REG1的对应积分图像参考标记,但是具有添加到参考标记的’符号。为了解算移位矩形区域REG1'的HAAR特征,主处理器MCPU可能因此解算:
HAAR(REG1’)=
IB1I4’-IB1I2’-IB1I3’+IB1I1’+
IB2I4’-IB2I2’+
IB3I4’-IB3I3”+
IB4I4’
在此,加粗字体书写的积分图像值IB1I4',IB1I2',IB3I4'对应于与矩形区域REG1的相关联积分图像值相同的像素位置。即,IB1I4',IB1I2'和IB3I4'与沿着上部拐角像素P1,P2/P1',P2'的行和下部拐角像素P3,P4/P3',P4'的行的积分图像块IB1,IB2,IB3和IB4中的相应矩形区域的边缘像素相对应。
主处理器MCPU可以被布置成,当解算移位矩形区域REC1'的HAAR特征时,重复使用在解算矩形区域REG1的HAAR特征时从一个或多个存储器中读取的较早检索的积分图像值IB1I4,IB1I2,IB3I4,即,作为:
HAAR’(REG1)=
=
IB1I4-IB1I2-IB1I3’+IB1I1’+
IB2I4’-IB2I2’+
IB3I4-IB313’+
IB4I4’
主处理器MCPU可能由此将其从存储器读取的值的数目从9个减少到6个,因为只要移位区域REG1'和矩形区域REG1的拐角像素相应地处于相同积分图像块IB1,IB2,IB3和IB4中,那么沿着IB1和IB2和IB3和IB4之间的垂直划分的值IB1I4',IB1I2'和IB3I4'不需要再次被读取。当垂直移位时,相同的减少3可能也适用,只要移位区域REG1'的拐角像素P1',P2',P3',P4'位于与矩形区域REG1的拐角像素P1,P2,P3,P4相同的块中。如果移位是在对角线方向,只要移位区域REG1'的拐角像素P1',P2',P3',P4'位于与矩形区域REG1的拐角像素P1,P2,P3,P4相同的块中,那么能够实现减少1,因为中心值IB1I4'不需要从一个或多个存储器MEM中重新被读取。
因此,主处理器(MCPU)可以被布置成,对于包括图像的预定义矩形区域REG1'的像素的每个图像数据块IB1',IB2',IB3',IB4':
-检查与相应的矩形区域片段REC1',REC2',REC3',REC4'的四个拐角像素中的一个或多个的积分图像值(例如,IB1I2',IB1I4',IB3I4')是否已经从一个或多个存储器MEM被检索,
-在对于相应的矩形区域片段REC1',REC2',REC3',REC4'的四个拐角像素中的一个或多个、积分图像值尚未从一个或多个存储器MEM被检索的情况下,从一个或多个存储器MEM中检索与相应的矩形区域片段REC1的相应拐角像素(例如,B1C1,B1C3)相关联的分块积分图像值(例如,IB1I1',IB1I3'),
-在对于相应的矩形区域片段REC1',REC2',REC3',REC4'的四个拐角像素中的一个或多个、积分图像值已经从一个或多个存储器MEM被检索的情况下,使用已经检索的与相应的矩形区域片段REC1的相应拐角像素(例如,相应地是B1C2,B1C4)相关联的分块积分图像值(例如,IB1I2,IB1I4,IB3I4),以及
-根据与相应的矩形区域片段REC1'的拐角像素(例如,B1C1',B1C2',B1C3',B1C4')相关联的分块积分图像值,为块解算相应的矩形区域片段,例如REC1',的HAAR特征,
以便对于包括图像的预定义矩形区域REG1'的像素的所有图像数据块解算矩形区域片段REC1',REC2',REC3',REC4'的HAAR特征。
图10a和图10b示意性地说明了根据另一个实施例的解算HAAR特征的方法。
图10a说明了一种情形,其中预定义矩形区域REG2没有延伸到4个像素块,而是沿着2个块行和3个块列延伸到6个像素块。
为了处置这种情形,主处理器MCPU可以被布置成,检测预定矩形区域REG2包括边缘矩形区域REC12,REC34,该边缘矩形区域定位在包括拐角像素P1,P2,P3,P4的矩形区域REC1,REC2,REC3和REC4之间,并且相应地与位于IB1和IB2以及IB3和IB4之间的块IB12和IB34的积分图像区域相关联。
在这种情形的类型中,主处理器MCPU可能通过以下来解算矩形区域REG2的HAAR特征:
作为IB2I3=0,IB2I1=0,IB3I2=0,IB3I1=0,以及在公式中,HAAR特征和以斜体字体书写的分块积分图像值对应于边块IB12,IB34的矩形区域REC12,REC34的HAAR特征和分块积分图像值,并且其它值对应于拐角块IB1,IB2,IB3,IB4的矩形区域REC1,REC2,REC3,REC4的那些。在此,IBpq代表IBp和IBq之间的边块。
至此,主处理器可以还被布置成,在确定图像数据块中哪一个或者哪些包括图像的预定义矩形区域REG2的像素中,通过标识一个或多个图像数据块中的哪一个或哪些块包括从块的一边(例如,阵列B12SA的IB12SID1)延伸到块(例如,阵列B12SA的块IB12)的相对边(例如,阵列B12SA的IB12SID2)的像素阵列(例如,B12SA),来确定一个或多个边块(例如,IB12,IB34),阵列的像素对应于图像的预定义矩形区域REG2的边像素,其中边不包括图像的预定义矩形区域REG2的一个或多个拐角像素P1,P2,P3,P4。
此外,主处理器可以被布置成,对于一个或多个边块(例如,IB12,IB34)中的每个,从一个或多个存储器中检索边块(例如,IB12,IB34)中的矩形区域片段的拐角像素的积分图像值(例如,IB12,IB34),并且使用与边块(例如,IB12,IB34)中的矩形区域片段的拐角像素相关联的积分图像值(例如,IB12,IB12I1,IB12I2和IB12I3,IB12I4)来解算边块(例如,IB12,IB34)的相应矩形区域片段REC1的HAAR特征。
图10b说明了一种情形,其中预定义矩形区域REG3沿着4个块行和3个块列延伸到12个像素块。预定义矩形区域REG3因此对应于下述的总和:拐角块IB1,IB2,IB3,IB4的矩形区域REC1,REC2,REC3,REC4;边块IB12,IB34的矩形区域REC12,REC34;矩形区域REG3左边的REC1与REC3之间的边块的矩形区域REC1a3,REC1b3;矩形区域REG3右边的REC2与REC4之间的边块的矩形区域REC2a4,REC2b4;以及,具有关联积分图像块IBIN1,IBIN2的封闭矩形区域RECIN1,RECIN2。封闭矩形区域RECIN1,RECIN2完全包含在REG3中,并且可以可以被称为封闭矩形区域或包含矩形区域。
主处理器MCPU可能通过以下来解算矩形区域REG3的HAAR特征:
其中与边区域有关的HAAR特征被显示为常规外观斜体字体,而与封闭区域RECIN1和RECIN2相关联的HAAR特征被显示为黑体斜体字体。
图11示意性地显示了具有可编程处理器2005的示例用户交互系统2000。该用户交互系统2000显示为个人计算机,但是可以是任何类型的适当的用户交互系统2000。可编程处理器2005被布置成能够与所示的HAAR解算系统HSYS通信。该HAAR解算系统HSYS例如可以是根据参考图1描述的一个实施例。HAAR解算系统HSYS能够被连接到相机CAM并且经由其相机接口CAM-IF(图1所示)从相机CAM接收图像。替代地,图像可以由用户交互系统2000的可编程处理器2005提供给HAAR解算系统HSYS。用户交互系统2000还包括存储单元2007、用户输入2003和显示器2006。用户输入2003允许用户例如使用键盘2001或鼠标2002向处理器2000输入用户数据和用户指令2004。而且,虽然未示出,但是显示器2006可能包括触敏表面,以用于使用户能够借助于触摸显示器2006向用户输入2003提供用户数据和用户指令。处理器2005被布置成执行根据本发明的方法之一,接收用户数据和用户指令2004,在显示器2006上呈现视觉信息,以及与数据I/O设备2009,例如光盘驱动器或固态读取器/写入器通信。处理器2005被布置成与存储单元2007协作,以允许存储和检索存储单元2007上的信息。用户交互系统2000还可能包括通信信道2008,以允许处理器2005连接到外部云2500,以用于与云中的其它设备通信。外部云例如可以是因特网。处理器2005也可以被布置成从存储单元2007检索信息,或从云2500中的其它设备检索信息,例如从相机接收的图像。通过使用数据I/O设备2009,处理器2005能够读取包括计算机程序产品的计算机可读介质,其中计算机程序产品包括用于使HAAR解算系统HSYS执行根据实施例的解算HAAR特征的方法的指令。通过使用数据I/O设备2009,处理器2005还可以能够读取包括计算机程序产品的计算机可读介质,其中计算机程序产品包括用于使处理器2005使用由HAAR解算系统HSYS确定的HAAR特征来执行对象检测和识别的方法的指令。在另一个实施例中,可编程处理器2005包括HAAR解算系统HSYS。
图12示意性地显示了包括安全系统SASYS的车辆VHEC。该车辆VHEC包括安全系统SASYS,其被布置成检测与安全有关的风险,以及响应于检测到与安全有关的风险,将这些风险通过信号通知给车辆驾驶员或紧急服务和/或信号通知给或控制一个或多个车辆致动器CARACT。
安全系统SASYS包括图像分类系统ICSYS和专家系统XSYS。图像分类系统ICSYS包括根据一个实施例的HAAR解算系统HSYS、图像源和图像特征检测器。该图像源可以是参照图1所描述的并且如图12中指示的相机CAM,或另一类型的图像生成单元,诸如例如雷达探测器。HAAR解算系统HSYS被布置成从图像源接收或检索图像IMG并且计算该图像IMG的预定义矩形区域REG1的一个或多个HAAR特征。图像特征检测器IFDET可以被布置成,通过将一个或多个HAAR特征与表示图像特征的预定参考值进行比较来检测图像特征,例如检测图像中的边缘。专家系统XSYS被布置成接收由图像特征检测器检测到的图像特征并且将该图像特征使用于下述至少一个:检测对象、对对象进行分类、识别对象、对路标进行检测和分类、对另一车辆进行检测和分类、识别风险、识别即刻危险、执行行人识别、控制车辆驾驶、将车辆和在前车辆之间的距离保持在预定距离范围内、和/或将车辆相对于交通车道的位置保持在预定车道保持边界内。专家系统XSYS可以被布置成向用户交互设备UIDEV,例如电子显示器、视觉指示器光,或声指示器,提供与下述相关联的信息:检测对象、分类对象、识别的风险、识别的即刻危险、积极的行人识别、其对车辆驾驶的控制、其将车辆和在前车辆之间的距离保持在预定距离范围内、和/或其将车辆相对于交通车道的位置保持在预定车道保持边界内的信息提供给驾驶员。专家系统XSYS可以被布置成给车辆控制单元CARCON提供控制信息,例如与控制车辆驾驶相关的控制信息,例如用于响应于检测到的即刻危险而给刹车系统的让车辆停止的控制信息,其将车辆和在前车辆之间的距离保持在预定距离范围内,例如给速度控制器的控制信息,和/或将车辆相对于交通车道的位置保持在预定车道保持边界内,例如给转向控制器的控制信息。图像特征检测器IFDET、专家系统XSYS和车辆控制单元CARCON是图1所示的主机HOST的一个例子。
图13显示了包括了计算机程序产品3100的计算机可读介质3000。该计算机程序产品3100包括指令,所述指令用于使包括HAAR解算系统HSYS或与其协作的处理器设备执行根据一个实施例的解算HAAR特征的方法,其中该HAAR解算系统HSYS具有多个计算引擎CU1,CU2,CU3,CUn和主处理器MCPU。计算机程序产品3100可以作为物理标记或通过计算机可读介质3000的磁化在计算机可读介质3000上呈现。然而,任何其它适当的实施例也是可想得到的。此外,应了解虽然计算机可读介质3000在图13中显示为光盘,计算机可读介质3000可以是任何适当的计算机可读介质,例如硬盘、固态存储器、快闪存储器等等,并且可以是不可记录的可以记录的。计算机程序产品3100包括指令,所述指令用于使具有多个计算引擎的处理器系统执行解算HAAR特征的方法。
计算机程序产品3100可能包括指令,用于使多个计算引擎CU1,CU2,CU3,...CUn的每个计算引擎重复地a1)从一个或多个存储器MEM中检索对应于矩形图像区域BLK(1)...BLK(mn+n)的图像数据块BLK(i);a2)计算图像数据块的所有像素的积分图像值IBLK(i),以获得图像数据块的积分图像;以及,a3)将块的积分图像IBLK(i)存储在一个或多个存储器MEM中,以及,用于使主处理器MCPU:b1)确定哪一个或哪些图像数据块包括了图像的预定义矩形区域的像素;b2)对于包括图像的预定义矩形区域的像素的每个图像数据块,将相应的矩形区域片段REC1,REC2,REC3,REC4,REC12,REC34定义为属于图像的预定义矩形区域的块的像素;b3)对于包括了图像的预定义矩形区域REG1的像素的每个图像数据块IB1,IB2,IB3,IB4,IB12,IB34,解算矩形区域片段REC1,REC2,REC3,REC4,REC12,REC34的HAAR特征;以及b4)添加矩形区域片段REC1,REC2,REC3,REC4,REC12,REC34的HAAR特征,以获得图像的预定义矩形区域的HAAR特征。
图14显示了另一个包括了另一个计算机程序产品4100的计算机可读介质4000。该计算机程序产品4100包括指令,所述指令用于使包括了海量并行处理器的多个计算引擎的HAAR解算系统HSYS的计算引擎执行解算图像的多个图像数据块的图像块的积分图像值的方法,该方法包括重复地:从一个或多个存储器MEM中检索对应于矩形图像区域BLK(1)...BLK(mn+n)的图像数据块BLK(i);解算图像数据块的所有像素的积分图像值IBLK(i)以获得图像数据块的积分图像;以及将块的积分图像IBLK(i)存储在一个或多个存储器MEM中。在此,海量并行处理器的多个计算引擎中的多个计算引擎可以被布置成解算一个或多个图像数据块的多个积分图像。计算机程序产品4100可以作为物理标记或通过计算机可读介质4000的磁化在计算机可读介质4000上呈现。然而,任何其它适当的实施例也是可想得到的。此外,应了解虽然计算机可读介质4000在图14中显示为光盘,计算机可读介质4000可以是任何适当的计算机可读介质,例如硬盘、固态存储器、快闪存储器等等,并且可以是不可记录的可以记录的。计算机程序产品4100包括指令,所述指令用于使海量并行处理器的一个或多个计算引擎执行解算图像的多个图像数据块的图像数据块的积分图像值的方法。
在另一个实施例中,计算机程序产品包括用于使HAAR解算系统HSYS的主处理器MCPU指令:b1)确定哪一个或哪些图像数据块包括图像的预定义矩形区域的像素,b2)对于包括图像的预定义矩形区域的像素的每个图像数据块,将相应的矩形区域片段REC1,REC2,REC3,REC4,REC12,REC34定义为属于图像的预定义矩形区域的块的像素,b3)为包括了图像的预定义矩形区域REG1的像素的每个图像数据块IB1,IB2,IB3,IB4,IB12,IB34解算矩形区域片段REC1,REC2,REC3,REC4,REC12,REC34的HAAR特征,以及b4)添加矩形区域片段REC1,REC2,REC3,REC4,REC12,REC34的HAAR特征以获得图像的预定义矩形区域的HAAR特征。
操作系统(OS)是管理一台计算机的资源共享以及提供给程序员用于访问这些资源的界面的软件。操作系统处理系统数据和用户输入,以及通过配置和管理任务以及内部系统资源作为系统对用户和程序员的一项服务响应。
本发明可以在计算机程序中被实现。该程序用于在计算机系统上运行,至少包括用于当在可编程的设备上,例如计算机系统或启动可编程的设备以执行根据本发明的设备或系统的功能,运行时,执行一种根据本发明的方法的代码部分。计算机程序可能例如包括一个或多个:子程序、函数、程序、对象方法、对象实现、可执行的应用程序、小程序、小服务程序、源代码、对象代码、共享库/动态装载库和/或设计用于在计算机系统上的执行的其它指令序列。计算机程序可以位于数据载体上,例如以数据可加载于计算机系统的存储器而存储的CD-rom或磁盘,数据表示计算机程序。数据载体还可以是数据连接,例如电话电缆或无线连接。
在前面的说明中,参照本发明实施例的特定例子已经对本发明进行了描述。然而,很明显各种修改和变化可以在不脱离附属权利要求中所陈述的本发明的宽范围精神及范围的情况下被做出。例如,连接可以是任何类型的连接,该连接适于将信号从或传输到相应的节点、单元或设备,例如通过穿孔中间设备。因此,除非暗示或说明,连接,例如,可能是直接连接或间接连接。
本发明所描述的导体可以被说明或描述,涉及到是单一导体、多个导体、单向导体、或双向导体。然而,不同实施例可能改变连接的实现。例如,可以使用分离的单向导体而不是双向导体,反之亦然。此外,多个导体可以被替换为连续地或以时间多路复用方式传输多个信号的单一导体。同样地,携带多个信号的单一导体可以被分离成各种不同的携带这些信号的子集的导体。因此,存在传输信号的许多选项。
由于实施本发明的设备大部分是由本领域所属技术人员所熟知的电子元件以及电路组成,电路的细节不会在比上述所说明的认为有必要的程度大的任何程度上进行解释。对本发明基本概念的理解以及认识是为了不混淆或偏离本发明所教之内容。
正如本发明所使用的,术语“程序”被定义为在计算机系统上执行的一系列指令。程序或计算机程序可能包括子程序、函数、程序、对象方法、对象实现、可执行的应用程序、小程序、小服务程序、源代码、对象代码、共享库/动态装载库和/或设计用于在计算机系统上的执行的其它指令序列。
上述一些实施例,如果适用的话,可以通过使用各种不同信息处理系统被实现。例如,虽然图1以及其中的讨论描述了示例信息处理架构,提出该示例架构仅仅是为了提供用于讨论本发明公开每个方面的有用参考。当然,架构的描述是为了便于讨论,并且只是根据本发明公开可以被使用的多种不同类型的适当架构中的其中。本领域所属技术人员将认识到逻辑块之间的界限仅仅是说明性的并且替代实施例可能合并逻辑块或电路元素或在各种逻辑块或电路元素上强加替代的分解功能。
因此,应了解本发明描述的架构仅仅是示例性的,并且事实上实现相同功能的很多其它架构可以被实现。从抽象的但仍有明确意义上来说,为实现相同功能的任何组件的布置是有效地“关联”以便所需的功能得以实现。因此,为实现特定功能,本发明中结合在一起的任何两个组件可以被看作彼此“相关联”以便所需的功能得以实现,不论架构还是中间组件。同样地,如此关联的任何两个组件还可以被认为是彼此被“可操作连接”或“可操作耦合”以实现所需的功能。
又如,在一个实施例中,系统HSYS的所示元件是位于单一集成电路上或位于相同设备上的电路。或者,系统HSYS可能包括任何数目彼此互联的分离集成电路或分离设备。例如,主处理器MCPU可以位于与计算引擎CU1,CU2,…,CUn相同的集成电路上或位于分离的集成电路上或位于另一个外围设备或与系统HSYS的其它元件离散分离的从属设备内。外围设备,例如相机CAM和I/O电路,例如相机接口CAM-IF也可以位于分离集成电路或设备上。又如,系统HSYS或其中的一部分可以是物理电路的软或代码表征或转化成物理电路的逻辑表征。因此,系统HSYS可以在任何合适类型的硬件描述语言中体现。
此外,本领域所属技术人员将认识到上述描述的操作之间的界限只是说明性的。多个操作可以组合成单一的操作,单一的操作可以分布在附加操作中,并且操作可以至少在时间上部分重叠被执行。而且,替代实施例可能包括特定操作的多个实例,并且操作的顺序在各种其它实施例中会改变。
本发明所描述的全部或部分软件可以是从计算机可读介质,例如存储器MEM或其它计算机系统上的其它介质上接收的系统HSYS的元件。这些计算机程序可以被永久地、可移除地提供在计算机可读介质或远程地耦合于信息处理系统,例如系统HSYS或用户交互系统2000。计算机可读介质可能包括,例如但不限于以下的任何数目:磁存储介质包括磁盘和磁带存储介质;光学存储介质例如光盘介质(例如,CD-ROM、CD-R等等)以及数字视盘存储介质;非易失性存储器存储介质包括半导体存储单元例如FLASH存储、EEPROM、EPROM、ROM;铁磁数字存储;MRAM;易失性存储介质包括寄存器、缓冲或缓存、主存储器、等等;以及数字传输介质包括计算机网络、点对点通信设备、以及载波传输介质,仅举几例。
在实施例中,系统HSYS是计算机系统,例如个人计算机系统。其它实施例可能包括不同类型的计算机系统。计算机系统是可以被设计用于给一个或多个用户提供独立计算能力的信息处理系统。计算机系统可以具有多种形式,包括但不限于主机、微型计算机、服务器、工作站、个人电脑、笔记本、个人数字助理、电子游戏、汽车和其它嵌入式系统、手机和各种其它无线设备。典型的计算机系统包括至少一个处理单元、关联内存和大量的输入/输出(I/O)设备。
计算机系统根据程序处理信息并且通过I/O设备产生生成的输出信息。程序是一系列指令,例如特定应用程序和/或操作系统。计算机程序通常在计算机可读存储介质上被内部地存储或通过计算机可读传输介质传输到计算机系统。计算机处理通常包括执行(运行)程序或程序的部分,现有的程序值和状态信息,以及通过操作系统用于管理处理的执行的资源。母过程可能生成其它子过程以有助于执行母过程的整个功能。由于母过程明确地生成其它子过程以执行母过程的整个功能的一部分,由子过程(以及孙子过程等等)执行的功能有时可能被描述为由母过程执行。
此外,本发明不限定在非程序化硬件中被实现的物理设备或单元,但也可以应用在可编程设备或单元中。这些设备或单元通过操作能够执行所需的设备功能。而且,设备可以物理地分布在很多设备,同时在功能上作为单一设备进行操作。此外,在功能上形成相应设备的设备可以集成到单一物理设备。而且,单元和电路可以适当地组合在一个或多个半导体设备中。
然而,其它修改、变化和替代也是可能的。说明书和附图相应地被认为是从说明性的而不是严格意义上来讲的。
在权利要求中,放置在括号之间的任何参考符号不得被解释为限定权利要求。单词“包括”不排除其它元件或随后在权力要求中列出的那些步骤的存在。此外,本发明所用的“a”或“an”被定义为一个或多个。并且,在权利要求中所用词语如“至少一个”以及“一个或多个”不应该被解释以暗示通过不定冠词“a”或“an”引入的其它权利要求元件限定任何其它特定权利要求。所述特定权利要求包括这些所介绍的对发明的权利元件,所述权利元件不仅仅包括这样的元件。即使当同一权利要求中包括介绍性短语“一个或多个”或“至少一个”以及不定冠词,例如“a”或“an”。使用定冠词也是如此。除非另有说明,使用术语如“第一”以及“第二”是用于任意区分这些术语描述的元件的。因此,这些术语不一定表示时间或这些元件的其它优先次序。某些措施在相互不同的权利要求中被列举的事实并且不表示这些措施的组合不能被用于获取优势。
##
Claims (20)
1.一种用于解算图像(IMG)的预定义矩形区域(REG1)的HAAR特征的HAAR解算系统(HSYS),所述HAAR解算系统包括:
-一个或多个存储器(MEM),用于存储包括图像数据的数据,
-多个计算引擎(CU1,CU2,CU3,CUn),每个所述计算引擎被布置成重复地:
--从所述一个或多个存储器(MEM)中检索与矩形图像区域(BLK(1)...(BLK(mn+n))相对应的图像数据块(BLK(k)),
--解算所述图像数据块的所有像素的积分图像值(IBLK(k)),以获得所述图像数据块的积分图像,以及
--将所述块的所述积分图像(IBLK(k))存储在所述一个或多个存储器(MEM)中;
-主处理器(MCPU),所述主处理器(MCPU)被布置成:
--确定哪一个或哪些图像数据块包括所述图像的所述预定义矩形区域的像素,
--对于包括所述图像的所述预定义矩形区域的像素的每个图像数据块,将相应的矩形区域片段(REC1,REC2,REC3,REC4,REC12,REC34)定义为属于所述图像的所述预定义矩形区域的所述块的所述像素,
--对于包括所述图像的所述预定义矩形区域(REG1)的像素的每个图像数据块(IB1,IB2,IB3,IB4,IB12,IB34),解算所述矩形区域片段(REC1,REC2,REC3,REC4,REC12,REC34)的HAAR特征,以及
--添加所述矩形区域片段(REC1,REC2,REC3,REC4,REC12,REC34)的所述HAAR特征,以获得所述图像的所述预定义矩形区域的所述HAAR特征。
2.根据权利要求1所述的HAAR解算系统(HSYS),所述主处理器(MCPU)被布置成:对于包括所述图像的所述预定义矩形区域(REG1)的像素的每个图像数据块(IB1):
--从所述一个或多个存储器(MEM)中检索与所述相应矩形区域片段(REC1)的拐角像素(B1C1,B1C2,B1C3,B1C4)相关联的积分图像值(IB1I1,IB1I2,IB1I3,IB1I4),以及
--根据与所述相应矩形区域片段(REC1)的所述拐角像素(B1C1,B1C2,B1C3,B1C4)相关联的所述积分图像值,解算所述块的所述相应的矩形区域片段(REC1)的所述HAAR特征,
以便对于包括所述图像的所述预定义矩形区域的像素的所有图像数据块,解算所述矩形区域片段(REC1,REC2,REC3,REC4,REC12,REC34)的所述HAAR特征。
3.根据任何一项前述权利要求所述的HAAR解算系统(HSYS),所述主处理器(MCPU)被布置成:对于包括所述图像的所述预定义矩形区域(REG1)的像素的每个图像数据块(IB1):
--检查是否从所述一个或多个存储器(MEM)中已经检索到与所述相应矩形区域片段(REC1)的四个拐角像素中的一个或多个相关联的积分图像值(IB1I2',IB1I4'),
--在对于所述相应矩形区域片段(REC1)的所述四个拐角像素中的一个或多个还没有从所述一个或多个存储器(MEM)中检索到积分图像值情况下,从所述一个或多个存储器(MEM)中检索与所述相应矩形区域片段(REC1)的相应拐角像素(B1C1,B1C3)相关联的所述积分图像值(IB1I1',IB1I3'),
--在对于所述相应矩形区域片段(REC1)的所述四个拐角像素中的一个或多个已经从所述一个或多个存储器(MEM)中检索到积分图像值的情况下,使用所检索到的与所述相应矩形区域片段(REC1)的所述相应拐角像素(B1C2,B1C4)相关联的所述积分图像值(IB1I2',IB1I4'),以及
--根据与所述相应矩形区域片段(REC1)的所述拐角像素(B1C1,B1C2,B1C3,B1C4)相关联的所述积分图像值,解算所述块的所述相应矩形区域片段(REC1)的所述HAAR特征,
以便对于包括所述图像的所述预定义矩形区域的像素的所有图像数据块,解算所述矩形区域片段(REC1,REC2,REC3,REC4,REC12,REC34)的所述HAAR特征。
4.根据任何一项前述权利要求所述的HAAR解算系统(HSYS),所述主处理器(MCPU)被布置成:在确定哪一个或哪些图像数据块包括所述图像的所述预定义矩形区域的像素中:
-通过标识所述一个或多个图像数据块的哪一个或哪些块包括所述图像的所述预定义矩形区域(REG1)的拐角像素(P1,P2,P3,P4),来确定一个或多个拐角块(IB1,IB2,IB3,IB4)。
5.根据权利要求4所述的HAAR解算系统(HSYS),所述主处理器被布置成:对于所述一个或多个拐角块(IB1,IB2,IB3,IB4)中的每个:
-从所述一个或多个存储器中,检索与所述拐角块(IB1)中的所述矩形区域片段的拐角像素(B1C1,B1C2,B1C3,B1C4)相关联的所述积分图像值(IB1I1,IB1I2,IB1I3,IB1I4),以及
-使用与所述拐角块(IB1)中的所述矩形区域片段的所述拐角像素(B1C1,B1C2,B1C3,B1C4)相关联的所述积分图像值(IB1I1,IB1I2,IB1I3,IB1I4),来解算所述拐角块(IB1)的所述矩形区域片段(REC1)的所述HAAR特征。
6.根据权利要求4或5所述的HAAR解算系统(HSYS),所述主处理器还被布置成:在确定哪一个或哪些图像数据块包括所述图像的所述预定义矩形区域(REG2)的像素中:
-通过标识所述一个或多个图像数据块的哪一个或哪些块包括从所述块的一边(IB12SID1)延伸到所述块(IB12)的相对边(IB12SID2)的像素的阵列(B12SA),来确定一个或多个边块(IB12,IB34),所述阵列中的像素与所述图像的所述预定义矩形区域(REG2)的边像素相对应,其中所述边不包括所述图像的所述预定义矩形区域(REG2)的一个或多个所述拐角像素(P1,P2,P3,P4)。
7.根据权利要求6所述的HAAR解算系统(HSYS),所述主处理器被布置成:对于所述一个或多个边块(IB12,IB34)中的每个:
-从所述一个或多个存储器中检索与所述边块(IB12)中的所述矩形区域片段的拐角像素相关联的积分图像值(IB12,IB34),以及
-使用与所述边块(IB12)中的所述矩形区域片段的拐角像素相关联的所述积分图像值(IB12I1,IB12I2,IB12I3,IB12I4),来解算所述边块(IB1)的所述矩形区域片段(REC1)的所述HAAR特征。
8.根据任何一项前述权利要求所述的HAAR解算系统(HSYS),所述多个计算引擎(CU1,CU2,CU3,CUn)包括至少16个计算引擎,例如32个、64个和128个计算引擎。
9.根据任何一项前述权利要求所述的HAAR解算系统(HSYS),所述多个计算引擎(CU1,CU2,CU3,CUn)被布置成与公共程序一起执行。
10.根据任何一项前述权利要求所述的HAAR解算系统(HSYS),所述多个计算引擎(CU1,CU2,CU3,CUn)的每个计算引擎是被布置成同时处理多个像素的向量处理器。
11.根据任何一项前述权利要求所述的HAAR解算系统(HSYS),所述图像数据由像素比特深度表示,并且所述计算引擎被布置成:解算在所述像素比特深度的1.5-3倍的范围内,例如所述像素比特深度的2倍的比特深度处的积分图像值。
12.根据任何一项前述权利要求所述的HAAR解算系统(HSYS),所述一个或多个存储器(MEM)至少包括DDR存储器。
13.一种图像分类系统(ICSYS),包括根据任何一项前述权利要求所述的HAAR解算系统(HSYS)、图像源(CAM)和图像特征检测器(IFDET),
-所述HAAR解算系统(HSYS)被布置成:从所述图像源(CAM)接收或检索图像(IMG),以及解算所述图像(IMG)的预定义矩形区域(REG1)的一个或多个HAAR特征,以及
-所述图像特征检测器(IFDET)被布置成:通过将所述一个或多个HAAR特征与表示图像特征的一个或多个预定参考值进行比较,来检测所述图像特征。
14.一种包括安全系统(SASYS)的车辆(VHEC),所述安全系统包括根据权利要求13所述的图像分类系统(ICSYS)和专家系统(XSYS),所述专家系统(XSYS)被布置成:接收由所述图像特征检测器检测的所述图像特征,并且将所述图像特征用于下述中的至少一个:
-检测对象,
-将对象分类,
-识别对象,
-对路标进行检测和分类,
-对另一车辆进行检测和分类,
-识别风险,
-识别即刻危险,
-执行行人识别,
-控制车辆驾驶,
-将所述车辆和在前车辆之间的距离保持在预定距离范围内,和/或
-将所述车辆相对于交通车道的位置保持在预定车道保持边界内。
15.一种解算图像(IMG)的预定义矩形区域(REG1)的HAAR特征的方法,所述方法包括:
-由多个计算引擎(CU1,CU2,CU3,CUn),所述多个计算引擎(CU1,CU2,CU3,CUn)能够访问一个或多个存储器(MEM),以至少从所述一个或多个存储器读取存储在所述一个或多个存储器中的图像数据,并且将数据存储在所述一个或多个存储器中,重复地进行:
--从所述一个或多个存储器(MEM)中检索与矩形图像区域(BLK(1)...(BLK(mn+n))相对应的图像数据块(BLK(i)),
--对于所述图像数据块的所有像素,解算积分图像值(IBLK(i)),以获得所述图像数据块的积分图像,以及
--将所述块的所述积分图像(IBLK(i))存储在所述一个或多个存储器(MEM)中;
-由主处理器(MCPU):
--确定哪一个或哪些图像数据块包括所述图像的所述预定义矩形区域的像素,
--对于包括所述图像的所述预定义矩形区域的像素的每个图像数据块,将相应矩形区域片段(REC1,REC2,REC3,REC4,REC12,REC34)定义为属于所述图像的所述预定义矩形区域的所述块的所述像素,
--对于包括所述图像的所述预定义矩形区域(REG1)的像素的每个图像数据块(IB1,IB2,IB3,IB4,IB12,IB34),解算所述矩形区域片段(REC1,REC2,REC3,REC4,REC12,REC34)的HAAR特征,以及
--添加所述矩形区域片段(REC1,REC2,REC3,REC4,REC12,REC34)的所述HAAR特征,以获得所述图像的所述预定义矩形区域的所述HAAR特征。
16.一种检测图像中的图像特征的方法,所述方法包括:
-接收或检索图像(IMG),
-使用根据权利要求15所述的方法,来解算所述图像(IMG)的一个或多个预定义矩形区域(REG1)的HAAR特征,
-通过将所述HAAR特征与表示所述图像特征的预定参考值进行比较,来检测所述图像特征。
17.一种识别与交通有关的状况的方法,所述方法包括:检测根据权利要求16所述的图像中的图像特征,以及将所述图像特征用于下述中的至少一个:
-检测对象,
-将对象分类,
-识别对象,
-对路标进行检测和分类,
-对另一车辆进行检测和分类,
-识别风险,
-识别即刻危险,
-执行行人识别,
-控制车辆驾驶,
-将所述车辆和在前车辆之间的距离保持在预定距离范围内,和/或
-将所述车辆相对于交通车道的位置保持在预定车道保持边界内。
18.一种根据任何权利要求1-13中任何一项所述的用于并行处理器系统的计算引擎。
19.一种计算机程序产品(3100),包括用于使处理器系统执行根据权利要求15所述的解算HAAR特征的方法的指令。
20.一致计算机程序产品(4100),包括用于使并行处理器的一个或多个计算引擎根据权利要求15所述的解算积分图像值的指令。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2013/052302 WO2014147450A1 (en) | 2013-03-22 | 2013-03-22 | A haar calculation system, an image classification system, associated methods and associated computer program products |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105051756A true CN105051756A (zh) | 2015-11-11 |
Family
ID=51579366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380074942.8A Pending CN105051756A (zh) | 2013-03-22 | 2013-03-22 | Haar解算系统、图像分类系统、关联方法和关联计算机程序产品 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20160042246A1 (zh) |
EP (1) | EP2976736A4 (zh) |
CN (1) | CN105051756A (zh) |
WO (1) | WO2014147450A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109002749A (zh) * | 2017-12-11 | 2018-12-14 | 罗普特(厦门)科技集团有限公司 | 嫌疑人人脸识别认定方法 |
CN109241969A (zh) * | 2018-09-26 | 2019-01-18 | 旺微科技(上海)有限公司 | 一种多目标检测方法及检测系统 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI536810B (zh) * | 2015-02-25 | 2016-06-01 | 緯創資通股份有限公司 | 影像處理方法 |
US10248876B2 (en) * | 2016-06-27 | 2019-04-02 | Texas Instruments Incorporated | Method and apparatus for avoiding non-aligned loads using multiple copies of input data |
US10529049B2 (en) * | 2017-03-27 | 2020-01-07 | Oracle International Corporation | Efficient parallel algorithm for integral image computation for many-core CPUs |
CN111066058B (zh) * | 2018-06-29 | 2024-04-16 | 百度时代网络技术(北京)有限公司 | 用于低功率实时对象检测的系统和方法 |
US11064219B2 (en) * | 2018-12-03 | 2021-07-13 | Cloudinary Ltd. | Image format, systems and methods of implementation thereof, and image processing |
CN113160320A (zh) * | 2020-01-20 | 2021-07-23 | 北京芯海视界三维科技有限公司 | 用于相机参数标定的棋盘角点检测方法和装置 |
CN111914858A (zh) * | 2020-08-17 | 2020-11-10 | 浙江大华技术股份有限公司 | 特征值的确定方法及装置、存储介质和电子装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436299A (zh) * | 2008-11-19 | 2009-05-20 | 哈尔滨工业大学 | 自然场景图像文字检测方法 |
CN101699470A (zh) * | 2009-10-30 | 2010-04-28 | 华南理工大学 | 一种对人脸图片进行笑脸识别的提取方法 |
US20100111446A1 (en) * | 2008-10-31 | 2010-05-06 | Samsung Electronics Co., Ltd. | Image processing apparatus and method |
CN102163287A (zh) * | 2011-03-28 | 2011-08-24 | 北京邮电大学 | 一种基于类Haar特征和支持向量机的车牌字符识别方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6757438B2 (en) * | 2000-02-28 | 2004-06-29 | Next Software, Inc. | Method and apparatus for video compression using microwavelets |
US6711293B1 (en) * | 1999-03-08 | 2004-03-23 | The University Of British Columbia | Method and apparatus for identifying scale invariant features in an image and use of same for locating an object in an image |
US6690727B1 (en) * | 2000-05-08 | 2004-02-10 | Intel Corporation | Image processing |
CN102388601B (zh) * | 2009-04-09 | 2014-06-25 | 飞思卡尔半导体公司 | 布置为对图像滤波的方法和系统 |
US8238674B2 (en) * | 2009-08-11 | 2012-08-07 | Freescale Semiconductor, Inc | Method for encoding and decoding images |
US20120328160A1 (en) * | 2011-06-27 | 2012-12-27 | Office of Research Cooperation Foundation of Yeungnam University | Method for detecting and recognizing objects of an image using haar-like features |
JP5950441B2 (ja) * | 2012-02-01 | 2016-07-13 | 日本電産エレシス株式会社 | 画像認識装置、画像認識方法および画像認識プログラム |
US9398297B2 (en) * | 2013-11-04 | 2016-07-19 | Intel Corporation | Integral image coding |
US9838635B2 (en) * | 2014-09-30 | 2017-12-05 | Qualcomm Incorporated | Feature computation in a sensor element array |
US9704056B2 (en) * | 2015-04-02 | 2017-07-11 | Qualcomm Incorporated | Computing hierarchical computations for computer vision calculations |
-
2013
- 2013-03-22 US US14/776,745 patent/US20160042246A1/en not_active Abandoned
- 2013-03-22 CN CN201380074942.8A patent/CN105051756A/zh active Pending
- 2013-03-22 WO PCT/IB2013/052302 patent/WO2014147450A1/en active Application Filing
- 2013-03-22 EP EP13879201.5A patent/EP2976736A4/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100111446A1 (en) * | 2008-10-31 | 2010-05-06 | Samsung Electronics Co., Ltd. | Image processing apparatus and method |
CN101436299A (zh) * | 2008-11-19 | 2009-05-20 | 哈尔滨工业大学 | 自然场景图像文字检测方法 |
CN101699470A (zh) * | 2009-10-30 | 2010-04-28 | 华南理工大学 | 一种对人脸图片进行笑脸识别的提取方法 |
CN102163287A (zh) * | 2011-03-28 | 2011-08-24 | 北京邮电大学 | 一种基于类Haar特征和支持向量机的车牌字符识别方法 |
Non-Patent Citations (1)
Title |
---|
YI-TA WU 等: "parallel integral image generation algorithm on multi-core system", 《IEEE INTERNATIONAL SYMPOSIUM ON PARALLEL AND DISTRIBUTED PROCESSING WITH APPLICATIONS》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109002749A (zh) * | 2017-12-11 | 2018-12-14 | 罗普特(厦门)科技集团有限公司 | 嫌疑人人脸识别认定方法 |
CN109002749B (zh) * | 2017-12-11 | 2022-01-04 | 罗普特科技集团股份有限公司 | 嫌疑人人脸识别认定方法 |
CN109241969A (zh) * | 2018-09-26 | 2019-01-18 | 旺微科技(上海)有限公司 | 一种多目标检测方法及检测系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2014147450A1 (en) | 2014-09-25 |
EP2976736A1 (en) | 2016-01-27 |
US20160042246A1 (en) | 2016-02-11 |
EP2976736A4 (en) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105051756A (zh) | Haar解算系统、图像分类系统、关联方法和关联计算机程序产品 | |
CN102034074B (zh) | 在图像中定位并撷取条形码区域的图像处理方法及装置 | |
CN102081647A (zh) | 显示弹出式广告的方法和设备 | |
CN103189922A (zh) | 合并关于副本图像的元数据 | |
CN103493008A (zh) | 镜像分析工具 | |
CN104978739A (zh) | 一种图像对象选取方法和装置 | |
CN103702032A (zh) | 图像处理方法、装置和终端设备 | |
CN112862856A (zh) | 违停车辆的识别方法、装置、设备及计算机可读存储介质 | |
CN108346131A (zh) | 一种数字图像缩放方法、装置及显示设备 | |
Shi et al. | An FPGA-based hardware accelerator for traffic sign detection | |
Takagi et al. | A real-time scalable object detection system using low-power HOG accelerator VLSI | |
JP7165353B2 (ja) | 画像特徴量出力装置、画像認識装置、画像特徴量出力プログラム、及び画像認識プログラム | |
Park et al. | A vision processor with a unified interest-point detection and matching hardware for accelerating a stereo-matching algorithm | |
CN114299030A (zh) | 物体检测模型处理方法、装置、设备及存储介质 | |
US20190258888A1 (en) | Hardware and system of bounding box generation for image processing pipeline | |
CN112016432A (zh) | 基于深度学习的车牌字符识别方法、存储介质及电子设备 | |
CN114359048A (zh) | 图像的数据增强方法、装置、终端设备及存储介质 | |
CN110087088B (zh) | 一种基于运动估计的数据存储方法、终端设备及存储介质 | |
JP7107544B2 (ja) | 情報処理装置、制御方法、及びプログラム | |
CN105303148A (zh) | 条码扫描方法及装置 | |
CN112700428A (zh) | 一种交换机背板元件识别方法及装置 | |
Yasri et al. | VLSI based edge detection hardware accelerator for real time video segmentation system | |
KR102639050B1 (ko) | Vr 이미지 콘텐츠 제공 시스템 | |
US20240169702A1 (en) | Image recognition edge device and method | |
JP4720805B2 (ja) | 画像処理装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20151111 |
|
WD01 | Invention patent application deemed withdrawn after publication |