OpenNSFW是雅虎数年前已经训练好的一个鉴黄模型(是的只是模型而已,素材请自行解决)。既然已经在小树莓派上搭建好了Caffe,那么何不试试基于Caffe的鉴黄模型?
Caffe环境
关于树莓派(64位的,32位可参考)Caffe环境的搭建,之前的一遍文章已经谈过,可以去参考一下。
另外,需要把Caffe的Python接口也编译了,即pycaffe环境:
# 在caffe目录下执行
make pycaffe -j4
然后记得往PYTHONPATH里面添加此库:
vim ~/.zshrc
vim ~/.bashrc
export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH
检验pycaffe库是否配置正确:在python中import一下,如下即可。
如果在编译pycaffe、添加了PYTHONPATH后,在import时出现No module named xxxx
的情况,原因是python库还没装好,方法:
- 在
caffe/python
目录下执行pip install -r requirements.txt
- 使用apt安装确实的python包
OpenNSFW
找个地方克隆下这个关键的模型,由于该模型略大,因此git-clone还是会挺久的,有障碍的话可以直接下载zip包。
git clone https://github.com/yahoo/open_nsfw.git
克隆或者解压后进入目录,然后准备一下素材图片:
然后执行命令:
python ./classify_nsfw.py --model_def nsfw_model/deploy.prototxt --pretrained_model nsfw_model/resnet_50_1by2_nsfw.caffemodel INPUT_IMAGE_PATH
把其中的INPUT_IMAGE_PATH
改成图片路径即可,比如此处换成test1.png
即可,就会得到该图片涉黄的概率:
从结果中看出,XX得分是0.6067,个人可以将它理解为XX概率,即60%的XX概率。
再举个例子(抱歉,重码!):
幸好重码,不然涉黄分数都高达0.8488了。。
再来举个反例试试吧(这次就不用打码了):
得分:
小到不敢相信,诚不欺我!!
初体验总结
试了一下,图像检测的时候资源耗用也没有想象中那么高,似乎也就几百M内存,以及一点点计算资源,连树莓派这样的小机器都能在数秒内检测完。相信结合其他东西会更好玩。
先这样吧
若有错误之处请指出,更多地关注煎鱼。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。