张芷铭的个人博客

构建数据集,注意完善每张图的标签

完成数据集处理代码,拍摄新样本图片后可以快速扩充到数据集中。已有的样本共105张

使用CNN模型尝试回归预测

关注重点

  1. 输入模型的图片大小不固定,
  2. 直接Resize
  3. CPP
  4. Attention Mechanism
  5. 如何引入其他参数
  6. 直接Concat
  7. Tranformer

建立模型

先直接Resize和Concat处理关键的两个问题,得到的回归模型如下,结构十分简单,使用卷积提取图像特征,然后Concat 外部的特征(曝光时间等),经过MLP输出结果。 训练收敛很快,约50个epochs就能收敛,但是预测效果非常差:

预测结果

使用得到的模型文件对已有的样本预测,预测值和真实值差距: 看起来模型只是求了一个平均值,模型结构需要大幅度改进。

直接使用MLP Regression

由于使用CNN直接处理图像,预计以此提取图像特征,然后与外部特征合并后经过MLP总是学习不到良好效果,预测结果只是求了个平均值,所以直接人工设计特征,将灰度图像转换为一下几个特征: Width,Height,Area,MaxValue,MinValue,Mean,Median,Variance 然后使用MLP直接回归,

经过多次实验后,得到的结果较好:

1
2
3
# 创建MLP回归模型  
mlp = MLPRegressor(hidden_layer_sizes=(32, 16), max_iter=2000, random_state=42, learning_rate='adaptive',  
                   early_stopping=True, validation_fraction=0.2)
1
2
训练集得分: 0.96
测试集得分: 0.90

Comments