- 博客(18)
- 资源 (1)
- 收藏
- 关注
原创 Yolov4网络代码Pytorch
import torchimport torch.nn as nnimport torch.nn.functional as Ffrom torchsummary import summary# Mish = x*tanh(ln(1+e^x))class Mish(nn.Module): def __init__(self): super().__init__() def forward(self, x): x = x * (torch.ta
2021-01-26 22:11:22
435
原创 浅谈人脸检测MTCNN以及Pytorch代码
MTCNN网络架构分析P-net 从总体看,网络是全卷积结构,优点是可以输入任意大小的的图片(针对侦测的时候)。训练的时候输入尺寸是12*12,然后经过3*3的卷积核和池化到1*1*32的过程中都是通道增加的,也就是特征融合的过程。最后分3个类别做输出一个是置信度、一个是边框的偏移量,另一个是十个关键点的位置。R-net 首先R-net是卷积+全链接结构,代表着输入图片大小固定只能是24*24。然后经过卷积池化到特征图3*3*64同样为特征融合过程,最后res...
2021-01-14 17:42:06
883
3
原创 Pytorch完整训练猫狗分类基本代码
import osimport torchfrom torch.utils import datafrom PIL import Imageimport numpy as npimport torch.nn as nnimport numpy as npfrom torch.utils import data# 定义一个类返回数据长度给dataLoader使用,还返回标签和数据class dataset(data.Dataset): def __init__(self,pat.
2021-01-09 14:00:11
1547
2
原创 人脸识别 ArcFace 实现
为什么用ArcFace前一篇文章已经提到了问什么不能直接用softmax loss做损失,是因为类与类之间交界处不容易分开,而center loss能把他分开是因为缩小了类内距,就是给每一个中心点,让每个类中的特征点无限向中心点靠拢。缩小类内距的同时,简介缩小了类间距。而ArcFace是直接缩小了类间距。下面是我用mnist数字十分类做的直接用softmax loss和arcFace做的效果图...
2019-10-10 11:00:06
1407
1
原创 人脸识别 Center Loss及实现
Center Loss为什么用Center Loss?首先要声明的是Center Loss主要用于做人脸的识别,那么为什么不用softmax对人脸直接分类呢?因为人脸之间的特征是十分相似的,在类与类之间的交界处是很难区分开的,换句话说softmax分类两张人脸得到的概率值都是0.5左右,导致分类结果不准确。那么怎么把这种交界处区分开呢?有两种方法:1、第一种扩大类间距,2、第二种扩大类内距。C...
2019-10-08 12:56:30
653
原创 机器学习 性能度量
1 混淆矩阵代码分析# 性能度量方法# In[]import numpy as npimport pandas as pd# 读入数据,为dataframe格式data_dir = 'F:/2019-notebook/2017_2018_2/python_code/MTrain/MachineLearn/3_ML/1.6/'df = pd.read_csv(dat...
2019-10-05 20:28:55
182
原创 机器学习 评估方法
1 留出法2 交叉验证3 自助法4 调参与最终模型python实现以上# In[]#import numpy as np#import pandas as pdimport numpy as npimport pandas as pd# 读入数据,为dataframe格式df = pd.read_csv('iris.data', header...
2019-10-05 19:56:52
231
原创 机器学习 经验误差与过拟合
经验误差与过拟合1 经验误差2 过拟合如图很好的解释了过拟合和欠拟合为什么会过拟合或欠拟合从方差和偏差的角度理解过拟合和欠拟合:上图中红色圆圈代表目标值,蓝色点代表预测值。从训练,验证的角度看过拟合和欠拟合。高方差一般是过拟合的情况,这里的方差一般指训练集的精度和验证集精度方差,在没有欠拟合的情况下,高方差代表训练集的精度和验证集精度相差较大。此时一般是过拟合。从回...
2019-10-01 23:26:44
327
原创 多目标检测与识别 YOLOV3 解读四 反算
YOLOV3的反算1.1 怎么造的样本前面已经讲了怎么造的样本,我们这里回顾一下。1.标注目标位置(xmin,ymin,xmax,ymax),并算出中心点坐标、宽高(cx,cy,w,h)2.中心点坐标除以图片的宽高(cx/size(0),cy/size(2),w/size(0),h/size(1))然后resize(416,416)3.把(cx/size(0),cy/size(2),w/...
2019-10-01 21:12:40
521
原创 多目标检测与识别 YOLOV3 解读3 网络结构及实现(PyTorch)
网络结构Darknet 53一、从整体上看,网络一共有152层,分为两个网络,一个是提取特征的网络,另一个是侦测网络。先看特征提取网络,1、全部用的是1 * 1和3 * 3 的卷积核加残差,这也是为什么能把网络加深的原因。2、网络用卷积代替池化,让特征充分被提取,池化主要是用来快速压缩信息的,会丢失信息,用在这里提特征不合适。3、开始阶段传入图片较大,计算量也较大,所以用少量的残差块,通...
2019-09-28 17:21:24
858
原创 多目标检测与识别 YOLOV3 解读2 样本制作
YOLOv31.1样本制作前一篇文章已经总结了,要检测识别多目标,需要这几样东西。1.建议框和真实框的相对位置 2 中心点 3 iou(建议框和真实框) 4 cls(类别)如果自己做样本,就先用标注软件得到框的左上角和右下角的坐标点,然后算出中心点的坐标和宽高。由于yolov3输入图片大小必须是416416的。所以得到中心点和宽高不能直接resize,而是先应该用cx/size(0),cy...
2019-09-28 16:34:25
644
原创 多目标检测与识别 YOLOV3 解读1 怎么检测到物体
1 怎么检测到物体的?1.1 为什么不直接用中心点、宽、高定位目标一般来说,要检测物体就要定位物体,我们一般通过中心点、宽、高来定位,但是我们一般不让神经网络直接学习宽、高。为什么?请看下图:上面有两个框,一个大框一个小框,如果用神经网络直接学习宽、高,在设计损失的时候就会遇到问题,当损失很小的时候,对于大框而言位置会发生较小的偏移,但是对于小框而言,在相同的损失下小框的位置就会发生较大的...
2019-09-27 12:03:10
2420
2
原创 经典网络总结1 LeNet-5
经典网络总结1 LeNet-51.1 模型介绍LeNet-5是由LeCun提出的一种用于识别手写数字和机器印刷字符的卷积神经网络(ConvolutionalNeural Network,CNN) ,其命名来源于作者LeCun的名字,5则是其研究成果的代号,在LeNet-5之前还有LeNet-4和LeNet-1鲜为人知。LeNet-5阐述了图像中像素特征之间的相关性能够由参数共享的卷积操...
2019-09-25 10:43:35
348
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人