Python 大白的课题报告—OpenCV 抠图项目实战
Posted 小白YouCans
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 大白的课题报告—OpenCV 抠图项目实战相关的知识,希望对你有一定的参考价值。
Python 小白的课题报告—OpenCV 抠图项目实战(3)
本系列是 Python 小白的课题作业《基于OpenCV 的图像分割和抠图》。
需要说明的是,本系列并不能算是 OpenCV 的抠图项目教程,只是以此为主题的课题报告。其中包括了一个较为完整的 PyQt 项目。
从学生课题作业报告的角度,还是可以晒出来给大家参考的。
欢迎关注『Python 小白的项目实战 @ youcans』 原创作品
欢迎关注『Python 小白的项目实战 @ youcans』 原创作品
Python 小白的课题报告—OpenCV 抠图项目实战(1)
Python 小白的课题报告—OpenCV 抠图项目实战(2)
Python 小白的课题报告—OpenCV 抠图项目实战(3)
Python 小白的课题报告—OpenCV 抠图项目实战(4)
第二章 数字图像抠图技术综述
文献 [2],[3],[6]~[9] 综述了图像抠图技术的研究进展。
蓝屏抠图的技术已经非常成熟,近年来抠图问题的研究主要集中于自然图像抠图。
在自然图像抠图中,适当的人工交互是必要的。大多数抠图算法通过用户标记的三元图(Trimap)实现对对解空间的约束。三元图通过指定一部分已知的前景区域与已知的背景区域对图像进行标记,由用户涂鸦交互生成,或者由二值图像分割结果自动生成。
依据透明度遮罩计算的原理,自然图像抠图算法可分为三大类,为基于像素对优化的抠图算法、基于深度学习的抠图算法和基于传播的抠图算法。
2.1 基于采样的抠图方法
基于颜色采样的方法认为图像的局部区域是连续的,具有相似颜色的近邻像素,也具有相近的α值。
满足局部连续假设的像素在统计特征上具有相关性,通过采样未知像素周围近邻的已知前景、背景像素来估计α值。
基于采样的自然图像抠图方法有Knockout方法[10]、Ruzon-Tomasi方法[11]、Hillman方法[12]、Bayesian方法[13]等。
图2.1 自然图像抠图方法
基于采样的方法可以分为区域划分、颜色估计与α值估计三个步骤,先进行trimap 划分,然后求未知区域中各点的前景色成分和α值。首先从trimap标定的前景背景区域中收集一组前景色和背景色样本进行初始化;区域分割以后,对未知区域中任一点,通过邻近的前景轮廓线上的点的颜色均值修正前景色分量,类似地可得到背景色分量的修正值;最后根据得到的前景色和背景色分量以及像素点的颜色值来估计该点的α值。
Knockout方法[10]计算每个颜色通道的α分量,加权平均作为最终的α值,也称三通道加权法。该方法简单、运算速度很快,但只适用于光滑图像的抠图。
Ruzon-Tomasi方法[11]采用统计方法来估计α值,颜色估计和α值估计的计算量很大,处理速度非常慢。
Hillman等[12]提出的基于主成分分析方法,考虑前景和背景区域在颜色空间中的分布为类似于雪茄形状的长条形,使样本的协方差矩阵的非零元素主要分布在对角线附近。该方法采用投影法估计α值,计算量也很大。
Chuang等[13]提出的基于贝叶斯框架的抠图方法,将抠图问题表示为贝叶斯形式。贝叶斯方法假设前景和背景像素均服从高斯分布,先建立前景颜色的概率分布,再把未知区域的像素划分到前景或背景的不同簇中,表示当前选定的F概率有多大。贝叶斯方法忽略了全局信息,当前景和背景的颜色比较接近时抠图效果不太理想。
2.2 基于传播的抠图方法(sampling-based)
基于传播的方法认为图像的局部区域满足平滑性质,通过已知区域构建局部平滑的能量函数,从而计算得到α值,再将α值传播到未知区域中。这样可以利用临近像素的相关性以减少由于颜色采样中样本选取不当所导致的错误。
典型的基于传播的方法将图像的透明度视为图像本身的一种特性梯度场。Sun等[14]提出的泊松抠图方法,提供了一种完全不同的重编辑掩像的方式,通过修改原始图像的梯度场来达到改善抠图效果的目的。
首先把彩色图像转化为灰度图像并得到trimap;再将两条轮廓线作为初始的边界条件,在原始图像的梯度场上建立一个泊松方程,于是掩像可以通过求解该方程得到重建,称为全局泊松抠图,适用于颜色变化光滑的图像抠图。
复杂图像的掩像梯度场和原始图像梯度场相差很大,可以采用局部泊松抠图方法:先在原始图像中找出局部区域,再用滤波器平滑使其与掩像梯度场相吻合,直到重建掩像令人满意为止。
Rother等[15]提出了交互式前景提取技术GrabCut,是一种基于图切割的图像分割方法。GrabCut 算法是基于 Graph Cut 算法的改进,仅需要做很少的交互操作,就能够准确地提取出前景图像。
GrabCut 基于被分割对象的指定边界框开始,使用高斯混合模型估计被分割对象和背景的颜色分布,将图像分为被分割对象和背景两部分。只需确认前景和背景输入,该算法就可以完成前景和背景的最优分割。该算法利用图像中纹理(颜色)信息和边界(反差)信息,只要少量的用户交互操作就可得到较好的分割效果。从静态图像中提取前景物体,采用GrabCut算法是最好的选择。
2.3 基于深度学习的抠图方法
近年来,基于深度学习的自然图像抠图算法大量涌现,性能也得到了很大的提升。
一类基于深度学习的抠图算法仍然需要先验信息,称为Trimap-based方法,也称为半监督学习方法。宽泛的先验信息包括Trimap、粗糙Mask、无人的背景图像、Pose信息等。
另一类基于深度学习的抠图算法则是Trimap-free的方法,不需要提供具体图片的人工交互或先验信息。这类方法基于对大量训练数据的学习,获得自然图像抠图任务的表征信息,无需人工干预。
由于缺乏深度学习相关知识的基础,尚未深入阅读和学习该领域的文献,相关的技术综述可以参见文献[3]。
参考文献
[1] Porter T,Duff T.Compositing digital images [C].Computer Graphics Proceedings,Annual Conference Series,ACM SIGGRAPH,New York,1984 :253-259
[2] 林生佑,潘瑞芳,杜辉等.数字抠图技术综述[J].计算机辅助设计与图形学学报,2007,19(4):473-478
[3] 梁椅辉,黄翰,蔡邵权等.自然图像抠图技术综述[J].计算机应用研究,2021,38(5): 1294-1301
[4] 孙巍.视觉感知特性指导下的自然图像抠图算法研究[D].北京:北京交通大学,2015
[5] Gonzalez R C,Woods R E著,阮秋琦,阮宇智译.数字图像处理(第四版)[M].电子工业出版社,2020
[6] 沈洋,林晓,谢志峰等.交互式前景抠图技术综述 [J].计算机辅助设计与图形学学报,2014,26(4):511-519
[7] 姚桂林,姚鸿勋.基于仿射方法的图像抠图算法综述 [J].计算机辅助设计与图形学学报,2016,28(4):677-692
[8] 李卓婷.三种典型数字图像算法的比较[D].广州:华南理工大学,2013
[9] 文向东.基于高分辨率大尺寸图像抠图方法的研究综述 [J].现代计算机,2021(5):75-80
[10] Berman A,Dardourian A,Vlahos P.Method for removing from an image the background surrounding a selected object: US 6134346 [P] .2000
[11] Ruzon M,Tomasi C.Alpha estimation in natural images [C].Proceedings of IEEE Conf. on Computer Vision and Pattern Recognition,South Carolina,2000:18-25
[12] Hillman P,Hannah J,Renshaw D.Alpha channel estimation in high resolution images and image sequences [C].Proceedings of IEEE Conf. on Computer Vision and Pattern Recognition,Hawaii,2001:1063-1068
[13] Chuang Y Y.New models and methods format ting and compositing [D].Seattle: University of Washington,2004
[14] Sun J,Jia J Y,Tang C K.Poisson matting [C].Computer Graphics Proceedings,Annual Conference Series,ACM SIGGRAPH,Los Angeles,2004 :315-321
[15] Rother C,Kolmogorov V,Blake A.Interactive foreground extraction using iterated graph cuts [C].Computer Graphics Proc.,Annual Conference Series,ACM SIGGRAPH,Los Angeles,2004 :309-314
【本节完】
版权声明:
欢迎关注『Python 小白的项目实战 @ youcans』 原创作品
原创作品,转载必须标注原文链接:https://blog.csdn.net/youcans/article/details/122296231
Copyright 2022 youcans, XUPT
Crated:2022-01-01
欢迎关注『Python 小白从零开始 PyQt5 项目实战 @ Youcans』系列,持续更新中
欢迎关注『Python 小白的项目实战 @ youcans』 原创作品
Python 小白的课题报告—OpenCV 抠图项目实战(1)
Python 小白的课题报告—OpenCV 抠图项目实战(2)
Python 小白的课题报告—OpenCV 抠图项目实战(3)
Python 小白的课题报告—OpenCV 抠图项目实战(4)
以上是关于Python 大白的课题报告—OpenCV 抠图项目实战的主要内容,如果未能解决你的问题,请参考以下文章