Matlab 基于图像处理的秃头检测

Matlab 基于图像处理的秃头检测,matlab,image-processing,machine-learning,computer-vision,Matlab,Image Processing,Machine Learning,Computer Vision,我想知道是否有人能为我提供一个指导,来检测照片中的人是否秃顶,或者更好,他有多少头发。 到目前为止,我试图检测面部和眼睛的位置。根据这些信息,我粗略估计了额头和秃顶的面积,将眼睛上方的区域切割到脸的某个部分 然后,我提取HOG特征,并使用SVM对系统进行秃顶和非秃顶图像的训练 现在,当我看测试结果时,我看到一些被归类为秃头的照片,但其中一些照片实际上有金色的头发或长长的前额,在剪发过程中看不到头发。我正在使用MATLAB进行这些操作 所以我知道这个方法看起来有点幼稚,但是你能建议一种找出秃头区域

我想知道是否有人能为我提供一个指导,来检测照片中的人是否秃顶,或者更好,他有多少头发。 到目前为止,我试图检测面部和眼睛的位置。根据这些信息,我粗略估计了额头和秃顶的面积,将眼睛上方的区域切割到脸的某个部分

然后,我提取HOG特征,并使用SVM对系统进行秃顶和非秃顶图像的训练

现在,当我看测试结果时,我看到一些被归类为秃头的照片,但其中一些照片实际上有金色的头发或长长的前额,在剪发过程中看不到头发。我正在使用MATLAB进行这些操作


所以我知道这个方法看起来有点幼稚,但是你能建议一种找出秃头区域或提取头发(如果有的话)的方法吗。什么方法最适合解决这类问题?

非常笼统,所以除非提供进一步的信息,否则答案是笼统的

  • 使用计算机视觉(例如)检测面部/头部
  • 头部有类似物(用于人脸),使用这些可以得到头发或秃顶的头部区域(看起来你已经有了这些)
  • 计算人的皮肤所在的(概率颜色空间模型)范围(大多数人的皮肤或空间范围相似)
  • 计算该区域皮肤与其他颜色(指头发)的百分比
  • 你说对了 要估计肤色模型,请查看以下文件:


  • 如果某个区域与皮肤模型不匹配,则可以将其视为非皮肤(即头发,假设样本中不存在帽子等)

    头部区域非常小,因此,使用HOG进行分类没有多大意义

    你可以使用先验信息,比如检测人脸;面部上方一定会出现秃顶/毛发。另外,使用一些更密集的特征描述符


    您可能会得到非常稀疏的表示或相当少的信息,因为您的分类器无法正确分类。

    我正在使用Matlab进行这些操作确定编辑的答案,如果您需要更多信息,我可以更新。注意,有很多方法,这里提出了一种颜色空间模型方法,在大多数情况下非常快速和准确,也存在其他方法是的,但问题是,基于图像,考虑到大量的测试图像,有时眼睛上方的切割区域不能很好地代表我想要的区域。例如,在大多数情况下,当图像有头发时,它会切割面部前额并将其分类为秃头。是的,这是样本图像的问题,估计器无法估计不存在的东西!因此,样本图像必须具有某种形式才能正确使用。除此之外,您认为仅使用秃头图像的一类SVM分类比使用秃头图像和非秃头图像的二值SVM更好吗?在这种情况下,系统将识别秃顶图像,并将其他任何图像视为其他图像。您需要正确定义问题。我们对你的数据一无所知。您使用哪些数据进行培训,哪些数据用于测试。也许,如果它检测到金发女郎很大胆,是因为你的训练集中没有金发女郎。我有一个秃顶数据集和一个非秃顶数据集。非秃头数据集中一定有金发。我猜分类器把黄色的头发当作皮肤,也许这就是原因。