keras - Keras 多类语义分割标签
问题描述
对于语义分割,您通常最终会得到最后一层
output = Conv2D(num_classes, (1, 1), activation='softmax')
我的问题是,我该如何为此准备标签?例如,如果我要识别 10 个类,每个类都有不同的颜色。对于每个标签图像,我是否需要对一种特定颜色应用遮罩,将其转换为灰度图像,以便我可以与模型输出中的 1 个过滤器进行比较?或者有没有办法将一张完整的 RGB 图片作为标签传入?
解决方案
网络的输出将是具有 10 个通道的图像,其中每个像素将包含一个概率向量,其总和为 1(由于 softmax)。示例:[0.1,0.1,0.1,0.05,0.05,0.1,0.1,0.1,0.1,0.2]。您希望标签图像具有相同的形状:具有 10 个通道的图像,每个像素是一个二进制向量,在类的索引处为 1,在其他地方为 0。您的分割损失函数就是像素级交叉熵。
实现:keras 中的 softmax 有一个轴参数:https ://keras.io/activations/#softmax
推荐阅读
- excel - 如何在工作表代码的范围内查找值
- sql - SQL 检索具有特殊字符的字符串
- javascript - 如何解析 moment.js 日期对象
- vb.net - 如何将数据从并行数组传输到文本框?
- swift - 如何在有顺序的循环中使用 DispatchGroup?
- javascript - 如何使用 Javascript DOM 收集选定的下拉文本?
- r - 在 R 中重新编码多个日期值的有效方法
- angularjs - 降级 Angular 路由组件
- travis-ci - 如何在 Travis-CI APIv3 中使用 github 令牌进行身份验证?
- r - 如何用新值替换矩阵中的数据百分比