-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsearch.xml
382 lines (183 loc) · 28.3 KB
/
search.xml
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title>opencv imwrite函数如何保存16位的图片</title>
<link href="/2021/10/12/project1/"/>
<url>/2021/10/12/project1/</url>
<content type="html"><![CDATA[<h1 id="重点"><a href="#重点" class="headerlink" title="重点"></a>重点</h1><ol><li>opencv的imwrite函数保存图像。输入参数必须为int类型。</li><li>imwrite函数在保存为不同深度格式时候的图像类型支持说明如下:<ul><li>8位的图像(CV_8U),支持png/jpg/bmp/webp等各种常见图像格式</li><li>16位的图像(CV_16U),支持png/jpeg2000/TIFF格式</li><li>32位的图像(CV_32F),支持PFM/TIFF/OpenEXR/TIFF/HDR</li></ul></li></ol><h1 id="项目背景"><a href="#项目背景" class="headerlink" title="项目背景"></a>项目背景</h1><ol><li>nii格式转成图片,进行预处理,再转化为数组保存成npy文件。</li><li>npy的dtype是uint8。</li></ol><h1 id="项目需求"><a href="#项目需求" class="headerlink" title="项目需求"></a>项目需求</h1><p>拿到unint16的npy文件。</p><h1 id="解决过程"><a href="#解决过程" class="headerlink" title="解决过程"></a>解决过程</h1><p>调试了几次发现用<code>cv2.imwrite</code>保存图片之后,位深度就变成了8<br>以下是原来的代码</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">src_kineryimg = np.clip(src_kineryimg, 0, 255).astype('uint8') # 修改成uint16</span><br><span class="line">cv2.imwrite(path + "\\" + str(z) + ".bmp", src_kineryimg[z]) # 这里不能用bmp格式了,我换成了png</span><br></pre></td></tr></table></figure><p>然后把图像换成<code>.png</code>格式的保存成功了,转成npy也是uint16格式的<br><img src="https://i.loli.net/2021/10/12/93VnvNHmPoJiz6C.png" alt="结果图.png"></p><p>位数是没毛病了,图片全黑了<br><img src="https://i.loli.net/2021/10/12/rCFghXBycsLTRkw.png" alt="怎么读个图片也这么多事儿.png"></p><p>但是把图片都转成<code>.bmp</code>格式的又正常显示了,说明图像信息没丢。</p><blockquote><p>使用一个普通的图像浏览器来打开一个16位图像,它通常是完全黑暗的,因为他们只支持正确显示8位图像。</p></blockquote><p><img src="https://i.loli.net/2021/10/13/5Ks1RDqxCNkUmFo.png" alt="图像又正常显示了.png"></p><p>在图片转成的npy的过程中需要用到<code>cv2.imread</code>,在第二个参数的位置一定要加上<code>cv2.IMREAD_ANYDEPTH</code>,否则会按照8位读取。</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">image = cv2.imread(srcpath + str(i) + "/" + str(index) + ".png", cv2.IMREAD_GRAYSCALE|cv2.IMREAD_ANYDEPTH)</span><br></pre></td></tr></table></figure><p>最后直接用<code>np.save</code>转成npy格式的文件,检查一下,数据类型是uint16了。<br><img src="https://i.loli.net/2021/10/13/Thwo9WqQKNvbzZY.png" alt="大功告成.png"></p>]]></content>
<categories>
<category> 项目问题记录 </category>
</categories>
<tags>
<tag> opencv </tag>
</tags>
</entry>
<entry>
<title>1.4 Padding</title>
<link href="/2021/10/07/CNN1-4/"/>
<url>/2021/10/07/CNN1-4/</url>
<content type="html"><![CDATA[<p>假设输入图片的大小为 n×n,而滤波器的大小为 f×f,则卷积后的输出图片大小为 (n−f+1)×(n−f+1)。</p><p>这样就有两个问题:</p><ul><li>每次卷积运算后,输出图片的尺寸缩小;</li><li>原始图片的角落、边缘区像素点在输出中采用较少,输出图片丢失边缘位置的很多信息。</li></ul><p>为了解决这些问题,可以在进行卷积操作前,对原始图片在边界上进行填充(Padding),以增加矩阵的大小。通常将 0 作为填充值。</p><p>设每个方向扩展像素点数量为 p,则填充后原始图片的大小为 (n+2p)×(n+2p),滤波器大小保持 f×f不变,则输出图片大小为 (n+2p−f+1)×(n+2p−f+1)。</p><p><img src="https://i.loli.net/2021/10/07/hejJ3ZOFK2UcMiX.png" alt="padding.png"></p><p>在进行卷积运算时,我们有两种选择:</p><ul><li>Valid 卷积:不填充,直接卷积。结果大小为 (n-f+1)×(n-f+1);</li><li>Same 卷积:进行填充,并使得卷积后结果大小与输入一致,所以需要 p=(f-1)/2。<br>在计算机视觉领域,f通常为奇数。原因包括 Same 卷积中 p=(f-1)/2能得到自然数结果,并且滤波器有一个便于表示其所在位置的中心点。</li></ul>]]></content>
<categories>
<category> 深度学习 </category>
</categories>
<tags>
<tag> 吴恩达CNN </tag>
</tags>
</entry>
<entry>
<title>1.3 更多边缘检测内容</title>
<link href="/2021/10/07/CNN1-3/"/>
<url>/2021/10/07/CNN1-3/</url>
<content type="html"><![CDATA[<h1 id="由明变暗还是由暗变明?"><a href="#由明变暗还是由暗变明?" class="headerlink" title="由明变暗还是由暗变明?"></a>由明变暗还是由暗变明?</h1><p>如果将灰度图左右的颜色进行翻转,再与之前的滤波器进行卷积,得到的结果也有区别。<br>实际应用中,这反映了由明变暗和由暗变明的两种渐变方式。<br>如果你不关注由明变暗还是由暗变明,可以对结果取平均值。</p><p><img src="https://i.loli.net/2021/10/07/7UhOB4o12xNAD39.png" alt="边缘检测的过渡.png"></p><blockquote><p>将滤波器90°旋转,即可得到水平滤波检测器</p></blockquote><h1 id="怎样的数字组合才是最好的?"><a href="#怎样的数字组合才是最好的?" class="headerlink" title="怎样的数字组合才是最好的?"></a>怎样的数字组合才是最好的?</h1><ul><li>Sobel 滤波器,增加了中间一行元素的权重,结果的鲁棒性会更高一些</li><li>Scharr滤波器</li><li>不一定要用学者们研究出的数字组合,而是把9个数字当作9个参数,通过模型训练来得到。这样,神经网络使用反向传播算法可以学习到一些低级特征,从而实现对图片所有边缘特征的检测,而不仅限于垂直边缘和水平边缘。</li></ul><p><img src="https://i.loli.net/2021/10/07/nKdr7CacYLoXNH9.png" alt="边缘检测滤波器.png"></p>]]></content>
<categories>
<category> 深度学习 </category>
</categories>
<tags>
<tag> 吴恩达CNN </tag>
</tags>
</entry>
<entry>
<title>1.2 卷积运算和边缘检测示例</title>
<link href="/2021/10/07/CNN1-2/"/>
<url>/2021/10/07/CNN1-2/</url>
<content type="html"><![CDATA[<h1 id="卷积运算"><a href="#卷积运算" class="headerlink" title="卷积运算"></a>卷积运算</h1><p>用一个正方形的过滤器(filter)对图像进行卷积运算。</p><ol><li>将3x3的卷积核覆盖到图像左上的3x3区域上,然后用元素乘法把对应位置的数字相乘,最后把得到的9个数相加,填在4x4的第一格。</li><li>3x3的卷积核从左到右,由上到下每次移动一格,重复以上操作。</li></ol><p><img src="https://i.loli.net/2021/10/07/7lfVWcq8y3MgsQz.png" alt="conv.png"></p><p>以上这个过程<br>在 Python 中,卷积用<code>conv_forward()</code>表示;<br>在 Tensorflow 中,卷积用<code>tf.nn.conv2d()</code>表示;<br>在 keras 中,卷积用<code>Conv2D()</code>表示。</p><h1 id="边缘检测"><a href="#边缘检测" class="headerlink" title="边缘检测"></a>边缘检测</h1><ul><li>垂直边缘检测</li><li>水平边缘检测</li></ul><p><img src="https://i.loli.net/2021/10/07/oiF1jW7CBYpt6SX.png" alt="边缘检测.png"></p><h1 id="垂直边缘检测例子"><a href="#垂直边缘检测例子" class="headerlink" title="垂直边缘检测例子"></a>垂直边缘检测例子</h1><ul><li>最左边的矩阵是图像,左边亮,右边暗</li><li>利用中间的3x3滤波器进行卷积运算</li><li>得到最右边矩阵,把它看作图像就是一条白色的柱</li></ul><p><img src="https://i.loli.net/2021/10/07/vNJ6qr91HkKb7Rx.png" alt="垂直边缘检测例子.png"></p>]]></content>
<categories>
<category> 深度学习 </category>
</categories>
<tags>
<tag> 吴恩达CNN </tag>
</tags>
</entry>
<entry>
<title>1.1 计算机视觉</title>
<link href="/2021/10/07/CNN1-1/"/>
<url>/2021/10/07/CNN1-1/</url>
<content type="html"><![CDATA[<p>一般的计算机视觉问题包括以下几类:</p><ul><li>图片分类</li><li>目标检测</li><li>神经风格转换</li></ul><p><img src="https://i.loli.net/2021/10/07/AjWKpnTs7xfDmIi.png" alt="计算机视觉问题.png"></p><p>应用计算机视觉时要面临的一个挑战是数据的输入可能会非常大。例如一张 1000x1000x3 的图片,神经网络输入层的维度将高达三百万,使得网络权重 W 非常庞大。这样会造成两个后果:</p><ol><li>神经网络结构复杂,如果数据不够巨量,容易出现过拟合;</li><li>所需内存和计算量巨大。</li></ol><p><img src="https://i.loli.net/2021/10/07/bwYgXLaB1E9Srqy.png" alt="大图像进行深度学习.png"></p><p>因此,一般的神经网络很难处理蕴含着大量数据的图像。解决这一问题的方法就是使用<strong>卷积神经网络(Convolutional Neural Network, CNN)</strong>。</p>]]></content>
<categories>
<category> 深度学习 </category>
</categories>
<tags>
<tag> 吴恩达CNN </tag>
</tags>
</entry>
<entry>
<title>3.10 R-CNN(Region CNN)</title>
<link href="/2021/10/07/CNN3-10/"/>
<url>/2021/10/07/CNN3-10/</url>
<content type="html"><![CDATA[<h1 id="滑动窗口目标检测算法"><a href="#滑动窗口目标检测算法" class="headerlink" title="滑动窗口目标检测算法"></a>滑动窗口目标检测算法</h1><p>对一些明显没有目标的区域也进行了扫描,扫描是低效的</p><h1 id="R-CNN"><a href="#R-CNN" class="headerlink" title="R-CNN"></a>R-CNN</h1><ul><li>pick a few regions or a few windows to run conv classifier</li><li>使用图像分割算法构建了右图</li><li>在不同的色块上找出候选区域(Region Proposal)</li><li>只在Region Proposal run conv classifier</li><li>减少扫描的区域</li></ul><p><img src="https://i.loli.net/2021/10/07/DpiKFxoWRTmj3eu.png" alt="R-CNN.png"></p><h1 id="缺点"><a href="#缺点" class="headerlink" title="缺点"></a>缺点</h1><p>R-CNN 的缺点是运行速度很慢,所以有一系列后续研究工作改进。</p><ul><li>Fast R-CNN(与基于卷积的滑动窗口实现相似,但得到候选区域的聚类步骤依然很慢)</li><li>Faster R-CNN(使用卷积神经网络来获取候选区域,比 Fast R-CNN快得多)。<br>不过大多数时候还是比 YOLO 算法慢。</li></ul><p><img src="https://i.loli.net/2021/10/07/KLdYjmDhNea72iZ.png" alt="faster algo.png"></p>]]></content>
<categories>
<category> 深度学习 </category>
</categories>
<tags>
<tag> 吴恩达CNN </tag>
</tags>
</entry>
<entry>
<title>3.9 YOLO算法</title>
<link href="/2021/10/07/CNN3-9/"/>
<url>/2021/10/07/CNN3-9/</url>
<content type="html"><![CDATA[<h1 id="训练"><a href="#训练" class="headerlink" title="训练"></a>训练</h1><ul><li>100x100x3 image</li><li>y is 3x3x2x8<ul><li>2 = anchor boxes </li><li>8 = pc,x,y,w,h,c1,c2,c3</li></ul></li></ul><p><img src="https://i.loli.net/2021/10/07/ZgrOtPbfJS5iAvQ.png" alt="training.png"></p><h1 id="预测"><a href="#预测" class="headerlink" title="预测"></a>预测</h1><p><img src="https://i.loli.net/2021/10/07/wxerN4LufXTsRP9.png" alt="prediction.png"></p><h1 id="non-max-supressed"><a href="#non-max-supressed" class="headerlink" title="non-max supressed"></a>non-max supressed</h1><ul><li>预测后,每个grid cell里面都会有两个bounding box</li><li>删除一些pc值特别低的</li><li>对每个类别都用一次non-max suppression 来确定唯一的预测<br><img src="https://i.loli.net/2021/10/07/OTAMr9IckBPElan.png" alt="non-max supressed.png"></li></ul>]]></content>
<categories>
<category> 深度学习 </category>
</categories>
<tags>
<tag> 吴恩达CNN </tag>
</tags>
</entry>
<entry>
<title>3.8 Anchor Boxes</title>
<link href="/2021/10/07/CNN3-8/"/>
<url>/2021/10/07/CNN3-8/</url>
<content type="html"><![CDATA[<h1 id="问题"><a href="#问题" class="headerlink" title="问题"></a>问题</h1><ul><li>如何让同一个grid cell检测多个物体?</li><li>如果一个grid cell出现2个物体的中心点,怎么办?</li><li>使用Anchor Boxes</li></ul><h1 id="例子:图片中车与人的中心点重合"><a href="#例子:图片中车与人的中心点重合" class="headerlink" title="例子:图片中车与人的中心点重合"></a>例子:图片中车与人的中心点重合</h1><ul><li>2个中心点都在底层中间的grid cell里</li><li>y中的8个参数(pc, bx, by, bw, bh, c1, c2, c3),针对的一个类别的物体</li><li>2个物体的边界框相差很大,一个横长方形,一个竖长方形</li><li>改变target y的构造,叠加两个物体的8个值</li></ul><p><img src="https://i.loli.net/2021/10/07/cNdU2wLx5BEpkIe.png" alt="Anchor Boxes.png"></p><h1 id="如何判断到底哪一个anchor-box才是最合适的?"><a href="#如何判断到底哪一个anchor-box才是最合适的?" class="headerlink" title="如何判断到底哪一个anchor box才是最合适的?"></a>如何判断到底哪一个anchor box才是最合适的?</h1><p>选择IoU值最高的,重合度最高的</p><h1 id="两种少见的情况无法解决:"><a href="#两种少见的情况无法解决:" class="headerlink" title="两种少见的情况无法解决:"></a>两种少见的情况无法解决:</h1><ul><li>一个grid cell里面有三个物体,但只有两个anchor box</li><li>一个grid cell里面有两个物体,但2个anchor box重合</li></ul><h1 id="如何设置anchor-box?"><a href="#如何设置anchor-box?" class="headerlink" title="如何设置anchor box?"></a>如何设置anchor box?</h1><ul><li>人工预先设计几个尺寸的形状来覆盖所有要识别的物体</li><li>K-means算法,自动生成anchor box尺寸覆盖所有需要识别的物体</li></ul>]]></content>
<categories>
<category> 深度学习 </category>
</categories>
<tags>
<tag> 吴恩达CNN </tag>
</tags>
</entry>
<entry>
<title>3.7 非极大值抑制Non-max suppression</title>
<link href="/2021/09/28/CNN3-7/"/>
<url>/2021/09/28/CNN3-7/</url>
<content type="html"><![CDATA[<h1 id="需求"><a href="#需求" class="headerlink" title="需求"></a>需求</h1><p>输出有最大可能性的预测bounding box,确保每个目标只有一个结果</p><h1 id="示例"><a href="#示例" class="headerlink" title="示例"></a>示例</h1><ul><li>19x19grid</li><li>车辆的中心点只会在一个grid cell内</li><li>但每个grid cell都有权利或可能性认为自己拥有中心点</li><li>也就是有多个bouding box</li></ul><h1 id="具体算法"><a href="#具体算法" class="headerlink" title="具体算法"></a>具体算法</h1><ul><li>筛选掉pc≤0.6的</li><li>在剩余的boxes中(循环):<ul><li>选出最大pc的输出结果作为prediction</li><li>筛选掉剩余框中,IoU≥0.5的</li></ul></li></ul><blockquote><p>如果有n个类别需分别使用n次非极大值抑制</p></blockquote><p><img src="https://i.loli.net/2021/09/28/LkqmWnYJIvgxGUy.png" alt="Non-max suppression.png"></p>]]></content>
<categories>
<category> 深度学习 </category>
</categories>
<tags>
<tag> 吴恩达CNN </tag>
</tags>
</entry>
<entry>
<title>3.6 交并比loU函数</title>
<link href="/2021/09/28/CNN3-6/"/>
<url>/2021/09/28/CNN3-6/</url>
<content type="html"><![CDATA[<h1 id="评估object-detection"><a href="#评估object-detection" class="headerlink" title="评估object detection"></a>评估object detection</h1><ul><li>模型计算出来的bounding box离target bounding box的差距有多远</li><li>评估算法 = IoU = Intersection over union algo</li><li>该算法将localization转化为accuracy来评估localization效果的好坏</li><li>两个边界框的交集除以并集的比率</li><li>IoU值越高,output里target的bounding box越接近</li></ul><blockquote><p>0.5经常被作为一个临界值</p></blockquote><p><img src="https://i.loli.net/2021/09/28/gR6iMYlytqsOHaV.png" alt="IoU.png"></p>]]></content>
<categories>
<category> 深度学习 </category>
</categories>
<tags>
<tag> 吴恩达CNN </tag>
</tags>
</entry>
<entry>
<title>3.5 bounding box prediction</title>
<link href="/2021/09/28/CNN3-5/"/>
<url>/2021/09/28/CNN3-5/</url>
<content type="html"><![CDATA[<h1 id="bounding-box的问题"><a href="#bounding-box的问题" class="headerlink" title="bounding box的问题"></a>bounding box的问题</h1><ul><li>当前的处理方式是给定了窗口在图片上滑动</li><li>这些窗口无法精准地框住图中的车辆</li></ul><blockquote><p>论文 you only look once 2015</p></blockquote><h1 id="YOLO-algo"><a href="#YOLO-algo" class="headerlink" title="YOLO algo"></a>YOLO algo</h1><ul><li>能提供更准确的方框</li><li>这里简化3x3 grid(实例:19x19 grid)</li><li>9个图 ->classification & localization模型</li><li>target or label结构</li><li>input tensor 100x100x3</li><li>中间是CNN模型,卷积,池化…使之逐渐映射到output tensor 3x3x8</li><li>反向传播训练神经网络</li><li>这里的模型能准确构建boundingbox,而不是规则但不精准的窗口</li><li>19x19 grid的好处,2个物体出现在同一个grid cell的概率小了很多</li><li>计算更高效:一个卷积网络实现的,不需要3x3=9次</li><li>速度快,甚至能做实时处理</li></ul><p><img src="https://i.loli.net/2021/09/28/xGDsFbt1jQViyhm.png" alt="YOLO.png"></p><h1 id="细节:如何决定的边界框参数bx-by-bw-bh"><a href="#细节:如何决定的边界框参数bx-by-bw-bh" class="headerlink" title="细节:如何决定的边界框参数bx, by, bw, bh"></a>细节:如何决定的边界框参数bx, by, bw, bh</h1><ol><li>从grid cell出发<br>左上角(0,0)右下角(1,1)</li><li>bx, by必须在[0, 1]之间</li><li>bw, bh可以大于1</li></ol><p><img src="https://i.loli.net/2021/09/28/WRQBmSjHkoXPIU3.png" alt=" specify bounding box.png"></p>]]></content>
<categories>
<category> 深度学习 </category>
</categories>
<tags>
<tag> 吴恩达CNN </tag>
</tags>
</entry>
<entry>
<title>3.4 卷积滑动窗口预测</title>
<link href="/2021/09/28/CNN3-4/"/>
<url>/2021/09/28/CNN3-4/</url>
<content type="html"><![CDATA[<h1 id="目的:"><a href="#目的:" class="headerlink" title="目的:"></a>目的:</h1><ul><li>sliding window with conv net</li><li>解决上节设计的计算成本高,效率低的问题</li><li>解决方案第一步:最后三层FC层转化</li></ul><h1 id="如何将第一个FC层转化为conv层?"><a href="#如何将第一个FC层转化为conv层?" class="headerlink" title="如何将第一个FC层转化为conv层?"></a>如何将第一个FC层转化为conv层?</h1><ul><li>替换成一个5x5x16 filter400个</li><li>每个filter最input tensor只能扫描一次,生成一个值</li><li>400个filter,生成400个值</li><li>因为是conv计算,所以生成不是vector(400,) 而是tensor(1, 1, 400)</li></ul><h1 id="如何将第二个FC转化为conv层?"><a href="#如何将第二个FC转化为conv层?" class="headerlink" title="如何将第二个FC转化为conv层?"></a>如何将第二个FC转化为conv层?</h1><ul><li>替换成一个1x1x400 filter400个</li><li>filter=1x1x400 channel保持一致</li><li>filter个数为400,为了对应FC neurons个数</li></ul><p><img src="https://i.loli.net/2021/09/28/bA3EDWdrKSuM6y4.png" alt="全连接层转化为卷积层.png"></p><h1 id="变形好的CNN模型"><a href="#变形好的CNN模型" class="headerlink" title="变形好的CNN模型"></a>变形好的CNN模型</h1><ul><li>这里是4元分类<br>背景、car、motorcycle、行人<h1 id="测试数据"><a href="#测试数据" class="headerlink" title="测试数据"></a>测试数据</h1></li><li>16x16x3 shape</li><li>一个测试样本要截取出4张14x14x3尺寸的图片样本</li></ul><h1 id="上节课算法"><a href="#上节课算法" class="headerlink" title="上节课算法"></a>上节课算法</h1><ul><li>14x14x3的窗口分别通过conv模型计算四次</li><li>分别判断4张图里是否有任何一类物体</li><li>计算成本高,训练低效</li></ul><h1 id="算法的突破(结果)"><a href="#算法的突破(结果)" class="headerlink" title="算法的突破(结果)"></a>算法的突破(结果)</h1><ul><li>发现4次计算中有大量重复内容</li><li>只用一张测试样本原图16x16x3</li><li>同样的weights, filter size, 数量</li><li>一次计算,完成上面的4次计算结果</li><li>不同的是,layer output size变大了</li><li>16x16x3 ->4截图->2x2</li><li>28x28x3->64截图->8x8</li><li>中间层的output shape 可以有现成公式推导计算</li></ul><h1 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h1><ul><li>不在输入图像的子图像上分别进行前向传播</li><li>而是合并成一个前向传播运算,利用共同区域共享了大量运算</li></ul><p><img src="https://i.loli.net/2021/09/28/BVUEon9b7c8Luh6.png" alt="sliding window with conv net.png"></p>]]></content>
<categories>
<category> 深度学习 </category>
</categories>
<tags>
<tag> 吴恩达CNN </tag>
</tags>
</entry>
<entry>
<title>3.3 object detection</title>
<link href="/2021/09/27/CNN3-3/"/>
<url>/2021/09/27/CNN3-3/</url>
<content type="html"><![CDATA[<h1 id="car-detection"><a href="#car-detection" class="headerlink" title="car detection"></a>car detection</h1><ol><li>classification model<ul><li>car closely cropped image, label</li><li>cnn model for car classification</li></ul></li><li>滑动窗口检测<ul><li>sliding window<ul><li>filter</li><li>stride</li></ul></li><li>window_image ->model<ul><li>0, 1 car or not</li></ul></li><li>设计多尺寸sliding windows<ul><li>确保能找到物品</li><li>filter size</li><li>stride size</li></ul></li></ul></li></ol><h1 id="存在的问题"><a href="#存在的问题" class="headerlink" title="存在的问题"></a>存在的问题</h1><ul><li>每个filter是一个CNN模型 <ul><li>计算远大于简单的线性运算</li></ul></li><li>filter, stride小而细致<ul><li>一个样本,扫描次数太多</li><li>计算成本太高,速度太慢</li></ul></li><li>filter大,stride大<ul><li>一个样本,扫描次数下降了</li><li>但精准度下降</li></ul></li></ul><p><img src="https://i.loli.net/2021/09/27/DO5cxm4obn3JTSM.png" alt="sliding windows detection.png"></p>]]></content>
<categories>
<category> 深度学习 </category>
</categories>
<tags>
<tag> 吴恩达CNN </tag>
</tags>
</entry>
<entry>
<title>3.2 特征点检测 landmark detection</title>
<link href="/2021/09/27/CNN3-2/"/>
<url>/2021/09/27/CNN3-2/</url>
<content type="html"><![CDATA[<h1 id="什么是-landmark-detection"><a href="#什么是-landmark-detection" class="headerlink" title="什么是 landmark detection"></a>什么是 landmark detection</h1><ul><li><p>localization:</p><ul><li>bounding box: 4 values</li><li>centre, width, height</li></ul></li><li><p>更细致的localization需求:</p><ul><li>识别人脸,人体态</li><li>远超出centre, width, height</li><li>需要更多的关键点识别组合</li></ul></li><li><p>花费大量人力标注,顺序不能乱</p></li></ul><p><img src="https://i.loli.net/2021/09/27/1R6qbN4nYXfCPpl.png" alt="landmark detection.png"></p>]]></content>
<categories>
<category> 深度学习 </category>
</categories>
<tags>
<tag> 吴恩达CNN </tag>
</tags>
</entry>
<entry>
<title>3.1 目标定位 object localization</title>
<link href="/2021/09/27/CNN3-1/"/>
<url>/2021/09/27/CNN3-1/</url>
<content type="html"><![CDATA[<h1 id="Object-Localization"><a href="#Object-Localization" class="headerlink" title="Object Localization"></a>Object Localization</h1><ul><li>Image classification:只识别图中一个物品的类别</li><li>Classification with localization:只识别图中一个物品的类别,给物体边沿画一个方盒子</li><li>Detection:识别图中多个物品(甚至多类别),给每个物品边沿画一个方盒子</li></ul><p><img src="https://i.loli.net/2021/09/27/5OnepIxQoNWHAZu.png" alt="localization and detection"></p><h1 id="Classification"><a href="#Classification" class="headerlink" title="Classification"></a>Classification</h1><ul><li>Input</li><li>CNN(modle)</li><li>label(类别,比如1-4)</li><li>output(softmax输出1-4不同类别的概率)</li></ul><h1 id="Localization"><a href="#Localization" class="headerlink" title="Localization"></a>Localization</h1><ul><li>supervised learning(有监督学习)</li><li>label<ul><li>1-4 classes</li><li>location(中心点、宽、高):bx、by、bw、bh</li></ul></li></ul><p><img src="https://i.loli.net/2021/09/27/U2PLW8CJwlFuxr4.png" alt="Classification with localization"></p><h1 id="Defining-the-target-label-y"><a href="#Defining-the-target-label-y" class="headerlink" title="Defining the target label y"></a>Defining the target label y</h1><ul><li><p>target y:vector of 8 values</p><ul><li>pc:background or objects</li><li>bx、by、bw、bh:box location</li><li>c1,c2,c3:0 or 1(类别)</li></ul></li><li><p>example:</p><ul><li>x: car,y: 1, bx, by, bw, bh, 0, 1, 0</li><li>x: scene,y: 0, ?, ?, ?, …</li></ul></li></ul><blockquote><p>pc:先决条件,节省计算</p></blockquote><ul><li>Loss:squared error(均方差)<br>L = (y_pred - y)的平方<ul><li>Log-likelihood Loss: c1, c2, c3</li><li>squared error: bx, by, bw, bh</li><li>logistic regression: pc</li></ul></li></ul><p><img src="https://i.loli.net/2021/09/27/aIWwhvUSAmCDdZe.png" alt="Defining the target label y.png"></p>]]></content>
<categories>
<category> 深度学习 </category>
</categories>
<tags>
<tag> 吴恩达CNN </tag>
</tags>
</entry>
</search>