月度归档:2016年08月

行骗前先给红十字会捐一块钱,有关电信诈骗的五个冷知识

徐玉玉事件后,电信诈骗相关话题的讨论热度持续上升。上周末举行的Kcon 大会上,对电信诈骗有着多年研究经验的PKAV白帽子only_guest也对相关议题进行了分享,除了案例分析,雷锋网还为你节选了几个有关电信诈骗的“冷知识”。

1. 电信诈骗的利润远高于运营商 

上图所示数据来自演讲者only_guest的朋友圈。据only_guest介绍,两个月前,一位银行的朋友在他的朋友圈评论了这样一句话,中国电信和中国联通去年的净利润总和,还没有电信诈骗这一件事情的利润总和高。随后,only_guest通过调查找到了图中的数据,数据显示:

  • 去年中国电信的净利润是161.13亿元,同比增幅-8.97%

  • 联通去年的净利润是35.27亿,同比增幅-69.9%

  • 而电信诈骗去年的净利润是222亿,同比增幅207%

这组赤裸裸的数据极具讽刺性,同时也揭露了电信诈骗产业巨大的利益诱惑。

2. 即使来电号码110,也有可能是骗子

 only_guest在演讲中介绍,电信诈骗的套路基本上有两种,一种是通过伪基站发送诈骗短信,一种是通过VoIp拨打诈骗电话。不论骗子想出了多么高明的骗术,实现渠道基本上都是这两个。

伪基站即假基站,一般由主机和笔记本电脑组成,携带方便,一个背包就能装下所有的设备,所以流动性也很强。背着伪基站背包的诈骗犯会像打游击战一样,一天换一个地方,一个人就可以是一个战队。 

VoIP就是网络电话,VoIP技术主要是通过对传统的模拟语音信号进行数字化、压缩、打包,封装成帧等一系列处理,使得语音业务可以通过IP网进行承载。VoIP服务不仅能够在VoIP用户间使用,而且也可以与电话用户通话,比如使用传统固话网络以及无线手机网络的用户。诈骗犯利用这一技术,可以对显示号码进行任意更改,即使来电号码110,也有可能是骗子,且很难对其进行溯源。

尽管相关部门以及运营商都对伪基站以及VoIP可以更改的显示号码进行限制,不允许改成公检法部门或银行等机构的号码,但only_guest告诉雷锋网,解除这种限制的技术门槛并不高。

3. 每个骗局都经过“私人定制” 

only_guest在演讲时分享了一个常见案例的操作过程。通过案例,我们可以把整个诈骗流程分为三部分。

第一步,选定受害者。在实施诈骗前,骗子会首先会对受害者进行信息摘选与背景画像。通常优先会选择对有一定社会地位与资产的人进行下手。

第二步,定制套路。根据所选择受害者的信息,骗子会精心定制行骗工具。不论是通过链接打开的页面或钓鱼网站、填写的表格以及下载的控件都是根据真实的网站与控件仿制或改造好的。几乎让受害者察觉不出有什么异常。

第三步,开始实施行骗。大致过程如案例:

骗子打电话告诉受害者,称相关部门对你下发了通缉令,并把你的资产全部冻结了,然后给受害者一个链接,链接里是定制好的网站页面,跟相关部门的网站看起来几乎一模一样,通缉令页面关于受害者的信息全部准确无误,甚至案件编号也是真实的。


当成功骗取受害者信任时,会以帮忙解冻资产的名义,让受害者填写一张资产清算表单,其中包括受害者的开户行信息、网络银行支付方式,以及需要辅助的工具,是动态口令卡还是U盾等。


完成表单填写,骗子会让你下载一个类似于网上银行安全控件之类的东西,点击链接后,骗子会直接通过黑屏连接的方式直接对受害者的电脑进行控制。(黑屏连接就是,对方在连接控制你的电脑时,通常不会被察觉到。)


当骗子利用表单与电脑里的信息完成转账步骤,会在电话里告诉你,让你告诉在U盾上按下OK 键,或是读取动态口令给他。完成这最后一步,受害者卡内所有的钱也就被全部转移了。

4. 行骗前,先给红十字会转一块钱

only_guest告诉雷锋网,在他们进行溯源调查的案例中发现,为了尽可能的逃避追捕,降低行骗成本,诈骗团伙通常有一个海外或台湾IP与大陆IP。海外或台湾的IP进行转账或洗钱,大陆的IP进行具体行骗任务的分发,分发的下级就是用伪基站发送短信或利用VoIP打电话进行行骗工作人员。

在进行追踪时,only_guest 还发现,在海外或台湾,两个不同IP地址的诈骗团伙会偶尔聚在一起进行“行业交流”或互相帮忙洗钱。互相之间用行话交流,如“洗大车”或“洗小车”就是洗大钱或洗小钱。

其中还有一个很有意思的细节,在他们追踪的台湾诈 骗团伙中,发现有一伙人,在每次对受害者进行转账时,会先转给红十字基金会1块钱,然后再将受害人卡内余款,转入自己的账户。对于这一操作的具体原因不得而知,不论是进行转账试操作,还是想顺手做好事,都觉得可笑与讽刺。 

5. “内鬼”是信息泄漏的中坚力量

对于电信诈骗团伙来说,第一步就是要获取个人隐私信息。除了地下黑产,诈骗团伙获取个人信息的部门包括电信运营商、快递公司甚至是一些政府部门的工作人员。26日就有媒体爆出,一名在湖南顺丰速递公司工作的员工,被指控侵犯公民个人信息罪,将公司系统的账号密码出售他人,导致大量个人信息泄露。

事实上,根据公开披露的司法文书,类似“顺丰内鬼”出售客户个人信息的事件屡见不鲜。通QQ搜索面单群,会发现有多个显示出售面单信息的群,除了顺丰,还有其他多家快递公司。一个名为快递面单选购的群就公告称,每单3 .5元,量大从优,50单起购,一次性购买300单,价格还可优惠为3元。通过百度搜索面单出售,也会有多条相关信息,甚至还有可以提取面单信息的买卖交易。

关于电信诈骗的一些不为人熟知的“冷知识”还有很多,这条有着巨大利益诱惑的产业链背后有着相当多的从业者为之效力,徐玉玉事件也不是个案,希望热议过后,会少一些受害者。

雷锋网

如何评价百度刚刚开源的Paddle平台?

宗仁,黄鑫联合编辑

百度今天开源了其深度学习平台Paddle,引发了挺多人工智能领域开发者的兴趣,包括一些之前一直在Tensorflow和Caffe上练手的开发者。不过鉴于深度学习的开源平台目前并不多,作为开发者也作为热心吃瓜群众的头等大事,就是想知道——这个平台怎么样?别人怎么看这个平台?以及这个平台跟Tensorflow以及Caffe有何区别?

▎这个平台本身怎么样

Paddle本身在开源前就一直存在,始于2013年的时候,因为百度深度实验室察觉到自己在深度神经网络训练方面,伴随着计算广告、文本、图像、语音等训练数据的快速增长,传统的基于单GPU的训练平台已经无法满足需求,为此在徐伟的带领下,实验室搭建了Paddle(Parallel Asynchronous Distributed Deep Learning)多机并行GPU这个训练平台。

但今天开源的Paddle当然不是3年前的简单模型,3年前Paddle可能还是一个独立的深度学习平台,不能很好地支持把数据从其他平台接入的需求。但今天的Paddle已经在处处强调,它的特色是让Spark与PADDLE耦合起来,是一个基于Spark的异构分布式深度学习系统。并且经过和百度相关业务的“紧密摩擦”后,它已经迭代了两个版本:从Spark on Paddle架构1.0版,到Spark on PADDLE 架构2.0版。根据平台开源的规则,大概是在百度内部用的非常得心应手,修复了一系列bug后,实验室才终于打算把Spark on PADDLE以及异构计算平台开源。至于百度为什么要开源,这个理由大家都懂的

深度学习平台目前还有很多bug——吸引更多的开发者来尝试和使用深度学习技术,对提高Paddle的档次是绝对有帮助的。

▎外界人士对这个平台的评价        

知乎上贾清扬的回答,目前是比较正面的评价。

1. 很高质量的GPU代码

2. 非常好的RNN设计

3. 设计很干净,没有太多的abstraction,这一点比TensorFlow好很多。

4. 高速RDMA的部分貌似没有开源(可能是因为RDMA对于cluster design有一定要求):Paddle/RDMANetwork.h at master · baidu/Paddle · GitHub

5. 设计思路比较像第一代的DL框架,不过考虑到paddle已经有年头了,这样设计还是有历史原因的。

5.1 config是hard-code的protobuf message,这对扩展性可能会有影响。

5.2 可以看到很多有意思的类似历史遗留的设计:采用了STREAM_DEFAULT macro,然后通过TLS的方式定向到非default stream:Paddle/hl_base.h at 4fe7d833cf0dd952bfa8af8d5d7772bbcd552c58 · baidu/Paddle · GitHub (所以Paddle off-the-shelf不支持mac?)

5.3 在梯度计算上采用了传统的粗粒度forward/backward设计(类似Caffe)。可能有人会说“所以paddle没有auto gradient generation”,这是不对的,autograd的存在与否和op的粒度粗细无关。事实上,TensorFlow在意识到细粒度operator超级慢的速度以后,也在逐渐转回粗粒度的operator上。目前只看到这里。总之是一个非常solid的框架,百度的开发功底还是不错的。

估计不少人都读过贾清扬的评价,下面我们贴一个前百度数据工程师,极视角CTO缨宁的评价

看了一下,从设计理念来看和Caffe挺像的,但网络模型没有Caffe那么容易定义。最大贡献是做了分布式,提高了建立模型的速度。再详细的感受就得看代码和上手用了。

另一个跟上面两位观点反差较大的某研究深度学习的学者表示

 Tensorflow的架构可以认为是一个升级版的theano, theano比Caffe还要早几年,只是Caffe最早train好了,同时发布了一些成功的卷积神经网络模型因此得到更多关注。Tensorflow和Caffe没啥太大的关系,可能借鉴了Caffe某一些实现技巧,本质上没啥关系。 百度这个很有可能是看到Caffe的成功之后实现的,很大程度模仿的Caffe,  同时试图修改一些东西使其看的和Caffe不一样。


我估计使用Caffe的人不会投向它,使用其他的工具的人(tensorflow, keras, theano, torch,mxnet)也不会投向它, 大家说几天然后就……一个月之后看一下它的github的关注量和github上能够找到的别人写的代码量你就知道他是否能有什么浪花(后面可以看看有没有人用他来参加kaggle或者其他比赛或在科研发布代码)。现在基本每个大公司都发布自己的深度学习框架(或者机器学习框架),例如微软, 亚马逊, 雅虎,好像都没有大动静。

这个平台跟Tensorflow以及Caffe有何区别

雷锋网申请了Paddle的今天公测版本,目前还在审核中,虽然不能直接下载体验,但和其它两个平台的区别也不是毫无踪迹。根据我们之前对Caffe, Tensorflow的了解,以及今天Paddle放出的数据。

附接口语音

Caffe         ——cmd, matlab, python

Tensorflow——python, c++

Paddle      ——python, c++

(注:其中python是开发者主要使用的语言, 只有Caffe修改model内部的时候要用的c++。(如有异议,欢迎各开发者进一步交流)

总的来说

1)Caffe可以说是第一个工业级深度学习工具,始于2013年底由UC Berkely的贾杨清编写的具有出色的CNN实现功能的开发语言,在计算机视觉领域Caffe仍然是最流行的工具包。

Caffe的开发语言支持C++和Cuda,速度很快,但是由于一些历史性的遗留架构问题,它的灵活性不够强。而且对递归网络和语言建模的支持很差。Caffe支持所有主流开发系统,上手难度属于中等水平。

2)Tensorflow是Google开源的第二代深度学习技术,是一个理想的RNN API实现,它使用了向量运算的符号图方法,使得开发的速度可以很快。

Tensorflow支持的比较好的系统只有各种Linux系统和OSX,不过其对语言的支持比较全面,包含了Python、C++和Cuda等,开发者文档写得没有Caffe那么全面,所以上手比较难。

3)而此次百度的Paddle,作为基于Spark的异构分布式深度学习系统,通过使用GPU与FPGA异构计算提升每台机器的数据处理能力,暂时获得了业内“相当简洁、设计干净、稳定,速度较快,显存占用较小。”的评价,跟它通过使用GPU与FPGA异构计算提升每台机器的数据处理能力有重要联系。不过具体表现如何,还需等待几天观察一下大家的使用感受。

雷锋网

ECAI 2016论文精选 | 基于顺序保持投影的面部年龄估计——这是一个看脸的存在,年龄不再是秘密

应用场景导读:本文提出了一种基于顺序的新型面部年龄分析技术。当时how-old的意外走红除了证明朋友圈依然是一个看脸的存在,还说明了此类技术的巨大潜力,现在已经用于各种商业场景,帮助商业主做精准的客户分析。一个摄像头记录下来店人群的面部信息,就可以大致归纳他们的年龄和性别区间,进而得到在某个商铺做停留动作的人群中年龄、性别的比例,相应的客户动向和行为分析等更深入的应用也已经逐渐落地。

标题:基于顺序保持投影的面部年龄估计

摘要:面部年龄估计是自动面部感知中还未解决的挑战之一。之前的研究通常把它表述为按年龄分类的归类问题,或者把年龄作为实数区间内各种范围的回归问题。本文中,我们提出把这个问题表述为顺序回归问题。一方面,新表述强调年龄估计问题本身是一个归类问题(顺序序回归是一种特殊的归类问题);另一方面,新表述考虑了年龄的顺序问题,这在之前的归类表述中是经常被忽略的。我们研发了一种TOPP(顺序保持投影)方法,通过识别低维子空间保持最佳顺序关系,结果证明TOPP远远优于目前现金的面部年龄估计方法。

关键词:顺序保持投影;顺序回归;面部年龄估计;面部感知;机器学习


第一作者简介:

Xiao-dong Wang

南京大学,新型软件工程国家重点实验室。


via PRICAI 2016

论文原文件下载

雷锋网按: 本文由雷锋网独家编译,未经许可禁止转载!


雷锋网

欧盟要求苹果补税145亿美元,爱尔兰政府和苹果将上诉

欧盟于本周二正式裁定,要求苹果向爱尔兰补缴130亿欧元(约合145亿美元)的欠缴税款,此次追缴事件是布鲁塞尔被授权监督在欧企业以来的最大一补缴金额。

据悉,爱尔兰政府为了刺激当地经济的发展,将企业所得税降至12.5%,还能给予特定国家和地区的特定收入更低税率甚至免税的优惠,使得在爱尔兰设置分、子公司的跨国企业的实际税负远低于美国和其他欧盟国家。

欧盟竞争委员会专员表示:

爱尔兰向苹果许诺了减税政策,使苹果有效企业税从2003年的1%降低到2014年的0.005%。

苹果在爱尔兰设立了两个子公司:苹果国际销售公司(Apple Sales International,ASI)和苹果欧洲运营公司(Apple Operations Europe,AOE)。苹果国际销售公司负责在欧洲、亚太、非洲等地区的销售,根据爱尔兰的特殊税务安排显示,其允许苹果将苹果国际销售公司的大部分利润划分至某一个“总部”,而这个“总部”并没有设立在爱尔兰以及其他任何国家,根据爱尔兰法律,这个“总部”被视作“无国籍公司”,所以无需向爱尔兰纳税。最终,苹果只需为苹果国际销售公司的一小部分利润向爱尔兰缴税。数据统计,2011年苹果国际销售公司实现160亿欧元利润,而爱尔兰子公司分配到的利润不到5000万欧元,剩余部分全部划分到拥有免税资格的“总部”。

欧盟官员表示,爱尔兰的这种税务政策为苹果提供了巨大的财务优势,构成非法的国家补助。

对此,爱尔兰财政部长努南(Michael Noonan)极其反对欧盟委员会的裁定,他表示,爱尔兰将就这一裁定提起上诉,以维护该国税收制度的完整性。而美国财政部指出:对欧盟要求苹果补缴税款的裁决感到失望。与此同时,蒂姆·库克苹果官网上发布公开致信,全部内容如下:

  库克公开信

36年前,远在iPhone、iPod甚至Mac问世之前,史蒂夫·乔布斯创立的苹果公司首次在欧洲运营。当时公司知道,为了向欧洲客户提供服务,需要在那里设有一个基地。所以在1980年10月,苹果在爱尔兰的考克郡开了一家工厂,拥有60名员工。

当时,考克郡正在遭受高失业率和低经济投资的双重打击。但苹果的领导人看到这里拥有丰富的人才资源,他们相信,如果公司有幸成功,就能实现增长。

自此,我们在考克郡经营至今,尽管其间我们自己的业务经历过不确定性时期。今天,我们在爱尔兰雇用的员工总数达到近6000人,绝大多数仍然在考克郡,包括最早的一些员工,他们在苹果公司走向全球的过程中,起到各种各样的作用。无数跨国公司步苹果后尘,在考克郡进行投资,如今,这里的地方经济比以往任何时候都更强大。

推动苹果公司在考克郡实现增长的成功动力来自于创新产品,它们赢得了客户的喜爱。在整个欧洲,是这些产品帮助创造和维持了超过150万个就业机会,它们不光来自苹果公司,也来自在苹果应用商店蓬勃发展的成千上万个创意App开发商,以及制造商和其他供应商。无数中小企业依赖于苹果,能够为他们提供支持令我们感到自豪。

作为负责任的企业公民,我们也为自己对欧洲各地和每个社区的地方经济所做的贡献倍感骄傲。随着我们这些年的发展,我们已成为爱尔兰最大的纳税人、美国最大的纳税人、世界上最大的纳税人。

多年来,如同在这里做生意的所有公司一样,我们收到过来自爱尔兰税务当局的指导,教我们如何正确遵守爱尔兰税法。在爱尔兰以及我们有经营的每一个国家,苹果都遵循法律,支付我们所欠的所有税款。

欧盟委员会枉顾爱尔兰的税收法律,在国际税收体系流程上颠倒黑白,试图改写苹果在欧洲的历史。8月30日该组织发表意见称,爱尔兰允许苹果实行税收“特殊化”。这种表述缺乏事实或法律依据。我们从未要求也没有接受过任何特殊交易。现在,我们发现自己被置于尴尬境地,被要求在已付税款之外,再向爱尔兰政府另行支付税金,虽然我们并不欠他们什么。

该委员会的上述举动是前所未有的,具有严重而广泛的影响。它有效地向人们证明,欧盟委员会可以取代爱尔兰税法,自以为是,为所欲为。对欧盟成员国来说,这将对其在税收问题的主权,乃至对欧洲法律确定性的原则,造成毁灭性打击。爱尔兰已表示,计划对欧盟委员会的裁决提起上诉,苹果也会这样做。我们相信,该委员会将收回成命。

从根源上说,欧盟委员会的裁决无关乎苹果缴了多少税,而在于哪个政府收到这笔钱。

对跨国公司征税是复杂的,但世界各地都公认一条基本原则:一家公司的利税应按照该公司在经营国所创造的价值来征收。苹果、爱尔兰和美国都在这一原则上达成一致。

就苹果的情况而言,我们几乎所有的研究和开发都在加利福尼亚完成,所以我们的利润绝大多数是在美国征税的。欧洲公司在美国做生意也是根据相同的原则征税。但是,欧盟委员会现在要求追溯过去、改变规则。

除了将苹果公司当成明确目标之外,这一裁决也将对欧洲的投资和创造就业机会造成最深刻、最有害的影响。依照该委员会的理论,在爱尔兰和欧洲的每一家公司突然都面临着被不存在的法律认定为纳税对象的风险。

长期以来,苹果始终支持国际税收向着简单和清晰的改革目标迈进。我们相信这些变化应该通过适当的立法程序而确定,各种提案应该在受影响国家的领导人和公民之间进行讨论。而且,任何新的法律都应该向前看,而不是翻旧账。

我们对爱尔兰做出过承诺,我们计划继续在那里投资,我们将以一贯的激情和献身精神实现增长、服务客户。我们坚信,事实和欧盟创立的现行法律原则最终会获胜。

相关阅读

苹果面临欧洲最大税收罚单,最高可达190亿美元

欧盟或大刀“削”苹果,苹果最高被罚年收入的1/10

雷锋网

深度:自动驾驶特斯拉背后核心技术解析

雷锋网按:本文作者魏秀参,谢晨伟南京大学计算机系机器学习与数据挖掘所(LAMDA),研究方向为计算机视觉和机器学习。

说起特斯拉,大家可能立马会想到今年 5 月份发生在特斯拉 Model S 自动驾驶上的一宗夺命车祸。初步的调查表明,在强烈的日照条件下,驾驶员和自动驾驶系统都未能注意到牵引式挂车的白色车身,因此未能及时启动刹车系统。而由于牵引式挂车正在横穿公路,且车身较高,这一特殊情况导致 Model S 从挂车底部通过时,其前挡风玻璃与挂车底部发生撞击,导致驾驶员不幸遇难。

无独有偶,8 月 8 日美国密苏里州的一名男子、特斯拉 Model X 车主约书亚•尼利(Joshua Neally)在上班途中突发肺栓塞。在 Model X 的 Autopilot 自动驾驶功能的帮助下,他安全抵达了医院。这「一抑一扬」着实让人回味无穷,略有些「败也萧何,成也萧何」之意。

 

好奇的读者一定会有疑问:这「一成一败」背后的原理到底是什么?是自动驾驶系统中的哪个部分发生了失误而造成车祸?又是哪部分技术支撑了自动驾驶过程呢?

今天,我们就来谈谈自动驾驶系统中的一项重要核心技术——图像语义分割(semantic image segmentation)。图像语义分割作为计算机视觉(computer vision)中图像理解(image understanding)的重要一环,不仅在工业界的需求日益凸显,同时语义分割也是当下学术界的研究热点之一。

什么是图像语义分割?

图像语义分割可以说是图像理解的基石性技术,在自动驾驶系统(具体为街景识别与理解)、无人机应用(着陆点判断)以及穿戴式设备应用中举足轻重。

我们都知道,图像是由许多像素(pixel)组成,而「语义分割」顾名思义就是将像素按照图像中表达语义含义的不同进行分组(grouping)/分割(segmentation)。下图取自图像分割领域的标准数据集之一 PASCAL VOC。其中,左图为原始图像,右图为分割任务的真实标记(ground truth):红色区域表示语义为「person」的图像像素区域,蓝绿色代表「motorbike」语义区域,黑色表示「background」,白色(边)则表示未标记区域。

显然,在图像语义分割任务中,其输入为一张 H×W×3 的三通道彩色图像,输出则是对应的一个 H × W 矩阵,矩阵的每一个元素表明了原图中对应位置像素所表示的语义类别(semantic label)。因此,图像语义分割也称为「图像语义标注」(image semantic labeling)、「像素语义标注」(semantic pixel labeling)或「像素语义分组」(semantic pixel grouping)。 

从上图和题图中,大家可以明显看出图像语义分割任务的难点便在于这「语义」二字。在真实图像中,表达某一语义的同一物体常由不同部件组成(如,building,motorbike,person 等),同时这些部分往往有着不同的颜色、纹理甚至亮度(如building),这给图像语义的精确分割带来了困难和挑战。

前 DL 时代的语义分割

最简单的像素级别「阈值法」(thresholding methods)、基于像素聚类的分割方法(clustering-based segmentation methods)到「图划分」的分割方法(graph partitioning segmentation methods),在深度学习(deep learning, DL)「一统江湖」之前,图像语义分割方面的工作可谓「百花齐放」。在此,我们仅以「normalized cut」[1]和「grab cut」 [2]这两个基于图划分的经典分割方法为例,介绍一下前 DL 时代语义分割方面的研究。

Normalized cut (N-cut)方法是基于图划分(graph partitioning)的语义分割方法中最著名的方法之一,于 2000 年 Jianbo Shi 和 Jitendra Malik 发表于相关领域顶级期刊 TPAMI。通常,传统基于图划分的语义分割方法都是将图像抽象为图(graph)的形式 G=(V,E) (V 为图节点,E 为图的边),然后借助图理论(graph theory)中的理论和算法进行图像的语义分割。

常用的方法为经典的最小割算法(min-cut algorithm)。不过,在边的权重计算时,经典 min-cut 算法只考虑了局部信息。如下图所示,以二分图为例(将 G 分为不相交的 , 两部分),若只考虑局部信息,那么分离出一个点显然是一个 min-cut,因此图划分的结果便是类似 或 这样离群点,而从全局来看,实际想分成的组却是左右两大部分。

针对这一情形,N-cut 则提出了一种考虑全局信息的方法来进行图划分(graph partitioning),即,将两个分割部分 A,B , 与全图节点的连接权重(assoc(A,V) 和 assoc(B,V))考虑进去:

如此一来,在离群点划分中,中的某一项会接近 1,而这样的图划分显然不能使得是一个较小的值,故达到考虑全局信息而摒弃划分离群点的目的。这样的操作类似于机器学习中特征的规范化(normalization)操作,故称为normalized cut。N-cut不仅可以处理二类语义分割,而且将二分图扩展为 K 路( -way)图划分即可完成多语义的图像语义分割,如下图例。

 

Grab cut 是微软剑桥研究院于 2004 年提出的著名交互式图像语义分割方法。与 N-cut 一样,grab cut 同样也是基于图划分,不过 grab cut 是其改进版本,可以看作迭代式的语义分割算法。Grab cut 利用了图像中的纹理(颜色)信息和边界(反差)信息,只要少量的用户交互操作即可得到比较好的前后背景分割结果。

在 grab cut 中,RGB 图像的前景和背景分别用一个高斯混合模型(gaussian mixture model, GMM)来建模。两个 GMM 分别用以刻画某像素属于前景或背景的概率,每个 GMM 高斯部件(gaussian component)个数一般设为 。

接下来,利用吉布斯能量方程(gibbs energy function)对整张图像进行全局刻画,而后迭代求取使得能量方程达到最优值的参数作为两个 GMM 的最优参数。GMM 确定后,某像素属于前景或背景的概率就随之确定下来。

在与用户交互的过程中,grab cut 提供两种交互方式:一种以包围框(bounding box)为辅助信息;另一种以涂写的线条(scribbled line)作为辅助信息。以下图为例,用户在开始时提供一个包围框,grab cut 默认的认为框中像素中包含主要物体/前景,此后经过迭代图划分求解,即可返回扣出的前景结果,可以发现即使是对于背景稍微复杂一些的图像,grab cut 仍有不俗表现。

不过,在处理下图时,grab cut 的分割效果则不能令人满意。此时,需要额外人为的提供更强的辅助信息:用红色线条/点标明背景区域,同时用白色线条标明前景区域。在此基础上,再次运行 grab cut 算法求取最优解即可得到较为满意的语义分割结果。grab cut 虽效果优良,但缺点也非常明显,一是仅能处理二类语义分割问题,二是需要人为干预而不能做到完全自动化。

 

DL 时代的语义分割

其实大家不难看出,前 DL 时代的语义分割工作多是根据图像像素自身的低阶视觉信息(low-level visual cues)来进行图像分割。由于这样的方法没有算法训练阶段,因此往往计算复杂度不高,但是在较困难的分割任务上(如果不提供人为的辅助信息),其分割效果并不能令人满意。

在计算机视觉步入深度学习时代之后,语义分割同样也进入了全新的发展阶段,以全卷积神经网络(fully convolutional networks,FCN)为代表的一系列基于卷积神经网络「训练」的语义分割方法相继提出,屡屡刷新图像语义分割精度。下面就介绍三种在 DL时代语义分割领域的代表性做法。

全卷积神经网络 [3]

全卷积神经网络 FCN 可以说是深度学习在图像语义分割任务上的开创性工作,出自 UC Berkeley 的 Trevor Darrell 组,发表于计算机视觉领域顶级会议 CVPR 2015,并荣获best paper honorable mention。

FCN 的思想很直观,即直接进行像素级别端到端(end-to-end)的语义分割,它可以基于主流的深度卷积神经网络模型(CNN)来实现。正所谓「全卷积神经网络」,在FCN中,传统的全连接层 fc6 和 fc7 均是由卷积层实现,而最后的 fc8 层则被替代为一个 21 通道(channel)的 1×1 卷积层,作为网络的最终输出。之所以有 21 个通道是因为 PASCAL VOC 的数据中包含 21 个类别(20个object类别和一个「background」类别)。

下图为 FCN 的网络结构,若原图为 H×W×3,在经过若干堆叠的卷积和池化层操作后可以得到原图对应的响应张量(activation tensor) ,其中, 为第i层的通道数。可以发现,由于池化层的下采样作用,使得响应张量的长和宽远小于原图的长和宽,这便给像素级别的直接训练带来问题。

为了解决下采样带来的问题,FCN 利用双线性插值将响应张亮的长宽上采样到原图大小,另外为了更好的预测图像中的细节部分,FCN 还将网络中浅层的响应也考虑进来。具体来说,就是将 Pool4 和 Pool3 的响应也拿来,分别作为模型 FCN-16s 和 FCN-8s 的输出,与原来 FCN-32s 的输出结合在一起做最终的语义分割预测(如下图所示)。

下图是不同层作为输出的语义分割结果,可以明显看出,由于池化层的下采样倍数的不同导致不同的语义分割精细程度。如 FCN-32s,由于是 FCN 的最后一层卷积和池化的输出,该模型的下采样倍数最高,其对应的语义分割结果最为粗略;而 FCN-8s 则因下采样倍数较小可以取得较为精细的分割结果。

 

Dilated Convolutions [4]

FCN 的一个不足之处在于由于池化层的存在,响应张量的大小(长和宽)越来越小,但是FCN的设计初衷则需要和输入大小一致的输出,因此 FCN 做了上采样。但是上采样并不能将丢失的信息全部无损地找回来。

对此,dilated convolution 是一种很好的解决方案——既然池化的下采样操作会带来信息损失,那么就把池化层去掉。但是池化层去掉随之带来的是网络各层的感受野(receptive field)变小,这样会降低整个模型的预测精度。Dilated convolution 的主要贡献就是,如何在去掉池化下采样操作的同时,而不降低网络的感受野。

以 3×3 的卷积核为例,传统卷积核在做卷积操作时,是将卷积核与输入张量中「连续」的 3×3 的 patch 逐点相乘再求和(如下图a,红色圆点为卷积核对应的输入「像素」,绿色为其在原输入中的感知野)。而 dilated convolution 中的卷积核则是将输入张量的  3×3 patch 隔一定的像素进行卷积运算。

如下图 b 所示,在去掉一层池化层后,需要在去掉的池化层后将传统卷积层换做一个「dilation=2」的 dilated convolution 层,此时卷积核将输入张量每隔一个「像素」的位置作为输入 patch 进行卷积计算,可以发现这时对应到原输入的感知野已经扩大(dilate)为 ;同理,如果再去掉一个池化层,就要将其之后的卷积层换成「dilation=4」的 dilated convolution 层,如图 c 所示。这样一来,即使去掉池化层也能保证网络的感受野,从而确保图像语义分割的精度。

从下面的几个图像语义分割效果图可以看出,在使用了 dilated convolution 这一技术后可以大幅提高语义类别的辨识度以及分割细节的精细度。

 

以条件随机场为代表的后处理操作

当下许多以深度学习为框架的图像语义分割工作都是用了条件随机场(conditional random field,CRF)作为最后的后处理操作来对语义预测结果进行优化。

一般来讲,CRF 将图像中每个像素点所属的类别都看作一个变量 ,然后考虑任意两个变量之间的关系,建立一个完全图(如下图所示)。

在全链接的 CRF 模型中,对应的能量函数为:

其中是一元项,表示像素对应的语义类别,其类别可以由 FCN 或者其他语义分割模型的预测结果得到;而第二项为二元项,二元项可将像素之间的语义联系/关系考虑进去。例如,「天空」和「鸟」这样的像素在物理空间是相邻的概率,应该要比「天空」和「鱼」这样像素的相邻概率大。最后通过对 CRF 能量函数的优化求解,得到对 FCN 的图像语义预测结果进行优化,得到最终的语义分割结果。

值得一提的是,已经有工作[5]将原本与深度模型训练割裂开的 CRF 过程嵌入到神经网络内部,即,将 FCN+CRF 的过程整合到一个端到端的系统中,这样做的好处是 CRF 最后预测结果的能量函数可以直接用来指导 FCN 模型参数的训练,而取得更好的图像语义分割结果。

 

展望

俗话说,「没有免费的午餐」(no free lunch)。基于深度学习的图像语义分割技术虽然可以取得相比传统方法突飞猛进的分割效果,但是其对数据标注的要求过高:不仅需要海量图像数据,同时这些图像还需提供精确到像素级别的标记信息(semantic labels)。因此,越来越多的研究者开始将注意力转移到弱监督(weakly-supervised)条件下的图像语义分割问题上。在这类问题中,图像仅需提供图像级别标注(如,有「人」,有「车」,无「电视」)而不需要昂贵的像素级别信息即可取得与现有方法可比的语义分割精度。

另外,示例级别(instance level)的图像语义分割问题也同样热门。该类问题不仅需要对不同语义物体进行图像分割,同时还要求对同一语义的不同个体进行分割(例如需要对图中出现的九把椅子的像素用不同颜色分别标示出来)。

最后,基于视频的前景/物体分割(video segmentation)也是今后计算机视觉语义分割领域的新热点之一,这一设定其实更加贴合自动驾驶系统的真实应用环境。

References:

[1] Jianbo Shi and Jitendra Malik. Normalized Cuts and Image Segmentation, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 22, No. 8, 2000.

[2] Carsten Rother, Vladimir Kolmogorov and Andrew Blake. "GrabCut"–Interactive Foreground Extraction using Iterated Graph Cuts, ACM Transactions on Graphics, 2004.

[3] Jonathan Long, Evan Shelhamer and Trevor Darrell. Fully Convolutional Networks for Semantic Segmentation. IEEE Conference on Computer Vision and Pattern Recognition, 2015.

[4] Fisher Yu and Vladlen Koltun. Multi-scale Context Aggregation by Dilated Convolutions. International Conference on Representation Learning, 2016.

[5] Shuai Zheng, Sadeep Jayasumana, Bernardino Romera-Paredes, Vibhav Vineet, Zhizhong Su, Dalong Du, Chang Huang and Philip H. S. Torr. Conditional Random Fields as Recurrent Neural Networks. International Conference on Computer Vision, 2015.

雷锋网注:本文作者首发机器之心,授权雷锋网发布。如需转载请联系原作者,并注明出处不得删减内容。

雷锋网