12 2020 档案
摘要:对于语义分割网络,其输出为(b, h, w, classes),对索引求最大值,得到维度为(b, h, w, 1) 相对于得到一个灰度图,其亮度值为类别index。因为类别值为[1, num_classes], 如果对输出 结果直接显示,会的到一副纯黑的图。 所以需要进行预测结果可视化 将预测结果转
阅读全文
摘要:name id trainId category catId hasInstances ignoreInEval color unlabeled' , 0 , 255 , 'void' , 0 , False , True , ( 0, 0, 0) ),ego vehicle' , 1 , 255
阅读全文
摘要:1. pix_accuracy 比较预测值的每个像素和实际值的每个像素,若二者相等,则代表预测正确 总数量为实际值的像素总数,求二者比值,即为准确率 def batch_pix_accuracy(predict, target, labeled): pixel_labeled = labeled.s
阅读全文
摘要:1. 交叉熵损失 语义分割时相当于对每个像素进行分类,所以实际是一个分类任务 对每一个像素的预测值与实际值比较,将损失求平均,是所以最常用的还是交叉熵损失 self.CE = nn.CrossEntropyLoss(weight=weight, ignore_index=ignore_index,
阅读全文
摘要:在语义分割中,要求输入输出的分辨率一样大 在特征提取的时候,需要进行下采样,所以在encode过程中,要进行相应的上采样。 上采样,即扩充图像的h和w。 常见的上采样方法有双线性插值、转置卷积、上采样(unsampling)和上池化(unpooling)。 其中前两种方法较为常见,后两种用得较少。
阅读全文
摘要:ResNet 主干特征提取 残差网络根据堆叠的层数不同,采用两个不同的单元。 ResNet(BasicBlock, [2, 2, 2, 2], **kwargs) //18 ResNet(BasicBlock, [3, 4, 6, 3], **kwargs) // 34 ResNet(Bottlen
阅读全文
摘要:RNN:循环神经网络,用于处理序列信息,即有上下文关系的信息 RNN中会把上一层处理后的信息作为输入传入到下一层,这样,这一层 就会同时考虑此时的输入和上一个时刻的输入,做到处理序列信息。 按时间线展开 其中各个时间点具有同一个W,U,V,这也是RNN的权值共享。 RNN接受的输入的特征为(b, n
阅读全文
摘要:1.数据预处理 数据格式为图像数据,标签为图像名称,图像名称中包含车牌位置+车牌号 1.1 图像数据 图像resize相同大小(480*480),并做归一化。 img_name = self.img_paths[index] img = cv2.imread(img_name) # img = im
阅读全文
摘要:1. 加载model及训练权重 self.num_classes = len(self.class_names) + 1 self.model = SSD300((300,300,3), self.num_classes) self.model.load_weights('ssd_model.h5'
阅读全文
摘要:SSD损失分为两部分,类别损失和回归框位置损失 其中,类别损失采用softmax损失,回顾框损失采用l1——smooth损失。 1. softmax损失: def _softmax_loss(self, y_true, y_pred): y_pred = tf.maximum(y_pred, 1e-
阅读全文
摘要:SSD采用改造的VGG16加额外4个特征层,实现总体的特征提取,生成不同大小的feature_map 改造FC6 和FC7,采用卷积而不是全连接,生成19*19 的feature_map, 额外增加4个卷积层,生成10*10, 5*5, 3*3, 1*1 的feature_map, 其中conv4_
阅读全文
摘要:既然要依靠先验框来回归真实框,要确定两个问题,用哪个先验框来回归真实框,如何回归真实框 1. 用哪个先验框回归真实框 哪个先验框与真实框接近,就用哪个先验框来回归真实框,我们用iou来衡量接近,一般取阈值为0.5, 如果先验框与真实框iou大于0.5,我们用这个先验框来回归这个真实框,准确来说时这些
阅读全文
摘要:SSD是常用的one_stage目标检测算法。目标检测直白理解就是用框取框图片中的各个位置,如果能框到目标,且目标的边界正好与框的边界重合 则说明检测到一个目标。如果我们用各种各样的框逐像素移动,那么肯定可以很快的检测到目标,但是这样就带来一个问题,各种各种的框,逐像素移动,就意味着无数个框, 这样
阅读全文
摘要:1. 混淆矩阵 对于一个分类器(二分类),预测结果和真实情况总共存在四种情况, 预测值分为正类、负类,真实值分分为正类、父类,两两组合,共有四种情况,如下所示,即组成一个混淆矩阵 针对多分类问题,真实情况有N类,预测情况有N类,所以其混淆矩阵为NXN 2.Accuracy 准确率即为所有预测正确的样
阅读全文
摘要:目标检测模型的好坏通常用mAP和FPS来评价,一个代表准确度,一个代表速度。 mAP的评价指标确切的说无模型无关。 mAP--mean Average Precision. 我们用Precision表示模型预测的精度,即模型预测的所有正例中真正正例的比例 用recall表示模型的召回率,即模型预测的
阅读全文
摘要:运用训练好的模型进行目标检测,模型输出为中心点对grid的偏移,长宽相对于anchor的缩放比例以及类别 其维度为(b, 13, 13, 3, classes+5) 1. 根据(x, y, h, w)计算出预测框相对于原图像的位置和大小 def yolo_correct_boxes(box_xy,
阅读全文
摘要:1. 数据增强 基于图像的深度学习算法,通常需要数据增强,比较常规的就是图片翻转,图片旋转,图像裁剪 在目标检测中,对图片进行变换,还会涉及到框的变化,尤其时对图像进行resize成相同大小时,需要对框进行相应的缩放 1.1读取图像&读取框(目标位置) image = Image.open(line
阅读全文
摘要:1. CNN参数 params(w) = co* (ci * kw * kh) params(b) = co 所以总的参数量为 params = co* (ci * kw * kh + 1) 当使用了BatchNormalization时,不需要bias 2. CNN计算量 FLOPs (乘法) =
阅读全文
摘要:yolov4的网络模型主要分为4个部分 1. 主干特征提取网络,CSPDarkent53 相比 yolov3的Darknet53, yolov4的CSPDarknet53网络有如下特点 1.1 Msih激活函数 Mish = x * K.tanh(K.softplus(x)) 其中:softplus
阅读全文
摘要:损失函数 yolo损失分为3个部分类别损失、置信度损失、位置损失 1. 类别损失 只有有目标的地方才会有类别判断,从而才会有类别损失,所以需要解决两个问题:1.有目标的地方;2.类别损失 1.1有目标的地方:object_mask object_mask根据 y_true(真实值)确定,如何通过前处
阅读全文

浙公网安备 33010602011771号