一种基于光密度空间的中心化图像通道差的色素分离方法与流程

文档序号:16846447发布日期:2019-02-12 22:21阅读:385来源:国知局
一种基于光密度空间的中心化图像通道差的色素分离方法与流程

本发明属于数字图像处理技术领域,更具体地,涉及一种基于光密度空间的中心化图像通道差的色素分离方法,用于从rgb彩色皮肤图像中提取黑色素和血色素的浓度。



背景技术:

黑色素(melanin)和血色素(hemoglobin),作为人体皮肤中含量最多且最重要的两种色素,其浓度大小直接影响着皮肤的健康。这两种色素浓度的紊乱可能导致各种色素性疾病(如雀斑、黄褐斑等),皮肤炎症,甚至皮肤癌的产生。因此监测血色素和黑色素的浓度变化对皮肤病诊断及治疗,化妆品功效检验具有重大意义。

从相关文献来看,与计算黑色素和血色素浓度有关的色素分离研究兴起于20世纪末,而后得以迅速发展,其相关的研究方法可主要分为三大类:基于反射率等光学属性的硬件测量方法;基于皮肤颜色模拟的估计;基于皮肤图像的估计。其中第一类方法通过结合相关理论和对皮肤反射率、吸收率的测量分析,来衡量黑色素和血色素浓度大小。第二类结合皮肤的组织结构和光学属性,通过改变色素浓度的大小来模拟合成不同的皮肤肤色,并生成肤色颜色表,从而之后再根据皮肤图像的颜色再反向估计黑色素和血色素的浓度,这类方法得到色素浓度的精度不高。最后一类方法才是近年来色素分离领域的研究热点,且又主要分为两类:基于多光谱图像的估计;基于单张彩色皮肤图像的估计。虽然前者在进行浓度估计时会获得更加精确的结果,但是用于采集多光谱图像数据的设备通常比较昂贵。而后者只需用相对廉价的数码相机拍摄的单张彩色皮肤图像作为研究对象就能对皮肤色素浓度进行较准确的估计。因此后者这类方法近几年得到了更快速地发展

在基于单张彩色皮肤图像的色素分离方法中,通常是结合皮肤的组织结构和光学属性,建立rgb彩色皮肤图像颜色和色素浓度的关系模型,再采用传统的独立成分分析算法对黑色素和血色素浓度进行提取。然而,现有的色素分离方法没能消除模型中光源强度带来的干扰以及解决主成分分析过程带来的数据丢失问题,使得方法的光源鲁棒性较差,色素分离结果不够准确,同时方法的执行效率不高。因此,现有的色素分离方法难以实用,有较大的改善空间。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种基于光密度空间的中心化图像通道差的色素分离方法,其目的在于,仅结合独立成分分析算法,对拍摄得到的rgb彩色皮肤图像进行黑色素和血色素的浓度提取,并在此基础上合成色素浓度灰度分布图和彩色分布图,以形象展示色素浓度的总体分布特性。着重地,在本发明中,对传统的色素分离模型进行了优化,消除了模型中存在的光源干扰,并免去了主成分分析的数据降维过程,从而提高了浓度估计结果的准确性和光源鲁棒性。并根据黑色素和血色素的消光系数在r/g/b光谱范围内的数值规律,设计了更简单高效的纯色浓度矩阵的合理性判定约束条件,有效提高了色素分离算法的整体执行效率。

为实现上述目的,本发明提供了一种基于光密度空间的中心化图像通道差的色素分离方法,包括以下步骤:

(1)获取偏振光下的rgb彩色皮肤图像,采用椭圆模型方法进行图像的肤色提取;

(2)将步骤(1)中提取的图像根据图像宽高像素值将图像划分成若干子图像块,并从中舍弃包含非皮肤像素的子图像块;

(3)对每个所属皮肤的子图像块,进行独立成分分析,以得到各个图像块的纯色浓度矩阵,包括以下子步骤:

(3-1)将符合条件的子图像块的各像素的r(红)通道值分别除以g(绿)通道值和b(蓝)通道值,将其结果重整为两个行向量信号,并最后将其组成为一个行数为2的矩阵,记为diffarray;

(3-2)对diffarray作log变换,得到混合颜色通道差矩阵,记为diffarraylog,即:diffarraylog=log(diffarray);

(3-3)计算每个子图像块的diffarraylog的各行的均值,并将所有符合条件的子图像块的均值进行求和后再除以子图像块的总数量n*m,以得到整幅图像的平均颜色通道差向量,并将其组成为与diffarraylog的维数一致的矩阵,记为diffarraymean(该矩阵的每一列都等于平均颜色通道差向量);

(3-4)将diffarraylog矩阵与diffarraymean矩阵的对应值相减,得到中心化后的颜色通道差矩阵,记为diffarraycentral,即diffarraycentral=diffarraylog–diffarraymean;

(3-5)运用经典的fastica算法,对diffarraycentral矩阵进行独立成分分析,得到分离矩阵,记为w;

(3-6)假设纯色浓度矩阵记为c,则根据分离矩阵w与纯色浓度矩阵c的关系式,可利用w求解出真实的纯色浓度矩阵c;具体的关系式如下:

c=(ed-1/2et)-1w-1

其中,e是diffarraycentral的协方差矩阵的特征向量组成的正交矩阵,d是diffarraycentral的协方差矩阵的特征值组成的对角矩阵,r为置换矩阵(这里取值为单位矩阵),λ是倍数对角矩阵(用来将矩阵c的各列模标准化为1),()-1操作为矩阵的逆运算,()-1/2操作为对矩阵中每个值开方后再求逆运算,()t为矩阵转置运算;

(4)根据黑色素和血色素的消光系数在r/g/b各光谱范围的分布特征,设计简单高效的纯色浓度矩阵的合理性判定约束条件,以从步骤(3)中所得到的每个子图像块对应的纯色浓度矩阵中过滤出合理的纯色浓度矩阵,并组成合理纯色浓度矩阵集合,再从中选取偏差最小的作为最佳的纯色浓度矩阵;

(5)根据原rgb皮肤图像颜色与色素浓度之间的关系模型,利用以上步骤所得的最佳纯色浓度矩阵和原图像的颜色通道差值,完成皮肤图像中黑色素和血色素的浓度提取,并引入色素浓度灰度和彩色分布图以形象展示色素浓度的总体分布特性。

优选地,步骤(1)包括以下子步骤:

(1-1)通过在普通rgb彩色图像摄像头和拍摄光源前放置交叉偏振片,以及在较弱的外部环境光源条件下,拍摄皮肤图像照片;

(1-2)利用经典的椭圆模型方法对原皮肤图像进行肤色提取,即提取出图像中的皮肤所属区域。

优选地,步骤(2)包括以下子步骤:

(2-1)获取所拍摄的彩色皮肤图像照片的宽、高像素值,根据宽高像素值,将皮肤图像划分为若干个子图像块,具体步骤为:

(2-1-1)获取图像的宽度像素值w,将子图像块的宽划定为96,n表示将原图像宽度划分为n块,则及将n置为的下整数值;

(2-1-2)获取图像的高度像素值h,将子图像块的高划定为96,m表示将原图像高度划分为m块,则及将m置为的下整数值;

(2-1-3)根据(2-1-1)和(2-1-2)所计算得到的n和m值,将图像划分成n*m个子图像块;

(2-2)判断子图像块中每个像素是否均属于皮肤像素,若其中包含被判定为非皮肤的像素,则直接将该子图像块舍弃,使其不参与接下来的计算。

优选地,步骤(4)包括以下子步骤:

(4-1)根据黑色素和血色素的消光系数在r/g/b各光谱范围的分布特征,设计简单高效的纯色浓度矩阵的合理性判定约束条件,具体如下:

情况1:

约束条件1:纯色浓度矩阵c的c(2,1)除以c(1,1)满足取值范围c(2,1)/c(1,1)∈(1,6.33];

约束条件2:纯色浓度矩阵c的c(2,2)除以c(1,2)满足取值范围c(2,2)/c(1,2)∈0.48,1);

情况2:

约束条件1:纯色浓度矩阵c的c(2,1)除以c(1,1)满足取值范围c(2,2)/c(1,2)∈0.48,1);

约束条件2:纯色浓度矩阵c的c(2,2)除以c(1,2)满足取值范围c(2,1)/c(1,1)∈(1,6.33];

只有当步骤(3)中的纯色浓度矩阵满足以上情况1或者情况2时,才将该纯色浓度矩阵判定为合理的,否则直接将其舍弃,其中当满足情况1时,纯色浓度矩阵中的第一列对应黑色素浓度,第二列对应血色素浓度,同理,当满足情况2时,纯色浓度矩阵的第二列对应黑色素浓度,第一列对应血色素浓度;

(4-2)根据步骤(4-1)的约束条件过滤出合理的纯色浓度矩阵,将纯色浓度矩阵中与黑色素浓度对应的向量记为cm,与血色素浓度对应的向量记为ch,对纯色浓度矩阵c统一进行重新组合,具体如下:

c=[cm,ch]

(4-3)将步骤(4-2)得到的所有纯色浓度矩阵组合为合理的纯色浓度矩阵集合,并对该集合中每个合理的纯色浓度矩阵,作对应元素的算术平均值,从而得到合理纯色浓度矩阵的均值,并从集合中选择与该均值偏差最小的作为最佳的纯色浓度矩阵,记为bc,以用于整张皮肤图像的色素浓度提取。

优选地,步骤(5)包括以下子步骤:

(5-1)对步骤(2)中分割的每个子图像块,根据(3-1)至(3-4)步骤的方式,得到各自的中心化后的颜色通道差矩阵,并将所有的通道差矩阵按行拼接成新的矩阵,记为diffarraycentraltotal;

(5-2)根据原rgb皮肤图像颜色与色素浓度之间的关系模型,

[dm,dh]t=(bc)-1·diffarraycentraltotal

对皮肤图像的色素浓度进行提取,得到皮肤中黑色素和血色素浓度;

其中,bc为(4)步骤得到的最佳纯色浓度矩阵,diffarraycentraltotal为(5-1)步骤得到的新的中心化后的颜色通道差矩阵,dm为黑色素浓度矩阵,dh为血色素浓度矩阵,()-1操作为矩阵的逆运算,[]t为矩阵转置运算;

(5-3)根据步骤(5-2)得到的皮肤中黑色素和血色素浓度,合成黑色素和血色素浓度的灰度分布图,具体公式如下:

其中,dm/h为黑色素或血色素的浓度,min()操作为求解对应色素浓度的最小值,max()操作为求解对应色素浓度的最大值,graydm/h则是将黑色素或血色素浓度线性化到[0-255]空间后的灰度矩阵值,按原输入rgb彩色图像的宽高像素值,将graydm/h重整为h*w维的矩阵,从而得到黑色素和血色素的灰度浓度分布图;

(5-4)根据步骤(5-2)得到的皮肤中黑色素和血色素浓度,合成黑色素和血色素浓度的彩色分布图,具体公式如下:

diffarraycentraltotal=bc·k·[dm,dh]t

其中bc为(4)步骤得到的最佳纯色浓度矩阵,k是2×2的对角矩阵,用于调整不同色素的浓度大小,从而合成不同的皮肤肤色,dm为黑色素浓度矩阵,dh为血色素浓度矩阵,[]t为矩阵转置运算,这里取k=diag[1,0],来得到独立的黑色素分量图,取k=diag[0,1]得到独立的血色素分量图,在根据步骤(3-1)至(3-4)计算出中心化后的颜色通道差矩阵diffarraycentraltotal后,再结合原图像的r通道值,可得到黑色素和血色素浓度的彩色分布图。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:

(1)本发明对传统的色素分离模型进行了优化,消除了模型中存在的光源干扰,并免去了主成分分析的数据降维过程,解决了现有色素分离算法中,由于光源强度干扰和主成分分析过程中的数据丢失导致色素浓度提取结果不准确和鲁棒性差的技术问题;相比现有方法,本发明的色素浓度提取结果具有更高的准确度和鲁棒性。

(2)本发明对输入的彩色皮肤图像首先通过简单的椭圆模型方法进行肤色提取,然后将图像划分成若干子图像块,并舍弃包含非皮肤像素的子图像块,使其不参与接下来的计算,这是因为通过非皮肤图像块计算得到的纯色浓度矩阵通常是不合理的,因此对非皮肤图像块的处理只能降低整体算法的执行效率;同时本发明根据黑色素和血色素的消光系数在r/g/b光谱范围内的数值规律,设计了更简单高效的纯色浓度矩阵的合理性判定约束条件,可以更快速地获得合理的纯色浓度矩阵;相比现有方法,这两种策略方法有助于减少算法的执行时间,因而,本发明的执行效率更高。

(3)本发明同时引入了色素浓度灰度分布图和彩色分布图,因此可以使我们能更加清晰地了解皮肤色素浓度的总体分布特性,包括皮肤各处色素的相对浓度大小和皮损形态。

附图说明

图1是本发明基于光密度空间的中心化图像通道差的色素分离方法的流程图;

图2a为原输入的rgb彩色皮肤图像;

图2b为黑色素浓度灰度分布图;

图2c为血色素浓度灰度分布图;

图3a为原输入的rgb彩色皮肤图像;

图3b为黑色素浓度彩色分布图;

图3c为血色素浓度彩色分布图;

图4是本发明光源鲁棒性测试示例图;其中,从左到右依次为原rgb彩色皮肤图像,黑色素浓度灰度分布图和血色素浓度灰度分布图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

本发明的整体思路在于,提出了一种基于光密度空间的中心化图像通道差的色素分离方法,该方法总体可分为三部分:一、皮肤图像预处理,主要为获取偏振光下的rgb彩色皮肤图像,对其进行肤色提取,再将图像划分成若干子图像块,并舍弃其中包含非皮肤像素的子图像块;二、最佳纯色浓度矩阵的获取,包括对属于皮肤的各个子图像块进行独立成分分析以得到纯色浓度矩阵集合,并设计简单高效的纯色浓度矩阵的合理性判定约束条件,以从原集合中过滤出合理的纯色浓度矩阵子集,再从中选取偏差最小的作为最佳的纯色浓度矩阵;三、黑色素和血色素的浓度提取与分布图展示,包括利用最佳纯色浓度矩阵计算出图像中的黑色素和血色素浓度,再引入色素浓度灰度分布图和彩色分布图以形象展示色素浓度的总体分布特性。

如图1所示,本发明基于光密度空间的中心化图像通道差的色素分离方法包括以下步骤:

一、皮肤图像预处理,具体包括:

(1)获取偏振光下的rgb彩色皮肤图像,对其进行肤色提取,再根据图像宽高像素值将输入图像划分成若干子图像块,并舍弃其中包含非皮肤像素的子图像块;本步骤具体包括以下子步骤:

(1-1)通过在普通rgb彩色图像摄像头和拍摄光源前放置交叉偏振片,以及在较弱的外部环境光源条件下,拍摄皮肤图像照片,如图2a和图3a所示;

具体而言,本步骤中使用的摄像头为普通单反相机用摄像头;偏振光镜片为两线偏振光镜片垂直组合布置;外部环境光源应该较弱,至少应该小于拍摄时所使用闪光灯强度的一半。

(1-2)利用经典的椭圆模型方法对原皮肤图像进行肤色提取,即提取出图像中的皮肤所属区域;

(2)将步骤(1)中提取的图像根据图像宽高像素值将图像划分成若干子图像块,并从中舍弃包含非皮肤像素的子图像块,具体包括以下子步骤:

(2-1)获取所拍摄人脸皮肤图像照片的宽、高像素值,根据宽高像素值,将人脸皮肤图像划分为若干个子图像块,具体为:

(2-1-1)获取图像的宽度像素值w,将子图像块的宽划定为96,n表示将原图像宽度划分为n块,则及将n置为的下整数值;

(2-1-2)获取图像的高度像素值h,将子图像块的高划定为96,m表示将原图像高度划分为m块,则及将m置为的下整数值;

(2-1-3)根据(2-1-1)和(2-1-2)所计算得到的n和m值,将图像划分成n*m个子图像块;

(2-2)判断子图像块中每个像素是否均属于皮肤像素,若其中包含被判定为非皮肤的像素,则直接将该子图像块舍弃,使其不参与接下来的计算。

二、最佳纯色浓度矩阵的获取,包括以下步骤:

(3)对每个属于皮肤的子图像块,运用极大非高斯并行fastica算法进行独立成分分析,以得到各子图像块的纯色浓度矩阵;本步骤具体包括以下子步骤:

(3-1)将符合条件的子图像块的各像素的r(红)通道值分别除以g(绿)通道值和b(蓝)通道值,将其结果重整为两个行向量信号,并最后将其组成为一个行数为2的矩阵,记为diffarray;

(3-2)对diffarray作log变换,得到混合颜色通道差矩阵,记为diffarraylog,即:diffarraylog=log(diffarray);

(3-3)计算每个子图像块的diffarraylog的各行的均值,并将所有符合条件的子图像块的均值进行求和后再除以子图像块的总数量n*m,以得到整幅图像的平均颜色通道差向量,并将其组成为与diffarraylog的维数一致的矩阵,记为diffarraymean(该矩阵的每一列都等于平均颜色通道差向量);

(3-4)将diffarraylog矩阵与diffarraymean矩阵的对应值相减,得到中心化后的颜色通道差矩阵,记为diffarraycentral,即diffarraycentral=diffarraylog–diffarraymean;

(3-5)运用经典的fastica算法,对diffarraycentral矩阵进行独立成分分析,得到分离矩阵,记为w;

(3-6)假设纯色浓度矩阵记为c,则根据分离矩阵w与纯色浓度矩阵c的关系式,可利用w求解出真实的纯色浓度矩阵c。具体的关系式如下:

c=(ed-1/2et)-1w-1

其中,e是diffarraycentral的协方差矩阵的特征向量组成的正交矩阵,d是diffarraycentral的协方差矩阵的特征值组成的对角矩阵,r为置换矩阵(这里取值为单位矩阵),λ是倍数对角矩阵(用来将矩阵c的各列模标准化为1),()-1操作为矩阵的逆运算,()-1/2操作为对矩阵中每个值开方后再求逆运算,()t为矩阵转置运算。

(4)根据黑色素和血色素的消光系数在r/g/b各光谱范围的分布特征,设计简单高效的纯色浓度矩阵的合理性判定约束条件,以从步骤(3)中所得到的每个子图像块对应的纯色浓度矩阵中过滤出合理的纯色浓度矩阵,并组成合理纯色浓度矩阵集合,再从中选取偏差最小的作为最佳的纯色浓度矩阵;本步骤具体包括以下子步骤:

(4-1)根据黑色素和血色素的消光系数在r/g/b各光谱范围的分布特征,设计简单高效的纯色浓度矩阵的合理性判定约束条件,具体如下:

情况1:

约束条件1:纯色浓度矩阵c的c(2,1)除以c(1,1)满足取值范围c(2,1)/c(1,1)∈(1,6.33];

约束条件2:纯色浓度矩阵c的c(2,2)除以c(1,2)满足取值范围c(2,2)/c(1,2)∈0.48,1);

情况2:

约束条件1:纯色浓度矩阵c的c(2,1)除以c(1,1)满足取值范围c(2,2)/c(1,2)∈0.48,1);

约束条件2:纯色浓度矩阵c的c(2,2)除以c(1,2)满足取值范围c(2,1)/c(1,1)∈(1,6.33];

只有当步骤(3)中的纯色浓度矩阵满足以上情况1或者情况2时,才将该纯色浓度矩阵判定为合理的,否则直接将其舍弃,其中当满足情况1时,纯色浓度矩阵中的第一列对应黑色素浓度,第二列对应血色素浓度,同理,当满足情况2时,纯色浓度矩阵的第二列对应黑色素浓度,第一列对应血色素浓度;

(4-2)根据步骤(4-1)的约束条件过滤出合理的纯色浓度矩阵,将纯色浓度矩阵中与黑色素浓度对应的向量记为cm,与血色素浓度对应的向量记为ch,对纯色浓度矩阵c统一进行重新组合,具体如下:

c=[cm,ch]

(4-3)将步骤(4-2)得到的所有纯色浓度矩阵组合为合理的纯色浓度矩阵集合,并对该集合中每个合理的纯色浓度矩阵,作对应元素的算术平均值,从而得到合理纯色浓度矩阵的均值,并从集合中选择与该均值偏差最小的作为最佳的纯色浓度矩阵,记为bc,以用于整张皮肤图像的色素浓度提取。

三、黑色素和血色素的浓度提取与分布图展示,包括以下步骤:

(5)根据原rgb皮肤图像颜色与色素浓度之间的关系模型,运用以上步骤所得的最佳纯色浓度矩阵和原图像的颜色通道差值,完成皮肤图像中黑色素和血色素的浓度提取,并引入色素浓度灰度和彩色分布图以形象展示色素浓度的总体分布特性。本步骤具体包括以下子步骤:

(5-1)对步骤(2)中分割的每个子图像块,根据(3-1)至(3-4)步骤的方式,得到各自的中心化后的颜色通道差矩阵,并将所有的通道差矩阵按行拼接成新的矩阵,记为diffarraycentraltotal;

(5-2)根据原rgb皮肤图像颜色与色素浓度之间的关系模型,

[dm,dh]t=(bc)-1·diffarraycentraltotal

对皮肤图像的色素浓度进行提取,得到皮肤中黑色素和血色素浓度;

其中,bc为(4-3)步骤得到的最佳纯色浓度矩阵,diffarraycentraltotal为(5-1)步骤得到的新的中心化后的颜色通道差矩阵,dm为黑色素浓度矩阵,dh为血色素浓度矩阵,()-1操作为矩阵的逆运算,[]t为矩阵转置运算。

(5-3)根据步骤(5-2)得到的皮肤中黑色素和血色素浓度,合成黑色素和血色素浓度的灰度分布图,具体公式如下:

其中,dm/h为黑色素或血色素的浓度,min()操作为求解对应色素浓度的最小值,max()操作为求解对应色素浓度的最大值,graydm/h则是将黑色素或血色素浓度线性化到[0-255]空间后的灰度矩阵值,按原输入rgb彩色图像的宽高像素值,将graydm/h重整为h*w维的矩阵,从而得到黑色素和血色素的灰度浓度分布图,如图2b和图2c所示;

(5-4)根据步骤(5-2)得到的皮肤中黑色素和血色素浓度,合成黑色素和血色素浓度的彩色分布图,具体公式如下:

diffarraycentraltotal=bc·k·[dm,dh]t

其中bc为(3-3)步骤得到的最佳纯色浓度矩阵,k是2×2的对角矩阵,用于调整不同色素的浓度大小,从而合成不同的皮肤肤色,dm为黑色素浓度矩阵,dh为血色素浓度矩阵,[]t为矩阵转置运算,这里取k=diag[1,0],来得到独立的黑色素分量图,取k=diag[0,1]得到独立的血色素分量图,在,根据步骤(3-1)至(3-4)计算出中心化后的颜色通道差矩阵diffarraycentraltotal后,再结合原图像的r通道值,可得到黑色素和血色素浓度的彩色分布图,如图3b和3c所示;

(5-5)引入步骤(5-3)和步骤(5-4)所得的色素浓度的灰度分布图和彩色分布图,以形象展示色素浓度的总体分布特性。

验证实验:

为了验证本发明具有一定的光源鲁棒性,利用本发明提供的方法对三种不同环境光(偏黄光、偏绿光、偏橘红光)下拍摄到的皮肤图像进行色素浓度提取实验,其色素分离结果由色素浓度分布图进行展示,如图4所示。通过简单的目测判断方法可知,输入图里的黑痣只出现在黑色素浓度灰度分布图中,且亮度比正常肤色高。而痤疮只出现在血色素浓度灰度分布图中,其亮度也应比正常肤色高,这完全符合我们人体的生理认知,因此可得出本发明具有较高的光源鲁棒性,对不同环境光下拍摄的皮肤图像均能获得较准确的色素分离结果。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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