infinitered/nsfwjs

NSFW detection on the client-side via TensorFlow.js

解决的问题

NSFWJS 是一个 JavaScript 库,旨在直接在客户端浏览器或 Node.js 服务器上识别不适宜或"不雅"的图像。它允许开发者通过检测色情或性暴露内容来实现内容审核,而无需将图像发送到远程服务器进行分析。

工作原理

该库基于 TensorFlow.js,使用预训练的机器学习模型(如 MobileNetV2 和 InceptionV3)将图像分类为五个不同类别:

  • Drawing:适合工作场合的绘图,包括动漫。
  • Hentai:色情绘图。
  • Neutral:适合工作场合的中性图像。
  • Porn:色情图像和性行为。
  • Sexy:非色情但具有性暗示的图像。

支持在多种环境中部署,包括浏览器端的 WebGPU、WASM 和 WebGL 后端,以及专用于服务器端的 Node.js 后端。

适用人群

需要在应用中集成图像审核工具以过滤 NSFW 内容,同时通过本地处理保护用户隐私的 Web 和移动开发者。

主要亮点

  • 客户端处理:在浏览器中执行分类,减少服务器负载并提升隐私保护。
  • 多种模型选择:内置 MobileNetV2(小型)和 InceptionV3(大型/更准确)等模型。
  • 灵活部署:支持通过 TensorFlow.js、React Native 和 Node.js 部署。
  • 自定义托管:允许开发者托管自己的模型文件,以减小包体积并提升加载速度。
  • 高准确率:小型模型准确率约为 90%,中型模型准确率约为 93%。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目