1. 程式人生 > >手把手教你如何用objection detection API實現實時目標檢測(一)

手把手教你如何用objection detection API實現實時目標檢測(一)

本系列文章共分為三篇,包括環境配置、對影象的目標檢測和利用攝像頭實現實時檢測三個部分,本文主要介紹相關的環境配置部分。

step1:準備相關檔案

在這裡我們使用的是GPU版本的TensorFlow,因此在此之前我們需要下載所需要的相關資料。主要有如下幾部分:

  1. CUDA9.0安裝包:下載地址
  2. cudnn7.0.5安裝包:下載地址
  3. 專案所需檔案:GitHub地址
  4. Protobuf3.6.0檔案:下載地址
  5. anaconda3.4.3.1安裝包:下載地址

這裡需要特別提醒大家的是,大家在安裝的時候儘量按照這裡的版本,否則在後續進行操作的時候會遇到麻煩,博主一開始電腦安裝的是cuda8.0,但是cuda8.0沒法支援tf1.4及以上版本,多次報錯很煩,最後全部解除安裝anaconda和cuda按照上述版本重新安裝之後才成功,所以建議希望大家在配置環境的時候注意一下版本~

step2:安裝anaconda、CUDA和cudnn

下載得到上述安裝包後,我們直接對其進行安裝即可,網上相關資料非常多,操作也較為簡單,這裡不再進行贅述,如果在安裝過程中出現問題可以在文章下方進行評論,我會盡力幫大家解決~

step3:安裝gpu版本的TensorFlow

在這裡要求的TensorFlow版本必須在1.4以上,我選擇安裝的是1.8.0版本的TensorFlow。因為在這之前我們已經安裝了好了anaconda、cuda和cudnn,我們直接開啟cmd視窗,輸入程式碼

pip install tensorflow-gpu=1.8.0

即可完成GPU版本的安裝,如果這裡報錯,則需要檢測一下是否是之前安裝軟體的過程中哪個步驟錯了,比如是否已經將anaconda加入環境變數等。

step4:安裝OpenCV

我們在後續需要實現用攝像頭進行視訊提取,所以在這裡我們需要安裝OpenCV,和上文一樣,我們在cmd視窗中直接輸入:

pip install opencv-python

step5:配置檔案路徑

我們需要對檔案的路徑進行配置,在這裡,我們新建.pth路徑檔案,在裡面輸入檔案的路徑:

D:\models-master\research
D:\models-master\research\slim

在實際使用的時候,讀者需要根據自己按照的位置對其進行修改。

在完成修改之後,我們將其複製到anaconda3的lib/site-packageswes資料夾下

step6:檢查配置環境

在這裡我們新建一個txt檔案,對我們環境需要的版本進行說明,如下圖:

absl-py==0.4.0
alabaster==0.7.9
anaconda-client==1.6.0
anaconda-navigator==1.5
anaconda-project==0.4.1
astor==0.7.1
astroid==1.4.9
astropy==1.3
Babel==2.3.4
backports.shutil-get-terminal-size==1.0.0
beautifulsoup4==4.5.3
bitarray==0.8.1
blaze==0.10.1
bleach==1.5.0
bokeh==0.12.4
boto==2.45.0
boto3==1.7.77
botocore==1.10.77
Bottleneck==1.2.0
bz2file==0.98
cffi==1.9.1
chardet==2.3.0
chest==0.2.3
click==6.7
cloudpickle==0.2.2
clyent==1.2.2
colorama==0.3.7
comtypes==1.1.2
conda==4.3.14
configobj==5.0.6
contextlib2==0.5.4
cryptography==1.7.1
cycler==0.10.0
Cython==0.25.2
cytoolz==0.8.2
dask==0.13.0
datashape==0.5.4
decorator==4.0.11
dill==0.2.5
docutils==0.13.1
enum34==1.1.6
et-xmlfile==1.0.1
fastcache==1.0.2
Flask==0.12
Flask-Cors==3.0.2
gast==0.2.0
gensim==3.5.0
gevent==1.2.1
greenlet==0.4.11
grpcio==1.14.1
h5py==2.6.0
HeapDict==1.0.0
html5lib==0.9999999
idna==2.2
imagesize==0.7.1
ipykernel==4.5.2
ipython==5.1.0
ipython-genutils==0.1.0
ipywidgets==5.2.2
isort==4.2.5
itsdangerous==0.24
jdcal==1.3
jedi==0.9.0
Jinja2==2.9.4
jmespath==0.9.3
jsonschema==2.5.1
jupyter==1.0.0
jupyter-client==4.4.0
jupyter-console==5.0.0
jupyter-core==4.2.1
lazy-object-proxy==1.2.2
llvmlite==0.15.0
locket==0.2.0
lxml==3.7.2
Markdown==2.6.11
MarkupSafe==0.23
matplotlib==2.0.0
menuinst==1.4.4
mistune==0.7.3
mpmath==0.19
multipledispatch==0.4.9
nbconvert==4.2.0
nbformat==4.2.0
networkx==1.11
nltk==3.2.2
nose==1.3.7
notebook==4.3.1
numba==0.30.1
numexpr==2.6.1
numpy==1.15.1
numpydoc==0.6.0
odo==0.5.0
olefile==0.45.1
openpyxl==2.4.1
pandas==0.19.2
partd==0.3.7
path.py==0.0.0
pathlib2==2.2.0
patsy==0.4.1
pep8==1.7.0
pickleshare==0.7.4
Pillow==4.0.0
ply==3.9
prompt-toolkit==1.0.9
protobuf==3.6.0
psutil==5.0.1
py==1.4.32
pyasn1==0.1.9
pycosat==0.6.1
pycparser==2.17
pycrypto==2.6.1
pycurl==7.43.0
pyflakes==1.5.0
Pygments==2.1.3
pylint==1.6.4
pyOpenSSL==16.2.0
pyparsing==2.1.4
pytest==3.0.5
python-dateutil==2.6.0
pytz==2016.10
pywin32==220
PyYAML==3.12
pyzmq==16.0.2
QtAwesome==0.4.3
qtconsole==4.2.1
QtPy==1.2.1
requests==2.12.4
rope-py3k==0.9.4.post1
s3transfer==0.1.13
scikit-image==0.12.3
scikit-learn==0.18.1
scipy==0.18.1
seaborn==0.7.1
simplegeneric==0.8.1
singledispatch==3.4.0.3
six==1.10.0
smart-open==1.6.0
snowballstemmer==1.2.1
sockjs-tornado==1.0.3
sphinx==1.5.1
spyder==3.1.2
SQLAlchemy==1.1.5
statsmodels==0.6.1
sympy==1.0
tables==3.2.2
tb-nightly==1.11.0a20180905
tensorboard==1.8.0
tensorflow-gpu==1.8.0
tensorflow-tensorboard==0.4.0
termcolor==1.1.0
toolz==0.8.2
tornado==4.4.2
traitlets==4.3.1
unicodecsv==0.14.1
wcwidth==0.1.7
Werkzeug==0.11.15
widgetsnbextension==1.2.6
win-unicode-console==0.5
wordcloud==1.5.0
wrapt==1.10.8
xlrd==1.0.0
XlsxWriter==0.9.6
xlwings==0.10.2
xlwt==1.2.0

接下來,複製解壓protobuf檔案得到的protic.exe檔案到Windows目錄下,根據上面寫的關於環境的txt檔案進行環境的檢測,

pip install -r requirements.txt
protoc object_detection/protos/*.proto --python_out=.
python object_detection/builders/model_builder_test.py
pause

如果最後沒有發生報錯,並且輸出ok,說明整個過程正確。

至此,環境配置部分已經完全結束。下一篇文章我們將在該環境的基礎上進行影象的檢測