GitHub 被指审查内容,著名“换脸”开源项目 deepfake 遭限制访问
昨天 Hacker News 上一条关于 deepfake 开源项目的帖子(https://news.ycombinator.com/item?id=19182956)引发了众多开发者的激烈讨论,事出为何?我们不妨看看。
按照帖子的提示,笔者尝试在隐身模式下以未登录的方式访问 deepfake 的 GitHub 仓库,结果如下图所示:
▲未登录 GitHub 帐号状态下访问 deepfake 的代码仓库(https://github.com/deepfakes/faceswap)
可以看到,未登录 GitHub 帐号的状态下,将无法访问 deepfake 这个开源项目的代码仓库,并且会跳转到 GitHub 的登录界面。但 GitHub 一直以来的规则都是:无论用户是否处于登录状态,只要是公开的仓库,任何人都可以进行访问并下载源码。而 deepfake 一直都是一个公开仓库,而不是私有仓库,所以出现这样的情况比较反常。
正是因为这个举动,deepfake 在 GitHub 上的限制被开发者认为遭遇了某种形式的「审查」。但这个行为是 GitHub 的主动意愿,抑或是迫于第三方压力,目前不得而知。
事实上,GitHub 对开源项目采用这种形式的限制访问并不常见。虽然 GitHub 也曾公开表示收到过来自政府的删除请求(https://github.com/github/gov-takedowns),但这是因为这些托管在 GitHub 上的仓库大多都包含敏感内容。
可为什么 deepfake 作为一个纯技术的开源项目也有了这种待遇?说到这,还是先简单介绍一下 deepfake 吧,不过相信在座的各位对它也不会感到陌生。
deepfake 在 GitHub 上的自我描述是:一种利用深度学习技术识别和交换图片、视频中人物脸部图像的工具,也就是俗称的“换脸神器”。但更多的使用者将 deepfake 当成了视频造假工具 —— 把一个人的脸庞转移到另一个的身上,让假视频、假新闻轻松传播到全网。
不信看看下面这些动图,你能辨认出真假?
▲该 GIF 来自一段电视新闻男主播说话的视频,是真的吗?
▲这位女主播,她讲话的这段视频也是真的吗?
▲这位男主播呢?
▲你们的十元呢……
这些动图看起来毫无违和感,但实际上全都是假的!动图上的这些人,从没做出过这些口型和表情。更重要的是,类似这样的假视频近两年在网络上大量涌现,而这些假视频基本都使用了 deepfake 的技术。
在 deepfake 诞生之前,视频换脸技术主要应用于电影拍摄中,而且它需要相对较高的技术和资金投入。但现在,deepfake 等深度学习技术的出现大大降低了换脸门槛,使用者不仅用它来捏造针对政要人士的假新闻,还用它来制造女明星的色情片。
这些假视频、假新闻的危害性之大这里就不赘述了。而且 deepfake 去年甚至惊动了美国五角大楼。他们通过美国国防部高级研究计划局(DARPA)委托全美各地的专家,想方设法检测各类视频的真实性。不久后,DARPA 就研发了一款能够自动监测处被换了脸的假视频的 AI 工具,根据假视频一般不会表现出眨眼、呼吸和眼球运动这些特征,能够以 99% 的准确率识别出假视频。
相关论文和数据集:
https://arxiv.org/abs/1901.08971
https://github.com/ondyari/FaceForensics
HN 帖子底下的评论中有一位 ID 为 alexeldeib 的用户自称是微软的员工,并进行了这样的回复:“我认为这个行为是微软指示 GitHub 执行的操作,而不是 GitHub 的独立决定。如果这是一个自上而下的决策,而不是内部决定的结果,这将令人十分失望。”
还有用户表示,这正是 GitHub 被微软收购后的妥协举动。但立马就有其他用户回复说这种行为在收购之前就已存在(https://github.com/deepfakes/faceswap/issues/392)。
▲可以看到,在微软收购 GitHub 前,就已有用户在 deepfake 仓库中提交过需要登录 GitHub 帐号才能访问项目的 issue。
纵观整个帖子,大家主要是围绕技术被滥用的问题而争论,以及技术与道德之间的冲突。当然,还有很多声讨 GitHub 的留言,他们认为这是 GitHub 一贯以来的做法,因为在被微软收购前也曾有过类似这样的行为。
最后我想以帖子中一位用户的评论结尾 ——“我可能不同意你所说的话,但我誓死捍卫你制造名人虚假裸体的权利”(“I may not agree with what you have to say, but I will defend to the death your right to create fake nudes of celebrities.”)。
GitHub 被指审查内容,著名“换脸”开源项目 deepfake 遭限制访问的更多相关文章
- GitHub上最受欢迎的Android开源项目TOP20
以下这些开源项目都是从GitHub上筛选的,我强烈推荐android程序源代码有时间的时候自己在上面淘淘,或许能发现自己须要的开源程序. 了解开源项目有两个优点: 1.借鉴代码,一般来说.火爆的开源项 ...
- GitHub上最受欢迎的iOS开源项目TOP20
AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS.Mac OS X网络通信类库,现在是GitH ...
- 40个GitHub上最受欢迎的iOS开源项目
40个GitHub上最受欢迎的iOS开源项目(一) http://www.weste.net/2013/8-1/92975.html 40个GitHub上最受欢迎的iOS开源项目(二) http:// ...
- GitHub上有很多不错的iOS开源项目
GitHub上有很多不错的iOS开源项目,个人认为不错的,有这么几个:1. ReactiveCocoa:ReactiveCocoa/ReactiveCocoa · GitHub:GitHub自家的函数 ...
- 推荐大家在GitHub 上值得关注学习的 iOS 开源项目
GitHub上有很多不错的iOS开源项目,和大家特别推荐以下几个项目: 1. ReactiveCocoa GitHub链接:ReactiveCocoa/ReactiveCocoa GitHub自家的函 ...
- 硬核! Github上 ,star超高的Java 开源项目分享给你!
Awsome JavaGreat Java project on Github(Github 上非常棒的 Java 开源项目). English Version 大家都知道 Github 是一个程序员 ...
- 2016年GitHub排名前20的Python机器学习开源项目(转)
当今时代,开源是创新和技术快速发展的核心.本文来自 KDnuggets 的年度盘点,介绍了 2016 年排名前 20 的 Python 机器学习开源项目,在介绍的同时也会做一些有趣的分析以及谈一谈它们 ...
- GitHub上易于高效开发的Android开源项目TOP20--适合新手
1. android-async-http android-async-http是Android上的一个异步.基于回调的HTTP客户端开发包,建立在Apache的HttpClient库上. 2. an ...
- Hello!GitHub 好用好玩值得收藏的开源项目集合~
这是我许久以来从各处发现的极佳开源项目,希望分享给大家~ 如果帮到你了,给我个赞好嘛 编程语言类 ️learn-go-with-tests(通过单元测试学Go) GitHub地址:https://gi ...
随机推荐
- 1089 Insert or Merge (25分)
According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and gr ...
- 分治与递归-Starssen矩阵乘法
代码实现: /** * 矩阵乘法求解 * @author Administrator * */ public class Strassen { public static final int NUMB ...
- VMwareWorkstation如何设置共享文件夹
首先需要安装VMware Tools 这个嘛,应该是需要安装的,之前没有安装好像就没有设置成功. 没有安装的参考如何安装VMware Tools 然后在虚拟机设置里面设置共享路径 右键虚拟机名称,打开 ...
- ubuntu上安装redis和配置远程访问
ubuntu上安装redis和配置远程访问 安装redis: 下载安装包: wget http://download.redis.io/releases/redis-4.0.1.tar.gz 解压: ...
- (js描述的)数据结构[树结构1.2](12)
1.先序遍历 2.中序遍历 3.后序遍历 4.递归调用栈详解: 详细见: https://zhuanlan.zhihu.com/p/24291978 5.删除节点操作分析: 5.代码封装 //封装二叉 ...
- 28 api的使用2
本文将讲解如下api的使用: Object.System.Date.DateFormat.Calendar.Integer-- int的包装类等 1. 类 Object 是类层次结构的根类.每个类都使 ...
- HAproxy shell脚本安装
#!/bin/bash #需要lua-..tar.gz在家目录下 # 编译安装lua #安装编译环境需要的包 yum -y install gcc openssl-devel pcre-devel s ...
- matplotlib TransformNode类
TransformNode 是所有参与变换的类和所有需要无效自己或祖先的类的基类 方法: __init__(shorthand_name=None): 参数 [shorthand_name]: 别名 ...
- ln -s 软链接命令
所有对软链接link_name的操作都是对目录或文件dir_file的操作 ln -s [dir_file] [link_name]
- 数组的增加与删除(push、pop、unshift、shift)
1. 数组增删和换位置(原数组将被修改) push() //在数组最后面插入项,返回数组的长度 数组1改后的长度 = 数组1.push(元素1); pop() //取出数组中的最后一 ...