type
status
date
slug
summary
tags
category
icon
password
Last edited time
Jul 13, 2024 01:43 AM
📝 主旨内容
现象
- 2D到3D模型准确度高达99%,反观3D到2D模型准确度仅有85%左右
- 整个模型根据跨模态的差异进行异常检测,训练数据中只有正常,理论上对正常数据有良好的表示,面对未见的异常数据时自然会产生较大差异
- 虽然不能很好地说明提升3D到2D模型这块短板能够提升整个模型的性能,但是继续削弱短板,整体性能大幅下降
- 3D到2D模型在特征层面是降维压缩的过程
- 2D到3D模型内部其实不需要很多层,可以进行剪枝
- 2D到3D模型在训练时很快就收敛了
GAN改进3Dto2D模型
训练一个分类头,和固定的2Dto3D模型一起组成判别器,去预测是否是真实的2D特征还是经由3Dto2D模型生成的伪2D特征
结果
- 需要调整的细节很多,暂时未见比原方法更优的性能
组成两组重构放大差异(一帮一)
将原本两个毫不相干的模型连续起来,一个模型的输出立即当中下一个模型的输入,整体构成了两组重构
结果
- 多计算了两个损失,使得batch_size只能开到2(24GB显存)
- 出现过拟合现象,训练集上相似度高,但是测试集的性能未有明显提升
两组重构250epoch | Bagel | Cable Gland | Carrot | Cookie | Dowel | Foam | Peach | Potato | Rope | Tire | Mean |
I-AUROC | 0.992 | 0.910 | 0.975 | 0.995 | 0.983 | 0.886 | 0.977 | 0.903 | 0.978 | 0.901 | 0.950 |
AUPRO@30% | 0.979 | 0.969 | 0.982 | 0.940 | 0.948 | 0.967 | 0.981 | 0.983 | 0.974 | 0.981 | 0.970 |
AUPRO@10% | 0.939 | 0.910 | 0.946 | 0.894 | 0.849 | 0.902 | 0.943 | 0.948 | 0.922 | 0.942 | 0.920 |
AUPRO@5% | 0.880 | 0.832 | 0.892 | 0.839 | 0.756 | 0.818 | 0.886 | 0.896 | 0.859 | 0.884 | 0.854 |
AUPRO@1% | 0.468 | 0.420 | 0.483 | 0.485 | 0.382 | 0.405 | 0.470 | 0.490 | 0.460 | 0.474 | 0.454 |
P-AUROC | 0.997 | 0.992 | 0.998 | 0.971 | 0.986 | 0.994 | 0.998 | 0.998 | 0.998 | 0.997 | 0.993 |
cos_sim_2Dto3D | 0.989 | 0.987 | 0.987 | 0.985 | 0.988 | 0.983 | 0.988 | 0.989 | 0.982 | 0.982 | 0.986 |
cos_sim_3Dto2D | 0.825 | 0.892 | 0.831 | 0.802 | 0.893 | 0.818 | 0.818 | 0.827 | 0.884 | 0.873 | 0.846 |
改进——减少整体训练的参数,针对性训练
- 先单独训练好剪枝后的2D到3D模型并保存,之后只训练3D到2D模型(固定2D到3D模型,batch_size恢复成4)
- 每个Epoch内都在测试集上测试一遍,取表现最好的模型
2D到3D模型收敛轮数 | Bagel | Cable Gland | Carrot | Cookie | Dowel | Foam | Peach | Potato | Rope | Tire |
最后三轮标准差小于0.0005 | 8(0.9888) | 10(0.9823) | 10(0.9897) | 6(0.9856) | 11(0.9867) | 12(0.9802) | 9(0.9893) | 7(0.9887) | 7(0.984) | 6(0.9753) |
最后三轮标准差小于0.0003 | 8(0.9888) | 14(0.9839) | 10(0.9897) | 6(0.9856) | 11(0.9867) | 14(0.9808) | 9(0.9893) | 18(0.9906) | 10(0.9851) | 9(0.9764) |
2D到3D模型收敛轮数 | CandyCane | ChocolateCookie | ChocolatePraline | Confetto | GummyBear | HazelnutTruffle | LicoriceSandwich | Lollipop | Marshmallow | PeppermintCandy |
最后三轮标准差小于0.0003 | 9(0.9905) | 5(0.9911) | 5(0.9904) | 5(0.9930) | 5(0.9908) | 5(0.9812) | 5(0.9891) | 5(0.9914) | 5(0.9926) | 5(0.9932) |
两组重构改进50epoch | Bagel | Cable Gland | Carrot | Cookie | Dowel | Foam | Peach | Potato | Rope | Tire | Mean |
I-AUROC | 0.991 | 0.858 | 0.985 | 0.994 | 0.981 | 0.842 | 0.935 | 0.921 | 0.994 | 0.810 | 0.931 |
AUPRO@30% | 0.979 | 0.958 | 0.982 | 0.938 | 0.938 | 0.958 | 0.979 | 0.982 | 0.972 | 0.972 | 0.966 |
AUPRO@10% | 0.939 | 0.876 | 0.946 | 0.892 | 0.820 | 0.880 | 0.936 | 0.945 | 0.917 | 0.916 | 0.907 |
AUPRO@5% | 0.881 | 0.775 | 0.892 | 0.837 | 0.718 | 0.795 | 0.874 | 0.890 | 0.848 | 0.844 | 0.835 |
AUPRO@1% | 0.466 | 0.376 | 0.483 | 0.471 | 0.362 | 0.392 | 0.444 | 0.475 | 0.444 | 0.426 | 0.434 |
P-AUROC | 0.997 | 0.988 | 0.998 | 0.969 | 0.983 | 0.991 | 0.997 | 0.998 | 0.998 | 0.993 | 0.991 |
cos_sim_2Dto3D | 0.989 | 0.981 | 0.987 | 0.983 | 0.985 | 0.980 | 0.988 | 0.989 | 0.981 | 0.976 | 0.984 |
cos_sim_3Dto2D | 0.823 | 0.873 | 0.835 | 0.800 | 0.887 | 0.813 | 0.811 | 0.835 | 0.878 | 0.866 | 0.842 |
两组重构改进(优化器参数少,best逻辑)250epoch | Bagel | Cable Gland | Carrot | Cookie | Dowel | Foam | Peach | Potato | Rope | Tire | Mean |
I-AUROC | 0.998 | 0.864 | 0.990 | 0.998 | 0.988 | 0.861 | 0.954 | 0.941 | 0.994 | 0.873 | 0.946 |
AUPRO@30% | 0.979 | 0.959 | 0.982 | 0.939 | 0.936 | 0.963 | 0.980 | 0.982 | 0.972 | 0.974 | 0.967 |
AUPRO@10% | 0.939 | 0.879 | 0.946 | 0.891 | 0.814 | 0.889 | 0.941 | 0.946 | 0.917 | 0.922 | 0.908 |
AUPRO@5% | 0.881 | 0.787 | 0.893 | 0.835 | 0.710 | 0.801 | 0.883 | 0.893 | 0.847 | 0.851 | 0.838 |
AUPRO@1% | 0.467 | 0.385 | 0.488 | 0.477 | 0.357 | 0.399 | 0.465 | 0.423 | 0.445 | 0.439 | 0.435 |
P-AUROC | 0.997 | 0.988 | 0.998 | 0.969 | 0.982 | 0.992 | 0.998 | 0.998 | 0.998 | 0.994 | 0.991 |
cos_sim_2Dto3D | 0.988 | 0.986 | 0.986 | 0.983 | 0.983 | 0.979 | 0.989 | 0.989 | 0.981 | 0.975 | 0.984 |
cos_sim_3Dto2D | 0.824 | 0.835 | 0.792 | 0.792 | 0.887 | 0.816 | 0.817 | 0.830 | 0.877 | 0.871 | 0.834 |
两组重构改进(优化器参数少,best逻辑)360epoch,2dto3d调优 | Bagel | Cable Gland | Carrot | Cookie | Dowel | Foam | Peach | Potato | Rope | Tire | Mean |
I-AUROC | 0.998 | 0.911 | 0.990 | 0.998 | 0.988 | 0.904 | 0.968 | 0.941 | 0.994 | 0.933 | 0.963 |
AUPRO@30% | 0.979 | 0.965 | 0.982 | 0.939 | 0.936 | 0.966 | 0.981 | 0.982 | 0.972 | 0.979 | 0.968 |
AUPRO@10% | 0.939 | 0.897 | 0.946 | 0.891 | 0.814 | 0.899 | 0.943 | 0.946 | 0.917 | 0.938 | 0.913 |
AUPRO@5% | 0.881 | 0.809 | 0.893 | 0.835 | 0.710 | 0.812 | 0.886 | 0.893 | 0.847 | 0.879 | 0.845 |
AUPRO@1% | 0.467 | 0.404 | 0.488 | 0.477 | 0.357 | 0.403 | 0.470 | 0.423 | 0.445 | 0.466 | 0.440 |
P-AUROC | 0.997 | 0.991 | 0.998 | 0.969 | 0.982 | 0.993 | 0.998 | 0.998 | 0.998 | 0.997 | 0.992 |
cos_sim_2Dto3D | 0.988 | 0.985 | 0.986 | 0.983 | 0.983 | 0.984 | 0.990 | 0.989 | 0.981 | 0.981 | 0.985 |
cos_sim_3Dto2D | 0.824 | 0.888 | 0.792 | 0.792 | 0.887 | 0.816 | 0.816 | 0.830 | 0.877 | 0.866 | 0.839 |
创新点
- 提出异构多任务跨模态映射异常检测框架
- 精度高
- 轻量,推理快,占用小
- 改进训练方式,训练时间短,只需要原来训练轮数的15%
多视角融合避免3Dto2D特征压缩
将点云逐步旋转后上色,可以得到多个不同视角的下的RGB图像,并且附带了丰富的纹理细节
特征融合模块,可以尝试用简单的全连接,卷积,注意力
🤗 总结归纳
对框架做出调整而非模型
简单来说,3Dto2D,2Dto3D模型并没有限定用哪种特定的结构,可以替换成各种模块
📎 参考文章
- 作者:ziuch
- 链接:https://ziuch.com/article/17f9649c-bae9-4eef-9050-8546913feb1e
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。