博客
关于我
MTCNN论文实现细节详解 附疑难点纯手绘讲解图 python
阅读量:215 次
发布时间:2019-02-28

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

论文解读:P、R、O网络结构与实现

本文对P、R、O网络结构进行解读,详细分析网络的工作流程及其实现步骤,并探讨其中的难点。


1. 论文概述

本研究基于P、R、O网络框架,旨在实现面部关键点检测。网络由三个部分组成:P网络、R网络和O网络,分别负责初步检测、精确检测和优化检测。


2. P、R、O网络结构图解

P网络、R网络和O网络通过多级特征学习,逐步提升人脸检测的精度。以下是网络的主要组成部分:

  • P网络:负责初步的人脸框定,采用全卷积结构,支持多尺度输入。
  • R网络:基于P网络的结果,进一步精确人脸框定。
  • O网络:对R网络的输出进行优化,提升检测精度。

3. 代码实现步骤

代码实现分为以下几个阶段:

  • 样本预处理

    数据集采用celeba,生成三种尺寸(12×12、24×24、48×48),每种尺寸包含正样本、负样本及部分中性样本。

  • P网络实现

    • 写P网络:设计包含多个卷积层的网络结构,支持多尺度输入。
    • 训练网络:利用预处理后的数据集进行训练,输出pkl权重文件。
  • 测试流程

    • P网络测试

      • 输入任意大小的图像(min(w,h) ≥ 12),将图像转换为数据格式并升维到4维。
      • 经过P网络(_cls, _offset = self.pnet(img_data))得到置信度与偏移量。
      • 选取置信度大于阈值(0.6)的框定结果,经边框回归(平移、缩放逆操作)得到原图人脸附近的预测框坐标,并补充金字塔操作生成更多框定候选。
    • R网络测试

      • 将P网络输出的框定结果补充为正方形(convert_to_square),在原图上剪裁可能为人脸的区域并缩小至24×24。
      • 经过R网络(_cls, _offset = self.rnet(imgdataset))输出置信度与偏移量,选取置信度大于0.6的框定结果,经边框回归得到原图坐标。
    • O网络测试

      • 与R网络类似流程,但置信度阈值由0.6提高至0.7,且非极大值抑制(NMS)时设置isMin=True。

  • 4. 难点分析

    本实现的难点在于对多个方法的理解与应用,尤其是以下几个方面:

  • 图像金字塔

    图像金字塔仅在推理阶段使用,训练时不需要多尺度样本。P网络可看作一个12×12的大卷积核,以stride=2的步长在全图上做滑窗操作。

  • iou(交叠度)

    计算两个框的交叠程度,值越高表示交叠越大。

  • nms(非极大值抑制)

    根据iou值将重叠度较低的框排除。

  • convert_to_square

    将P网络输出的框定结果补充为正方形。

  • 边框回归(box_reg)

    根据偏移量和缩放因子,计算框定框的最终坐标。


  • 5. 效果图展示

  • 原图

    输入图像可能包含多个人脸区域。

  • P网络输出

    得到多个候选框定框,部分框可能局部化。

  • R网络输出

    精确筛选出高置信度的框定框。

  • O网络输出

    对最终框定框进行优化,提升检测精度。


  • 后续进度展望

    本研究基于P、R、O网络框架,计划依次研究YOLO系列(v1、v2、v3),探讨其优缺点与应用场景。

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

    你可能感兴趣的文章
    Postman高阶技能:Collection集合批量运行!
    查看>>
    postMessage跨标签页共享数据
    查看>>
    QImage对一般图像的处理
    查看>>
    post为什么会发送两次请求?
    查看>>
    Post表单提交TextArea的值出现转译乱码问题 - Spring MVC处理表单提交
    查看>>
    Power BI 中的 Python 可视化需要什么设置?任何特定的 matplotlib 包版本或系统设置?
    查看>>
    Power BI:如何在 Power Query 编辑器中将 Python 与多个表一起使用?
    查看>>
    power english (3) main text -emotion mastery - focus
    查看>>
    POWER ENGLISH (6) - MODEL
    查看>>
    power english (1) —— passion
    查看>>
    Power English (1) 原文
    查看>>
    power English (3)原文
    查看>>
    POWER ENGLISH(7)- repetition
    查看>>
    SpringBoot中集成SpringBatch详细解析与实战示例(CSV文件读取十万条数据进行业务处理后写入Mysql数据库)
    查看>>
    powerbi 一张表在另外一张表中出现的数量_PowerBi之初步学习笔记
    查看>>
    QGIS怎样设置简体中文以及新建可编辑的多边形的图层
    查看>>
    PowerBuilder 使用自定义事件触发键盘Enter事件
    查看>>
    PowerCreatorCMS UploadResourcePic 任意文件上传漏洞复现
    查看>>
    PowerDesigner 使用的一些技巧(转)
    查看>>
    QGIS在Windows上下载安装与建立空间数据库连接
    查看>>