摘要: 对于语义分割网络,其输出为(b, h, w, classes),对索引求最大值,得到维度为(b, h, w, 1) 相对于得到一个灰度图,其亮度值为类别index。因为类别值为[1, num_classes], 如果对输出 结果直接显示,会的到一副纯黑的图。 所以需要进行预测结果可视化 将预测结果转 阅读全文
posted @ 2020-12-27 17:03 learningcaiji 阅读(3351) 评论(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 阅读(2951) 评论(1) 推荐(0) 编辑
摘要: 1. pix_accuracy 比较预测值的每个像素和实际值的每个像素,若二者相等,则代表预测正确 总数量为实际值的像素总数,求二者比值,即为准确率 def batch_pix_accuracy(predict, target, labeled): pixel_labeled = labeled.s 阅读全文
posted @ 2020-12-26 22:46 learningcaiji 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 1. 交叉熵损失 语义分割时相当于对每个像素进行分类,所以实际是一个分类任务 对每一个像素的预测值与实际值比较,将损失求平均,是所以最常用的还是交叉熵损失 self.CE = nn.CrossEntropyLoss(weight=weight, ignore_index=ignore_index,  阅读全文
posted @ 2020-12-26 19:15 learningcaiji 阅读(2141) 评论(0) 推荐(0) 编辑
摘要: 在语义分割中,要求输入输出的分辨率一样大 在特征提取的时候,需要进行下采样,所以在encode过程中,要进行相应的上采样。 上采样,即扩充图像的h和w。 常见的上采样方法有双线性插值、转置卷积、上采样(unsampling)和上池化(unpooling)。 其中前两种方法较为常见,后两种用得较少。 阅读全文
posted @ 2020-12-26 12:45 learningcaiji 阅读(2904) 评论(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 阅读(1429) 评论(0) 推荐(0) 编辑
摘要: RNN:循环神经网络,用于处理序列信息,即有上下文关系的信息 RNN中会把上一层处理后的信息作为输入传入到下一层,这样,这一层 就会同时考虑此时的输入和上一个时刻的输入,做到处理序列信息。 按时间线展开 其中各个时间点具有同一个W,U,V,这也是RNN的权值共享。 RNN接受的输入的特征为(b, n 阅读全文
posted @ 2020-12-21 23:15 learningcaiji 阅读(143) 评论(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 阅读(691) 评论(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 阅读(1488) 评论(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 阅读(723) 评论(0) 推荐(0) 编辑