OpticsBench, LensCorruptions
收藏资源简介:
OpticsBench和LensCorruptions数据集用于研究深度神经网络在图像分类和目标检测任务中的鲁棒性。OpticsBench包含主要光学像差作为图像失真,如彗差、散光和球差,而LensCorruptions则包含从100个真实镜头中获得的混合像差。这些数据集通过追踪光线根据惠更斯原理,并结合泽尼克多项式进行空间分辨和参数化,以模拟真实的光学像差。评估了超过70种不同的视觉模型在应用了这些失真的ImageNet数据集上的表现,结果表明当前模型的鲁棒性不足。此外,提出了一种名为OpticsAugment的数据增强方法,该方法在OpticsBench上平均提高了18%的性能,并允许将学到的鲁棒性转移到其他领域。
OpticsBench and LensCorruptions datasets are used to investigate the robustness of deep neural networks on image classification and object detection tasks. OpticsBench includes major optical aberrations as image distortions, such as coma, astigmatism, and spherical aberration, while LensCorruptions contains mixed aberrations acquired from 100 real lenses. These datasets simulate real optical aberrations by tracing light rays according to Huygens' principle, combined with Zernike polynomials for spatial resolution and parameterization. Over 70 distinct visual models were evaluated on the ImageNet dataset with these distortions applied, and the results demonstrate that current models have insufficient robustness. Furthermore, a data augmentation method named OpticsAugment is proposed, which achieves an average 18% performance improvement on OpticsBench and enables the transfer of learned robustness to other domains.
数据集概述:分类模型对常见光学畸变的鲁棒性研究
数据集基本信息
- 作者:Patrick Müller (2023)
- 相关论文:ICCV2023 AROW Workshop官方提交论文
- 许可证:参见/opticsbench和/opticsaugment目录
数据集内容
核心组件
-
OpticsBench
- 用于研究对现实光学模糊效应的鲁棒性基准
- 包含基于Zernike多项式的光学畸变类型:彗差、散光、球差、三叶草像差
- 支持生成预定义的图像损坏数据集
-
OpticsAugment
- 使用光学核的数据增强方法
- 可提高模型对光学畸变和2D常见损坏的鲁棒性
代码结构
/opticsbench:创建模糊损坏数据集和评估PyTorch DNN的代码/opticsaugment:使用OpticsAugment训练模型的代码
性能指标
OpticsBench ImageNet-100结果(平均准确率%)
| 模型 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| DenseNet(ours) | 68.22 | 65.33 | 56.33 | 41.60 | 30.13 |
| EfficientNet | 61.00 | 55.34 | 42.14 | 30.27 | 23.35 |
| MobileNet | 57.59 | 52.30 | 38.58 | 27.51 | 20.54 |
| ResNet101 | 69.90 | 67.68 | 61.36 | 49.04 | 37.80 |
| ResNeXt50 | 65.14 | 62.68 | 54.44 | 39.90 | 28.45 |
常见损坏性能提升(百分点)
| 模型 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| DenseNet161 | 5.08 | 7.55 | 8.73 | 7.30 | 5.38 |
| ResNeXt50 | 5.11 | 7.63 | 8.68 | 7.18 | 5.27 |
| ResNet101 | 1.25 | 3.07 | 4.55 | 4.90 | 4.10 |
使用方法
数据集生成
bash python benchmark.py --generate_datasets --database imagenet-1k_val --testdata_path <path_to_validation_images>
生成路径结构:data/images/<dataset>/<val,corruptions>/<corruption_name>/<severity>/
模型评估
bash python benchmark.py --run_all --path_to_root_folder <root> --models all
结果输出路径:root/eval/<dataset>/corruptions>/<corruption_name>/<severity>/<model_name>.json
引用格式
bibtex @InProceedings{Muller_2023_ICCV, author = {M"uller, Patrick and Braun, Alexander and Keuper, Margret}, title = {Classification Robustness to Common Optical Aberrations}, booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV) Workshops}, month = {October}, year = {2023}, pages = {3632-3643} }
文件目录结构示例
root/ images/ ImageNette/ /val /corruptions/ opticsblur/ astigmatism/ 1/ 2/ ... eval/ ImageNette/ /val /corruptions/ opticsblur/ astigmatism/ 1/ resnet50.json ... models/ resnet50_augmix_optics_augment/ ...




