黄图识别-open nsfw

大楷简介: 
open nsfw是一款开源的黄图识别的模型。对的,只是模型。并且有有python的代码作为预测图片是否黄图。 
https://github.com/yahoo/open_nsfw 这里网址。 
open nsfw是雅虎开源项目caffeonspark,使用深度学习训练得到caffe模型。nsfw翻译为不可在工作中看的图片。主要是针对黄图的,恐怖,血腥图片不能识别。 
1 快速开始 
这个步骤来自原github的原文,是使用docker来使用的。docker自己安装好,很好安装的。docker简单来说是把环境打包成一个镜像,我们可以通过下载镜像来运行打包的程序等。这是我的理解,因为以前没接触过docker。docker的好处就是,不用自己配置复杂的环境。

#从url下载docker命名问caffe:cpu
docker build -t caffe:cpu https://raw.githubusercontent.com/BVLC/caffe/master/docker/standalone/cpu/Dockerfile

#检测caffe的版本,这里可以看到docker run caffe:cpu 这个语句就是docker的运行语句,后面可以更命令,就和linux其他命令一样
docker run caffe:cpu caffe --version

#运行模型
cd open_nsfw
docker run --volume=$(pwd):/workspace caffe:cpu \
python ./classify_nsfw.py \
--model_def nsfw_model/deploy.prototxt \
--pretrained_model nsfw_model/resnet_50_1by2_nsfw.caffemodel \
test_image.jpg
NSFW score:   0.14057905972
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

docker我是没有成功,原因是docker build的后面的url不可用。 
在说下,nsfw score的分,官网说的很明确,0.8以上基本都是黄图,0.2以下基本都是非黄图,在此之间都可能是黄图,这可以给黄图分级别。

2在ubuntu搭建open nsfw的环境 
这里主要是caffe的安装,参考http://caffe.berkeleyvision.org/installation.html官网 
前提条件,系统ubuntu16 ,caffe就是官网下的最新版 
我这里安装目录统一为/home/wangqi/ 
1安装caffe 
1安装依赖 
这个命令是更新一下apt-get 
sudo apt-get update

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler 
sudo apt-get install –no-install-recommends libboost-all-dev 
sudo apt-get install libatlas-base-dev 
sudo apt-get install libhdf5-serial-dev

2安装python与pip 
sudo apt-get install python-dev 
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

安装pip 
export PATH=”$PATH:/usr/local/bin/python 
sudo apt install python-pip

3配置caffe 
git clone https://github.com/BVLC/caffe.git 
如果没有git,还需要安装git: 
apt-get install git

进入caffe目录的python目录,看自己caffe下载在哪里的 
然后在运行,通过pip安装依赖包 
cd /home/wangqi/caffe/python 
for req in (catrequirements.txt);dopipinstall(catrequirements.txt);dopipinstallreq; done

在进入caffe的主目录,修改编译的配置文件 
cp Makefile.config.example Makefile.config 
因为是虚拟机,这里cpu 模式,所以需要吧CPU_ONLY:=1前面的注释去掉 
并修改配置路径 
CPU_ONLY := 1 
INCLUDE_DIRS := (PYTHONINCLUDE)/usr/local/include/usr/include/hdf5/serialLIBRARYDIRS:=(PYTHONINCLUDE)/usr/local/include/usr/include/hdf5/serialLIBRARYDIRS:=(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial 
这里写图片描述 
这里写图片描述

配置好之后以此输入如下命令,但是在make pycaffe的时候会报错,解决方法移步解决错误解决2 
make pycaffe 
make all 
make test 
make runtest

make默认是单核编译,如果想加快速度,也有资源的话请加上-j4 
make -j4

安装错误,重新安装的时候,一定要make clean清理

4之后配置python caffe,这里是caffe的安装目录下python目录哈 
export PYTHONPATH=/home/wangqi/caffe/python:$PYTHONPATH

这一部相当于是把caffe放入pathon的path,这样在python中才能使用import caffe。如果没有报错如下: 
这里写图片描述 
5验证 
输入python命令,然后在命令行输入inport caffe,如果能引用没有报错,说明caffe已经安装好。 
这里写图片描述

6安装open nsfw 
git方式下载open nsfw 
git clone https://github.com/yahoo/open_nsfw

cd open_nsfw 
我这里在open_nsfw创建一个pic目录,通过rz上传了几张图片进入,然后在open_nsfw的安装目录执行一下命令。 
比如图片-原图下面有一点点露点的,不敢发,就截图了。 
这里写图片描述 
python ./classify_nsfw.py \ 
–model_def nsfw_model/deploy.prototxt \ 
–pretrained_model nsfw_model/resnet_50_1by2_nsfw.caffemodel \ 
./pic/h9.jpg 
“` 
计算结果如下: 
这里写图片描述

来一张正常点的图 
这里写图片描述

得分为: 
这里写图片描述 
总的来说,识别能力还是挺高的,一些擦边球都可以识别。有些漫画识别能力不太好,有一些内涵漫画识别能力不强,比如图片中只有4条腿这种。 
3错误整理 
错误解决2 
配置caffe的python环境时make pycaffe提示fatal error: numpy/arrayobject.h No such file or directory解决方法 
重装numpy: 
sudo pip uninstall numpy 
sudo pip install numpy 
是没有用的。。。 
解决的办法就是: 
sudo apt-get install python-numpy

这里没有显示安装cuda,BLAS等。 
还有就是centos里面安装caffe巨难装,特别恼火。下次目标为在centos安装成功caffe,陆续部署caffeonspark,把open nsfw做成接口。

你可能感兴趣的:(【Caffe,及,应用实例】,【深度学习--应用实例,】)