OpenNSFW是雅虎數(shù)年前已經訓練好的一個鑒黃模型(是的只是模型而已,素材請自行解決)。既然已經在小樹莓派上搭建好了Caffe,那么何不試試基于Caffe的鑒黃模型?
Caffe環(huán)境
關于樹莓派(64位的,32位可參考)Caffe環(huán)境的搭建,之前的一遍文章已經談過,可以去參考一下。
另外,需要把Caffe的Python接口也編譯了,即pycaffe環(huán)境:
# 在caffe目錄下執(zhí)行
make pycaffe -j4
然后記得往PYTHONPATH里面添加此庫:
vim ~/.zshrc
vim ~/.bashrc
export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH
檢驗pycaffe庫是否配置正確:在python中import一下,如下即可。

image
如果在編譯pycaffe、添加了PYTHONPATH后,在import時出現(xiàn)No module named xxxx的情況,原因是python庫還沒裝好,方法:
- 在
caffe/python目錄下執(zhí)行pip install -r requirements.txt - 使用apt安裝確實的python包
OpenNSFW
找個地方克隆下這個關鍵的模型,由于該模型略大,因此git-clone還是會挺久的,有障礙的話可以直接下載zip包。
git clone https://github.com/yahoo/open_nsfw.git
克隆或者解壓后進入目錄,然后準備一下素材圖片:

image
然后執(zhí)行命令:
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即可,就會得到該圖片涉黃的概率:

test1

image
從結果中看出,XX得分是0.6067,個人可以將它理解為XX概率,即60%的XX概率。
再舉個例子(抱歉,重碼?。?/p>

test2

image
幸好重碼,不然涉黃分數(shù)都高達0.8488了。。
再來舉個反例試試吧(這次就不用打碼了):

test3
得分:

image
小到不敢相信,誠不欺我!!
初體驗總結
試了一下,圖像檢測的時候資源耗用也沒有想象中那么高,似乎也就幾百M內存,以及一點點計算資源,連樹莓派這樣的小機器都能在數(shù)秒內檢測完。相信結合其他東西會更好玩。
先這樣吧
若有錯誤之處請指出,更多地關注煎魚。