Pytorch_net_深度学习的网络结构
Posted 辰令
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pytorch_net_深度学习的网络结构相关的知识,希望对你有一定的参考价值。
关键词
目标检测用bbox,实例分割用mask,姿态估计用keypoint
bbox 用一个anchor点和指向极值点的四根向量就能确定目标框
mask 一个anchor点和指向轮廓点的n个向量确定mask
keypoint 用一个anchor点和指向17个关键点点的17个向量确定pose。heatmap预测关键点的方式
face landmark 人脸特征点检测 人脸72个关键点, 主要分布在五官和人脸轮廓,对眼、鼻、嘴唇、及脸型轮廓的描绘。
现在升级为150个关键点,更加细腻了
人脸标定 Face Landmark
车牌识别 License Plate Recognition
手势识别 Hand Gesture Recognition
数据标注--数据采集-数据筛选-预处理-规整
模型训练、评测、调整、修剪和导出模型,以进行部署
训练、剪枝、再训练+
training inference
目标检测
###detector=backbone + neck + head
backbone部分的网络就是负责从图像中提取特征。
neck是放在backbone和head之间的,是为了更好的利用backbone提取的特征。
head这一部分的作用就是用于分类+定位
backbone - 骨干
目标检测和图像分类这两个任务具有一定的相似性,
可以将分类的网络,比如VGG、ResNet等,用来做特征提取器称其为backbone。
也许他们对图像中目标的位置不够敏感,但至少他们能够提取出图片中目标的类别特征。
neck:
neck这部分的作用就是更好地融合/提取backbone所给出的feature,然后再交由后续的head去检测,从而提高网络的性能。
head
分类+定位 检测头,用于预测目标的类和Box
head才是决定能否将这些特征转换为我们真正需要的bbox参数和class参数
YOLOv4
输入端 采用mosaic数据增强,
Backbone 采用了CSPDarknet53、Mish激活函数、Dropblock等方式,
Neck 采用了SPP、FPN+PAN的结构,
输出端 采用CIOU_Loss、DIOU_nms操作
数据增强:
Mosaic数据增强方法是YOLOV4论文中提出来的,主要思想是将四张图片进行随机裁剪,再拼接到一张图上作为训练数据。
这样做的好处是丰富了图片的背景,并且四张图片拼接在一起变相地提高了batch_size
Mixup Cutout CutMix
YOLOv5 分别使用 CSPDarknet53+SPP为Backbone,PANet为Neck, YOLO检测Head。
Yolov5代码中给出的网络文件是yaml格式,原本Yolov3、Yolov4中的cfg
Yolov5s网络是Yolov5系列中深度最小,特征图的宽度最小的网络
Vision Transformer(ViT)
视觉 Transformer (ViT)-- 构建图像到矢量的转换并保持图像的特征
detector= CNN骨干网+编码器-解码器transformer+一个简单的前馈网络
作为颈部(neck)的 Transformer
作为主干(backbone)的 Transformer
Transformer Prediction Heads(TPH)
分割:
基于 patch 的 Transformer (patch-based Transformer)和基于查询的 Transformer (query-based Transformer)
参考
目标检测中的数据增强、backbone、head、neck、损失函数 https://blog.csdn.net/qq_34437210/article/details/106932193?spm=1001.2014.3001.5501
以上是关于Pytorch_net_深度学习的网络结构的主要内容,如果未能解决你的问题,请参考以下文章
Nature 亮点丨精确预测蛋白结构可以依赖Google吗?DeepMind团队开发新型深度学习算法精确预测蛋白结构