正道的光!这有个用TensorFlow做的小黄图过滤器
机器之心报道
编辑:张倩、陈萍
有了这个插件,再也不怕同事误会了。
相信每个人都遇到过这种情况:想下载一部电影或一个软件,结果跳出一堆色情广告,因为怕同学或同事误会,不得不赶紧关掉浏览器。这种情况广泛存在于电子书、电影等资源类网站以及插件、模板等工具类网站,给广大网友带来了很大困扰。
因此,很多人都在网上搜索:「如何屏蔽网页上的色情广告?」
其实,这个问题通过一个插件就能解决。
近日,一位名叫「Navendu Pottekkat」的计算机视觉工程师在 GitHub 上开源了一个项目——「NSFW Filter」,专治这种令人尴尬的小黄图,为大家创造一个干净的上网环境。
什么是 NSFW?对于不知道的小伙伴,这里统一科普一下:NSFW 的全称为「Not Safe For Work」。从名字可以看出,这是一个非法内容独有标记。它通常被用于标记那些带有淫秽色情、暴力血腥、极端另类等内容的邮件、视频、博客、论坛帖子等,以免读者不恰当地点击浏览。常见的用法是在链接的后面加上一对括号,括号中标记「NSFW」。
Pottekkat 开发的「NSFW Filter」是一个 Web 扩展,它可以在你浏览网站时过滤掉上面的 NSFW 图像。
在加载网页时,「NSFW Filter」使用 TensorFlow JS(一种机器学习框架)检查 NSFW 图像。加载网页后,所有图像将保持隐藏状态,直到上述检查步骤完成。如果发现图像是 NSFW,它们将保持隐藏状态。否则,它们将变为可见。
该扩展程序完全在你的浏览器上运行(支持 Google Chrome、Mozilla Firefox 浏览器),即没有用户数据被发送到服务器进行处理,可以保证用户隐私安全。
演示效果
该项目演示使用的网站是 scroller/nsfw,它会随机加载 NSFW 图像(一定不要打开!一定不要打开!一定不要打开!重要的事说三遍!)。
下面的动图展示了 NSFW 过滤器的功能。经过过滤后的图像,正常的都被显示出来,那些不适合普通网民看的图片则会被隐藏起来(由于 scroller/nsfw 上几乎没有「正常」图像,所以看到的是一片空白)。
安装过程
「NSFW Filter」支持 Chrome 浏览器和 Firefox 浏览器。
如果你是 Chrome 浏览器的用户,由于「NSFW Filter」在 Chrome Webstore 中尚不可用,所以请参照以下步骤进行安装。
克隆此存储库,在项目文件夹中导航,并通过运行以下命令安装依赖项:
npm ci
安装依赖项后,通过执行以下命令来构建项目:
npm run build
设置 Chrome 浏览器
安装完成后,打开 Chrome 浏览器,在右上角找到「设置」→「扩展程序」(或直接在地址栏输入 chrome://extensions/)。单击右上角的「开发者模式」开关打开「开发者模式」。
接下来单击 LOAD UNPACKED 按钮,然后选择扩展目录(.../dist)。
安装工作就完成了!
设置 Firefox 浏览器
如果你是 Firefox 浏览器用户而且只是想使用该扩展,请用该浏览器打开以下链接:https://addons.mozilla.org/en-US/firefox/addon/nsfw-filter/。然后点击「Add to Firefox」将该扩展添加到浏览器。
如果你想安装开发者版本,请在完成安装步骤之后执行以下步骤:
打开 Firefox 浏览器,输入 about:debugging#/runtime/this-firefox 到达 Debug Add-ons 页面。
单击「Load Temporary Add-on」,然后从.../dist 目录中选择文件 manifest.json。安装就大功告成了!
为了测试该扩展的效果,我们安装火狐浏览器测试了一下,结果效果还可以:
但是,NSFW 的视频内容还是会自动播放,看来项目还需要迭代。
欢迎大家在评论区推荐更好用的插件,帮大家净化上网环境。
© THE END
转载请联系 机器之心 公众号获得授权
正道的光!这有个用TensorFlow做的小黄图过滤器相关推荐
- 深度学习总结:用pytorch做dropout和Batch Normalization时需要注意的地方,用tensorflow做dropout和BN时需要注意的地方,
用pytorch做dropout和BN时需要注意的地方 pytorch做dropout: 就是train的时候使用dropout,训练的时候不使用dropout, pytorch里面是通过net.ev ...
- 语义网络分析图怎么做_怎么去分辨化工壶,光说可能大家还是会有疑惑,所以做了几个图...
网友们经常会拿一些壶出来,拍图给我看,问我会不会是化工壶,说到底,还是不放心自己手头上的紫砂壶,怕对自身健康造成影响,在这里,小编特地编辑这一段,教大家怎么去分辨化工壶,光说可能大家还是会有疑惑,所以 ...
- sklearn中lstm_分别用sklearn和tensorflow做房价预测
原标题:分别用sklearn和tensorflow做房价预测 本篇是后面用tensorflow做回归时的一个参照,忍不住要说的是sklearn真是简单好用,要不是他没有卷积cnn等时髦模型,真是不想用 ...
- 【TensorFlow基础操作笔记】图+对话+张量+变量+线性回归实例
[TensorFlow笔记] 基本结构(图 + 对话) 图的演示 对话的演示 张量的演示 变量 一个线性回归的案例 这是博主的一篇笔记性质的博客,随着学习会不断更新. 基本结构(图 + 对话) Ten ...
- 教你用TensorFlow做图像识别
弱者用泪水安慰自己,强者用汗水磨练自己. 上一篇文章里面讲了使用TensorFlow做手写数字图像识别,这篇文章算是它的进阶篇吧,在本篇文章中将会讲解如何使用TensorFlow识别多种类图片.本次使 ...
- 正道的光用计算机,正道的光作文500字
当那熟悉的轰天巨雷般的呼噜声响起,我就知道,这又是睡不着的一天. 同样在宿舍:同样是小翟:同样的时间:同样在我昏昏欲睡的时候,那个熟悉的呼噜声,它又来了.它将我从即将到来的美梦中惊醒了,全宿舍又一次不 ...
- Tensorflow源码解析5 -- 图的边 - Tensor
1 概述 前文两篇文章分别讲解了TensorFlow核心对象Graph,和Graph的节点Operation.Graph另外一大成员,即为其边Tensor.边用来表示计算的数据,它经过上游节点计算后得 ...
- TensorFlow基础11-(小批量梯度下降法和梯度下降法的优化)
记录TensorFlow听课笔记 文章目录 记录TensorFlow听课笔记 一,梯度下降法:求解函数极值问题 二,梯度下降法的优化 多层神经网络--非线性分类问题 损失函数不是凸函数,很难计算解析解 ...
- tensorflow 做加法
代码 #!/usr/bin/env python # -*- encoding: utf-8 -*- """ @Introduce : 加法运算 @File : demo ...
最新文章
- 2018-2019-1 20189201 《LInux内核原理与分析》第九周作业
- 导购提成怎么算_空调选购,别问“小白”问题,问导购这几个参数,才会显得内行...
- 用java编写一个计算器_用java程序编写一个计算器
- Aptana Studio 3 如何汉化,实现简体中文版
- 程序员在简书|努力奔跑
- 【codeforces】【01字符串匹配】Equalize【Manthan, Codefest 18 (rated, Div. 1 + Div. 2)】
- Python股票历史数据下载
- Openwrt常用软件模块之CWMP
- Axure RP 8制作计时器
- C#服务端如何获取外网IP
- 电子计算机的五个部分组成,电子计算机由哪几大部分构成?
- excel单个对象用poi导出,并设置每个sheet得最大行数防止报错
- 关于mysql的时区(下):如何设置mysql的时区
- 热电冷磁之牛顿的三棱镜谭:围棋之C++
- java 导入导出excel表格
- Crypto one-time-pad
- php大商创商城,news.php · Mihok/ecshop大商创商城 - Gitee.com
- 赋能 打造应对不确定性的敏捷团队 pdf_赋能——打造应对不确定的敏捷团队|《赋能》斯坦利...
- Linux常用命令及使用方法(非常详细!!!)
- 使用Map 代替Switch语句