将基于深度学习的检测和识别算法应用到SAR图像智能解译
近年来随着阿尔法狗在围棋上碾压人类选手,人工智能技术变的家喻户晓。人工智能(1956提出)是关于知识的学科D怎样表示知识以及怎样获得知识并使用知识的科学。如果机器能够通过图灵测试,那么就可以看成具有人类智能。
深度学习简介
经过六十年的发展,人工智能进展缓慢,勉强可以说实现了弱人工智能(智能在某一个狭窄的领域具有人类的智能),距离通用人工智能和强人工智能还有很长的路要走。早期是采用专家系统的方法,但是需要许多行业的专家考虑各种规则,规则表过于复杂,得到的效果也不理想。
之后从数据中学习知识(机器学习和统计学习)的方法慢慢的代替了专家系统,取得了不错的效果。机器学习方法主要包括kNN,随机树,人工神经网络,支持向量机,随机森林等等。其中人工神经网络经历了多次的大起大落,直到近年又一次迎来了复兴,只不过换了个名字叫深度学习。
深度学习来自于2006年Hinton提出的深度信念网络DBN,通过逐层无监督预训练成功训练出较深的神经网络,之后称为深度神经网络,学习的过程叫深度学习。在业界,深度学习在计算机视觉和语音方面出现的巨大突破是导致其走向复兴的标志。
2011年Hinton将深度学习介绍给微软工程师,使在语音识别领域得到了巨大的突破。2012年Hinton的学生Alex提出的AlexNet在大规模物体分类数据集ImageNet上的巨大成功,使计算机视觉领域所有的任务都被深度学习所主宰。
一直到现在语音和图像这两个领域最先进的算法都是基于深度学习的方法。Hinton二十几年磨一剑,与Bengio以及Hinton终于迎来了深度学习的第三次复兴。关于深度学习的来龙去脉的细节可以参考它们三人2015年在Nature上联名发表的综述。深度学习复兴的本质是由大数据、计算能力和算法三者推动的。
基于深度学习的检测和识别方法
计算机视觉的任务包括很多种,大体可以分成低级、中级和高级三类。低级计算机视觉包括分割、图像复原和超分辨等,输出为处理之后的像素。中级计算机视觉主要是指特征提取。
高级计算机视觉主要包括检测和识别两种任务。在计算机视觉领域用到的深度学习模型主要是卷积神经网络CNN,CNN包括交替出现的卷积层和池化层以及最后几个全连接层,通过局部共享权值和池化操作大大减少了参数量。
那么深度相比于传统方法有什么优点呢,这里借鉴中科院计算所山世光所说的一句话,“深度学习的引入体现了端到端、数据驱动的思想:尽可能少的对流程进行干预、尽可能少的做人为假设”。
其最大的优点是可以自动提取最优的特征,不需像传统方法那样进行人工设计特征。
计算机视觉和SAR图像
计算机视觉(Computer Vision, CV)的目的是模拟人的眼睛和大脑来完成自动的检测、识别和跟踪等任务。计算机视觉领域用处特别广,例如自动驾驶、智能安防、智能医疗、无人超市和移动互联网(各种手机APP,例如美图、激萌、抖音、快手等,百度、腾讯、阿里巴巴、京东、滴滴、华为和小米对这类人才的需求量也特别大)。
每一个领域都是上千亿级的巨大市场,所以研究特别活跃,社区发展完善,新颖的算法和思路层出不穷,而且很多都会提供开源代码。尤其是最近进展神速的无人超市和移动互联网,正在真实的改变着我们的生活。
而相比于CV领域,SAR图像研究人员较少,社区不完善,研究进展较慢。主要原因还是由于市场所决定的,后者对应的用户太少。
现有的深度学习的目标检测算法都是对日常生活中的照片的物体进行检测,如图1 PASCAL VOC数据集(CV领域专门用于训练和测试检测器的数据集)的两个例子,而SAR图像与这些图像具有很大的区别。
图1 PASCAL VOC 数据集和微波遥感数据集的部分图片示例
1.成像机理不一样。光学成像属于被动成像,通过接受物体反射的光信号来成像。SAR成像属于主动成像,接收发射的电磁信号并进行距离向和方位向压缩等操作来实现成像,后向反射系数较大的物体在SAR图像上亮度较大,通过这种亮度差异形成了单通道灰度图像,而且SAR图像具有特殊的乘性的相干斑噪声。这与光学成像完全是两个不同的学科,具有本质的区别。
2.拍摄角度不一样。PASCAL VOC是从水平视角拍摄的自然图像,光学遥感和SAR遥感都是从上到下的视角进行观测成像,这会产生不同的图像,并且容易被天气,光照和视角的影响。
SAR图像对观测角度极度敏感,这是由于散射信号的强度取决于物体不同部位的散射系数,观测角度稍微变化有可能导致散射强度变化剧烈,光学遥感不存在,这对识别造成了很大的困难。
3.SAR图像目标稀疏且尺寸小,输入图像巨大,有相干斑噪声,训练数据相对缺乏。
基于深度学习的SAR图像舰船与识别方法
SAR图像目标检测与识别算法的发展脉络与计算机视觉领域所类似。传统方法也是人工设计特征,多个流程单独优化。其中检测方法包括CFAR提取候选区域和鉴别连个过程,CFAR严重依赖于对SAR图像的统计建模,而实际场景的SAR图像变化较大,难以建立有效的适用性强的模型。
对于检测和识别这两个任务来说,SAR图像与计算机视觉领域里所使用的图像共性大于异性,所以应该多借鉴CV领域优秀的算法。
进行基于深度学习的目标检测和识别之前需要建立数据集。军用战车识别的数据集有MSTAR,我们利用一些经典的CNN(VGG/GoogLeNet/ResNet等)进行识别,发现准确率可以飙到99.5%[1],而且实现起来非常简单方便。
对于舰船目标识别2017年上海交大提出了第一个包括十类目标的OpenSARShip数据集,但是类别间样本数量极其不均衡,难以训练出较好的分类模型,所以还需一个很好的数据集出现。
对于SAR图像舰船目标检测任务我们建立了实际上第一个(据我们所知)公开的数据集SSDD[2],得到了十几所高校和研究所的使用(中科院电子所、中科院遥感所、清华大学、中电科38所、南开大学、中国科学技术大学、复旦大学、中国地质大学、武汉大学、国防科技大学、电子科技大学、北京航空航天大学、哈工程、航天1院等)。
数据集虽然相对比较简单,但是填补了本领域的空白,提供了统一的数据集和测试标准,促进了这个领域的健康发展。在数据集上我们进行了一些工作,验证了Faster R-CNN和SSD等检测器相比于传统方法的令人惊艳的优良性能,并根据SAR图像中舰船目标的具体特点对算法进行了改进。
图2是检测效果第一行是Faster R-CNN的检测效果,第二行是SSD的检测效果[3],第三行是利用旋转边框检测效果,具体细节将在下一篇文章进行讲解[4]。从效果图我们可以看到基于深度学习的目标检测算法能够适应所有场景。
优势分析
深度学习目标检测的方法优点:
第一,虽然训练过程繁琐,但是预测只需一次前向传播,通过CNN的压缩和加速等操作后速度会很快;
第二,深度学习的引入体现了端到端、数据驱动的思想:尽可能少的对流程进行干预、尽可能少的做人为假设,能够显著提升分类和检测性能。
第三,扩展性强,如果需要检测和识别新目标,只需增加其样本重新训练,不需要改结构,不需要专门设计特征。
第四,适应性强,不用区分大片海域和靠岸目标,能够适应各种复杂背景。
我们认为,基于深度学习的目标检测和识别算法是未来SAR图像智能解译的主要手段,尤其是随着近年来巨大资本在人工智能领域的投入。
学习资源与交流探讨
机器学习课程是必须要学习的,比较好的是斯坦福大学吴恩达的CS229课程,深度学习比较好的课程是斯坦福大学李飞飞CS231和吴恩达deeplearning.ai (网易云课堂手机app有视频和中文字幕)。
Facebook人工智能研究院FAIR开发的Detectron,Google开发的Tensorflow object detection API是两个比较好的目标检测框架,实现了大部分目标检测算法。
参考文献
1 Jianwei Li, Changwen Qu and Shujuan Peng. Ship detection in SAR images based on an improved Faster R-CNN. 2017BIGSARDATA, Beijing.
2 Shao Jiaqi, Qu Changwen & Li Jianwei. A performance analysis of convolutional neural network models in SAR target recognition. 1-6. 10.1109/BIGSARDATA.2017.8124917.