我们在C-Core的团队与挪威能源公司EvenInor合作开发自动化软件,这些软件使用深度学习来对SAR图像中的目标进行分类。我们决定通过举办一次演播竞赛来利用AI研究人员全球社区的专业知识。我们研究了竞争中的最佳创意,在Matlab中使用卷积神经网络(CNNS)实施了它们®然后建立可操作使用的软件。
冰山识别挑战
SAR图像的分辨率取决于图像覆盖的区域:专注于相对较小的区域的图像具有比覆盖宽的海洋的宽度,因此更容易分类(图2和3)。在实践中,要从数据集中提取最大的有用信息,我们必须在各级分辨率下的图像,甚至具有目标的图像,只有几个像素宽。
在我们开始使用深度学习之前,我们使用了对冰山分类的二次判别分析,但这涉及分割图像以将目标像素分离在背景海洋像素中。图像分割是一项挑战,因为海洋条件很大,并且由于差的条件引起的视觉杂波使得难以定义每个目标的轮廓。使用CNNS,因此不需要将目标区分开,因为算法在完整的SAR上培训筹码,包含单个目标的固定尺寸图像。
卡格竞赛
我们的卡格竞赛呈现了一个简单的挑战:开发一种能够自动将目标分类为SAR图像芯片的算法,作为船舶或冰山。竞争的数据集包括沿着拉布拉多和纽芬兰海岸的Sentinel-1卫星收集的多声道SAR数据中提取了5000个图像(图4)。我们的竞争被证明是在卡格上举办的基于图像的最受欢迎的比赛,3343名队伍贡献了47,000多个提交。
最正式的条目都使用深度学习。他们的模型共享了许多特性和层,包括卷积,整流线性单元(Relu),MAX池和软MAX层。此外,所有使用的顶部条目都将预测精度从约92%升高到97%。
用Matlab建立我们深入学习模型
使用顶部的卡格条目作为起点,我们使用Matlab和Deep Search Toolbox™开发了我们自己的深度学习模型。我们开始修改深入学习工具箱中提供的简单分类器。在几天之内,我们有一个运作良好的网络。
为了优化网络性能,我们测试了参数值的不同组合,改变,例如,每层中的节点数,卷积层中使用的滤波器大小,在最大池层中使用的池大小等。我们写了一个自动构建,培训和测试10,000个不同CNN的MATLAB脚本,其中这些参数的值在合理的限制和约束范围内随机生成。
我们在结果上执行了一个简单的贪婪搜索,找到七个最高性能的CNN,并使用它们来创建一个合奏。就像卡格赛竞赛获胜者使用的合奏一样,我们的集合将近5%提高了整体准确性。
通过在Matlab工作,在两周内,我们几乎不知道关于CNN分类器的实施,以产生足够常用的解决方案的解决方案。
将分类器集成到完整的系统中
目标歧视是冰山识别的多步骤过程中的一步。该过程还涉及土地掩蔽,消除由陆地对象引起的假检测,以及与地理信息系统软件集成,以生产显示冰山和船舶位置的地图(图5)。
当Radarsat Constellation Mission Satellites今年开始生成数据时,我们将通过手动视觉检查进入更多的SAR图像 - 太多用于分析。包含深入学习算法的软件系统,如我们在MATLAB中开发的深度学习算法将使C-Core能够通过准确,快速,自动处理它来实现最大的数据。