CN110463176A - 图像质量评估 - Google Patents

图像质量评估 Download PDF

Info

Publication number
CN110463176A
CN110463176A CN201780088194.7A CN201780088194A CN110463176A CN 110463176 A CN110463176 A CN 110463176A CN 201780088194 A CN201780088194 A CN 201780088194A CN 110463176 A CN110463176 A CN 110463176A
Authority
CN
China
Prior art keywords
image
splicing
stitching
score
machine learning
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
Application number
CN201780088194.7A
Other languages
English (en)
Inventor
A·梅勒
B·C·道亚迪-普勒文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
High Patrol Co
GoPro Inc
Original Assignee
High Patrol Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by High Patrol Co filed Critical High Patrol Co
Publication of CN110463176A publication Critical patent/CN110463176A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4038Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Studio Devices (AREA)

Abstract

公开了用于图像信号处理的系统和方法。例如,方法可以包括:从第一图像传感器接收第一图像;从第二图像传感器接收第二图像;拼接第一图像和第二图像以获取拼接图像;标识拼接图像的位于拼接图像的拼接边界上的图像部分;以及将图像部分输入到机器学习模块以获取得分,其中机器学习模块已经使用训练数据被训练,该训练数据包括被标记为反映拼接的不存在的图像部分和被标记为反映拼接的存在的图像部分,其中被标记为反映拼接的存在的图像部分包括拼接。

Description

图像质量评估
相关申请的交叉引用
本申请要求于2017年3月10日提交的美国专利申请No.15/455,446的权益,该申请通过引用整体并入本文。
技术领域
本公开涉及图像质量评估。
背景技术
图像捕获设备(诸如相机)可以捕获内容作为图像或视频。可以经由镜头接收和聚焦光,并且可以通过图像传感器将光转换为电子图像信号。图像信号可以由图像信号处理器(ISP)处理以形成可以被存储和/或编码的图像。在一些实现中,来自不同图像传感器的多个图像或视频帧可以包括空间相邻或重叠的内容,其可以拼接在一起以形成具有较大视场的较大图像。图像拼接过程可能引入失真,失真取决于出现在相机视场内的对象和/或那些对象的相对位置和取向。
发明内容
本文中公开的是图像质量评估的实现。
在第一方面,本说明书中描述的技术方案可以在系统中实施,该系统包括被配置为捕获第一图像的第一图像传感器和被配置为捕获第二图像的第二图像传感器。该系统包括处理装置,该处理装置被配置为:从第一图像传感器接收第一图像;从第二图像传感器接收第二图像;拼接第一图像和第二图像以获取拼接图像;标识拼接图像的位于拼接图像的拼接边界上的图像部分;将该图像部分输入到机器学习模块以获取得分,其中机器学习模块已经使用训练数据被训练,该训练数据包括被标记为反映拼接的不存在的图像部分和被标记为反映拼接的存在的图像部分,其中被标记为反映拼接的存在的图像部分包括拼接图像的拼接边界;至少部分地基于得分选择拼接算法的参数;使用参数来拼接第一图像和第二图像以获取合成图像;以及基于合成图像存储、显示或传输输出图像。
在第二方面,本说明书中描述的技术方案可以在方法中实施,该方法包括:从第一图像传感器接收第一图像;从第二图像传感器接收第二图像;拼接第一图像和第二图像以获取拼接图像;标识拼接图像的位于拼接图像的拼接边界上的图像部分;以及将图像部分输入到机器学习模块以获取得分,其中机器学习模块已经使用训练数据被训练,该训练数据包括被标记为反映拼接的不存在的图像部分和被标记为反映拼接的存在的图像部分,其中被标记为反映拼接的存在的图像部分包括拼接图像的拼接边界。
在第三方面,本说明书中描述的技术方案可以在方法中实施,该方法包括:向人类呈现图像;从人类接收针对图像的得分;利用训练数据训练机器学习模块,该训练数据包括来自图像的利用来自人类的针对图像的得分而被标记的图像部分;以及将来自第一图像的图像部分输入到经训练的所述机器学习模块以获取第一图像的质量估计。
本公开的这些和其他方面在以下具体实施方式、所附权利要求和附图中公开。
附图说明
当结合附图阅读时,从以下详细描述中可以最好地理解本公开。需要强调的是,根据惯例,附图的各种特征不是按比例的。相反,为了清楚起见,各种特征的尺寸被任意扩大或缩小。
图1是用于内容捕获的图像捕获系统的一个示例的示图。
图2A是被配置用于图像捕获和拼接的示例系统的框图。
图2B是被配置用于图像捕获和拼接的示例系统的框图。
图3是用于图像捕获和拼接的示例技术的流程图。
图4是用于训练机器学习模块以使得图像拼接质量能够被评估的示例技术的流程图。
图5是用于训练机器学习模块以估计主观图像质量的示例技术的流程图。
图6示出了拼接图像的示例布局。
图7A是被配置用于图像质量评估的示例机器学习模块的框图。
图7B是被配置用于图像质量评估的示例机器学习模块的框图。
图8是用于图像捕获和拼接的示例技术的流程图。
具体实施方式
本文档包括用于图像质量评估以使得由图像捕获系统生成的图像的质量能够提高的系统、装置和方法的公开内容。例如,一些图像捕获系统包括多个(例如,两个或六个)图像传感器,并且通过将来自两个或更多个传感器的图像拼接在一起来生成合成图像。拼接可以是动态的依赖于数据的操作,该操作可能在所得到的合成图像中引入失真。例如,来自被拼接的两个图像的像素的轻微未对准可能导致合成的拼接图像中的不连续性(例如,颜色突然改变的线),这对人类来说是非常明显的并且显著降低图像质量。在设计和/或应用用于拼接或其他图像处理的过程时,能够一致地评估图像质量以提供使得这些过程能够被调节的反馈(例如,在图像捕获处理期间或在正在设计图像捕获系统的实验室中实时地调节)以提高图像质量是有用的。
拼接是将具有重叠视场的图像组合以产生合成图像(例如,以形成全景图像)的过程。拼接可以包括沿着合成图像的分别基于两个不同输入图像的段之间的边界(称为拼接边界)在一个区域(可以称为接缝)中将正在被组合的两个图像的像素对准。例如,拼接可以包括应用视差校正(例如,双目差异校正)以对准与出现在多个图像传感器的视场中的对象相对应的像素。例如,因为双目差异取决于对象距图像传感器的距离,所以拼接过程可以是数据相关的,因为它在特定图像(例如,特定视频帧)的捕获期间利用反映对象在传感器的视场中的位置的图像数据来确定来自输入图像的像素到合成图像的映射。可能有利的是,具有在合成图像正在被捕获和编码时可用的图像质量的一致评估,使得拼接过程的参数(例如,所考虑的维度的数目)可以被调节以最佳地适合当前场景。
可以通过将拼接图像的来自沿着拼接边界的部分(例如,像素块)输入到机器学习模块来评估图像中的拼接质量,该机器学习模块已经被训练以区分来自单个图像传感器的图像数据的部分和已经被拼接的数据部分。例如,可以使用两组数据来训练机器学习模块(例如,卷积神经网络或支持向量机)。第一组数据包括由用单个图像传感器捕获的像素组成并且用与非接缝图像部分相对应的得分(例如,1)标记的图像部分。第二组训练包括如下图像部分:该图像部分包括基于来自已经被拼接在一起的至少两个不同图像(用不同图像传感器捕获)的像素的像素。第二组训练数据中的数据的部分可以用与接缝图像部分相对应的得分(例如,0)标记。当新的合成(例如,全景)图像被拼接时,来自沿着拼接边界的数据的部分可以被输入到经训练的机器学习模块,以获取反映该部分来自拼接接缝的预测(例如,估计的概率)的得分。与针对非接缝数据的得分接近的得分可以指示该部分中的高质量拼接。与针对接缝数据的得分接近的得分可以指示该部分中的低质量拼接。在一些实现中,确定并且组合(例如,求平均)来自沿着拼接边界的多个部分的得分,以确定对合成图像的拼接的质量的估计。例如,对图像的拼接质量的这种估计可以用作反馈以确定是否和/或如何调节拼接算法的参数以改善合成图像的图像质量。
具有与图像质量的主观人类评估良好相关的自动确定的图像质量得分也可能是有用的。机器学习模块可以用已经用由人类提供的图像质量得分标记的图像数据进行训练。以这种方式训练的机器学习模块可以被配置为将图像数据(例如,图像中的像素的一部分)作为输入,并且输出与主观人类得分良好相关的图像质量得分。例如,可以向人类呈现图像,并且那些图像的图像质量得分可以从人类被接收并且用于标记来自相应图像的图像数据的一个或多个部分。例如,标记的图像数据可以用于训练神经网络(例如,卷积神经网络)。
参考附图详细描述实现,附图被提供作为示例以便使得本领域技术人员能够实践该技术。附图和示例并不意味着将本公开的范围限制为单个实现或实施例,并且其他实现和实施例可以通过与所描述或示出的元素中的一些或全部的交换或组合来实现。在任何方便的地方,在整个附图中将使用相同的附图标记来表示相同或相似的部分。
图1是用于内容捕获的图像捕获系统100的一个示例的示图。如图1所示,图像捕获系统100可以包括图像捕获装置110、外部用户接口(UI)设备120或其组合。
在一些实现中,图像捕获装置110可以是多面装置,并且可以包括布置在结构140(诸如如图所示的立方形笼)中的多个图像捕获设备,诸如图1所示的图像捕获设备130、132、134。尽管为了简单起见在图1中示出了三个图像捕获设备130、132、134,但是图像捕获装置110可以包括任何数目的图像捕获设备。例如,图1所示的图像捕获装置110可以包括六个相机,相机可以包括所示的三个图像捕获设备130、132、134和未示出的三个相机。
在一些实现中,结构140可以具有诸如在25mm与150mm之间的尺寸。例如,结构140的每个边的长度可以是105mm。结构140可以包括安装端口142,安装端口142可以可移除地可附接到支撑结构,诸如三脚架、照片棒或任何其他相机支架(未示出)。结构140可以是刚性支撑结构,使得图像捕获装置110的图像捕获设备130、132、134的相对取向可以保持相对静态或固定的对准,除了本文所述之外。
图像捕获装置110可以利用360°视场获取或捕获诸如图像、视频或两者的图像内容,其可以称为全景或球形内容。例如,图像捕获设备130、132、134中的每一个可以包括用于接收和聚焦光的相应镜头、以及用于将接收和聚焦的光转换为图像信号(诸如通过对光进行测量或采样)的相应图像传感器,并且多个图像捕获设备130、132、134可以被布置以使得相应的图像传感器和镜头捕获以球形或近球形视场为特征的组合视场。
在一些实现中,图像捕获设备130、132、134中的每一个可以具有相应的视场170、172、174,诸如在横向维度180、182、184中为90°并且在纵向维度190、192、194中包括120°的视场170、172、174。在一些实现中,具有重叠的视场170、172、174的图像捕获设备130、132、134或其图像传感器可以相对于彼此以限定的角度(诸如90°)被定向。在一些实现中,图像捕获设备130的图像传感器沿着X轴被引导,图像捕获设备132的图像传感器沿着Y轴被引导,并且图像捕获设备134的图像传感器沿着Z轴被引导。相邻的图像捕获设备130、132、134的相应视场170、172、174可以被定向为允许用于拼接功能的重叠。例如,图像捕获设备130的视场170的纵向维度190可以相对于图像捕获设备134的视场174的横向维度184定向成90°,图像捕获设备130的视场170的横向维度180可以相对于图像捕获设备132的视场172的纵向维度192定向成90°,并且图像捕获设备132的视场172的横向维度182可以相对于图像捕获设备134的视场174的纵向维度194定向成90°。
对于四个相邻图像捕获设备130、132、134(未全部示出),图1所示的图像捕获装置110可以通过相应视场170、172、174(未全部示出)的90°、120°、90°、120°的连续重叠在竖直和/或水平平面中具有420°的角度覆盖。例如,可以组合图像捕获设备130、132的视场170、172和分别与图像捕获设备130、132相对的两个图像捕获设备(未示出)的视场(未示出)以在水平平面中提供420°的角度覆盖。在一些实现中,可以对准和合并或组合具有在竖直和/或水平平面中包括小于360°的角度覆盖的组合视场的图像捕获设备130、132、134的视场之间的重叠以产生全景图像。例如,图像捕获装置110可以处于运动中,诸如正在旋转,并且由图像捕获设备130、132、134中的至少一个捕获的源图像可以被组合以形成全景图像。作为另一示例,图像捕获装置110可以是静止的,并且由每个图像捕获设备130、132、134同时捕获的源图像可以被组合以形成全景图像。
在一些实现中,图像捕获设备130、132、134可以包括镜头150、152、154或其他光学元件。光学元件可以包括一个或多个镜头、微距镜头、变焦镜头、专用镜头、长焦镜头、定焦镜头、消色差镜头、复消色差镜头、处理镜头、广角镜头、超广角镜头、鱼眼镜头、红外镜头、紫外镜头、透视控制镜头、其他镜头和/或其他光学元件。在一些实现中,镜头150、152、154可以是鱼眼镜头并且产生鱼眼或接近鱼眼的视场图像。例如,图像捕获设备130、132、134的相应镜头150、152、154可以是鱼眼镜头。在一些实现中,可以通过拼接或合并所捕获的图像的鱼眼投影来组合由图像捕获装置110的两个或更多个图像捕获设备130、132、134捕获的图像,以产生等矩形(equirectangular)平面图像。例如,第一鱼眼图像可以是圆形或椭圆形图像并且可以变换为第一矩形图像,第二鱼眼图像可以是圆形或椭圆形图像并且可以变换为第二矩形图像,并且第一矩形图像和第二矩形图像可以并排布置(其可以包括重叠)并且拼接在一起以形成等矩形平面图像。
尽管未在图1中明确示出,但是在一些实现中,图像捕获设备130、132、134可以包括一个或多个图像传感器,诸如电荷耦合器件(CCD)传感器、有源像素传感器(APS)、互补金属氧化物半导体(CMOS)传感器、N型金属氧化物半导体(NMOS)传感器、和/或任何其他图像传感器或图像传感器的组合。
尽管未在图1中明确示出,但是在一些实现中,图像捕获装置110可以包括一个或多个麦克风,其可以接收、捕获和记录音频信息,该音频信息可以与由图像传感器获得的图像相关联。
尽管未在图1中明确示出,但是图像捕获装置110可以包括一个或多个其他信息源或传感器,诸如惯性测量单元(IMU)、全球定位系统(GPS)接收器组件、压力传感器、温度传感器、心率传感器、或者可以被包括在图像捕获装置中的任何其他单元或单元组合。
在一些实现中,图像捕获装置110可以经由有线(未示出)或无线(如图所示)计算通信链路160与外部设备(诸如外部用户接口(UI)设备120)进行接口或通信。尽管为了简单起见在图1中示出了单个计算通信链路160,但是可以使用任何数目的计算通信链路。尽管图1所示的计算通信链路160被示出为直接计算通信链路,但是可以使用间接计算通信链路,诸如包括另一设备或网络(诸如因特网)的链路。在一些实现中,计算通信链路160可以是Wi-Fi链路、红外链路、蓝牙(BT)链路、蜂窝链路、ZigBee链路、近场通信(NFC)链路(诸如ISO/IEC 23243协议链路)、高级网络技术互操作性(ANT+)链路、和/或任何其他无线通信链路或链路组合。在一些实现中,计算通信链路160可以是HDMI链路、USB链路、数字视频接口链路、诸如视频电子标准协会(VESA)数字显示接口链路的显示端口接口链路、以太网链路、雷电接口(Thunderbolt)链路和/或其他有线计算通信链路。
在一些实现中,用户接口设备120可以是计算设备,诸如智能电话、平板计算机、平板电话、智能手表、便携式计算机、和/或另一设备或设备组合,其被配置为接收用户输入,经由计算通信链路160与图像捕获装置110传送信息,或者经由计算通信链路160接收用户输入并且与图像捕获装置110传送信息。
在一些实现中,图像捕获装置110可以经由计算通信链路160向用户接口设备120传输图像,诸如全景图像或其部分,并且用户接口设备120可以对全景图像进行存储、处理、显示或存储、处理、显示的组合。
在一些实现中,用户接口设备120可以显示或以其他方式呈现由图像捕获装置110获得的内容,诸如图像或视频。例如,用户接口设备120的显示器可以是到由图像捕获装置110所捕获或创建的全景图像或视频表示的三维空间中的视口。
在一些实现中,用户接口设备120可以向图像捕获装置110传送诸如元数据的信息。例如,用户接口设备120可以向图像捕获装置110发送用户接口设备120相对于所限定的坐标系统的取向信息,使得图像捕获装置110可以确定用户接口设备120相对于图像捕获装置110的取向。基于所确定的取向,图像捕获装置110可以标识由图像捕获装置110捕获的全景图像或视频的一部分,以供图像捕获装置110发送给用户接口设备120以作为视口进行呈现。在一些实现中,基于所确定的取向,图像捕获装置110可以确定用户接口设备120的位置和/或用于观看全景图像或视频的一部分的维度。
在一个示例中,用户可以使用户接口设备120旋转(扫掠)通过空间中的弧或路径122,如图1中以122所示的箭头所指示的。用户接口设备120可以使用诸如计算通信链路160的通信接口将显示取向信息传送给图像捕获装置110。图像捕获装置110可以提供编码的比特流以使得当图像捕获装置110遍历路径122时,能够观看全景内容的与显示位置的环境的一部分相对应的部分。因此,来自用户接口设备120的显示取向信息可以被传输到图像捕获装置110以控制所捕获的图像和/或视频的用户可选择观看。
在一些实现中,图像捕获装置110可以经由有线或无线计算通信链路(未示出)与一个或多个其他外部设备(未示出)通信。
在一些实现中,由图像捕获装置110获取的数据(诸如图像数据、音频数据和/或其他数据)可以被合并到组合的多媒体流中。例如,多媒体流可以包括视频轨道和/或音频轨道。作为另一示例,可以处理来自图像捕获装置110内和/或耦合到图像捕获装置110的各种元数据传感器和/或源的信息以产生与视频和/或音频轨道相关联的元数据轨道。元数据轨道可以包括元数据,诸如白平衡元数据、图像传感器增益元数据、传感器温度元数据、曝光时间元数据、镜头光圈元数据、包围配置元数据和/或其他参数。在一些实现中,可以生成多路复用的流以合并视频和/或音频轨道以及一个或多个元数据轨道。
在一些实现中,用户接口设备120可以实现或执行诸如GoPro Studio、GoPro App或两者的一个或多个应用以管理或控制图像捕获装置110。例如,用户接口设备120可以包括用于控制图像捕获装置110的相机配置、视频获取、视频显示、或任何其他可配置或可控方面的应用。
在一些实现中,用户接口设备120诸如经由应用(例如,GoPro App)可以诸如经由基于云的或社交媒体服务来生成和共享一个或多个图像、或短视频剪辑,诸如响应于用户输入。
在一些实现中,用户接口设备120诸如经由应用(例如,GoPro App)可以远程控制图像捕获装置110,诸如响应于用户输入。
在一些实现中,在由图像捕获装置110捕获图像或视频的同时,用户接口设备120诸如经由应用(例如,GoPro App)可以显示由图像捕获装置110捕获的未处理或最小处理的图像或视频,诸如用于镜头取景,其在本文中可以称为实况预览并且可以响应于用户输入而被执行。
在一些实现中,在由图像捕获装置110捕获图像或视频的同时,用户接口设备120诸如经由应用(例如,GoPro App)可以标记一个或多个关键时刻,诸如用高亮(HiLight)标签,诸如响应于用户输入。
在一些实现中,用户接口设备120诸如经由应用(例如,GoPro App)可以显示或以其他方式呈现与图像或视频相关联的标记或标签,诸如HiLight标签,诸如响应于用户输入。例如,标记可以在GoPro相机胶卷应用中被呈现以用于视频集锦的位置查看和/或回放。
在一些实现中,用户接口设备120诸如经由应用(例如,GoPro App)可以无线地控制相机软件、硬件或两者。例如,用户接口设备120可以包括用户可访问的基于web的图形界面,以用于从图像捕获装置110选择实况或先前记录的视频流以在用户接口设备120上显示。
在一些实现中,用户接口设备120可以响应于用户输入而接收指示用户设置的信息,诸如图像分辨率设置(例如,3840像素×2160像素)、帧速率设置(例如,每秒60帧(fps))、位置设置和/或上下文设置,其可以指示诸如山地自行车等活动,并且用户接口设备120可以将设置或相关信息传送给图像捕获装置110。
图2A是被配置用于图像捕获和拼接的示例系统200的框图。系统200包括图像捕获设备210(例如,相机或无人机),图像捕获设备210包括处理装置212,处理装置212被配置为从第一图像传感器214接收第一图像并且从第二图像传感器216接收第二图像。处理装置212可以被配置为基于来自图像传感器214和216的图像数据执行图像信号处理(例如,过滤、拼接和/或编码)以生成合成图像。图像捕获设备210包括用于向其他设备传送图像的通信接口218。图像捕获设备210包括可以允许用户控制图像捕获功能和/或查看图像的用户接口220。图像捕获设备210包括用于为图像捕获设备210供电的电池222。图像捕获设备210的组件可以经由总线224彼此通信。系统200可以用于实现本公开中描述的技术,诸如图3的技术300。
处理装置212可以包括具有单个或多个处理核的一个或多个处理器。处理装置212可以包括存储器,诸如随机存取存储器设备(RAM)、闪存、或任何其他合适类型的存储设备,诸如非暂态计算机可读存储器。处理装置212的存储器可以包括可以由处理装置212的一个或多个处理器访问的可执行指令和数据。例如,处理装置212可以包括一个或多个DRAM模块,诸如双倍数据速率同步动态随机存取存储器(DDR SDRAM)。在一些实现中,处理装置212可以包括数字信号处理器(DSP)。在一些实现中,处理装置212可以包括专用集成电路(ASIC)。例如,处理装置212可以包括定制图像信号处理器。
第一图像传感器214和第二图像传感器216被配置为检测特定光谱(例如,可见光谱或红外光谱)的光并且传送构成图像的信息作为电信号(例如,模拟或数字信号)。例如,图像传感器214和216可以包括电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)中的有源像素传感器。图像传感器214和216可以检测通过相应镜头(例如,鱼眼镜头)而入射的光。在一些实现中,图像传感器214和216包括数模转换器。在一些实现中,图像传感器214和216保持在具有重叠的相应视场的固定的取向。
图像捕获设备210可以包括可以支持与个人计算设备(例如,智能电话、平板计算机、膝上型计算机或台式计算机)的通信的通信接口218。例如,通信接口218可以用于接收控制图像捕获设备210中的图像捕获和处理的命令。例如,通信接口218可以用于将图像数据传送给个人计算设备。例如,通信接口218可以包括有线接口,诸如高清晰度多媒体接口(HDMI)、通用串行总线(USB)接口或火线接口。例如,通信接口218可以包括无线接口,诸如蓝牙接口、ZigBee接口和/或Wi-Fi接口。
图像捕获设备210可以包括用户接口220。例如,用户接口220可以包括用于向用户呈现图像和/或消息的LCD显示器。例如,用户接口220可以包括使得人能够手动打开和关闭图像捕获设备210的按钮或开关。例如,用户接口220可以包括用于拍摄图片的快门按钮。
图像捕获设备210可以包括为图像捕获设备210和/或其外围设备供电的电池222。例如,电池222可以无线地或通过微USB接口被充电。
图2B是被配置用于图像捕获和拼接的示例系统230的框图。系统230包括经由通信链路250通信的图像捕获设备240和个人计算设备260。图像捕获设备240包括被配置为捕获相应图像的第一图像传感器242和第二图像传感器244。图像捕获设备240包括被配置为经由通信链路250向个人计算设备260传送图像的通信接口246。个人计算设备260包括处理装置262,处理装置262被配置为使用通信接口266从第一图像传感器接收第一图像并且从第二图像传感器244接收第二图像。处理装置262可以被配置为基于来自图像传感器242和244的图像数据执行图像信号处理(例如,滤波、拼接和/或编码)以生成合成图像。系统230可以用于实现本公开中描述的技术,诸如图3的技术300。
第一图像传感器242和第二图像传感器244被配置为检测特定光谱(例如,可见光谱或红外光谱)的光并且传送构成图像的信息作为电信号(例如,模拟或数字信号)。例如,图像传感器242和244可以包括电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)中的有源像素传感器。图像传感器242和244可以检测通过相应镜头(例如,鱼眼镜头)而入射的光。在一些实现中,图像传感器242和244包括数模转换器。在一些实现中,图像传感器242和244保持在具有重叠的相应视场的固定的相对取向。来自图像传感器242和244的图像信号可以经由总线248传递到图像捕获设备240的其他组件。
通信链路250可以是有线通信链路或无线通信链路。通信接口246和通信接口266可以支持通过通信链路250的通信。例如,通信接口246和通信接口266可以包括高清晰度多媒体接口(HDMI)、通用串行总线(USB)接口、火线接口、蓝牙接口、ZigBee接口和/或Wi-Fi接口。例如,通信接口246和通信接口266可以用于将图像数据从图像捕获设备240传送到个人计算设备260,以用于基于来自图像传感器242和244的图像数据进行图像信号处理(例如,过滤、拼接和/或编码)以生成合成图像。
处理装置262可以包括具有单个或多个处理核的一个或多个处理器。处理装置262可以包括存储器,诸如随机存取存储器设备(RAM)、闪存、或任何其他合适类型的存储设备,诸如非暂态计算机可读存储器。处理装置262的存储器可以包括可以由处理装置262的一个或多个处理器访问的可执行指令和数据。例如,处理装置262可以包括一个或多个DRAM模块,诸如双倍数据速率同步动态随机存取存储器(DDR SDRAM)。在一些实现中,处理装置262可以包括数字信号处理器(DSP)。在一些实现中,处理装置262可以包括专用集成电路(ASIC)。例如,处理装置262可以包括定制图像信号处理器。处理装置262可以经由总线268与个人计算设备260的其他组件交换数据(例如,图像数据)。
个人计算设备260可以包括用户接口264。例如,用户接口264可以包括用于向用户呈现图像和/或消息以及从用户接收命令的触摸屏显示器。例如,用户接口264可以包括使得人能够手动打开和关闭个人计算设备260的按钮或开关。在一些实现中,经由用户接口264接收的命令(例如,开始记录视频,停止记录视频或者对照片进行快照)可以经由通信链路250传递给图像捕获设备240。
图3是用于图像捕获和拼接的示例技术300的流程图。示例技术300包括从两个或更多个图像传感器接收310图像信号;拼接320所接收的图像以获取合成图像;标识330沿着合成图像的拼接边界定位的一个或多个图像部分;将(多个)图像部分输入340到机器学习模块以获取一个或多个得分;基于(多个)得分确定345是否重新拼接;至少部分地基于(多个)得分选择350拼接算法的一个或多个参数;使用参数拼接(在操作360)所接收的图像以获取合成图像;在操作370,基于合成图像存储、显示和/或传输输出图像。例如,技术300可以由图2A的系统200或图2B的系统230实现。例如,技术300可以由诸如图2所示的图像捕获设备210之类的图像捕获设备或诸如图1所示的图像捕获装置110之类的图像捕获装置实现。例如,技术300可以由诸如个人计算设备260之类的个人计算设备实现。
从图像传感器接收310图像,至少包括来自第一图像传感器的第一图像和来自第二图像传感器的第二图像。图像传感器可以是以相对取向保持图像传感器以使得图像传感器具有部分重叠视场的图像捕获装置(例如,图像捕获装置110、图像捕获设备210或图像捕获设备240)的一部分。例如,可以经由总线(例如,总线224)从传感器接收310图像。在一些实现中,可以经由通信链路(例如,通信链路250)接收310图像。例如,可以经由无线或有线通信接口(例如,Wi-Fi、蓝牙、USB、HDMI、无线USB、近场通信(NFC)、以太网、射频收发器和/或其他接口)接收310图像。例如,可以经由通信接口266接收310图像。
示例技术300包括拼接320第一图像和第二图像以获取拼接图像。在一些实现中,可以将多于两个的图像拼接320在一起(例如,将来自图像捕获装置110的图像传感器的六个图像拼接在一起以获取球形图像)。在一些实现中,拼接320可以包括针对具有重叠视场的所接收的图像应用视差校正(例如,针对一对图像的双目差异校正),以将图像的与出现在多个视场中的对象相对应的像素对准。例如,标识针对图像的对准可以包括同时优化对应度量和平滑度标准。例如,可以在一个维度(例如,平行于两个图像传感器之间的核线)或两个维度应用视差校正。在一些实现中,拼接320可以包括应用颜色校正以更好地匹配所接收的图像的像素(例如,以减少由于图像传感器和相应的镜头和/或曝光时间的变化而导致的色差)。在一些实现中,拼接可以包括混合(例如,平均像素值)正在被组合的图像在沿着拼接边界的区域内的像素。例如,混合可以平滑跨越拼接边界的转变以使差异不太明显并且提高图像质量。例如,拼接320可以由处理装置(例如,处理装置212或处理装置262)实现。
示例技术300包括标识330拼接图像的位于拼接图像的拼接边界上的图像部分。例如,图像部分可以是来自拼接图像的如下的像素块(例如,8×8块),其包括至少部分地基于来自第一图像的像素的的像素并且包括至少部分地基于来自第二图像的像素的像素。例如,图像部分可以是延伸被拼接的两个图像之间的接缝的长度的块(例如,全分辨率1080p视频帧的1920×8块)。在一些实现中,在拼接图像内标识330沿着拼接图像的拼接边界出现的一个或多个附加图像部分。例如,拼接接缝可以被分割成小图像部分的阵列(例如,8×8像素块)。例如,可以如关于图6所述的那样标识图像部分。因为像素对准随着诸如在两个重叠视场中出现的对象的距离等因素而变化,所以垂直于拼接边界的图像坐标的分量可以沿着拼接边界的长度稍微变化。标识330图像部分可以包括分析来自拼接320操作的视差校正结果以确定拼接边界在拼接图像的特定区域中的坐标。
在一些实现中,在提取(多个)图像部分时对拼接图像进行下采样,使得图像部分具有比全分辨率拼接图像低的分辨率。例如,图像部分可以是来自拼接图像的包括在拼接边界的两侧的像素的像素块,其中像素块具有比第一图像的分辨率小的分辨率。例如,可以由处理装置(例如,处理装置212或处理装置262)标识330(多个)图像部分。
示例技术300包括将(多个)图像部分输入340到机器学习模块(例如,包括神经网络、支持向量机、决策树或贝叶斯网络)以获取得分。得分可以指示来自沿着拼接边界的图像部分中的拼接的质量。为了实现这一点,可以训练机器学习模块以识别拼接的存在或不存在及来自接缝的图像部分(例如,像素块)中的其相关联的伪像和失真。例如,机器学习模块可以已经使用训练数据被训练,该训练数据包括被标记为反映拼接的不存在的图像部分和被标记为反映拼接的存在的图像部分。被标记为反映拼接的存在的图像部分可以已经包括拼接图像的拼接边界。例如,机器学习模块可以已经使用图4的技术400被训练。在一些实现中,可以在图像捕获系统的设计阶段期间训练机器学习模块,并且可以将所得到的经训练的机器学习模块存储在实现技术300的处理装置的存储器中。
在一些实现中,机器学习模块包括神经网络(例如,卷积神经网络)。例如,机器学习模块可以包括从图像部分中的像素接收像素值并且输出得分的神经网络。例如,可以采用图7A的机器学习模块710。在一些实现中,机器学习模块可以包括支持向量机。例如,可以采用图7B的机器学习模块760。
在一些实现中,将一个或多个附加图像部分输入340到机器学习模块,以获取一个或多个附加得分。例如,在接缝已经被分割成图像部分的阵列的情况下,可以将来自沿着接缝的多个图像部分输入340到机器学习模块,以获取得分阵列。可以生成得分和一个或多个附加得分的直方图。例如,可以使用得分阵列(例如,来自沿着接缝或来自沿着视频帧的序列的接缝)来生成得分的直方图。直方图可以用于评估各种场景下的拼接算法的质量。在一些实现中,可以基于针对个体图像部分的得分集合来确定合成得分。例如,可以对来自拼接图像中的接缝或一组接缝的图像部分阵列的得分进行平均,以确定拼接图像作为整体的拼接质量得分。例如,可以跨多个图像(例如,视频帧的序列)对得分进行平均以确定与拼接质量有关的合成得分。
例如,可以由处理装置(例如,处理装置212或处理装置262)将(多个)图像部分输入340到机器学习模块。
可以分析使用机器学习模块而获取的(多个)得分来确定(在操作345)拼接图像是否足够良好或者是否应当使用针对拼接算法的经调整参数被重新拼接。例如,可以将(多个)得分或合成得分与阈值进行比较,以确定是否应当执行重新拼接。
示例技术300包括基于从机器学习模块获取的(多个)得分来选择350参数。在一些实现中,所选择的参数指定是否将应用一维视差校正或二维视差校正来拼接第一图像和第二图像。例如,可以最初在拼接操作320处应用一维视差校正,并且在来自机器学习模块的(多个)得分处于特定范围(例如,超过阈值)的情况下,可以选择350和应用二维视差校正(其可以具有更高的计算复杂性),以在操作360拼接所接收的图像。在一些实现中,所选择的参数指定将执行拼接分析的分辨率。在一些实现中,所选择的参数是指定成本函数中的对应度量与平滑度标准的相对重要性的权重,该成本函数作为视差校正算法的一部分被优化。例如,权重可以被选定为与来自机器学习模块的得分或基于来自机器学习模块的得分的合成得分成比例或成反比。例如,可以由处理装置(例如,处理装置212或处理装置262)选择350拼接参数。
当拼接完成时,可以对所得到的合成图像(例如,全景或球形图像)进行附加图像处理(例如,以压缩格式输出投影映射和/或编码),以生成输出图像(例如,静止图像或视频帧)。在一些实现中,合成图像可以是最终的输出图像(即,不需要进一步处理)。然后,输出图像可以在操作370被存储、显示和/或传输。例如,可以将输出图像传输给外部设备(例如,个人计算设备)以用于显示或存储。例如,输出图像可以被显示在用户接口220或用户接口264中。例如,输出图像可以经由通信接口218传输。
在一些实现中,(多个)得分或基于来自机器学习模块的得分的合成得分可以在操作380被存储、显示和/或传输。例如,可以日志记录得分以跟踪拼接算法随着时间在遇到各种各样的场景时的性能。例如,可以将(多个)得分传输给外部设备(例如,个人计算设备)以用于显示或存储。例如,(多个)得分可以被显示在用户接口220或用户接口264中。例如,(多个)得分可以经由通信接口218传输。
图4是用于训练机器学习模块以使得图像拼接质量能够被评估的示例技术400的流程图。技术400包括:标记410利用单个图像传感器而检测到的图像部分以反映拼接的不存在;标记420训练数据中包括拼接边界的图像部分以反映拼接的存在;以及使用经标记的训练数据来训练430机器学习模块。例如,技术400可以由图2A的系统200或图2B的系统230实现。例如,技术400可以由诸如图2所示的图像捕获设备210之类的图像捕获设备或诸如图1所示的图像捕获装置110之类的图像捕获装置实现。例如,技术400可以由诸如个人计算设备260之类的个人计算设备实现。
训练数据包括用单个图像传感器检测到的被标记410为反映拼接的不存在的图像部分。训练数据还包括包含拼接边界并且被标记420为反映拼接的存在的图像部分。在一些实现中,针对该训练数据的标签是二进制的。例如,没有拼接的图像部分可以用0标记以反映拼接的不存在,同时包括拼接的图像部分用1标记以反映拼接的存在。
训练数据中的图像部分应当与将由机器学习模块评估的图像部分的大小相匹配。例如,被标记为反映拼接的存在的图像部分可以以关于图3和/或图6的操作330所讨论的方式从可用于训练的图像中标识。被标记为反映拼接的不存在的图像部分将具有相同的大小,但是取自远离任何接缝的图像区域或没有接缝的图像。
使用经标记的训练数据来训练430机器学习模块(例如,包括神经网络、支持向量机、决策树或贝叶斯网络)。例如,可以使用经标记的训练数据来训练430机器学习模块710或机器学习模块760。所得到的经训练的机器学习模块可以用于评估图像捕获系统中来自拼接图像的对应大小的图像部分的图像质量(例如,使用图3的技术300)。
图5是用于训练机器学习模块以估计主观图像质量的示例技术500的流程图。技术500包括:向人类呈现510图像;从人类接收520针对图像的得分;利用训练数据训练540机器学习模块,该训练数据包括来自用来自人类的针对图像的得分标记530的图像的图像部分;将来自第一图像的图像部分输入550到经训练的机器学习模块,以获取第一图像的质量估计;以及基于第一图像的质量估计选择560图像处理算法的参数。例如,技术500可以由图2A的系统200或图2B的系统230实现。例如,技术500可以由诸如图2所示的图像捕获设备210之类的图像捕获设备或诸如图1所示的图像捕获装置110之类的图像捕获装置实现。例如,技术500可以由诸如个人计算设备260之类的个人计算设备实现。
在一些实现中,技术500在实验室中使用计算设备的系统被采用以从人类收集主观得分,训练540训练机器学习模块,并且使用经训练的机器学习模块来提供反馈,以用于选择560正在开发的图像处理算法的参数。
示例技术500包括向人类呈现510图像。例如,图像可以在用户接口(例如,用户接口264)中显示给人类,并且人类可以被提示输入针对图像的主观图像质量得分作为响应。例如,得分可以是1到10的等级,或者从由用户选择的质量的文本描述(例如,“优秀”、“良好”、“一般”、“不良”、“差”)映射。在一些实现中,向大量(例如,统计上大量)的人类呈现图像以针对将被用于确定训练数据集的图像征求他们的图像质量的主观得分。例如,来自很多人的针对特定图像的得分可以被平均或以其他方式被组合以确定针对该图像的主观质量得分。
从人类接收520的得分可以用于标记530来自其相应图像的图像部分。例如,拼接接缝可以被分割成图像部分的阵列(例如,像素块),并且图像部分可以用其中出现接缝的图像的主观评分来标记530。
示例技术500包括训练540机器学习模块,其中训练数据包括用由人类针对图像部分所取自的图像所提供的主观得分被标记的图像部分。例如,来自拼接图像中的接缝的用针对该拼接图像的主观得分标记的图像部分可以用于训练540机器学习模块。
然后,可以利用经训练的机器学习模块来近似针对新图像的主观图像质量得分。例如,利用正在开发的图像处理算法(例如,降噪算法、扭曲算法、拼接算法、压缩算法等)而产生的新图像的部分可以被输入550到经训练的机器学习模块,以获取主观图像质量的估计。主观图像质量的这些估计可以提供反馈以促进所考虑的图像处理算法的一个或多个参数的选择560。
在一些实现中,然后,可以利用经训练的机器学习模块来提供得分作为反馈,以用于在图像捕获过程期间实时地选择560图像处理算法(例如,降噪算法、扭曲算法、拼接算法、压缩算法等)的参数以适应于正在被记录的场景的变化的条件。
图6示出了拼接图像610的示例布局600。拼接图像610包括来自两个图像——位于拼接边界620上方的顶部图像和位于拼接边界620下方的底部图像——的像素。将拼接图像的接缝分割成图像部分的阵列,包括图像部分630和632。示出了图像部分640的放大视图。与阵列中的其他图像部分相同,图像部分640是8x8像素块,其包括在拼接边界620的两侧的像素。
可以以比拼接图像610的全分辨率版本的分辨率小的分辨率对图像部分(例如,图像部分630、632和640)进行采样。例如,可以以全分辨率的四分之一或八分之一对图像部分(例如,图像部分630、632和640)进行采样。
在一些实现中,用以获取拼接图像的操作包括在拼接边界附近的区域中对来自顶部图像和底部图像的像素的混合操作。例如,像素值可以被计算为
p_composite=b*p_bottom+(1-b)*P_top, (等式1)其中P_composite是合成图像中的像素值,P_bottom是来自底部图像的对应像素值,P_top是来自顶部图像的对应像素值,并且b是沿着拼接边界的跨混合区域竖直地变化的混合比率。例如,在混合区域的底部边缘下方,b可以为1,对于正好在拼接边界处的像素,b可以为0.5或接近0.5,并且在混合区域的顶部边缘处,b可以减小到零。混合来自顶部图像和底部图像的像素的操作(例如,如等式1所描述)可以被称为加权平均。在一些实现中,可以使用一个或多个像素掩模来实现混合操作。作为说明,掩模可以包括值的阵列,其中为1的值可以用于选择来自顶部图像的对应位置处的像素;为0的值可以用于选择来自底部图像的像素;并且在0与1之间的值可以用于平均或混合来自顶部和底部图像的像素。掩模阵列可以基于混合区域的尺寸来配置,例如,具有等于拼接边界的长度的宽度(像素数目)以及等于混合区域的厚度的高度(像素数目)。通常,混合区域不需要精确地对应于接缝或图像部分的传递给机器学习模块的范围。例如,混合区域的厚度可以小于接缝的厚度。在示例拼接图像610中,混合区域与来自接缝的从上边界650延伸到下边界652的图像部分相一致。在该示例中,混合区域的高度是上边界650与下边界652之间的距离(像素数目)(即,在该示例中为8个像素)。
图7A是被配置用于图像质量评估的示例机器学习模块710的框图。机器学习模块710包括卷积神经网络712。机器学习模块710将图像部分(例如,8x8像素块)作为输入720,并且将针对图像部分的像素值传递到神经网络712的第一层。例如,在输入720是8x8彩色像素块的情况下,针对64个像素的192个颜色值的阵列可以作为输入传递到神经网络712中。然后,神经网络712响应于输入720而产生得分作为输出730。该得分可以指示作为输入720被传递的图像部分的图像质量(例如,拼接质量)。
例如,所输入720的图像部分可以是来自拼接图像的包括拼接边界两侧的像素的像素块,并且来自像素块的所有像素值可以被输入到神经网络712的第一层。以这种方式,可以获取指示图像部分中的拼接质量的输出730。
在一些实现中,图像质量评估可以应用于灰度图像(例如,仅考虑图像的亮度分量)或尚未被去马赛克以插入颜色的马赛克彩色图像,使得8x8像素块可以作为64个像素值的阵列被传入。这些实现可以降低机器学习模块的复杂性并且允许利用较小的数据集进行训练。
在一些实现中,卷积神经网络712依次包括11个层:2D卷积层、激活层、2D卷积层、激活层、丢弃(dropout)层、压平层、密集层、激活层、丢弃层、密集层、激活层。在一些实现中,可以通过从神经网络中省略池化层来保留与图像部分内的拼接边界的位置有关的信息。例如,神经网络712可以使用具有附录A中提供的结构的keras.io库来实现。
图7B是被配置用于图像质量评估的示例机器学习模块760的框图。机器学习模块760包括被配置为基于作为输入770而传入的图像部分来确定特征780的特征提取子模块762。在一些实现中,特征780包括图像部分的颜色通道信号的高频分量。例如,特征提取子模块762可以应用高通滤波以确定特征780。在一些实现中,特征提取子模块762被配置为应用边缘检测器来确定特征780中的一个或多个。然后,所提取的特征780被传递给支持向量机模块764,以生成作为机器学习模块760的输出790而被提供的得分。
图8是用于图像捕获和拼接的示例技术800的流程图。技术800是技术400的一个示例,其指定在拼接操作中利用混合的方式。在一些实现中,拼接图像可以包括以下步骤:(1)校正输入图像之间的差异或视差以实现沿着拼接边界的良好对应,以及(2)在重叠区域(例如,接缝)中混合图像以掩盖差异/视差校正的缺陷。
例如,混合可以包括获得输入图像的加权平均,其中权重平滑地随着到拼接边界的距离而变化。例如,权重可以是到拼接边界的距离的线性函数,使得在第一输入图像内的特定距离(例如,20个像素)处,权重对于第一输入图像为1,并且对于第二输入图像为0;在拼接边界处或附近,权重对于两个输入图像可以为50%;并且在第二输入图像内的特定距离(例如,20个像素)处,权重对于第一输入图像为0,并且对于第二输入图像为1。
虽然优选地具有良好的差异校正,但是当通过差异校正步骤没有找到这样的良好校正时,混合步骤通过防止所得到的图像示出突然的内容改变来减轻图像质量的劣化,突然的内容改变可以很好地被人眼检测到,但是模糊区域(虽然明显且是不期望的)对于人眼来说可以更容易接受。然而,对于用于评估拼接质量的机器学习模块,混合还可以使拼接边界明显更难以检测,使得拼接质量评估系统对差异校正误差不太敏感。
一个示例解决方案是向机器学习模块呈现非混合的拼接图像,其中输入图像的内容被突然拼接在一起,使得机器学习模块更容易评估差异或视差校正的质量。这样,可以更容易地调节差异校正模块的参数或算法细节。在一些实现中,针对机器学习模块来计算非混合的拼接图像,而同时向用户示出的最终输出图像是平滑混合的拼接图像。混合的这种选择性使用可以有助于调节差异或视差校正参数,同时平滑可以被输出以用于观看的合成图像中的差异校正误差和其他失真。
示例技术800包括:从两个或更多个图像传感器接收810图像信号;在没有混合的情况下拼接820所接收的图像以获取合成图像;标识830沿着合成图像的拼接边界定位的一个或多个图像部分;将(多个)图像部分输入840到机器学习模块以获取一个或多个得分;基于(多个)得分确定845是否要重新拼接;至少部分地基于(多个)得分选择850拼接算法的一个或多个参数;使用(多个)参数并且在混合的情况下,拼接(在操作860)所接收的图像以获取合成图像;在操作870,基于合成图像存储、显示和/或传输输出图像。例如,技术800可以由图2A的系统200或图2B的系统230实现。例如,技术800可以由诸如图2所示的图像捕获设备210之类的图像捕获设备或诸如图1所示的图像捕获装置110之类的图像捕获装置实现。例如,技术800可以由诸如个人计算设备260之类的个人计算设备实现。
从图像传感器接收810图像,至少包括来自第一图像传感器的第一图像和来自第二图像传感器的第二图像。可以如关于图3的操作310所描述的那样接收810图像。
示例技术800包括在没有混合的情况下拼接820第一图像和第二图像以获取拼接图像。例如,在没有混合的情况下执行拼接820以获取拼接图像,使得拼接图像的个体像素分别基于第一图像或第二图像,但不基于两者。在一些实现中,可以将多于两个的图像拼接820在一起(例如,将来自图像捕获装置110的图像传感器的六个图像拼接在一起以获取球形图像)。在一些实现中,拼接820可以包括对具有重叠视场的接收图像应用视差校正(例如,针对一对图像的双目差异校正),以将来自图像的与出现在多个视场中的对象相对应的像素对准。例如,标识图像的对准可以包括同时优化对应度量和平滑度标准。例如,可以在一个维度(例如,平行于两个图像传感器之间的核线)或二个维度上应用视差校正。在一些实现中,拼接820可以包括应用颜色校正以更好地匹配所接收的图像的像素(例如,以减少由于图像传感器和相应的镜头和/或曝光时间的变化而导致的色差)。例如,拼接820可以由处理装置(例如,处理装置212或处理装置262)实现。
示例技术800包括标识830拼接图像的位于拼接图像的拼接边界上的图像部分。例如,可以如关于图3的操作330所述的那样来标识830图像部分。
示例技术800包括将(多个)图像部分输入840到机器学习模块(例如,包括神经网络、支持向量机、决策树或贝叶斯网络)以获取得分。得分可以指示来自沿着拼接边界的图像部分中的拼接的质量。为了实现这一点,可以训练机器学习模块以识别拼接的存在或不存在及来自接缝的图像部分(例如,像素块)中的其相关联的伪像和失真。例如,机器学习模块可能已经使用训练数据被训练,该训练数据包括被标记为反映拼接的不存在的图像部分和被标记为反映拼接的存在的图像部分。被标记为反映拼接的存在的图像部分可以包括拼接图像的拼接边界。例如,被标记为反映拼接的存在的训练数据的图像部分可以包括在没有混合的情况下被拼接的拼接图像的拼接边界。例如,机器学习模块可以已经使用图4的技术400被训练。在一些实现中,可以在图像捕获系统的设计阶段期间训练机器学习模块,并且可以将所得到的经训练的机器学习模块存储在实现技术800的处理装置的存储器中。
在一些实现中,机器学习模块包括神经网络(例如,卷积神经网络)。例如,机器学习模块可以包括从图像部分中的像素接收像素值并且输出得分的神经网络。例如,可以采用图7A的机器学习模块710。在一些实现中,机器学习模块可以包括支持向量机。例如,可以采用图7B的机器学习模块760。
在一些实现中,将一个或多个附加图像部分输入840到机器学习模块以获取一个或多个附加得分。例如,在接缝已经被分割成图像部分的阵列的情况下,可以将来自沿着接缝的多个图像部分输入840到机器学习模块以获取得分阵列。可以生成得分和一个或多个附加得分的直方图。例如,可以使用得分阵列(例如,来自沿着接缝或来自沿着视频帧的序列的接缝)来生成得分的直方图。直方图可以用于评估各种场景下的拼接算法的质量。在一些实现中,可以基于针对个体图像部分的得分的集合来确定合成得分。例如,来自拼接图像中的接缝或一组接缝的图像部分阵列的得分可以被平均,以确定针对拼接图像整体的拼接质量得分。例如,得分可以跨多个图像(例如,视频帧的序列)被平均以确定与拼接质量有关的合成得分。
例如,可以由处理装置(例如,处理装置212或处理装置262)将(多个)图像部分输入840到机器学习模块。
可以分析使用机器学习模块所获取的(多个)得分,以确定(在操作845)拼接图像是否足够良好或者是否应当使用针对拼接算法的经调整的参数进行重新拼接。例如,可以将(多个)得分或合成得分与阈值进行比较,以确定是否应当执行重新拼接。
示例技术800包括基于从机器学习模块获取的(多个)得分来选择850参数。在一些实现中,所选择的参数指定是否将应用一维视差校正或二维视差校正来拼接第一图像和第二图像。例如,可以最初在拼接操作820处应用一维视差校正,并且在来自机器学习模块的(多个)得分处于特定范围(例如,超过阈值)的情况下,可以选择850和应用二维视差校正(其可以具有更高的计算复杂性),以在操作860在混合的情况下拼接所接收的图像。例如,拼接860以获取合成图像在混合的情况下被执行,使得合成图像的至少一个像素基于第一图像和第二图像两者。在一些实现中,所选择的参数指定将执行拼接分析的分辨率。在一些实现中,所选择的参数是指定成本函数中的对应度量与平滑度标准的相对重要性的权重,该成本函数作为视差校正算法的一部分被优化。例如,权重可以被选定为与来自机器学习模块的得分或基于来自机器学习模块的得分的合成得分成比例或成反比。例如,可以由处理装置(例如,处理装置212或处理装置262)选择850拼接参数。
当拼接完成时,可以对所得到的合成图像(例如,全景或球形图像)进行附加图像处理(例如,以压缩格式输出投影映射和/或编码)以生成输出图像(例如,静止图像或视频帧)。在一些实现中,合成图像可以是最终的输出图像(即,不需要进一步处理)。然后,输出图像可以在操作870(例如,如关于图3的操作370所述)被存储、显示和/或传输。在一些实现中,(多个)得分或基于来自机器学习模块的得分的合成得分可以在操作880(例如,如关于图3的操作380所述)被存储、显示和/或传输。
实现示例
第一实现是一种系统,其包括:被配置为捕获第一图像的第一图像传感器;被配置为捕获第二图像的第二图像传感器;以及处理装置,该处理装置被配置为:从第一图像传感器接收第一图像;从第二图像传感器接收第二图像;拼接第一图像和第二图像以获取拼接图像;标识拼接图像的位于拼接图像的拼接边界上的图像部分;将图像部分输入到机器学习模块以获取得分,其中机器学习模块已经使用训练数据被训练,该训练数据包括被标记为反映拼接的不存在的图像部分和被标记为反映拼接的存在的图像部分,其中被标记为反映拼接的存在的图像部分包括拼接图像的拼接边界;至少部分地基于得分来选择拼接算法的参数;使用参数拼接第一图像和第二图像以获取合成图像;以及基于合成图像存储、显示或传输输出图像。
示例包括第一实现的系统,其中处理装置被配置为:标识拼接图像内沿着拼接图像的拼接边界出现的一个或多个附加图像部分;将一个或多个附加图像部分输入到机器学习模块以获取一个或多个附加得分;以及基于一个或多个附加得分选择参数。示例包括第一实现的系统,其中机器学习模块包括被配置为基于图像部分确定特征的特征提取子模块。示例包括第一实现的系统,其中拼接以获取拼接图像被执行,使得拼接图像的个体像素分别基于第一图像或第二图像,但不基于两者;并且其中拼接以获取合成图像被执行,使得合成图像的至少一个像素基于第一图像和第二图像两者。示例包括第一实现的系统,其中拼接以获取拼接图像被执行,使得拼接图像的个体像素分别基于第一图像或第二图像,但不基于两者;并且其中训练数据的被标记为反映拼接的存在的图像部分包括在没有混合的情况下被拼接的拼接图像的拼接边界。示例包括第一实现的系统,其中参数指定一维视差校正或二维视差校正是否将被应用于拼接第一图像和第二图像。示例包括第一实现的系统,其中图像部分是来自拼接图像的包括拼接边界两侧的像素的像素块,其中像素块的分辨率小于第一图像的分辨率。示例包括第一实现的系统,其中机器学习模块包括卷积神经网络。示例包括第一实现的系统,其中机器学习模块包括神经网络,并且图像部分是来自拼接图像的包括拼接边界两侧的像素的像素块,并且来自像素块的所有像素值被输入到神经网络的第一层。
第二实现是一种方法,其包括:从第一图像传感器接收第一图像;从第二图像传感器接收第二图像;拼接第一图像和第二图像以获取拼接图像;标识拼接图像的位于拼接图像的拼接边界上的图像部分;以及将图像部分输入到机器学习模块以获取得分,其中机器学习模块已经使用训练数据被训练,该训练数据包括被标记为反映拼接的不存在的图像部分和被标记为反映拼接的存在的图像部分,其中被标记为反映拼接的存在的图像部分包括拼接图像的拼接边界。
示例包括第二实现的方法,包括存储、显示或传输得分或部分地基于得分的合成得分。示例包括第二实现的方法,包括:标识拼接图像内沿着拼接图像的拼接边界出现的一个或多个附加图像部分;将一个或多个附加图像部分输入到机器学习模块,以获取一个或多个附加得分;以及生成得分和一个或多个附加得分的直方图。示例包括第二实现的方法,包括:训练机器学习模块,其中训练数据包括用单个图像传感器检测的被标记为反映拼接的不存在的图像部分。示例包括第二实现的方法,包括:训练机器学习模块,其中训练数据包括用由人类针对图像部分所取自的图像而提供的主观得分被标记的图像部分。示例包括第二实现的方法,包括:基于得分选择拼接算法的参数。示例包括第二实现的方法,其中图像部分是来自拼接图像的包括拼接边界两侧的像素的像素块,其中像素块的分辨率小于第一图像的分辨率。示例包括第二实现的方法,其中机器学习模块包括接收来自图像部分中的像素的像素值并且输出得分的神经网络。示例包括第二实现的方法,包括:从机器学习模块获取针对来自沿着拼接图像的拼接边界的多个图像部分的多个得分;以及基于多个得分确定针对拼接图像的合成得分。
第三实现是一种方法,其包括:向人类呈现图像;从人类接收针对图像的得分;利用训练数据来训练机器学习模块,训练数据包括来自图像的用来自人类针对图像的得分标记的图像部分;以及将来自第一图像的图像部分输入到经训练的机器学习模块,以获取第一图像的质量估计。示例包括第三实现的方法,包括:基于第一图像的质量估计来选择图像处理算法的参数。
虽然已经结合某些实施例描述了本公开,但是应当理解,本公开不限于所公开的实施例,相反,本公开旨在覆盖被包括在所附权利要求的范围内的各种修改和等价布置,所附权利要求的范围应当被赋予最广泛的解释,以包含法律所准许的所有这些修改和等价结构。
附录A
总参数:39826。

Claims (15)

1.一种系统,包括:
第一图像传感器,被配置为捕获第一图像;
第二图像传感器,被配置为捕获第二图像;以及
处理装置,被配置为:
从所述第一图像传感器接收所述第一图像;
从所述第二图像传感器接收所述第二图像;
拼接所述第一图像和所述第二图像以获取拼接图像;
标识所述拼接图像的位于所述拼接图像的拼接边界上的图像部分;
将所述图像部分输入到机器学习模块以获取得分,其中所述机器学习模块已经使用训练数据被训练,所述训练数据包括被标记为反映拼接的不存在的图像部分和被标记为反映拼接的存在的图像部分,其中所述被标记为反映拼接的存在的图像部分包括拼接图像的拼接边界;
至少部分地基于所述得分,选择拼接算法的参数;
使用所述参数来拼接所述第一图像和所述第二图像,以获取合成图像;以及
基于所述合成图像存储、显示或传输输出图像。
2.根据权利要求1所述的系统,其中所述处理装置被配置为:
标识所述拼接图像内沿着所述拼接图像的所述拼接边界出现的一个或多个附加图像部分;
将所述一个或多个附加图像部分输入到所述机器学习模块,以获取一个或多个附加得分;以及
基于所述一个或多个附加得分,选择所述参数。
3.根据权利要求1或2所述的系统,其中所述机器学习模块包括被配置为基于所述图像部分确定特征的特征提取子模块。
4.根据权利要求1至3中的任一项所述的系统,其中拼接以获取所述拼接图像被执行,使得所述拼接图像的个体像素分别基于所述第一图像或所述第二图像,但不基于所述第一图像和所述第二图像两者;并且
其中拼接以获取所述合成图像被执行,使得所述合成图像的至少一个像素基于所述第一图像和所述第二图像两者。
5.根据权利要求1至3中的任一项所述的系统,其中拼接以获取所述拼接图像被执行,使得所述拼接图像的个体像素分别基于所述第一图像或所述第二图像,但不基于所述第一图像和所述第二图像两者;并且
其中所述训练数据的被标记为反映拼接的存在的图像部分包括在没有混合的情况下被拼接的拼接图像的拼接边界。
6.根据权利要求1至5中的任一项所述的系统,其中所述参数指定一维视差校正或二维视差校正是否将被应用于拼接所述第一图像和所述第二图像。
7.根据权利要求1至6中的任一项所述的系统,其中所述图像部分是来自所述拼接图像的像素块,所述像素块包括所述拼接边界两侧的像素,其中所述像素块的分辨率小于所述第一图像的分辨率。
8.根据权利要求1至7中的任一项所述的系统,其中所述机器学习模块包括卷积神经网络。
9.根据权利要求1至8中的任一项所述的系统,其中所述机器学习模块包括神经网络,并且所述图像部分是来自所述拼接图像的像素块,所述像素块包括所述拼接边界两侧的像素,并且来自所述像素块的所有像素值被输入到所述神经网络的第一层。
10.一种方法,包括:
从第一图像传感器接收第一图像;
从第二图像传感器接收第二图像;
拼接所述第一图像和所述第二图像以获取拼接图像;
标识所述拼接图像的位于所述拼接图像的拼接边界上的图像部分;以及
将所述图像部分输入到机器学习模块以获取得分,其中所述机器学习模块已经使用训练数据被训练,所述训练数据包括被标记为反映拼接的不存在的图像部分和被标记为反映拼接的存在的图像部分,其中所述被标记为反映拼接的存在的图像部分包括拼接图像的拼接边界。
11.根据权利要求10所述的方法,包括:
存储、显示或传输所述得分、或部分地基于所述得分的合成得分。
12.根据权利要求10或11所述的方法,包括:
标识所述拼接图像内沿着所述拼接图像的所述拼接边界出现的一个或多个附加图像部分;
将所述一个或多个附加图像部分输入到所述机器学习模块,以获取一个或多个附加得分;以及
生成所述得分和所述一个或多个附加得分的直方图。
13.根据权利要求10至12中的任一项所述的方法,包括:
基于所述得分,选择拼接算法的参数。
14.根据权利要求10至13中的任一项所述的方法,其中所述图像部分是来自所述拼接图像的像素块,所述像素块包括所述拼接边界两侧的像素,其中所述像素块的分辨率小于所述第一图像的分辨率。
15.根据权利要求10至14中的任一项所述的方法,其中所述机器学习模块包括神经网络,所述神经网络接收来自所述图像部分中的像素的像素值并且输出所述得分。
CN201780088194.7A 2017-03-10 2017-12-22 图像质量评估 Pending CN110463176A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/455,446 US10616482B2 (en) 2017-03-10 2017-03-10 Image quality assessment
US15/455,446 2017-03-10
PCT/US2017/068239 WO2018164753A1 (en) 2017-03-10 2017-12-22 Image quality assessment

Publications (1)

Publication Number Publication Date
CN110463176A true CN110463176A (zh) 2019-11-15

Family

ID=61003406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780088194.7A Pending CN110463176A (zh) 2017-03-10 2017-12-22 图像质量评估

Country Status (4)

Country Link
US (2) US10616482B2 (zh)
EP (1) EP3593524B1 (zh)
CN (1) CN110463176A (zh)
WO (1) WO2018164753A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111815621A (zh) * 2020-07-27 2020-10-23 北京联想软件有限公司 一种数据处理方法、装置及电子设备
CN112508849A (zh) * 2020-11-09 2021-03-16 中国科学院信息工程研究所 数字图像拼接检测方法及装置
WO2021163845A1 (en) * 2020-02-17 2021-08-26 Intel Corporation Enhancing 360-degree video using convolutional neural network (cnn) -based filter

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI775869B (zh) * 2017-06-29 2022-09-01 佳能企業股份有限公司 影像擷取裝置及影像處理方法
US10477064B2 (en) 2017-08-21 2019-11-12 Gopro, Inc. Image stitching with electronic rolling shutter correction
KR102053659B1 (ko) * 2017-09-13 2019-12-09 (주)다비오 기계학습과 이미지 프로세싱을 이용한 지도 제작 장치
CN107689030A (zh) * 2017-09-18 2018-02-13 上海联影医疗科技有限公司 一种图像处理的方法及装置
CN109191512B (zh) * 2018-07-27 2020-10-30 深圳市商汤科技有限公司 双目图像的深度估计方法及装置、设备、程序及介质
CN109309788A (zh) * 2018-10-18 2019-02-05 广州市盛光微电子有限公司 多镜头图像拼接装置及方法
US11012750B2 (en) * 2018-11-14 2021-05-18 Rohde & Schwarz Gmbh & Co. Kg Method for configuring a multiviewer as well as multiviewer
US20200294194A1 (en) * 2019-03-11 2020-09-17 Nvidia Corporation View synthesis using neural networks
GB2584986B (en) * 2019-03-19 2023-07-26 Sony Interactive Entertainment Inc System and camera device for capturing images
WO2020230891A1 (ja) * 2019-05-15 2020-11-19 株式会社Nttドコモ 画像処理装置
CN110246084B (zh) * 2019-05-16 2023-03-31 五邑大学 一种超分辨率图像重构方法及其系统、装置、存储介质
US11729364B2 (en) 2019-09-18 2023-08-15 Gopro, Inc. Circular stitching of images
US11055835B2 (en) * 2019-11-19 2021-07-06 Ke.com (Beijing) Technology, Co., Ltd. Method and device for generating virtual reality data
WO2021154807A1 (en) * 2020-01-28 2021-08-05 Gopro, Inc. Sensor prioritization for composite image capture
US11699001B2 (en) * 2020-10-13 2023-07-11 Flyreel, Inc. Generating measurements of physical structures and environments through automated analysis of sensor data
US11948315B2 (en) * 2020-12-31 2024-04-02 Nvidia Corporation Image composition in multiview automotive and robotics systems
US20220351331A1 (en) * 2021-04-30 2022-11-03 International Business Machines Corporation Object stitching image generation
US20230024474A1 (en) * 2021-07-20 2023-01-26 Nvidia Corporation Stitching quality assessment for surround view systems

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100097444A1 (en) * 2008-10-16 2010-04-22 Peter Lablans Camera System for Creating an Image From a Plurality of Images
US20100271511A1 (en) * 2009-04-24 2010-10-28 Canon Kabushiki Kaisha Processing multi-view digital images
CN104881855A (zh) * 2015-06-10 2015-09-02 北京航空航天大学 一种利用形态学和自由边界条件活动轮廓模型的多聚焦图像融合方法
TWI555379B (zh) * 2015-11-06 2016-10-21 輿圖行動股份有限公司 一種全景魚眼相機影像校正、合成與景深重建方法與其系統
CN106056600A (zh) * 2016-05-26 2016-10-26 中山大学 一种基于Contourlet变换的图像拼接检测方法
US20170004622A1 (en) * 2015-06-30 2017-01-05 Gopro, Inc. Image Stitching in a Multi-Camera Array

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8600193B2 (en) 2008-07-16 2013-12-03 Varian Medical Systems, Inc. Image stitching and related method therefor
US8890954B2 (en) 2010-09-13 2014-11-18 Contour, Llc Portable digital video camera configured for remote image acquisition control and viewing
US9445713B2 (en) * 2013-09-05 2016-09-20 Cellscope, Inc. Apparatuses and methods for mobile imaging and analysis

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100097444A1 (en) * 2008-10-16 2010-04-22 Peter Lablans Camera System for Creating an Image From a Plurality of Images
US20100271511A1 (en) * 2009-04-24 2010-10-28 Canon Kabushiki Kaisha Processing multi-view digital images
CN104881855A (zh) * 2015-06-10 2015-09-02 北京航空航天大学 一种利用形态学和自由边界条件活动轮廓模型的多聚焦图像融合方法
US20170004622A1 (en) * 2015-06-30 2017-01-05 Gopro, Inc. Image Stitching in a Multi-Camera Array
TWI555379B (zh) * 2015-11-06 2016-10-21 輿圖行動股份有限公司 一種全景魚眼相機影像校正、合成與景深重建方法與其系統
CN106056600A (zh) * 2016-05-26 2016-10-26 中山大学 一种基于Contourlet变换的图像拼接检测方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021163845A1 (en) * 2020-02-17 2021-08-26 Intel Corporation Enhancing 360-degree video using convolutional neural network (cnn) -based filter
CN111815621A (zh) * 2020-07-27 2020-10-23 北京联想软件有限公司 一种数据处理方法、装置及电子设备
CN112508849A (zh) * 2020-11-09 2021-03-16 中国科学院信息工程研究所 数字图像拼接检测方法及装置

Also Published As

Publication number Publication date
WO2018164753A1 (en) 2018-09-13
US10616482B2 (en) 2020-04-07
EP3593524B1 (en) 2021-09-01
US20200236280A1 (en) 2020-07-23
EP3593524A1 (en) 2020-01-15
US20180262683A1 (en) 2018-09-13

Similar Documents

Publication Publication Date Title
CN110463176A (zh) 图像质量评估
CN107925751B (zh) 用于多视点降噪和高动态范围的系统和方法
US11647204B2 (en) Systems and methods for spatially selective video coding
RU2689136C2 (ru) Автоматизированное определение поведения системы или опыта пользователя посредством записи, совместного использования и обработки информации, ассоциированной с широкоугольным изображением
CN106797460B (zh) 三维视频的重建
EP3134850B1 (en) Method for controlling a camera based on processing an image captured by other camera
CN103609102B (zh) 高分辨率多光谱图像捕捉
US9940717B2 (en) Method and system of geometric camera self-calibration quality assessment
KR101514502B1 (ko) 촬상 디바이스, 화상 처리 장치, 화상 처리 방법 및 촬상 디바이스의 제조 방법
US20120262607A1 (en) Multocular image pickup apparatus and multocular image pickup method
CN108055452A (zh) 图像处理方法、装置及设备
KR20180111798A (ko) 파노라마 프레임 생성 프로세스에서 프레임의 적응적 스티칭
CN103595979A (zh) 图像处理设备、图像拍摄设备及图像处理方法
EP3872744B1 (en) Method and apparatus for obtaining sample image set
CN105144687A (zh) 图像处理装置、图像处理方法及程序
KR20200122323A (ko) 멀티 센서를 사용하여 옴니 스테레오 비디오를 캡처하는 시스템 및 방법
JP2019080223A (ja) カメラシステム
CN111108742A (zh) 信息处理装置、信息处理方法、程序以及可互换透镜
WO2017112800A1 (en) Macro image stabilization method, system and devices
JPWO2019026287A1 (ja) 撮像装置および情報処理方法
KR20150003576A (ko) 삼차원 영상 생성 또는 재생을 위한 장치 및 방법
CN104756493A (zh) 摄像装置、图像处理装置、摄像装置的控制程序及图像处理装置的控制程序
US10122990B2 (en) Imaging system and method of producing context and focus images
CN110199519A (zh) 用于多相机设备的方法
WO2019008222A1 (en) METHOD AND APPARATUS FOR ENCODING MULTIMEDIA CONTENT

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20191115

WD01 Invention patent application deemed withdrawn after publication