机器视觉处理系统的制作方法

文档序号:12604181阅读:326来源:国知局
机器视觉处理系统的制作方法与工艺

本申请涉及视觉处理系统,尤其涉及机器视觉处理系统。



背景技术:

机器视觉技术被用于各种各样的用户。现实世界对象通常是非平面的。因此,现实世界对象的图像或其他捕捉的或机器生成的图像通常包括产生于对象的颜色或装饰的内容(在此称为对象的“反照率(albedo)”)以及产生于对象的照明的内容(在此称为对象的“阴影”)。对象的几何形状使得阴影跨对象的表面变化。因此,反照率内容和阴影内容通常被组合在图像中。这样的组合可减少机器视觉算法(诸如对象定位、朝向检测或人脸检测)的准确性。



技术实现要素:

本申请描述了用于从数字图像中确定反照率和阴影信息(在此称为“分解”数字图像)的系统、方法和计算机可读介质。在一些示例中,计算系统可使用色差阈值从数字图像中产生反照率图和带有阴影的图。计算系统可通过以下来产生经修正的数字图像:使用反照率图和数字图像来确定颜色带有阴影的图,基于颜色带有阴影的图来确定照明系数以及基于照明系数来调整数字图像。根据在此描述的示例技术,计算系统可使用经修正的数字图像来产生经修正的反照率图以及经修正的带有阴影的图。在一些示例中,计算系统可为数字图像的各个颜色通道产生相应的反照率图和相应的带有阴影的图。计算系统还可接着基于相应的每通道带有阴影的图来产生颜色带有阴影的图。

在一些示例中,计算系统可确定数字图像的诸区域。计算系统可接着确定诸区域中的各个区域之间的一个或多个邻近度关系并使用邻近度关系来确定反照率和带有阴影的图。根据本文中的各个示例,邻近度关系中的一个可对应于具有比色差阈值更接近的颜色的相邻区域之间的反照率差。根据本文中的各个示例,邻近度关系中的一个可对应于各相邻区域之间的阴影差。

提供发明内容以便以简化形式介绍将在以下详细描述中进一步描述的一些概念的选集。本发明内容不旨在标识所要求保护的主题的关键或必要特征, 也不旨在用于帮助确定所要求保护的主题的范围。例如术语“技术”可指代上述上下文和通篇文档中所准许的系统、方法、计算机可读指令、模块、算法、硬件逻辑和/或操作。

附图简述

参考附图来描述详细描述。在附图中,附图标记中最左边的数字标识该附图标记首次出现的附图。在不同的附图中使用相同的附图标记指示类似或相同的项。

图1是描绘了用于实现在此描述的图像分解的示例环境的框图。

图2是描绘了根据在此描述的各示例被配置成参与图像分解的示例计算设备的框图。

图3是描绘了在图像分解期间的示例模块交互的数据流图。

图4是描绘了在图像分解的细化期间的示例模块交互的数据流图。

图5是示出了用于分解数字图像的示例过程的流程图。

图6是示出了用于分解数字图像的示例过程的流程图。

图7显示被渲染的数字图像的图形表示。

图8显示了对应于图7中表示的数字图像的示例反照率图像的图形表示。

图9显示了对应于图7中表示的数字图像的示例带有阴影的图像的图形表示。

详细描述

概览

在此描述的各示例提供用于确定图像的反照率和阴影分量的技术和构造。这种分离能允许各个机器视觉算法以提升的速度、提升的精确性、降低的计算时间或减低的存储器要求来操作。这种分离还能允许执行附加的技术,诸如重新照明、在虚拟环境中渲染或三维(3-D)打印。例如,在重新照明中,对象的图像被用于确定对象的反照率。接着生成显示在不同于对象的图像中的照明条件的照明条件(不同的阴影)下的对象的图像。重新照明和使用分开的反照率和阴影信息的其他技术还可被用于在虚拟环境中准确地渲染对象。将反照率和阴影分离还能允许在使用对象的反照率而不使用阴影的情况下渲染对象的图像或对对象进行3-D打印或以其他方式建模。各种各样的示例允许确定要与3- D扫描仪组合的反照率信息来产生对象的虚拟模型以及其表面外观。

如在此使用的,反照率信息和阴影信息被单独地或统一地称为“本征图像”或“图”。从输入图像中确定反照率信息和阴影信息被称为“图像分解”。如在此使用的,“反照率”和“阴影”不要求整个3-D对象的反照率或阴影被确定。确定对象在任何图像或对象的图像集中可见的(各)部分的反照率或阴影是足够的。术语“本征图像”不要求反照率信息或阴影信息以图像的形式被确定或呈现;其他表示可被使用,诸如基本上恒定的反照率的各区域的边界多边形。术语“机器视觉”不要求使用相机、机器人或其他特定的机器视觉硬件,虽然本文中的技术可与这样的硬件结合使用。

本文描述的一些示例提供相比于传统的本征图像算法而言改进的性能。使用区域而非像素来作为分析的基本单元的一些示例减少了确定本征图像所要求的存储器空间的量和计算时间。一些示例有利地将二维图像分隔成反照率和阴影信息,二维图像是例如具有跨两个空间维度范围的光学信息但不具有深度信息的图像。一些示例可有利地确定被多个灯或被彩色灯(即,在照明场景时不是基本上白色的灯)照明的场景的阴影信息。灯在任意正的辐射强度处可以是彩色的。

根据一些示例的用于图像分解的一些示例、场景和技术的示例在以下对附图的描述中被更加详细地呈现。

说明性环境

图1显示了图像分解系统可在其中操作的或诸如以下描述的图像分解方法可在其中被执行的示例环境100。在示出的示例中,环境100的各个设备和/或组件包括被描绘为服务器组件的计算设备102和被描绘为相机的图像源104。图像源104可包括一个或多个计算设备或其他被配置成提供数字图像106的系统。在示出的示例中,图像源104提供场景108的数字图像。场景108包括由光源112照明的对象110,在这个示例中为球体。对象110具有反照率114,在这个示例中被描绘为纬度和经度线的网格。由于光源112关于从其数字图像106被捕捉的视点的角度,因此在这个示例中,对象110在数字图像106中的图像数据包括包含阴影116的区域。在其他示例中,虽然光源112可不被包括在场景108中,但是来自光源112的影响可在场景108中可见。

在此的各个方面确定反照率图118和带有阴影的图120,被描绘为图像但不限于图像。反照率图118在这个示例中包括形成反照率114的线但不包括阴影116,并且带有阴影的图120在这个示例中包括阴影116但不包括反照率114。在一些示例中,计算设备102确定反照率图118和带有阴影的图120。对于对象110、数字图像106、反照率114、阴影116、反照率图118和带有阴影的图120的具体描绘并非限制。在一些示例中,反照率图118包括颜色图像,并且带有阴影的图120包括灰度图像或所选颜色通道的强度图像,如以下描述的。

计算设备102和图像源104可包括各种各样的设备类别、分类或类型,例如,台式计算机、膝上型计算机、平板计算机、数字相机或蜂窝电话,并且不被限制为特定类型的设备。例如,计算设备102可以是计算群集(未显示)中的计算节点,例如,诸如MICROSOFT AZURE的云服务或其他分布式计算资源。云计算允许将计算资源作为服务而非可递送产品来提供。例如,在云计算环境中,在网络(诸如因特网)上(例如通过租赁协定)提供计算能力、软件、信息和/或网络连接性。计算设备102和图像源104的示例组件在以下列出。

在一些示例中,图像源104被具体化在计算设备102中或连接到计算设备102。例如,图像源104和计算设备102可被具体化在智能电话、平板、MICROSOFT SURFACE或被配置成捕捉图像并分解被捕捉的图像的其他设备中。这能有利地在即使未连接到网络的情况下允许分解图像。在一些示例中,图像源104被具体化在与计算设备102分开的另一计算设备(出于简明的目的被省略)中或连接到该另一计算设备。在一些示例中,图像源104可经由一个或多个网络122通信地与计算设备102连接。例如,图像源104可被具体化在智能电话中并且计算设备102能被具体化在云或其他托管的图像分解服务中。在一些示例中,计算设备102或图像源104可经由一个或多个网络122与其他计算设备(未显示)进行通信。在一些示例中,计算设备102或图像源104可经由网络122与外部设备进行通信。例如,网络122可包括诸如因特网之类的公共网络、诸如机构或个人内联网之类的专用网络、或专用和公共网络的组合。网络122的其他示例在以下描述。

一示例计算设备102的组件被示出在插图124处。示例计算设备102的细节可代表其他计算设备102或图像源104。然而,计算设备102或图像源104 中的各个可包括附加的或替换的硬件和/或软件组件。计算设备102可包括可诸如经由总线130操作地连接到一个或多个计算机可读介质128的一个或多个处理单元126,在一些实例中,该总线130可包括系统总线、数据总线、地址总线、外围部件互连(PCI)快速(PCIe)总线、PCI总线、Mini-PCI总线以及任何各种本地、外围和/或独立总线中的一个或多个或它们的任意组合。在一些示例中,多个处理单元126可通过内部接口总线(如PCIe)而不是网络122来交换数据或除了网络122之外,多个处理单元126可通过内部接口总线(如PCIe)来交换数据。处理单元126和计算机可读介质128的其他示例在以下描述。

计算设备102或图像源104可包括一个或多个通信接口132,该一个或多个通信接口132能够实现经由网络122的在计算设备102或图像源104与图像分解中涉及的其他联网计算设备102或图像源104或其他计算设备之间的有线或无线通信。例如,通信接口132可包括用于经由网络122发送和接收通信的收发器设备,诸如网络接口控制器(NIC)。

在一些示例中,计算机可读介质128可存储可由处理单元126执行的指令。计算机可读介质128可存储例如,操作系统134、映射引擎136、细化引擎138的可执行指令以及可被处理单元126加载和执行的其他模块、程序或应用。在一些示例中,存储在计算机可读介质128上的计算机可执行指令在被执行之际可配置计算机(诸如计算设备102或图像源104)来执行在此关于操作系统134、映射引擎136或细化引擎138描述的操作。下面讨论操作系统134进一步细节。

在一些示例中,计算设备102或图像源104可包括用户接口140。用户接口140可包括被配置用于到用户或另一计算设备102或图像源104通信的一个或多个输出设备。输出设备对于计算设备102或图像源104而言可以是集成的或外围的。输出设备的示例可包括显示器、打印机、音频扬声器、传呼机或其他音频输出设备、振动马达、线性振荡器或其他触觉输出设备等。

用户接口140可包括对于计算设备102或图像源104而言集成的或外围的一个或多个输入设备。输入设备可以是用户可操作的,或可被配置用于来自其他计算设备102或图像源104的输入。输入设备的示例可包括例如,键盘、键区、鼠标、跟踪球、笔传感器或智能笔、光笔或光枪、游戏控制器(诸如操纵杆或游戏垫)、语音输入设备(诸如话筒)、语音识别设备或语言识别设备、 触摸输入设备、姿势输入设备(诸如触摸屏)、握持传感器、加速度计、另一触感输入、可视输入设备(诸如一个或多个相机或图像传感器)等。

在一些示例中,计算设备102或图像源104可包括例如被配置成提供数字图像或能被处理成数字图像的数据的一个或多个传感器142。示例图像传感器可包括智能电话前向和后向相机、光传感器(例如,CdS光敏电阻器或光敏晶体管)、照片成像器(例如,电耦合器件(CCD)、互补金属氧化物半导体(CMOS)传感器等)、视频成像器(例如,CCD或CMOS)、指纹读取器、视网膜扫描仪、虹膜扫描仪、计算机射线照相扫描仪,等等。

在各个示例中,计算设备102和图像源104可包括但不限制与,服务器计算机和刀片服务器(诸如Web服务器、映射/减少(map/reduce)服务器或其他计算引擎)、或网络附连存储单元、膝上型计算机、瘦客户机、终端、或其他移动计算机、可穿戴计算机(诸如智能手表或生物测定或医疗传感器)、植入计算设备(诸如生物测定或医疗传感器)、或固定传感器(诸如被配置成监视时间、环境条件、震动、运动或世界或结构(例如桥或坝)或其中的设备的其他属性的物联网(IoT)传感器)、计算机导航客户端计算设备、基于卫星的导航系统设备(包括全球定位系统(GPS)设备)和其他基于危险的导航系统设备、平板计算机或平板混合计算机、智能电话、移动电话、移动电话-平板混合设备或其他电信设备、便携式或基于控制台的游戏设备或其他娱乐设备(诸如启用网络的电视机、机顶盒、媒体播放器)、相机或个人录像机(PVR)、车载计算机(诸如车辆控制系统、车辆安全系统或车辆的电子钥匙)、个人数字助理(PDA)、台式计算机或包括在计算设备内的集成组件、电器或被配置成参与或实现在此描述的图像分解(例如,用于从数字图像106中确定反照率或阴影信息)的其他计算设备。在一些示例中,如指示的,计算设备(例如,计算设备102和图像源104)可互相通信来参与或实现在此描述的图像分解。

不同的设备或不同的类型的设备可具有对本征图像(intrinsic-image)数据的不同使用。例如,用于机器人或工业机器的控制器可使用反照率信息来独立于工作件的照明确定这些工作件的位置。3-D打印系统可将反照率信息应用到要被打印的模型,从而允许从现有对象的图像中更为准确地重现这些现有对象。各个方面使用这种用2-D图像捕捉装置(诸如传统相机或图像传感器)捕捉的 图像,从而在无需3-D扫描或成像的花费、处理时间或存储器要求的情况下允许确定反照率和阴影。重新照明和渲染系统可使用反照率信息来在不同于数字图像106中的照明条件的照明条件下产生对象110的描绘。取证系统可使用阴影信息来确定数字图像106在其下被捕捉的照明条件。

在图1的示例中,处理单元126被描述为驻留在计算设备102上。在一些示例中,处理单元126可附加地或替换地驻留在不同的计算设备102或图像源104上。在一些示例中,处理单元126中的至少两个可驻留在不同的计算设备102或图像源104上。在这样的示例中,在相同计算设备102或图像源104上的多个处理单元126可使用计算设备102或图像源104的总线130来交换数据,而不同计算设备102或图像源104上的处理单元126可经由网络122交换数据。

在各个示例中,图1中的网络122还可包括任何类型的有线和/或无线网络,包括但不限于局域网(LAN)、广域网(WAN)、卫星网络、有线网络、Wi-Fi网络、WiMax网络、移动通信网络(如3G、4G等等)或它们的任意组合。网络122可利用通信协议,诸如例如基于分组的或基于数据报的协议,如网际协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、其他类型的协议或它们的组合。而且,网络122还可包括促进网络通信和/或形成网络的硬件基础架构的若干设备,如交换机、路由器、网关、接入点、防火墙、基站、中继器、主干设备等等。网络122还可包括促进使用各种拓扑结构的总线协议的计算设备102或图像源104之间的通信,例如跨接开关、INFINIBAND开关或FIBRE CHANNEL(光纤通道)开关或中枢。不同的网络具有不同的特征,例如带宽、等待时间、可访问性(开放、宣告但受安全性保护或未宣告)或覆盖区域。

在一些示例中,网络122可进一步包括能够实现到无线网络的连接的设备,诸如无线接入点(WAP)。各示例支持通过WAP的连接性,WAP经由各个电磁频率(例如,无线电频率)来发送和接收数据,包括支持电气和电子工程师协会(IEEE)802.11标准(例如,802.11g、802.11n等)、其他标准(例如,BLUETOOTH、蜂巢式电话网络标准(诸如GSM、LTE或WiMAX))或它们的多个或组合的WAP。

如以上讨论的,在一些示例中,计算设备102或图像源104的通信接口可包括一个或多个收发器设备来经由网络发送和接收通信,该一个或多个收发器设备例如网络接口控制器(NIC)(诸如以太网NIC)或其他类型的收发器设备。处理单元126可通过相应的通信接口来交换数据。在一些示例中,通信接口可以是PCIe收发器,并且网络122可以是PCIe总线。在一些示例中,通信接口可包括但不限于,用于蜂窝(3G、4G或其他)、WI-FI、超宽带(UWB)、BLUETOOTH(蓝牙)或卫星传输的收发器。通信接口可包括有线I/O接口,如以太网接口、串行接口、通用串行总线(USB)接口、INFINIBAND接口或其他有线接口。为了简明起见,这些和其他组件从示出的计算设备102中省略。

图1中的处理单元126可以是或可包括一个或多个单核处理器、多核处理器、CPU、GPU、通用图形处理单元(GPGPU)或例如经由来自模块或API的专用编程配置以执行在此描述的功能的硬件逻辑组件。作为示例而非限制,可被使用在处理单元126中或被用作处理单元126的硬件逻辑组件的说明性类型包括现场可编程门阵列(FPGA)、程序专用的集成电路(ASIC)、程序专用的标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)、数字信号处理器(DSP)以及其它类型的可定制处理器。例如,处理单元126可表示混合设备,诸如来自包括内嵌在FPGA结构中的CPU核的ALTERA或XILINX的设备。这些或其他硬件逻辑组件可独立地操作,或在一些实例中,可由CPU驱动。在一些示例中,计算设备102或图像源104中的至少一些可包括多个类型的多个处理单元126。例如,计算设备102中的处理单元126可以是一个或多个GPGPU和一个或多个FPGA的组合。不同的处理单元126可具有不同的执行模型,例如,如在用于图形处理单元(GPU)和中央处理单元(CPU)的情况下。在一些示例中,处理单元126、计算机可读介质128和存储在计算机可读介质128上的模块或引擎可一起表示ASIC、FPGA或被配置成实现这些模块或引擎的功能的其他逻辑设备。

在此描述的计算机可读介质(例如,图1中的计算机可读介质128)包括计算机存储介质和/或通信介质。计算机存储介质(例如,一计算机存储介质)包括有形存储单元,诸如在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任意方法或技术中实现的易失性存储器、非易失性存 储器和/或其他持久和/或辅助计算机存储介质、可移动和不可移动计算机存储介质。计算机可读介质128可存储可由外部处理单元(诸如由外部CPU或以上讨论的任意类型的外部处理器)执行的指令。在一些示例中,至少一个处理单元126(例如,CPU、GPU或硬件逻辑设备)被合并在计算设备102中,而在一些示例中,至少一个处理单元126(例如,CPU、GPU或硬件逻辑设备中的一个或多个)在计算设备102的外部。

计算机存储介质包括有形或物理形式的介质,该介质被包括在设备或作为设备的一部分或外置于设备的硬件组件中,该介质包括但不限于:随机存取存储器(RAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、相变存储器(PRAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、光卡或其它光存储介质、磁带盒、磁带、磁盘存储、磁卡或其他磁存储设备或介质、固态存储器设备、存储阵列、网络附连存储、存储区域网络、被托管的计算机存储或存储器、存储、设备和/或可用于存储并维护供计算设备102或图像源104访问的信息的存储介质。

与计算机存储介质相反,通信介质可在诸如载波之类的已调制数据信号或其他传输机制中体现计算机可读指令、数据结构、程序模块或其他数据。如本文所定义的,计算机存储介质不包括通信介质。

在一些未显示的示例中,计算设备102或图像源104中的一个中的处理单元126中的一个或多个例如经由通信接口132和网络122可操作地连接到计算设备102或图像源104中的另一个中的计算机可读介质128。例如,用于执行本文中示出的框的功能或本文中流程的步骤的程序代码可例如经由网络122从服务器(例如,计算设备102)下载到客户端(例如,图像源104)并由图像源104中的一个或多个处理单元126执行。

计算设备102的计算机可读介质128可存储操作系统134。在一些示例中,操作系统134不被使用(通常被称为“裸机”配置)。在一些示例中,操作系统134可包括使计算设备102能够或引导计算设备102经由各种输入(例如,用户控件、网络或通信接口、存储器设备或传感器)来接收数据并且能够使用处理单元126来处理数据以生成输出的组件。操作系统134还可包括呈现输出(例 如,在电子显示器上显示图像、在存储器中存储数据、将数据传送给另一计算设备等)的一个或多个组件。操作系统134可使得用户能够使用用户接口140与软件应用进行交互,例如与呈现反照率图118和带有阴影的图120的图像的映射引擎136的模块进行交互。附加地,操作系统134可包括执行通常与操作系统相关联的各种功能(例如,存储管理和设备内部管理)的组件。

说明性组件

图2是显示计算设备200的示例组件的说明性图,该计算设备200可表示计算设备102或图像源104并且该计算设备200可根据在此描述的各示例被配置成参与图像分解。计算设备200可实现分割引擎202。计算设备200可实现映射引擎204,其可表示图1的映射引擎136。计算设备200可实现细化引擎206,其可表示图1的细化引擎138。计算设备200可包括用于如在此描述的产生修正的数字图像的系统或设备或被包括在这样的系统或设备中。

在例如提供图像分解服务的计算设备102的一些示例中,计算设备200可实现分割引擎202和映射引擎204,但不包括传感器216。在例如诸如使用图像分解服务的智能电话之类的图像源104的一些示例中,表示图像源104的计算设备200可包括传感器216,但不实现分割引擎202或映射引擎204。在例如实现图像分解服务和对其的使用两者的计算设备102或图像源104的一些示例中,计算设备202可包括传感器216并实现分割引擎202和映射引擎204。

计算设备200可包括或连接到用户接口208,其能表示用户接口140。用户接口208可包括显示器210,例如被配置成显示输入数字图像106或诸如反照率图118和带有阴影的图120之类的本征图像。显示器210可包括有机发光二极管(OLED)显示器、液晶显示器(LCD)、阴极射线管(CRT)或另一类型的视觉显示器。显示器210可以是触摸屏的组件,或可包括触摸屏。用户接口208可包括以上关于用户接口140描述的各种类型的输出设备。在一些实施例中,映射引擎204和细化引擎206中的至少一个操作地耦合到显示器210或另一输出设备。

用户接口208可包括用户可操作的输入设备212(图形地表示为游戏键盘)。用户可操作的输入设备212可包括以上关于用户接口140描述的各种类型的输入设备。例如,图像源104的用户可操作的输入设备212可包括被配置成接收 命令来捕捉场景108的数字图像106的快门按钮或其他控件。

计算设备200还可包括一个或多个输入/输出(I/O)接口214,藉此计算设备200可与输入、输出或I/O设备进行通信(出于清楚目的,一些未被描绘)。这样的设备的示例可包括用户接口208的组件,诸如用户可操作的输入设备和输出设备。这样的设备的其他示例包括例如用于捕捉例如场景108的数字图像106的一个或多个传感器216,其可表示图1的传感器142。传感器216中的各个可被配置成输出对应于至少一个物理特性(例如,设备的环境的物理特性)的传感器数据,诸如环境光或场景图像。一些示例传感器216包括可见光图像传感器、红外光图像传感器(例如,λ∈[700纳米,15微米]或λ∈[700纳米,1毫米])或捕捉场景中对象的快闪图像(flash image)响应的成像设备。提供可见光图像之外的数据的传感器216在此被称为“补充传感器”,其提供例如具有“补充像素”的“补充图像”。然而,不要求补充传感器提供图像;补充传感器可提供其他类型的补充值。

计算设备200可包括一个或多个处理单元218,其可表示处理单元126。处理单元218可例如经由I/O接口214操作地耦合到用户接口208和/或传感器216。处理单元218可操作地耦合到至少一个计算机可读介质220,如以下讨论的。处理单元218可包括例如以上描述的处理单元类型,诸如CPU类型或GPGPU类型处理单元。在一些示例中,处理单元218可包括或连接到存储器222,例如随机存取存储器(RAM)或高速缓存。

处理单元218可被配置成执行计算机可读介质220(例如,计算机存储介质)上的多个模块中的各个模块,如以下讨论的。例如,存储在计算机可读介质220上的计算机可执行指令可在执行之际配置计算机(诸如计算设备200)来执行在此关于多个模块(例如,分割引擎202、映射引擎204或细化引擎206的模块)中的各个模块描述的操作。计算机可读介质220中存储的模块可包括当被一个或多个处理单元218执行时使得一个或多个处理单元218执行以下描述的操作的指令。

在示出的示例中,计算机可读介质220包括数据存储224。数据存储224可附加地或替换地被整体或部分地体现在存储器222中。在一些示例中,数据存储224可包括用于存储数字图像226(例如,图1的数字图像106)的第一存 储器。数字图像可包括例如多个像素的数据。像素中的各个像素的数据可包括多个颜色通道(平面)中各个通道的相应值,该多个颜色通道例如红(R)、绿(G)以及蓝(B)颜色通道;亮度(Y)、蓝色度(Cb)和红色度(Cr)颜色通道;或其他颜色组织。在一些示例中,数据存储224可包括用于存储区域图228的第二存储器,如以下讨论的。

计算设备200还可包括一个或多个通信接口230,其可表示通信接口132。如此,计算设备200可具有网络能力。例如,计算设备200可以经由一个或多个网络122(如因特网)来与计算设备102或图像源104(例如,膝上型计算机、计算机和/或服务器)交换数据。

在一些示例中,处理单元218可经由总线232访问计算机可读介质220上的模块,该总线232可表示图1的总线130。I/O接口214和通信接口230还可经由总线232与处理单元218通信。

存储在计算机可读介质220上的分割引擎202的模块可包括被示出为分割模块234的一个或多个模块,例如外壳(shell)模块或应用编程接口(API)模块。

存储在计算机可读介质220上的映射引擎204的模块可包括被示出为阈值确定模块236、关系模块238、映射模块240、通道映射模块242和组合模块244的一个或多个模块,例如外壳(shell)模块或应用编程接口(API)模块。

存储在计算机可读介质220上的细化引擎206的模块可包括被示出为阴影模块246、系数模块248和修正模块250的一个或多个模块,例如外壳(shell)模块或应用编程接口(API)模块。

在分割引擎202、映射引擎204或细化引擎206中,模块的数量可变得更高或更低,并且各种类型的模块可被用在各种组合中。例如,与示出的模块相关联描述的功能可被组合以由更少数量的模块或API执行或可被划分并由更多数量的模块或API执行。例如,分割引擎202和映射引擎204的模块中的一个或多个可被组合在执行以下描述的这些模块的示例功能中的至少一些的单个模块中。在一些示例中,以下模块集可被组合在执行以下描述的这些模块的示例功能中的至少一些的单个模块中:阈值确定模块236、关系模块238和映射模块240;阈值确定模块236、关系模块238和通道映射模块242;阴影模块 246和系数模块248;或修正模块250和组合模块244。这些示例不是限制性的并且其他组合可由在此描述的模块组成。在一些示例中,计算机可读介质220可包括在此描述的模块的子集。

图3是示出图2中示出的各模块之间的示例交互的数据流图300。在一些示例中,数字图像226由分割引擎202的分割模块234或映射引擎204的映射模块240处理。

在一些示例中,如以下描述的产生经修正的数字图像302。在这些示例的一些中,经修正的数字图像302可被进一步处理以例如增加反照率图118或带有阴影的图120的准确性。出于解释清楚的目的而非限制,在此参考经修正的数字图像302讨论的数据路径被显示为虚线。带有横向笔划的线条表示总线,即,对这样的线条的任意输入可提供到这样的线条的任意输出的数据。

在一些示例中,分割模块234可被配置成至少部分基于数字图像226的像素的颜色值来确定区域图228,该区域图228标识数字图像的多个区域以及该多个区域中各区域的相应颜色值或该多个区域中的各个区域的一个或多个相应颜色值。每个区域可一般具有单个颜色并被视为一般具有单个反照率。对每个区域进行处理来取代对该区域中的各个像素进行处理可显著地减少图像分解的处理时间和存储器要求。例如,具有相似色度值的相邻区域还可被视为具有对于相邻区域中的每一个的相同反照率值的单个材料。

在一些示例中,分割模块234可被配置成过滤数字图像来减少其中的唯一性的颜色的数量。例如,分割模块234可将均值偏移过滤器应用到数字图像226。均值偏移过滤器可具有例如5的空间带宽hs以及例如3的范围(颜色)带宽hr。均值偏移过滤可在各种颜色空间中实现,诸如由国际照明委员会(CIE)或国家电视制式委员会(NTSC)定义的那些颜色空间。可被使用的示例颜色空间包括CIE L*a*b*(CIELAB)、CIE L*u*v*(CIELUV,1976)、CIE Yu’v’(CIE 1976统一坐标尺度,UCS,加亮度Y)、YIQ(NTSC 1953)、sRGB、线性RGB或其他颜色空间。也可使用其他用于减少图像中唯一性的像素值的数量的过滤器。在一些示例中,替代于或附加于均值偏移过滤,可使用基于梯度的方法,例如跨图像的色差梯度上的阈值。

分割模块234可至少部分基于色差分组阈值将各部分(area)(例如,经 过滤的数字图像的各像素)进行分组以在数字图像226的区域图228中提供多个区域中的各区域。在一些示例中,分割模块234对经过滤的图像中的相邻像素进行分组(例如,群集)。色差分组阈值可包括像素数据中比特(例如,24比特R8G8B8RGB或16比特R5G6B5RGB)的汉明(Hamming)距离,例如<1或<4。色差分组阈值还可或替换地包括颜色空间中的距离,例如≤1.0的CIELABΔE*。

在一些示例中,分割模块234被进一步配置成对经过滤的数字图像的各部分进行分组,使得所提供的数字图像的区域中的各个区域具有高于所选大小阈值M的大小。例如,分割模块234可丢弃具有少于M的像素的(例如,具有少于32像素的)像素群集。这可减少分解过程对图像中的空间噪音的敏感度。作为应用阈值M>1的结果或例如由于诸如高空间频率噪音之类的图像内容,数字图像226中的一些像素可不被包括在任何区域中。这些像素在此被称为“未被分组的”像素。在一些示例中,M=1,所以每个像素都在一个区域内。在一些示例中,数字图像226中的每个像素在至多一个区域中。

在一些示例中,分割模块234可被配置成确定区域的相应颜色值。例如,区域的颜色值可以是该区域中的像素的平均颜色。平均可例如按色度坐标或在颜色空间(诸如CIELAB或以上列出的任意其他颜色空间)中取得。在一些示例中,分割模块234可被配置成确定未被分组的像素中的一个或多个的相应颜色值。

在一些示例中,关系模块238可被配置成确定诸区域中的各个区域之间的多个邻近度关系。邻近度关系可包括例如,关于附近分组的反照率或阴影如何相关的限制。

如以下参考映射模块240讨论的,在一些示例中,可使用例如最小化能量函数的数学优化技术来确定反照率图118和带有阴影的图120。在这些示例中的一些中的邻近度关系可包括能量项,该能量项将数字优化驱向偏好的反照率和阴影分配或将数字优化驱离非偏好的分配。这些能量项是限制的示例。由于存在对应于数字图像226的反照率和带有阴影的图的许多可能的组合,所以对这些组合中的组合的邻近度关系驱动选择将被提供。使用本文中的各个邻近度关系可提供感知上合理的反照率和带有阴影的图,例如,通常对应于人类感知 数字图像226中描绘的场景108的方式。在一些示例中,邻近度关系包括数学表达式,其测量数字图像226的两个部分之间的相似度(或相似度的缺乏),例如两个像素之间或两个区域之间或数字图像226的一个部分与数字图像226外部的对应的参考或值之间。

例如,可如等式(1)中来确定输入图像I的反照率图A和带有阴影的图S:其中I=AS (1)

在等式(1)中,可以是等式(2)中给定的形式的函数:(2)

其中n对wk和对应的邻近度关系Rk加权。邻近度关系可与例如反照率、阴影、补充值或A和S的确定准确性有关。

在一些示例中,至少一个邻近度关系R1与反照率有关并且至少一个其他邻近度关系R2与阴影有关。在这些示例中,相应的权重可相关为w1≥95w2或w1≈100w2。在一些示例中,在此描述的邻近度关系可被分类为例如位置关系(例如,数字图像226中的相邻像素可能具有接近的3-D空间位置)、阴影关系(例如,接近的空间关系通常共享相似的阴影)或反照率关系(例如,具有相似色度值的接近的空间位置通常具有相同的材料,由此具有相同的反照率)。

在以下讨论中,A(i)和S(i)指ith(第i)区域的相应反照率和阴影值。在这些示例中,反照率图118包括区域中的各个区域的相应反照率值A(i),并且带有阴影的图120包括区域中的各个区域的相应阴影值S(i)。在一些示例中,邻近度关系中的至少一个表达I=AS的限制,例如,如等式(3)中给出的:

R1(A,S)=|A·S-I| (3)

等式(3)中的乘积A·S是一个元素一个元素(例如,一个像素一个像素或一个区域一个区域)取的。

在一些示例中,关系模块238可被配置成选择区域中具有分开不到色差阈值中的至少一个的相应颜色值的相邻区域的一个或多个分组。例如,关系模块238可选择包括多个区域的第一区域以及多个区域的第二区域的分组。第一和第二区域可具有分开不到色差阈值中的至少一个的相应颜色值。色差阈值可对 应于颜色空间(诸如CIELAB或以上列出的任一其他颜色空间)中的色差。示例色差度量包括L2范数‖·‖2(即颜色空间(例如L*a*b*或RGB)中的欧几里得距离)、L1范数‖·‖1(Manhattan(曼哈顿)距离)和颜色空间中的其他Lp范数。其他示例色差度量包括颜色表示或颜色空间中一个或多个分量的数字表示之间的色调角差、每分量或多分量差(例如CIELABΔC*、ΔL*、Δa*或Δb*)。色差度量的一个示例是CIE 1976UCSΔu’v’。给定区域r的颜色值两个区域a和b的Δu’v’可被计算为如等式(4)和(5)中:(4)

Δu′=u′a-u′b;Δv′=v′a-v′b (5)

在一些示例中,关系模块238可被配置成至少部分基于数字图像中的峰值颜色距离来确定色差阈值中的至少一个,峰值颜色距离例如沿着颜色空间中一个或多个维度的颜色范围或数字图像226中两个颜色之间的最大距离。等式(6)和(7)显示为每个区域使用CIE 1976UCS中的颜色值的示例。

一个或多个色差阈值可如在等式(8)和(9)中给出的那样确定:

ts=psmin(U,V) (8)

tp=ppmin(U,V) (9)

其中ts是区域中像素的阈值,并且tp是未被分组的像素的阈值。可为参数ps和pp选择值来调节算法的性能。

在一些示例中,在一些示例中,可以使用其他值。在一些示例中,可为不同的颜色分量(例如,为u’和v’方向)来选择不同的阈值。在一些示例中,ts,u′=ps,u′U并且ts,v′=ps,v′V,并且类似地对于tp,u′和tp,v′。在一些示例中,ps,u′=ps,v′,例如具有1/16的值。

在一些示例中,小1的、值被用于将u’v’空间(或其他颜色空间,例如CIELAB a*b*)划分成具有与ps或pp成反比大小的单元格网格。在一些示例中,例如通过使用从颜色空间中的一组参考颜色的Voronoi分解,颜色空间被划分 成单元格。在一些示例中,颜色空间例如基于来自红外图像或在闪光照明下捕捉的图像的补充信息来被划分成单元格。补充信息可被用于确定反照率图的色度分布,其可接着例如根据常规网格或基于色度分布的梯度或其他特征被细分成单元格。

以上描述的示例中的一些选择可被应用在颜色空间中任何地方(例如u’v’图中的任何地方)的阈值。在一些示例中,阈值可与例如u’和v’的相关值有关。例如,在使用CIE 1931xy色度空间的示例中,阈值可与y坐标正相关,例如与y坐标成正比。这允许例如对颜色空间中感知不均匀的补偿。在一些示例中,颜色数据可在颜色空间中例如使用层级聚集技术被聚集,并且阈值被确定为群集之间的色差。

这些色差阈值可接着被用于选择区域中相邻区域的分组。在一些示例中,对于两个区域a和b,如果则区域a和b形成一个分组(该测试能替换地针对各值来满足并包括ts)。这可针对区域或未被分组的像素来执行;在一些示例中,关系模块238可被配置成选择具有分开不到色差阈值中的至少一个(例如tp)的相应颜色值的相邻未被分组的像素的一个或多个分组。在一些以上提到的将颜色空间划分成单元格的示例中,关系模块238可被配置成确定:区域中的两个或更多个相邻区域或未被分组的像素中的两个或更多个相邻未被分组的像素,在这些区域或未被分组的像素落在颜色空间的同一单元格中的情况下,被分开不到色差阈值中的至少一个。

在一些示例中,一旦关系模块238至少部分基于多个区域的相应颜色值确定了多个色差阈值并且选择了区域中具有分开不到色差阈值中对应的多个色差阈值(例如,以上描述的)的相应颜色值的那些相邻区域(例如,第一区域和相邻第二区域)的一个或多个分组,关系模块238就可对于所选分组中的各个分组,确定邻近度关系中对应于区域的在该分组中的那些区域的相应反照率值之间的差的相应那些邻近度关系。例如,关系模块238可确定多个邻近度关系中对应于多个区域的第一区域和第二区域的相应反照率值之间的差的一个邻近度关系。关系模块238可附加地或替换地至少部分基于数字图像的一个或多个未被分组的像素的相应颜色值来确定邻近度关系中的至少一些。

继续以上的示例,给定已经被选为分组的一部分的区域a和b,关系模块 238可如等式(10)中那样确定区域a和b之间的邻近度关系Ra→b

Ra→b(A,S)=|A(a)-A(b)|2 (10)

即,邻近度关系是区域a的反照率和区域b的反照率之间的差的平方。当在求解类似于以上等式(1)和(2)的等式的数学优化框架中使用时,邻近度关系Ra→b将驱往其中区域a和区域b具有相同反照率的解答。

在一些示例中,对于纹理化对象的图像,纹理补块可按相似度被分组。驱向将相同的反照率值分配到同一分组内的纹理补快的邻近度关系可被确定。具体地,在一些示例中,关系模块238可被配置成确定一个或多个区域的相应纹理值。纹理值可包括例如,纹理的峰值空间频率、纹理的主分量轴的方向或可从数字图像226中确定的其他纹理特征。关系模块238可选择区域中相邻的或具有分开不到一个或多个所选纹理差阈值(例如以上参考色差阈值讨论的预先确定的阈值或百分比范围)的相应纹理值的那些区域的一个或多个分组。关系模块238可对所选分组中的各个分组确定邻近度关系中对应于区域的在该分组中的那些区域的相应反照率值之间的差的相应那些邻近度关系。

在一些示例中,关系模块238可被配置成选择区域(或未被分组的像素)中相邻区域的一个或多个分组。例如,关系模块238可选择区域(或未被分组的像素)中相邻区域的任一或全部分组(例如,对、三元组或四元组)。关系模块238还可或替换地选择例如以下分组的模式:这些分组实质上仅沿着特定方向延伸(例如,水平接近或垂直接近(但非两者)的分组)、这样的分组中随机或伪随机选择的那些分组或它们的任意组合。

关系模块238可对所选分组中的各个分组确定邻近度关系中对应于区域的在该分组中的那些区域的相应阴影值之间的差的相应那些邻近度关系。这样的邻近度关系将驱向对等式(1)的求解,其中所选分组的成员(例如,附近的区域)具有相似的阴影。例如,关系模块238可选择包括多个区域中的第一区域以及多个区域中的相邻第二区域的分组,以及确定多个邻近度关系中对应于多个区域的第一区域和第二区域的相应阴影值之间的差的一个邻近度关系。在等式(11)中给出了对于包括区域a和b的分组的示例邻近度关系Ra→b,s

Ra→b,s(A,S)=|S(a)-S(b)|2 (11)

在一些示例中,至少一个传感器216提供补充图像。关系模块238可被配 置成从补充像素中确定对应于区域或未被分组的像素的那些区域或未被分组的像素的相应补充值。在这些示例的一些中,关系模块238可被配置成选择相邻的或具有分开不到多个补充值差阈值的对应那些补充值差阈值的相应补充值的区域的一个或多个分组。补充值差阈值可被预先确定或计算,例如如以上关于色差阈值讨论的。关系模块238可接着对所选分组中的各个分组确定邻近度关系中对应于区域的在该分组中的那些区域的相应反照率值之间的差的相应那些邻近度关系。在一些示例中,关系模块238可选择包括多个区域中的第一区域以及多个区域中的第二区域的分组,其中第一区域和第二区域具有分开不到补充值差阈值的相应补充值,以及确定多个邻近度关系中对应于多个区域中的第一区域和第二区域的相应反照率值之间的差的一个邻近度关系。

例如,如果两个区域a和b具有相似的闪光或红外响应,则关系模块238可如等式(12)中那样确定区域a和b之间的邻近度关系Ra→b,u

Ra→b,u=|A(a)-A(b)|2 (12)

即,补充图像中具有相似响应的区域a和b可能具有相似的反照率。

在一些示例中,当关于对象110的几何信息可用时(例如,从3-D扫描仪),该信息可被用于驱动对等式(1)和(2)的求解。具体地,在一些示例中,关系模块238可被配置成接收在数字图像226中描绘的一个或多个对象110的几何值。例如,几何值可包括数字图像226的像素或区域的对象110的表面的法线的方向。关系模块238可选择区域中相邻的或具有分开不到一个或多个几何差阈值的相应几何值的那些区域的一个或多个分组。例如,几何差阈值可包括对于两个区域的法线之间角度的限制,例如,15°。关系模块238可接着对所选分组中的各个分组确定邻近度关系中对应于区域的在该分组中的那些区域的相应阴影值之间的差的相应那些邻近度关系。在一些示例中,关系模块238还可被配置成至少部分基于数字图像226或照明系数来确定对象110的几何值。例如,关系模块238可从假设阴影信息是从照明系数中所描述的光源得到的带有阴影的图中确定法线,例如使用Lambertian(朗伯体)表面的反射率与法线和光源之间角度的余弦之间的比例性。

在一些示例中,映射模块240可被配置成至少基于数字图像226和一个或多个色差阈值来产生反照率图和带有阴影的图。在一些示例中,映射模块240 还被配置成至少部分基于由分割模块234确定的区域图228来产生反照率图和带有阴影的图。在一些示例中,映射模块240还被配置成至少部分基于邻近度关系(诸如那些以上在例如多个邻近度关系中讨论的那些)来确定一起对应于数字图像226的反照率图118和带有阴影的图120。

例如,映射模块240可使用数学优化技术(例如,最大化或最小化技术)来求解等式(1)和(2)。以上的示例邻近度关系可与最小化技术一起使用;对等关系可被用于最大化技术。映射模块240可使用例如共轭梯度下降或其他最小化技术来确定提供对输入图像I的较佳适合的A和S矩阵。

在一些示例中,映射模块240可被配置成提供针对给定颜色图像(例如,RGB图像)的单个反照率图118和单个带有阴影的图120。在一些示例中,通道映射模块242可被配置成提供每通道反照率和带有阴影的图。在一些示例中,通道映射模块242可被配置成至少部分基于数字图像和至少一个色差阈值来产生针对各个颜色通道(例如,R、G和B)的相应反照率图和相应带有阴影的图。在一些示例中,通道映射模块242可被配置成至少部分基于区域图228来产生反照率图中的至少一个或带有阴影的图中的至少一个。例如,通道映射模块242可采用邻近度关系(例如如以上关于关系模块238所讨论)来对每个颜色通道(颜色平面)一次或多次地执行对等式(1)和(2)的数学优化。一个或多个颜色通道可使用在单个区域图228中定义的区域,或一个或多个颜色通道可使用在相应专用于通道的区域图228中定义的区域。

在一些示例中,来自映射模块240的反照率图118和带有阴影的图120或来自通道映射模块242的两个或多个每通道反照率图118和带有阴影的图120被提供到细化引擎206。细化引擎206可被配置成通过调整数字图像来产生经修正的数字图像226。细化引擎206的操作的各个示例在以下参考图4来讨论。

在一些示例中,经修正的数字图像302被提供给分割模块234、映射模块240或通道映射模块242。在此描述的处理可以被迭代例如以产生第二、第三或后续的经修正的数字图像302。迭代可被实现,例如直到两个连续经修正的数字图像302之间的差小于所选阈值或直到所选数量的迭代。在这些示例中的一些中,分割模块234可被配置成至少部分基于经修正的数字图像302来产生经修正的区域图228。

在这些示例中的一些中,分割模块234和映射模块240还可被配置成至少部分基于经修正的数字图像302来协作地产生经修正的反照率图118和经修正的带有阴影的图120。在使用通道映射模块242的一些示例中,分割模块234和通道映射模块242还可被配置成至少部分基于经修正的数字图像302来协作地产生多个经修正的反照率图118和多个经修正的带有阴影的图120。

在使用通道映射模块242的一些示例中,系统还可包括被配置成至少部分基于经修正的区域图228和至少一个颜色值阈值来产生经修正的反照率图118和经修正的带有阴影的图120的映射模块240。例如,可分别使用通道映射模块242和细化引擎206,操作或产生多个反照率图118和带有阴影的图120来对每通道执行一次或多次映射和细化。单个反照率图118和单个带有阴影的图120接着可例如使用映射模块240来被产生,作为处理的输出。这由从通道映射模块242到映射模块240的虚线箭头指示。

附加地或替换地,在一些使用通道映射模块242的示例中,组合模块244可被配置成至少部分基于多个反照率图118(或经修正的反照率图)来产生经组合的反照率图304以及至少部分基于多个带有阴影的图120(或经修正的带有阴影的图)来产生经组合的带有阴影的图306。例如,反照率图118可包括针对数字图像226中每个颜色通道(例如,R、G和B)的一个反照率图118。组合模块244可将具有反照率图118的经组合的反照率图304组装为它的相应颜色通道,并类似地可将具有带有阴影的图120的经组合的带有阴影的图306组装为它的相应的颜色通道。

在一些示例中,如以下参考参数模块248讨论的示例,至少部分基于数字图像来确定多个照明系数,并且这些系数被用于产生经修正的数字图像302。这些系数可被用于确定经修正的反照率图118和经修正的带有阴影的图120。具体地,在一些示例中,映射模块240可被配置成为区域中的各个区域确定对应于照明系数的相应阴影贡献。在一些示例中,映射模块240可被配置成对于多个区域中的第一区域,确定对应于照明系数的阴影贡献;确定对应于第一区域的阴影值与对应的所确定的阴影贡献之间的差的邻近度关系;以及至少部分基于所确定的邻近度关系来确定一起对应于经修正的数字图像的反照率图和带有阴影的图。

映射模块240可对区域中的各个区域确定对应于那些区域的相应阴影值与那些区域的对应的所确定的阴影贡献之间的差的第二邻近度关系。对于区域a的示例第二邻近度关系Ra,s2被给出在等式(13)中:

Ra,s2=|S(a)-SLC(a)|2 (13)

其中SLC(a)是区域a的对应于照明系数的所确定的阴影贡献。等式(13)是涉及单个区域(S(a))和参考(SLC(a))、而非两个区域、的邻近度关系。可定义涉及单个区域和一参考的其他邻近度关系。

映射模块240可至少部分基于所确定的第二邻近度关系来确定一起对应于经修正的数字图像的反照率图118和带有阴影的图120。第二邻近度关系驱向其中所确定的带有阴影的图120对应于所确定的照明系数的解答。

图4是示出如以上参考细化引擎206讨论的细化的一些示例的数据流图400。

在一些示例中,阴影模块246可被配置成至少部分基于反照率图和数字图像来确定颜色带有阴影的图402。颜色带有阴影的图402可包括照明对象110的彩色光源112的信息。例如,由在相对半球上的两个不同颜色的光源照明的球体将在数字图像106中展现两个颜色的平滑梯度,一个针对一个光源。颜色带有阴影的图402可包括关于梯度的信息,而没有对象的颜色。这可允许确定不混杂彩色光源的颜色的对象的纹理或其他反照率参数。

在一些示例中,阴影模块246可被配置成通过至少部分基于反照率图来确定被减少颜色的反照率图来确定颜色带有阴影的图402并接着至少部分基于数字图像的未被包括在被减少颜色的反照率图中的内容来确定颜色带有阴影的图402。在一些示例中,对象110是例如好像在其反照率中具有相对少的离散颜色的人造的。从反照率图中移除少量的颜色允许确定照明对象110的彩色光源112的颜色。对于输入图像I和反照率图118A,被减少颜色的反照率图可被表示为Ar,并且颜色带有阴影的图Sc可被确定为Sc=I/Ar

在一些示例中,阴影模块246可被配置成通过在所选颜色空间(例如,RGB或CIELAB)中聚集反照率图的值来确定被减少颜色的反照率图。在这些示例 的一些中,颜色带有阴影的图402包括变体或未被定位的群集解释的其他剩余物。被群集的值可包括区域的反照率值或像素的反照率值。可被使用的示例聚集技术包括层级聚集、k-均值聚集、均值偏移聚集或期望最大化聚集。

在这些示例的一些中,阴影模块246可被配置成使用k-均值聚集来针对k的各个不同值确定多个候选被减少颜色的反照率图。阴影模块246还可被配置成将所确定的候选被减少颜色的反照率图中具有最低重构错误的一个选择为被减少颜色的反照率图。这允许例如确定颜色带有阴影的图402,而不过高估计或过低估计对象110中颜色的数量。

在一些示例中,针对k的每个值来确定被减少颜色的反照率图Ar,k,并且对应的带有阴影的图Sr,k例如从Ar,k和输入图像I中确定。接着根据等式(14)和(15)针对每个k来确定分数F(k)。

F(k)=E(k)+λk (14)

<mrow> <mi>E</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <mo>|</mo> <msub> <mi>S</mi> <mrow> <mi>r</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <msub> <mi>A</mi> <mrow> <mi>r</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>-</mo> <mi>I</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>|</mo> </mrow> (15)

对于n个像素或区域,其中例如λ=5×10-4或另一值。E(k)表示从被减少颜色的反照率图Ar,k中重现I的不准确性,并且λ惩罚k的较高值来阻止过高估计k。一旦k已被确定,就可使用I和Ar,k来将颜色带有阴影的图402确定为例如Sr,k=I/Ar,k

在使用通道映射。模块242的一些示例中,阴影模块246可被配置成至少部分基于相应带有阴影的图120来产生颜色带有阴影的图402,在一些示例中,通道映射模块242提供三个带有阴影的图120,每个针对R、G和B。颜色带有阴影的图402可通过将具有带有阴影的图120的颜色图像组装为它的相应颜色通道(例如,分别为R、G和B)来提供。

在一些示例中,系数模块248可被配置成至少部分基于颜色带有阴影的图402来确定多个照明系数。在一些示例中,多个照明系数中的至少两个对应于相应的实质正交函数,例如球谐函数或其他基本函数,例如正交基础函数。

因此,在一些示例中,系数模块248可被配置成至少部分基于将一组球谐函数适合到颜色带有阴影的图来确定多个照明系数中的至少一些。在一些示例 中,可在不具有对场景108或光源112的几何的先验知晓的情况下通过适合来确定照明系数。在一些示例中,数字图像226被过滤或以其他方式被预先处理以在产生反照率图118和带有阴影的图120之前移除镜面高光。在一些示例中,反照率图118、带有阴影的图120或颜色带有阴影的图402被过滤或以其他方式预先处理以在确定照明系数之前移除镜面高光。

在一些示例中,球谐(SH)函数可被用于对散射照明进行建模。这可将用于对照明进行建模的参数的数量从每像素数个减少到每数字图像226仅少量个。例如,使用SH函数的前三个阶次建模的照明可使用每数字图像226大约10-20个系数来表示。

在一些示例中,修正模块250可被配置成通过至少部分基于照明系数调整数字图像来产生经修正的数字图像226。在一些示例中,修正模块250可被配置成至少部分基于照明系数来从数字图像中移除照明。例如,可使用照明系数来渲染阴影或照明图像Si。所渲染的照明可从输入图像I中移除以提供经修正的数字图像226Ii=I/Si。例如,照明的颜色可被隔离并接着从场景中移除。具体地,在一些示例中,修正模块250可被配置成通过渲染对应于多个照明系数的带有阴影的图像并从数字图像中移除带有阴影的图像来产生经修正的数字图像。

在一些示例中,从图像中移除低空间频率照明(例如,广域光)。这可提供具有更平滑的或幅度减少的阴影,同时保留反照率差异和尖锐阴影的经修正的数字图像226。这可允许更加准确地确定反照率和阴影。这还可提供提升的稳健性,因为不被照明系数准确建模的阴影可被保留在图像中以供后续处理。

说明性过程

图5是示出用于使用计算设备(例如,图2的计算设备200)来分解数字图像的示例过程500的流程图。图5中显示的示例功能和本文中的其他流程图和示例过程可被实现在一个或多个计算设备102或图像源104上或以其他方式体现在一个或多个计算设备102或图像源104中(例如,通过使用运行在这样的设备上的软件)。出于说明的目的,示例过程500在以下参考能实现或参与示例性方法的步骤的图2的处理单元218和计算设备200的其他组件来描述。然而,其他处理单元(诸如处理单元126)和/或计算设备102或图像源104的 其他组件可实现所描述的示例过程(诸如过程500)的步骤。类似地,图6中显示的示例方法也不被限于由任意具体标识的组件来实现。

每一示例流程图或过程中描述操作的次序并不旨在解释为限制,并且任何数量的所描述的操作可以按任何次序和/或并行组合以实现每一个过程。此外,图5和图6的操作可以用硬件、软件和/或其组合来实现。在软件的上下文中,各个操作表示在由一个或多个处理器执行时使得一个或多个处理器执行既定操作的计算机可执行指令。在硬件的上下文中,操作表示在电路中实现的逻辑功能,例如数据路径控制和有限状态机定序功能。

依然参考图5,在框502,数字图像的多个区域被确定。数字图像可以是,例如,图2的数字图像226。这可以例如以上参考分割模块234所讨论的那样完成。

在框504,区域中的各个区域之间的一个或多个邻近度关系被确定。这可以例如以上参考阈值确定模块236或关系模块238所讨论的那样完成。

在框506,至少部分基于数字图像226、区域图和邻近度关系来确定反照率图和带有阴影的图。这可以例如以上参考映射模块240或通道映射模块242所讨论的那样完成。

图6是示出用于使用计算设备(例如,图2的计算设备200)来分解数字图像的示例过程600的流程图。该过程可使用一个或多个色差阈值,例如,以上参考关系模块238讨论的。

在框602,数字图像的多个区域被确定。这可以例如以上参考框502所讨论的那样完成。

在框604,在一些示例中,区域中的至少一些(例如,多个区域中的至少两个区域)的相应颜色值被确定。这可以例如以上参考分割模块234所讨论的那样完成。

在框606,在一些示例中,确定多个区域中的至少两个区域具有分开不到色差阈值的相应颜色值。在一些示例中,框606可包括选择具有分开不到色差阈值的相应颜色值的至少两个区域。这可以例如以上参考框504所讨论的那样完成。

在框608,区域中的各个区域之间(例如,多个区域的至少两个区域之间) 的一个或多个邻近度关系被确定。这可以例如以上参考框504所讨论的那样完成。

在一些使用框604的示例中,一个或多个邻近度关系中的至少一个被确定,包括具有分开不到色差阈值中的至少一个的相应颜色值的区域中的两个之间的反照率关系。这可以例如以上参考等式(10)所讨论的那样完成。在一些示例中,在框608,邻近度关系之一被确定并且对应于多个区域中的至少两个区域的相应反照率值之间的差。

在框610,至少部分基于数字图像226、区域图和邻近度关系来确定反照率图和带有阴影的图。这可以例如以上参考框506所讨论的那样完成。

在框612,多个照明系数被确定。系数可例如至少部分基于所确定的反照率图或所确定的带有阴影的图来被确定。这可以例如以上参考系数模块248所讨论的那样完成。

在框614,至少部分基于照明系数来调整数字图像。例如,数字图像可被调整来移除照明。这可以例如以上参考修正模块250所讨论的那样完成。

在框616,至少部分基于经修正的数字图像来确定经修正的反照率图和经修正的带有阴影的图。这可以例如以上参考映射模块240或通道映射模块242所讨论的那样完成。

说明性结果

图7显示被渲染的数字图像的图形表示700。该渲染描绘了在其表面上具有各个交叉的彩色条和纯色区域的闭合结。表示700的部分702是较暗的,这是因为被该结的上部投射到部分702上的阴影。

图8显示了根据本文的各个示例确定的反照率图像的图形表示800。影线图案图形地表示表面颜色。部分802显示了不具有在部分702中可见的阴影的反照率信息。点刻状边界804显示了基本上恒定的反照率的一示例部分的边界表示的坐标。替代于或附加于反照率图像(被描述为表示800),反照率信息可被呈现为边界804的坐标点的列表。

图9显示了根据本文的各个示例确定的带有阴影的图像的图形表示900。部分902显示了来自部分702的阴影信息但不具有反照率信息。

示例条款

A:一种系统或设备,包括:在其上具有多个模块的介质;以及处理单元,该处理单元可操作地耦合到计算机可读介质并被配置成执行多个模块中的模块,该多个模块包括:映射模块,该映射模块被配置成至少部分基于数字图像以及一个或多个色差阈值来产生反照率图和带有阴影的图;以及细化模块,该细化模块被配置成:至少部分基于反照率图和数字图像来确定颜色带有阴影的图;至少部分基于该颜色带有阴影的图来确定多个照明系数;以及通过至少部分基于照明系数来调整数字图像来产生经修正的数字图像。

B:如段落A所述的系统或设备,其中:多个模块还包括被配置成至少部分基于数字图像的各像素的颜色值来确定标识数字图像的多个区域以及该多个区域的相应颜色值的区域图的分割模块;以及映射模块还被配置成至少部分基于区域图来产生反照率图和带有阴影的图。

C:如段落B所述的系统或设备,其中分割模块被配置成:过滤数字图像以减少其中的唯一性的颜色的数量;以及至少部分基于色差分组阈值来对经过滤的数字图像的各部分进行分组以提供数字图像的多个区域。

D:如段落B或C所述的系统或设备,其中映射模块被配置成:确定多个区域中的各个区域之间的多个邻近度关系;以及至少部分基于多个邻近度关系来确定一起对应于数字图像的反照率图和带有阴影的图,其中反照率图包括多个区域中的各个区域的相应反照率值并且带有阴影的图包括多个区域中的各个区域的相应阴影值。

E:如段落D所述的系统或设备,其中映射模块被配置成:选择包括多个区域中的第一区域以及多个区域中的相邻第二区域的分组,其中第一和第二区域具有分开不到色差阈值中的至少一个的相应颜色值;以及确定多个邻近度关系中对应于多个区域中的第一区域和第二区域的相应反照率值之间的差的一个邻近度关系。

F:如段落D或E所述的系统或设备,其中映射模块还被配置成:选择包括多个区域中的第一区域以及多个区域中的第二区域的分组,其中第一区域和第二区域具有分开不到补充值差阈值的相应补充值;以及确定多个邻近度关系中对应于多个区域中的第一区域和第二区域的相应反照率值之间的差的一个邻近度关系。

G:如段落D–F中的任一所述的系统或设备,其中映射模块被配置成:选择包括多个区域中的第一区域以及多个区域中的相邻第二区域的分组;以及确定多个邻近度关系中对应于多个区域的第一区域和第二区域的相应阴影值之间的差的一个邻近度关系。

H:如段落D–G中的任一所述的系统或设备,还包括至少部分基于数字图像的一个或多个未被分组的像素的相应颜色值来提供邻近度关系中的至少一些。

I:如段落B–H中的任一所述的系统或设备,其中分割模块和映射模块还被配置成至少部分基于经修正的数字图像来协作地产生经修正的反照率图和经修正的带有阴影的图。

J:如段落B–I中的任一所述的系统或设备,还包括:用于存储数字图像的第一存储器;以及用于存储区域图的第二存储器。

K:如段落B–J中的任一所述的系统或设备,其中分割模块还被配置成对经过滤的数字图像的各部分进行分组,使得所提供的数字图像的区域中的各个区域具有高于所选大小阈值的相应大小。

L:如段落B–K中的任一所述的系统或设备,其中映射模块还被配置成:至少部分基于多个区域的相应颜色值来确定一个或多个色差阈值中的多个;选择区域中具有分开不到色差阈值中对应的多个色差阈值的相应颜色值的那些相邻区域的一个或多个分组;以及对于所选分组中的各个分组,确定邻近度关系中对应于区域的在该分组中的那些区域的相应反照率值之间的差的相应那些邻近度关系。

M:如段落B–L中的任一所述的系统或设备,其中映射模块还被配置成:确定区域中的一个或多个的相应纹理值;选择区域中具有分开不到一个或多个所选纹理差阈值的相应纹理值的那些区域的一个或多个分组;以及对于所选分组中的各个分组,确定邻近度关系中对应于区域的在该分组中的那些区域的相应反照率值之间的差的相应那些邻近度关系。

N:如段落B–M中的任一所述的系统或设备,其中映射模块还被配置成:选择区域中具有分开不到一个或多个几何差阈值的相应几何值的那些区域的一个或多个分组;以及对于所选分组中的各个分组,确定邻近度关系中对应于 区域的在该分组中的那些区域的相应阴影值之间的差的相应那些邻近度关系。

O:如段落B–N中的任一所述的系统或设备,还包括:用于存储具有多个像素的数据的数字图像的第一存储器,像素中的各个像素的数据包括多个颜色通道中的各个颜色通道的相应值;以及用于存储区域图的第二存储器。

P:如段落A–O中的任一所述的系统或设备,其中映射模块被配置成通过以下来产生经修正的反照率图和经修正的带有阴影的图:对于多个区域中的第一区域,确定对应于照明系数的阴影贡献;确定对应于第一区域的阴影值与对应的所确定的阴影贡献之间的差的邻近度关系;以及至少部分基于所确定的邻近度关系来确定一起对应于经修正的数字图像的反照率图和带有阴影的图。

Q:如段落A–P中的任一所述的系统或设备,其中细化模块被配置成:至少部分基于反照率图来确定被减少颜色的反照率图;以及至少部分基于数字图像中不被包括在被减少颜色的反照率图中的内容来确定颜色带有阴影的图。

R:如段落Q所述的系统或设备,其中细化模块被配置成通过在所选的颜色空间中聚集反照率图的值来确定被减少颜色的反照率图。

S:如段落Q或R所述的系统或设备,其中细化模块还被配置成使用k-均值聚集针对k的各个不同值来确定多个候选被减少颜色的反照率图,以及将所确定的候选被减少颜色的反照率图中具有最低重构错误的一个选择为被减少颜色的反照率图。

T:如段落A–S中的任一所述的系统或设备,其中细化模块被配置成至少部分基于将一组球谐函数适合到颜色带有阴影的图来确定多个照明系数。

U:如段落A–T中的任一所述的系统或设备,其中多个照明系数中的至少两个对应于相应的实质正交函数。

V:如段落A–U中的任一所述的系统或设备,其中映射模块还被配置成至少部分基于数字图像中的峰值颜色距离来确定一个或多个色差阈值中的至少一个。

W:如段落A–V中的任一所述的系统或设备,其中细化模块被配置成至少部分基于照明系数来将照明从数字图像中移除。

X:如段落A–W中的任一所述的系统或设备,其中细化模块被配置成通过渲染对应于多个照明系数的带有阴影的图像并从数字图像中移除该带有阴影 的图像来产生经修正的数字图像。

Y:如段落A–X中的任一所述的系统或设备,还包括被配置成捕捉场景的数字图像的传感器。

Z:如段落A–Y中的任一所述的系统或设备,其中数字图像是二维的。

AA:一种系统或设备,包括:在其上具有多个模块的计算机可读介质;以及处理单元,该处理单元可操作地耦合到计算机可读介质并被配置成执行多个模块中的模块,该多个模块包括:通道映射模块,该通道映射模块被配置成至少部分基于数字图像以及一个或多个色差阈值来为数字图像的各个颜色通道产生相应的反照率图和相应的带有阴影的图;以及细化模块,该细化模块被配置成:至少部分基于相应的带有阴影的图来产生颜色带有阴影的图;至少部分基于颜色带有阴影的图来确定多个照明系数;以及通过至少部分基于照明系数来调整数字图像来产生经修正的数字图像。

AB:如段落AA所述的系统或设备,其中:多个模块还包括被配置成至少部分基于数字图像的各像素的颜色值来确定标识数字图像的多个区域以及该多个区域中的一单个区域的相应颜色值的区域图的分割模块;并且通道映射模块还被配置成产至少部分基于区域图来产生反照率图中的至少一个或带有阴影的图中的至少一个。

AC:如段落AB所述的系统或设备,其中:分割模块和通道映射模块还被配置成至少部分基于经修正的数字图像来协作地产生多个经修正的反照率图和多个经修正的带有阴影的图;并且细化模块被配置成至少部分基于多个经修正的反照率图来产生组合的反照率图以及至少部分基于多个经修正的带有阴影的图来产生组合的带有阴影的图。

AD:如段落AC所述的系统或设备,其中通道映射模块被配置成通过以下来产生多个经修正的反照率图和多个经修正的带有阴影的图:对于多个区域中的第一区域,确定对应于照明系数的阴影贡献;确定对应于第一区域的阴影值与对应的所确定的阴影贡献之间的差的邻近度关系;以及至少部分基于所确定的邻近度关系来确定一起对应于经修正的数字图像的反照率图和带有阴影的图。

AE:如段落AB–AD中的任一所述的系统或设备,其中分割模块还被配置 成至少部分基于经修正的数字图像来产生经修正的区域图并且系统还包括映射模块,该映射模块被配置成至少部分基于经修正的区域图和至少一个颜色值阈值来产生经修正的反照率图和经修正的带有阴影的图。

AF:如段落AB–AE中的任一所述的系统或设备,其中分割模块被配置成:过滤数字图像以减少其中唯一性的颜色的数量;以及至少部分基于色差分组阈值来对经过滤的数字图像的各部分进行分组以提供数字图像的多个区域。

AG:如段落AB–AF中的任一所述的系统或设备,其中通道映射模块被配置成:确定多个区域中的各个区域之间的多个邻近度关系;以及至少部分基于多个邻近度关系来确定一起对应于数字图像的相应各个颜色通道的相应的反照率图和相应的带有阴影的图,其中反照率图包括多个区域中的各个区域的相应反照率值并且带有阴影的图包括多个区域中的各个区域的相应阴影值。

AH:如段落AG所述的系统或设备,其中通道映射模块被配置成:选择包括多个区域中的第一区域以及多个区域中的相邻第二区域的分组,其中第一和第二区域具有分开不到色差阈值中的至少一个的相应颜色值;以及确定多个邻近度关系中对应于多个区域中的第一区域和第二区域的相应反照率值之间的差的一个邻近度关系。

AI:如段落AG或AH所述的系统或设备,其中通道映射模块还被配置成:选择包括多个区域中的第一区域以及多个区域中的第二区域的分组,其中第一区域和第二区域具有分开不到补充值差阈值的相应补充值;以及确定多个邻近度关系中对应于多个区域中的第一区域和第二区域的相应反照率值之间的差的一个邻近度关系。

AJ:如段落AG–AI中的任一所述的系统或设备,其中通道映射模块被配置成:选择包括多个区域中的第一区域以及多个区域中的相邻第二区域的分组;以及确定多个邻近度关系中对应于多个区域的第一区域和第二区域的相应阴影值之间的差的一个邻近度关系。

AK:如段落AG–AJ所述的系统或设备,还包括至少部分基于数字图像的一个或多个未被分组的像素的相应颜色值来提供邻近度关系中的至少一些。

AL:如段落AB–AK中的任一所述的系统或设备,还包括:用于存储数字图像的第一存储器;以及用于存储区域图的第二存储器。

AM:如段落AB–AL中的任一所述的系统或设备,其中分割模块还被配置成对经过滤的数字图像的各部分进行分组,使得所提供的数字图像的区域中的各个区域具有高于所选大小阈值的相应大小。

AN:如段落AB–AM中的任一所述的系统或设备,其中映射模块还被配置成:至少部分基于多个区域的相应颜色值来确定一个或多个色差阈值中的多个;选择区域中具有分开不到色差阈值中对应的多个色差阈值的相应颜色值的那些相邻区域的一个或多个分组;以及对于所选分组中的各个分组,确定邻近度关系中对应于区域的在该分组中的那些区域的相应反照率值之间的差的相应那些邻近度关系。

AO:如段落AB–AN中的任一所述的系统或设备,其中映射模块还被配置成:确定区域中的一个或多个的相应纹理值;选择区域中具有分开不到一个或多个所选纹理差阈值的相应纹理值的那些区域的一个或多个分组;以及对于所选分组中的各个分组,确定邻近度关系中对应于区域的在该分组中的那些区域的相应反照率值之间的差的相应那些邻近度关系。

AP:如段落AB–AO中的任一所述的系统或设备,其中映射模块还被配置成:选择区域中具有分开不到一个或多个几何差阈值的相应几何值的那些区域的一个或多个分组;以及对于所选分组中的各个分组,确定邻近度关系中对应于区域的在该分组中的那些区域的相应阴影值之间的差的相应那些邻近度关系。

AQ:如段落AB–AP中的任一所述的系统或设备,还包括:用于存储具有多个像素的数据的数字图像的第一存储器,像素中的各个像素的数据包括多个颜色通道中的各个颜色通道的相应值;以及用于存储区域图的第二存储器。

AR:如段落AA–AQ所述的系统或设备,其中细化模块被配置成:至少部分基于反照率图来确定被减少颜色的反照率图;以及至少部分基于数字图像中不被包括在被减少颜色的反照率图中的内容来确定颜色带有阴影的图。

AS:如段落AR所述的系统或设备,其中细化模块被配置成通过在所选的颜色空间中聚集反照率图的值来确定被减少颜色的反照率图。

AT:如段落AR或AS所述的系统或设备,其中细化模块还被配置成使用针对k的各个不同值的k-均值聚集来确定多个候选被减少颜色的反照率图,以及 将所确定的候选被减少颜色的反照率中具有最低重构错误的一个选择为被减少颜色的反照率图。

AU:如段落AA–AT中的任一所述的系统或设备,其中细化模块被配置成至少部分基于将一组球谐函数适合到颜色带有阴影的图来确定多个照明系数。

AV:如段落AA–AU中的任一所述的系统或设备,其中多个照明系数中的至少两个对应于相应的实质正交函数。

AW:如段落AA–AV中的任一所述的系统或设备,其中映射模块还被配置成至少部分基于数字图像中的峰值颜色距离来确定一个或多个色差阈值中的至少一个。

AX:如段落AA–AW中的任一所述的系统或设备,其中细化模块被配置成至少部分基于照明系数来将照明从数字图像中移除。

AY:如段落AA–AX中的任一所述的系统或设备,其中细化模块被配置成通过渲染对应于多个照明系数的带有阴影的图像并从数字图像中移除该带有阴影的图像来产生经修正的数字图像。

AZ:如段落AA–AY中的任一所述的系统或设备,还包括被配置成捕捉场景的数字图像的传感器。

BA:如段落AA–AZ中的任一所述的系统或设备,其中数字图像是二维的。

BB:一种方法,包括:确定数字图像的多个区域;确定多个区域的至少两个区域之间的一个或多个邻近度关系;以及至少部分基于该数字图像、该多个区域以及邻近度关系来确定反照率图和带有阴影的图。

BC:如段落BB所述的方法,还包括:至少部分基于所确定的反照率图和所确定的带有阴影的图来确定多个照明系数;以及至少部分基于照明系数来调整数字图像。

BD:如段落BC所述的方法,还包括:至少部分基于经修正的数字图像来确定经修正的反照率图和经修正的带有阴影的图。

BE:如段落BC或BD所述的方法,其中多个照明系数中的至少两个对应于相应的实质正交函数。

BF:如段落BC–BE中的任一所述的方法,其中调整数字图像包括至少部分基于照明系数从数字图像中移除照明。

BG:如段落BC–BF中的任一所述的方法,还包括渲染对应于多个照明系数的带有阴影的图像,其中调整数字图像包括从数字图像中移除带有阴影的图像。

BH:如段落BC–BG中的任一所述的方法,其中确定多个照明系数包括至少部分基于反照率图和数字图像来确定颜色带有阴影的图以及至少部分基于颜色带有阴影的图来确定多个照明系数中的至少一些。

BI:如段落BB–BH中的任一所述的方法,还包括:确定多个区域的至少两个区域的相应颜色值;确定多个区域中具有分开不到色差阈值的相应颜色值的至少两个区域;以及确定邻近度关系中对应于多个区域的至少两个区域的相应反照率值之间的差的一个邻近度关系。

BJ:如段落BI所述的方法,还包括至少部分基于数字图像中的峰值颜色距离来确定色差阈值。

BK:如段落BB–BJ中的任一所述的方法,其中确定多个区域是至少部分基于一个或多个色差阈值的。

BL:如段落BB–BK中的任一所述的方法,还包括确定多个区域的相应颜色值。

BM:如段落BL所述的方法,还包括过滤数字图像以减少其中唯一性的颜色的数量;以及至少部分基于色差分组阈值来对经过滤的数字图像的各部分进行分组以提供数字图像的多个区域。

BN:如段落BL或BM所述的方法,还包括确定多个邻近度关系,包括多个区域中的各个区域之间的一个或多个邻近度关系;以及至少部分基于多个邻近度关系来确定一起对应于数字图像的反照率图和带有阴影的图,其中反照率图包括多个区域中的各个区域的相应反照率值并且带有阴影的图包括多个区域中的各个区域的相应阴影值。

BO:如段落BN所述的方法,还包括选择包括多个区域中的第一区域以及多个区域中的相邻第二区域的分组,其中第一和第二区域具有分开不到色差阈值中的至少一个的相应颜色值;以及确定多个邻近度关系中对应于多个区域中的第一区域和第二区域的相应反照率值之间的差的一个邻近度关系。

BP:如段落BN或BO所述的方法,还包括选择包括多个区域中的第一区域以及多个区域中的第二区域的分组,其中第一区域和第二区域具有分开不到补 充值差阈值的相应补充值;以及确定多个邻近度关系中对应于多个区域中的第一区域和第二区域的相应反照率值之间的差的一个邻近度关系。

BQ:如段落BN–BP中的任一所述的方法,还包括选择包括多个区域中的第一区域以及多个区域中的相邻第二区域的分组;以及确定多个邻近度关系中对应于多个区域的第一区域和第二区域的相应阴影值之间的差的一个邻近度关系。

BR:如段落BB–BQ中的任一所述的方法,其中确定经修正的带有阴影的图包括,对于多个区域中的第一区域,确定对应于照明系数的阴影贡献;确定对应于第一区域的阴影值与对应的所确定的阴影贡献之间的差的邻近度关系;以及至少部分基于所确定的邻近度关系来确定一起对应于经修正的数字图像的反照率图和带有阴影的图。

BS:如段落BB–BR中的任一所述的方法,还包括至少部分基于反照率图来确定被减少颜色的反照率图;以及至少部分基于数字图像中不被包括在被减少颜色的反照率图中的内容来确定颜色带有阴影的图。

BT:如段落BS所述的方法,还包括通过在所选的颜色空间中聚集反照率图的值来确定被减少颜色的反照率图。

BU:如段落BS或BT所述的方法,还包括使用k-均值聚集针对k的各个不同值来确定多个候选被减少颜色的反照率图,以及将所确定的候选被减少颜色的反照率图中具有最低重构错误的一个选择为被减少颜色的反照率图。

BV:如段落BB–BU中的任一所述的方法,还包括至少部分基于将一组球谐函数适合到颜色带有阴影的图来确定多个照明系数。

BW:如段落BB–BV中的任一所述的方法,还包括至少部分基于数字图像以及一个或多个色差阈值来为数字图像的各个颜色通道确定相应的反照率图和相应的带有阴影的图。

BX:如段落BX所述的方法,还包括至少部分基于相应的带有阴影的图来产生颜色带有阴影的图;至少部分基于颜色带有阴影的图来确定多个照明系数;以及通过至少部分基于照明系数来调整数字图像来产生经修正的数字图像。

BY:如段落BW或BX所述的方法,还包括至少部分基于多个区域来确定反照率图中的至少一个或带有阴影的图中的至少一个。

BZ:如段落BY所述的方法,还包括至少部分基于经修正的数字图像来确定多个经修正的反照率图和多个经修正的带有阴影的图;至少部分基于多个经修正的反照率图来确定组合的反照率图;以及至少部分基于多个经修正的带有阴影的图来确定组合的带有阴影的图。

CA:如段落BY或BZ所述的方法,还包括至少部分基于经修正的数字图像来确定经修正的区域图以及至少部分基于经修正的区域图以及至少一个颜色值阈值来确定经修正的反照率图和经修正的带有阴影的图。

CB:如段落BB–CA中的任一所述的方法,还包括使用传感器来捕捉场景的数字图像。

CC:如段落BB–CB中的任一所述的方法,其中数字图像是二维的。

CD:如段落BB–CC中的任一所述的方法,还包括:将数字图像存储在第一存储器中;并且将区域图存储在第二存储器中。

CE:如段落BB–CD中的任一所述的方法,其中确定数字图像的多个区域包括对经过滤的数字图像的各部分进行分组,使得数字图像的多个区域中的各个区域具有高于所选大小阈值的相应大小。

CF:如段落BB–CE中的任一所述的方法,还包括:至少部分基于多个区域的相应颜色值来确定多个色差阈值;选择区域中具有分开不到色差阈值中对应的多个色差阈值的相应颜色值的那些相邻区域的一个或多个分组;以及对于所选分组中的各个分组,确定邻近度关系中对应于区域的在该分组中的那些区域的相应反照率值之间的差的相应那些邻近度关系。

CG:如段落BB–CF中的任一所述的方法,还包括:确定区域中的一个或多个的相应纹理值;选择区域中具有分开不到一个或多个所选纹理差阈值的相应纹理值的那些区域的一个或多个分组;以及对于所选分组中的各个分组,确定邻近度关系中对应于区域的在该分组中的那些区域的相应反照率值之间的差的相应那些邻近度关系。

CH:如段落BB–CG中的任一所述的方法,还包括:选择区域中具有分开不到一个或多个几何差阈值的相应几何值的那些区域的一个或多个分组;以及对于所选分组中的各个分组,确定邻近度关系中对应于区域的在该分组中的那些区域的相应阴影值之间的差的相应那些邻近度关系。

CI:如段落BB–CH中的任一所述的方法,还包括:将数字图像存储在第一存储器中,数字图像具有多个像素的数据,像素中的各个像素的数据包括多个颜色通道中的各个颜色通道的相应值;以及将区域图存储在第二存储器中。

CJ:如段落BB–CI所述的方法,还包括至少部分基于数字图像的一个或多个未被分组的像素的相应颜色值来提供邻近度关系中的至少一些。

CK:其上具有计算机可执行指令的计算机可读介质(例如,计算机存储介质),该计算机可执行指令在被执行时将计算机配置成执行段落BB–CJ中的任一所述的操作。

CL:一种设备,包括:处理器;以及其上具有计算机可执行指令的计算机可读介质(例如,计算机存储介质),该计算机可执行指令在由处理器执行时将该设备配置成执行段落BB–CJ中的任一所述的操作。

CM:一种系统或设备,包括:用于处理的装置;以及用于在其上存储有计算机可执行指令的装置,这些计算机可执行指令包括用于将该设备配置成执行如段落BB–CJ中的任一所述的方法的装置。

CN:一种系统或设备,包括:用于确定数字图像的多个区域的装置;用于确定多个区域的至少两个区域之间的一个或多个邻近度关系的装置;以及用于至少部分基于该数字图像、该多个区域以及邻近度关系来确定反照率图和带有阴影的图的装置。

CO:如段落CN所述的系统或设备,还包括:用于至少部分基于所确定的反照率图和所确定的带有阴影的图来确定多个照明系数的装置;以及用于至少部分基于照明系数来调整数字图像的装置。

CP:如段落CO所述的系统或设备,还包括:用于至少部分基于经修正的数字图像来确定经修正的反照率图和经修正的带有阴影的图的装置。CQ:如段落CO或CP所述的系统或设备,其中多个照明系数中的至少两个对应于相应的实质正交函数。

CR:如段落CO–CQ中的任一所述的系统或设备,其中用于调整数字图像的装置包括用于至少部分基于照明系数从数字图像中移除照明的装置。

CS:如段落CO–CR中的任一所述的系统或设备,还包括用于渲染对应于多个照明系数的带有阴影的图像的装置,其中用于调整数字图像的装置包括用于 从数字图像中移除带有阴影的图像的装置。

CT:如段落CO–CS中的任一所述的系统或设备,其中用于确定多个照明系数的装置包括用于至少部分基于反照率图和数字图像来确定颜色带有阴影的图的装置以及用于至少部分基于颜色带有阴影的图来确定多个照明系数中的至少一些的装置。

CU:如段落CN–CT中的任一所述的系统或设备,还包括:用于确定多个区域的至少两个区域的相应颜色值的装置;用于确定多个区域中具有分开不到色差阈值的相应颜色值的至少两个区域的装置;以及用于确定邻近度关系中对应于多个区域的至少两个区域的相应反照率值之间的差的一个邻近度关系的装置。

CV:如段落CU所述的系统或设备,还包括用于至少部分基于数字图像中的峰值颜色距离来确定色差阈值的装置。

CW:如段落CN–CV中的任一所述的系统或设备,其中用于确定多个区域的装置至少部分基于一个或多个色差阈值来操作。

CX:如段落CN–CW中的任一所述的系统或设备,还包括用于确定多个区域的相应颜色值的装置。

CY:如段落CX所述的系统或设备,还包括用于过滤数字图像以减少其中唯一性的颜色的数量的装置;以及用于至少部分基于色差分组阈值来对经过滤的数字图像的各部分进行分组以提供数字图像的多个区域的装置。

CZ:如段落CX或CY所述的系统或设备,还包括用于确定多个邻近度关系的装置,多个邻近度关系包括多个区域中的各个区域之间的一个或多个邻近度关系;以及用于至少部分基于多个邻近度关系来确定一起对应于数字图像的反照率图和带有阴影的图的装置,其中反照率图包括多个区域中的各个区域的相应反照率值并且带有阴影的图包括多个区域中的各个区域的相应阴影值。

DA:如段落CZ所述的系统或设备,还包括用于选择包括多个区域中的第一区域以及多个区域中的相邻第二区域的分组的装置,其中第一和第二区域具有分开不到色差阈值中的至少一个的相应颜色值;以及用于确定多个邻近度关系中对应于多个区域中的第一区域和第二区域的相应反照率值之间的差的一个邻近度关系的装置。

DB:如段落CZ或DA所述的系统或设备,还包括用于选择包括多个区域中的第一区域以及多个区域中的第二区域的分组的装置,其中第一区域和第二区域具有分开不到补充值差阈值的相应补充值;以及用于确定多个邻近度关系中对应于多个区域中的第一区域和第二区域的相应反照率值之间的差的一个邻近度关系的装置。

DC:如段落CZ–DB中的任一所述的系统或设备,还包括用于选择包括多个区域中的第一区域以及多个区域中的相邻第二区域的分组的装置;以及用于确定多个邻近度关系中对应于多个区域的第一区域和第二区域的相应阴影值之间的差的一个邻近度关系的装置。

DD:如段落CN–DC中的任一所述的系统或设备,其中用于确定经修正的带有阴影的图的装置包括,用于对于多个区域中的第一区域,确定对应于照明系数的阴影贡献的装置;用于确定对应于第一区域的阴影值与对应的所确定的阴影贡献之间的差的邻近度关系的装置;以及用于至少部分基于所确定的邻近度关系来确定一起对应于经修正的数字图像的反照率图和带有阴影的图的装置。

DE:如段落CN–DD中的任一所述的系统或设备,还包括用于至少部分基于反照率图来确定被减少颜色的反照率图的装置;以及用于至少部分基于数字图像中不被包括在被减少颜色的反照率图中的内容来确定颜色带有阴影的图的装置。

DF:如段落DE所述的系统或设备,还包括用于通过在所选的颜色空间中聚集反照率图的值来确定被减少颜色的反照率图的装置。

DG:如段落DE或DF所述的系统或设备,还包括用于使用k-均值聚集来针对k的各个不同值确定多个候选被减少颜色的反照率图的装置,以及用于将所确定的候选被减少颜色的反照率图中具有最低重构错误的一个选择为被减少颜色的反照率图的装置。

DH:如段落CN–DG中的任一所述的系统或设备,还包括用于至少部分基于将一组球谐函数适合到颜色带有阴影的图来确定多个照明系数的装置。

DI:如段落CN–DH中的任一所述的系统或设备,还包括用于至少部分基于数字图像以及一个或多个色差阈值来为数字图像的各个颜色通道确定相应的 反照率图和相应的带有阴影的图的装置。

DJ:如段落DJ所述的系统或设备,还包括用于至少部分基于相应的带有阴影的图来产生颜色带有阴影的图的装置;用于至少部分基于颜色带有阴影的图来确定多个照明系数的装置;以及用于通过至少部分基于照明系数来调整数字图像来产生经修正的数字图像的装置。

DK:如段落DI或DJ所述的系统或设备,还包括用于至少部分基于多个区域来确定反照率图中的至少一个或带有阴影的图中的至少一个的装置。

DL:如段落DK所述的系统或设备,还包括用于至少部分基于经修正的数字图像来确定多个经修正的反照率图和多个经修正的带有阴影的图的装置;用于至少部分基于多个经修正的反照率图来确定组合的反照率图的装置;以及用于至少部分基于多个经修正的带有阴影的图来确定组合的带有阴影的图的装置。

DM:如段落DK或DL所述的系统或设备,还包括用于至少部分基于经修正的数字图像来确定经修正的区域图的装置以及用于至少部分基于经修正的区域图以及至少一个颜色值阈值来确定经修正的反照率图和经修正的带有阴影的图的装置。

DN:如段落CN–DM中的任一所述的系统或设备,还包括用于捕捉场景的数字图像的传感器。

DO:如段落CN–DN中的任一所述的系统或设备,其中数字图像是二维的。

DP:如段落CN–DO中的任一所述的系统或设备,还包括:用于将数字图像存储在第一存储器中的装置;以及用于将区域图存储在第二存储器中的装置。

DQ:如段落CN–DP中的任一所述的系统或设备,其中用于确定数字图像的多个区域的装置包括用于对经过滤的数字图像的各部分进行分组,使得数字图像的多个区域的各个区域具有高于所选大小阈值的相应大小的装置。

DR:如段落CN–DQ中的任一所述的系统或设备,还包括:用于至少部分基于多个区域的相应颜色值来确定多个色差阈值的装置;用于选择区域中具有分开不到色差阈值中对应的多个色差阈值的相应颜色值的那些相邻区域的一个或多个分组的装置;以及用于对于所选分组中的各个分组,确定邻近度关系中对应于区域的在该分组中的那些区域的相应反照率值之间的差的相应那些邻 近度关系的装置。

DS:如段落CN–DR中的任一所述的系统或设备,还包括:用于确定区域中的一个或多个的相应纹理值的装置;用于选择区域中具有分开不到一个或多个所选纹理差阈值的相应纹理值的那些区域的一个或多个分组的装置;以及用于对于所选分组中的各个分组,确定邻近度关系中对应于区域的在该分组中的那些区域的相应反照率值之间的差的相应那些邻近度关系的装置。

DT:如段落CN–DS中的任一所述的系统或设备,还包括:用于选择区域中具有分开不到一个或多个几何差阈值的相应几何值的那些区域的一个或多个分组的装置;以及用于对于所选分组中的各个分组,确定邻近度关系中对应于区域的在该分组中的那些区域的相应阴影值之间的差的相应那些邻近度关系的装置。

DU:如段落CN–DT中的任一所述的系统或设备,还包括:用于存储数字图像的第一存储器,该数字图像具有多个像素的数据,像素中的各个像素的数据包括多个颜色通道中的各个颜色通道的相应值;以及用于存储区域图的第二存储器。

DV:如段落CN–DU所述的系统或设备,还包括用于至少部分基于数字图像的一个或多个未被分组的像素的相应颜色值来提供邻近度关系中的至少一些的装置。

结语

在此描述的图像分解技术可使用相比于现有方案而言减少的处理时间和存储器消耗来提供反照率和阴影信息。这能提供在更广泛的上下文中(诸如对对象的视频的每个帧的处理)使用反照率和带有阴影的图像的能力。各个方面高效地检测并移除来自彩色光源的照明以允许确定通过这样的源照明的对象的反照率。

虽然已经用对结构特征和/或方法动作专用的语言描述了各项技术,但是应该理解,所附权利要求不必限于所述的特征或动作。相反,这些特征和动作是作为实现这些技术的示例形式而描述的。

示例过程的操作在单独的框中示出,并且参考这些框来概括。这些过程被示为逻辑框流,其每个框可表示可用硬件、软件或其组合实现的一个或多个操 作。在软件的上下文中,这些操作表示存储在一个或多个计算机可读介质上的计算机可执行指令,这些指令在由一个或多个处理器执行时使得一个或多个处理器执行既定操作。一般而言,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、模块、组件、数据结构等。描述操作的次序并不旨在解释为限制,并且任何数量的所述操作可以按任何次序执行、按任何次序进行组合、细分成多个子操作、和/或并行执行,以实现所描述的过程。可由与一个或多个计算设备102或200相关联的资源(诸如一个或多个内部或外部CPU或GPU)和/或硬件逻辑的一个或多个片段(诸如FPGA、DSP或其他类型)来执行所描述的过程。

上述所有方法和过程可以用由一个或多个通用计算机或处理器执行的软件代码模块来具体化,并且可经由这些软件代码模块来完全自动化。代码模块可被存储在任意类型的一个或多个计算机可读介质中,例如,一个或多个计算机可读存储介质或其他计算机存储设备。方法中的某些或全部可用专用计算机硬件来具体化。

除非另外具体声明,否则在上下文中可以理解条件语言(诸如“能”、“能够”、“可能”或“可以”)表示特定示例包括而其他示例不包括特定特征、元素和/或步骤。因此,这样的条件语言一般并非旨在暗示对于一个或多个示例需要特定特征、元素和/或步骤,或者一个或多个示例必然包括用于决定的逻辑、具有或不具有用户输入或提示、在任何特定实施例中是否要包括或要执行特定特征、元素和/或步骤。除非另外具体声明,应理解联合语言(诸如短语“X、Y或Z中至少一个”)表示项、词语等可以是X、Y或Z中的任一者、或其组合。

本申请包括在此描述的示例的组合。对特定“示例”(或“方面”、“版本”、“实现”或“实施例”)等的引用指存在于在公开的主题范围内的至少一个示例或配置中的特征。对“一示例”或“具体示例”等的分开的引用不必要指同一示例或同批示例;然而,这样的示例不是相互排斥的,除非具体指示。在参考“示例”、“诸示例”、“方法”、“诸方法”中单数或复数的使用并非限制。

本文所述和/或附图中描述的流程图中任何例行描述、元素或框应理解成潜在地表示包括用于实现该例程中具体逻辑功能或元素的一个或多个可执行指令的代码的模块、片段或部分。替换实现被包括在本文描述的示例的范围内, 其中各元素或功能可被删除,或与所示出或讨论的顺序不一致地执行,包括基本上同步地执行或按相反顺序执行,这取决于所涉及的功能,如本领域技术人也将理解的。应当强调,可对上述示例作出许多变型和修改,其中的元素如同其他可接受的示例那样应被理解。所有这样的修改和变型在此旨在包括在本公开的范围内并且由以下权利要求书保护。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1