深度学习
Zzzz26~
数学硕士,自动驾驶工程师
展开
-
CCPD数据转成YOLO v5数据格式
import cv2import os#参考 https://blog.csdn.net/qq_36516958/article/details/114274778# https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data#2-create-labels# path = "/public/ccpd_green/test/"path = "/public/CCPD2019/ccpd_challenge/"for filena.原创 2021-08-04 17:57:13 · 2476 阅读 · 1 评论 -
不要使用pip在conda环境下安装tensorflow
不要使用pip在conda环境下安装tensorflow,原因是pip安装在conda外面,不同虚拟环境下都会是这个pip安装的环境。举个例子,在tensorflow2.2环境下用pip安装tensorflow2.2,那么tensorflow1.15环境下也会变成tensorflow2.2。不同环境下能共用的包可以用pip安装,比如numpy,tensorflow plot等等。...原创 2021-01-31 11:04:08 · 423 阅读 · 0 评论 -
机器学习和深度学习中,L2正则化为什么能防止过拟合?
正则化是为了降低模型的复杂度,模型过于复杂,则过拟合;与傅里叶变换类似,高频的部分表示细节,尽量减少高频部分的影响;傅里叶级数也是,高阶表示细节;当阶数较高时,在不降低拟合结果的前提下,降低高阶项的系数;高阶部分的系数会很小,但不一定是0,所以用0-范数不合适,用1-范数或2-范数。参考:https://www.zhihu.com/question/389848505/answer/1179908586...原创 2020-11-28 12:01:24 · 1200 阅读 · 0 评论 -
faster rcnn 在feature map上面生成anchor过程
首先,以左上角的[0,0,15,15]为基准框,在保证面积不变的前提下,把框的宽和高分别做成0.5:1,1:1,1:2三种模式,得到三个anchor(是一个3*4矩阵);第二步,把上一步得到的三个anchor分别放缩8倍、16倍、32倍。原图在vgg16网络中经过4个池化层,所以feature map 的大小是原图的1/16。通过以上两步得到左上角那个feature的9个anchor。由于anchor是在原图上面画框,所以接下来,用meshgrid方法构造出feature map的点在原图上的相原创 2020-11-15 09:38:59 · 551 阅读 · 0 评论 -
faster rcnn 中的 region proposal函数(proposal_layer、anchor_target_layer、proposal_target_layer)
首先,用初始化卷积核(9*2和9*4个)对vgg16生成的feature map(512通道)做卷积,得到没有实际意义[1]的rpn_cls_score和rpn_bbox_pred,之后再根据相应的loss反向传播,更新卷积核。rpn_cls_score是判断框是前景/背景,rpn_bbox_pred是预测bounding box和ground truth之间的偏移量delta。利用softmax函数把rpn_cls_score归一化,得到框属于前景/背景的概率,使前景/背景的概率总和等于1。feature原创 2020-11-16 22:58:38 · 377 阅读 · 0 评论 -
非线性激活函数的理解
根据万能逼近定理(Universal Approximation Theory),神经网络能以任意精度逼近连续函数。训练神经网络时,先随机初始化卷积核参数,把卷积层的结果输入激活函数层,达到某个阈值则激活该神经元,否则设置为0(ReLU),之后进入池化层。把池化层的输出与真值相减,得到损失函数loss,沿着loss的负梯度方向反向传播,更新卷积核参数。...原创 2020-11-19 22:28:49 · 601 阅读 · 0 评论 -
faster rcnn _crop_pool_layer理解
# region of interest pooling if cfg.POOLING_MODE == 'crop': pool5 = self._crop_pool_layer(net_conv, rois, "pool5") def _crop_pool_layer(self, bottom, rois, name): with tf.variable_scope(name) as scope: batch_ids = tf.squeeze(tf.原创 2020-11-23 15:31:20 · 325 阅读 · 0 评论 -
faster rcnn 损失函数
损失函数分为框预测回归和分类loss,每个都分为rpn和rcnn。rpn损失:_anchor_target_layer 给图像内部的anchors分配rpn_labels(1或0,前景或背景),再和rpn_cls_score做交叉熵,此时只关注物体是前景/背景,不管物体的类别rpn_cross_entropy = tf.reduce_mean( tf.nn.sparse_softmax_cross_entropy_with_logits(logits=rpn_cls_score原创 2020-11-25 23:29:54 · 1521 阅读 · 0 评论 -
faster rcnn 图像识别三大步骤
三大步骤分别是识别、分割、分类。识别:识别是为了得到rois(region of interests,即感兴趣的区域)。首先在卷基层提取特征,再在每个特征上生成anchor[1],把anchor在_region_proposal [2]做识别,提取部分anchor得到rois。分割:上一步中的anchor是相对于原图的,rois自然也是相对于原图的,通过放缩[3],得到rois相对于特征图的位置,并把特征图上对应的特征截取出来[3]。分类:得到rois的特征之后,把特征输入全连接层做分类。.原创 2020-11-28 08:21:56 · 962 阅读 · 0 评论