市面上找了一圈,似乎很少有提供**私有部署**且**支持HTTP调用**的方案,于是xiaoz手动整合了一套色情图像识别方案,现已在Github开源:https://github.com/helloxz/nsfw,任何人均可部署和调用,欢迎大家体验和提出建议。

特点
此项目基于AdamCodd/vit-base-nsfw-detector/ 实现,并封装为HTTP API调用,可用于识别网络色情图像(nsfw识别),适合纯CPU机器推理,资源占用低,识别速度快,具备以下特点:
* 纯CPU推理,适合大多数云服务器或VPS
* 支持的图片类型:jpg/png/bmp/webp
* 支持HTTP API调用
* 支持鉴权访问
* 轻量级实现,资源占用较低
* 识别速度较快
* 支持Docker私有部署
私有部署
Docker部署
docker run -d \
--name nsfw \
-p 6086:6086 \
--restart always \
helloz/nsfw使用Docker Compose部署(推荐)
新建
docker-compose.yaml,内容如下:services:
nsfw:
container_name: nsfw
image: helloz/nsfw
ports:
- "6086:6086"
# 环境变量
environment:
- TOKEN=your_token_here
- WORKERS=1
restart: always然后启动:
docker-compose up -d环境变量
*
TOKEN:鉴权密钥(自行设置字符串),不设置则无需鉴权*
WORKERS:进程数量,默认1,多核CPU可增加此数值HTTP调用
未启用鉴权:
curl 'http://localhost:6086/check?url=https://www.imgurl.org/static/images/logo.png'启用鉴权:
curl 'http://localhost:6086/check?url=https://www.imgurl.org/static/images/logo.png' \
--header 'Authorization: Bearer your_token_here'返回值:
{
"code": 200,
"msg": "success",
"data": {
"sfw": 0.0014,
"nsfw": 0.9986,
"is_nsfw": true
}
}*
code:状态码,200视为成功,其余状态码视为失败*
msg:消息提示,错误时会显示具体原因*
data.sfw:安全系数[0-1],值越高表示图片越安全*
data.nsfw:风险系数 [0.0-1.0],值越高表示风险越高*
is_nsfw:当nsfw>=0.8时判定为色情图像,也可以自行根据nsfw分险系数判断测试API
* 测试地址:https://nsfw.demo.mba/check?url=https://www.imgurl.org/static/images/logo.png
> 测试地址存在限流设置,仅供测试使用,请勿用于其它用途!
结语
随着开源社区NSFW模型的进步,ImgURL图床的识别能力也即将迎来了升级。这款开源、易部署且高效的私有方案,希望能为同样需要内容安全审核的开发者带来便利。欢迎各位体验并提出宝贵建议。
> Github项目地址:https://github.com/helloxz/nsfw