雅虎开源色情图片检测神经网络
近期,雅虎刚刚开源了他们自己构建的一套深度学习神经网络,它专门用于自动检测图片是否含有色情内容。
(详见:https://yahooeng.tumblr.com/post/151148689421/open-sourcing-a-deep-learning-solution-for)
NSFW(Not Suitable For Work)用于标记不适合上班时间浏览的网络内容,它的界定其实是很主观的,有的人反感的东西可能其他人并不觉得如何。雅虎的这个深度学习神经网络的定位是专注于NSFW中的色情图片。所以,该模型不适用于处理素描、文字、动画、暴力图片等内容。
对色情图片的鉴定并不容易,所以除了技术手段之外往往都离不开人工,于是就催生了鉴黄师这样的岗位。
因为对于机器来说,图片都是些RGB的像素罢了,不论是花草树木,还是香车美女,摆在无欲无求的机器面前并无差异。而人,却对它有天生识别能力。美国前大法官波特·斯图尔特就有这样一句名言:“ 我看到它,才知道它是不是”。因此,机器是得向人来学习如何判定色情图片的。
该神经网络使用了CaffeOnSpark ,这是一个基于Hadoop/Spark的分布式深度学习框架。雅虎已经基于已有的数据对模型进行了训练,这些数据既包括NSFW的,也包括SFW(suitable for work,适合上班时间浏览)的,每张图片已明确标记好。
在通过学习之后,它会为每张待鉴定的图片打出一个NSFW得分,表示属于NSFW的可能性。该值范围从0至1,小于0.2表示很有可能是安全的,大于0.8表示有很大可能是NSFW的。
如下图所示,花丛中的少女衣着保守,得分0.001,而运动中的女孩和海边的男子虽暴露了部分肢体,但得分也仅为0.116和0.074,都未达到NSFW的标准。想了解该模型生成和训练的更多详情,请看这里:
https://github.com/jay-mahadeokar/pynetbuilder/tree/master/models/imagenet
雅虎建议大家在使用时选择自己的阈值,因为应用场景和对NSFW标准的理解可能会有差异,所以开发人员最好根据自己应用对NSFW的定义来设定评估值。
在Reddit上,大家就该模型对评估的有效性展开了讨论。地址见:
https://www.reddit.com/r/programming/comments/559ehn/open_sourcing_a_deep_learning_solution_for/?
有人认为:
“不知道它的评估是否准确,如果能允许大家上传图片,它打出分来让大家评价一下效果就好了”
而有人就此回应说:
“我不知道你会怎么看,但我肯定不会让人把最NSFW的图片上传到我的服务器上的”
出于某些原因,在公共网络上放置各类NSFW图片的确不太合适。好在雅虎已经将此模型开源,如果各位感兴趣的话,可以自己动手实践一下,看它给出的评估是否符合你的标准。
你可以通过雅虎的文章了解更多详细内容,模型可以在 GitHub 上下载。如果你想要搭建自己的色情图片识别系统,必须要自己提供数据,这可能对大家来说不算什么难事。
GitHub地址:
https://github.com/yahoo/open_nsfw/blob/master/README.md
本文作者: 夏雪
崭露头角的JavaScript框架Vue.js 2.0版本已经发布,在狂热的JavaScript世界里带来了让人耳目一新的变化。
Vue创建者Evan You在一篇博文中称 Vue 2.0 在性能上有显著的提升,同时保持轻量的文件下载:
渲染层基于一个轻量级的Virtual DOM实现进行了重写,该Virtual DOM实现fork自snabbdom。新的渲染层相比v1带来了巨大的性能提升,也让Vue 2.0成为了最快速的框架之一。
根据1.0到2.0迁移指南,“大约90%的API是相同的”。不同于一些JavaScript框架,从一个版本到下一个版本会有巨大的变化,在Vue 2.0中“核心概念没有改变”。
除了核心库,vue-router和vuex库已经更新到2.0版本,vue-cli已经默认生成了 2.0 的脚手架。
在Vue 2.0第一次宣布发布时,You说过滤器要离开了。然而随着时间的推移,这个立场改变了,Vue 2.0中仍然保留了文本插入过滤器。的确,在使用指南过滤器这一章节也指明了“Vue 2.x中过滤器仅能在mustache内部绑定使用。要在指令绑定中实现相同的行为,应该使用计算属性。”框架不再提供任何内置过滤器,并且数组过滤器(削减了基于标准的数组)也已经取消了。
因为Vue主要不是由大型技术公司创建的,You采取了不同的融资方式。You能够在这个项目全职工作要感谢Patreon,在Patreon上You设置的赞助方式是每月保证一定数量的金额。截至发稿时,Patreon每月为Vue的可持续发展赞助8853美元。除了You之外,Vue.js核心团队还有18个人。
社区里大多是积极的回应:
“Vue比ng2更简洁”
(https://www.reddit.com/r/webdev/comments/559m4e/vue_20_is_here/d89n7w3)
“我发现Vue 2.0介于Angular 1和React之间。它是现代化的并且很容易学习和使用”。
(https://www.reddit.com/r/javascript/comments/557h8w/thoughts_on_vue_20/d889tz7)
Vue发布了 对比指南,(详见:http://vuejs.org/guide/comparison.html)
展示了它与其他框架(如Angular和React)的不同之处。
本文翻译已获授权,原文链接见:
https://www.infoq.com/news/2016/10/vue-js-2-0-released
本文译者:任美芒
信息时代著名的“所见即所得”原则在地图绘制领域并不那么适用,也就是说,你所看到的(实地考察)不一定会忠实于你最终获得的结果(绘制的地图)。实际上没有比它更不可信的了,一切都取决于现实观察与资料阐释这两个环节。——法国地理学家、绘图专家、记者 菲利普·荷卡斯韦兹
2016年10月5日,谷歌宣布推出一个开源的实时同步定位与制图(SLAM)库,名为Cartographer,即制图者。(https://github.com/googlecartographer)
开发人员可以用这个库实现二维和三维定位及制图功能。谷歌同时还开放了能将Cartographer集成到ROS、Toyota HSR及TurtleBot三个机器人系统的辅助项目。
实际上在2014年9月,谷歌就曾推出过一款同名的背包,这款背包配备了两个多回波激光扫描仪和一个惯性测量组件,用SLAM技术实时绘制室内平面图。还可以在室内地图上添加信息点,比如标记酒店的房间号、博物馆的展览品等。谷歌说,“只用几个小时就完成了39层的旧金山马奎斯万豪酒店室内地图的制作。”
同步定位与制图(Simultaneous Localization and Mapping--SLAM)技术最早由Smith、Self和Cheeseman在1988年提出。SLAM算法把各种传感器(比如激光雷达、惯性测量单元和摄像机等)中收集来的数据整合到一起,由此来计算传感器的位置,同时绘制传感器周边的地图。
简单来说,Cartographer制图与定位的过程跟我们在自己房间里绘制平面图和定位的过程很像:
站在房间中央,在纸上画一个X来表示自己当前所在的位置。
用激光测距仪测量你到一面墙的距离,然后在纸上画一条线来表示那面墙。
对你能见到的所有墙重复步骤2,直到把所有墙都画出来。
在你移动的新的位置之后,既然墙还没跑(希望如此),再次测量到墙面的距离就可以确定你的新位置。
下图演示Cartographer制图的过程:
除了谷歌的室内测绘背包,在自动驾驶汽车、自动化仓库叉车、吸尘机器人和无人机等自主性平台中,同步定位与制图技术也是最基本的组成部分。
随着人工智能技术的不断发展,可以想见,带有同步定位与制图功能的智能设备在我们未来的生活中将发挥非常重要的作用。正是为了推动该项技术及其社区的发展,在内部研发了三年多之后,谷歌决定将其开源。与此同时,在德意志博物馆的协助下,谷歌还将其在Cartographer背包上收集到的数据一并开放。
目前Cartographer主要是基于激光雷达的SLAM实现,谷歌希望通过后续的开发及社区的贡献,支持更多的传感器和机器人平台,同时不断增加新的功能,比如在已有地图中的定位和终身制图等功能。
本文作者:吴海星
▽
延展阅读(点击标题):
Q新闻丨JavaOne 2016:Java的近期及长远规划;携程开源数据库访问框架Ctrip DAL……
微服务那么热,创业公司怎么选用实践?
从概念到底层技术,一篇文看懂重塑世界的区块链
喜欢我们的会点赞,爱我们的会分享!