第九届泰迪杯数据挖掘挑战赛B题经验分享
研一选修课选了机器学习,期末作业是参加泰迪杯,晕了~本着不能亏报名费的心态,和组内的同学组了队,认真肝了几天论文,幸运的拿到了网速创新奖,把参赛费赚回来了,好耶!任务分配上,我负责代码实现和技术部分论文,队友负责论文其他部分及ppt,下面就直接进入正题辣~(其实都是复制黏贴论文里的)
首先是第一问,给岩石图像做分类。观察到原始数据集图像共315张,首先按9:1的比例划分训练集与测试集,测试集32张图像,训练集283张图像。然后是数据增强,首先对原始数据集的图像做了旋转、翻转与镜像处理,得到1132张图像。数据集共有7类岩石,各类岩石图像数并不相同,其中浅灰色细砂岩图像数是灰色细砂岩的近5倍,即数据集存在数据失衡的现象。所以进一步对其中占比较少的岩石种类的图像进行小幅度旋转处理来达到数据增强的目的,最终,使得数据集各岩石种类的图像占比大致相等。
|
浅灰色细砂岩 |
深灰色泥岩 |
深灰色粉砂质泥岩 |
灰色泥质粉砂岩 |
灰色细砂岩 |
灰黑色泥岩 |
黑色煤 |
总计 |
数据增强前 |
85 |
75 |
40 |
46 |
18 |
30 |
21 |
315 |
数据增强后 |
313 |
279 |
306 |
340 |
322 |
305 |
306 |
2171 |
由于训练集中部分图片既包括岩石,也包括地板背景,因此需要对这一部分图像进行裁剪处理,只保留图像中岩石的部分。对于测试集,由于测试图像仅有32张,故在训练前需预先对图像进行切割。对于不包含地板的图像,我们用大小为320×320的滑动窗口进行切割;对于包含地板的图像,我们首先裁剪出图像中心960×960大小的部分以去除无用的地板部分图像,再从中用大小为320×320的滑动窗口进行切割,最终得到3,051张测试图像。
|
图像数量 |
图像大小 |
训练集 |
2,140 |
4096×3000或2448×2048 |
测试集 |
3,051 |
320×320 |
模型我们用了ResNeSt。由于图像较大,我们在预测岩石种类时首先以960×960裁剪出图像中心,然后再裁剪出9张320×320大小的图像进行预测,取其中占比较大的岩石种类作为预测并与只随机裁剪一张320×320大小的图像用于预测进行对比。
方法 |
准确率 |
裁剪1张图像用于预测 |
92.8% |
裁剪9张图像用于预测 |
97.2% |
第二问是计算岩石含油面积占比,原始数据集没有标注油气的量,所以首先需从图像中提取出油气部分用于计算面积。我们首先将原始图像转化为HSV颜色空间的图像,将原始图像转化为HSV图像后,将其中绿色与黄色部分转为白色,其余部分转为黑色,得到掩膜图像。最后,我们利用掩膜图像提取原始图像中的油气部分并计算其面积。
由于数据集中部分图像不仅包含岩石,还包括地板,所以我们需要从原始图像中提取出岩石部分的面积。我们采用U-Net对该类岩石图像进行分割。由于初始图像尺寸为2048×2448,若将完整图像送入模型进行训练所需时间过长,所以我们将图像按比例缩小至320×384。由于数据集不包含岩石图像的掩膜图像,所以我们使用labelme人工标注了图像。
实验部分就结束了,惜哉由于天天打游戏,写论文的时间太少了,没多少时间修改,甚至还出现了标题错误。。最后能拿到网速创新奖真是运气好了希望下次打比赛能认真点,不要天天打游戏辣