区域卷积神经网络(R-CNN)系列区域卷积神经网络(region-based CNN或regions with CNN features,R-CNN)
R-CNN
R-CNN首先从输入图像中选取若干(例如2000个)提议区域(如锚框也是一种选取方法),并标注它们的类别和边界框(如偏移量)。
然后,用卷积神经网络对每个提议区域进行前向传播以抽取其特征。
用每个提议区域的特征来预测类别和边界框...
单发多框检测(SSD)与yolo通过多尺度特征块,单发多框检测生成不同大小的锚框,并通过预测边界框的类别和偏移量来检测大小不同的目标
yolo 也是一个 single-stage 的算法,只有一个单神经网络来做预测yolo 也需要锚框,这点和 SSD 相同,但是 SSD 是对每个像素点生成多个锚框,所以在绝大部分情况下两个相邻像素的所生成的锚框的重叠率是相当高的,这样就会导致很大的重复计算...
图像增广常用图像增广方法12345678d2l.set_figsize()img = d2l.Image.open('../img/cat1.jpg')d2l.plt.imshow(img);def apply(img, aug, num_rows=2, num_cols=4, scale=1.5): Y = [aug(img) for _ in range(num...
微调微调步骤
在源数据集(例如ImageNet数据集)上预训练神经网络模型,即源模型。
创建一个新的神经网络模型,即目标模型。这将复制源模型上的所有模型设计及其参数(输出层除外)。我们假定这些模型参数包含从源数据集中学到的知识,这些知识也将适用于目标数据集。我们还假设源模型的输出层与源数据集的标签密切相关;因此不在目标模型中使用该层。
向目标模型添加输出层,其输出数是目标数据集中的类别数...
样式迁移什么是样式迁移自动将一个图像中的风格应用在另一图像之上一张是内容图像,另一张是风格图像,使用神经网络修改内容图像,使其在风格上接近风格图像
样式迁移方法正向传播(实线箭头方向)反向传播(虚线箭头方向)第一层和第三层的输出被作为图像的样式特征第二层输出图像的内容特征损失函数构成:内容损失(content loss)使合成图像与内容图像在内容特征上接近样式损失(style loss)令合...
语义分割和数据集语义分割可以识别并理解图像中每一个像素的内容:其语义区域的标注和预测是像素级的
语义分割与目标检测
应用场景
小结
语义分割通过将图像划分为属于不同语义类别的区域,来识别并理解图像中像素级别的内容。
语义分割的一个重要的数据集叫做Pascal VOC2012。
由于语义分割的输入图像和标签在像素上一一对应,输入图像会被随机裁剪为固定尺寸而不是缩放。
转置卷积在空间维度被卷积神经网络层缩小后,可以使用转置卷积用于逆转下采样导致的空间尺寸减小。
基本操作
填充、步幅和多通道
与矩阵变换的联系
小结
与通过卷积核减少输入元素的常规卷积相反,转置卷积通过卷积核广播输入元素,从而产生形状大于输入的输出。
我们可以使用矩阵乘法来实现卷积。转置卷积层能够交换卷积层的正向传播函数和反向传播函数。
锚框以每个像素为中心,生成多个缩放比和宽高比(aspect ratio)不同的边界框。 这些边界框被称为锚框(anchor box)
生成多个锚框
指定输入图像、尺寸列表和宽高比列表,然后此函数将返回所有的锚框
1234567891011121314151617181920212223242526272829303132333435363738#@savedef multibox_prior...
多GPU训练方法
第一种方法,在多个GPU之间拆分网络。 也就是说,每个GPU将流入特定层的数据作为输入,跨多个后续层对数据进行处理,然后将数据发送到下一个GPU。 与单个GPU所能处理的数据相比,我们可以用更大的网络处理数据。 此外,每个GPU占用的显存(memory footprint)可以得到很好的控制,虽然它只是整个网络显存的一小部分。
第二种方法,拆分层内的工作。 例如,将问题分...