文章归档
语义分割
语义分割 在语义分割中,每个像素根据其所属物体的类别(例如,道路、汽车、行人、建筑物等)进行分类。例如分割图像右侧的所有自行车都变成了一大块像素。此任务的主要困难在于,当图像通过常规CNN时,它们会逐渐失去其空间分辨率(由于步幅大于1的层),因此常规的CNN可能最终会知道在图像的左下角有一个人,但不会比这更精…Read more ⟶YOLO
YOLO YOLO是Joseph Redmon等人在2015年的论文中提出的一种极其快速、准确的物体检测架构随后在2016年(YOLOv2)和2018(YOLOv3)中进行了改进。 YOLOv3的架构和全卷积网络的架构非常相似,但有一些重要的区别: - 它为每个网格单元输出5个边界框(而不是一个),并且每个边…Read more ⟶全卷积网络
全卷积网络 FCN的概念由Jonathan Long等人在2015年发表的论文中首次提出,用于语义分割(根据图像所属物体的类别对图像中的每个像素点进行分类的任务)。作者指出,可以用卷积层代替CNN顶部的密集层。 假设一个具有200个神经元的密集层位于一个卷积层的顶部,该卷积层输出100个特征图,每个特征图的大…Read more ⟶物体检测
物体检测 在图像中对多个物体进行分类和定位的任务称为物体检测。一种通用的方法是采用经过训练的CNN来对单个物体进行分类和定位,然后将其在图像上滑动。 这项技术非常简单直观,但是它将多次检测同一物体,但位置略有不同。然后需要进行一些后期处理,以消除所有不必要的边界框。一种常见的方法称为非极大抑制。以下是操作方式…Read more ⟶分类与定位
分类与定位 定位图片中物体可以表示为回归任务:预测物体周围的边界框,一种常见的方法是预测物体中心的水平坐标和垂直坐标,还有其高度和宽度。这意味着有四个数字要预测。它不需要对模型进行太多修改,只需要添加四个具有单位的第二个密集输出层(通常在全局平均池化层之上),就可以使用MSE损失对其进行训练: 花朵数据集在花…Read more ⟶迁移学习的预训练模型
迁移学习的预训练模型 如果想构建图像分类器但没有足够的训练数据,那么重用预训练模型的较低层通常是个好办法。例如,训练模型来对花的图片进行分类,并使用预先训练的Xception模型。首先,使用TensorFlow Datasets加载数据集: 可以通过设置with info=True获取有关数据集的信息。在这里…Read more ⟶使用Keras的预训练模型
使用Keras的预训练模型 通常,无需手动实现像GoogLeNet或ResNet这样的标准模型,因为在keras.applications包中只需一行代码即可获得预训练的网络。 例如,使用以下代码加载在ImageNet上预训练的ResNet-50模型: 这会创建一个ResNet-50模型并下载在ImageNe…Read more ⟶CNN架构
CNN架构 典型的CNN架构堆叠了一些卷积层(通常每个卷积层都跟随着一个ReLU层),然后是一个池化层,然后是另外几个卷积层(+ReLU),然后是另一个池化层,以此类推。随着卷积网络的不断发展,图像变得越来越小,但是由于卷积层的存在,图像通常也越来越深(即具有更多的特征图)。在堆栈的顶部添加了一个常规的前馈神…Read more ⟶身份证号校验(Python123)
身份证号校验 描述 中国目前采用的是18位身份证号,其第7-10位数字是出生年,11-12位是出生月份,13-14是出生日期,第17位是性别,奇数为男性,偶数为女性,第18位是校验位。 如果身份证号码的其中一位填错了(包括最后一个校验位),则校验算法可以检测出来。如果身份证号的相邻2位填反了,则校验算法可以检…Read more ⟶计算圆周率(Python123)
计算圆周率 描述 根据下面的泰勒级数关系式,求圆周率的值,当最后一项的值小于给定阈值时结束。 输入格式 输入在一行中给出小于1且大于0的阈值。 输出格式 在一行中输出满足阈值条件的近似圆周率,输出到小数点后6位。 代码Read more ⟶求e的近似值(Python123)
求e的近似值 描述 自然常数e可以用级数1+1/1!+1/2!+⋯+1/n!来近似计算。 本题要求对给定的非负整数n,…Read more ⟶判断是否直角三角形
判断是否直角三角形 描述 输入三个数a,b,c, 判断能否以它们为三个边长构成直角三角形。若能,输出YES,否则输出NO。 输入格式 输入包括三行,每行是一个数字 输出格式 'YES' 或'NO' 代码Read more ⟶