6 Shane Zhao

尚未进行身份认证

我要认证

CV

等级
TA的排名 8k+

DSFD: dual shot face detector

DSFD为CVPR2019的工作,作者提出一种双分支的人脸检测算法,网络结果如下创新点如下:1.一种新的特征增强模块(FEM)该模块可看做FPN的升级版,在特征融合后使用空洞卷积捕捉多尺度表征增强感受野对比实验发现涨点明显2.双分支结构DSFD为并行双预测分支组成,训练阶段两条分支都作预测,而测试阶段仅使用第二条分支(特征增强分支)。为什么使用双分支呢?作者提到可以将第一条预测分支看成是一种辅助监督,使得特征更符合人脸检测(个人理解:第一条分支可看成一种特征约束)。其中两条分支除了采用的a

2020-05-21 21:28:41

pytorch分布式训练使用笔记

参考:DDP使用讲解:https://zhuanlan.zhihu.com/p/113694038官方ImageNet分布式训练案例: https://github.com/pytorch/examples/blob/e49fa5846f/imagenet/main.py官方DDP使用案例: https://github.com/pytorch/examples/blob/e49fa5846f/distributed/ddp/main.py...

2020-05-17 12:40:06

S3FD

2017年的文章了,作者对已有基于anchor的人脸检测算法在感受野不匹配、小脸特征少、anchor匹配不均、以及浅层预测出现大量FP等问题分别分析并提出改进。S3FD模型结构如上图可见为SSD的改进版,分别针对现有的不足,作者分别作了以下改进。1.在模型结构上的改进这一块作者称为scale-equitable framework,在vgg16模型基础上新增卷积层,并在6层特征图上分别做预...

2020-04-23 20:37:41

pyramidbox笔记

百度2018年出品,霸榜wider face一段时间,性能小怪兽。对于遮挡、小、模糊的人脸,仅仅靠人脸那点信息较为判别那是人的脸,得借助头啊,上半身这些上下文信息来辅助判别才能较好判定那些很难看出来的人脸。这就是本文作者提出的pyramidanchors的核心思想,如下图所示,借助人头,上半身能较好判别人脸。作者主要有以下贡献:提出一个FPN的改进版,LFPN。作者分析较高层的特征可...

2020-04-23 20:35:07

bounding box voting

找了个开源的实现,这个实现版本将NMS结果与优化框一起作为输出参考:https://github.com/sfzhang15/SFD/blob/c1abcf014d430354ce3a61c7f33de0dcf2021186/sfd_test_code/WIDER_FACE/wider_test.py#L41https://github.com/facebookresearch/Dete...

2020-03-31 17:37:36

mmdetection——assign and sample

assign和sample是在anchor target中的核心操作。assign一般基于IOU,mmdet中也有基于atss和基于point的等。sample一般为随机,也有ohem的,基于伪标签的。MaxIoUAssigner这是常用的assign方法,下面为mmdet中该类介绍及构造函数参数说明"""Assign a corresponding gt bbox or backgro...

2020-03-29 20:30:46

mmdetection——anchor_target解读

anchor_target函数解读该函数输入参数:"""Compute regression and classification targets for anchors.Args: anchor_list (list[list]): Multi level anchors of each image. valid_flag_list (list[list]): Multi ...

2020-03-29 20:19:00

mmdetection——anchor_head解读

mmdet中anchor_head为预测分支的基类,包含了_inti_layers, init_weights, forward_single,forward, get_anchors, loss,get_bboxes这些功能,囊括了训练用到的loss计算以及预测用到的get_bboxes方法。1、forward_single and forward单尺度预测,得出分类,边框预测def fo...

2020-03-29 20:13:08

mmdetection框架解读——anchor生成机制

anchor是一组先验框,在faster rcnn中被提出,再次记录mmdetection anchor生成思路。mmdet中的AnchorGenerator类负责生成anchor,该类构造函数接收三个参数:base size,ratios,scalesbase size:anchor大小ratios:anchor 高宽比scales:anchor缩放比例每一处生成ratios*scal...

2020-03-29 11:03:16

搭建frp服务实现内网穿透

内网穿透意思就是使用某种技术实现外网访问到内网比如公司内网只能在公司局域网内访问,在家里无法直接访问到公司的电脑。那么使用frp搭建一个内网穿透服务就能实现在家远程访问公司内网电脑。所需设备:一个有公网ip的设备整个frp的搭建流程很简单,将家里电脑(内网内设备)称为客户端,即想要访问的对象;将有公网ip的设备叫服务器。我们需要分别在公网服务器上起一个frp服务器,然后在客户端上起一个frp...

2019-11-02 10:05:51

keras绘制网络结构图

keras可以方便画出网络结构图,但在使用过程中有两个库需要先安装 pydot 和graphvizos: unbantupydot使用pip很容易安装graphviz直接用pip装没问题,但是使用时候遇到环境变量问题。这儿需要将graphviz/bin添加到环境变量,但是我装完发现graphviz文件下无bin文件。。。另寻他路,apt-get install graphviz直接安装成功...

2019-10-06 17:46:20

leetcode139 单词拆分

给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = “leetcode”, wordDict = [“leet”, “code”]输出: true解释: 返回 true 因为 “leetcode” 可以被拆分成...

2019-09-14 17:12:26

最长回文子串

dabadcmnm最长回文子串为dabad此题有多种解法,暴力法就是逐个子串来比较,记录最长子串,复杂度太高。动态规划当子串是回文子串时候,我们只需要看两遍新添的两个字符是否相等,若相等则最新串也是最长子串;若不等,则新串不是回文子串。这也是此题的状态转移方程。例如,aba是回文子串,当aba子串两端新添的两个字符相等时候,新串dabad也是回文子串。我们可以用一个二维数组dp记录所有的...

2019-08-30 17:14:53

House Robber

You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent house...

2019-08-28 14:34:02

Valid Sudoku

Determine if a 9x9 Sudoku board is valid. Only the filled cells need to be validated according to the following rules:Each row must contain the digits 1-9 without repetition.Each column must contain...

2019-08-27 14:14:04

322. Coin Change

You are given coins of different denominations and a total amount of money amount. Write a function to compute the fewest number of coins that you need to make up that amount. If that amount of money ...

2019-08-26 17:27:54

Dungeon Game

The demons had captured the princess § and imprisoned her in the bottom-right corner of a dungeon. The dungeon consists of M x N rooms laid out in a 2D grid. Our valiant knight (K) was initially posit...

2019-08-23 20:34:54

数组中超过一半的数

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。这个题目看到了首先会想到排序,然后统计个数。O(nlogn)了,不够快超过一半的数字肯定会是中位数,尝试快排的思想,找到中位数即可。这儿遇到一个坑,就是写partition函数的时候nu...

2019-08-21 10:50:25

链表反转+交叉链接

给个链表1->2->3->4->5->6把它变成1->6->2->5->3->4先把后半段链表反转,然后交叉链接前后半段链表即可#include <iostream>#include <iomanip>#include <vector>#include <algorithm>#...

2019-08-14 11:01:18

链表快排

快排的核心在于根据哨兵将节点二分,使用双指针分别从头和尾开始遍历即可完成。可是链表的访问时单向的,无法使用一个指针从后往前访问节点。换个思路来解,我们的目的还是要将数据二分嘛。还是用双指针,慢指针 i 指向头结点,快指针 j 从第二个节点开始遍历,一旦遇到节点值小于哨兵的key,那说明 j 指向的节点应该在哨兵前,这时候我们将慢指针后移一步,然后替换 i 和 j 的值。替换后保证了 j 的值大于...

2019-08-13 23:11:35

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。