12 2020 档案

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