博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SVM进行人脸检测
阅读量:2134 次
发布时间:2019-04-30

本文共 1141 字,大约阅读时间需要 3 分钟。

一、实现流程概述

  • Part 1 Hog Representation

    通过feature.hog函数生成face_feature和hog_image,图片如下:
    在这里插入图片描述

  • Part 2 Sliding Window

    使用特定大小的窗口进行滑窗,完成Sliding_window函数,主要思路是先将原有图片进行填充,然后建立二重循环,计算每一个点的hog_score,完成response_map的建立,通过resize函数将response_map缩放到image大小,完成准备工作,开始测试,图片如下:
    在这里插入图片描述
    在这里插入图片描述
    然而,我们发现,缩放比例后,再次调用Sliding_window函数,目标检测效果达不到我们的预期,偏差较大:
    在这里插入图片描述
    在这里插入图片描述
    于是我们提出了以下解决方案(图像金字塔):

  • Part 3 Image Pyramids

    不停地缩小图片比例,并检测图片是否满足要求,同时将满足要求的图片放入一个list中,如果图片过小,就跳出循环,生成一个“倒金字塔”,共七张图片。
    在这里插入图片描述

之后,完成Pyramid_score函数,通过对图片金字塔里的每一张图片使用滑窗函数遍历,找到打分最高的识别图片和缩放比例,图片如下:

在这里插入图片描述
在这里插入图片描述

  • Part 4 Deformable Parts Detection

    生成五官的特征图,在此不再赘述。

  • Part 5 Human Parts Location

    完成compute_displacement函数,求出偏移量mu和标准差std。其中,标准差的求解办法正如数学数学标准差求解所述。
    此后,完成shift_heatmap函数,用heatmap矩阵中的每一个位置上的元素除以矩阵元素总和,以此保证每一个位置的元素都不大于1。再用interpolation.shift函数处理heatmap,偏移量参数采用mu,获得新的四张heatmap,如下图所示。
    在这里插入图片描述

  • Part 6 Gaussian Filter

    完成gaussian_heatmap函数,叠加五张heatmap,完成。图片如下
    在这里插入图片描述
    在这里插入图片描述

二、运行过程中遇到的问题和解决方案

  1. 滑窗函数问题:做的时候并没有真正理解pad_image究竟是填充后的整张图片还是仅仅是填充边框。此外,把窗口左上角点的分数当成了整个小窗口的份数,导致response_map的绘制出现问题,缩放后,大块的区域都是一种颜色。通过不断的试验和研究文档,对于第一个问题我采用imshow函数,展示了pad_image,搞清楚了pad_image到底代表什么图片。对于第二个问题,我在不断地尝试后,终于把问题解决掉了。

  2. 特征金字塔问题:在一开始,由于没有仔细看要求,误把第一张不符合要求的照片也放入images中,在后续运行中出现问题。于是我查看了文档注释并且修改了函数逻辑,实现了此处功能。

转载地址:http://ecugf.baihongyu.com/

你可能感兴趣的文章
【LEETCODE】61- Rotate List [Python]
查看>>
【LEETCODE】143- Reorder List [Python]
查看>>
【LEETCODE】82- Remove Duplicates from Sorted List II [Python]
查看>>
【LEETCODE】86- Partition List [Python]
查看>>
【LEETCODE】147- Insertion Sort List [Python]
查看>>
【算法】- 动态规划的编织艺术
查看>>
用 TensorFlow 让你的机器人唱首原创给你听
查看>>
对比学习用 Keras 搭建 CNN RNN 等常用神经网络
查看>>
深度学习的主要应用举例
查看>>
word2vec 模型思想和代码实现
查看>>
怎样做情感分析
查看>>
用深度神经网络处理NER命名实体识别问题
查看>>
用 RNN 训练语言模型生成文本
查看>>
RNN与机器翻译
查看>>
用 Recursive Neural Networks 得到分析树
查看>>
RNN的高级应用
查看>>
TensorFlow-7-TensorBoard Embedding可视化
查看>>
一个隐马尔科夫模型的应用实例:中文分词
查看>>
轻松看懂机器学习十大常用算法
查看>>
一个框架解决几乎所有机器学习问题
查看>>