ubuntu下搭建open_nsfw
open nsfw是雅虎开源的一款开源的黄图识别的模型。
nsfw翻译为不可在工作中看的图片。主要是针对黄图的,恐怖,血腥图片不能识别。
在ubuntu 14.04搭建open nsfw的环境
执行以下命令:
apt-get update
sudo apt-get -y install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get -y install libboost-all-dev
sudo apt-get -y install libatlas-base-dev
sudo apt-get -y install libhdf5-serial-dev
2安装python与pip
sudo apt-get -y install python-dev
sudo apt-get -y install libgflags-dev libgoogle-glog-dev liblmdb-dev python-numpy
安装pip
export PATH=”$PATH:/usr/local/bin/python
sudo apt -y install python-pip
3配置caffe
cd /home
apt-get -y install git
git clone https://github.com/BVLC/caffe.git
cd /home/caffe/python/
for req in $(cat requirements.txt);do pip install req; done
cd /home/caffe/
cp Makefile.config.example Makefile.config
vi Makefile.config
因为是虚拟机,这里cpu 模式,所以需要吧CPU_ONLY:=1前面的注释去掉
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial
修改配置文件完毕后,开始编译
make pycaffe
make all
make test
make runtest
export PYTHONPATH=/home/caffe/python:$PYTHONPATH
python
会出现一些报错信息
报错:import skimage.io Import Error: No module named skimage.io
解决方法:apt-get -y install python-skimage
报错:Import Error: No module named google.protobuf.internal
解决方法:
wget https://github.com/protocolbuffers/protobuf/releases/download/v2.6.0/protobuf-2.6.0.tar.gz
tar zxvf protobuf-2.6.0.tar.gz
cd protobuf-2.6.0
./configure
make && make install
cd python
python setup.py build
python setup.py test
python setup.py install
报错:libdc1394 error: Failed to initialize libdc1394
解决方法:ln -s /dev/null /dev/raw1394
没报错,安装caffe完毕
4安装open nsfw
cd /home/
git clone https://github.com/yahoo/open_nsfw
cd open_nsfw
mkdir image
放几张图片到image目录下
python ./classify_nsfw.py --model_def nsfw_model/deploy.prototxt --pretrained_model nsfw_model/resnet_50_1by2_nsfw.caffemodel ./image/11.jpg
python ./classify_nsfw.py --model_def nsfw_model/deploy.prototxt --pretrained_model nsfw_model/resnet_50_1by2_nsfw.caffemodel ./image/8.jpg
python ./classify_nsfw.py --model_def nsfw_model/deploy.prototxt --pretrained_model nsfw_model/resnet_50_1by2_nsfw.caffemodel ./image/9.jpg
三张图片的数值分别是:
NSFW score: 0.943383216858
NSFW score: 0.765072345734
NSFW score: 0.446755349636
socre < 0.2 很安全
score >= 0.2 && score <= 0.8 介于色情与安全之间
score > 0.8 很大可能性是色情
github上的一些开源数据集:
https://github.com/EBazarov/nsfw_data_source_urls
https://github.com/alexkimxyz/nsfw_data_scraper
保重身体。