Paper Reading:Deep Neural Networks for Object Detection
发表时间:2013
发表作者:(Google)Szegedy C, Toshev A, Erhan D
发表刊物/会议:Advances in Neural Information Processing Systems(NIPS)
本文实现了一种利用DNN来做目标检测的方法。当时,CNN等深度学习在识别上面做的还挺好,但是在目标检测上面没有特别突出的结果。本文中作者把目标检测看做一个回归问题,回归目标窗口(BoundingBox)的位置,寻找一张图片当中目标类别和目标出现的位置。
作者在ImageNet CNN(见下图)基础上构建网络模型。ImageNet CNN共7层,前5层为卷积+Relu层(其中3层包含Max Pooling),后2层为全连接层。本文将ImageNet CNN的最后一层(Softmax Classifer)替换成了Regression Layer。
首先,作者制定了一个基于DNN的回归方法,它的输出是对象Bounding Boxes的二值masks;其次,利用一个简单的Bounding Boxes从这些masks中推理提取出检测对象;最后,在全图以及少数修剪后的大图上进行调整,从而提高定位的精度。下图是基于DNNs进行对象检测的原理图(Figure 1)以及微调步骤图(Figure 2)。
Regression Layer生成对象的Binary Mask \(DNN(x; \theta)\in \Bbb R^N\),其中$\theta$是模型的参数,\(N\) 是对象的像素总数。由于模型的输出维度固定,因此假设模型所预测的输出大小为$ N=d×d$ 。对于Resized后,符合模型输入的图片,经模型得到的Binary Masks结果包含一个或多个对象,然后规定属于对象中的Binary Mask的值为1,否则为0。
通过最小化每张图片$x$ 的Binary Mask与Ground Truth mask \(m∈[0,1]N\) 差值的 \(L_2\) 范式对模型进行训练,Loss Funciton 如下所示:
min_{\ \theta} \sum_{(x, y) \in \theta} \Vert (Diag(m) + \lambda I)^{1 \over 2} (DNN(x; \theta)-m)\Vert ^2 _2
\]
其中$D$是图片训练集,这些图片包含Bounding Boxed Objects,而图片中的Bounding Boxed Objects被表征为Binary Masks。
从损失函数的形式可以看出,它具有非凸性,则求解最优值将得不到保证。通常,可以利用Varying Weights对Loss Function进行Regularize。对于绝大多数Objects的尺寸相对于整个图片来说比较小,从而使得模型容易将平凡解(指尺寸比较小的Objects)容易被忽略掉。为了避免这个问题,Loss Function利用参数 \(λ∈R^+\) 来调整模型中的权重值,模型的输出若为与Ground Truth Mask对应的非零值,则增加输出的Weight。若所选择的参数 \(λ\) 比较小,则具有Groundtruth value 0的输出上的误差被惩罚的强度将小于Groundtruth value1的误差,因此即使模型输出的Masks属于Objects的强度比较弱,也能促使模型预测其为非零值。在本论文的实现中,作者设计模型的输入是$ 225×225$ 而输出的Binary Mask是 \(d×d\),其中 \(d=24\)。
论文主要对三个具有挑战性的问题进行分析和解决。第一,模型输出的单个Object Mask无法有效地对相互靠近的歧义Objects进行对象检测;第二,由于模型输出大小的限制,所生成的Obinary Mask的尺寸相对于原始图片显得及其小,譬如: $400×400$, \(d=24\),那么每个输出对应到原始图片的单元大小大约为$16×16 $,故无法精确地对对象进行定位,而在原始图片更小的时候,难度将更大;第三,受输入是整张图片的影响,尺寸比较小的Objects对Input Neurons的影响很小,从而使得识别变得困难。
参考:
bolg
Paper Reading:Deep Neural Networks for Object Detection的更多相关文章
- Paper Reading:Deep Neural Networks for YouTube Recommendations
论文:Deep Neural Networks for YouTube Recommendations 发表时间:2016 发表作者:(Google)Paul Covington, Jay Adams ...
- Deep Neural Networks for Object Detection(翻译)
0 - Abstract 深度神经网络(DNNs)最近在图像分类任务上表现出了突出的性能.在这篇文章中,我们进一步深入探究使用DNNs进行目标检测的问题,这个问题不仅需要对物体进行分类,并且还需要对各 ...
- Coursera, Deep Learning 4, Convolutional Neural Networks, week3, Object detection
学习目标 Understand the challenges of Object Localization, Object Detection and Landmark Finding Underst ...
- On Explainability of Deep Neural Networks
On Explainability of Deep Neural Networks « Learning F# Functional Data Structures and Algorithms is ...
- 目标检测--Scalable Object Detection using Deep Neural Networks(CVPR 2014)
Scalable Object Detection using Deep Neural Networks 作者: Dumitru Erhan, Christian Szegedy, Alexander ...
- Paper Reading: Relation Networks for Object Detection
Relation Networks for Object Detection笔记 写在前面:关于这篇论文的背景知识,请参考我前面的两篇随笔(<关于目标检测>和<关于注意力机制> ...
- Must Know Tips/Tricks in Deep Neural Networks
Must Know Tips/Tricks in Deep Neural Networks (by Xiu-Shen Wei) Deep Neural Networks, especially C ...
- Must Know Tips/Tricks in Deep Neural Networks (by Xiu-Shen Wei)
http://lamda.nju.edu.cn/weixs/project/CNNTricks/CNNTricks.html Deep Neural Networks, especially Conv ...
- (转)Understanding, generalisation, and transfer learning in deep neural networks
Understanding, generalisation, and transfer learning in deep neural networks FEBRUARY 27, 2017 Thi ...
随机推荐
- Reactor系列(三)创建Flux,Mono(续)
创建Mono 视频讲解:https://www.bilibili.com/video/av78944069/ FluxMonoTestCase.java package com.example.rea ...
- JavaSE基础(十)--Java中的基本数据类型转换
Java中的基本数据类型转换 说基本数据类型转换之前,先了解下 Java 中的 8 种基本数据类型,以及它们的占内存的容量大小和表示的范围,如下图所示. 重新温故了下原始数据类型,现在来解释下它们之间 ...
- oauth2中org.springframework.security.core.userdetails.User无法转换为封装的AuthorizationInfoBean
用springboot + oauth2 + redis搭建了一个项目,创建一个自定义的AuthorizationInfoBean继承org.springframework.security.core ...
- IO-file 01 名称或路径
package com.bwie.io; import java.io.File; /** * 名称或路径 * [getName:名称 * getPath * getAbsolutePath:绝对路径 ...
- 常用的API
API (application programming Interface)应用程序编程接口 java 是字典 Scanner类的功能可以实现从键盘输入到程序当中. 引用类型的一般使用步骤 ·1导包 ...
- poj3304(叉积判断直线和线段相交)
题目链接:https://vjudge.net/problem/POJ-3304 题意:求是否能找到一条直线,使得n条线段在该直线的投影有公共点. 思路: 如果存在这样的直线,那么在公共投影点作直线的 ...
- 你除了在客户端上会使用Cookie,还能使用哪些可以作为数据缓存呢?
问题如标题,直奔主题.介绍下另两种缓存. 1.sessionStorage.localStorage localStorage: 是一种你不主动清除它,它会一直将存储数据存储在客户端的存储方式,即使你 ...
- # Ubuntu子系统安装配置
目录 Ubuntu子系统安装配置 安装配置 终端美化 卸载 和win10之间的交互 Ubuntu子系统安装配置 亲测启动速度毫秒之间 安装配置 系统升级到一周年正式版及以上(1607) 依次在 设置 ...
- Photon Server 实现注册与登录(一) --- Hibernate整合到项目中
本系列实现目的:基于Photon Server实现注册于登录 一.拷贝Nbibernate项目的文件到MyGamerServer项目中. 二.数据库新建表,结构如下 三.修改文件名和配置 (1).将拷 ...
- Zookeeper快速开始
具体部署流程: #下载 wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/current/apache-zookeeper-3.5. ...