图像识别系统以及半导体集成电路的制作方法

文档序号:11814828阅读:186来源:国知局
本申请涉及一种图像识别系统,特别涉及一种高效的图像识别处理。
背景技术
::近年来,在监控摄像头、车载安全装置以及数字静态照相机(DigitalStillCamera)等领域中,广泛地使用对人、人以外的物体等对象物进行检测的图像识别技术。进而,人们期待如下所述的广泛的应用,即:通过跟踪对象物来判断其举动,由此确定可疑人物或收集推销信息、或者进行危险预测。作为跟踪对象物的技术,使用了光流法的图像识别处理已为人所知(例如参照专利文献1)。此外,作为图像识别处理之一,还已知有利用借助软件实现的识别器来判断人体面部的朝向的技术(例如参照专利文献2)。此外,作为借助软件实现的另一图像识别处理,还公开了基于着眼于人体边缘的特征量来推断人的姿势的技术(例如参照非专利文献1、非专利文献2)。另一方面,通过硬件来实现图像识别处理的、可重新配置的处理器已为人所知(例如参照非专利文献3)。此外,在专利文献3和专利文献4中也公开了与可重新配置的处理器相关的内容。此外,已知图像识别处理中需要进行多种处理,能够高效地执行多种运算的处理装置(例如专利文献5)已为人所知。此外,还有如下所述的装置,该装置进行如使用了Microsoft(注册商标)公司的Kinect传感器来进行的举动识别处理那样的处理,即该装置进行:在传感器生成3D数据,并对传感器的输出进行软件处理。如上所述,与图像识别处理相关的技术有多种,然而由于该技术是快速发展的,因此如果考虑容易地灵活应对最新技术这样的方面,则可以说用软件来实现图像识别处理更切实际。专利文献1:美国专利第8374393号说明书专利文献2:美国专利第7957567号说明书专利文献3:日本公开专利公报特开2001-236496号公报专利文献4:日本公开专利公报特开2007-141132号公报专利文献5:日本公开专利公报特开2010-134713号公报非专利文献1:Pedro.FFelzenszwalb,Ross.BGirshick,DavidMcAllester,DevaRamanan,“ObjectDetectionwithDiscriminativelyTrainedPart-BasedModels”,PatternAnalysisandMachineIntelligence,IEEETransactions,Vol.32,no.9,pp.1627-1645,Sept.2010非专利文献2:YiYang,DevaRamanan,“Articulatedposeestimationwithflexiblemixtures-of-parts”,ComputerVisionandPatternRecognition(CVPR),2011IEEEConference,pp.1385-1392,20-25June2011非专利文献3:新淳、及其他四名,“面向低功耗应用的处理器~以图像识别处理器IMAPCAR2为例”,NEC技术报纸,Vol.62,No.3/2009,p.97-101(新淳、他4名、「低消費電力応用志向プ口セツサ~画像認識プロセツサIMAPCAR2を例として~」、NEC技報、Vol.62、No.3/2009、p.97-1O1)技术实现要素:-发明要解决的技术问题-然而,如果用软件来实现所有图像识别处理,软件就能容易地灵活应对多种算法,但是另一方面,这会使CPU(CentralProcessingUnit,中央处理器)等承担所有处理,因此需要高性能CPU等,或者需要大量CPU等。因此,不仅耗成本,而且还可能使处理性能存在限度或者使功耗增多。特别是,在处理高精细图像的情况下,必须进行用高频高性能CPU等来进行的处理,因此功耗增大得显著。另一方面,如果用硬件来实现所有图像识别处理,则由于能够使用适合于各处理的硬件,因此能够提高处理性能,并且由于不需要使用高性能CPU等,因此能够谋求低成本且低功耗化。另一方面,可能会存在如下情况,即:在用软件来实现的情况下能够得到的灵活性受到影响,或电路规模增大。即,能够通过用软件来实现图像识别处理而得到的效果与能够通过用硬件来实现图像识别处理而得到的效果是处于此消彼长(trade-off)的关系的。现有技术中只不过公开了仅仅与图像识别处理等相关的内容而已,但并没有提到有关考虑了所述此消彼长关系的、最佳的系统构成方式。此外,对于所述Kinect传感器而言,由于其光学系统的限制,因此,例如难以用光学变焦距方式来实现对远距离对象物的举动的识别,或者难以用广角镜头或鱼眼镜头来实现对宽广范围空间内的对象物的举动的识别。因此,在利用了该传感器的情况(游戏等)下,用软件来实现的处理会受限。本申请是鉴于所述问题而完成的,其目的在于:提供一种在电路规模、功耗、处理性能以及灵活性各方面都最佳的图像识别系统。-用以解决技术问题的技术方案-为了解决所述问题,通过本申请谋求了如下所述的解决方案。换言之,图像识别系统从运动图像中检测预先定义了的对象物所涉及的至少一部分并进行跟踪,所述图像识别系统构成为能够执行:从所述运动图像中检测所述对象物的对象物检测处理;将所述对象物所涉及的至少一个规定部位确定为应跟踪部位的跟踪部位确定处理;基于所述应跟踪部位来识别实际的跟踪对象物的跟踪对象识别处理;跟踪所述跟踪对象物的跟踪处理;以及基于所述跟踪处理的结果来判断所述跟踪对象物的举动的判断处理,用软件执行所述跟踪部位确定处理和所述判断处理,另一方面,用硬件执行所述对象物检测处理、所述跟踪对象识别处理以及所述跟踪处理。或者,半导体集成电路执行从运动图像中检测预先定义了的对象物所涉及的至少一部分并进行跟踪的处理,所述半导体集成电路具备:对象物检测部,所述对象物检测部执行从所述运动图像中检测所述对象物的处理;跟踪对象识别部,所述跟踪对象识别部执行将所述对象物所涉及的至少一个规定部位识别为实际的跟踪对象物的处理;跟踪部,所述跟踪部执行跟踪所述跟踪对象物的处理;CPU,所述CPU执行确定所述规定部位的处理和基于通过所述跟踪部得到的跟踪结果来判断所述跟踪对象物的举动的处理;DMA控制器,所述DMA控制器分别向所述对象物检测部、所述跟踪对象识别部以及所述跟踪部传输各处理所需要的数据;以及数据总线,所述数据总线连接所述对象物检测部、所述跟踪对象识别部、所述跟踪部、所述CPU、所述DMA控制器。根据上述说明,能够检测运动图像中的、例如人等对象物,并且能够将该人的手等规定部位确定成应跟踪部位。而且,在应跟踪部位进行移动时,即使运动图像中存在其它移动体等,应跟踪部位也会被识别为实际的跟踪对象物,因此总能够在捕捉到跟踪对象物的状态下跟踪其轨迹。由此,能够通过判断跟踪对象物的轨迹,来掌握其举动。迄今为止,针对从运动图像中检测对象物来判断其举动为止的各处理,进行了多种研究,技术得到了持续的发展。因此,实际上,为了灵活地应对新技术而用软件来实现上述的各处理。然而,如果用软件来实现所有处理,则虽然能够容易确保针对最新技术的灵活性并且容易抑制电路规模的增大,但是另一方面,为了提高处理性能,就需要高性能CPU等,从而不仅功耗增大,而且还存在处理性能因依赖CPU等而受到限制的担忧。另一方面,如果用硬件来实现所有处理,则虽然能够容易谋求处理性能的提高、低功耗化,但是另一方面,这将会导致不能享有因用软件来实现的情况下能够得到的优点。于是,本申请发明人着眼于下述方面而进行了研究,即:对于图像识别处理而言,使在分别用硬件和软件来实现的情况下的优点尽可能地保持下去。换言之,本申请发明人发现了下述情况是最优选的,即:在各个所述处理之中,用软件来实现跟踪部位确定处理和判断处理,用硬件来实现对象物检测处理、跟踪对象识别处理以及跟踪处理。由此,能够得到如下所述的优点,即:既能够得到通过软件来得到的、确保灵活性和抑制电路规模的增大这样的优点,又能够得到通过硬件来得到的、低功耗化、提高处理性能这样的优点。-发明的效果-根据本申请,能够提供一种在电路规模、功耗、处理性能以及灵活性各方面都最佳的图像识别系统。附图说明图1是用于对一实施方式所涉及的图像识别系统的简要结构进行说明的图。图2(A)和图2(B)是表示一实施方式所涉及的用硬件实现的处理的例子的流程图。图3是表示一实施方式所涉及的图像识别系统的具体处理例子的图。图4是将图3所示的处理例子系统地层次化了的情况下的图。图5是构成图4所示的硬件的半导体集成电路的框图。图6是用于对一实施方式所涉及的半导体集成电路中数据的传输动作的例子进行说明的图。图7是用于对一实施方式所涉及的图像识别系统的各处理的定时的例子进行说明的图。图8是用于对一实施方式所涉及的图像识别系统的各处理的定时的另一例子进行说明的图。图9(A)和图9(B)是用于对一实施方式所涉及的图像识别系统的效果进行说明的图。图10是表示用于在一实施方式所涉及的图像识别系统中执行跟踪对象识别处理的构成例的图。图11(A)和图11(B)是用于对图10的构成方式下的动作进行说明的图。图12是用于对在图10的构成方式下的跟踪对象识别处理进行说明的图。图13是概念图,其表示在一实施方式所涉及的图像识别系统中为了跟踪处理而使用图像棱锥来执行的搜索流程。图14是用于对在一实施方式所涉及的图像识别系统中为了跟踪处理而反复执行的计算的内容进行说明的图。图15是用于在一实施方式所涉及的图像识别系统中为了跟踪处理而并行地反复执行的计算的时间图。具体实施方式下面,参考附图来对本申请的一实施方式进行说明,各幅附图中共同的符号表示同一要素或者同一处理。<图像识别系统的概要>图1是用于对一实施方式所涉及的图像识别系统的简要结构进行说明的图。本实施方式所涉及的图像识别系统10进行如下所述的图像识别处理,即:通过对包含在所输入的运动图像中的对象物进行检测,并跟踪与对象物相关的规定部位,由此来判断其举动。然后,根据对举动的判断结果来决定适当的应用程序。利用图像识别系统10进行的各处理是通过软件和硬件来实现的。在图像识别系统10,用硬件实现对象物检测处理S11(下面标记为处理S11)、跟踪对象识别处理S13(下面标记为处理S13)、跟踪处理S14(下面标记为处理S14),用软件实现跟踪部位确定处理S12(下面标记为处理S12)、判断处理S15(下面标记为处理S15)。以往就进行与图像识别处理相关的研究,目前,由于该技术快速发展,因此为了在从检测对象物开始到判断其举动为止的处理中,系统能够容易地灵活应对新技术,一般来说用软件来实现上述的各处理。例如,已知:使用OpenCV(OpenSourceComputerVisionLibrary,开源计算机视觉库),可通过软件来实现图像识别处理。然而,如果用软件来实现所有处理,则容易地灵活应对多种技术,这与用硬件来实现的情况相比容易抑制电路规模的增大,但是另一方面,由于处理性能与CPU等相关,因此高性能化会受限。此外,如果使高性能CPU等以高频率动作,则还存在功耗也升高这样的担忧。另一方面,如果用硬件来实现所有处理,则容易谋求处理性能的提高、低功耗化,但是另一方面,这导致通过用软件来实现而得到的灵活性等优点容易受到影响。如上所述,通过软件处理来得到的效果与通过硬件处理来得到的效果之间的关系是此消彼长的关系。于是,本申请发明人根据该此消彼长的关系并着眼于下述方面而做到了将上述的各处理分成下述的方面来执行,即:用软件来实现上述的各处理,或者用硬件来实现上述的各处理。应该用硬件来实现的处理是:(1)即使不具有如通过软件处理来得到的灵活性,但是已通用化的处理;(2)从本质上来说,用软件来处理时效率差,用硬件来处理时效率佳。这样,本申请发明人想到了:通过用硬件来实现满足所述两点的处理,由此能够使图像识别系统10的系统结构最优化。在处理S11,例如将人作为含在运动图像中的对象物来进行检测。处理S11是如下的处理:检索被输入的运动图像的图像数据,对预先机器学习好的对象物的图像是否包含在图像数据中进行判断。需要说明的是,对象物也可以是人以外的物体,只要能够通过学习来预先定义的物体即可。这里,机器学习是指一般的有监督的机器学习。例如,机器学习是按照如下所述的方式进行的学习,即:根据包含对象物和非对象物的图像群,取得基于图像得到的特征量(亮度梯度直方图(HOG:HistogramsofOrientedGradients))、局部亮度比较二进制模式(LBP:LocalBinaryPattern))与标签(对象物或者非对象物)之间的对应关系,然后,对该对应关系进行统计处理后从特征量的所有组合中将表示对象物的集合分离出来,由此来进行学习。由此,能够使用预先机器学习好的图像数据,并通过由识别器型检测器进行的一般的检测处理来实现处理S11,其中,识别器型检测器检索运动图像内的所有像素。需要说明的是,对象物可以是人的面部,也可以是人等物体的至少一部分。这样,处理S11是对所有像素重复进行的处理,因此从处理的高速化等观点来看,可以说相比用软件来实现处理S11,更优选用硬件来实现处理S11。需要说明的是,将用于对对象物进行学习的数据存储在存储器等中即可。在处理S12,针对通过处理S11检测出的对象物,确定其规定部位亦即例如手、面部等以作为应跟踪部位。需要说明的是,应跟踪部位可以是与对象物相关的至少一部分,也可以是整个对象物。此外,作为对象物的多个部位,例如也可以将两只手确定为应跟踪部位。在处理S12,能够如面部识别处理那样,根据在图像数据内是否存在对象物的规定部位(例如面部),来将该规定部位确定为应跟踪部位。此外,通过处理S11将人的面部作为对象物来检测出的情况下,基于此来判断在运动图像中存在人,在这前提下,可以将该人的手确定为应跟踪部位。即,应跟踪部位可以不是对象物的一部分,其还可以是能够根据对象物来推测其存在的部分。这样,如面部识别处理等那样,可以认为处理S12的实现方式有多种,由于该技术快速发展,因此可以说优选利用软件来实现,以使其具有灵活性。在处理S13,根据通过处理S12确定出的部位,来识别用于在图像识别系统10中实际跟踪的跟踪对象物。在处理S13,检索图像数据,对例如人的手部等预先指定了的确定部位的图像(结构)是否包含在图像数据中这一情况进行检测。包含在图像数据中的情况,说明了跟踪对象物被识别出。此外,在执行处理S13时,对结构的学习和检测是并行地进行的,结构学习的结果反映在逐次重复的结构检测中。由此,在处理S13,即使如弯曲手指或伸直手指等跟踪对象物的形状发生变化,也总能够识别跟踪对象物。这样,由于处理S13是将从图像数据中检索预先指定过的结构的处理、学习逐次变化的结构这样的处理重复进行的,因此,从性能方面来说,需要处理是高速地进行的。另一方面,能够通过使用了识别器型检测器来进行的一般的检测处理来实现上述的处理。由此,可以说,优选用硬件来实现处理S13。需要说明的是,对结构的逐次学习结果存储在存储器等中。在处理S14,对通过处理S13来识别了的跟踪对象物进行跟踪。此外,在处理S14中,能够向处理S13反馈与当前正在进行跟踪的跟踪对象物相关的数据,根据该反馈,能够在处理S13中进行逐次学习。例如通过光流Lucas-Kanade法来计算图像数据内的任意部位的图像(结构)的运动向量(光流或者移动流),由此能够实现处理S14。这样,由于能够使用如光流法那样的一般方法来实现处理S14,因此可以说:为了容易地实现处理的高速化等高性能化,优选用硬件来实现处理S14。在处理S15,根据处理S14下的跟踪对象物的跟踪结果,对跟踪对象物的举动进行判断。在处理S15,为了判断跟踪对象物的举动,需要灵活地应对多种对象物。例如,在将图像识别系统10应用在车载安全装置中的情况下,能够对作为跟踪对象物的驾驶员(或者驾驶员的面部)的举动是否相当于分神驾驶这一情况进行判断。此外,在将图像识别系统10应用在店铺内的监控摄像头中的情况下,能够对顾客从陈列了多种商品的商品陈列架上伸手拿了哪些商品这一情况进行判断。进而,就对举动的判断方法进行多种研究,若考虑今后的技术动态,则优选:对举动的判断方法能够灵活地应对最新技术。由此,可以说优选用软件来实现处理S15。这样,图1所示的各处理之间存在联动,由此构成本实施方式所涉及的图像识别系统10。图2(A)和图2(B)是表示一实施方式所涉及的用硬件实现的处理的例子的流程图。图2(A)是表示对象物检测处理以及跟踪对象识别处理的简要情况的例子的流程图,图2(B)是表示跟踪处理的简要情况的例子的流程图。在用硬件来实现各个处理S11、S13、S14的情况下,使硬件与在各处理中所需要的变量对应即可。具体而言,根据图像数据20内的规定区域ROI(RegionOfInterest,感兴趣区域)所包含的像素数据,来生成对象物的边缘部分的特征量(S21)。关于特征量的生成而言,使用规定计算式即可,所述计算式与所参照的像素的位置和用于计算式的参数这样的变量等相对应即可。若特征量生成,则搜索在表示该特征量的索引与表示确定性的记录(似然度,likelihood)之间建立了对应关系的LUT(Lookuptable,查找表),并决定与索引相对应的记录(S22)。LUT例如存储在SRAM(StaticRandomAccessMemory,静态随机存取存储器)中,其值是能够被逐次更新的,有时,将更新LUT的内容的处理称为学习。由此,只要与作为变量的、LUT的内容相对应即可。然后,累计根据LUT得到的记录,通过比较其结果与阈值,来判断对象物和跟踪对象物(S23)。在该处理中,与作为变量的、记录的累计次数和阈值相对应即可。需要说明的是,特征量和记录是预先通过机器学习等而被赋给LUT的。这样,所述各个处理是通用化的处理,即使不具有如软件那样的灵活性,也容易用硬件来实现,只要将硬件构成为能够与上述的各变量相对应即可。此外,在图2(B)中,举了如下所述的情况为例:在处理S14中,利用LK光流法。在光流法中,根据图像数据20的区域ROI所包含的像素数据,来生成亮度梯度(S24)。与亮度梯度的生成相关的计算式是固定的。接下来,根据亮度梯度,并利用流行列式计算方法来计算表示坐标位移(例如运动向量)的流量(S25)。与流量的计算相关的计算式是固定的。然后,根据流量,对跟踪对象物的移动是否已收敛这一情况进行判断,输出已收敛时的流量(移动到何处)(S26)。因此,只要是与变量相对应的收敛的判断条件即可。这样,在光流法中,重复执行S24~S26,因此从处理的高速化的观点来看,可以说用硬件来实现时优点比较多。图3是表示一实施方式所涉及的图像识别系统的具体处理例子的图。需要说明的是,在图3中举了如下所述的情况为例,即:对象物是人,跟踪对象物是手。在人31包含在被输入的运动图像的在任意时刻下的图像30中的情况下,在处理S11中,人31作为对象物而被检测。如果检测到人31,则在处理S12中,将该人31的两只手32、33确定为应跟踪部位。需要说明的是,也可以只将一只手32确定为应跟踪部位。如果确定了两只手32、33,则在处理S13、S14中,逐次进行对两只手32、33的识别和跟踪,识别和跟踪是并行的。由此,即使两只手32、33的形状发生了变化或存在接近手的形状的物体,系统也能够将两只手32、33作为实际的跟踪对象物来逐次地一边学习一边跟踪。需要说明的是,在处理S11、S13中执行图2(A)中用S21~S23表示的处理。此外,在处理S14中执行在图2(B)中用S24~S26表示的处理。然后,如果例如规定时间进行对两只手32、33的跟踪,则在处理S15中判断两只手32、33的举动。需要说明的是,也可以为:在两只手32、33停止移动后开始经过规定时间后,执行处理S15。通过这样的处理,能够识别人的举动。然后,根据处理S15中的判断结果,在处理S16中决定与两只手32、33的举动相对应的应用程序的动作。需要说明的是,与本实施方式所涉及的图像识别系统10的动作结果相对应的应用程序是任意的。例如,在图像识别系统10应用在车载安全装置中的情况下,如果举动判断结果类似相当于驾驶员的分神驾驶,则使如下所述的应用程序执行,该应用程序例如是促使驾驶员引起注意的应用程序。这样,重复进行处理S11~S16。需要说明的是,也可以为:例如在处理S15后再次执行处理S13、S14。此外,也可以为:在进行处理S11~S15的途中,在对象物、跟踪对象物发生了变化的情况下,与之相对应地重新执行处理。图4是将图3所示的处理例子系统地层次化了的情况下的图。如图4所示,例如,处理S11、S13、S14通过硬件50实现,处理S12、S15通过作为软件的中间件53实现。处理S11、S13、S14以及处理S12、S15的联动是经由驱动程序51和作为应用程序编程接口的AP152来进行的。此外,处理S16是通过适合于其处理内容的应用程序54来实现的。这样,在本实施方式中,硬件处理与软件处理是联动的,由此能够实现:维持利用软件处理时的灵活性和抑制电路规模的增大,以及提高利用硬件处理时的性能和低功耗化。<半导体集成电路的构成>图5是构成图4所示的硬件的半导体集成电路的框图。硬件是能够执行上述的图像识别处理的半导体集成电路50,其具有:CPU501;微码序列发生器502;对象物检测部503;跟踪对象识别部504;跟踪部505;与上述的对象物检测部503、跟踪对象识别部504、跟踪部505相对应的多个局部存储器亦即LMEM506;DMA(DirectMemoryAccess,直接存储器存取)控制器507;辅助DSP(DigitalSignalProcessor,数字信号处理机)508;控制总线509;数据总线510;以及DRAM(DynamicRandomAccessMemory,动态随机存取存储器)511。CPU501、微码序列发生器502、对象物检测部503、跟踪对象识别部504、跟踪部505、DMA控制器507以及辅助DSP508分别与数据总线510连接。CPU501经由数据总线510从DRAM511取得所需要的数据,进行处理S12、S15、S16。此外,图4中的API调用CPU501,由此CPU501访问微码序列发生器502,并将处理S12、S15的结果、从数据总线510取得到的数据等设定给微码序列发生器502,利用微码来控制微码序列发生器502的动作。微码序列发生器502经由控制总线509分别与对象物检测部503、跟踪对象识别部504、跟踪部505、DMA控制器507以及辅助DSP508连接。此外,微码序列发生器502根据微码,分别对对象物检测部503、跟踪对象识别部504、跟踪部505、DMA控制器507以及辅助DSP508进行动作控制。由此,由微码序列发生器502中继由CPU501进行的动作控制,所述动作控制分别是对对象物检测部503、跟踪对象识别部504、跟踪部505、DMA控制器507以及辅助DSP508进行的。通过微码序列发生器502的动作控制,起动对象物检测部503、跟踪对象识别部504、跟踪部505、DMA控制器507以及辅助DSP508。此时,分别设定在处理S11、S13、S14所需要的参数等。需要说明的是,如果对象物检测部503、跟踪对象识别部504、跟踪部505、DMA控制器507以及辅助DSP508起动,则它们分别执行相应的处理,因此在规定期间不需要由CPU501进行动作控制。对象物检测部503按照微码序列发生器502的控制,访问对应的LMEM506,执行处理S11。跟踪对象识别部504按照微码序列发生器502的控制,访问对应的LMEM506,执行处理S13。跟踪部505按照微码序列发生器502的控制,访问对应的LMEM506,执行处理S14。处理S11、S13、S14的结果分别经由对应的LMEM506以及数据总线510存储在DRAM511中。DMA控制器507从DRAM511中读出处理S11、S13、S14所需要的数据,并将所述数据同时并行地传输给各个LMEM506。由于处理S11、S13、S14分别通过硬件实现,因此DMA控制器507能够容易地预测应访问DRAM511的地址。由此,DMA控制器507能够将数据从DRAM511向各个LMEM506并行地传输。由此,能够抑制因对象物检测部503、跟踪对象识别部504以及跟踪部505分别直接访问DRAM511所引起的性能(performance)的恶化。辅助DSP508对对象物检测部503、跟踪对象识别部504以及跟踪部505执行相关的附加处理。由此,能够抑制在用硬件来实现了处理S11、S13、S14的情况下的灵活性的降低。辅助DSP508例如能够执行处理S11、S13、S14的预处理、处理结果的校正处理。此外,辅助DSP508还可以对处理S11、S13、S14的联动处理、CPU501的处理进行辅助。如上所述,用CPU501对处理S12、S15、S16进行处理,处理S11、S13、S14则用分别相对应的硬件来实现,由此既能够减少CPU501的负荷,也能够高速地执行高性能图像识别处理。<半导体集成电路的动作例>图6是用于对一实施方式所涉及的半导体集成电路中数据的传输动作的例子进行说明的图。需要说明的是,纵轴表示时间,横轴表示用硬件执行的处理。下面,对由DMA控制器507进行的数据传输动作进行说明。需要说明的是,图中的三角形符号表示DMA控制器507传输数据的定时。如图6所示,由微码序列发生器502分别对对象物检测部503、跟踪对象识别部504、跟踪部505以及DMA控制器507进行各处理所需要的设定,由此对象物检测部503、跟踪对象识别部504、跟踪部505以及DMA控制器507能够并行地进行动作。首先,微码序列发生器502对DMA控制器507进行设定,使得:从DRAM511传输对象物检测部503、跟踪对象识别部504以及跟踪部505各自的处理所需要的数据等(存储器传输设定)。由此,DMA控制器507执行从DRAM511向LMEM506传输数据的存储器传输控制,开始向LMEM506传输处理S11所需要的数据(503相关传输)。DMA控制器507具有用于对象物检测部503、跟踪对象识别部504以及跟踪部505各自的处理的、例如以每个部分各具有三个信道(3ch)的方式具有独立的信道(总共九个信道(9ch))。微码序列发生器502对对象物检测部503进行与处理S11相关的设定(S11的设定)。由此,对象物检测部503执行处理S11。具体而言,在对象物检测部503中执行特征量生成处理(图2(A)中的S21)时,每次都能在与LMEM506之间进行数据传输。此外,在执行LUT搜索处理(图2(A)中的S22)时,在开始进行该处理时进行一次数据传输。进而,在执行累计、阈值判断处理(图2(A)中的S23)时,在该处理的最终步骤中进行一次数据传输。这样,能够针对在各个处理进行独立的数据传输。此外,DMA控制器507开始向LMEM506传输处理S13所需要的数据(504相关传输)。然后,微码序列发生器502对跟踪对象识别部504进行与处理S13相关的设定(S13的设定)。由此,跟踪对象识别部504执行处理S13。在处理S13中,执行图2(A)所示的处理S21~S23。需要说明的是,此时,并行执行LUT内容被逐次更新的、逐次学习。进而,DMA控制器507开始向LMEM506传输处理S14所需要的数据(505相关传输)。然后,微码序列发生器502对跟踪部505进行与处理S14相关的设定(S14的设定)。由此,跟踪部505执行处理S14。在处理S14中,执行图2(B)所示的处理S24~S26。然后,如果对象物检测部503、跟踪对象识别部504、跟踪部505以及DMA控制器507各自的处理结束,则上述处理的结果被通知给CPU501,以后处理被重复执行。如上所述,在各个处理S11、S13、S14中,在图6中的三角形标记的定时下,由DMA控制器507独立地执行数据传输。需要说明的是,也可以为:将两件以上的处理联动,从而根据彼此的处理内容而并行地执行上述处理。在该情况下,能够利用如上所述的DMA传输,一边进行数据传输一边同时推进各处理。此外,也可以为:将一件处理的结果暂且存储在DRAM511中,然后再次传输给LMEM506,依次流水线式地推进处理。此外,图6所示的各设定、即各处理的顺序并不限于图6中示出的顺序。其理由如下:各处理S11、S13、S14分别以能够充分地使上述处理在规定时间内结束的方式开始,并且在规定时间内,互相协作的处理在适当的定时下能够同时动作即可。此外,DMA控制器507中的用于各处理的信道的数量可以是任意的,信道的数量可根据各处理的内容而不同,信道的数量之和并不限于9ch。图7是用于对一实施方式所涉及的图像识别系统的各处理的定时的例子进行说明的图。在图7,对通过图4所示的处理S11~处理S15来连续地处理图像数据(帧数据)的情况下的动作定时的一个例子进行说明。需要说明的是,在图7中,横轴表示时间,纵轴表示处理对象的帧数据。在单位时间T1,对帧1执行处理S11。作为处理S11的结果而得到的对象物(例如人的面部)的帧1上的与坐标相关的信息61经由数据总线510传递给CPU501。在单位时间T2,利用坐标信息61,由CPU501执行处理S12,从而确定出应跟踪部位(例如人的手)。作为处理S12的结果而得到的跟踪部位的帧1上的与坐标相关的信息62经由AP152和CPU501来传递给执行处理S13的跟踪对象识别部504。在单位时间T3,利用坐标信息62,将处理S13、S14并行执行。此外,在执行处理S13、S14的过程中计算信息63,所述信息63是对信息62进行了校正而得到的,并且所述信息63用于针对帧2的处理S12中。即,针对一个帧进行的处理S12的结果亦即跟踪部位的坐标信息得到了校正后得到的信息,即是信息63。然后,信息63反映给在单位时间T3并行执行的针对帧2的处理S12中。需要说明的是,同一单位时间内的对数据的存取是通过由DMA控制器507进行的DMA传输来实现的。使用了信息63来进行的、针对帧2的处理S12的结果被传递给执行处理S13的跟踪对象识别部504。由此,在处理S13,更新LUT的内容,执行逐次学习。在单位时间T4,CPU501基于直到单位时间T3为止的处理的结果,来进行处理S15,从而判断跟踪对象物的举动。如上所述,在单位时间T1~T4,得到针对帧1的跟踪对象物的举动判断的结果。此外,在单位时间T4,同时并行地执行针对帧2的处理S13、S14。之后,如流水线式那样重复处理S12~S15,执行对每个帧的举动的判断。在单位时间T5,针对帧5再次进行处理S11。此时,处理S11与针对帧2~4的处理S12~S15是同时并行地执行的。之后,重复处理群64和处理群65,得到每个帧的举动判断结果。需要说明的是,在处理群64中使用坐标信息61、62来执行处理S11~S15,相对于此,在处理群65中使用对坐标信息62进行了校正而得到的信息63来执行处理S12~S15。通过按照如上所述的方式控制各处理的定时,由此,在单位时间T3、T4、T6、T7,能够通过硬件同时并行地执行处理S13、S14,在单位时间T5,能够通过硬件同时并行地执行处理S11、S13、S14。即,能够在一个单位时间执行两件以上的处理。需要说明的是,在图7中,将处理S11被执行的间隔设定成:每四个单位时间就进行处理S11,但是该间隔可以是任意的。另外,在图7中对如下所述的情况进行了说明,即:针对一个帧,在相同的单位时间执行多个处理。然而也可以为:如图8所示,针对每个帧,在一个单位时间执行处理S11~S15。图8是用于对一实施方式所涉及的图像识别系统的各处理的定时的另一例子进行说明的图。由于硬件能够例如在单位时间T5下同时并行地执行处理S11、S13、S14,因此,即使处理S11~S15在如图8所示的定时下被执行的情况下,也能够谋求处理的高速化。图9(A)和图9(B)是用于对一实施方式所涉及的图像识别系统的效果进行说明的图。图9(A)是用于对用软件来实现了所有图像识别处理的情况进行说明的图,图9(B)是用于对用本实施方式所涉及的图像识别系统来实现了图像识别处理的情况进行说明的图。如图9(A)所示,在用软件来实现所有图像识别处理的情况下,即,在用软件来实现上述的所有处理S11~S15的情况下,包含在图像数据20中的区域ROI所涉及的数据被一个个依次读出,由CPU逐次地针对该数据执行对象物的检测、跟踪部位的确定、跟踪以及举动的判断分别所涉及的运算处理。需要说明的是,在图9(A)中,用运算A~运算X来分别表示上述的多个运算处理。此时,CPU在执行后级运算之际,使用前级运算结果。具体而言,由于CPU在执行运算B之际使用运算A的结果,因此处理的高速化会受限。而且,如果作为最终级的运算X的处理结束,则输出针对一个区域ROI的处理结果,并且进行决定地址的决定处理,其中,所述地址用于读出其它区域ROI所涉及的数据。如上所述,如果用软件来实现在图像识别系统10中执行的所有处理,则导致发生由CPU进行的对数据的随机访问、各种运算的重复。此外,还会导致发生:决定应访问的地址的决定处理。特别是,在图2(A)和图2(B)所示的处理中,反复性处理占主导地位,因此在软件处理中,即使使用了高性能CPU等,处理的高速化也会受限。例如,在处理帧率在30fps以上且如全高清(HighDefinition)那样的高精细运动图像的情况下,只用软件进行的图像识别处理下,难以在33ms以内结束处理。相对于此,如图9(B)所示,在本实施方式所涉及的图像识别系统10中,能够由DMA控制器507预测多个区域ROI所涉及的数据的地址,因此所需要的数据能够同时并行地传输至与各处理S11、S13、S14对应的LMEM506。如果数据传输至各LMEM506,则处理S11、S13、S14分别独立并且并行地执行,并且能够输出并行处理后的结果,因此能够实现高速处理。如上所述,在本实施方式中,通过软件处理来执行处理S12、S15,通过硬件处理来执行处理S11、S13、S14,因此即使处理如FullHD(全高清)那样的高精细运动图像的情况下,也能够在33ms以内结束图像识别处理。即,能够使图像识别处理所需的时间在图9(A)中的情况的1/30以下。综上所述,在本实施方式所涉及的图像识别系统以及半导体集成电路50中,用软件来实现处理S12、S15,用专用硬件来实现处理S11、S13、S14。即,不是简单地将图像识别系统10分成软件处理和硬件处理,而是着眼于上述的(1)、(2)来构成了图像识别系统10。其结果是,能够得到通过软件处理来实现的情况下得到的、确保灵活性和抑制电路规模增大这样的优点,并且还能够得到通过硬件处理来实现的情况下得到的、减少功耗、降低成本、提高处理性能这样的优点。由此,根据本实施方式,能够构成在电路规模、功耗、处理性能以及灵活性各方面都最佳的图像识别系统10和半导体集成电路50。最后,对跟踪对象识别处理S13和跟踪处理S14的详细例子进行说明。图10是表示用于在一实施方式所涉及的图像识别系统中执行跟踪对象识别处理S13的构成例的图。此外,图11(A)和图11(B)是用于对图10的构成方式下的动作进行说明的图。在图10,701表示图像积分单元,702表示积分值选择单元,703表示事后事件存储器,704表示记录计算单元。这里,图像积分是指:计算图像中的任意矩形区域内的像素级别的合计值(参照图11(A))。具体而言,将在二维方向上对图像进行了积分而得到的积分图像保持下去,通过选择单元702取出任意矩形的4个点处的积分图像值,由此能够得到任意矩形区域内的像素级别的合计值(参照图11(B))。事后事件是指:符合根据在下文中叙述的图像积分值制成的特征量的特定模式的、事件(Posteriors)的数量(number)。具体而言是,通过将事件的数量存储在将如下所述的物理量作为索引的排列存储器的各要素中来实现的,所述物理量是将特征量数值化后得到的物理量。将事件的数量设定为两种,一种是正解图像中的事件(p:Positive),另一种是非正解图像中的事件(n:Negative),在下文中叙述的逐次学习过程中,将确定值p、n分别累计起来(在图10内的描述:+p、+n)。记录计算是指:使用上文中叙述的事后事件的值,来求出对于与特征量相对应的正解图像的似然度。作为计算记录(Score)的一个例子,能够用事后事件的值p、n来定义如下所述的算式。Score=p/(p+n)图12是用于对在图10的构成方式下的跟踪对象识别处理S13进行说明的图。这里,对逐次学习过程进行说明。如705所示,检索整个图像来查找正解图像。这里,正解图像是根据下述方面来确定的,其中的一个方面是根据上文中叙述的记录的值选择似然度高的图像,其中的另一个方面是正解图像的位置,所述正解图像的位置是根据在跟踪处理S14中得到的时间序列而推测的。从该正解图像中决定如706所示那样随机或者按照特定规则设定了的多个矩形区域对,将矩形区域对的积分值的大小比较结果设为1位的特征量。由于从多个矩形区域对能够得到多位的特征量,因此将所述特征量作为索引,能够如707所示那样定义针对特定模式的事后事件(p)。此外,检索整个图像,将不符合所述正解图像的图像定义为非正解图像,同样地,能够将如708、709、710所示那样从多个矩形区域对得到的特征量定义为非止解图像中的事后事件(n)。计算上述的事后事件后,通过累计上文中叙述的确定值p、n,能够实现对事后事件存储器703的更新。此外,事后事件的计算结果,例如能够用于如704所示那样计算似然度作为各个记录值,进而还能够作为如711所示那样平均记录值来使用。接下来,使用图13、图14以及图15来对跟踪处理S14的详细例子进行说明。图13是表示搜索流程的概念图,图14是说明计算内容的图,图15是计算的时间图。示出了使用一般为人所熟知的Lucas-Kanade法的情况。在跟踪处理S14中参照时间序列的两个图像(过去和当前)。首先,如图13中的801、802所示,形成进行了多次缩小(在本实施方式中分别缩小1/2倍)的图像棱锥。从最小的图像层开始进行下文中叙述的特征点检索,然后逐层地移向大的图像层上的检索。从概念上来讲,这意味着:从全局检索开始,进行更详细的图像的检索。在各个图像层,如图14所示,进行反复计算,在所述反复计算中使用了以特征点为中心、并且如804、805所示的图像片段(在本实施方式中是以特征点为中心的9像素×9像素)的像素级别(亮度)。通过Lucas-Kanade法,计算亮度梯度。这里,将特征点的坐标设为(x,y),将过去图像中该坐标处的亮度设为Ip(x,y),将当前图像中该坐标处的亮度设为Ic(x,y),则能够根据下述算式来计算特征点的亮度梯度Ix、Iy、It。Ix=Ip(x+1,y)-Ip(x-1,y)Iy=Ip(x,y+1)-Ip(x,y-1)It=Ip(x,y)-Ic(x,y)此外,根据亮度梯度,能够用下述的算式来计算用于光流法803的反复计算的坐标位移量。[算式1]nxny=ΣIx2ΣIxIyΣIxIyΣIy2-1-ΣIxIy-ΣIyIt]]>根据所述算式可知,在该反复计算中,为了计算坐标位移量,需要每次参照图像,并且为了计算下一位移量,需要将该坐标确定,从而存在如图15的807所示的计算依赖关系。于是,设置并行地计算多个图像片段的数据总线,如图14的806所示,并行处理对多个图像片段中的每个图像片段的反复计算。806概念性地表示如下所述的反复过程并行地生成的情况,所述反复过程是:例如根据坐标位置已被确定的状态,求坐标位移量(向下箭头),并且确定下一坐标位置(向上箭头),进而求其坐标位移量。由于图像片段是分别独立的,因此通过按照上述方式处理来如图15的808所示那样排除计算依赖关系,能够实现并行处理下的计算高效化。-产业实用性-本申请所涉及的图像识别系统由于在电路规模、功耗、处理性能以及灵活性各方面都最佳,因此对于图像质量更加高精细的图像识别处理的高速化等而言是有用的。-符号说明-10图像识别系统50硬件(半导体集成电路)S11对象物检测处理S12跟踪部位确定处理S13跟踪对象识别处理S14跟踪处理S15判断处理501CPU502微码序列发生器(序列发生器)503对象物检测部504跟踪对象识别部505跟踪部507DMA控制器509控制总线510数据总线当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1