具体实施方式
在本发明的第一方式中,作为图像生成方法,提供一种具备以下步骤的方法:第一步骤,生成具有共同的摄像范围的N(N为3以上的整数)张的图像群、即由多个共同的部分重复区域构成且在各部分重复区域中各图像互相具有独立性的小区域全景图像群;和第二步骤,针对拍摄了所述摄像范围的至少一部分的对象图像,利用所述对象图像及所述小区域全景图像群,生成光源环境与所述对象图像相同的预测背景图像。
在本发明的第二方式中,提供一种第一方式的图像生成方法,其中所述第一步骤包括:由多张原始图像选择具有重复区域的N张图像的步骤;针对所选择的所述N张图像,判断所述重复区域中的独立性的步骤;在判断为有独立性时,将所述N张图像的所述重复区域中的部分作为所述小区域全景图像群的部分重复区域中的图像进行存储的步骤;和在判断为没有独立性时,进行具有重复区域的N张图像的重新选择的步骤。
在本发明的第三方式中,提供一种第一方式的图像生成方法,其中所述第二步骤包括:在所述对象图像跨越多个部分重复区域时,按所述对象图像所包含的每个部分重复区域,采用所述对象图像及所述小区域全景图像群,计算相对于所述对象图像的线性系数的步骤;和利用算出的线性系数与所述小区域全景图像群,生成预测背景图像的步骤。
在本发明的第四方式中,作为物体检测方法,提供包括以下步骤的方法:根据第一方式的图像生成方法,生成与作为所述对象图像的检测对象图像对应的所述预测背景图像的步骤;和对比所述检测对象图像与所述预测背景图像,检测所述检测对象图像所拍摄到的物体的步骤。
在本发明的第五方式中,作为物体检测装置,提供一种包括以下部分的装置:小区域全景图像群生成部,其利用存储于摄像图像存储部的多张图像,生成小区域全景图像群,该小区域全景图像群是具有共同的摄像范围的N(N为3以上的整数)张图像群,由多个共同的部分重复区域组成且在各部分重复区域中各图像互相具有独立性;和物体检测部,其针对拍摄了所述摄像范围的至少一部分的检测对象图像,利用所述检测对象图像及所述小区域全景图像群,生成光源环境与所述检测对象图像相同的预测背景图像,对比所述检测对象图像与所述预测背景图像,以检测所述检测对象图像所拍摄到的物体。
在本发明的第六方式中,作为用于使计算机执行图像生成的程序,提供一种使计算机执行以下步骤的程序:第一步骤,生成具有共同的摄像范围的N(N为3以上的整数)张的图像群、即由多个共同的部分重复区域构成且在各部分重复区域中各图像互相具有独立性的小区域全景图像群;和第二步骤,针对拍摄了所述摄像范围的至少一部分的对象图像,利用所述对象图像及所述小区域全景图像群,生成光源环境与所述对象图像相同的预测背景图像。
以下,参照附图对本发明的实施方式进行说明。
(第一实施方式)
图1是本发明第一实施方式涉及的利用图像生成方法的物体检测装置的构成图。在图1中,101是拍摄图像的摄像部;102是对由摄像部101拍摄到的图像进行修正的摄像图像修正部;103是存储用摄像图像修正部102修正过的图像的摄像图像存储部;104是小区域全景图像群生成部,其由摄像图像存储部103所存储的图像生成小区域全景图像群;105是小区域全景图像群存储部,其存储由小区域全景图像群生成部104生成的小区域全景图像群;106是物体检测部,其利用由摄像部101拍摄并由摄像图像修正部102修正过的作为对象图像的检测对象图像、和存储于小区域全景图像群存储部105的小区域全景图像群,进行物体检测;107是显示由物体检测部106检测出的物体区域的检测物体显示部。
图1的物体检测装置由摄像方向不同的多张图像生成小区域全景图像群,利用所生成的小区域全景图像群进行物体检测。图1的物体检测装置的动作在时间上大致分为以下三步。
○进行摄像,修正、存储摄像图像。
○利用所存储的摄像图像,生成并存储小区域全景图像群。
○利用所存储的小区域全景图像群、和存储了小区域全景图像群后拍摄到的检测对象图像,合成预测背景图像,进行物体检测。
以下按照顺序说明这些动作。
另外,这里所述的物体检测是指:利用小区域全景图像群所保持的具有独立性的至少3张图像区域的集合,制作与其后拍摄到的检测对象图像对应的预测背景图像,通过对比该预测背景图像与检测对象图像,从而由检测对象图像之中检测映入背景以外的对象。
再有,为了说明简便,作为环境条件,假设光源为平行光源,物体的表面为完全扩散反射面。
<摄像图像的修正、存储>
摄像部101进行摄像方向不同的静止图像或运动图像的摄像。具体是,通过例如能够进行摇镜头倾斜(PT)动作的摄像机或数码相机、或固定在能够进行PT动作的方向转台上的摄像机或数码相机执行拍摄。在此,利用能够进行PT动作的摄像机。
再有,摄像部101将照相机的位置/姿势信息与所拍摄到的图像一起送往摄像图像修正部102。所谓照相机的位置/姿势信息是指图2所示的(Xw,Yw,Zw,θ,φ)五个参数。Xw、Yw、Zw表示世界坐标系中的照相机的位置坐标(点o),θ、φ分别表示相对于照相机坐标系中的Y轴、X轴正向、向左旋转的角度(摇镜头角度、倾斜角度)。照相机的位置/姿势的检测例如可以利用GPS等位置检测装置、陀螺方位仪(gyro scope)等姿势检测装置。还有,也可以根据预先计划过的摄影方案计算照相机的位置/姿势。作为预先计划过的摄影方案,例如是指使照相机自起点(X0,Y0,Z0,θ0,φ0)开始,沿φ的正方向按照角速度0.1π[rad/sec]的等速运动而动作等方案。
摄像图像修正部102针对由摄像部101拍摄到的图像,进行几何学修正、光学修正以及从摄像图像坐标系向全景投影面坐标系的坐标变换。作为摄像图像的几何学修正,进行镜头偏斜的修正。例如可以采用“计算机视觉技术评论及未来展望,pp.42-44,新技术报道,1998”所公开的由Weng等人发明的镜头偏斜修正方法。再有,作为摄像图像的光学修正,进行周围减光的修正。可以采用例如“平成12年立体视觉的研究开发项目(第二代视频显示·传输***)研究开发报告,pp.51-53,通信·广播机构,2001”所公开的方法,该方法是将没有亮度时间变动的一个点光源作为被拍摄物,摇动照相机的头部,以使该点光源来到所希望的位置,利用所观测到的各位置的亮度值的倒数,计算周围减光的修正系数。
还有,作为向全景投影面坐标系的坐标变换方法,例如如图3所示。若将进行变换的函数设为f,该变换是指从摄像图像坐标系(i,j)向在圆筒坐标系中进行了投影的全景投影面坐标系(u,v)的变换,则f可以利用从摄像部101发送的照相机的位置/姿势信息,通过下式来表示。
(式1)
进而,由摄像图像坐标系(i,j)向全景投影面坐标系(u,v)的变换,可以进行利用球面坐标系的投影,而不利用圆筒坐标系。再有,摇镜头/倾斜角较小的情况下,也可以进行利用平面坐标系的投影。
另外,在上述摄像图像修正部102中使用的各修正参数在用本装置进行物体检测之前预先求得。
摄像图像存储部103将由摄像图像修正部102进行过修正的图像和照相机的位置/姿势信息存储在存储介质中。所谓存储介质例如可以通过存储器或硬盘、胶片等来实现。
<小区域全景图像群生成>
小区域全景图像群生成合成部104由事先存储于摄像图像存储部103中的多张图像生成小区域全景图像群。该小区域全景图像群是在后续的处理中,用于生成与检测对象图像相对的预测背景图像的图像群。
在此,所谓小区域全景图像群定义为:“所希望的摄影范围中的、互相具有独立性的N(N为3以上的整数)张图像的重复区域的集合”。换言之,小区域全景图像群是具有共同的摄像范围的N(N为3以上的整数)张图像群,由多个共同的部分重复区域组成,且在各部分重复区域中各图像互相具有独立性。此外,具有独立性定义为满足以下条件的情况:在该部分重复区域中,
○在各图像中,存在N个以上具有不同的法线方向的像素。
○各图像的光源环境不同。
利用图4及图5,说明小区域全景图像群的具体例。
图4是表示上述部分重复区域的示意图。3张图像I1、I2、I3具有独立性(存在3个以上光源方向不同、法线方向不同的像素),在区域11(部分重复区域)中重复。
图5是表示小区域全景图像群的一例的图。在图5中,将小区域全景图像群的图像张数N设为3。由3张构成的图像I1 P、I2 P、I3 P,作为背景拍摄包含床、桌子21、冰箱22及垃圾箱23的共同的摄像范围,且由共同的部分重复区域A(左上)、B(右上)、C(左下)、D(右下)构成。而且,在各部分重复区域A~D中,图像I1 P、I2 P、I3 P具有独立性。即,具有独立性的各部分重复区域A、B、C、D的图像的集合成为拍摄所希望的摄像范围的图像群I1 P、I2 P、I3 P。因此,图像I1 P、I2 P、I3 P满足上述的小区域全景图像群的定义。另外,将属于小区域全景图像群的各图像称为小区域全景图像。
以下,利用图6的流程图,对小区域全景图像群生成部104的处理流程进行说明。
首先,在步骤S11中,从摄像图像存储部103所存储的图像中选择任意一张图像。
接着,在步骤S12中,如图4所示,由步骤S11中选择出的图像的区域,选择包含该选出的图像的N张图像重复的区域作为部分重复区域。在此,为了方便说明,将重复图像的张数N设为3。此外,关于重复图像的张数N的决定方法,在后面阐述。各图像的重复区域的检测例如可以利用全景投影面坐标系(u,v)中的各图像的坐标值来进行。
接下来,在步骤S13中,在步骤S12中选择出的部分重复区域内,进行重复的3张图像中的独立性的判断。而且,在判断为有独立性时(S13中是),进入步骤S15,存储该部分重复区域。
图7是示意性表示步骤S15的处理的图。在图7中,在虚线所示的所希望的摄像范围50之中,摄像图像I1、I2、I3在部分重复区域51中重复。该部分重复区域51中的各摄像图像I1、I2、I3分别作为小区域全景图像I1 P、I2 P、I3 P的一部分而被存储。即,摄像图像I1的部分重复区域52被存储在小区域全景图像I1 P,同样摄像图像I2的部分重复区域53被存储在小区域全景图像I2 P,摄像图像I3的部分重复区域54被存储在小区域全景图像I3 P。
另一方面,判断为没有独立性时(S13中否),进入步骤S14,针对在步骤S11中选择出的图像,基于与步骤S12中选择出的图像群不同的图像群进行部分重复区域的选择。而且,在步骤S13中再次进行独立性的判断。
图8是示意性地表示步骤S14的处理的图。如图8所示,在步骤S11中选择图像I1,在步骤S12中选择与图像I2、I3的部分重复区域61。此时,在步骤S13中,判断为部分重复区域61中的图像群I1、I2、I3没有独立性时,针对图像I1进行由不同的图像群I1、I4、I5构成的部分重复区域62的选择。
(独立性的判断方法)
步骤S13中的独立性的判断,例如可以通过选择1张具有与所选择的部分重复区域重复的区域的图像(以下称为独立性判断图像),求取与该独立性判断图像相对的线性系数而进行。以下,对该方法进行详细说明。
图9是表示部分重复区域与独立性判断图像的关系的示意图。在图9中表示的例子是,针对图4所示的具有部分重复区域11的图像群I1、I2、I3选择了具有与部分重复区域11重复的区域31(以下称为线性系数计算区域)的独立性判断图像I4。即,这4张图像I1、I2、I3、I4在线性系数计算区域31中重复。另外,线性系数计算区域至少包含3个像素即可。
线性系数的计算利用线性系数计算区域中的各图像的像素值,基于Shashua的方法(“Shashua A.,‘Geometry and Photometry in 3D VisualRecognition’,P.D.thesis,Dept.Brain and Cognitive Science,MIT,1992”)来进行。
在此,对基于Shashua的方法的线性系数的计算进行详细说明。Shashua表示:通过假设平行光源与被拍摄物表面均为完全扩散反射面,从而可以根据光源方向不同的3张图像的线性结合来表现任意光源方向的图像。即,将向量表现了光源方向不同的3张图像设为I1、I2、I3,则任意光源方向的图像I4如下式所示,可以通过线性结合来表现。
I4=c4 1I1+c4 2I2+c4 3I3(式2)
在此,将C4=[C4 1 C4 2 C4 3]T作为与图像I4相对的线性系数进行计算。
具体是,如图10所示,针对4张图像I1、I2、I3、I4进行3点像素坐标P1(x1,y1)、P2(x2,y2)、P3(x3,y3)的选择,利用所选择的3点P1、P2、P3的各坐标中的像素值i,用下式进行线性化系数的计算。
[数式1]
其中,
在此,ik(x,y)表示输入图像Ik中的像素坐标(x,y)的像素值。
根据该(数式1),可以进行线性系数C4=[C4 1 C4 2 C4 3]T的计算。由此,可以用I1,I2,I3,C4=[C4 1 C4 2 C4 3]T来表现任意光源方向的图像I4。再有,在无法计算出D-1的情况下,进行3点P1(x1,y1)、P2(x2,y2)、P3(x3,y3)的重新选择。关于3点P1、P2、P3的选择方法及线性系数的导出的详细内容,例如记载于“利用光学现象分类基准的图像的线性化”(图像的识别·理解座谈会(MIRU2002)论文集,vol.2,pp.167-176,2002)中。
采用以上说明的Shashua的方法,对所选择的各图像的部分重复区域进行(数式1)的计算,求取线性系数。此时,将步骤S12中选出的3张图像设为I1、I2、I3,将步骤S13中新选出的独立性判断图像设为I4,进行线性系数C4=[C4 1 C4 2 C4 3]T的计算。
接着,利用线性系数C4的计算中所用的3点P1(x1,y1)、P2(x2,y2)、P3(x3,y3)的像素值,求取矩阵D的条件数,在该条件数比规定的阈值还小时,判断为选出的部分重复区域中的3张图像具有独立性,而在比规定的阈值还大时判断为选出的部分重复区域中的3张图像没有独立性。
在此,判断为独立性低的原因为以下理由的任一个:
○在任一图像中,选择出的3个像素中的2个以上的法线方向相同。
○对于至少2张以上的图像来说,光源环境相等。
因此,利用独立性低的图像群来生成与检测对象图像对应的预测背景图像时,亮度的误差变大。这里所说的亮度的误差是指:在与检测对象图像相同的光源环境下拍摄到的理想的背景图像、和所生成的预测背景图像的亮度的误差。
相反,在判断为有独立性的情况下,所选择的部分重复区域的各图像满足以下条件:各光源方向不同、且被拍摄物表面的法线方向不同的像素存在3个像素以上。利用这种独立性高的图像群来生成与检测对象图像对应的预测背景图像时,能够将亮度的误差抑制得较小。
再有,如在此所说明的,在假设光源为平行光源、物体表面为完全扩散反射面时,任意光源方向的图像可以使用4张图像来合成。因此,在本实施方式中,将具有部分重复区域的图像群的张数N设为3个为好。
还有,所谓扩散反射像素表示进行(式2)的动作的像素。
另外,在此针对:在步骤S13中,利用具有与所选择的部分重复区域重复的区域的独立性判断图像,进行线性系数的计算,以(数式1)中的D-1的有无和D的条件数为基础,进行独立性的判断的例子进行说明。然而,若为利用同样的基准的处理,也可以使用其他方法。
例如,不重新使用独立性判断图像,针对所选择的部分重复区域的图像群进行任意3点P1(x1,y1)、P2(x2,y2)、P3(x3,y3)的选择,利用该3点P1、P2、P3,进行D-1、D的条件数的计算,进行独立性判断。此时,判断为无独立性时,进行3点P1、P2、P3的重新选择,再次利用D-1、D的条件数进行独立性判断。在即使反复进行了规定次数3点P1、P2、P3的选择也无法满足独立性的基准的情况下,判断为无独立性,在步骤S14中进行部分重复区域的重新选择为好。由此,即使不重新选择独立性判断图像也可以进行独立性的判断。
这样,通过步骤S11~S15能够进行具有独立性的部分重复区域的选择。
接着,在步骤S16中,判断到此为止所存储的部分重复区域是否存在于所希望的摄像范围的整个区域中。在判断为还未存在于整个区域中时(S16中否),在部分重复区域不存在的区域中,选择任意的图像(步骤S17),返回步骤S12,重复上述处理。作为步骤S16中的具体判断方法,例如在所放大的图像的像素数为所希望的摄像范围的整个区域份的像素数时,判断为具有独立性的部分重复区域的集合存在于整个区域即可。
图11是示意性表示步骤S17的处理的图。在图11中,在虚线所示的所希望的摄像范围70中,设带有阴影的区域71内已经存在部分重复区域。此时,在步骤S16中,由于判断为部分重复区域未存在于摄像范围70的整个区域内,故在步骤S17中,例如在未带有阴影的区域72内再次进行任意图像73的选择。
另一方面,在判断为部分重复区域存在于整个区域内时(S16中是),由于生成了小区域全景图像群,故将其存储于小区域全景图像群存储部105中(步骤S18)。作为存储介质,与摄像图像存储部103同样,例如使用存储器或硬盘、胶片等即可。
这样,通过执行图6的步骤S11~S18的处理,从而在小区域全景图像群存储部105中生成小区域全景图像群,该小区域全景图像群是具有共同的摄像范围的N张图像群,由多个共同的部分重复区域构成,且在各部分重复区域中各图像互相具有独立性。
<利用小区域全景图像群的物体检测>
物体检测部106针对从摄像图像修正部接收到的检测对象图像,利用存储于小区域全景图像群存储部105内的小区域全景图像群,进行物体检测。这里的物体检测例如采用背景差分即可。
关于本实施方式的利用背景差分的物体检测的例子,利用图5及图12~图14进行说明。
现在,如图12所示,由PT照相机41拍摄了图像In(检测对象图像)。在图像In中,桌子21上放有空罐42。再有,该摄像区域中的小区域全景图像设为图5所示的图像I1 P、I2 P、I3 P。在图5中,用虚线表示与图像In对应的区域。图像I1 P、I2 P、I3 P在拍摄检测对象图像之前已经存储于小区域全景图像群存储部105中。
在此,如图13所示,从小区域全景图像群I1 P、I2 P、I3 P中,按每个部分重复区域(区域B~D)切出与图像In的图像区域对应的像素。例如,在区域B中,切出图像I1 P_B、I2 P_B、I3 P_B。再有,从图像In中切出图像I4_B。对于区域C及区域D也同样分别切出图像I1 P_C、I2 P_C、I3 P_C、I4_C及图像I1 P_D、I2 P_D、I3 P_D、I4_D。
利用这些图像,依据(数式1),计算各部分重复区域B、C、D中的线性系数CB、CC、CD。例如,利用图像I1 P_B、I2 P_B、I3 P_B,计算与图像I4_B对应的线性系数CB=[CB 1 CB 2 CB 3]T。另外,在图像In中由于存在背景以外的物体(图12的例子中为空罐42),故在利用(数式1)计算线性系数之际,作为3点P1、P2、P3,有时会选择了背景以外的点(例如在空罐42映照的区域内选择点P1、P2、P3)。该情况下,无法正确进行线性系数的计算。然而,例如通过利用RANSAC(请参照「MA.Fischlerand,R.C.Bolles,“Random sample consensus:a paradigm for model fitting withapplication to image analysis and automated cartography”,Commun,Assoc,Comp,Mach,24,pp.381-395,1981」),可以在4张图像的全部背景成分上选择3点P1、P2、P3,不会受到背景以外的物体的影响,能够计算线性系数(详细内容请参照“利用了光学现象分类基准的图像的线性化”图像的识别·理解座谈会(MIRU2002)论文集,vol.2,pp.167-176,2002)。
通过将这样算出的线性系数CB、CC、CD及图像I1 P、I2 P、I3 P的像素值代入(式2),从而生成各部分重复区域B、C、D中的预测背景图像,将这些粘合。由此,可以生成与当前的照明条件下所拍摄到的检测对象图像In对应的预测背景图像In E。
然后,如图14所示,对比该预测背景图像In E与原始检测对象图像In,例如将像素值的差分比规定阈值还大的区域作为物体区域进行检测。
检测物体显示部107将由物体检测部106检测出的物体的区域显示在例如监视器等显示装置上。
如上所述,根据本实施方式,对于小区域全景图像群,通过利用线性化,可以生成光源环境相同的预测背景图像,其中小区域全景图像群在包含检测对象图像的摄像范围的区域共同具有重复区域、且由互相具有独立性的N(N为3以上的整数)张图像构成。通过利用该预测背景图像,从而可以从在任意光源环境下拍摄到的图像中进行物体检测。
进而,即使在利用任意摄像方向拍摄到的摄像方向不同的图像的情况下,通过生成由在所希望的摄像范围内互相具有独立性的N(N为3以上的整数)张图像构成的小区域全景图像群,从而也可以生成对象图像全体的预测背景图像。
另外,在本实施方式中,利用(数式1)进行线性系数的计算,但(数式1)是假定所选择的3点P1、P2、P3的像素全部为扩散反射像素的公式。在实际环境中,由于图像中包含镜面反射等扩散反射以外的成分,故(数式1)可能未必成立。但是,通过利用长尺的方法(详细内容请参照“利用了光学现象的分类基准的图像的线性化”图像的识别·理解座谈会(MIRU2002)论文集,vol.2,pp.167-176,2002),从而能够以不受这些扩散反射像素以外的像素值的影响的方式进行使3点P1、P2、P3的像素全部成为扩散反射像素的选择。
再有,在本实施方式中,由于将光源假设为平行光源,故在物体检测之际通过将3张图像用作基底,从而可以计算正确的线性系数。然而,由于实际环境下的光源中包含相互反射等的环境光,故在将3张图像用作基底而进行线性系数的计算时,可能会只能得到相对于实际的图像、误差大的线性化图像。然而,即使在包含这种环境光的光源条件下,通过利用更多的图像,从而可以精度优良地进行线性系数的计算,与本实施方式同样,能够进行利用图像的线性化的图像放大或物体检测。例如,即使在包含环境光的情况下,利用4~9张图像可以制作误差少的线性化图像的方法已经被公开(“以双向反射分布函数的频率特性为基础的反射成分的分离”,信息处理学会研究报告,CVIM2002-134-1,pp.1-8,2002)。
还有,在本实施方式中,以下面的顺序说明图1的物体检测装置的动作:
○进行摄像,修正并存储摄像图像。
○利用所存储的摄像图像来生成并存储小区域全景图像群。
○利用所存储的小区域全景图像群、和存储了小区域全景图像群后拍摄到的检测对象图像,合成预测背景图像,进行物体检测。但也可以按照以下的顺序进行处理:
○进行摄像,修正并存储摄像图像。
○针对检测对象图像,依次生成与检测对象图像的摄像区域对应的小区域全景图像群。
○利用所生成的小区域全景图像群和检测对象图像,合成预测背景图像,进行物体检测。该情况下,即使在整个所希望的摄像范围内无法生成小区域全景图像群,也可以仅针对检测对象图像的摄像范围生成小区域全景图像群,生成预测背景图像,进行物体检测。
此外,在本实施方式中所说明的、利用小区域全景图像群生成的预测背景图像生成的预测背景图像,也可以利用于物体检测以外的用途。例如,相对于对象图像而被预测的背景图像全部为扩散反射区域,因此成为除去了镜面反射区域的图像。由此,可以生成对人来说容易观察的背景图像。
再有,由于同样被预测到的背景图像全部为扩散反射区域,故成为除去了投影(cast shadow)的图像。所谓投影是指通过让物体遮挡光线而在其他物体的面上产生影子。由此,可以生成能看到本来因影子而看不到的区域的背景图像。
另外,本发明涉及的图像生成方法及物体检测方法,例如可以通过使计算机执行记录在计算机可读取记录介质中的程序而实现。
图15是表示本实施方式涉及的图像生成方法及物体检测方法的流程图。如图15所示,在步骤S1中,生成小区域全景图像群,在步骤S2中针对对象图像,利用步骤S1中生成的小区域全景图像群来生成预测背景图像。在步骤S3中,对比对象图像和步骤S2中生成的预测背景图像,检测对象图像所拍摄到的物体。步骤S1、S2对应于图像生成方法,步骤S1~S3对应于物体检测方法。