zoukankan      html  css  js  c++  java
  • SSH阅读笔记

    1、SSH单阶人脸段检测器,在不同层检测不同scale的人脸,而不是使用mtcnn中金字塔的方式,从而实现加速。

    2、SSH的整体结构,3个module的stride分别为8,16,32,使用不同的感受野,从而实现多尺度;三个Module独立训练、检测,

    最终结果NMS。

    3、检测模块和上下文模块。在context-module中,使用5*5和7*7的卷积增大感受野,又分别用2个和3个 3*3代替5*5和7*7。

    4、训练与测试

      训练时,三个分支独立训练,各自的loss独立,每个Module匹配对应尺度的anchor,并将对应尺度的Loss回传;

      anchor的尺度为{1:2,4:8, 16:32}×16

      使用OHEM效果会更好:选择得分最高的负样本和得分最低的正样本(难分的样本)

      在训练阶段,每个module产生256个anchor,而在测试阶段,每个module产生1000个anchors

          在对比试验中,有一个比较有趣。作者使用了更多尺度的anchor,S 1 = {0.25, 0.5, 1, 2, 3}, S 2 = {4, 6, 8, 10, 12}, S 3 =
    {16, 20, 24, 28, 32},但发现ap变低了,因为产生了更多的false postive。

    5、对比

       SSD、SSH、SNIP都用到了多尺度训练,那么他们的区别呢(主要是训练时anchor与gt的匹配)?

       SSD:每个layer会生成各个尺度的anchor,并且与各个gt匹配,loss反传时,只更新该anchor的layer;

       SSH:每个分支匹配特定范围的anchor(通过设计anchor的大小尺度来实现,不需要特殊层),只更新anchor所处分支的loss;

       SNIP:把图像缩放成图像金字塔后,只处理每个金字塔图像里的特定尺度的proposal

          参考:https://zhuanlan.zhihu.com/p/37715872

      

      

  • 相关阅读:
    背景透明的static控件
    MFC应用程序配置不正确解决方案
    #pragma once与 #ifndef的区别
    一种新颖的流程控制方式
    DbgView.exe的应用和使用类
    内存对齐的一点个人理解
    MFC下实现透明位图
    结束已知应用程序名的进程
    基本线程编程
    Linux下PCI设备驱动程序开发的经典文章
  • 原文地址:https://www.cnblogs.com/573177885qq/p/10324932.html
Copyright © 2011-2022 走看看