摘要
深度学习为了获得较好效果需要大量的训练数据,并且需要对这些数据进行人工标注。收集标注数据的过程费时费力,因此,使用合成图片训练网络越发吸引关注。本文提出了一个使用合成数据训练目标检测网络的简单有效的方法:在真实图片上预训练好的通用网络,固定其前几层,然后使用OpenGL渲染合成的图片训练优化后续层的参数。文章在几个经典的网络(Faster-RCNN, Mask-RCNN, InceptionResnet, ResNet)上做了测试,均取得了更好的效果
介绍
对于目标检测一类问题来说,使用合成图片训练网络是十分吸引人的。但是在合成数据和真实数据之间的分布差异--'domain gap' .在合成图片上训练的网络直接用于真实图片上性能不尽人意。目前主流的解决方法有:
- 使用合成图片和真实图片混合训练网络,这种方法能在一定程度上改善网络性能,但仍然需要真实的标注数据
- 迁移学习
- Photo-Realistic Graphics
- 域随机化(domain randomiztion) 生成随机域的数据,例如随机光照、纹理、位置、材质等变化来迫使网络智能学习到目标的本质特征信息,规避噪声信息,从而提高泛化能力
- GAN 生成真实场景图片
关键
在真实图片上预训练的特征提取器已经能够做到提取一个图片上的所有特征信息,不需要用更多的数据去训练它了。当输入一张合成图片时,预训练的特征提取器能够看作一个投影器(Projector),输出和真实图片相似的特征信息。
因此将预训练网络的前几层冻结(freeze),用合成图片训练后续部分,优化参数,能够得到更好的效果。