基于CNN的图像二分类单类指标全0问题求助
木材堆图像二分类异常问题排查
任务与数据集说明
- 二分类任务:区分
wood(木材堆)和none_wood(非木材堆,包含文档、数字、人物等图像) - 训练集:4655张
wood图像,4566张none_wood图像(通过Augmentor工具扩充none_wood类数据) - 测试集:每类各1139张图像
采用的CNN模型结构
classifier = Sequential() classifier.add(Convolution2D(32,(3,3),input_shape = (175,130,3), activation = 'relu')) classifier.add(MaxPooling2D(pool_size = (2,2))) classifier.add(Convolution2D(64,(3,3),input_shape = (175,130,3), activation = 'relu')) classifier.add(MaxPooling2D(pool_size = (2,2))) classifier.add(Flatten()) classifier.add(Dense(128, activation = 'relu')) classifier.add(Dense(1, activation = 'sigmoid')) classifier.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])
初始训练后的异常表现
- 分类报告显示其中一类的Precision、Recall、F1-Score全部为0
- 混淆矩阵中FP(假阳性)、TN(真阴性)数值为0
- 整体准确率仅为0.5
- 已尝试调整epoch(最多训练10轮)、添加早停回调、使用ImageDataGenerator做数据增强、更换优化器和损失函数,但问题均未得到改善
关键操作与疑问
原本测试集目录分为wood和none_wood两个子目录,将所有测试图像合并到单个testSet目录后,所有分类指标(Precision、Recall、F1-Score、准确率)均变为1.0。请问这是什么原因?我遗漏了哪些细节?
内容的提问来源于stack exchange,提问作者Harun Harman
相关产品推荐
相关产品推荐

