手持式设备上的立体(3d)全景图创建的制作方法

文档序号:6362082阅读:148来源:国知局
专利名称:手持式设备上的立体(3d)全景图创建的制作方法
技术领域
本发明涉及使用便携式和/或手持式照相机、数码相机、诸如照相机电话或其他手持式设备的其他支持照相机的设备以及具有图像采集能力的基于处理器的便携式设备的立体(3D)全景成像。
背景技术
全景照片是具有非同寻常的大视场、夸大的纵横比或二者的照片。例如,水平全景照片的宽度远大于其高度,且具有相对于其垂直视角而言大的水平视角。垂直全景照片的高度可以远大于其宽度,且具有相对于水平视角而言大的垂直视角。有时也被简单称为“全景图”的全景照片或全景图像可以提供独特且有时惊人的景象视图。全景成像涉及采集扩展的水平景象图像的序列,且将这些图像组合成单个扩展图像。这使得能够使用具有有限视场(field-of-view)的普通光学系统的标准照相机捕获“全景的”、典型地是室外景象。备选方法是使用已知为具有高达170’的增强视场的鱼眼的专用光学镜头捕获景象。这种专用透镜需要对透镜元件的昂贵制造和精确机械加工。在数码相机中实施全景成像方法支持以小成本实现类似的结果。历史上,一直使用专门制备的照相机获得全景照片。一种全景照相机在移动胶卷经过透镜后面的狭窄曝光狭缝的同时,使用旋转透镜和本体跨过大视场进行掠扫。在较早的商业模型之后,这种旋转照相机(有时称为“Cirkut型”照相机)可以拍摄360度或更大视场的照片。移动镜头照相机以类似原理操作,但是相对于静止本体和胶卷旋转其透镜和曝光狭缝。移动镜头照相机可以拍摄具有略微小于180度的视场的照片。形成全景照片的另一方法可以涉及拍摄若干重叠的标准或常规照片(每个典型地具有约3:2的纵横比或其他小于全景照片中所需纵横比的值)并将它们一起接合成单个较大照片。该接合典型地使用针对组成部分照片(例如使用数码相机拍摄的照片)的数字表示的计算机操作来完成。将数字图像组合成较大照片的处理被称为“缝合”或“拼接”。原则上,可以缝合任意数目的组成部分图像,且所得的全景画可以覆盖高达360度或更大的视场。缝合可能在计算方面是敏感的。例如,执行图像缝合的软件可以在缝合组成部分图像之前,校正可能在组成部分图像中存在的失真,诸如镜头失真和透视失真。另外,找到组成部分图像之间的正确对准和颜色或色调平衡可能涉及反映图像片段之间对准的“良好度”的相关系数的多次计算。诸如视角变化或镜头渐晕之类的效果所导致的色调变化可以被校正或以其他方式调节。执行缝合所需的时间随着组成部分图像的尺寸或分辨率增加而急剧增加。
一些现代数码相机提供一种模式,该模式帮助照相机的用户拍摄组成部分照片的集合以用于稍后缝合成全景照片。例如,全景模式可以使用照相机上的显示屏幕来帮助用户设计每个组成部分照片,以用于与集合中原先的照片进行适当重叠,且可以确保针对集合中所有组成部分照片的一致曝光设置。数码相机的至少一个现有模型可以针对低分辨率“屏幕略图(screen nail) ”图像的集合执行缝合,从而使得摄影者可以检测诸如组成部分图像中的不足重叠之类的某些问题。“屏幕略图”可以包括类似于“缩略图”图像的数字图像的小低分辨率副本,且尺寸被调整以符合照相机上的显示。典型的屏幕图钉图像例如可以具有约320X240个像素。该能力在美国专利申请20060182437 (Hewlett-Packard)中描述。然而,原先的数码相机并未实时地执行高分辨率或全分辨率图像的缝合,因为在数码相机中使用的相对简单的处理器不能足以快速地执行计算敏感的缝合算法以提供满意的用户体验。原先,希望将高分辨率组成部分图像缝合成全景图的照相机用户必须将组成部分图像上载到外部计算机,并且使用计算机上执行的软件来执行缝合。该现有方法涉及使用计算机(可能包括在计算机上安装附加软件),并且使用户不能立即打印或共享全景图。最近,描述了很多在数码相机或诸如照相机手机或智能手机的手持式成像设备上直接创建全景图像的技术。作为示例,Sorek等人的 US20090022422 (Hewlett-Packard)描述了一种方法,该方法基于帧的内容组合至少第一和第二图像帧,并且基于预定对准在变换域中组合这些帧以形成合成图像。该方法采用每个图像中感兴趣的公共特征并且使用这些特征来确定两个图像之间的水平和垂直对准。图像的组合可以部分地在执行剩余偏移的图像域中且部分地在可以执行块偏移的变换域中执行。在Linder 等人的 US20090021576(三星)(也见 US20090022422)中描述了在照相
机或照相机手机内产生全景图像的另一方法。该方法使用视频流作为构建全景图像的基础,该视频流可以在很多现有技术照相机中采集。它首先采集多个视频帧,接着是从图像/视频序列选择初始帧。该方法还允许采集附加静态图像以补充原始视频流。附加视频和静态图像可以与原始图像缝合且重叠对准,和/或可以使用运动检测增强缝合处理。该方法看上去依赖于引导照相机或照相机手机的用户来移动设备以采集附加图像。注意该美国公布的专利申请还包括对相关文献的非常详细的回顾。在US20060268130中描述另一方法,该US20060268130描述了如下方法,其用于在同时处理较高分辨率图像的相应序列的同时,从景象的相对低分辨率图像序列“实时”产生全景图像、显示全景图像以供用户批准,从而使得一旦用户承认了低分辨率版本,可以获得高分辨率全景图像以进行存储。注意该技术与US20090021576的相似之处在于它使得用户能够在用户控制下实现用户修改和/或重新捕获或添加图像。两个申请均给出了用户界面的重要细节。现有技术成像设备当前能够捕获帧速率为60pfs的720p或更高的HD视频以及尺寸为3000X2000像素的静态图像。这种较大图像以及涉及对准图像以防止难看的“接缝”出现在全景图中的增加精确度的处理需求对于全景图像创建提出了新的挑战,尤其在它希望无需用户干涉的情况下、“实时”地可靠创建可接受的图像时。在手持式设备上创建立体 (3D)全景图像的希望也提出了新挑战。


图1说明根据某些实施例的数字成像设备的特征,该数字成像设备被配置成从主图像采集和处理链产生全分辨率主图像和经过子采样或经过尺寸调整的图像。图2示出用于两个图像巾贞的水平图像廓图(profile)的示例图示,包括针对两个图像帧中的每一个绘制用于每一行的列的求和,其中示出的图示基本是重叠的。图3示出在沿着图2的廓图计算差异之后的这些廓图的示例图示,其中同样示出的图示基本是重叠的。图4示出说明图2和3的两个图像帧之间的运动估算的图示。图5示出像素偏移与从视频或序列图像帧测量的水平照相机移动的帧数目之间的关系的图不。图6示出像素偏移与从视频或序列图像帧测量的垂直照相机移动的帧数目之间的关系的图不。图7A说明从在帧之间基本水平且稍微垂直移动的照相机而获得的顺序图像缝合在一起的三个图像,其中三个图像中的每一个稍微水平且基本垂直地与一个或两个相邻图
像重叠。图7B说明通过在垂直方向中剪裁图7A的缝合在一起的三个图像中的两个或更多而产生的全景图像。图8是说明根据某些实施例将参考廓图与偏移廓图的插值进行比较的图示。图9是说明根据某些实施例相对于子像素偏移的廓图之间的误差变化的图示。图10说明根据某些实施例作为处理的一部分在重叠区域上彼此相向传播的两个轮廓(contour)的演进。图11示出根据某些实施例从两个图像产生且通过处理混合的全景图像。图12说明图11示出的全景图像的产生中使用的混合遮罩(mask)。图13说明根据某些实施例的图像混合处理。图14A-14B说明通过在图像捕获之间使得数码相机移位几个厘米捕获两个图像,所述图像捕获可以用于产生三维组成部分图像且与另外的三维组成部分图像组合以产生立体全景图像。图15说明来自全景掠扫序列的图像巾贞,其示出图14A-14B的数码相机的相对水平空间位移,其中图像对被合并以形成立体全景图像。图16A-16B说明在全景掠扫半径和将被合并以形成立体全景图像的图像对的捕获之间数码相机位移的远远更短的距离之间的关系。图17说明使用来自各个关键帧的左和右剪裁产生立体(3D)全景图像的技术。
具体实施例方式提供用于产生立体(3D)全景图像的方法。将曝光水平固定以用于使用便携式成像设备采集图像的全景掠扫序列。成像设备对景象进行摇摄(panning)。使用便携式成像设备的光学和成像传感器,采集景象部分的多个至少部分重叠的图像帧。对图像帧进行配准,包括确定在图像帧的采集之间成像设备的位移。产生多个全景图像,包括根据空间关系接合景象的图像帧以及确定多个全景图像之间的立体对应部分关系。基于立体对应部分关系处理多个全景图像以形成立体全景图像。立体全景图像被存储、传送和/或显示。位移的确定可以涉及测量位移。位移可以包括在一个、两个或三个维度(包括正交于深度维度的一个或两个维度以及深度维度本身)中的位移。立体对应部分关系的确定可以涉及使得具有第一预定范围(配置成提供选择的立体效果)内的相对位移的图像帧成对;组合成对的图像帧,以形成组成部分立体图像;以及保留在第二预定范围内与相邻成对图像帧重叠的成对图像帧。第一预定范围可以是5-7.5cm。部分重叠可以介于10%至50%的重叠之间。该方法还包括将成对图像帧的接合与下一图像帧的采集或产生或二者交错。第一预定范围可以被限制为15%或小于成像设备的摇摄半径。根据某些实施例,在数字成像设备跨过全景景象的单次掠扫期间,捕获多个重叠图像的单个集合。在这种掠扫期间,确定这些多个图像中的每一个之间的帧至帧像素位移。这些可能涉及通过预定校准的照相机的实际物理位移;在一些实施例中,照相机可以合入运动检测子系统,该运动检测子系统可以用作用于测量帧至帧像素位移的备选。来自这种掠扫的初始图像可以用作关键帧或基础图像。可以通过将附加图像接合到该基础图像来创建掠扫景象的第一全景图像。然后,确定从第一关键帧图像具有相对物理位移的第二关键帧图像。在一个实施例中,位移可以处于5-7.5cm的范围内,这是人眼之间的距离的量级,不过其他距离也足以提供立体效果。下面参考图14A-17描述涉及不同位移距离的实施例。可以从相对帧至帧像素位移,或如果它并入了运动感测子系统则通过确定照相机相对运动,或通过其某种组合,来确定相对物理位移。也可以确定和记录该第二基础图像相对于第一基础图像的垂直像素位移。这是需要的,以便在手持式设备中垂直对准第二全景图像和第一全景图像。可以创建相同掠扫景象的第二位移的全景图像。两个全景图像垂直对准且被剪裁以消除非重叠区域。它们然后可以转换成标准立体图像格式,且可以可选地被压缩。所得的立体全景图像被存储、传送和/或显示。此处提供了使用便携式成像设备采集全景图像的其他方法。在一个方法中,固定曝光水平,以便使用便携式成像设备采集全景图像。成像设备跨过全景景象进行摇摄。对全景景象的重叠部分的至少两个相对低分辨率图像帧进行采集和处理。处理包括对相对低分辨率图像帧的集合进行分类和保留。确定相对低分辨率图像帧的集合中的每个图像之间的相对位移。还确定相对低分辨率图像帧的每对图像之间的近似最佳缝合线。该方法还包括采集且存储对应于相对低分辨率图帧的集合的主图像帧的集合。基于相对低分辨率图像的集合的相应图像的相对位移,对主图像帧进行配准或对准或二者。针对低分辨率图像对确定的一个或多个近似最佳缝合线被映射到被接合以形成主全景图像的配准和/或对准的一个或多个相应主图像帧对。近似最佳缝合线的确定可以包括确定在近似最佳缝合线附近的alpha混合图。近似最佳缝合线到高分辨率图像的映射还可以包括对混合图进行映射,其中高分辨率图像的接合包括基于alpha混合图的映射混合图像。接合可以包括混合主图像帧的集合,包括将用于一系列相对低分辨率图像帧映射到主系列图像帧的alpha混合图。被接合以形成全景图像的组成部分图像帧中的一个或多个可以被剪裁。可以采集景象的组成部分的两个、三个或更多低分辨率图像帧的集合。当连续图像之间的水平重叠落在预定范围之外时,可以告知用户和/或丢弃图像。该方法还包括针对相对低分辨率图像执行子像素图像配准以防止相对低分辨率序列到主序列的alpha混合图的映射中的像素偏移。主序列的数字图像对的接合可以与相对低分辨率图像的子像素配准交错和/或与相对低分辨率图像的相应对的采集和/或产生和/或接合交错。使用便携式成像设备产生全景图像的另一方法包括固定针对使用便携式成像设备采集全景图像的曝光水平以及使成像设备跨过全景景象进行摇摄。使用便携式成像设备的光学装置和成像传感器,采集和处理所述全景图像的重叠部分的至少两个图像帧的集合。处理包括分类以及保留包括一个或多个重叠图像帧对的图像帧的集合。确定重叠图像帧集合中的每一个之间的相对距离,包括确定用于每个图像对的重叠区域。基于相对位移来对集合的图像进行配准和/或对准。针对每对重叠图像帧确定alpha混合图和/或最佳缝合线。一对或多个对图像帧被接合以形成被存储、传送和/或显示的全景图像。相对位移的确定可以包括确定重叠图像帧的集合的图像对之间的相对水平位移。图像列中的像素值可以跨过第一和第二图像中的每一个进行求和,以确定用于每个图像的水平图像廓图。可以确定跨过图像中每一个的列差异廓图。可以根据图像列差异廓图确定图像对之间的相对误差函数。相对误差函数的最小值指示图像对之间的水平位移的像素列的相对数目。相对位移的确定还可以包括确定重叠图像帧的集合的图像对之间的相对垂直位移。图像行中的像素值可以跨过第一图像和第二图像中的每一个进行求和,以确定用于每个图像的垂直图像廓图。可以确定跨过图像中的每一个的行差异廓图。可以根据图像行差异廓图,确定图像对之间的相对误差函数。相对误差函数的最小值指示图像对之间的垂直位移的像素行的相对数目。在计算图像对之间的相对误差函数之前,可以将平滑函数应用于每个图像的列和/或行差异廓图。使用alpha混合图或最佳缝合线或二者执行接合。接合可以基于确定近似最佳缝合线和alpha混合图。近似最佳缝合线可以包括图像对的重叠像素之间约50%的混合比,且该图可以从近似最佳缝合线附近的图像对中,提供用于重叠像素的混合比。该方法还可以包括使图像帧对的接合与下一图像帧的采集和/或产生交错。全景图像也可以被剪裁成均匀的垂直高度。提供使用包括光学装置、图像传感器和处理器的便携式成像设备产生全景图像的超分辨率方法。针对使用便携式成像设备获取全景图像,曝光水平是固定的。成像设备摇摄全景景象。采集或处理图像的两个或更多集合,每个集合包括全景景象的部分的至少两个图像帧。该方法包括分类且保留两个或更多集合的多个图像。确定图像帧的两个或更多集合中的每一个内的每个相邻帧对之间的相对位移。该方法还包括彼此在图像集合中的每一个内配准的图像。所述两个或更多集合中的每一个被接合以形成两个或更多基本重叠的全景图像。这些图像被组合以形成基本相同景象的较高分辨率图像,该较高分辨率全景图像被存储、传送和/或显示。两个或更多基本重叠全景图像的组合可以包括应用超分辨率技术。较高分辨率图像的剪裁可以包括从一个或多个组成部分全景图像中移除一个或多个非重叠区域。该方法还可以包括确定在图像帧的两个或更多集合中每一个的第一或其他相应获取帧之间的相对位移。可以对从两个或更多集合中的每一个的图像得出的组合全景图像进行配准。该方法可以包括使得图像帧对的接合与下一图像帧的采集和/或产生交错。提供产生全景图像的另一方法,该方法包括使得被配置成用于采集数字图像的基于处理器的设备跨过景象进行摇摄。在摇摄期间,使用该设备采集多个主序列图像。多个图像中的每一个包括全景景象的不同角度范围。同样,在摇摄期间,采集对应于多个主序列图像的相对低分辨率图像,和/或对主序列图像进行子采样,以产生相对低分辨率图像。相对低分辨率图像被接合,以形成将被显示的低分辨率全景图。基于相对低分辨率图像的接合在设备上实时合成多个主序列图像,以形成主序列全景图像。接合可以包括缝合和/或匹配曝光、颜色平衡或亮度或其组合;对准和/或配准图像的边缘区域以及混合匹配的对准图像。混合可以包括模糊在全景图像的相邻组成部分图像之间产生的接缝线。针对使用便携式成像设备采集全景图像,可以固定曝光水平。接合可以包括对准和/或配准图像的边缘区域以及混合匹配的对准图像。混合可以包括模糊在全景图像的相邻组成部分图像之间产生的接缝线。合成可以包括估算摇摄的全局运动以及确定全局运动是否足够。 合成可以包括估算相对景象位移且确定相对景象位移是否足够。该方法包括在确定相对景象位移不足时,告知用户、丢弃图像中的一个或多个个、和/或中断该方法。当帧至帧重叠包括介于10%至40%或介于20%至30%的范围时,可以确定相对景象位移充足,或者如果帧至帧重叠处于诸如10-40%、20-30%的预定范围之外,则确定相对景象位移不足。估算相对位移可以包括用于多个图像对的多维运动估算。该方法可以在使用或不使用用户干涉以及使用或不使用设备运动测量的条件下执行。全景图像可以在存储之前被压缩。相对低分辨率图像的接合可以包括产生alpha混合图,且alpha混合图可以用在主序列图像的接合中。提供用于产生全景图像的另一方法。该方法涉及使用基于处理器的图像采集设备,该设备被配置成用于采集全景景象的主序列数字图象,且产生和/或采集对应于主序列的相对低分辨率图像的序列。该设备摇摄全景景象。在摇摄期间,使用设备来采集数字图像的主序列。数字图像的主序列中的每一个包括不同角度范围的全景景象。基本对应于与主序列的数字图像基本相同的全景景象的相对低分辨率图像的序列被采集和/或产生。相对低分辨率图像的序列的图像被接合以形成相对低分辨率全景图像。产生相对低分辨率图像的序列的接合图。数字图像的主序列基于该图接合以形成主全景图像,该主全景图像被显示、存储、进一步处理和/或传送。该方法还包括在摇摄期间估算相对景象位移。全景景象的部分可以在摇摄期间,至少部分地基于相对景象位移的估算来选择性地捕获。该方法可以包括在确定相对景象位移不足(例如,当确定帧至帧重叠处于10%和40%或20%至30%之间的范围或其他设置或选择范围之外)时,告知用户、丢弃图像中的一个或多个、和/或中断该方法。估算相对景象位移可以涉及针对多个图像对的多维位移估算。可以基于相对景象位移的估算确定序列中连续图像之间的水平(长全景图像维度)和垂直偏移。如果序列的图像小于来自序列的原先图像的阈值水平偏移,它可以被丢弃。当设备的摇摄不超过阈值运动时,可以告知用户。当垂直偏移超过使用系列的另一图像的阈值偏移时,可以告知用户和/或可以丢弃序列的图像。主序列和相对低分辨率图像的接合可以包括缝合。缝合可以涉及对准和/或配准图像的边缘区域,以及混合匹配的对准图像。针对使用便携式成像设备获取全景图像,曝光水平可能是第一位的,和/或接合可以涉及匹配曝光、颜色平衡和/或亮度。混合可以包括模糊在全景图像的相邻组成部分图像之间产生的接缝线。该图可以包括alpha混合图,该alpha混合图包括从相对低分辨率图像的接合确定的近似最佳缝合接缝的信息。主序列的接合可以包括用于低分辨率序列到主序列的alpha混合图的映射。该方法可以涉及相对低分辨率图像的子像素图像配准,以防止在低分辨率序列到主序列的alpha混合图的映射期间出现像素偏移。相对低分辨率图像序列和/或主序列的接合可以部分地基于相对景象位移的估算。还提供了能够在照相机内产生全景图像的支持便携式照相机的设备,该设备包括镜头、图像传感器、处理器和其中具有嵌入的代码的处理器可读介质,所述代码用于对处理器进行编程以执行此处描述的全景图像产生方法中的任意一个。还提供了其中具有嵌入的代码的处理器可读存储介质,所述代码用于对处理器进行编程以执行此处描述的全景图像产生方法其中任意一个。提出在能够捕获HD视频或高分辨率静态图像的数字成像设备内产生高分辨率全景图像的方法。该方法无需用户干涉或无需成像设备的运动的外部检测的条件下执行。而且,“实时地”且考虑这种设备上有限的存储器资源(一般一次可以存储少量高分辨率视频帧或静态图像)的情况下,来执行所述方法。该方法涉及用户以自然速度使设备跨过希望捕获全景图像的景象进行摇摄。当用户摇摄场景时,该设备以它捕获正常视频序列时相同的方式来显示景象。该方法涉及比主高分辨率视频或静止图像更低分辨率的图像序列的捕获或产生。支持照相机的设备可以合并产生“预览流”、低分辨率图像序列的硬件,其典型地用于提供由成像传感器捕获的数据的实时显示。当这种预览流不可用时,设备仍可以具有“图像子采样单元”,该单元可以几乎立即产生全图像或视频帧的较低分辨率版本。图1说明配置成捕获全分辨率主图像且从主图像采集和处理链产生子采样(经过尺寸调节)图像的数字成像设备。传感器102捕获全分辨率图像,且图像数据被应用于传感器处理104和成像管道106。图像子采样器108例如通过仅选择全分辨率图像数据中整体像素的一部分I/η或以其他方式提供子采样图像,从全分辨率图像数据产生子采样图像,例如其中子采样图像的每个像素表示高分辨率图像中的η个像素。在110,高分辨率图像可以是压缩的JPEG。压缩的全尺寸图像111可以与子采样图像114 一起存储在存储器112中,该存储器112可以是临时图像存储器112。通过接合子采样图像114中的两个或更多个,低分辨率全景图像116可以被产生,且临时存储在图像存储112中。低分辨率全景图像116可以被显示或不被显示。图像后处理器118基于在低分辨率全景图像116的产生中收集的信息,产生高分辨率图像120,由此有利地节省计算资源。高分辨率全景图像120可以与全尺寸图像111 一起存储在诸如SD卡或等同物之类的图像存储122中。可以根据另一实施如下处理低分辨率图像(或低分辨率图像)。首先,可以获得初始低分辨率图像或视频帧,且将其用作第一参考帧。相应的高分辨率图像被存储。接下来,在某些实施例中获得附加的低分辨率图像,且诸如在美国公布的专利申请2008/0309769中所描述,可以在参考帧和每个附加图像帧之间应用全局运动估算的可选方法,以确定其水平和垂直偏移。如果水平偏移小于预定范围,则可以与相应高分辨率图像将一起低分辨率帧丢弃。在某些实施例(例如静态照相机)中,相应高分辨率图像的采集可能仍未完成。在这种情况中,高分辨率图像捕获可以简单地被丢弃且可以启动新的采集。当在某一时帧内没有实现足够的水平运动时,处理可以暂停和/或可以显示错误消息,诸如“用户未使照相机摇摄”。备选地,警告哔哔声可以向用户指示更快速摇摄。在垂直偏移超过预定阈值时,可以提供错误指示以警告用户他们正在“漂移”。在某些实施例中,在用户在全景处理中以合理速度使设备跨过景象摇摄时,不涉及用户方向。—旦已经实现了预定水平偏移,例如,在一个实施例中,帧至帧重叠例如可以设置在10-30%和20-40%之间或20%和30%之间,则保留该帧且存储相应的高分辨率图像。该保留帧变成下一参考帧,且重复该处理。在基于用户选择、预定限制或由于设备存储器的限制确定足够数目的重叠帧之后,暂停采集处理。接下来,使用尤其对于低分辨率嵌入设备有效的方法来“接合”低分辨率图像。所得的低分辨率图像然后被剪裁,且可选地可以被显示以供用户接受。在形成低分辨率全景图的低分辨率图像接合处理结束时,可以创建用于全景图中低分辨率或参考图像帧的相邻对之间的重叠区域接合的alpha混合图。该相同图然后可以有利地用于接合相应的高分辨率图像,以创建高分辨率全景图。该alpha混合图的使用意味着接合算法不必针对高分辨率图像进行重复(这将是资源敏感的),因为已经从低分辨率图像的接合有利地确定了每个图像对之间的“最佳接缝”。在某些实施例中还提供针对低分辨率图像执行子像素图像配准的方法,以确保当从低分辨率向高分辨率图像对映射alpha混合图时不发生像素偏移。该高分辨率全景图像然后被压缩成JPEG且被存储。在某些实施例中,低分辨率对的接合与新低分辨率图像帧的采集交错。在其他实施例中,当在图像采集链内提供足够的硬件支持时,高分辨率图像部分的接合和JPEG压缩可以与低分辨率图像的获取、配准和接合交错。图像缝合根据某些实施例中,当应用于全景图像的产生时,图像缝合可以涉及以下步骤中的任意一个或全部:1.图像校准,包括透视校正、渐晕校正和/或色差校正,其中可以在该可选阶段处
理图像以改善结果。2.图像配准,包括用于平移、旋转和/或焦距的分析,其中可以使用直接的或基于特征的图像对准方法。直接对准方法可以搜索最小化重叠像素之间的绝对差异的求和的图像取向。基于特征的方法通过识别在多个图像中出现的特征且重叠它们来确定适当的图像取向。3.图像混合或以其他方式组合分段可以涉及以下任意一个或全部:颜色校正,包括针对颜色、对比度和/或亮度匹配组成部分图像的接合区域,以避免接缝的可见性;动态范围扩展;和/或运动补偿、去重影和/或去模糊,以补偿移动对象。根据某些实施例的技术不涉及步骤1,而是在采集将被处理成全景图像的图像序列之前固定照相机曝光。另外,在某些实施例中,图像配准可以涉及基于图像行和图像列的全局图像分析,来确定图像的相对位移,而不是基于可能涉及针对每个相邻图像的像素进行计算的本地化逐个像素分析。在步骤3中,在涉及在单个操作中确定alpha混合图和/或图像接缝的实施例中,可以消除局部对比度和/或亮度水平的颜色校正和/或分析。有利地,根据某些实施例的技术可以在无需常规图像缝合算法中使用的某些标准步骤的条件下执行,和/或同时简化某些步骤,以提供尤其适于可以具有相对低的系统存储器和/或计算资源的嵌入式技术系统中实施的方法。这样,根据某些实施例的“缝合”技术可以被称为“接合”,因为它与常规缝合算法极大地不同。自动全景成像为了创建需要很少用户输入或无需用户输入的自动全景图像,根据某些实施例可以采用以下步骤。首先,为了确保可以组合所有采集的图像而无需明显的帧间颜色或色调调节,在采集需要处理的图像的主集合之前,针对成像设备固定曝光水平。该水平可以简单地固定在适于采集全景序列的初始帧的水平。在其他实施例中,可以允许用户手动增加或减小曝光水平。在备选实施例中,可以提示用户执行全局景象的预扫描,使得可以确定整个景象上的平均曝光水平。该“预扫描”可以涉及在主采集掠扫之前跨过全景景象掠扫照相机手机。根据某些实施例,全景图创建的第二阶段涉及用户使设备以自然速度跨过希望捕获全景图像的景象进行掠扫或摇摄。该设备可以可选地在用户掠扫景象时以与捕获正常水平序列或组合静态图像时相同的方式实时地显示景象。在掠扫或摇摄的结束时,采集处理可以以很多方式其中任意一种终止:通过检测(i)在随后的图像帧(用户保持照相机在固定位置)之间没有变化(或低于阈值的变化);(ii)后续图像帧(用户非常快速地将照相机移动到不同视场)之间没有相似性(或相似性低于阈值)照相机的突然运动(对于装配有运动传感器的照相机);(iv)开关按下或“无反应(deadman) ”开关释放;(V)时间间隔的消逝;(vi)采集的主图像帧的阈值数目或设备的存储器容量的饱和;或上述事件的各种组合。在全景掠扫期间照相机手机采集图像的同时,可以连续地处理这些图像,使得可以实时采集全景图像。根据某些实施例,在该处理期间,很多采集的图像可以在分类处理中丢弃,而与最终全景图相关的图像被保留。再者,这些图像可以实时地配准。可以对配准的图像执行混合操作。在某些实施例中,可以针对主采集图像或视频帧的子采样版本执行分类、配准和初始混合。分类处理可以使得相应的主图像帧能够被保留或立即丢弃,使得在全景掠扫期间存储少量全尺寸图像。配置和混合处理可以实现将在采集图像时确定的低分辨率图像之间的最佳“接缝线”。只要全景掠扫终止,则可以使用来自相应低分辨率或预览图像的配准和最佳接缝信息,将保留的全分辨率图像可以无延时接合在一起。所得的高分辨率全景图像然后可以被压缩成JPEG格式且被存储。在某些实施例中,低分辨率对的接合与新的低分辨率帧的采集交错。在其他实施例中,当在图像采集链内提供足够的硬件支持时,高分辨率图像的部分的接合和/或JPEG压缩的一个或更多片段还可以与低分辨率图像的采集、分类、配准和/或混合交错。图像配准在某些实施例中,确定一个图像帧相对于下一个图像帧的x&y像素位移。该位移信息然后可以用于选择将在全景图像的创建中使用的图像帧。在本上下文中,可以使用在US20060171464和US20080309769描述的实施例。描述了使用图像处理技术的视频稳定化的方法。根据某些实施例的技术涉及估算图像帧的一个或更多对(或序列)的帧间水平和垂直位移。该图像帧位移信息可以用于选择将与原先图像帧重叠所需数目像素的图像帧。在某些实施例中,它备选地可以用于引导照相机采集(或完全采集)新的全分辨率图像。下面给出对帧间位移测量的更深度的描述。在这种说明书中,第二图像帧(图像2)与第一图像帧(图像I)进行比较以确定帧间X、Y位移。为了测量X方向中(水平)的位移,图像I和图像2中的列被求和,其处理解释如下。在示例性实施例中,图像1&2的廓图被求和,且然后使用长度15的运行平均核来进行平滑。该长度可以是可变的,例如使得长度可以增加以进一步平滑廓图。根据该示例性实施例,沿着列对图像像素值求和,且来自列的求和形成此处可以被称为廓图的矢量。为简单起见,在RGB图像的情况中仅使用G通道,且在YUV图像的情况中仅使用Y通道。在这种情况中,可以使用包括关于图像细节的足够信息的任意颜色通道。使用长度适应于图像尺寸和噪声量的卷积核对来自两个配准图像的廓图进行平滑以及求差值。在某些实施例中,长度是可变的且可以增加或减少。这具有过滤小特征和噪声的效果。以这种方式,运动估算基于运动序列中的强边缘。这还意味着X、Y位移的估算对于曝光中的变化更鲁棒。该估算方法针对在曝光水平、噪声水平和分辨率方面变化的宽范围图像景象极其适用。水平(X)位移估算对所有列求和,而垂直(Y)位移估算沿着图像行进行求和。此后,运动估算的处理是相同的,因此下面仅概括用于水平位移的细节。最初地,针对图像I和2求和每一行的所有列。这用于从位移估算创建图像廓图。%对图像求和horl = sum(iml) ; %沿着列的对图像求和以创建水平廓图hor2 = sum(im2);MATLAB中上面的处理等价于下面的等式,horl = y = Iy = niml (x, y)
其中η是行数。这创建了如下图2中所示作为列的求和值的水平图像廓图与行数目的关系的图示。图2说明当列被求和时且在计算差异之后的图像廓图。下一步骤是对廓图求差值且平滑。这具有使得位移估算对于图像之间的强度差异不变的效果。Profile Differences (廓图差异)horl = diff(horl) ; %获得沿着用于的廓图差异)hor2 = diff (hor2);这等于下面的等式,horli = x1-xi+1 for i = l:m_l,其中m是行数。图3说明计算差异之后的图像廓图。图3示出作为列的求和值的水平图像廓图与行数的关系的图示。然后使用下面的MATLAB代码对廓图进行平滑以减小噪声影响。在MATLAB中,使用等价于下面示出的运行平均过滤器的卷积函数,xi = xii_15ixi%具有长度15的核的平滑廓图一注意,该长度是可变的%根据廓图的噪声/平滑度kernel = 15 ; %设置运行平均核的长度avg = ones (I, kernel)./kernel ; %运行平均核horl = conv(horl, avg) ; %使用运行平均核的平滑廓图horl = horl (kernel/2:end-kernel/2) ; %通过由核创建的剪裁廓图结尾)hor2 = conv (hor2, avg);hor2 = hor2(kernel/2:end-kernel/2);wI = length (horl) ; %水平廓图的长度herr = zeros (I, 2*radius+l) ; % (初始化herr,以计算水平廓图的均方误差)然后使一个图像廓图相对于另一个偏移I个像素偏移。在每个偏移,计算绝对差异的求和以发现最小化这些差异的偏移。herr(i+radius+l-1mx) = sum(abs(horl_hor2))/wl这等同于下面的等式,herri = i_30i+30hor l~hor2(i)wl上面的操作的结果是误差函数的图示,从该误差函数我们发现在水平方向中提供图像I和图像2之间的帧至帧位移量的最小值的位置。对于图4中的示例,测量的位移是-1个像素。图4说明通过绘制使廓图偏移而发现的绝对差异的求和与像素偏移的关系的运动估算。图4说明在计算差异之后的图像廓图。图4中最小值的位置指示廓图之间的位移。如前所述针对垂直位移估算实施相同的处理。如上所述,针对全局值且针对4个子区域计算X和y运动估算二者。下面描述用于过滤由于景象内的主题运动导致的误差的方法。在该部分中,不存在用于仅仅描述逻辑操作的计算。图5中示出的图示说明沿着水平方向(图像帧数目)的像素中的累积X偏移。图5说明示出作为像素偏移的照相机总水平移动与帧数目的关系的累积图示。针对垂直位移重复相同处理。图6中示出相对于第一图像帧的垂直位移的示例。图6说明示出作为像素偏移的照相机总垂直移动与帧数目的关系的累积图示。US 20080309769中描述的原始位移估算算法被设计为跟踪相对于第一帧而不是帧到帧的xy偏移。为了扩展该位移测量技术以还提供针对其保留图像的分类机制,我们保留来自所有早先图像的位移信息且使用它们来调节用于后续图像的搜索区域。因而来自帧I和2的信息用于调节用于图像I和3的搜索区域。这一直执行直到从图像I到图像1+n的总X偏移超过给定像素数目。此时,图像1+n变成新参考帧且后续偏移相对于它配准。所有中间帧2、3...η可以被丢弃,且仅帧I和1+n被保留。该处理重复直到某一事件终止全景采集处理。用于分类处理的位移值被选择以确保在需要接合在一起的图像之间存在足够的重叠。它也可以变化以考虑图像帧上的镜头或光学失真。因而,在存在足够的边缘失真时,在图像帧之间可能需要更大的重叠。作为示例,对于低失真透镜和480X640的低分辨率视频帧,水平方向中140个像素的重叠可能是适当的;对于高失真透镜,可能需要250+个像素的重叠。在后一种情况中,图像的后续混合不能使用全图像帧——因为太失真而不能在混合处理中使用,在每个图像的每个结尾丢去弃高达25% (150个像素)。这种处理针对视频帧的完整序列被重复。结果是可以读取序列中任意图像帧的X和y偏移。这然后允许选择图像以创建全景图像。然后选择相对彼此具有例如500个像素的像素偏移的图像。然后使用X方向中500个像素的像素偏移以及计算的y偏移,将图像2接合到图像I。该过程重复以将多个连续图像接合在一起。图7A和图7B的图像是使用全局运动估算算法与测量的x&y位移配准的三个图像帧的示例。对于该全景图像,选择具有620个像素的水平位移的帧。图7A说明根据某些实施例,从通过算法选择的视频帧产生且与计算的x&y偏移对准的全景图像。图7B说明图7A的全景图像的剪裁版本。具有子像素精确度的图像配准根据某些实施例的图像配准方法可以计算至少具有一个像素精确度的水平和垂直位移。当希望从低分辨率图像伸缩为全分辨率图像时,该算法配置成防止在使用卷积算法时否则会跨过接缝线的部分出现的明显误差。例如,在QVGA分辨率的一个像素配准误差可以转换成720p HD分辨率的6个像素的误差。为了处理该问题,根据某些实施例,图像配准方法被扩展,以计算使具有子像素精确度(即分数精度)的图像位移。基于廓图的样条过采样的估算,可以用于以高像素精确度对准图像。算法的基础可以是Catmul1-Rom样条(A =-0.5的立方样条)。为了保持良好的性能水平,廓图可以初始地对准于一个像素精确度。过采样步骤可以用于使用预定子像素步长发现±I个像素范围内的位移。当前实施方式可以假设1/256个像素的最小步长。归功于该样条函数,系数可以被预计算且存储在具有256个元素的查找表中。在子采样对准中,可以将最小步长值作为单位。在一些实施例中,为了实现1/4个像素的精确性,其对于低分辨率图像的最实际放大可能足够的,用于估算的步长尺寸可以设置为64。第二廓图使用台阶增量左、右偏移,且使用样条插值计算样本间的值。因为偏移针对所有廓图样本是均匀的,它可以涉及尽可能少的单组系数,以处理所有样本。图8说明步
骤之一。图1示出在示例性实施例中比较廓图1和廓图2的插值的图示。使用方块标记的插值,且使用圆圈标记的参考值被用于针对给定偏移计算误差的求和。产生至少误差求和的偏移以固定点格式返回8位小数值。下一图片显示误差与偏移图示的示例。图2说明根据某些实施例误差度量值与子像素偏移的关系。误差函数在考虑的范围内是平滑的,且不具有确保发现正确小数偏移的局部最小值。源于HD视频的全景图——照相机内实施方式在从HD视频帧创建全景图的情况中,上述图像配准处理太耗时且耗费存储器而不能允许实时照相机内实现。在该情况中,在示例中说明根据某些实施例的技术,如下:1.HD帧被下采样为QVGA ;2.第一 QVGA帧被认为是参考帧; 3.根据某些实施例QVGA帧与参考帧配准;4.当达到帧之间某一数量的重叠时,根据某些实施例,当前帧和参考帧被接合或缝合在一起。在接合处理的结尾,可以通过沿着接缝线应用模糊核创建alpha混合图;5.alpha混合图可以被上采样为HD帧分辨率;6.使用在步骤5产生的图将HD帧混合在一起;7.当前帧变成参考帧,步骤3-7重复,直到已经达到某一帧数目。下面的部分说明算法的某些有利组成部分。图像接合算法该算法的目的是发现两个重叠图像之间的最佳接缝位置,使得图像可以合并以创建全景图。接缝必须经过如下区域,在该区域中,这两个图像之间的差异是最小值以便不产生明显切口。一般思想是使两个轮廓在重叠区域的相对边开始,这两个轮廓将以依赖于重叠图像之间的局部差异的速度彼此相向移动。轮廓跨过图像以某一弹性水平地传播,使得某些像素可以更快地移动,不过如果相邻像素具有较低的速率,它们被阻止。该思想是像素快速地通过重叠图像之间存在较大差异的区域移动,且在图像之间存在小或可忽略差异的区域减速。这样,水平相向传播的两个轮廓在两个图像之间的近似最佳或近最佳接缝处相遇。—旦轮廓遇到像素,它们就被分配给与轮廓相关的相关图像。因而,从左向右传播的轮廓将把像素和左手图像关联。从右向左移动的轮廓将把像素与重叠图像对的右手图像关联。在重叠区域中不存在更多未分配像素时,该处理停止。两个重叠组成部分图像被认为在水平方向或全景图的长方向中或摇摄的方向中重叠。所以,存在仅属于左手(LH)图像的区域和仅属于右手(RH)图像的区域。则存在重叠区域,其中像素可以从LH图像或RH图像或基于其的一些组合或计算选择。每个轮廓在该重叠区域的LH或RH边界开始。LH边界完全属于LH图像,同时该技术涉及沿着图像的像素行向右移动该边界以及同时向左移动RH边界。
每个边界移动的(相对)速度通过重叠LH和RM图像像素之间的(相对)差异确定。在RH和LH像素之间存在极少差异时,轮廓更缓慢地移动,因为这是具有图像接缝而不是更快速移动片段的更好位置。在存在大差异时,轮廓更快地移动,因为接缝不应出现在RH和LH图像像素之间的高差异区域中。在某些实施例中,在重叠区域中,可以从LH或RH图像选择像素。还注意此处“速度”在重叠区域内的轮廓片段之间是相对的。现在,因为像素差异中的变化,某些行中的轮廓像素将比其上面(或下面)的行更快地传播。在某些实施例中,行向右(针对LH轮廓)或向左(针对RH轮廓)传播的速度也部分地通过其相邻行限制。在这些实施例中,轮廓被称为是“弹性”的。因而,在一行将基于RH和LH图像之间的大差异非常快速地移动时,因为上面(或下面)的行以明显更低的速度移动,它可以减速,且反之亦然。现在当LH轮廓向右传播时,该传播“边界线”(或“状态线”)之后(或其左边)的像素100%取自LH图像,而RH轮廓右边的类似像素取自RH图像。最终,这两个“状态线”将开始在某些点相遇,且当它们“碰撞”时它们简单地在相遇点停止传播。最终,这两个轮廓将跨过重叠区域的所有行相遇且确定通过重叠区域的最终接缝线。备选实施例可以使用涉及在一个方向中传播轮廓(轮廓不能返回)的技术,这类似于Sethian等人在A Fast Marching Level Set Method for Monotonically AdvancingFronts,Proceedings from the National Academy of Sciences,submitted October 20,1995中描述的技术。在某些实施例中,可以使用类似于Dijkstra算法的方法,该算法例如在Dijkstra, E.W.(1959) " A note on two problems in connexion with graphs ".Numcrischc Mathcmatik 1:269-271, http://www-m3.ma.rum.de/twikL/pub/MN0506,/WebHome/dijkstra.pdf,和 / 或 Sniedovich,M.(2006)." Dijkstra ' s algorithmrevisited:the dynamic programming connexion " (PDF).Journal of Control andCybernetics 35(3):599-620, http://matwbn.1cm.cdu.pL/ksiazki/cc/cc35/cc3536.pdf中提及。可以通过对求解不同等式获得的值进行分类管理轮廓演进。它是PC上相对快的算法,但是涉及重复分类(在每个轮廓更新I个像素)和动态数据结构。这样,尤其涉及嵌入式平台的某些实施例不使用Dijkstra方法。在某些实施例中,FIFO队列用于执行且实现有利技术,既使不使用存储器分配。图10说明将在全景图中使用的相邻图像之间的重叠区域上彼此相向传播的两个轮廓。轮廓的传播可以通过包括256个优先FIFO桶的集合的队列控制。255号桶编有最高优先权,而O号桶具有最低优先权。只要重叠区域的新点被添加到队列,它变成等于重叠图像之间的加权差异的桶编号。差异处于O至255的范围。在某些实施例中,如果点将从队列被移除,则将它从最高权限非空桶中去除。添加到队列中的每个点使用识别点所属的轮廓的标志进行标记。示例传播算法可以如下进行:1.通过向队列添加重叠区域的左和右垂直边缘处的点来初始化轮廓。右边缘处的点与左边缘处的点被不同地标记;2.如上所述根据规则从队列去除第一点;3.如果存在非分配点,检查左、右、上、下方向。如果这种点存在,将它们添加到队列中,为它们分配与源点具有的标记相同的标记;以及4.如果队列不为空,转向2。因为噪声和一些细节的存在,轮廓的形状可以变得极其复杂,这意味着轮廓具有较大的长度,需要较大的存储器数量来维持队列。为了平滑轮廓形状且减小需要的存储器的数量,可以通过以下矩阵定义的过滤器平滑重叠图像之间的差异:
权利要求
1.一种用于产生立体全景图像的方法,该方法包括: 固定用于使用便携式成像设备采集所述全景图像的曝光水平; 使所述成像设备跨过景象进行摇摄; 采集所述景象的部分的多个至少部分重叠的图像帧,包括使用所述便携式成像设备的光学成像传感器; 配准所述图像帧,包括确定所述成像设备在图像帧的采集之间的位移; 产生多个全景图像,包括根据空间关系接合所述景象的图像帧以及确定所述多个全景图像之间的立体对应部分关系; 基于所述立体对应部分关系处理所述多个全景图像,以形成立体全景图像;以及 存储、传送或显示所述立体全景图像,或其组合。
2.根据权利要求1所述的方法,其中确定位移包括测量所述位移。
3.根据权利要求1所述的方法,其中确定位移包括确定至少两个维度中的位移。
4.根据权利要求3所述的方法,其中所述至少两个维度包括正交于深度维度的两个维度。
5.根据权利要求4所述的方法,其中确定位移包括确定包括深度维度的三个维度中的位移。
6.根据权利要求1所述的方法,其中确定立体对应部分关系包括: 使得具有第一预定范围内的相对位移的图像帧成对,所述第一预定范围被配置成提供所选的立体效果; 组合成对图像帧以形成组成部分立体图像;以及 保留与相邻成对图像帧具有的重叠在第二预定范围内的成对图像帧。
7.根据权利要求6所述的方法,其中所述第一预定范围包括5-7.5cm。
8.根据权利要求1所述的方法,其中所述部分重叠包括10%至50%的重叠。
9.根据权利要求1所述的方法,还包括使图像帧对的接合与下一图像帧的采集或产生或二者交错。
10.根据权利要求1所述的方法,其中所述第一预定范围不大于所述成像设备的摇摄半径的15%。
11.一种使用便携式成像设备产生全景图像的方法,所述方法包括: 固定用于使用所述便携式成像设备采集所述全景图像的曝光水平; 使所述便携式成像设备跨过所述景象进行摇摄; 采集至少两个图像集合且处理所述集合,每个集合包括所述景象的部分的至少两个图像帧,所述采集包括使用所述便携式成像设备的光学成像传感器,所述处理包括: 分类且保留所述至少两个集合的至少两个图像帧; 确定所述至少两个图像帧集合内基本重叠的帧之间的相对位移; 相对彼此配准所述至少两个集合内的图像; 组合所述基本重叠的帧; 接合所述全景图像的组成部分图像;以及 存储、传送或显示所述全景图像,或其组合。
12.根据权利要求11所述的方法,还包括确定所述两个或更多图像帧集合中每一个的第一或其他相应采集帧之间的相对位移。
13.根据权利要求11所述的方法,还包括配准从所述两个或更多集合中每一个的图像得到的组合全景图像。
14.根据权利要求11所述的方法,还包括使图像帧对的接合与下一图像帧的采集或产生或二者交错。
15.一种能够在照相机内产生全景图像的支持照相机的便携式设备,包括镜头、图像传感器、处理器以及其中具有嵌入的代码的处理器可读介质,所述代码用于对所述处理器进行编程,以执行根据上面权利要求其中任一项所述的全景图像产生方法。
16.一个或更多计算机可读存储介质,其中具有嵌入的代码,所述代码用于对处理器进行编程,以执行根 据权利要求1-14其中任一项所述的全景图像产生方法。
全文摘要
一种产生立体全景图像的技术,包括使便携式照相机设备进行摇摄以及采集多个图像帧。采集景象部分的多个至少部分重叠图像帧。该方法涉及配准图像帧,包括确定成像设备在图像帧的采集之间的位移。产生多个全景图像,包括根据空间关系接合景象的图像帧,以及确定多个全景图像之间的立体对应部分关系。基于立体对应部分关系处理多个全景图像,以形成立体全景图像。
文档编号G06T7/00GK103168315SQ201180051076
公开日2013年6月19日 申请日期2011年9月9日 优先权日2010年9月9日
发明者I·巴科维斯奇, P·比乔伊, G·苏珊, P·斯特克, L·默里, A·德里姆巴里安, P·科科伦 申请人:数字光学欧洲有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1