专利名称:成像设备、成像方法和程序的制作方法
技术领域:
本发明涉及一种具有组合多个图像的功能的成像设备、成像方法和程序。
背景技术:
当使用可携式摄像机、数字静止照相机或任何其它适合的设备执行全景成像时, 每当捕获图像时必须保持照相机静止,或者必须缓慢地移动照相机以便在照相机移动并且 同时捕获图像时图像不会模糊。 在后者的情况下,高速快门对于捕获图像也是必要的。 相反,日本专利No. 3, 928, 222提出了一种在快速移动照相机的同时捕获图像且 保持图像分辨率的方法。 在日本专利No. 3, 928, 222提出的方法中,检测照相机移动的方向和照相机移动 的角速度,并且光轴以相同的角速度沿与照相机的移动相反的方向移动,从而每个图像都 不会改变。结果,每个图像被捕获为好像仅观察单个点。 —些情况下,加速度传感器和角速度传感器对于实现上述控制方法是必需的。相 反,日本专利No. 3, 925, 299提出了一种适当控制光轴而不需要这两个传感器及控制它们 的反馈电路的方法。 日本专利No. 3, 925, 299提出的方法被用作这样的监控系统对用于控制成像方 向的步进电机的脉冲数进行计数,并基于该计数控制光轴。
发明内容
利用被设置为望远镜模式的照相机,通过多次改变成像方向以创建广角、高清晰 照片的从单个点捕获图像的方法中,成像操作通常由放置于固定在三脚架的活动台上的照 相机执行。替换地,可以用手握住照相机来执行这项工作。 然而,当通过用手握住照相机并把照相机沿用户肩膀旋转来捕获图像时,视差 (parallax)极大地影响捕获的图像,这是因为照相机围绕照相机观察物体的照相机的观察 点后面的位置而旋转。 这种情况下,当仅对远景成像时几乎没有问题,但当捕获的图像包含邻近物体时, 可能无法正确地组合图像,因为相邻图像之间的邻近物体的位置关系不同于远处物体的位 置关系。 由于没有当前的照相机能够控制(监控)视差或移动物体的影响,所以在完成成 像操作之后无法立即判断是否需要重新捕获图像。 因此,希望提供一种能够在完成成像操作之后立即判断是否需要重新捕获图像的 成像设备、成像方法和程序,由此方便操作。 根据本发明第一实施例的成像设备包括成像装置,通过光学系统捕获物体图像; 图像信号处理器,具有把多个捕获的图像组合成单个图像的功能,这些图像是在成像设备 移动期间捕获的;以及控制单元。图像信号处理器基于相邻图像之间的运动矢量的相似性检测视差的任何影响或移动物体,控制单元在图像信号处理器检测到移动对象或视差的任 何影响时发出警告,以提示重新捕获图像。 优选地,图像信号处理器在时间相邻的两个图像彼此交叠的区域中执行多次运动
检测操作以确定多个运动矢量,并在存在具有不同值的矢量时识别出检测到视差。 优选地,图像信号处理器在时间相邻的两个图像彼此交叠的区域中执行多次运动
检测操作以确定多个运动矢量,控制单元发出警告,而不对移动对象和静止物体之间的边
界上的视差和移动物体进行区分。 优选地,控制单元控制以固定交叠率捕获若干图像的操作,以所述固定交叠率,物 体的任何部分出现在至少两个相邻图像中。 根据本发明第二实施例的成像方法包括下述步骤在移动成像设备的同时,利用 该成像设备通过光学系统捕获物体图像;基于相邻图像之间的运动矢量的相似性,检测视 差的任何影响或移动物体;当检测到视差或移动对象的任何影响时发出警告,以提示重新 捕获图像。 根据本发明第三实施例的程序使计算机执行成像处理,所述成像处理包括下述处 理在移动成像设备的同时,利用该成像设备通过光学系统捕获物体图像;基于相邻图像 之间的运动矢量的相似性,检测视差的任何影响或移动物体;当检测到移动对象或视差的 任何影响时发出警告,以提示重新捕获图像。 根据本发明的实施例,在成像设备移动期间捕获的图像被输入到图像信号处理 器。 图像信号处理器基于相邻图像之间的运动矢量的相似性,检测视差的任何影响或 移动物体,并把检测结果输出给控制单元。 控制单元在图像信号处理器检测到视差或移动对象的任何影响时发出警告,以提 示重新捕获图像。 本发明的实施例允许在完成成像操作之后立即判断是否需要重新捕获图像,提高 了操作的方便性。
图1是表示采用根据本发明实施例的成像处理设备的照相机设备的结构例子的 方框图; 图2示意性地表示利用本实施例的照相机设备执行的广角成像; 图3是精确组合处理器的方框图; 图4表示以曲线图显示的姿势传感器的输出(扫描角速度); 图5A和图5B描述在本实施例的第一配置中如何捕获图像; 图6表示CM0S图像传感器曝光的时间段、读取积累的电荷的时间段和控制光轴的 时间段之间的关系; 图7A和图7B表示通过基于互功率谱(CPS)的平移获得的缝合图像; 图8描述使用块匹配(BM)提取参数的处理并表示选择良好条件的四个图像的处
理; 图9描述使用块匹配(BM)提取参数的处理并表示沿单个边界在三个位置执行BM的例子; 图10描述使用块匹配(BM)提取参数的处理并表示当存在透镜失真时在弯曲边界 的BM结果; 图11描述使用块匹配(BM)提取参数的处理并表示当倾斜角不正确时产生向 左_右方向倾斜的错误边界的例子; 图12描述使用块匹配(BM)提取参数的处理并表示沿左右图像之间的边界产生的 沿上_下方向的收縮导致沿横向方向的移位; 图13描述使用块匹配(BM)提取参数的处理并表示图像的旋转导致的误差的例 子; 图14A和图14B描述在使用块匹配(BM)提取参数之后,BM扩展到大量图像从而 以最少误差执行平移操作的过程; 图15是表示基于连续捕获的图像和传感器信息的空间排列方法的功能框图;
图16是表示在使连续捕获的图像与传感器信息相关而使传感器信息更精确的方 法中,在静止状态下的传感器零位置的校正的功能框图; 图17是表示在使连续捕获的图像与传感器信息相关而使传感器信息更精确的方
法中,如何调节移动信息以使其更精确的功能框图; 图18是校正角速度传感器的零点的过程的流程图; 图19是校正从角速度传感器获得的移动量的过程的流程图; 图20是获取所述移动量的方法的流程图; 图21是使用捕获的照片分配空间坐标的方法的流程图; 图22A至图22D描述扫描速度的计算例子。
具体实施例方式以下将参照附图描述本发明的实施例。 图1是表示作为根据本发明实施例的成像设备的照相机设备的结构例子的方框 图。 照相机设备10能够,例如,如图2所示,通过多次自动或手动改变成像方向而产生 从单个点捕获的大量图像(在图2中,16X8二 128)。 照相机设备10准确、无缝地组合大量图像(例如,几百个图像),以形成所谓的全 景图像。 也就是说,照相机设备10具有这样的功能基于沿纵向或横向方向高速摇动包含 了固态成像装置(例如,CM0S图像传感器(CIS))的数字照相机所捕获的图像,创建全景图 片。 根据本实施例的照相机设备10具有下述第一至第五特征结构和功能。
第一结构具有下述特点。 为了通过移动照相机设备10以捕获多个图像并组合所获取的图像来创建全景图 像,控制聚集成像光的透镜(移轴透镜)的光轴,使得所述照相机被移动的方向以及其角速 度被取消。 以这种方法捕获每个图像,即使当照相机移动时,也好像仅观察单个点。
在这种结构中,CIS(CM0S图像传感器)用作固态成像装置,并且通过对CIS的线的中间部分执行上述控制来捕获每个图像。 也就是说,在一部分线被曝光的时间段加上读出时间的期间,如上所述控制光轴,其中控制光轴,使得在所有其它时间使光轴回到中心附近的位置。这种情况下,照相机捕获图像的方向垂直于CIS的线。 然后,通过从CIS的一部分剪切条并执行与那一部分对应的光轴控制,即使照相机高速移动时也不降低分辨率,照相机设备10以高帧率产生全景图像。
第二机构具有下述特点。 照相机设备10采用这样的技术使用根据图像识别技术获得的帧移动信息和来自姿势传感器的移动信息,在空间上排列连续的图像。 来自姿势传感器的信息补充图像识别不能提供的信息。来自姿势传感器的信息用于检查是否已成功执行图像识别,或者当图像识别失败时用作辅助坐标。被空间排列的图像创建单个完整的全景图像。 这种情况下,照相机设备10构造为这样的照相机照相机主要用手握住,并通过改变成像方向基本从单个点捕获多个图像。 照相机设备10的姿势传感器包括三轴(或两轴)加速度传感器和/或三轴(或两轴)角速度传感器。 照相机设备10不仅具有捕获图像并同时记录指示捕获每个图像的方向的姿势信息的功能,还具有在过程中(on the fly)把多个捕获的图像组合成单个图像的功能。
照相机设备10不仅以块匹配或任何其它适合的图像识别功能使用相邻图像彼此交叠的区域来计算图像之间的相对位置关系,还使用来自姿势传感器(由多种传感器形成)的数据来计算所述图像位置关系。 然后,照相机设备10使用所计算的相对位置关系和图像位置关系之间的选择性协调,计算图像之间更精确的相对位置关系。 其后,照相机设备10确定每个图像的绝对位置关系,诸如图像的中心所朝向的方向、表示围绕光轴的旋转的水平角(经度)、倾斜角(纬度)和滚动角(倾斜),并使用以上信息作为初始值以执行精确自动组合。
第三结构具有下述特点。 照相机设备10采用这样的技术记录连续的图像,有通过图像识别技术获得的帧移动信息和来自姿势传感器的移动信息彼此相关。 照相机设备10计算每个图像像素的视角、在静止状态下来自姿势传感器的值、来自姿势传感器的值和每个像素的视角之间的关系、以及仅从这两种位置关系之一无法获得的其它信息。照相机设备10具有偏移、增益和其它参数,并能改变它们以使得捕获每个图像的期望方向充分地与实际方向一致。 照相机设备IO以三轴(或两轴)加速度传感器相对于重力方向倾斜的角度,静态地检测静止状态下的姿势数据,并把该数据设置为姿势信息的初始值。 照相机设备10通过例如把来自三轴角速度传感器的输出值相对时间积分,主要计算照相机沿纵向和横向方向的旋转移动,并把获得的值设置为捕获每个图像时的方向数据。
照相机设备10以块匹配或任何其它适合的图像识别方法,使用相邻图像彼此交叠的区域计算相邻图像之间的位置关系。照相机设备io通过如上所述的计算确定相邻图像之间的位置关系,并同时判断结果是正确的还是错误的。 当判断结果为正确时,照相机设备10基于如此获得的信息校准所述参数。 然后,当判断结果为错误时,照相机设备10基于已被校准的参数,通过使用来自
姿势传感器的值,排列图像。 第四结构具有下述特点。 照相机设备10具有这样的功能当它检测到移动对象的任何影响时发出警告,提示用户重新捕获图像。 照相机设备10具有这样的功能以这样的方式检测移动对象,即交叠率被设置为50%或更高,从而物体的任何部分出现在至少两个相邻图像中。结果,基于相邻图像之间的运动矢量的相似性,检测视差或移动对象的影响。 也就是说,照相机设备10在检测到移动对象或视差的任何影响时发出警告,以提示用户重新捕获图像。 快速摇动照相机设备10以在广角内捕获物体的多个条形图像并把它们组合成单
个图像,照相机设备io检测视差多大程度上影响邻近物体,并提示用户围绕照相机的观察
点(照相机从该观察点观察物体)重新捕获图像。
第五结构具有下述特点。 照相机设备10通知适当的扫描角速度(用户摇动照相机的速度),并在扫描角速度太快时发出警告。以这种方法,提示用户重新捕获图像。 照相机设备10在显示装置18 (诸如,LCD屏幕)上以曲线图显示来自姿势传感器(陀螺传感器)的输出(扫描角速度),垂直轴代表输出,水平轴代表时间。当设置了水平视角、水平像素数和快门速度时,确定了最高的扫描角速度,这样显示曲线图使得合适的范围为最高的扫描角速度的60%到80%。 以下将描述具有以上特征的照相机设备10的更具体结构和功能。
照相机设备10包括光学系统11、成像装置12、模拟前端(AFE)电路13、姿势传感器14、驱动器15、系统控制器16、存储器17、显示装置18、操作单元19和声音产生器20。
光学系统11在成像装置12的成像表面上形成物体的图像。 光学系统11包括普通透镜111、作为光轴改变装置的移轴透镜1 12以及机械快门113。 移轴透镜112不仅聚集成像光,还被驱动器15驱动以改变光轴的方向。
成像装置12由CMOS (互补金属氧化物半导体)装置或CCD (电荷耦合装置)形成。
在本实施例的描述中,使用CMOS图像传感器作为示例。在上述的第一结构中,CMOS图像传感器用作固态成像装置。 在成像装置12中,在半导体基底上以矩阵排列的光学传感器检测光学系统11形成的物体图像,产生信号电荷,经过垂直和水平信号线读取信号电荷,并输出物体的图像信号。 当成像装置12由CMOS图像传感器形成时,全局快门和巻帘式快门用作电子快门来控制曝光。曝光由系统控制器16控制。
7
AFE电路13去除例如来自成像装置12的图像信号中包含的固定图案噪声,使用自动增益控制稳定信号电平,并把获得的信号输出给系统控制器16。 姿势传感器14检测照相机设备10的姿势,并把检测结果提供给系统控制器16。
姿势传感器14由例如三轴加速度传感器141和三轴角速度传感器142形成。
加速度传感器141能够静态地找到相对于重力方向的角度,并检测倾斜角(tiltangle)和滚动角(roll angle),但不能检测水平角(panangle)。 因此,角速度传感器142用于找到运动的角度。角速度传感器142也称为陀螺传
感器,能够检测旋转运动期间的角速度并输出电压信号。对电压信号求积分可以产生角度。
由于角速度传感器142是三轴传感器,所以能够检测水平角、倾斜角和滚动角。 驱动器15在系统控制器16的控制下改变光学系统11中的移轴透镜112的光轴。 系统控制器16是这样的电路对来自AFE电路13的输出信号执行色彩校正,组合
多个图像,执行自动曝光控制、自动白平衡控制和其它控制操作。 系统控制器16包括图像信号处理器161和用作控制单元的微计算机(ii -COM) 162。 图像信号处理器161包括精确组合处理器,用于精确而无缝地组合通过多次改变成像方向从单个点捕获的大量图像。 如图3所示,精确组合处理器1611包括第一色彩校正功能单元16111、组合功能单元16112和第二色彩校正功能单元16113。 图像信号处理器161组合移动照相机设备10获得的多个捕获的图像,以产生全景图像。 微计算机162根据来自姿势传感器14的检测结果,控制聚集成像光的透镜(移轴透镜)的光轴,使得照相机移动的方向及其角速度被抵消。 当CMOS图像传感器用作固态成像装置时,微计算机162在CMOS图像传感器的线的中间部分被曝光的时间段加上读出时间期间,如上所述控制光轴,而控制驱动器15使光轴在所有其它时间回到中心附近的位置。在后面的情况下,照相机捕获图像的方向垂直于CMOS图像传感器的线。 通过从CMOS图像传感器的一部分剪切条、并执行与那一部分对应的光轴控制,即使照相机高速移动时也不降低分辨率,微计算机162以高帧率控制全景图像的产生过程。
微计算机162对来自角速度传感器142的检测信号求积分以计算照相机设备10的旋转的角度,并根据所计算的旋转角度控制移轴透镜112的光轴应该改变多少。
替换地,图像信号处理器161能够检测相邻的捕获图像的运动分量,并且微计算机162能够根据检测的运动分量控制光轴应该改变多少。 替换地,微计算机162能够使用所计算的旋转角度和运动分量二者控制光轴应该改变多少。 微计算机162把指示捕获每个图像的方向的姿势信息记录在存储器17中。
图像信号处理器161和微计算机162不仅以块匹配或任何其它适合的图像识别功能,使用相邻图像彼此交叠的区域,计算图像之间的相对位置关系,还使用来自姿势传感器(由多种传感器形成)的数据,计算所述图像位置关系。 微计算机162使用所计算的相对位置关系和图像位置关系之间的选择性协调,计算图像之间更精确的相对位置关系。 其后,微计算机162确定每个图像的绝对位置关系,诸如图像的中心所朝向的方
向、表示围绕光轴的旋转的水平角(经度)、倾斜(纬度)和滚动角(倾斜)。 图像信号处理器161使用以上信息作为初始值以执行精确自动组合。 微计算机162计算每个图像像素的视角、在静止状态下来自姿势传感器的值、来
自姿势传感器的值和每个像素的视角之间的关系、以及仅从这两种位置关系之一无法获得
的其它信息。微计算机162具有偏移、增益和其它参数,并能改变它们以使得捕获每个图像
的期望方向充分地与实际方向一致。 微计算机162以三轴(或两轴)加速度传感器相对于重力方向倾斜的角度,静态
地检测静止状态下的姿势数据,并把该数据设置为姿势信息的初始值。 微计算机162通过例如把来自三轴角速度传感器142的输出值相对时间进行积
分,主要计算照相机沿纵向和横向方向的旋转移动,并把获得的值设置为捕获每个图像时
的方向数据。 微计算机162以块匹配或任何其它适合的图像识别功能,使用相邻图像彼此交叠的区域,计算相邻图像之间的位置关系。微计算机162通过如上所述的计算确定相邻图像之间的位置关系,但同时判断结果是正确的还是错误的。 当判断结果为正确时,微计算机162基于如此获得的信息校准参数。 然后,当判断结果为错误时,微计算机162基于已被校准的参数,通过使用来自姿
势传感器的值,排列所述图像。 当检测到移动对象的任何影响时,微计算机162指示显示装置18和/或声音产生器20发出显示和/或警告声音。以此方式提示用户重新捕获图像。 微计算机162以此方式检测移动对象交叠率被设置为50%或更高,从而物体的任何部分出现在至少两个相邻图像中。结果,基于相邻图像之间的运动矢量的相似性,检测视差的任何影响或移动物体。 也就是说,微计算机162在检测到移动对象或视差的任何影响时发出警告,以提示用户重新捕获图像。 微计算机162检测视差多大程度上影响邻近物体,并提示用户围绕照相机的观察点(照相机从该观察点观察物体)重新捕获图像。 微计算机162通知适当的扫描角速度(用户摇动照相机的速度),并在扫描角速度太快时指示显示装置18和/或声音产生器20发出显示和/或警告声音。以此方式提示用户重新捕获图像。 微计算机162在显示装置18(诸如,LCD屏幕)上以曲线图显示来自姿势传感器(陀螺传感器)的输出(扫描角速度),垂直轴代表输出,水平轴代表时间。当设置了水平视角、水平像素数和快门速度时,确定了最高的扫描角速度,所以曲线图如图4所示,在图4中,合适范围RNG为最高的扫描角速度的60%到80%。
以下显示以上操作的示意性过程。 [1]按下操作单元19中的开始按钮,并旋转照相机。然后,放开开始按钮。
[2]只要开始按钮被按下,扫描角速度就显示在显示装置18的屏幕上,如图4所
[3]当扫描角速度慢于合适范围RNG的下限时,不会发出警告,而当扫描角速度快 于合适范围RNG的上限(即使是瞬间快于RNG的上限)时,会产生警告声音。
以下将具体描述上述第一至第五结构。 第一至第五结构中的控制的主要部分由系统控制器16执行。
[第一结构] 在第一结构中,由于CMOS图像传感器用作固态成像装置,所以不应用帧/场方法, 而是使用顺序读取所有线的逐行扫描方案。 图5A和图5B描述在本实施例的第一结构中如何捕获图像。 照相机设备10假定基本按下述方法移动照相机设备10如图5A所示垂直旋转或 者如图5B所示水平旋转。也就是说,照相机沿与CMOS图像传感器的读出线垂直的方向移 动。 另外,在本实施例中,微计算机162在剪切CMOS图像传感器的成像范围的中间部
分所获得的条(如图5A和图5B的黑条30所示)上执行光轴控制。 如上所述的捕获条形图像提供了下述优点。 (a)随着条的宽度减小,有利地减小了视差的影响。 (b)随着条的宽度减小,也有利地减小了 CMOS图像传感器的非同时读出的影响。
(c)也有利地减小了周围的光量减少的影响。
(d)也有利地减小了透镜失真的影响。 微计算机162根据例如来自姿势传感器14的检测结果,以下述方法控制聚集成像 光的透镜(移轴透镜)的光轴抵消了照相机移动的方向及其角速度。
当CMOS图像传感器用作固态成像装置时,微计算机162在CMOS图像传感器的线 的中间部分被曝光的时间段加上读出时间期间,如上所述控制光轴,而微计算机162控制 驱动器15使光轴在所有其它时间回到中心附近的位置。 也就是说,在图5A和图5B示出的条30被曝光的时间段期间,必须控制光轴。
图6表示CM0S图像传感器被曝光的时间段、读取积累的电荷的时间段和控制光轴 的时间段之间的关系。 对CMOS图像传感器的每条线,所述线被曝光,并且读取电荷。对线执行读出操作 之后,后面的线被曝光,并读取电荷。在重复这项操作的时间段期间控制光轴,以处理整个 条上的电荷。 例如,当快门速度为1/1000秒(SP,曝光时间为lmsec)并且条的宽度对应于200 个线时,图6示出的读出时间为1. 56msec,光轴控制时间段为2. 56msec。作为参考,当考虑 捕获图像的帧率为60fps(大约每个图像16. 66msec)的相应日本专利No. 3, 928, 222的图 3的变量Son和Soff时,Son为2. 56msec, Soff为16. 66-2. 56 = 14. lmsec。
在日本专利No. 3,928,22中,光轴被控制的角限制为士1.2度。在本实施例中,但 从0度至0. 3度的任何值被用作角限制,虽然角限制可以为例如±0. 5度。0. 3度的角近似 为能够选择的角限制范围的最大值的60%。 在图3的精确组合处理器1611中组合这样捕获的条形图像,以产生全景图片。以 下将描述在精确组合处理器1611中执行的图像组合处理。 根据本实施例的系统控制器16具有这样的功能(例如,软件)把通过多次改变
10成像方向从单个点捕获的图像精确地组合成校正了色彩不均匀的单个图像。 以下将具体地描述在本实施例中的精确组合的特征功能部分。 为了提取透镜失真校正系数和其它参数,第一色彩校正功能单元16111对每个边
界执行至少三次块匹配(BM)操作,并且至少四个边界被用于组合。确定透镜失真校正系
数,使得边界尽可能准确。 换句话说,第一色彩校正功能单元16111从原始图像提取透镜失真校正系数和其 它参数。 第一色彩校正功能单元16111随后对所有子图像统一执行周围光减少校正、对比 度增强、色度增强和伽马校正。 在第一色彩校正功能单元16111已确定透镜失真校正系数和其它参数并执行周 围光减少校正、对比度增强、色度增强和伽马校正之后,组合功能单元16112对所有边界执 行至少一次(例如,三次)BM(块匹配)操作。 组合功能单元16112同时评估所有边界的BM结果,更新光轴方向使得在所有边界 产生的误差减少,由此减少误差,并精确地组合多个图像。 第二色彩校正功能单元16113对所有子图像独立地执行色彩(不均匀)校正,以
减少由组合功能单元16112精确组合的多个图像之中相邻图像之间的色彩差异。 另外,第二色彩校正功能单元16113执行色彩校正,以把相邻图像之间色彩的不
连续减小到所述该不连续性不可见的水平。 现在将描述在精确组合处理器1611中执行的精确组合的理论概念。 本实施例基本应用基于Fourier (傅立叶)分析的相位相关技术。 也就是说,本实施例应用基于Fourier移动定理的方法,其中空间函数的移动仅
改变频谱区中的相位。 也就是说,假定两个函数^和f2满足下面的关系。[方程l] f2(x, y) = fJx+Xt, y+yt) 另外,这两个函数具有下面的频谱特性。[方程2] F2 (u, v) =(u, v) exp (_2 Ji i (uxt, vyt)) 使用互功率谱(CPS),以上方程能够重写为下面的等价方程。[方程3]
<formula>formula see original document page 11</formula>
其中,F2 ^代表复变函数F2的共轭函数。
实际上,图像由比特噪声形成,像两个图像之间的互功率谱,如图7A和图7B所示, 因此,希望找到互功率谱(CPS)的峰值并随后推导出平移参数(xt,yt)。
图7A和图7B表示基于互功率谱(CPS)的平移获得的缝合图像。 图7A表示缝合两个图像的结果。通过检测互功率谱(CPS)的峰值执行二维平移,
如图7B所示。当能够读取互功率谱(CPS)时,这两个图像完全彼此匹配。 由于难以在具有大量噪声的图像中检测最佳峰值,可以使用几个峰值来选择最佳峰值。 接下来,将参照图8至图14A和图14B描述使用BM(块匹配)提取参数的原理。 需要注意BM包括推导上述互功率谱(CPS)的峰值的功能。 首先,选择良好条件的四个图像IM0、 IM1、 M2和IM3,如图8所示。 例如,左下图像称为第零图像IMO,右下图像称为第一图像IM1。类似地,左上图像
称为第二图像IM2,右上图像称为第三图像IM3。图像M0至M3排列为,使得相邻图像在
它们的边界具有交叠部分。 在图8中,沿边界排列的每个矩形代表块BLK。
在上述的排列条件下,执行BM(块匹配)。 从四个(上、下、左、右)边界BDR01、BDR02、BDR13和BDR23提取透镜失真、视角、
倾斜角和其它信息。将进一步对BM(块匹配)进行描述。 沿单个边界的三个位置执行BM,例如,如图9所示。 当存在透镜失真时,BM导致弯曲的边界,如图10所示。 当倾斜角错误时,BM导致向左-右方向倾斜的错误边界,如图ll所示。 当透镜失真的中心沿纵向方向偏移时,沿上下图像之间的边界产生左-右方向的
收縮,如图12所示。另一方面,当沿左右图像之间的边界产生上_下方向的收縮时,透镜失
真的中心沿横向方向偏移。 当照相机朝上时图像的旋转程度增加时,产生向上-下方向倾斜的错误边界,如 图13所示。当照相机不朝向前面而是向机械倾斜轴倾斜时,产生图13示出的误差。
各种参数被确定为使得上述误差最小化。
以这种方法,彼此连接的任何四个图像几乎不产生误差。 例如,使用快速相位相关匹配执行图像中的相应BM。通过获取矢量偏移(Xij,yij) 并分析三个块的偏移的行为,能够量化每个参数。 对四个图像执行BM(块匹配)之后,BM扩展至更多的图像,并且同时评估所有边 界的BM结果,如图14A和图14B所示。更新光轴方向,以使得在所有边界的误差减少。由 此,减少了误差,并精确地组合多个图像。 这种情况下,单个图像被设置为基准图像,其它图像被平移并最终放置于误差被 最小化的位置。 根据以下列出的基本处理来执行精确组合。 平移被用于确定最佳位置并把图像移动到最佳位置。 为此,重复该循环。 把指示将要进行的移动总量的参数fxy减小至0. 0。 沿上-下和左-右(纵向和横向)方向对所有图像执行以上操作。 保持基准图像不变。
由于BM操作已经提供了相邻图像之间的位置关系,基于该位置关系计算将要进 行的移动量。 为了计算将要进行的移动量,加上基准图像上方和右侧的图像的移动量并减去基
准图像下方和左侧的图像的移动量,以产生平均值f [y] [x]. x、 f [y] [x]. y。 把该平均值的80%加到每个当前图像的中心位置,以产生新图像的中心位置。
把所有图像的移动量的绝对值之和代入fxy。 计算移动操作如何改进了上下图像之间的位置关系和左右图像之间的位置关系。
随着重复移动操作,变量fxy实际上逐渐减小。
换句话说,fxy趋向于不再能移动的状态。
当fxy变为足够小时,结束这个处理。 以下将描述允许无缝连接数千个图像的图像组合的具体例子。
在下面的描述中,考虑四个图像。 例如,如图8所示,左下图像称为第零图像IM0,右下图像称为第一图像IM1。类似 地,左上图像称为第二图像IM2,右上图像称为第三图像IM3。 第零图像MO保持在固定位置。也就是说,第零图像MO用作基准图像。
假设bxl
、bxl[l]、bx2
和bx2[1]是BM(块匹配)产生的横向分量。
这个描述中,仅考虑横向分量,纵向分量被另行处理。 字符bxl代表左-右方向,字符bx2代表上-下方向。括号[]中的值零代表向下 或向左方向。 当在基准图像MO的右侧或上方存在图像时,BM结果为正值。 现在,作为极端的例子,假定仅一个位置具有异常值并且bxl[O] = 10、 bxl[l]=
0、bx2
= 0和bx2[1] = 0。 现在考虑这样的情况在第一行中沿左-右方向存在与IO个像素对应的偏移,而 在其它三个边界不存在偏移。 确定逐个排列的除基准图像以外的每个图像的位置,也就是说,对第零图像MO 和第一图像頂l执行的BM的结果确定了第一图像Ml的位置;对第一图像Ml和第三图像 頂3执行的BM的结果确定了第三图像M3的位置;对第二图像M2和第三图像M3执行的 BM的结果确定了第二图像M2的位置,不利地在第零图像MO和第二图像M2之间的位置 关系中产生具有IO个像素的大值缝隙。 在本实施例的方法中,异常值10的影响被分成四个2. 5的子影响。这项处理由稍 后将描述的程序部分执行。 使用xypos2()以及相邻图像之间的位置关系确定要进行的平移的量。 第一计算的结果表明第一图像IM1应该移动-5像素。 使用move ()平移第一 图像頂l 。 实际移动的量是4像素,是5像素的80% 。 除第零图像IMO以外的图像M1、M2和IM3的移动的量为pox[l] = 4、pox[2]= 0以及pox[3] = 0。 作为BM的结果,bxl
从10变为6。
相应地,bx2 [1]的值从0变为4。
13
第二计算的结果表明第一图像IM1应该移动-1像素。
第二计算的结果也表明第三图像M3应该移动_2像素。
加上第二计算的结果的80X,产生pox[1] =4.8。 执行第三计算操作和后面的计算操作。在第32计算操作中,由于指示要进行的移 动量之和的fxy小于0. 001像素,计算操作结束。 此时,三个图像被平移的像素数为7. 5、2. 5和5. 0,并且图像之间的位置关系从 bxl[O] = 10、bxl[l] = 0、bx2
= 0禾Pbx2[1] = O变为bxl[O] = 2.5、bxl[l] = -2.5、 bx2
=-2. 5和bx2[1] =2.5。以上结果表示误差已经由此划分。
以下示出重复多少次计算使fxy小于等于0. 001以及获得的fxy的值(ii = 32,
fxy = 0.
is
to
IX
0
2 2 2
fx[n]
-0.000244 -0.000244 -0.000344 n pox[n] poy[n] 每个图像应该平移的像素数
0 0.00 0.00
1 7. 50 0.00
2 2. 50 0.00
3 5.00 0.00 程序的示例的一部分显示在下面。 一程序的一部分(从这里开始)----------------
clrpos() -//Substitute zero into[pixel] , the amount translation to be made, pox[] , fzx[] , and rolla[]. for(ii = 0 ;ii < 1000 ;ii++) {
xypos2() ;//Use the positional relationship between adjacent images to determine the amount translation to be made, if (fxy < 0. 001) {break ;}
move 0
ZTranslation
fprintf(inf,〃 ii = 1230484,fxy = 0.
),How many times the calculation
repeated to make fxy equal to or smaller than 0.001 and the value of resultant fxy|n〃 , ii, fxy);
xypos() ;//Use the positional relationship between adjacent images
determine the amount of translation to be made. move() -//Translation dsppos() ;//Display the amount of correction. angle 0 ;//Convert the amount of correction into an angle and update qq[n],pp[n]. dsppos() ;//Display the amount of correction. dsperr() ;//Display the error between each pair of sub-images that is greater than 1. step() ;//Create a step angle from qq[n],pp[n]. —程序的一部分(在这里结束)---------------- 主要的子程序显示在下面。 —主要子程序---------------- void xypos20 {//Use the positional relationship between adjacent images to determine the amount of translation to be made fx[n],fy[n]. //Determine the flag fz [n] indicative of an image that cannot be translated. (Delete fprintf) int m, n, m2, n2, h, v, ix ; double cx, cy ; 〃fprintf (inf, 〃 n ix fx[n] fy[n]\n〃 ); f xy = 0 ; for(v = 0 ;v < ny ;v++) {//For all images for(h = 0 ;h < nx ;h++) { m= (nx_l) *v+h ;//Boundary between right and left images n = nx*v+h ;//Boundary between upper and lower images ix = 0 ; if ((0 < skip[h] [v]) || ((v == (ny_l)/2)&&(h == (nx_l)/2))) { //Keep the central image and any image whose flag has been determined unchanged. fx[n] = 0 ;fy[n] = 0 ;fz[n] = 4 ;〃fz[n]is a flag indicative of 肌 image that ca皿ot be translated. if (skip [h] [v] ==2) {f z [n] = 2 ;}〃Set an image whose flag has been determined to 2. }else{
cx = 0 ;cy = 0 ; if (v ! = 0){//when not in the bottom row n2 = n-nx ;〃immediately below if (0 < fok2[n2]) { ix++ ; cx-= bx2[n2] ;//Subtract the value of the image immediately below cy- = by2[n2]; } } if (v ! = ny-1) {//when not in the top row if (0 < fok2[n]) { ix++ ; cx+ = bx2[n] ;〃Add the value of itself. cy+ = by2 [n]; } } if (h ! = 0){//when not in the leftmost row m2 = m-1 ;〃on the left if (0 < fokl[m2]) { ix++; cx- = bxl[m2] ;〃Subtract the value of the image on
the left cy- = byl [m2]; } } if (h ! = nx-1){//when not in the rightmost row if (0 < fokl[m]) { ix++ ; cx+ = bxl[m] ;〃Add the value of itself. cy+ = byl [m]; } } if(ix==0){ fx[n] = 0 ;fy[n] = 0 ;fz[n] = 1 ; fx[n] = cx/ix ; fy[n] = cy/ix ; f z [n] = 0 ;* * * * * * * * *氺*氺* * * * * * * * * * * * * * *氺*氺* * * * * * * * * * * *
i 8 .0*([xu+u][u]Xj)— = +[u]gXq t 8 .OK [xu+u] g一 [u]切一 二 + [u] gxq
i t[+A氺XU = U } (++" XU 〉 0 = q)呵
;8 ()* ([t+司Xj- [ui] Xj) — = + [u] t叫 :8 ()* ([T+冚]xj- [iu] xj) — = + [u] ixq ;H+a*(I—xu) = u
i l[+a*xu = Ul } (++" T_xu > 0 = q)呵
;8 'O剩Xj- 二 +[u]Xod ;8 'O剩xj- 二 +[u]xod sSuTp皿oxins 9, uio; p一w[os]: iou u叫丛// } (o 二 = [u]zj:)j:]:
} xu > o = q)司
(1一x]:d)一加ui]: jo uom:socl j^u一0一;// } (++Ai 〉 Ai o = a) :oj:
i a 'n 'u 'ui
ho]! W[subjjj 0 9a0ui pT〇a
v!^ vj^ vj^ vj^ vj^ vj^ vj^ vj^ vj^ vj^ vj^ vj^ ^J^ ^J^ / /
+ + +小个个小小小小小小小小小小小+个个个个个个个个个个个个个个个个个个个*T、 *T、个个Z Z
:([u]Xj)sqBj+([u]xj)sqi3j = +Xxj [S9S0] O9S0] [S9S0]
[6SS0]
pire [ASSO] [9SS0] [SSSO] [縱O] [SSSO] [战o] [osso]
,1 [8柳] [Z>S0] [9柳] [WSO] [O柳] [6SS0] [8SS0] ["SO] [9SS0] [SSSO]
Osso] [ssso] [zsso]
如上所述,根据本实施例的第一结构,包含CMOS图像传感器的数字照相机能够以 高帧率捕获图像而不会降低分辨率,并且减小了视差的影响、周围光量的减少的影响和透 镜失真的影响。另外,能够创建高质量的全景图像。 能够准确地执行图像组合而不必考虑被组合的图像数量,并且也能够消除色彩的 不均匀。 由于能够从实际捕获的图像中提取透镜失真校正系数,所以不再需要麻烦的校 准,并且显著提高了精度。 无缝连接数千个图像的方法允许以必要的分辨率捕获必要的范围内的图像,而不
必担心要捕获的图像数量。 接下来,将描述第二结构。[第二结构] 将描述记录连续捕获的图像的空间位置。
〈概要> 使用连续的照片的全景成像是划分空间并把划分的空间重新集合成单个照片的 任务。使用在成像处理期间获得的空间信息执行反运算能够从照片创建高度精确的全景照 片。 在本实施例中,捕获每个照片时,从传感器和图像计算关于成像空间的信息,并且 该信息被附于所述照片。这个过程帮助创建全景照片。
〈附着关于成像空间的信息> 例如,当执行全景成像时,固定于单个点的透镜由电机驱动,从而改变成像方向。
在以上条件下捕获的照片彼此的差别仅在于成像方向,但这些照片都是位于固定 位置的照相机设备10获得的。也就是说,焦点位置固定。因此,下面描述限于在固定视角 内围绕某一点捕获的图像。 使用上述的成像方法时,获得关于捕获的空间的如下两类信息也就是说,关于被 成像的目标的信息(观察矢量)和关于围绕该观察矢量的旋转(滚动)角度的信息。
〈投影球面和空间的定义>
对空间成像获得的照片被投影到单个表面上。 考虑到以全景摄影对空间成像。为了支持所有方向,假定球面存在于摄影用户周 围并且捕获的图像投影在球面上。然后,容易地执行图像处理。当球面用于定义观察矢量 时,也确定了坐标空间。 进行下面的定义照相机设备100所在的焦点位置是原点(0,0,0),并且投影球面
具有半径l。 假定水平前侧位于Z轴上的点l(O,O,l),观察矢量是具有开始点(O,O,O)和结束 点f(O,O,l)的矢量。 观察矢量是具有长度1的单位矢量,观察矢量的长度在每个方向都是1。
由于观察矢量vl自己不足以记录帧的滚动,所以额外地记录滚动矢量v2。滚动矢 量v2是指示所讨论的图像的向上方向的信息,矢量(v2-vl)指示该图像的向上方向。
以这种方法,捕获图像的方向能够由这两个矢量(投影球面上的两个点)表示,并 且成像方向能够在投影球面上以均匀密度描述。
〈相对移动和绝对坐标> 当捕获图像时获得的空间信息包括两类信息相对信息和绝对信息。
创建全景图像可以仅需要指示捕获每个图像的方位的绝对位置信息,但是可能无 法获得可靠的绝对信息。为解决这个问题,积累相对信息以获得绝对信息,或者使用粗略的 绝对信息获得校正的绝对信息。 在透镜驱动的全景照相机中,绝对信息用作移动透镜的情景。然而,由于加入了成
像处理期间的震动、驱动透镜时的误差、姿势传感器低精度和其它因素作为相对信息,通过
计算确定精确的绝对值。〈把相对移动扩展到空间> 现在假定图像识别和姿势传感器已经提供了准确的相对信息。
当前图像帧fl从前一图像帧f2平移(dx, dy)并被滚动帧滚动量rz时,基于视角 的计算表明,围绕x轴和y轴的旋转量分别是rx和ry。这种情况下,f2的观察矢量v2被 旋转(rx, ry, rz)以形成fl的观察矢量vl。 投影球面上的绝对位置基于以上信息来确定。然而,把v2从v2的位置旋转(rx, ry,rz)可能需要相对复杂的计算。 为解决这个问题,最新的图像fl固定于前侧vl(0,0,l),排列在投影球面上的图 像f2和后面的图像整体上被旋转(-rx,-ry,-rz)。也就是说,最新的图像fl用作基准,其 它图像相对于这个基准移动。 重复这项操作使最新图像的位置为(O,O, 1),但允许确定其它图像的绝对位置。
通过也以矢量的形式表示滚动信息来产生这两个矢量(观察矢量和滚动矢量)的 原因在于相对旋转(球面的旋转,而非观察矢量的旋转)容易执行。
〈相对移动值的积累和与绝对信息的差异> 在以上描述中,仅使用相对信息在空间上排列图像,但实际上,例如也从姿势传感
器14获得关于沿上_下方向的绝对滚动和倾斜的信息。然而,从姿势传感器14获得的绝
对信息并未精确得足以产生全景照片,可以不使用来自姿势传感器14的信息。 另一方面,相对信息非常精确,这是因为相对信息是通过图像识别获得的,但它仍
然包含误差。基于相对信息连接图像会导致由积累的小误差引起的大差异。 为解决这个问题,使用来自姿势传感器14的绝对信息检查是否已产生任何积累
的误差。 在把相对移动扩展到空间的过程期间,以特定间隔把相对移动与来自姿势传感器 的对应绝对值进行比较。当相对移动与从姿势传感器获得的绝对值的差异变得太大时,使 用来自姿势传感器的绝对值校正相对移动。相对移动积累从这个位置重新开始。
图15是表示基于连续捕获的图像和传感器信息的空间排列方法的功能框图。
在图15中,功能块41设置关于来自角速度传感器142的检测信号的零基准,移动 积分器42执行积分以提供移动量。 检测器43比较成像装置12捕获的相邻帧图像,并检测移动量。 移动积分器42和检测器43的输出用于在协调校正逻辑44中执行协调校正,并且
相对位置积分器45对相对位置求积分以提供绝对位置信息。 绝对位置校正器46随后基于来自加速度传感器141的结果,校正绝对位置信息,排列部分47确定帧的空间位置并相应地排列帧。
〈空间坐标信息和全景照片> 在捕获图像的同时执行上述计算,图像与指示成像方向的空间坐标信息一起被同 时记录为元数据。 元数据自身允许创建全景照片。在后处理中执行更精确的调整和编辑时,元数据 也可以用作基本数据。 由于现有技术中不存在指示空间中的成像方向的元数据,所以不能创建精确的全
景照片。相反,本实施例通过当捕获图像时提供坐标信息解决了这个问题。 如上所述,在第二结构中,使用经图像识别技术获得的帧移动信息和来自姿势传
感器的移动信息在空间中排列连续的图像。来自姿势传感器的信息补充图像识别所没有提
供的信息。来自姿势传感器的信息用于检查是否已成功执行图像识别、或者当图像识别失
败时用作辅助坐标。空间中排列的图像创建单个完整的全景图像。 使用上述方法使得不仅正确表现了用户前方的景色及其邻近区域,还正确表现了 用户上方和后方的景色,由此能够支持全方向成像或全天空成像。 不仅包含用户前方的景色附近区域被成像时,而且当对广角景色成像时,能够无 误差地创建全景图像。
当然上述方法可应用于这样的情况用手握住的照相机捕获高清晰图像。
接下来将描述第三结构。
〈第三结构> 将描述使用连续捕获的图像的位置识别的校正。
〈概要> 为了把精确的成像位置信息附着于连续捕获的图像中的每个图像,本配置使用姿
势传感器结合图像识别的方法,称为"动态校准"。
〈连续成像和关于成像位置的信息> 当连续捕获的照片被组合成全景照片时,图片有时不包含高频分量,因此可能无 法从图片中鉴别连续性。 上述情况下,可能无法获得指示连续帧之间的距离的信息。这种情况下,可能无法 创建完整的全景照片。 为了即使在上述情况下也提供位置信息,在使用姿势传感器14的成像操作期间,
不仅记录照片,还同时记录移动信息和位置信息。〈使用姿势传感器> 姿势传感器14由同时且并行使用的三轴角速度传感器142和三轴加速度传感器 141形成。 角速度传感器142识别照相机当前以多快速度旋转,加速度传感器141检测沿水 平方向的倾斜。 任何可能的时候,从捕获的照片获得移动信息,但是当图片的条件不允许图像识 别时,从姿势传感器14获得相对于前一图像的移动量。 通过把来自姿势传感器14的检测结果中的变化量整体与图像识别获得的移动量 进行比较并允许这两个量彼此影响,能够获得更准确的位置信息。
〈姿势传感器的问题〉 在希望的全景照片中,图像的精度高于姿势传感器14的精度。当仅从姿势传感器
14获得的信息产生位置信息时,获得的全景照片可能太粗糙而无法观看。 不应该依赖姿势传感器14的精度,而应该在完全没有获得信息时把其用作辅助。 像基于物理学的典型传感器一样,姿势传感器的输出不是稳定的,而通常是变动的。 另外,由于静止状态下的姿势传感器的零位置随着其条件而变化,必须在开始成
像之前创建静止状态并测量零位置的值。 一旦已测量出零位置的值,基于相对于零位置的
偏移来测量移动量。〈图像识别及其校正> 在本配置中,以全景摄影捕获连续的图像,并且同时记录来自姿势传感器的信息 作为元数据。 这个方法的问题在于当图像被稍后组合成全景图像时不容易使用元数据信息, 因为姿势传感器14的输出的波动太大。 为解决这个问题,通过图像识别产生的元数据在成像过程中被校正,随后被记录。
在记录元数据的过程中,指示照相机所朝向的方向的空间信息被更新并随后被保 持在内部。然而,各种因素降低空间信息的精度。 为解决这个问题,在本实施例中,执行动态校准,其中使用图像识别和姿势传感器 以实时方式校正和更新所述内部保持的空间信息。 当以全景摄影捕获连续的图像时,当照相机由电机驱动时,存在预定移动场景 (scenario),或者当手动扫描照相机时不存在移动场景。 当照相机由电机驱动的情况下存在移动场景时,预先知道大概的成像位置,但是 可能未考虑到在成像操作期间的不期望的震动和运动。姿势传感器14用于在成像操作期 间检测这种变化。 当姿势传感器14在成像操作期间检测到任何变化时,使用图像识别来精确检查 实际移动相对于预期的移动场景偏离了多少。在上述的精确检查中,使用从姿势传感器14 获得的移动量作为基准使得能够容易地执行图像识别。 如此计算了相对于预期的移动场景的偏差之后,把该偏差加到移动场景的值,并 且实际执行成像的位置的信息被记录为捕获照片的元数据。 由于当手动扫描照相机时不存在移动场景,每当捕获帧时,使用当前帧和前一帧 之间基于图像识别的比较来计算所述移动量。 这项操作中,虽然难以确定帧移动多少,但通过来自姿势传感器14的信息提供近
似的移动量并基于该近似值执行图像识别,能够精确地计算所述移动量。 当难以执行图像识别时,从姿势传感器获得的移动量被临时记录,并在稍后确定
当前帧的坐标,例如通过参照前一帧和当前帧之间的位置关系以及当前帧和下一帧之间的
位置关系。 图16是表示在使连续捕获的图像与传感器信息相关而使传感器信息更精确的方 法中,在静止状态下的传感器零位置的校正的功能框图。 在图16中,检测器51比较成像装置12捕获的相邻帧图像,并检测所述移动量。
21
静止状态检测器52基于来自角速度传感器142的检测信号、来自加速度传感器 141的检测信号和来自检测器51的检测信号,检测静止状态,并提供在静止状态下的角速 度传感器的基准值。 其后,记录器53确定该基准值,并把该基准值记录在存储器17。 图17是表示在使连续捕获的图像与传感器信息相关而使传感器信息更精确的方
法中,如何调节移动信息以使其更精确的功能框图。 在图17中,功能块54对来自角速度传感器142的检测信号设置零基准,移动积分 器55执行积分以提供所述移动量。 检测器51比较成像装置12捕获的相邻帧图像,并检测所述移动量。 移动积分器55和检测器51的输出用于在协调校正逻辑56中执行协调校正,从而
提供精确的相对移动信息。 如上所述,在第三结构中,当记录连续图像时,使图像识别技术获得的帧移动信息 与来自姿势传感器的移动信息相关,以计算每个图像像素的视角、静止状态下来自姿势传 感器的值、来自姿势传感器的值和每个像素的视角之间的关系、以及仅从上述两种类型的 信息之一无法获得的其它信息。 因此,基于图像的识别方法和基于姿势传感器的检测方法(这两种方法中的每一 种方法自己不能提供令人满意的精度)在本技术中互相配合,由此能够显著提高精度和稳 定性。 将参照图18至图21更详细描述以上第二结构和第三结构。
〈捕获的照片和摄影用户的旋转> 以全景摄影捕获图像时,捕获图像的位置变化由于视差而导致不连续性。 由于视差而导致的不连续性可能无法通过捕获图像之后执行的图像处理被校正。 因此,为了以全景摄影捕获图像,摄影用户和照相机应该保持在特定位置,并且应
该使照相机围绕该特定位置旋转来捕获照片,使得照相机的焦点被固定。 需要注意,眼睛观看两个不同的捕获照片时的移动距离与在成像操作期间的旋转
量成比例。 当每个照片是数字图像并且其尺寸能够由像素数表示时,通过计算在成像操作期 间的旋转移动距离,能够相反地确定由像素数表示的两个图像之间的移动量。这项操作中 的必要参数是视角。 视角是指示在单个照片中沿左_右方向或上_下方向显示的宽度的值,该宽度以 成像空间的角度来表示。 视角是成像操作之前测量并提供的参数,假定视角在成像操作期间保持不变。
当水平视角是30度并且捕获的数字照片的沿横向方向的像素数是1000像素时, 每像素的成像空间的角度是O. 03度。也就是说,当发现两个照片之间的移动是800像素时, 实际成像通过把照相机旋转24度来执行。
每像素的视角用作最重要的初始值。
每像素的视角=帧的视角/帧中的像素数 两个捕获的照片之间的旋转的量=像素数表示的这两个照片之间的移动量X每 像素的视角
实际的每像素的视角被预先测量并保持作为初始值。
〈角速度传感器和旋转量>
角速度传感器输出当前的角速度。 由于输出值随时间改变,能够发现角速度的改变,但是输出值不直接代表旋转量。
为了从角速度传感器获得旋转的角度,需要定义积分的单位。 角速度传感器用于以固定间隔执行测量,测量间隔被固定为主要参数。 不仅需要把任何测量的角速度相对时间求积分,还在积分期间在外部测量实际旋
转的量。被积分的角速度除以实际旋转量,以确定每度的角速度的积分。 其后,通过把角速度的积分除以每度的角速度的积分,能够按比例地确定旋转量。 实际的每度的角速度的积分被预先测量并保持作为初始值。〈动态校准> 角速度传感器的输出是相对角速度,除非使用极好的角速度传感器,否则该输出 随着环境变化而变化。由于该变化影响实际的测量,所以每次测量可能需要校正。
这里使用的动态校准是特定于全景成像的处理,并使用来自以全景摄影捕获的图 像的反馈,自动执行校正。 在角速度传感器的参数之中,两个参数,在静止状态下的零点位置和每度的角速
度的积分,随着环境变化而变化。除了这两个参数,还存在由于相对移动导致的积累积分误
差。校正上述这三个参数。〈角速度传感器的零点的校正> 图18是校正角速度传感器的零点的过程流程图。 为了校正角速度传感器142的零点,执行图18步骤ST1至ST16的处理。
除非准确地知道在静止状态下角速度传感器142的输出值,否则不能检测角速 度。然而,不利的是,在某些情况下,静止状态下的零点随着温度和其它环境因素而变化。
使用图像匹配的结果确定在成像操作期间的准确的零点,以校正零点的漂移。
当角速度传感器142激活时,预设的初始值用作角速度传感器142的零点输出值。
执行两个帧之间的图像匹配(ST1至ST3)。当因为包含高频分量而说明匹配结果 可靠、并且表示在沿X、 Y、 Z轴的方向没有移动时,角速度传感器在沿X、 Y、 Z轴的方向的输 出值被认为指示零点,随后对这些输出值采样。
这个处理中被采样作为零点的值用于校正(ST4至ST15)。 当在任何轴方向检测到任何移动时,输出值不是零点。这种情况下,不执行采样, 不进行零点校正。 采样操作之后,采样数量递增,并校正零点值。 校正包括,把当前零点值和采样值之差除以采样数,并把结果加到当前零点值。由 此计算出零点的平均值。 校正的零点值=零点值+(采样值_零点值)/采样数〈从角速度传感器获得的移动量的校正> 图19是校正从角速度传感器获得的移动量的过程流程图。 为了校正从角速度传感器获得的移动量,执行图19步骤ST21至ST26的处理。 不利的是,每度的角速度的积分(它是用于根据从角速度传感器获得的角速度的积分确定旋转角度的参数)在某些情况下随着温度和其它环境因素变化。 执行图像匹配(ST21至ST23),基于匹配结果校正并更新每度的角速度的积分
(ST24至ST26)。以这种方法,确定在成像操作期间每度的角速度的积分的准确值。 执行两个帧之间的图像匹配。当因为包含高频分量而说明匹配结果可靠时,通过
图像匹配获得的沿X、 Y、 Z轴的每个方向的移动量和相应的角速度的积分被用于确定每度
的角速度的积分。 每度的角速度的积分=角速度的积分/(每像素的视角X沿X轴的按照像素的移 动量) 校正的每度的角速度的积分=每度的角速度的积分+(采样值_每度的角速度的 积分)/采样数〈用于辅助所述角速度传感器的加速度传感器>
角速度传感器输出相对的角移动的量。 通过把所述相对值对时间积分(直到对应于当前位置的时间),计算指示当前位 置的绝对位置信息。 当相对值包含少量偏移或噪声时,所产生的偏移可能会随着积分时间增加而增 加。 加速度传感器能够检测重力加速度以提供围绕Y轴方向(垂直)的旋转和围绕Z 轴方向(滚动)的旋转的绝对值,但单位太大以致于在全景成像中无法使用。因此,在全景 成像中,加速度传感器的可用性小于角速度传感器。 然而,具有提供绝对值的优点的加速度传感器能够被用于在定期基础上比较它的
输出值与从角速度传感器获得的相对移动距离的积分,并校正该积分和绝对值。 当绝对移动量变得大到足以被加速度传感器检测时,加速度传感器检测的绝对位
置与从角速度传感器获得的相对移动距离的积分推导的绝对位置相比较,并随后根据需要
被校正。〈从图像确定的移动和从传感器确定的移动>
图20是获取移动量的方法流程图。 在获取移动量的方法中,执行图20的步骤ST31至ST35的处理。 图像匹配获得的移动量的分辨率远高于角速度传感器142的分辨率。因此,任何
可能的时候,通过图像匹配计算相对移动距离(ST33和ST34)。 不包含高频分量的图像(诸如,整个具有单个颜色的天空)无法进行任何匹配。这
种情况下,角速度传感器142的输出用于计算相对移动的量(ST33和ST35)。〈通过使用捕获的照片分配空间坐标的方法> 图21是使用捕获的照片分配空间坐标的方法流程图。 在通过使用捕获的照片分配空间坐标的方法中,执行图21的步骤ST41至ST47的 处理。 对如上所述以全景摄影捕获的所有照片,通过图像匹配和角速度传感器能够确定 相对前一帧的相对旋转量(ST41至ST43)。 为了创建全景照片,需要使用相对旋转量来分配绝对空间坐标。 由于捕获的照片具有相同的视角,通过仅考虑每个捕获空间的中心(S卩,确定照
24相机朝向的矢量),能够执行分配操作。 相对前一帧的相对旋转量也能够以照相机所朝向的方向(即,成像观察矢量)和 前一帧的矢量之间的角度来表示。 当仅使用观察矢量的简化方法执行排列时,可能不考虑围绕Z轴方向的帧的旋转 或滚动。 为解决这个问题,帧上方的、沿Y轴偏移的另一矢量被准备用于表示帧的滚动。
这两个矢量表示照相机捕获图像的方向和沿Z轴的滚动,并且即使当帧旋转时也 保持帧信息。 当位于空间中时,新的帧通常位于空间"a"中的前面位置(O,O,l.O)。 当存在任何相对旋转量时,所有先前帧沿相反方向旋转那个量,然后,新的帧位于
空间"a"中的前面位置(O,O, 1. 0) (ST44至ST46)。 不是相对前一帧的移动,而是当前帧和过去多个帧之间的移动量被用作基准。
现在假设帧A是当前捕获的帧,帧B是前一捕获的帧。
计算帧B相对于帧A旋转多少(ST43)。 当计算表明帧B的照相机位置是当前帧A的照相机沿X轴方向旋转rx、沿Y轴方
向旋转ry以及沿Z轴方向旋转rz的位置时,除了帧A以外的过去被捕获帧的所有成像方
向矢量和滚动索引矢量被旋转rx、ry、rz。 旋转矩阵可以是在三维空间中使用的典型矩阵。 沿X轴方向的旋转 x2 = x X cos (rx) _y X sin (rx) y2 = y X sin (rx) +z X cos (rx) z2 = z 沿Y轴方向的旋转 x2 = x X cos (ry) _z X sin (ry) y2 = y z2 = x X sin (ry) +z X cos (ry)
沿Z轴方向的旋转
x2 = x y2 = y X cos (rz) _z X sin (rz)
z2 = y X sin (rz) +z X cos (rz) 如上所述,旋转全部帧并把新帧定位于适当位置(该位置是前侧),使得能够从相 对旋转量转换为绝对空间坐标。 当所有转换操作最终完成时,所有帧能够具有各自适合的绝对坐标。 然而,由于最后帧被用作基准,在一些情况下所有帧可能需要相对于任意帧移动。 接下来将描述第四结构。〈第四结构〉 在第四结构中,当检测到视差或移动对象的任何影响时,显示装置18或声音产生 器20发出警告以提示用户重新捕获图像。 另外,在第四结构中,检测移动对象,使得即交叠率设置为50%或更高,从而物体的任何部分出现在至少两个相邻图像中。结果,基于相邻图像之间的运动矢量的相似性,检测视差的任何影响或移动物体。 快速摇动照相机设备10以在广角内捕获物体的多个条形图像并把它们组合成单
个图像,照相机设备io检测视差多大程度上影响邻近物体,并提示用户围绕照相机的观察
点(照相机从该点观察物体)重新捕获图像。 通常,广角照相机的观察点就位于它的透镜后面,照相机理想地被手握住并围绕用户的手腕旋转。 这样围绕照相机的观察点旋转照相机所捕获的图像能够被正确地组合,即使包含邻近物体。 本实施例的照相机设备10的优点还在于围绕从照相机的观察点稍微偏移的位
置捕获图像不太可能影响捕获的图像,因为所捕获的多个图像的任何一个具有条形。 然而,当用手握住照相机并把照相机围绕用户肩膀旋转来捕获图像时,因为照相
机围绕在照相机的观察点后面较远的位置旋转,视差极大地影响捕获的图像。 这种情况下,仅对远景成像时几乎不存在问题,但当捕获的图像包含邻近物体时
图像可能无法被正确地组合,因为相邻图像之间的邻近物体的位置关系不同于远处物体的
位置关系。 为解决这个问题,在第四结构中,当发现视差的影响不允许正确的图像组合时,发出把照相机围绕它的观察点旋转的指令,以提示用户重新捕获图像。
〈检测视差的方法〉
将描述检测视差的方法。 在时间相邻的两个图像彼此交叠的区域中执行多次块匹配(BM)操作,以确定这两个图像的运动矢量。 通常,当已正确地执行了扫描操作时,BM操作得到基本相同的矢量。 当照相机围绕肩膀旋转,并且邻近物体与远景交叠时,BM操作得到不同的矢量。 由于图像在邻近物体和远物体之间的边界变化很大,所以BM操作不会提供正确
的值。这个事实用于检测视差。 以下将示出视差检测的具体例子。 下面处理由系统控制器16中的图像信号处理器161和微计算机162以互相配合的方式执行。〈检测视差的方法〉
[粗略的组合] 照相机设备10在大约120度的范围内从左向右旋转,从而捕获几十个图像。 相邻图像共享充分大的区域(交叠区域),其中示出相同物体。 成像操作期间的照相机设备10的运动以短时间间隔由姿势传感器14检测并被记录。 由于该数据与捕获图像同步地记录,所以可以在捕获每个图像时找出照相机所朝向的方向,尽管该方向的精度不是很高。 基于如此获得的信息,图像排列在经度_纬度平面上。 这种状态下,任何一对相邻图像之间的交叠区域,具有大约100像素的大尺寸,被放置于基本上正确的位置。 精确的自动组合过程将从这种状态开始。
〈精确的自动组合〉 在每个交叠区域中的多个位置执行运动检测(ME :运动估计)。 ME或运动检测采用基于FET的仅相位相关。也可以应用特征提取和其它适合的方法。 当仅发生平移时,仅需要一次ME操作。 两次ME操作提供倾斜。 三次ME操作提供透镜失真系数。 当每个交叠区域中不存在移动对象并且由照相机对远景成像时,其中用手握住的照相机不影响捕获的图像,ME操作的次数可以很小。 然而,当存在移动对象和/或邻近对象成像(其对产生视差的影响)时,少量的ME操作将无法发现发生的情况。 因此,在每个交叠区域中执行可能的最大次数的ME操作。 当大量ME操作得到具有基本相同的值的运动矢量时,相邻图像之一能够平移并与另一图像对准。 即使当获得的运动矢量不具有基本相同的值时,顶部运动矢量的值以相同比率变
为底部运动矢量的值,相邻图像之一能够被倾斜并与另一图像对准。 然而,当任何交叠区域中的ME操作得到不同的值时,可能无法执行组合。 原因在于在存在移动物体、或同时存在邻近物体和运物体的情况下,以移动的观
察点捕获了图像。〈执行ME的方法〉 首先对收縮的图像执行粗略的ME操作。 收縮比率逐渐减小,最终对实际大小的图像执行ME操作。 改变在ME操作中使用的块尺寸和/或减小相邻块的中心之间的距离,能够获取更
详细的运动矢量。 〈ME结果的评估> 大量的ME结果被用于判断是否能够执行正确的缝合。当可能无法正确执行缝合时,把这种情况通知给用户,并提示用户重新捕获图像。 在任何可能时执行缝合,组合结果显示并记录在记录介质(存储器)中。〈移动物体的行为> 接下来将描述移动物体的行为。 在时间相邻的两个图像彼此交叠的区域中执行多次块匹配(BM)操作,以确定这两个图像的运动矢量。 所获得的矢量反映移动部分移动的方向,由此能够把移动部分与静止部分分开。
由于图像在移动对象和静止物体之间的边界变化很大,BM操作不会提供正确的值。沿横向方向执行扫描操作时,无法区分由邻近的静止物体导致的视差和沿横向方向移动的物体。 为解决这个问题,发出警告而不区分视差和移动物体。
27
当检测到该警告时,任何当前的技术毫不奇怪地不执行缝合。 因此,在本实施例中,发出警告以提示用户"只是重新捕获图像"或"改变捕获图像的方法并重新捕获图像"。 被发出的警告例子可以是"检测到视差或移动对象的影响。减小旋转的半径并重新捕获图像"。 如上所述,在第四结构中,由于在开始成像之后立即判断是否存在移动物体,所以用户能够重新捕获图像。 结果,由于在开始成像之后立即判断视差是否影响所捕获的图像,用户能够有利
地重新捕获图像。 接下来将描述第五结构。〈第五结构〉 在第五结构中,通知适当的扫描角速度(用户摇动照相机的速度),当扫描角速度太快时发出警告。以这种方法,提示用户重新捕获图像。 如上所述,微处理器162在显示装置18 (诸如,LCD屏幕)上以曲线图显示来自姿势传感器(陀螺传感器)的输出(扫描角速度),垂直轴代表输出,水平轴代表时间。
由于当设置了水平视角、水平像素数和快门速度时确定了最高的扫描角速度,如图4所示显示曲线图,即合适范围RNG为最高的扫描角速度的60%到80% 。
以下示出以上操作的示意性过程。 [1]按下操作单元19的开始按钮并旋转照相机。然后,放开开始按钮。 [2]只要开始按钮被按下,扫描角速度就显示在显示装置18的屏幕上,如图4所示。 [3]当扫描角速度慢于合适范围RNG的下限时,不会发出警告,而当扫描角速度快
于合适范围RNG的上限(即使是瞬间快于RNG的上限)时,会产生警告声音。 如上所述,在第五结构中,由于照相机通知合适的速度,所以不会存在不便之处,
例如由于扫描角速度太快而产生区域的交叠,或者由于扫描角速度太慢而仅对较窄区域成像。 将参照图22A至图22D描述扫描速度的计算例子。
〈扫描速度的计算〉 下面将描述在已确定了曝光时间、像素数、单个线读出时间、视角、交叠率、帧率和其它参数的条件下,计算模糊出现角度、模糊像素数和其它问题不会出现的扫描速度的方法。 在所确定的条件下,从下面三个方程获得的扫描速度中的最慢扫描速度是最高角速度。 图22A至图22D示出的表格显示在已给定视角、扫描速度和各种其它参数的情况
下,模糊像素数、帧率和其它参数的计算值。 列[1]至[6]表示不同条件下的结果。 以下,作为示例将在图22A至图22D的条件[1]下进行描述。 模糊出现角度ab2、模糊像素数和nb2和帧率f使用扫描速度vp、视角th、水平像素数H和交叠率k以及在图22A至图22D的表格右端示出的计算方程来确定。
ab2 = vp X (ts+n X rs) 1000
nb2 = vpX (ts+nXrs) XH/th
f = 100/(100-k) XHXvp/n/th
以上方程用于如下提供扫描速度vp :
vp = 1000 X ab2/(ts+n X rs)[deg] (1)
vp = nb2 X th/H/(ts+n X rs)[deg/sec] (2)
vp = (100-k) /100 X n X th X f/H (3) 假设模糊出现角度ab2是0. 28度、曝光时间是1 [msec]、沿较短侧的像素数n是 400像素、并且单个线读出时间rs是7. 8[ ii sec],则扫描速度是vp = 68 [deg/sec]。
假设模糊像素数nb2是19. 9像素、较长侧的视角th是50度、并且水平像素数H 是3560像素,则扫描速度是vp = 68 [deg/sec]。 假设交叠率k是20%并且帧率f是15. 13,则扫描速度是vp = 68 [deg/sec]。
因此,当上述每个方程(1)、 (2)、 (3)右侧的参数改变时,扫描速度的值由这些方 程限制。 当以高于从方程(1)获得的值vp的速度执行扫描操作时,光学手抖校正装置工作 于其极限之外。 当以高于从方程(2)获得的值vp的速度执行扫描操作时,模糊量超过容许限度。
当以高于从方程(3)获得的值vp的速度执行扫描操作时,交叠量减少,一些情况 下甚至没有交叠发生。 以上详细描述的第一至第五结构中的一个或全部能够应用于照相机设备IO,或者 能够应用第一至第五结构的任何合适的组合。 以上详细描述的方法能够根据以上过程构造为程序,并在CPU或任何其它适合的 计算机上执行。 另外,上述程序能够构造为存储在半导体存储器、磁盘、光盘、软盘(注册商标)和
任何其它适合的记录介质中,从包括任何以上记录介质的计算机访问,并随后被执行。 本申请包含与2008年10月3日提交给日本专利局的日本优先专利申请JP
2008-258114公开的主题相关的主题,该专利申请的全部内容通过引用包含于此。 本领域技术人员应该理解,在不脱离权利要求或其等同物的范围的情况下,可以
根据设计的需要和其它因素做出各种变型、组合、子组合和替换。
权利要求
一种成像设备,包括成像装置,通过光学系统捕获物体图像;图像信号处理器,具有把多个捕获图像组合成单个图像的功能,所述图像是在成像设备移动期间被捕获的;控制单元,其中图像信号处理器基于相邻图像之间的运动矢量的相似性,检测视差的任何影响或移动物体,以及控制单元在图像信号处理器检测到移动对象或视差的任何影响时发出警告,以提示重新捕获图像。
2. 权利要求1所述的成像设备,其中图像信号处理器在时间相邻的两个图像彼此交叠的区域中执行多次运动检测操 作以确定多个运动矢量,并在存在具有不同值的矢量时识别为检测到视差。
3. 权利要求1或2所述的成像设备,其中图像信号处理器在时间相邻的两个图像彼此交叠的区域中执行多次运动检测操 作以确定多个运动矢量,以及控制单元发出警告,而不区分在移动对象和静止物体之间的边界上的视差和移动物体。
4. 权利要求1至3中任一所述的成像设备,其中控制单元以固定交叠率控制捕获若干图像的操作,以所述固定交叠率,物体的任 一部分出现在至少两个相邻图像中。
5. —种成像方法,包括步骤在移动成像设备时,利用成像装置通过光学系统捕获物体图像;基于相邻图像之间的运动矢量的相似性,检测视差的任何影响或移动物体;当检测到移动对象或视差的任何影响时发出警告,以提示重新捕获图像。
6. 权利要求5所述的成像方法,其中在时间相邻的两个图像彼此交叠的区域中执行多次运动检测操作以确定多个运 动矢量,并在存在具有不同值的矢量时识别为检测到视差。
7. 权利要求5或6所述的成像方法,其中在时间相邻的两个图像彼此交叠的区域中执行多次运动检测操作以确定多个运 动矢量,以及发出警告,而不区分在移动对象和静止物体之间的边界上的视差和移动物体。
8. 权利要求5至7任一项所述的成像方法,其中以固定交叠率捕获若干图像,以所述固定交叠率,物体的任一部分出现在至少两 个相邻图像中。
9. 一种使计算机执行成像处理的程序,包括处理 在移动成像设备时,利用成像装置通过光学系统捕获物体图像; 基于相邻图像之间的运动矢量的相似性,检测视差的任何影响或移动物体; 当检测到移动对象或视差的任何影响时发出警告,以提示重新捕获图像。
全文摘要
一种成像设备、成像方法和程序。所述成像设备包括成像装置,通过光学系统捕获物体图像;图像信号处理器,具有把多个捕获的图像组合成单个图像的功能,这些图像是成像设备被移动期间捕获的;控制单元,其中图像信号处理器基于相邻图像之间的运动矢量的相似性,检测视差的任何影响或移动物体,控制单元在图像信号处理器检测到移动对象或视差的任何影响时发出警告,以提示重新捕获图像。
文档编号H04N5/232GK101715055SQ20091020444
公开日2010年5月26日 申请日期2009年9月29日 优先权日2008年10月3日
发明者山下纪之, 藤田俊史 申请人:索尼株式会社