资源算法open_nsfw_android

open_nsfw_android

2019-12-30 | |  92 |   0 |   0

open_nsfw_android

Mozilla Add-on

色情图片离线识别,基于TensorFlow实现。识别只需200ms,可断网测试,成功率99%,调用只要一行代码,从雅虎的开源项目open_nsfw移植,tflite(6M)为训练好的模型(已量化),该模型文件可用于iOS、java、C++等平台,Python使用生成的tfLite文件检测图片的速度远远快于使用原模型.

iOS请参考:issues13

Python参考:NSFW-PythonPython-TensorflowLite-ApiPython-Tensorflow-Api

Java参考:Tensorflow-Api

C++参考:TensorflowLite-Api

JavaScript参考JS相关文档

其中Python、C++均有两种数据喂入的方式,可根据需求选择pb模型或tfLite文件,详细请参考上面的链接.Java的目前只能加载pb模型。其他的平台可自行百度

pb模型下载

本项目移除测试图片,请下载Demo后自行配图测试

使用

  • Add it in your root build.gradle at the end of repositories:

	allprojects {
		repositories {
			...
			maven { url 'https://jitpack.io' }
		}
	}
  • Add the dependency

	dependencies {
	         //versionCode:上面小icon中最新版本号
	        implementation 'com.github.devzwy:open_nsfw_android:[versionCode]'
	}
  • 扫描时报如下错误

java.lang.NullPointerException: Attempt to invoke virtual method 'com.zwy.nsfw.api.NsfwBean com.zwy.nsfw.Classifier.run(android.graphics.Bitmap)' on a null object reference

请添加

  android {
        ...
        aaptOptions {
            noCompress "tflite"
        }
  }
  • 使用

  val nsfwHelper = NSFWHelper.init(NSFWConfig(assets))
  val nsfwBean = nsfwHelper?.scanBitmap(bitmap)!!
  nsfwBean.sfw
  nsfwBean.nsfw
  if(nsfwBean.nsfw>0.3){
    Log.e("NSFW","图片涉黄")
  }
  • kotlin可直接使用File.getNsfwScore(mAssetManager: AssetManager): NsfwBean 或 Bitmap.getNsfwScore(mAssetManager: AssetManager): NsfwBean 直接获取鉴定结果(NSFWHelper 1.2.9版本开始支持),比如:

  val bitmap = BitmapFactory.decodeFile(path)
  
  val nsfwScore = bitmap.getNsfwScore(assets)
  
  if(nsfwBean.nsfw>0.3){
  
      Log.e("NSFW","图片涉黄")
      
  }

      val file = File(lm.path)
      
      val nsfwScore = file.getNsfwScore(assets)
      
      if(nsfwBean.nsfw>0.3){
      
          Log.e("NSFW","图片涉黄")
          
      }

安卓手机直接点我安装

扫码下载

2.png

Demo运行结果:


图片.png图片.png


上一篇:xuebaoWeb

下一篇:tensorflow-open_nsfw

用户评价
全部评价

热门资源

  • Keras-ResNeXt

    Keras ResNeXt Implementation of ResNeXt models...

  • seetafaceJNI

    项目介绍 基于中科院seetaface2进行封装的JAVA...

  • spark-corenlp

    This package wraps Stanford CoreNLP annotators ...

  • capsnet-with-caps...

    CapsNet with capsule-wise convolution Project ...

  • inferno-boilerplate

    This is a very basic boilerplate example for pe...