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%。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案