1.本发明涉及一种基于压缩感知白平衡算法的屏下摄像装置以及对应的屏下摄像方法。
背景技术:2.现实生活中各种摄像器材捕获的照片和视频,由于受到环境光、物体表面反射率以及图像传感器敏感度的影响,常常表现出一定程度的偏色,让场景中物体的颜色无法真实呈现。如智能手机中设置的前置摄像头,就很容易受到手机屏幕在工作时产生的各色亮光的干扰,影响前置摄像头的拍摄效果。这样的问题严重地影响了手机全面屏的实现,现有的各类手机往往只能通过设置刘海带、摄像孔等位置安装前置摄像头的方式,或者通过将前置摄像头设置在全面屏下并让该全面屏的相应位置在前置摄像头拍摄时停止发光的方式,来解决屏幕发光影响摄像头拍摄的问题。
3.传统也存在一些解决图像偏色问题的方法,如白平衡方法,这种方法可以使得处理后的图像中的场景尽可能接近标准白色光源映照下的场景。实现这种白平衡方法的主要途径是先通过光源估计算法估计出图像的真实光源,再从图像中消去估计出光源的影响,从而实现图像整体偏色的校正。通常情况下,对于rgb表示的图片,光源估计算法估计出图片光源的rgb值,再对图片的每一个像素除以该值来校正图像的偏色。
4.然而,上述光源估计算法一般分为两种,即基于学习的算法与基于统计的算法。总体而言,基于学习的方法利用大量的先验信息训练模型来估计光源,这些算法的效果较好,但通常需要消耗大量的计算资源,不利于硬件的实现;而基于统计的方法不依赖于相机信息和训练数据,直接利用图像信息进行光源估计,因此这些方法的应用较为简单和快捷,但同时光源估计效果也较差。
5.因此,上述两种方法都存在一定的缺陷,尤其是在屏下摄像这种色彩变换频繁的场景中,摄像头拍摄到的视频会不断地受到屏幕色彩变化的影响,这些传统的方法要么耗费的计算资源过多,无法对视频帧进行实时处理;要么无法满足光源的预估准确性,容易使得视频中频繁出现杂色。
技术实现要素:6.为解决上述问题,提供一种能够在利用较少计算资源的情况下,快速地对视频帧进行白平衡处理从而实现屏下摄像的屏下摄像装置及方法,本发明采用了如下技术方案:
7.本发明提供了一种基于压缩感知白平衡算法的屏下摄像装置,其特征在于,包括:半透明屏幕;摄像头,设置在半透明屏幕的后方,用于透过正在工作发光的半透明屏幕进行拍摄从而得到拍摄视频;以及处理器,与摄像头相通信连接,其中,处理器具有:当前图像获取部,用于获取拍摄视频并从中逐帧获取图像帧作为当前图像;等距离降采样部,对当前图像进行等距降采样从而形成降采样图像;储存位数转换部,从降采样图像中去除饱和像素,并将该降采样图像的色彩通道信息转化为预定的储存位数从而形成预处理图像;高亮像素
选取部,将预处理图像等分成若干个矩形块,并逐块从矩形块中选取预定数量个高亮像素,进一步将所有高亮像素以及当前帧前的a个图像帧对应的所有高亮像素作为对应当前图像的高亮像素集合;光源估计部,基于高亮像素集合,通过预定的灰色世界处理法估计出当前图像中的光源;颜色校正部,利用光源对当前图像进行颜色校正得到当前帧的校正图像;以及视频合成输出部,将校正图像逐帧进行合并形成输出视频并进行输出。
8.本发明提供的基于压缩感知白平衡算法的屏下摄像装置,还可以具有这样的技术特征,其中,高亮像素选取部具有:矩形块划分单元,根据预处理图像的分辨率,将预处理图像等分成m
×
n个矩形块fi,i∈{1,2,
…
,mn};总亮度计算单元,计算预处理图像的总亮度l,该总亮度l为预处理图像f中所有像素的亮度的q次幂之和,即:
[0009][0010]
式中,第k个像素的亮度lk为其rgb通道的数值和:lk=rk+gk+bk;总采样数计算单元,根据预定的采样率σ∈(0,1),计算预处理图像中像素的总采样数n
σ
,使n
σ
=nσ,其中n是图片中的总像素数;矩形块亮度计算单元,分别计算矩形块fi的亮度li:矩形块采样数计算单元,分别将每个矩形块的像素的采样数ni正比于该矩形块的亮度li,即ni=lin
σ
/l;高亮像素选定单元,分别对每个矩形块逐块按照采样数ni选取亮度最高的像素作为高亮像素;以及高亮像素集合获取单元,获取当前图像中所有的高亮像素,并将其与当前帧前的a个图像帧对应的所有高亮像素作为对应当前图像的高亮像素集合。
[0011]
本发明提供的基于压缩感知白平衡算法的屏下摄像装置,还可以具有这样的技术特征,其中,等距离降采样部具有:降采样间隔存储单元,存储有预先设定的降采样间隔r;以及降采样图像获取单元,将当前图像根据降采样间隔r不重叠地划分成规格为(r,r)的多个块,并在每个块中选择一个像素点,进一步将这些被选择的像素点构成降采样图像。
[0012]
本发明提供的基于压缩感知白平衡算法的屏下摄像装置,还可以具有这样的技术特征,其中,储存位数转换部具有:饱和像素取出单元,从降采样图像中筛选出任一色彩通道的数值超过预定界限t的像素,并将该像素各通道的数值变为0;以及图片储存位数转化单元,确定降采样图像的单色彩通道信息所花比特数,并在该比特数超过预定比特时将单色彩通道信息转化为预定比特储存。
[0013]
本发明提供的基于压缩感知白平衡算法的屏下摄像装置,还可以具有这样的技术特征,其中,预定比特为8比特。
[0014]
本发明提供的基于压缩感知白平衡算法的屏下摄像装置,还可以具有这样的技术特征,其中,颜色校正部具有:rgb确定单元,对当前图像fi中的每个像素k,以其原先rgb值分别除以估计光源的rgb值,得到新的rgb值(i
′
k,r
,i
′
k,g
,i
′
k,b
):
[0015][0016]
式中,i
k,c
像素k在通道c的原先值,ic是估计光源在通道c的值;以及亮度调整单元,根据rgb值(i
′
k,r
,i
′
k,g
,i
′
k,b
)对当前图像进行亮度调整从而得到校正图像。
[0017]
本发明提供的基于压缩感知白平衡算法的屏下摄像装置,还可以具有这样的技术特征,其中,灰色世界处理法为灰色世界法、灰色阴影法、一般灰色世界法以及灰色边缘法
中的任意一种。
[0018]
本发明提供的基于压缩感知白平衡算法的屏下摄像装置,还可以具有这样的技术特征,其中,半透明屏幕为智能手机、计算机或是平板电脑的屏幕。
[0019]
本发明还提供了一种基于压缩感知白平衡算法的屏下摄像方法,用于对设置在正在工作发光的半透明屏幕后方的摄像头透过该半透明屏幕拍摄得到拍摄视频进行校正处理,其特征在于,包括如下步骤:步骤s1,获取拍摄视频并从中逐帧获取图像帧作为当前图像;步骤s2,对当前图像进行等距降采样从而形成降采样图像;步骤s3,从降采样图像中去除饱和像素,并将该降采样图像的色彩通道信息转化为预定的储存位数从而形成预处理图像;步骤s4,将预处理图像等分成若干个矩形块,并逐块从矩形块中选取预定数量个高亮像素,进一步将所有高亮像素以及当前帧前的a个图像帧对应的所有高亮像素作为对应当前图像的高亮像素集合;步骤s5,基于高亮像素集合,通过预定的灰色世界处理法估计出当前图像中的光源;步骤s6,利用光源对当前图像进行颜色校正得到当前帧的校正图像;步骤s7,将校正图像逐帧进行合并形成输出视频并进行输出。
[0020]
发明作用与效果
[0021]
根据本发明提供的于压缩感知白平衡算法的屏下摄像装置及方法,由于在对摄像头拍摄得到拍摄视频中每一帧图像进行处理时,通过等距降采样的进行降采样处理,并在降采样图像的基础上进行后续的颜色校正处理,因此可以在几乎不损失算法准确性的情况下,极大地节约了计算成本并降低每一帧的运行处理耗时,而能够实时地在手机上进行视频白平衡处理。还由于在颜色校正处理过程中,首先将当前图像划分为多个矩形块,并从中逐块选取高亮像素,因此,既有效利用了画面中高亮区域能较好地描述光源色彩的特点,又纳入了空间信息,较为分散地选取高亮像素,从而更准确地反映了图像的整体光源信息。
[0022]
事实上,本发明在光源估计标准数据集nus 8-camera数据集上取得了2.76
°
(1.99
°
)的平均(中位)角误差(angular error),是当前最好的非学习光源估计算法。通过这种准确的光源,本发明即可有效地取出拍摄视频中由半透明屏的屏幕光与环境光共同产生的混合色偏,从而使得设置在屏幕后方的摄像头也能正常地完成拍摄任务,真正地实现屏下摄像。
附图说明
[0023]
图1是本发明实施例中屏下摄像装置的示意图;
[0024]
图2是本发明实施例中本发明实施例中处理器的框图;
[0025]
图3是本发明实施例在nus camera-8数据集下的验证结果;
[0026]
图4是本发明实施例在gehler-shi数据集下的验证结果;以及
[0027]
图5是本发明实施例中屏下摄像方法的流程图。
具体实施方式
[0028]
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下结合实施例及附图对本发明的基于压缩感知白平衡算法的屏下摄像装置及方法作具体阐述。
[0029]
《实施例》
[0030]
本实施例涉及一种屏下摄像装置,该屏下摄像装置设置在用户的智能手机中。
[0031]
图1是本发明实施例中屏下摄像装置的示意图。
[0032]
如图1所示,屏下摄像装置100包括屏幕11、摄像头12以及处理器13。
[0033]
屏幕11为智能手机的半透明屏幕。
[0034]
摄像头12采用佳能650d单反相机,设置在半透明屏幕11的后方(图1中为右侧),用于透过该半透明屏幕11对物体200进行拍摄。
[0035]
处理器13与摄像头12相通信连接,用于获取摄像头12拍摄得到的未处理视频并进行颜色校正处理,形成输出视频进行输出。
[0036]
本实施例中,屏幕11上播放有一段测试视频,该测试视频的每帧都是纯色画面,但视频画面的色彩随时间快速变化。单反相机自带的自动白平衡功能被关闭,由处理器12替代其自动白平衡功能进行视频的颜色校正处理。单反相机拍摄的未处理视频为rgb三通道、24-bit、1080p全高清视频,帧率是25帧/秒。
[0037]
图2是本发明实施例中处理器的框图。
[0038]
如图2所示,处理器13具有当前图像获取部21、等距离降采样部22、储存位数转换部23、高亮像素选取部24、光源估计部25、颜色校正部26、视频合成输出部27以及用于控制上述各部的控制部28。
[0039]
当前图像获取部21用于获取摄像头12拍摄得到的未处理视频(即拍摄视频)并从中逐帧获取第i帧的图像帧fi作为当前图像,该当前图像的高宽记为(h,w)。
[0040]
等距离降采样部22对当前图像进行等距降采样从而形成降采样图像。该等距离降采样部22具有降采样间隔存储单元221以及降采样图像获取单元222。
[0041]
降采样间隔存储单元221存储有预先设定的降采样间隔r,该降采样间隔r为一个正整数。
[0042]
降采样图像获取单元222用于将当前图像根据降采样间隔r不重叠地划分成规格为(r,r)的多个块,并在每个块中选择一个像素点,进一步将这些被选择的像素点构成降采样图像。
[0043]
另外,本实施例中,若不满足r|h,w,则降采样图像获取单元222将图片裁剪成(h
′
,w
′
)规格,使得0≤h-h
′
《r,0≤w-w
′
《r,r|h
′
,r|w
′
,用h和w分别代替h
′
和w
′
;接下来,再将剪裁后的图片划分成规格为(r,r)的矩形块并选择其中的一个像素点,这些选择的像素点构成了降采样图像,其规格为(h/r,w/r)。
[0044]
储存位数转换部23从降采样图像中去除饱和像素,并将该降采样图像的色彩通道信息转化为预定的储存位数从而形成预处理图像。该储存位数转换部23具有饱和像素取出单元231以及图片储存位数转化单元232。
[0045]
由于环境光过亮或者是照相设备不正确的曝光,捕获的图片中可能存在饱和像素(saturated pixels)。这些饱和像素的光反射超过了相机的动态范围,无法反映该处场景的真实色彩信息。因此这些像素的引入会给光源估计带来偏差,需要被去除。具体而言,通过饱和像素取出单元231从降采样图像中筛选出任一色彩通道(或各通道的数值和)的数值超过预定界限t的像素,并将该像素各通道的数值变为0,即该像素被变为纯黑色像素,从而将饱和像素进行去除。
[0046]
图片储存位数转化单元232用于确定降采样图像的单色彩通道信息所花比特数,并在该比特数超过预定比特时将单色彩通道信息转化为预定比特储存。即,当预定比特为8
比特时,如果照片储存单色彩通道信息所花比特数超过8(例如12比特,14比特),则将其化为8比特储存。这个操作能够极大减少后续步骤计算量,同时几乎不影响光源估计效果。
[0047]
通过上述等距离降采样部22、储存位数转换部23即可完成当前图像的预处理从而得到预处理图像f。
[0048]
高亮像素选取部24将预处理图像等分成若干个矩形块,并逐块从矩形块中选取预定数量个高亮像素,进一步将所有高亮像素的集合作为对应当前图像的总体高亮像素。该高亮像素选取部24具有矩形块划分单元241、总亮度计算单元242、总采样数计算单元243、矩形块亮度计算单元244、矩形块采样数计算单元245、高亮像素选定单元246以及高亮像素集合获取单元247。
[0049]
矩形块划分单元24用于根据降采样的像素(分辨率),将预处理图像f等分成m
×
n个较大的矩形块fi,i∈{1,2,
…
,mn},划分成较大的矩形块有利于显著减少计算量,一般来说,m,n《5。本实施例中,预处理图像被等分成2
×
3个矩形块,每块的规格为(49,58)。
[0050]
接下来,总亮度计算单元242、总采样数计算单元243、矩形块亮度计算单元244、矩形块采样数计算单元245、高亮像素选定单元246用于从各个矩形块fi中选取出亮度最高的预定数量个像素。具体地:
[0051]
首先,第k个像素的亮度lk的定义为其rgb通道的数值和:lk=rk+gk+bk。
[0052]
总亮度计算单元24计算降采样图像f的总亮度l,它被定义为图片中所有像素亮度的q次幂之和,即
[0053]
总采样数计算单元243根据预定的采样率σ∈(0,1),计算图中像素的总采样数n
σ
使得n
σ
=nσ,其中n是图片中的总像素数,满足:n=hw/r2。本实施例中,σ=2%,计算得总采样数为n
σ
=nσ=98
×
174
×
0.02≈341。
[0054]
矩形块亮度计算单元244分别计算每个矩形块fi的亮度li,类似图片总亮度的计算公式,由q=1,
[0055]
矩形块采样数计算单元245将各个矩形块像素的采样数ni正比于该矩形块的亮度li,即ni=lin
σ
/l。
[0056]
高亮像素选定单元246逐块按照采样数ni分别从每个矩形块fi选取亮度最高的像素作为高亮像素,并将其与当前帧前的a个图像帧对应的所有高亮像素作为对应当前图像的高亮像素集合。
[0057]
本实施例中,高亮像素集合记为su,其中u代表这帧图片(即当前图片)为播放视频的第u帧。对某一帧画面而言,高亮像素选定单元246会用到包括该帧在内的前a帧(如果前面帧数少于a,则用前面的所有帧)采样得的所有高亮像素,代替该帧采样得的高亮像素,作为该帧代表像素。
[0058]
具体地,令v=max(1,u-a+1),记s
′u为第u帧的代表像素全体。则:
[0059][0060]
在本实施例中,由于半透明屏发出的光线颜色快速变换,因此取a=1来准确、实时地反映快速变化的外部光,从而有效地消除色偏。同时,本视频中拍摄的场景为固定场景,
因此不经时间平滑的光源估计不会造成视频观看者的误解。因此有s
′u=su。
[0061]
后续光源估计部25以及颜色校正部26利用这些像素估计该帧的光源并进行颜色校正。这样能使估计光源的帧间变化幅度降低,令输出视频更好地反映摄制场景的色彩变化情况。
[0062]
光源估计部25基于高亮像素集合su,通过预定的灰色世界处理法估计出当前图像中的光源。
[0063]
本实施例中,灰色世界处理法采用灰色世界法(gray world),即,将选取像素的各色彩通道平均值作为估计光源i=(ir,ig,ib):
[0064][0065]
式中,|s|=n
σ
代表选择像素的个数,i
k,c
是第k个像素在通道c的值。
[0066]
颜色校正部26利用光源对当前图像进行颜色校正得到当前帧的校正图像。颜色校正部26具有rgb确定单元261以及亮度调整单元262。
[0067]
对于当前图像中的每个像素,rgb确定单元261以其原先rgb值分别除以估计光源的rgb值,得到新的rgb值。例如,对于图中像素k,新的rgb值(i
′
k,r
,i
′
k,g
,i
′
k,b
)满足:
[0068][0069]
式中,i
k,c
像素k在通道c的原先值,ic是估计光源在通道c的值。
[0070]
亮度调整单元262根据rgb值(i
′
k,r
,i
′
k,g
,i
′
k,b
)对当前图像进行亮度调整。具体地,将经上一步调整后的图像中所有像素rgb通道值中的最大值,即化为最大可能值(对8-bit图片而言是255),其余各像素各通道值同比例放大,得到最终的颜色校正图像。本实施例中,本实例中,颜色校正图像中像素k的rgb值有:
[0071][0072]
视频合成输出部27将校正图像逐帧进行合并形成输出视频并进行输出。
[0073]
该输出视频就是本实施例的屏下摄像装置对未处理视频进行颜色校正后的视频。接下来,分别通过nus camera-8数据集以及gehler-shi数据集对该屏下摄像装置进行实验验证。
[0074]
图3是本发明实施例中在nus camera-8数据集下的验证结果。
[0075]
该图3中对比实验了传统各种学习算法(learning-based)、各种非学习算法(learning-free)以及本实施例中算法(proposed)的实验结果。可以看出,本实施例中算法的处理时间(参照图中的time列)相对于其他各种算法的处理时间均快了数十倍至数百倍,而处理效果相对也是较好的(参照图中的mean列以及geo.mean列)。而最好的算法pbp(1,1)+gw(灰色世界法)只需要0.0021秒即可完成一帧图像的处理。
[0076]
图4是本发明实施例在gehler-shi数据集下的验证结果。
[0077]
与图3类似地,该图4中同样对比实验了传统各种学习算法(learning-based)、各
种非学习算法(learning-free)以及本实施例中算法(proposed)的实验结果。可以看出,本实施例中算法的处理时间(参照图中的time列)为0.0018秒,相比其他各种非学习算法的处理时间均快了数十倍至数百倍,而处理效果也同样能维持在相对较好的水准(参照图中的mean列以及geo.mean列)。
[0078]
图5是本发明实施例中屏下摄像方法的流程图。
[0079]
如图5所示,屏下摄像装置100中各部的处理过程也可以对应为一种屏下摄像方法,具体包括如下步骤:
[0080]
步骤s1,获取摄像头11拍摄的拍摄视频并从中逐帧获取图像帧作为当前图像,然后进入步骤s2;
[0081]
步骤s2,对当前图像进行等距降采样从而形成降采样图像,然后进入步骤s3;
[0082]
步骤s3,从降采样图像中去除饱和像素,并将该降采样图像的色彩通道信息转化为预定的储存位数从而形成预处理图像,然后进入步骤s4;
[0083]
步骤s4,将预处理图像等分成若干个矩形块,并逐块从矩形块中选取预定数量个高亮像素,进一步将所有高亮像素以及当前帧前的a个图像帧对应的所有高亮像素作为对应当前图像的高亮像素集合,然后进入步骤s5;
[0084]
步骤s5,基于高亮像素集合,通过预定的灰色世界处理法估计出当前图像中的光源,然后进入步骤s6;
[0085]
步骤s6,利用光源对当前图像进行颜色校正得到当前帧的校正图像,然后进入步骤s7;
[0086]
步骤s7,重复步骤s1至s6得到对应每一帧视频帧的校正图像,并将该校正图像逐帧进行合并形成输出视频,进一步将该输出视频进行输出,直到拍摄视频的所有视频帧均被处理完毕后进入结束状态。
[0087]
实施例作用与效果
[0088]
根据本实施例提供的屏下摄像装置及方法,由于在对摄像头拍摄得到拍摄视频中每一帧图像进行处理时,通过等距降采样的进行降采样处理,并在降采样图像的基础上进行后续的颜色校正处理,因此可以在几乎不损失算法准确性的情况下,极大地节约了计算成本并降低每一帧的运行处理耗时,从而能够实时地在手机上进行视频白平衡处理。还由于在颜色校正处理过程中,首先将当前图像划分为多个矩形块,并从中逐块选取高亮像素,因此,既有效利用了画面中高亮区域能较好地描述光源色彩的特点,又纳入了空间信息,较为分散地选取高亮像素,从而更准确地反映了图像的整体光源信息。
[0089]
事实上,本发明在光源估计标准数据集nus 8-camera数据集上取得了2.76
°
(1.99
°
)的平均(中位)角误差(angular error),是当前最好的非学习光源估计算法。通过这种准确的光源,本发明即可有效地取出拍摄视频中由半透明屏的屏幕光与环境光共同产生的混合色偏,从而使得设置在屏幕后方的摄像头也能正常地完成拍摄任务,真正地实现屏下摄像。
[0090]
《变形例一》
[0091]
本变形例一中,对于与实施例一具有同样结构的构成要素赋予同样的符号并省略相应的说明。
[0092]
与实施例一相比,本变形例一中光源估计部采用的灰色世界处理法为灰色阴影法
(shades of gray,sog),具体地:
[0093]
将选取像素各色彩通道的l
p
范数作为估计光源i=(ir,ig,ib):
[0094][0095]
这种方式同样可以准确、快速地估计出光源并实现拍摄视频的颜色校正,采用灰色阴影法的算法效果可以参见图3中pbp(1,1)+sog的实验结果。
[0096]
《变形例二》
[0097]
本变形例二中,对于与实施例一具有同样结构的构成要素赋予同样的符号并省略相应的说明。
[0098]
与实施例一相比,本变形例二中光源估计部采用的灰色世界处理法为灰色世界法(general gray world,ggw),该方法具体为:
[0099]
在高亮像素选取部24选取高亮像素之前先对预处理后的图片进行高斯滤波,再由高亮像素选取部24进行高亮像素的选取。之后再将选取像素各色彩通道的l
p
范数作为估计光源。
[0100]
这种方式同样可以准确、快速地估计出光源并实现拍摄视频的颜色校正,采用灰色世界法的算法效果可以参见图3中pbp(1,1)+ggw的实验结果。
[0101]
《变形例三》
[0102]
本变形例三中,对于与实施例一具有同样结构的构成要素赋予同样的符号并省略相应的说明。
[0103]
与实施例一相比,本变形例二中光源估计部采用的灰色世界处理法为灰色边缘法(gray edge,ge),该方法具体为:
[0104]
在高亮像素选取部24选取高亮像素之前先对预处理后的图片进行高斯滤波和计算一阶(或二阶)梯度,再由高亮像素选取部24进行高亮像素的选取。之后再将选取像素各色彩通道的l
p
范数作为估计光源。
[0105]
这种方式同样可以准确、快速地估计出光源并实现拍摄视频的颜色校正,采用灰色世界法的算法效果可以参见图3中pbp(1,1)+ge1和pbp(1,1)+ge2的实验结果。
[0106]
上述实施例仅用于举例说明本发明的具体实施方式,而本发明不限于上述实施例的描述范围。
[0107]
例如,在上述实施例所涉及的图1中,摄像头设置在屏幕的后方中央,在本发明的其他方案中,摄像头也可以设置在屏幕后方的任意位置。另外,采用本发明算法的摄像头也是可以应用在传统的刘海带、摄像孔等结构中的,从而通过本发明算法对这些结构中因为屏幕发散出的散射光进行有效的过滤。
[0108]
再例如,上述实施例的屏下摄像系统应用在智能手机中,在本发明的其他方案中,该屏下摄像系统也可以应用在其他产品中,如计算机、平板、或是其他带屏幕的电子产品等。