学会“感知”变化:深度学习用于遥感影像变化检测

遥感影像 Jun 24, 2020

  相信多数人都玩过一种叫“大家来找茬”的游戏,这个游戏的玩法很简单:给定两幅图像,要求玩家在指定时间内寻找图像中不同的地方。洞察力与记忆力比较高的人可能会是玩这个游戏的高手,但是对于两幅不同时间点的遥感影像来说,如果仅仅凭借人的观察与记忆去对两幅影像“找茬”将是一个费时费力的工作。
alt

你能快速找到两幅图片的不同吗?

  要完成“找茬”任务的自动化,特别是涉及到图像处理任务,机器学习必然是首选的方法。假设我们可以训练一个能够与人的洞察力与记忆力相媲美的机器学习模型,并且能在很短的时间内迅速找到不同之处,有了这种高段位玩家带我们“找茬”,那我们必定会达到事半功倍的效果。这样的“找茬”高手真的存在吗,答案是肯定的。在这位高手登场之前,我们先来看看它在另一个领域“人脸验证”中的应用。

孪生神经网络:一个简单神奇的架构

  孪生神经网络(Siamese Network)就是这个背后的高段位玩家,siam是现泰国的古称,中文可以翻译为暹罗。siamese的意思就是暹罗人或泰国人,但是这个单词在英文中又有“孪生”、“连体”的意思,这是为什么呢?

  十九世纪暹罗地区出生了一对连体婴儿,当时的医学技术无法将他们分开。1829年被经过的英国商人发现,进入马戏团,在世界各地表演并且取得了巨大的成功,从此暹罗双胞胎(siamese twins)成为了连体婴儿的代名词。

  1994年,Bromley,Jane,et al.发表了论文《Signature verification using a" siamese" time delay neural network》首次提出了孪生神经网络的概念:这种神经网络包含两个或多个相互独立的子网络,这种架构最初被用于进行笔迹验证(Signeture verification),后广泛用于人脸验证(Face verification)。

  人脸验证面临的一个比较大的困难就是要解决One-Shot学习问题:假设你要开发一个人脸验证系统,这个系统要求对进入公司的人员进行判定是否有进入资格。而实际情况是数据库中每位员工的相片不超过十张,所以,如果按照传统的卷积神经网络进行分类任务往往得不到比较健壮可靠的模型。one-shot学习的任务由分类转变学习一个相似度函数,这个函数会比较两幅图片并且告诉你是否匹配。
alt

人脸验证网络架构(图片来源:Andrew Ng)

  首先,我们将一个人的照片输入到孪生神经网络,经过卷积后得到经编码的特征。然后,我们不对这个网络的权重或偏置值进行任何的修改,将另一张照片输入网络映射到相同的特征空间并得到编码值。通过比较两个编码值的相似度来确定两张照片是否是同一个人,相似度大的可以认定为同一个人,相似度小的表示验证不通过。
alt

像素级变化检测:对孪生神经网络的“魔改”

  对于遥感影像的变化检测来说,如果仅仅只是判断两幅图片是否不同可能无法达到我们的业务要求,大多数时候我们不仅要知道两幅影像不一样,还要知道究竟是哪里不一样,并且还要把不一样的轮廓表示出来。那我们就需要对孪生神经网络进行“魔改”,以下是经过修改后应用于建筑物变化检测的架构。

0-1

像素级变化检测网络架构

  将大同2015年与2018年的原始影像输入孪生神经网络,经过卷积神经网络的特征提取最终获得两个时间点的特征对,使用0到1之间的实数来度量特征对的“相似度”,“相似度”可以用距离来表示(欧式距离或者cosine距离),最终可以输出对于每一对同位置像素变化的“相信度“。

  对原生的架构进行了那些魔改呢,其中的奥秘就在于改进了原来的损失函数。模型本质是学习一个度量函数,这个函数会将变化的区域输出比较大的值,而变化较小的区域输出相对小的值。为了实现这样的任务,孪生神经网络使用对比损失(contrastive loss)作为损失函数。

1-1

  不同时间点的遥感影像由于存在角度与色彩的变化,原始的对比损失函数可能在模型优化过程中存在收敛慢或者性能差的缺点;针对这种情况,使用(thresholded contrastive loss)损失,通过设置容差,这种损失不会使距离收敛于0,而是一个比较小的正实数。

2-1

  而且“魔改”后的架构使用了side-output的辅助架构,这种架构在训练过程中会结合高级特征的损失与低级特征的加权损失来计算总的损失。

应用案例:历史名城变化检测

  近年来,为了促进旅游业的发展和提高GDP,很多历史文化名城的历史文化街区出现大拆大建的不良倾向,一方面却大肆拆除历史文化街区或者进行过度商业开发;成片的历史文化街区在房地产开发热潮中沦为废墟,不伦不类、花里胡哨的仿古街道却不时拔地而起。为了考证那些城市进行了违规拆建,实地调查往往是比较直接的方法,但是却费时费力。我们利用遥感影像和上述提到的方法,实现了一定程度上的端对端的建筑物变化检测。

  我们使用了two-stage的pipeline,首先利用孪生神经网络实现变化区域的检测,然后对变化区域内影像输入我们的AI百宝箱进行比较精细的语义分割,得到最后的变化结果。

alt

  下图展示了大同2010年到2015年大同建筑的拆建情况,我们建最终的变化结果分为三类:拆除、拆建与新建。
alt
  大同在2010年到2015年期间进行了大量的拆建工程,极大的的破坏了古城区的风貌,这也是大同被住房和城乡建设部、国家文物局通报批评的原因,如果大同继续进行这样的不合理的拆建工程,那么这座历史名城将会永远消失。
  极海是一家对规划大数据应用感兴趣且已沉淀成熟解决方案的大数据公司,在钻研规划大数据专题的过程中,我们很乐意发挥我们的特长,承担起解决大数据应用困境的任务,将深度学习技术更好的融入影像识别与提取任务,去满足规划师们的需求。

评论正在加载...
Success! Your account is fully activated, you now have access to all content.