最近参加了一个oppo举办的比赛,做人像精细分割。题目要求是这样的:

  • 任务描述

随着手机硬件平台和人工智能技术的飞速发展,目前的智能手机基本都可以实现后置双摄像头和前置单摄像头对人像拍照时的背景虚化。在虚化的方法上,后置通过双摄像头来计算景深从而实现前景人像的分割,进而对背景虚化;而前置则直接对单帧图像进行人像分割的方式来虚化背景。这两种方式来带的虚化效果是显著的,但是也存在很多弊端,无论哪种分割方式,都难以实现对人像发丝的精细分割,这导致了最终人像头部边缘的虚化效果不是很理想。随着用户对手机相机拍照功能要求的逐年升级,为了达到单反相机级别的背景虚化效果,需要能够实现人像的精细分割,尤其是发丝边缘。这样不仅可以实现更加精确的背景虚化,同时也为人像照片换背景提供了技术支持,而这些可以进一步增强用户的使用体验。

  • 输入:RGB 人像图片
  • 输出:分割为人像和背景的图片
  • 评价方法
  • 本题目分为基于 groundtruth 的评价和算法运行时间。

  • 基于 groundtruth 的评价。在测试集中,会给定多张人像图像及其对应的分割好的图像作为 groundtruth。基于参赛者生成的分割图像和 groundtruth 的比对,利用 F1-score 和 Mean Intersection Over Union (mIOU) 作为评价指标。
  • 为 groundtruth,A 为其人像区域;为算法估计的分割,B 为其人像区域,则

上网看了一些论文和相关算法,目前的思路如下:

1、它题目中所提到的人像分割更像是抠图(Image Matting),如果想要结合人工智能算法,我们的第一种思路是:以传统image matting算法,作为最终方法,分割前景与背景。但使用这些方法需要trimap图像(划定中间区域的图像),所以我们考虑用cnn网络进行初步分割,以分割得到的结果图作为trimap。

2、训练网络loss的建立:以最终抠图结果的groundtruth作为计算loss的标准,更新cnn网络,最终得到的网络与传统分割网络不同,它是一个更好划分出trimap的网络。


2018.12.15:

1.传统抠图算法学习:https://www.cnblogs.com/Imageshop/p/3550185.html

传统抠图算法的确能够得到发丝精度的图像,但是速度较慢,这篇10年左右的文章实现了实时的抠图算法。也比较典型。我把它的linux抠图软件下载下来但是没跑通。似乎是版本太旧了,我们最终的算法也不考虑用这个抠图算法。

2.图像分割网络的学习:https://github.com/lxtGH/dfn_seg

https://github.com/lxtGH/fuse_seg_pytorch

这两个似乎都是face++的分割网络,还都比较新,但是没有训练代码,只有训练好的网络框架,均使用的pytorch的网络框架。


2018.12.16:

1.学习了一下本题的评估标准:F1分数(F1-Score),又称为平衡F分数(BalancedScore),它被定义为精确率和召回率的调和平均数。参考https://blog.csdn.net/sinat_28576553/article/details/80258619

先看四个概念定义:

TP、True Positive   真阳性:预测为正,实际也为正

FP、False Positive  假阳性:预测为正,实际为负

FN、False Negative 假阴性:预测与负、实际为正

TN、True Negative 真阴性:预测为负、实际也为负。

精确率和召回率

计算我们预测出来的某类样本中,有多少是被正确预测的。针对预测样本而言。

总结一句话就是:准确率是正确预测个数在预测数据中占得比例,召回率是正确预测个数在原始数据中占得比例。

针对原先实际样本而言,有多少样本被正确的预测出来了。

  • F1=2Tp/(2Tp+FN+Fp)

2018.12.17

1.花费巨款50C币下载了一个抠图程序sharedmatting,并成功调通。

原图

trimap图

结果图

但是仍然需要trimap图来帮助划分区域。

2.在这个网址看到了一种训练网络的方法也是输入原图和trimap图,实现分割图像。细节可去网址:https://sites.google.com/view/deepimagematting

大体思路是:用原图和trimap图作为输入,抠出前景之后,再放到完整的背景图像中,作为网络输出结果。将结果与原图进行比较计算loss。

3.用区域生长算法获得trimap图像。 

区域生长算法的基本思想是将有相似性质的像素点合并到一起。对每一个区域要先指定一个种子点作为生长的起点,然后将种子点周围领域的像素点和种子点进行对比,将具有相似性质的点合并起来继续向外生长,直到没有满足条件的像素被包括进来为止。这样一个区域的生长就完成了。这个过程中有几个关键的问题:

a.给定种子点(种子点如何选取?)

种子点的选取很多时候都采用人工交互的方法实现,也有用其他方式的,比如寻找物体并提取物体内部点或者利用其它算法找到的特征点作为种子点。

b. 确定在生长过程中能将相邻像素包括进来的准则

这个准则很重要:例如包括灰度值的差值;彩色图像的颜色;梯度特征,包括梯度的方向和幅值特征。该点周围的区域特征,例如harr特征,也就是区域像素和特征。


人像精细分割问题分析相关推荐

  1. python人像精细分割_PaddleHub人像分割模型:AI人像抠图及图像合成

    本项目根据DeepLabv3+模型一键抠图示例,主要采用PaddleHub DeepLabv3+模型(deeplabv3p_xception65_humanseg)和python图像处理库opencv ...

  2. python人像精细分割_基于UNet网络实现的人像分割 | 附数据集

    点击上方"AI算法与图像处理",选择加"星标"或"置顶" 重磅干货,第一时间送达 以后我会在公众号分享一些关于算法的应用(美颜相关的),工作 ...

  3. python人像精细分割_python 使用OpenCV进行简单的人像分割与合成

    实现思路 通过背景建模的方法,对源图像中的动态人物前景进行分割,再将目标图像作为背景,进行合成操作,获得一个可用的合成影像. 实现步骤如下. 使用BackgroundSubtractorMOG2进行背 ...

  4. python人像精细分割_python 人像分割问题 foreground

    顶上去同步,二值图 和 灰度度 都没有问题,可前景透明图就是出不来 from aip import AipBodyAnalysis import cv2 import numpy as np impo ...

  5. python人像精细分割_人像抠图 - 发丝级人像分割 - 照片人物特效 - 极链科技

    利用人工智能深度网络技术训练出的模型,可以模拟 Photoshop 一键完成人像抠图.可应用于证件照合成,人像照片虚化背景,照片背景替换,特效制作,弹幕隐身等多重功能. 请求参数(Body): { & ...

  6. 隆重介绍!一款新型基于姿势的人像实例分割框架

    全文共2493字,预计学习时长15分钟或更长 拍摄:Jezael Melgoza 来源:Unsplash 近年来,由于现实应用需求大,在计算机视觉领域有关"人"的研究层出不穷,实体 ...

  7. 【项目实战课】基于Pytorch的Semantic_Human_Matting(人像软分割)实战

    欢迎大家来到我们的项目实战课,本期内容是<基于Pytorch的Semantic_Human_Matting(人像软分割)实战>.所谓项目实战课,就是以简单的原理回顾+详细的项目实战的模式, ...

  8. 使用U-Net进行肺结节分割案例分析:DSB3Tutorial

    使用U-Net进行肺结节分割案例分析:DSB3Tutorial 本文要分析的代码作者是jonrmulholland,这里是其链接地址 数据集:LUNA 2016,这里是LUNA2016数据集详细说明链 ...

  9. 证件照制作相关的人像抠图/分割各家接口整理分析

    电子证件照 随着社会的发展,以往用到证件照的地方逐步被电子证件照替代. 如: 驾校学车报名要求提供电子版证件照(后续会完全替换掉实体证件照) 孩子学校报名要求提供电子证件照. 职称考试报名需要提供电子 ...

最新文章

  1. 在《我的世界》里搭建神经网络,运行过程清晰可见,这位印度小哥开发的新玩法火了...
  2. Nehalem LGA1156/1155插座实物首次曝光
  3. QT学习笔记(1)----- QT简介
  4. docker 端口映射 udp_Docker 制作一键安装的本地无污染 DNS 域名服务
  5. IE6下top.location.href失效的问题
  6. python画曲线图-python画曲线
  7. [Project Euler] Problem 26
  8. java 数学_Java数学课
  9. 计算机共享地址怎么设置到桌面,局域网共享在哪里设置
  10. 串口连接BBB(三)
  11. Linux 音频系统简析
  12. 课堂作业:首尾相连求最大子数组
  13. 拼多多商家刚开店,哪些行为不能做?
  14. 微信小程序--自定义按钮样式(1)
  15. windows启动时自动运行程序四种方法(登录或不登录都可以的)
  16. 冒险岛 PHP,php基础知识
  17. LeCo-121. 买卖股票的最佳时机
  18. 计算机组成原理实验箱教程,计算机组成原理实验箱的技术参数和性能指标
  19. Stata——固定效应模型、随机效应模型、混合效应模型(区别、实例)
  20. 01_安卓APP开发流程概览

热门文章

  1. js 点击父级窗口的元素
  2. 浑浑噩噩,不知所谓!
  3. ModelSim free
  4. 要去实习了...郁闷
  5. GitChat 超级会员 5 折,仅 2 天
  6. 怎么用Python写出随时间变化的字_Python爬虫实战,AcFun弹幕视频网 - 长情且温柔
  7. 加强生态环境保护,共建美好蓝天
  8. android自定义tab下划线变大,android设置tablayout下划线长度代码
  9. 天灾还是人祸,让你知道最爱是谁?
  10. BZOJ 2085 [POI2010] Hamsters