回 首 往 昔   更 进 一 步 

Martrix-revolution

无参考评价体系

无参考的图像评价体系

一、简要介绍

​ 目前从事冷冻电镜方面的研究,对于冷冻电镜拍摄图像进行聚类并求平均图后,需要对聚类的好坏进行评价并反馈,我从无参考图像质量评价的方向入手,基于图像清晰度质量来评价聚类。在了解NRIQA后,我从几十个的算子中挑选出了适合冷冻电镜聚类平均图的21个算子(可以再加,欢迎提议),1 Kurtosis-NoDC 2 Mean of Image 3 Variance of Image 4 Relative Variance 5 Contrast 6 T-sobel 7 T-scharr 8 Entropy 9 2D_entropy(if <0 so =0 ) 10 Squared horizontal gradient 11 Squared vertical gradient 12 Robert gradient 13 Prewitt gradient 14 Auto-Correlation 15 SMD 16 SMD2 17 EVA 18 NRSS 负值 19 voll 20 Sobel_5 21 Mendelsohn and Mayall ,其中对于2维熵的得分只取正值,对于NRSS的得分进行调整为图像越清晰得分越大。 再计算完成一个得分表后,我对每个算子的不同图像得分进行标准化,然后将不同图像的不同算子的得分进行相加得出图像总体得分。为了确定每个图象评价的可靠性,我采用数据离散程度评价每个图象中不同评价函数得分的排名,如果排名差异越大越不可靠,反之打分越可靠。(对于聚类的好坏,我需要评价一组图像,我对每幅图像的得分离散程度进行变换得到分数权重,再加权进行总分)

二、算子简述

1 Kurtosis-NoDC

峰度:峰态系数,表征概率密度分布曲线在平均值处峰度高低的特征数。直观的说,峰度反映了峰部的尖度。计算方法:随机变量的四阶中心矩与方差平方的比值。峰度包括正态分布(峰度值=3),厚尾(峰度值>3),瘦尾(峰度值<3)。注意,个别的软件会将峰度值减3,ArcGIS默认正态分布的峰度为3

2 Mean of Image

图像均值(平均亮度)图像灰度的均值,信号中直流分量的大小

3 Variance of Image

图像灰度值的方差(对比度),方差描述信号的波动范围,表示信号中交流分量的强弱。

4 Relative Variance

相对方差:为了针对单位不一致时可以更准确的说明两组数据的离散程度,就引入了相对标准偏差。标准差除以平均值。

5 Contrast

图像对比度(自定义对比度计算函数)亮的更亮,暗的更暗。

一般:计算平均亮度,将每点的亮度与平均亮度比较,得到差值

6 T-sobel

Tenengrad基于梯度的评价函数,在图像处理中,一般认为较好的图像具有更尖锐的边缘(!),故具有更大的梯度函数值。使用sobel算子(计算梯度/求导)提取水平和垂直方向的梯度值,经过sobel处理后的图像平均灰度值越大,代表图像越清晰。


7 T-scharr

比sobel算子效果更好(提取水平和垂直边缘更加明显

8 Entropy

一维熵 图像的熵是一种特征的统计形式,它反映了图像中平均信息量的多少,图像的一维熵表示图像中灰度分布的聚集特征所包含的信息量,零Pi表示图像中灰度值为i的像素所占的比例,则定义一元灰度熵为

其中Pi是某个灰度在该图像中出现的概率。

9 2D_entropy(if <0 so =0 )

图像的一维熵可以表示图像灰度分布的聚集特征,却不能反映图像分布的空间特征,为了表示这种空间特征,可以在一维熵的基础上引入能够反映灰度分布空间特征的特征量来组成图像的二维熵。选择图像的邻域灰度值(邻域均值法是将每一像素的灰度值设置为该点某邻域窗口内所有像素点的平均或加权平均值,窗口大小一般为奇数)作为灰度分布的空间特征量,与图像的像素灰度组成二元组,记为(i,j),其中i表示像素的灰度值,j表示邻域灰度均值:

反映了某像素位置上的灰度值与其周围像素灰度分布的综合特征,其中f(i,j)为特征二元组出现的频数,N为图像的尺度

10 Squared horizontal gradient

平方水平梯度

图像灰度值水平梯度相邻梯度变化平方和

11 Squared vertical gradient

平方垂直梯度

图像灰度值垂直梯度相邻梯度变化平方和

12 Robert gradient

Robert算子又称交叉微分算子,它是基于交叉差分的梯度算法,通过局部差分计算检测边缘线条,常用来处理具有陡峭的低噪声图像,当图像边缘接近正负45,处理效果最佳。缺点是对边缘定位信息不太准确,提取的边缘线条较粗。Robert算子模板分为水平方向和垂直方向。(一般用2*2的模板算子)

13 Prewitt gradient

Prewitt算子是一种图像边缘检测的微分算子,由于Prewitt算子采用33模板对区域中的像素进行计算,而Roberts算子的是利用22模板,因此,Prewitt算子边缘检测结果在水平方向和垂直方向均比Roberts算子更加明显。Prewitt算子适合用来处理噪声较多,灰度渐变的图像。

在python中,Prewitt算子处理过程与Roberts算子较为相似,主要是通过Numpy定义模板,再调用OpenCV中的filter2D()函数实现对图像的卷积运算,最终通过cv2.convertScaleAbs(),和cv2.addWeighted()实现图像边缘提取。

14 Auto-Correlation

自相关,自相关函数用来计算纹理周期具有很好的效果。

15 SMD

当图像完全聚焦时,图像最清晰,图像的高频分量越多,可以将灰度变化作为聚焦评价(清晰度)的依据。(还是灰度变化,不过求梯度的方向发生了变化,可以借鉴)

16 SMD2

灰度方差SMD具有较好的计算性能,但缺点是焦点附近灵敏度不高,即该函数在极值点附近过于平坦,从而导致聚焦精度难以提高(对焦点中心的清晰度不够灵敏)。

17 EVA

徐贵力、张霞等提出了一种基于边缘锐度的算法用于评价图像的清晰度。通过统计图像某一边缘方向的灰度变化情况来评价。计算公式如下

其中:df/dx为边缘法向的灰度变化率,f(b) - f(a)为该方向的总体灰度变化。该算法只对图像的特定边缘区域做统计,能否代表整幅图像的清晰度仍有疑问,此外计算前需人工选定边缘区域,不便实现程序运算的自动化,因为王鸿南等在论文 图像清晰度评价方法研究 中对上述算法进行了改进,改进如下:

1)将针对边缘的梯度计算改为逐个像素领域梯度的计算,以便算法能对图像的整体进行评价,并使算法实现自动化。

2)对方格像素 8 领域的灰度变化进行距离加权,水平和垂直方向的权重为1,而45度和135度方向的权重为1/√2。

3)对计算结果按图像的大小进行规格化,以便于图像的对比。

18 NRSS 负值

Wang等利用人类视觉系统(HVS)非常适于提取目标的结构信息的特点,提出了图像结构相似度概念(SSIM),认为只要能计算目标结构信息的变化,就能够得到感知图像失真值。杨春玲等基于此思路,将该方法引入到计算全参考图像的清晰度评价中,认为图像的清晰度可以使用目标图像与参考图像间的结构相似度来表示,而图像间的结构相似度包含以下三个部分的比较:

而C1、C2和C3 是为了避免分母为0而设的常数。图像的结构相似度由下式计算可得:

19 voll

其中 u为整幅图像的平均灰度值, M,N分别为图像的宽和高

20 Sobel_5

利用核大小为5的sobel算子来进行图像边缘信息提取(水平方向和垂直方向)进而评估图像质量

21 Mendelsohn and Mayall

直方图算法:此算法定义模糊度s为:所有大于某一阈值的灰度级和它出现的概率的乘积,

其中x是图像的灰度级,p{xi}是灰度级xi在图像中出现的概率,T是灰度级的阈值。选用不同的阈值构成了此算法的不同分支。此算法有较强的抗噪能力。

三、代码实现

先使用脚本NewMetrics来分析一个文件夹内的所有图像,会生成一个excel表格,然后使用脚本Analyse分析该excel表格内容,得到分析数据。
GitHub地址:https://github.com/O-VIGIA/CryoEM/tree/main/Pic_Avg_NRIQA

版权所有:Luxiaoye

posted on 2021-08-31 21:09  Martrix-revolution  阅读(233)  评论(0编辑  收藏  举报

导航