Python檢測皮卡丘
導語
利用Python實現看圖找皮卡丘。。。
前幾天看一個動手學深度學習的教學項目。。。
發現了這個有趣的教程。。。
英文原版教程的鏈接:
http://gluon.mxnet.io/chapter08_computer-vision/object-detection.html
哈哈哈哈哈,讓我們愉快地開始吧!
開發工具
Python版本:3.5.4
相關模塊:
mxnet模塊;
matplotlib模塊;
win_unicode_console模塊;
numpy模塊;
PIL模塊;
以及一些Python自帶的模塊
環境搭建
安裝Python並添加到環境變數,pip安裝需要的相關模塊即可。
注1:
直接pip安裝mxnet默認安裝的是CPU版本的。
若配置了GPU,請使用例如pip install mxnet-cu80這樣的命令進行安裝。
注2:
pip安裝失敗可嘗試到:
https://www.lfd.uci.edu/~gohlke/pythonlibs/
找找有沒有直接可以安裝的whl文件。
主要思路
幾乎就是照著官網的思路來的。。。
在源代碼中已經做了很詳細的注釋。。。
主要使用了SSD即單發多框檢測器實現。。。
網路包括四塊:主體網路、三個減半模塊、五個物體類別和邊框預測模塊;
預測分別應用在主體網路輸出,減半模塊輸出,和最後的全局池化層上。
具體實現過程詳見相關文件中的源代碼。
使用演示
訓練模型:
在cmd窗口運行train.py文件即可。
運行截圖:
使用模型檢測皮卡丘:
將源代碼71行中的待檢測圖片路徑換成自己的。
在cmd窗口運行Detect_Pikachu.py文件即可。
註:
若效果不佳,請自行修改thresh參數(71行)。
效果截圖:
數據集只有一千張。。。
而且訓練數據都是類似這樣的:
所以這樣的效果應該還闊以吧~~~~
更多
實現過程中也參考了一些網路博客。。。
但是有點亂。。。
就不給出鏈接了。。。
另外:
CPU訓練大概需要:
210分鐘。
T_T我用的CPU。因為mxnet-cu90不知道為什麼用不了,社區里很多人也反映存在這樣的bug,出現的問題和我的一模一樣。
因此推薦使用cu80版本的。
GPU訓練:
喝杯奶茶的時間?
※Python入侵賓館電腦系統!大佬的親身經歷,情節真是輾轉反側!
※為什麼生態學家要學習Python或者R?
TAG:Python |