Finding Tiny Faces

2024-01-10 17:18
文章标签 tiny finding faces

本文主要是介绍Finding Tiny Faces,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Overview of detection pipeline





Multi-task modeling of scales



前面a, b两种是传统的 model 方式。 b的缺点是,如果某个尺寸的 model 的样本少的话,不利于训练。而c有利于解决这种问题。 d,e 是作者提出的: d 加入 context 信息, e 利用多层的特征。



Human on context





这里分析了context 的作用。人类进行判别人脸的时候,对于大尺寸的人脸,context作用很小,但对于小尺寸的人脸,context的作用很大。



How best to encode context?



对于小尺寸的人脸,感受野相对较小的feature map 对识别率提升更有效,这时相应的 context 信息也相对少一些,不至于 context 信息过大。 而大尺寸的人脸,则是感受野大的好。


How to generalize pre-trained networks?


对于ImageNet 而言,80%的object 高度在40~140 pixels。


作者发现,medium-size template 比 small-size template 在检测 small objects 时效果更好,同时,medium-size template 比 large-size template 在检测 large objects 时效果也更好。作者给出一个解释是,因为在training dataset 里 large faces 不够多,more medium faces for training medium-size template.但这不能解释 result for small faces. 于是作者又给出另一个解释。在pre-trained dataset (ImageNet) 里,80%的training samples 在 40-140 pixels 之间,也就是属于 medium size. 在fine tuning 的时候,训练的template size 也应该尽可能的在这个范围以内(40-140 pixels).所以我们在fine tune 网络的时候,a template tuned for 50x40 sized faces 比 a template tuned for 25x20 sized faces 在检测 25x20 sized faces 时的性能要好。而a template tuned for 125x100 sized faces 比 a template tuned for 250x200 sized faces 在检测250x200 sized faces 时的性能要好。

从以下的实验,也能得出结论。






这篇关于Finding Tiny Faces的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/591516

相关文章

随机算法 - HNU 13348 Finding Lines

Finding Lines Problem's Link:  http://acm.hnu.cn/online/?action=problem&type=show&id=13348&courseid=0   Mean:  给你平面上1e5个点,让你判断是否可以找到一条直线,使得p%的点都在这条直线上。 analyse: 经典的随机算法题。 每次随机出两个点,

【POJ】 2049 Finding Nemo BFS

题目大意:给你一个奇奇怪怪的迷宫, 这个迷宫包括墙和门。再给你一个起始坐标, 问你从迷宫内到外面至少要穿越多少的门。 题目分析: 穿越多少门等同于路过了多少个格子。 为此我们可以将整个地图中的格子,门,墙,墙的交界处(格子的顶点)全部抽象成点。 即坐标(奇数,奇数)为格子的坐标,坐标(奇数,偶数)或坐标(偶数,奇数)为门或墙的坐标,坐标(偶数,偶数)为格子的顶点。 这样题目就转化成了从起

推荐一款开源、高效、灵活的Redis桌面管理工具:Tiny RDM!支持调试与分析功能!

1、引言 在大数据和云计算快速发展的今天,Redis作为一款高性能的内存键值存储系统,在数据缓存、实时计算、消息队列等领域发挥着重要作用。然而,随着Redis集群规模的扩大和复杂度的增加,如何高效地管理和运维Redis数据库成为了许多开发者和运维人员面临的挑战。Tiny RDM(Tiny Redis Desktop Manager)作为一款轻量级、跨平台的Redis桌面管理工具,以其高效、灵活和

tiny_qemu模拟qemu虚拟化原理

一、模仿一个x86平台虚机 cpu虚拟化原理来源于Linux虚拟化KVM-Qemu分析(四)之CPU虚拟化(2) 笔者就实现了下相关操作。看汇编是在x86平台下操作的,其中两个文件分别是 1.tiny_kernel.S start:/* Hello */mov $0x48, %aloutb %al, $0xf1mov $0x65, %aloutb %a

AI深度学习项目-yolo4_tiny 垃圾分类识别系统

项目概述 目标 本项目旨在开发一个高效的垃圾分类识别系统,利用深度学习技术特别是YOLOv4-tiny版本来实现垃圾的自动分类。YOLOv4-tiny作为YOLOv4的一个轻量化版本,在保证较高精度的同时,能够提供更快的检测速度,非常适合资源受限的设备或者要求实时性的应用场景。 技术栈 深度学习框架:PyTorch目标检测算法:YOLOv4-tiny编程语言:Python硬件加速:G

Vitis AI 基本认知(Tiny-VGG 标签获取+预测后处理)

目录 1. 简介 2. 解析 2.1 获取标签 2.1.1 载入数据集 2.1.2 标签-Index 2.1.3 保存和读取类别标签 2.2 读取单个图片 2.3 载入模型并推理 2.3.1 tiny-vgg 模型结构 2.3.2 运行推理  2.4 置信度柱状图 2.5 预测标签 3. 完整代码 4. 总结 1. 简介 本博文在《Vitis AI 基本认知

C++卷积神经网络实例:tiny_cnn代码详解(11)——层结构容器layers类源码分析

在这篇博文中我们对tiny_cnn卷积神经网络模型中的最后一个网络结构方面的类——layers做简要分析。   首先,layers通俗的讲可以被称为是层结构的vector,即层结构容器。由于卷积神经网络是一个多层的网络模型,因此有必要将网络中各个层进行统一管理,这便引出了本篇博文中所要介绍的layers类。layers类是一个vector类型的变量,其中压入的元素就是网络中的各个层模型,这里

C++卷积神经网络实例:tiny_cnn代码详解(10)——layer_base和layer类结构分析

在之前的博文中,我们已经队大部分层结构类都进行了分析,在这篇博文中我们准备针对最后两个,也是处于层结构类继承体系中最底层的两个基类layer_base和layer做一下简要分析。由于layer类只是对layer_base的一个简单实例化,因此这里着重分析layer_base类。   首先,给出layer_base类的基本结构框图:   一、成员变量   由于layer_base是这个

C++卷积神经网络实例:tiny_cnn代码详解(9)——partial_connected_layer层结构类分析(下)

在上一篇博文中我们着重分析了partial_connected_layer类的成员变量的结构,在这篇博文中我们将继续对partial_connected_layer类中的其他成员函数做一下简要介绍。   一、构造函数   由于partial_connected_layer类是继承自基类layer,因此在构造函数中同样分为两部分,即调用基类构造函数以及初始化自身成员变量: partial

C++卷积神经网络实例:tiny_cnn代码详解(8)——partial_connected_layer层结构类分析(上)

在之前的博文中我们已经将顶层的网络结构都介绍完毕,包括卷积层、下采样层、全连接层,在这篇博文中主要有两个任务,一是整体贯通一下卷积神经网络在对图像进行卷积处理的整个流程,二是继续我们的类分析,这次需要进行分析的是卷积层和下采样层的公共基类:partial_connected_layer。   一、卷积神经网络的工作流程   首先给出经典的5层模式的卷积神经网络LeNet-5结构模型: