论文链接:http://www.zijunwei.org/papers/cvpr18-photo-composition.pdf

代码及数据集链接:https://www3.cs.stonybrook.edu/~cvl/projects/wei2018goods/VPN_CVPR2018s.html

本文贡献

1.建立了一个大型数据集——Comparative Photo Composition (CPC) dataset;

2.提出了一个新颖的知识转移框架来训练基于锚框的实时VPN模型(view proposal model);

首先使用Siamese架构在视图对上训练一个视图评估模型,然后我们将这个模型作为一个老师来对各种图像上的候选锚盒进行评分,这些教师评分将视VPN训练为学生模型,以输出相同的锚框评分排名。为了训练学生,我们提出了平均两两误差(MPSE)损失。

VPN模型:以图像作为输入,并输出与预定义锚框列表相对应的分数。

训练View Proposal Networks

本文提出一个知识转移框架,在教师模型VEN(View Evaluation Net)的监督下将View Proposal Net(VPN)训练为学生模型。 VEN,它需要一个视图作为输入,并预测组成的分数,因此这可以直接在我们的CPC数据集训练。 为了转移知识,我们在给定图像的锚点框上运行VEN,然后使用预测的分数、新颖的平均成对平方误差(MPSE)损失训练VPN。

VPN:SSD+MultiBox

骨干网络是基于SSD(Conv9之后被截)的,在骨干网的顶部,我们添加了一个卷积层、一个平均池化层和一个全连接层,输出N个分数,对应于N个预定义的锚盒。我们通过在不同比例和长宽比的标准化图像上密集滑动来预先定义锚盒集,结果得到一组N = 895个预定义锚盒。

VEN:Siamese结构

我们采用Siamese结构训练VEN,Siamese结构是由两个共享权重的VEN组成,每个输出输入图像对中对应图像的分数。本文VEN是基于VGG16(在最后一个最大池化层之后截断)的,其中包含两个新的全连接(FC)层和一个新的输出层。由于我们的模型只输出一个排名分数,而不是1000多个类的概率分布,所以我们将FC层的通道分别减少到1024和512。

论文学习——《Good View Hunting: Learning Photo Composition from Dense View Pairs》的更多相关文章

  1. 深度学习概述教程--Deep Learning Overview

          引言         深度学习,即Deep Learning,是一种学习算法(Learning algorithm),亦是人工智能领域的一个重要分支.从快速发展到实际应用,短短几年时间里, ...

  2. 论文笔记(1):Deep Learning.

    论文笔记1:Deep Learning         2015年,深度学习三位大牛(Yann LeCun,Yoshua Bengio & Geoffrey Hinton),合作在Nature ...

  3. 强化学习之 免模型学习(model-free based learning)

    强化学习之 免模型学习(model-free based learning) ------ 蒙特卡罗强化学习 与 时序查分学习 ------ 部分节选自周志华老师的教材<机器学习> 由于现 ...

  4. Android(java)学习笔记95:Android原理揭秘系列之View、ViewGroup

    作过Android 应用开发的朋友都知道,Android的UI界面都是由View和ViewGroup及其派生类组合而成的.其中,View是所有UI组件的基类,而ViewGroup是容纳这些组件的容器, ...

  5. Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级

    前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...

  6. 读论文系列:Deep transfer learning person re-identification

    读论文系列:Deep transfer learning person re-identification arxiv 2016 by Mengyue Geng, Yaowei Wang, Tao X ...

  7. 贝叶斯深度学习(bayesian deep learning)

      本文简单介绍什么是贝叶斯深度学习(bayesian deep learning),贝叶斯深度学习如何用来预测,贝叶斯深度学习和深度学习有什么区别.对于贝叶斯深度学习如何训练,本文只能大致给个介绍. ...

  8. Qt 学习之路 2(41):model/view 架构

    Qt 学习之路 2(41):model/view 架构 豆子 2013年1月23日 Qt 学习之路 2 50条评论 有时,我们的系统需要显示大量数据,比如从数据库中读取数据,以自己的方式显示在自己的应 ...

  9. Qt 学习之路 2(30):Graphics View Framework

    Qt 学习之路 2(30):Graphics View Framework 豆子 2012年12月11日 Qt 学习之路 2 27条评论 Graphics View 提供了一种接口,用于管理大量自定义 ...

随机推荐

  1. ionic ios上状态栏和app重叠解决方案

    干货文章 ·2018-03-22 01:33:01 官方issues: https://github.com/ionic-team/ionic/issues/13294 解决办法: 1.在 confi ...

  2. android thread Runnable

    原文链接: http://blog.csdn.net/boyupeng/article/details/6208072 这篇文章中有三点需要提前说明一下, 一: 在android中有两种实现线程thr ...

  3. JNI原理与静态、动态注册

    前言 JNI不仅仅在NDK开发中应用,它更是Android系统中Java与Native交互的桥梁,不理解JNI的话,你就只能停留在Java Framework层.这一个系列我们来一起深入学习JNI. ...

  4. 创建win32 dll 空项目

    动态库,多字节 win32 空项目 添加导出头文件  类 导入: #pragma once #ifndef IP_CLASS_DLL_H #define IP_CLASS_DLL_H #pragma ...

  5. 【读书笔记】【数据库】SQL必知必会

    第1课 了解SQL 简单介绍了sql,和dbms,无重点. 第2课 检索数据 重点:select语句,distinct,limit,注释 1. select 语句如果没有明确排序查询结果,那么返回的数 ...

  6. vue中的$nextTick的常用思路

    Vue 实现响应式并不是数据发生变化之后 DOM 立即变化,而是按一定的策略进行 DOM 的更新. $nextTick 是在下次 DOM 更新循环结束之后执行延迟回调,在修改数据之后使用 $nextT ...

  7. Fatal error: Call to a member function on a non-object 的2种解决办法

    这两天被一个莫名其妙的错误:Fatal error: Call to a member function on a non-object in d://www/htdocs/inc.php 77  搞 ...

  8. psecurity配置

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...

  9. 【转】Spring+Websocket实现消息的推送

    本文主要有三个步骤 1.用户登录后建立websocket连接,默认选择websocket连接,如果浏览器不支持,则使用sockjs进行模拟连接 2.建立连接后,服务端返回该用户的未读消息 3.服务端进 ...

  10. FFT快速傅里叶模板

    FFT快速傅里叶模板…… /* use way: assign : h(x) = f(x) * g(x) f(x):len1 g(x):len2 1. len = 1; while(len < ...