Hair detection, segmentation, and hairstyle classification in the wild
头发检测:
基于patch滑动窗口+CaffeNet-fc7 +Random Forest
头发分割:
LTP特征(Linear Ternary Pattern )+SVM
只对不确定的位置的像素进行分类,比如下图的蓝色部分。
发型识别:
LTP特征(Linear Ternary Pattern )+Random Forest
整体流程:
FIGARO, HAIR DETECTION AND SEGMENTATION IN THE WILD
头发检测:
将图片分patch,然后基于每个patch提取HOG+LTP特征进行分类
头发分割:
基于Felzenszwalb and Huttenlocher 这样的基于图的算法,对头发检测后的mask进行分割。
数据集:
Figaro-1k
http://projects.i-ctm.eu/en/project/figaro-1k
数据在谷歌图片和Flickr收集。包含7种发型类别(straight, wavy, curly, kinky, braids, dreadlocks, short ),每一个类别包含150张图,一共1050张图,包含840种视角。数据集提供了发型分割的mask。
Human Hair Segmentation In The Wild Using Deep Shape Prior
Github:https://yozey.github.io/Hair-Segmentation-in-the-wild
bilibili:https://www.bilibili.com/video/av66067281
网络结构:
网络整体基于resnet18主干网络的deeplabv3,然后再加一个Unet结构。deeplabv3负责头发形状(shape prior )的学习,生成的特征图和原图concat后输入UNet网络,输出最终分割结果。
实验结果:
其他资源:
Github:
https://github.com/YBIGTA/pytorch-hair-segmentation
可能安装错误:
ImportError: No module named 'ignite.engine'
解决方法:
pip install pytorch-ignite
实际运行:
python3 demo.py