起因:之前 ImgURL 一直使用雅虎的 Open NSFW 识别方案,但是 Open NSFW 这个项目 2019 年就归档且不再更新了。最近正在重构 ImgURL ,顺便准备寻找新的色情图像识别方案,结果找了一圈,没发现满足自己需求的,于是就手搓了一个,希望对开发者有帮助。

Github 开源:https://github.com/helloxz/nsfw
测试 API:https://nsfw.demo.mba/check?url=https://www.imgurl.org/static/images/logo.png
只需要把 URL 参数值替换为任意可访问的图片地址即可识别,个人感觉识别率比 Open NSFW 更强一些,而且速度也不错。(识别速度非 http 下载和请求速度)
基于 AdamCodd/vit-base-nsfw-detector/ 实现,并封装为 HTTP API 调用,可用于识别网络色情图像( nsfw 识别),适合纯 CPU 机器推理,轻量级实现方案。
docker run -d \
--name nsfw \
-p 6086:6086 \
--restart always \
helloz/nsfw
完整的说明可以访问 Github 查看: https://github.com/helloxz/nsfw
新增了WEBUI,部署的时候可通过环境变量选择是否启用。WEBUI测试地址:https://nsfw.demo.mba/
1
MIUIOS 23 小时 25 分钟前 |
2
xiaoz OP @MIUIOS #1,模型用的是 https://huggingface.co/AdamCodd/vit-base-nsfw-detector/ 开源的,我本身并没有进行模型训练。
所以我这里没有数据集,哈哈。 |
3
Pantheonn 22 小时 32 分钟前 用射了,确实不错,可以加一个识别本地图片吗
|
4
hccsoul326 22 小时 29 分钟前 可以反着用不,去捞一堆图片,部署上去反向过滤一下,只留下色图
|
6
xiaoz OP @hccsoul326 #4 ,你需要部署一个图床服务就可以实现了。比如我开头所说,哈哈哈。
|
7
nicoljiang PRO 这个对涉政、涉暴力 等方面没用吧?
|
8
xiaoz OP @nicoljiang #7 ,没用哈,底层模型只针对色情图像进行了训练,如果要更多类型的识别,需要自己训练模型。
|
9
abel533 20 小时 46 分钟前 能不能识别色情、暴力、血腥等分类?
|
11
Maboroshii 20 小时 19 分钟前
整蜜罐是吧
|
12
nananqujava 20 小时 17 分钟前 我需要反向过滤
|
14
xiaoz OP @Maboroshii #11 ,没有啊,源码都在 Github 开源了,图片压根就没有保存。
|
17
slert 16 小时 38 分钟前 和 nsfwjs 相比识别质量如何
|
19
xclrr 6 小时 4 分钟前 yahoo 的模型只有 22MB ,这个 300 多 MB 不够轻量啊
|
20
xiaoz OP @xclrr #19 ,你拿容器镜像大小和模型大小去对比???
1. 这个项目的模型大小大概 50MB 左右,看这里:https://github.com/helloxz/nsfw/tree/main/app/onnx ,单从模型的大小来说,雅虎模型只有 20M 左右确实更小,但是个人测试了下雅虎的效果相对更差一些。 2. 容器包括 Python 运行环境和相关依赖,自然更大一些。 3. 如果单纯的去对比体积,是不是镜像对比镜像更合理一些?这是第三方基于 open nsfw 的镜像:https://hub.docker.com/r/eugencepoi/nsfw_api 体积是 600M 4. 轻量指的是相对市面上的方案实现和运行时资源占用,而不是单纯看体积。就算对比容器体积,我的镜像也是相对偏小,你可以自行去 docker 搜索 nsfw 对比。 请辩证的看待问题,谢谢。 |
21
gargar 4 小时 32 分钟前 via iPhone
感谢分享。有没有性能测试数据?
|
22
gargar 1 小时 5 分钟前 简单测了一下,苹果 M 芯片 0.5-0.8 秒,云主机比较弱要 3-4 秒。
|