-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathatom.xml
More file actions
95 lines (54 loc) · 13 KB
/
atom.xml
File metadata and controls
95 lines (54 loc) · 13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>windliu</title>
<subtitle>windliu blog</subtitle>
<link href="/atom.xml" rel="self"/>
<link href="http://www.windliu.cn/"/>
<updated>2018-09-01T11:18:56.413Z</updated>
<id>http://www.windliu.cn/</id>
<author>
<name>[object Object]</name>
</author>
<generator uri="http://hexo.io/">Hexo</generator>
<entry>
<title>SPP网络(Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition)</title>
<link href="http://www.windliu.cn/2018/09/01/SPP%E7%BD%91%E7%BB%9C/"/>
<id>http://www.windliu.cn/2018/09/01/SPP网络/</id>
<published>2018-09-01T10:09:46.000Z</published>
<updated>2018-09-01T11:18:56.413Z</updated>
<content type="html"><![CDATA[<h1 id="主题介绍"><a href="#主题介绍" class="headerlink" title="主题介绍"></a>主题介绍</h1><p><strong>本片文章介绍了SPP网络的提出背景,工作原理以及相关实验</strong><br>文章基于论文(Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition)的内容进行介绍,主要介绍背景以及原理,实验部分一来内容比较多,二来实验不是本文的重点部分,将简要带过。</p><h1 id="背景介绍"><a href="#背景介绍" class="headerlink" title="背景介绍"></a>背景介绍</h1><p>看过网上一些博客,很多博主在介绍SPP的时候总是在强调SPP能够使得网络输入任意尺寸大小的图片,并没有写为什么要提出SPP网络,让人很容易理解成先有了SPP然后才使得网络能够输入任意尺寸图像。还有的博客专注于SPP对于RCNN的速度提升,容易让人以为SPP是为了改进RCNN效率而提出的。其实不然,论文作者在文章中首先提出的一个问题就是裁剪或变化导致的信息丢失。<br>现在常用的卷积神经网络大部分是固定输入大小的,但是数据集中的图片通常情况下是任意尺寸的。为了适应网络输入需求,要将图片进行crop或者warp操作,crop操作容易导致信息丢失,warp操作容易导致图片内容变形。这种信息的丢失或图片内容的变形在一定程度上影响了网络的准确性。就如下图所示。<br><img src="/img/spp2.jpg" alt="crop and warp"><br>为了解决上面发现的问题,就必须修改网络使得网络能够接受任意大小的图片。细究卷积神经网络的结构我们会发现,卷积层并不限制输入图片大小(输入图片尺寸不一样只会造成feature map的大小不一致,并不影响卷积核的训练),限制图片尺寸的地方在于卷积后的全连接层,全连接层的权值是固定大小的矩阵,需要一个固定长度的特征向量作为输入。<br>那么现在的问题就转化成了如何将卷积出来的尺寸不一致的feature map变成维度固定的特征向量。这里作者就提出了空间金字塔池化(spatial pyramid pooling,SPP),SPP能将不同尺寸大小的feature map池化为一个固定大小的特征向量,从而完美的解决了最初的问题。<br><strong>总结以上,因为crop或者warp操作导致图片信息丢失,所以不得不向网络中输入任意尺寸的图片,为了适应不同尺寸图片得到的不同大小的feature map,提出了SPP。这样的做法相比传统方法增加了信息量,所以得到的结果更好</strong><br>附上论文中网络结构图,上面一行是传统卷积神经网络,下面是加入SPP后的卷积神经网络。<br><img src="/img/spp3.jpg" alt="spp卷积神经网络"></p><h1 id="SPP结构"><a href="#SPP结构" class="headerlink" title="SPP结构"></a>SPP结构</h1>]]></content>
<summary type="html">
<h1 id="主题介绍"><a href="#主题介绍" class="headerlink" title="主题介绍"></a>主题介绍</h1><p><strong>本片文章介绍了SPP网络的提出背景,工作原理以及相关实验</strong><br>文章基于论文(Spatia
</summary>
<category term="机器学习" scheme="http://www.windliu.cn/categories/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/"/>
<category term="spp" scheme="http://www.windliu.cn/tags/spp/"/>
<category term="特征金字塔" scheme="http://www.windliu.cn/tags/%E7%89%B9%E5%BE%81%E9%87%91%E5%AD%97%E5%A1%94/"/>
<category term="图像分类" scheme="http://www.windliu.cn/tags/%E5%9B%BE%E5%83%8F%E5%88%86%E7%B1%BB/"/>
<category term="目标检测" scheme="http://www.windliu.cn/tags/%E7%9B%AE%E6%A0%87%E6%A3%80%E6%B5%8B/"/>
</entry>
<entry>
<title>CCF第一题</title>
<link href="http://www.windliu.cn/2018/08/30/CCF%E7%AC%AC%E4%B8%80%E9%A2%98/"/>
<id>http://www.windliu.cn/2018/08/30/CCF第一题/</id>
<published>2018-08-30T13:18:09.000Z</published>
<updated>2018-09-01T00:44:16.903Z</updated>
<content type="html"><![CDATA[<h2 id="主题介绍"><a href="#主题介绍" class="headerlink" title="主题介绍"></a>主题介绍</h2><p>CSP认证2015年3月份第1题,图像旋转问题</p><a id="more"></a><h2 id="问题描述"><a href="#问题描述" class="headerlink" title="问题描述"></a>问题描述</h2><p><strong>试题编号</strong> 201503-1</p><p><strong>试题名称</strong> 图像旋转 </p><p><strong>时间限制</strong> 5.0s </p><p><strong>内存限制</strong> 256.0MB</p><p><strong>问题描述</strong><br> 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。<br> 计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。</p><p><strong>输入格式</strong><br>输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。<br> 接下来n行每行包含m个整数,表示输入的图像。</p><p><strong>输出格式</strong><br>输出m行,每行包含n个整数,表示原始矩阵逆时针旋转90度后的矩阵。</p><p><strong>样例输入</strong></p><p>2 3</p><p>1 5 3</p><p>3 2 4</p><p><strong>样例输出</strong></p><p>3 4</p><p>5 2</p><p>1 3</p><p><strong>评测用例规模与约定</strong><br>1 ≤n,m≤ 1,000,矩阵中的数都是不超过1000的非负整数。</p><h2 id="解题思路"><a href="#解题思路" class="headerlink" title="解题思路"></a>解题思路</h2><p>问题比较简单,不多赘述,关键点在于建立二维数组后,计算好变化前后的位置坐标</p><h2 id="实例代码"><a href="#实例代码" class="headerlink" title="实例代码"></a>实例代码</h2><figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> java.util.*;</span><br><span class="line"><span class="keyword">public</span> <span class="class"><span class="keyword">class</span> <span class="title">Main</span> </span>{</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">void</span> <span class="title">main</span><span class="params">(String[] args)</span> </span>{</span><br><span class="line">Scanner scan=<span class="keyword">new</span> Scanner(System.in);</span><br><span class="line"><span class="keyword">int</span> n=scan.nextInt();</span><br><span class="line"></span><br><span class="line"><span class="keyword">int</span> m=scan.nextInt();</span><br><span class="line"><span class="keyword">int</span>[][] vector=<span class="keyword">new</span> <span class="keyword">int</span>[m][n];</span><br><span class="line"><span class="keyword">for</span>(<span class="keyword">int</span> i=<span class="number">0</span>;i<n;i++){</span><br><span class="line"><span class="keyword">for</span>(<span class="keyword">int</span> j=<span class="number">0</span>;j<m;j++){</span><br><span class="line">vector[m-<span class="number">1</span>-j][i]=scan.nextInt();</span><br><span class="line">}</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="keyword">for</span>(<span class="keyword">int</span> i=<span class="number">0</span>;i<m;i++){</span><br><span class="line"><span class="keyword">for</span>(<span class="keyword">int</span> j=<span class="number">0</span>;j<n;j++){</span><br><span class="line">System.out.print(vector[i][j]+<span class="string">"\t"</span>);</span><br><span class="line">}</span><br><span class="line">System.out.println();</span><br><span class="line">}</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line">}</span><br></pre></td></tr></table></figure>]]></content>
<summary type="html">
<h2 id="主题介绍"><a href="#主题介绍" class="headerlink" title="主题介绍"></a>主题介绍</h2><p>CSP认证2015年3月份第1题,图像旋转问题</p>
</summary>
<category term="csp认证" scheme="http://www.windliu.cn/categories/csp%E8%AE%A4%E8%AF%81/"/>
<category term="ccf" scheme="http://www.windliu.cn/tags/ccf/"/>
<category term="csp" scheme="http://www.windliu.cn/tags/csp/"/>
</entry>
<entry>
<title>Hello World</title>
<link href="http://www.windliu.cn/2018/08/30/hello-world/"/>
<id>http://www.windliu.cn/2018/08/30/hello-world/</id>
<published>2018-08-30T01:13:24.115Z</published>
<updated>2018-08-30T01:13:24.115Z</updated>
<content type="html"><![CDATA[<p>Welcome to <a href="https://hexo.io/" target="_blank" rel="noopener">Hexo</a>! This is your very first post. Check <a href="https://hexo.io/docs/" target="_blank" rel="noopener">documentation</a> for more info. If you get any problems when using Hexo, you can find the answer in <a href="https://hexo.io/docs/troubleshooting.html" target="_blank" rel="noopener">troubleshooting</a> or you can ask me on <a href="https://github.com/hexojs/hexo/issues" target="_blank" rel="noopener">GitHub</a>.</p><h2 id="Quick-Start"><a href="#Quick-Start" class="headerlink" title="Quick Start"></a>Quick Start</h2><h3 id="Create-a-new-post"><a href="#Create-a-new-post" class="headerlink" title="Create a new post"></a>Create a new post</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo new <span class="string">"My New Post"</span></span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/writing.html" target="_blank" rel="noopener">Writing</a></p><h3 id="Run-server"><a href="#Run-server" class="headerlink" title="Run server"></a>Run server</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo server</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/server.html" target="_blank" rel="noopener">Server</a></p><h3 id="Generate-static-files"><a href="#Generate-static-files" class="headerlink" title="Generate static files"></a>Generate static files</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo generate</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/generating.html" target="_blank" rel="noopener">Generating</a></p><h3 id="Deploy-to-remote-sites"><a href="#Deploy-to-remote-sites" class="headerlink" title="Deploy to remote sites"></a>Deploy to remote sites</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo deploy</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/deployment.html" target="_blank" rel="noopener">Deployment</a></p>]]></content>
<summary type="html">
<p>Welcome to <a href="https://hexo.io/" target="_blank" rel="noopener">Hexo</a>! This is your very first post. Check <a href="https://hexo.
</summary>
</entry>
</feed>