发布时间:2024年6月11日
什么是香农信息?
电子通信信道存在这样一个指标——它量化了通过信道无差错传输的最大信息量。该指标包括清晰度(带宽)和噪点(胶片中的颗粒)。而相机或任何数字成像系统就是这样一种通道(相机或任何数字成像系统都可以被看作是一种通道,就像电子通信中的通道负责传递信号一样,相机或数字成像系统负责捕捉、处理和传递图像信息)。
该指标由贝尔实验室的ClaudeShannon于1948年首次发布,现已成为电子通信行业的基础。它被称为香农信息容量或香农信息传输容量C,并且有一个看似简单的方程。
W是通道带宽,对应图像清晰度,S是信号能量(信号电压的平方;与图像中的MTF2成正比),N是噪声能量(RMS噪声电压的平方),对应薄膜中的颗粒。它看起来很简单(只比E=mc2复杂一点),但应用起来并不容易。
接下来将描述如何从西门子星的图像中计算信息容量,这个方法可以从同一位置计算信号和噪声。该方法对去马赛克、剪切和数据压缩产生的伪影也很适用,从而可以对图像质量进行更精确的测量,比迄今为止成像行业使用的任何方法都要好。(技术细节在下文绿色框内)
香农信息容量的意义
在电子通信信道中,信息容量是指能够无差错地通过信道的最大信息量,即衡量信道”好坏”的标准。实际的信息量取决于编码如何表示信息。虽然编码与数据压缩(如何将图像存储在文件中)密不可分,但它与数码相机无关。重要的是以下假设:
假设:感知的图像质量(假设图像处理流程经过良好调整),以及机器视觉和人工智能(AI)系统的性能,与相机的信息容量成正比,而相机的信息容量则是MTF(清晰度)、噪点、由去马赛克处理产生的伪影、裁剪(如果存在)和数据压缩的函数。
这一说法只是一种假设猜想。虽然它与许多测量结果相吻合,但(截至2020年2月)还需要更多的测试(使用各种图像)才能被业界接受。好在信息容量可以通过Imatest方便地计算出来,因此我们有机会进一步了解它。
正如我们所提到的,信息容量是带宽W和信噪比S/N的函数。
在介绍香农容量的文本中,带宽W通常被假设为半功率频率,它与MTF50密切相关。严格来说,W㏒2(1+S/N) 仅在白噪声(具有平坦频谱)和简单低通滤波器(LPF)时才是正确的。但是,数码相机具有不同程度的锐化,而强锐化可能导致响应曲线出现大的峰值,这些峰值与简单的LPF响应偏差很大。因此,我们使用Shannon-Hartley公式的积分形式:
正如论文《Measuring camera Shannon Information Capacity with a Siemens Star Image》中所述,我们必须更改此方程式以考虑像素的二维特性,通过将其转换为双重积分,然后转换为极坐标形式,最后再转换回一维形式。(方程式位于下文的绿色框中)
关于信息容量我们可以用西门子星图进行测量。西门子星图方法的优点是信号功率S(f)和噪声功率N(f)是从相同位置(具有一系列角度范围和狭窄半径范围的段,其中S和N受到相同的图像处理)计算得出的。
在测量信息容量时,一个关键挑战是如何定义平均信号功率S。理想情况下,定义应基于广泛使用的测试卡。为了方便起见,该图卡应具有尺度不变性(因此不需要测量精确的图卡放大倍数)。正如我们所指出的,应在同一位置测量信号和噪声。
为了让不同观测者获得相同的结果,图卡的设计和对比度应标准化。为此,我们建议使用类似于ISO 12233:2014/2017附件E中规定的正弦西门子星标图。对比度应尽可能接近50:1(标准中规定的最小值;接近哑光介质可实现的最大值)。更高的对比度可能会使星标图像难以线性化。较低的对比度是可以接受的,但应在结果报告。高分辨率系统应使用144个周期的图表,但低分辨率系统使用72个周期就足够了。用于将图像居中以便分析的中心标记(象限图案)应具有星标直径的1/20。
获取并构建图像框架
在均匀且无眩光的光线下获取西门子星标的良好曝光图像。在测试多个相机时,曝光应相对一致。星标内部线性化图像的平均像素水平应在0.16到0.36的范围内。(最佳值尚未确定。)
星标的中心应位于图像中心附近,以最大程度地减少由光学失真(如果存在)引起的测量误差。为了自动居中正常工作,图像的方向应使中心标记的边缘几乎呈垂直和水平状态。
图像中星标的尺寸应该设置为,对应于最小半径rmin的最大空间频率大于Nyquist频率?Nyq,并且如果可能的话,不大于1.3?Nyq,以便有足够的低频率供通道容量计算。这意味着一个带有1/20内部标记的144周期星标的直径应为1400~1750像素,而一个72周期星标的直径应为700~875像素。对于高质量的喷墨打印机,星标的物理直径至少应为9(最好为12)英寸(23至30cm)。
图卡周围可能还有其他特征,但平均背景应接近中性灰色(18%反射率),以确保良好的曝光(如果需要的话,可以用曝光补偿)。图1展示了2400万像素(4000×6000像素)相机中的一个典型星标图像。
imatest星图分析
可以在Rescharts(交互式;推荐初学者使用)中或在作为固定、批量处理模块的(Imatest主窗口左侧的Star按钮)中进行。
在星图设置窗口中,请确保已选中“Calculate information capacity”复选框(位于“设置”部分的底部附近)。稍后将介绍SNRI设置。如果其他设置正确,请按“确定”。
按下“确定”后,图像将被分析。在Rescharts中可以选择任何几个显示。下表列出了仅适用于信息容量测量的显示。
分析结果
有三个Rescharts显示是专门为信息容量结果设计的:9. 信息容量,SNRI、10. 无噪声输入差,等等,以及11. 3D曲面图。
以下是使用高质量2400万像素Micro Four-Thirds相机拍摄的原始图像(使用dcraw和24位sRGB预设转换为TIFF格式;伽玛≅2.2)在Rescharts中运行Star的结果。
信息容量图
下图显示了2400万像素的Micro Four-Thirds索尼A6000在ISO 400设置下的信号、噪声和(信号+噪声)/噪声(分贝)。
这显示了相同图像捕获的相机内JPEG的结果。曲线有一个“凸起”,这是锐化的特征。请注意,尽管JPEG被锐化了,但香农信息容量仍然低于原始图像。这是因为高频噪声与信号一起被增强了。
差异图像图(无噪声输入等)
仅噪声(无噪声输入差异)图特别值得关注,因为以前无法获得允许在存在信号(去除正弦星形图案后)的情况下测量和可视化噪声的图像。
由于ISO 400时的噪声非常低,因此很难看到,因此我们展示了ISO 25600(Micro Four-Thirds相机的最大值)时TIFF原始图像和JPEG图像的噪声。点击右侧的“复制图像”按钮将图像复制到剪贴板,可以在图像编辑器/查看器或图像统计模块中粘贴以进行进一步分析。
下侧的图像是上述图像(ISO 25600)在同一拍摄中相机内的JPEG图像。由于存在降噪处理,它看起来与原始/TIFF图像非常不同。
下面的图像来自同一相机在ISO 400下获取的原始/TIFF和相机内JPEG图像。
图8. raw/TIFF ISO 400 | 图9. JPEG, ISO 400 |
3D曲面图
3D曲面图允许您详细检查图像的小部分。
要获得此显示,必须在设置窗口中设置3D曲面图计算(以及计算信息容量)。它显示了(所选通道的)信号作为角度和空间频率(以Cycles/Pixel为单位)的函数,空间频率与半径成反比。此图表示原始图像的狭窄扇形切片,空间频率高时角度细节会大大放大。
显示了一个MTF和噪声随空间频率变化的小图,以及关键结果(信息容量等)的摘要。
这个图是根据iPhone 10的测试制作的,其中图像似乎在低到中等空间频率下达到饱和,但仅通过查看图像很难评估饱和度。如图11所示,饱和度非常强,显然是某种局部色调映射的结果。这在来自星型图案或相邻倾斜边缘的MTF曲线中并不明显。iPhone上安装了一些Adobe软件,允许同时捕获原始(DNG)和JPEG图像。我们不知道这是否影响了JPEG的处理。
下面的图像显示了TIFF文件的响应(从同一iPhone 10的DNG原始图像转换而来)。响应是正弦形的——表现良好,没有可见的振幅失真。信息容量几乎与失真的JPEG图像相同,其中发生了几件事:当图像饱和时,随机噪声为零,但由?(?)=?(?)−??????(?)(如下)定义的噪声由于振幅失真(偏离正弦函数)而增加。
在其他情况下观察到的信息容量对图像处理的不敏感性是一个显著的结果。相比之下,高度处理的JPEG图像的MTF50和MTF50P要高得多。
使用西门子星图计算香农容量
大多数可互换图像(通常编码在sRGB或Adobe RGB等色彩空间中)的像素级都是gamma编码的。对于这些文件,像素级≅(传感器照度)1/gamma,其中gamma(通常约为2.2)是色彩空间(显示亮度=(像素级)gamma)的预期观察gamma值。
为了分析这些文件,需要将它们的像素级按照gamma值进行线性化转换。RAW文件通常不需要线性化(如果它们是在没有gamma编码的情况下进行去马赛克的,即gamma=1)。
西门子星图的ntotal周期图像被划分为nr=32或64个径向段和ns=8(推荐)、16或24个角度段。每个段具有周期(弧度中的角度长度)P = 2πntotal/ns,并且包含nk=ntotal/ns个周期和kn个信号点,每个信号点都位于已知的角度位置φ,在范围{0,P}内。
我们假设该段中的理想信号具有以下形式:
a和b是使用傅里叶级数系数方程计算得出的:
其中S(φ)是该段中测量到的信号(实际上,是信号加上噪声)。[注意,尽管这个方程不在ISO 12233:2017标准中,但它完全满足附录F,步骤5的意图(“通过最小化平方误差,将期望频率的正弦曲线拟合到测量值中。”)]
噪声是?(?)=?(?)−??????(?)。
一个以半径r(以像素为单位)为中心的段的频率?(以周期/像素为单位)是?=??????/2??。这个方程的一个有趣后果是,很容易找到奈奎斯特频率(0.5 C/P):当?=??????/?时,对于ntotal=144个周期,r等于45.8像素。
如果由于中心定位误差、光学畸变或其他因素导致f与预期值略有不同,则会进行一个小的调整(这里没有描述)。
信号功率是?(?)=?2(??????(?))。噪声功率是?(?)=?2(?),其中?2是方差(标准差的平方)。注意,信号加噪声的总功率是?(?)+?(?)=?2(?)。[注:从香农的上下文“噪声中的通信”来看,我们假设?(?)是在信号??????(?)存在时测量的噪声;而不是频率?的窄带噪声。]
将香农方程从一维转换为像素维度
香农容量的完整一维方程在香农关于信息理论的第二篇论文中提出,这篇论文名为“噪声中的通信”,发表于《IRE学报》,第37卷,第10-21页,1949年1月,公式(32)。这个方程不能直接使用,因为考虑的像素是二维的。
这个方程需要转换为二维形式,因为像素(在这里)具有面积单位。(它们对于像MTF这样的线性测量具有距离单位。)
其中?x和?y分别是x和y方向上的频率。为了计算这个积分,我们将x和y转换成极坐标,即r和θ。
由于S和N对θ的依赖性很少,我们可以将这个方程重写为一维形式。
香农容量的极限案例:假设你有一个8位像素,这相当于256个级(0-255)。如果你考虑级之间1的距离是“噪声”,那么香农方程中的信噪比部分是log2(1+2562)≅16。信息可以正确传输的最大带宽——即奈奎斯特频率——是每个像素0.5个周期。(所有高于奈奎斯特的信号能量都是错误信息。)所以C=Wlog2(1+(S/N)2)=8位每像素。
总结摘要
香农信息容量?长期以来一直被用作衡量电子通信信道好坏的标准。它规定了如果使用适当的编码,数据可以无误差传输的最大速率(几乎花了半个世纪的时间才找到接近香农容量的编码)。在成像中,编码不是问题。
?通常以每像素的比特数来衡量。总容量是??????=?×像素数量。
在计算?之前,必须先对信道进行线性化,即应用适当的gamma校正(信号=像素级gamma,其中gamma约为2),以获得正确的S和N值。gamma值(接近2)是从任何分析灰阶图的Imatest模块运行中确定的:Stepchart,Colorcheck,Color/Tone固定或交互式,SFRplus或是 eSFR ISO。
我们假设?可以用作评估相机质量的指标,特别是对于机器视觉和人工智能相机。(它并不直接转化为消费者相机的外观,因为它们需要仔细调整才能制作出令人愉悦的图像)。它为比较相机提供了一个公平的基础,尤其是当与从原始图像转换而来的图像结合使用时,这些图像的最小处理。
Imatest计算数字图像的Y(亮度;0.212*R + 0.716*G + 0.072*B)通道的香农容量?,这近似于人眼的敏感度。它还计算了单独的R、G和B通道以及?b和?r色度通道(来自Y?b?r)的?。
由于难以计算和解释,香农容量尚未用于表征摄影图像。但现在它可以轻松计算,它与摄影图像质量的关系值得研究。
图像总信息容量
到目前为止,我们讨论的信息容量是针对单个星标的,通常位于图像中心附近。
在确定了像素的信息容量之后,下一步是计算相机的总容量,??????。不幸的是,不能通过简单地将单个像素的信息容量C×百万像素数来可靠地获得总容量,因为镜头的锐度(MTF响应)往往是不均匀的,通常随着距离图像中心的距离而减少。要获取图像的总信息容量,有两种选择。
- 使用西门子星图的网格,类似于ISO 2014/2017标准中所展示的网格。这种方法不太方便,因为Imatest不会自动检测星点的网格,而且如果存在大量的光学畸变,这种方法的效果会很差。??????=mean(?????)×百万像素
- 使用具有多个斜边的图卡,最好是能被imatest软件自动ROI检测识别的测试卡。推荐使用eSFR ISO、SFRplus或棋盘格测试卡,尽管可以使用任何斜边模块。这需要捕获第二张图像。斜边方法——我们推荐使用2023年在“使用Imatest测量信息容量”中描述的新方法。
- 运行上述推荐的能被imatest软件自动ROI检测识别的图卡之一。
- 在设置或更多设置窗口中的信息容量下拉菜单中选择适当的设置。它可能不太显眼。计算信息容量会略微减慢操作速度。唯一不想启用此功能的时候可能就是在进行高速实时图像采集的时候。
结果在边缘/MTF图中显示,还有两个新的3D图,以及在JSON输出中。示例显示在白皮书中。
选择3D和等高线图以及边缘信息容量C_Max。这会显示?max,?max_slant_mean和?max_slant_total的平均值和总值。然后,
其中?max_slant_total=mean(?max_slant)×百万像素。
从倾斜边缘推导Ctotal的旧方法已被弃用。
联系我们:
如果你也对香农信息容量等内容感兴趣的话,欢迎与我们留言,也可邮件咨询: sales@colorspace.com.cn,分享您的看法或提出您的问题!
Was this helpful?
0 / 0