Object Detection withYolo Use GPU

kiko
4 min readNov 16, 2020

Use Model Package Yolo

We can download from git code to use this package.

Clone the repository with command

git clone https://github.com/zzh8829/yolov3-tf2

After that before use this package must complete to installing prerequisite to running this program.

Installing conda with python 3. and install enviroment workspace conda with command.

conda env create -f conda-gpu.yml

With conda-gpu.yml

name: yolov3-tf2-gpu
channels:
- menpo
dependencies:
- python==3.7
- pip
- matplotlib
- opencv
- cudnn
- cudatoolkit==10.1.243
- pip:
- tensorflow-gpu==2.1.0rc1
- lxml
- tqdm
- -e .

After the process finish. use enviroment workspace what installed

conda activate yolov3-tf2-gpu

if we use

conda list

output:

# packages in environment at /home/fusi/miniconda3/envs/yolov3-tf2-gpu:
#
# Name Version Build Channel
_libgcc_mutex 0.1 main
absl-py 0.9.0 pypi_0 pypi
astor 0.8.1 pypi_0 pypi
attrs 19.3.0 py_0 conda-forge
backcall 0.1.0 py_0 conda-forge
blas 2.14 openblas conda-forge
bleach 3.1.1 py_0 conda-forge
bzip2 1.0.8 h7b6447c_0
ca-certificates 2019.11.28 hecc5488_0 conda-forge
cachetools 4.0.0 pypi_0 pypi
cairo 1.16.0 hfb77d84_1002 conda-forge
certifi 2019.11.28 py37_0 conda-forge
chardet 3.0.4 pypi_0 pypi
cudatoolkit 10.1.243 h6bb024c_0
cudnn 7.6.5 cuda10.1_0
cycler 0.10.0 py37_0
dbus 1.13.12 h746ee38_0
decorator 4.4.2 py_0 conda-forge
defusedxml 0.6.0 py_0 conda-forge
entrypoints 0.3 py37_1000 conda-forge
expat 2.2.6 he6710b0_0
ffmpeg 4.1.3 h167e202_0 conda-forge
fontconfig 2.13.1 h86ecdb6_1001 conda-forge
freeglut 3.0.0 hf484d3e_5
freetype 2.9.1 h8a8886c_1
gast 0.2.2 pypi_0 pypi
giflib 5.2.1 h516909a_2 conda-forge
glib 2.63.1 h5a9c865_0
gmp 6.2.0 he1b5a44_2 conda-forge
gnutls 3.6.5 hd3a4fd2_1002 conda-forge
google-auth 1.11.2 pypi_0 pypi
google-auth-oauthlib 0.4.1 pypi_0 pypi
google-pasta 0.1.8 pypi_0 pypi
graphite2 1.3.13 h23475e2_0
grpcio 1.27.2 pypi_0 pypi
gst-plugins-base 1.14.5 h0935bb2_2 conda-forge
gstreamer 1.14.5 h36ae1b5_2 conda-forge
h5py 2.10.0 pypi_0 pypi
harfbuzz 2.4.0 h9f30f68_3 conda-forge
hdf5 1.10.5 nompi_h3c11f04_1104 conda-forge
icu 64.2 he1b5a44_1 conda-forge
idna 2.9 pypi_0 pypi
importlib_metadata 1.5.0 py37_0 conda-forge
intel-openmp 2019.4 243
ipykernel 5.1.4 py37h5ca1d4c_0 conda-forge
ipython 7.13.0 py37h5ca1d4c_0 conda-forge
ipython_genutils 0.2.0 py_1 conda-forge
jasper 1.900.1 h07fcdf6_1006 conda-forge
jedi 0.16.0 py37_0 conda-forge
jinja2 2.11.1 py_0 conda-forge
jpeg 9c h14c3975_1001 conda-forge
json5 0.9.0 py_0 conda-forge
jsonschema 3.2.0 py37_0 conda-forge
jupyter_client 6.0.0 py_0 conda-forge
jupyter_core 4.6.3 py37_0 conda-forge
jupyterlab 2.0.0 py_1 conda-forge
jupyterlab_server 1.0.7 py_0 conda-forge
keras-applications 1.0.8 pypi_0 pypi
keras-preprocessing 1.1.0 pypi_0 pypi
kiwisolver 1.1.0 py37he6710b0_0
lame 3.100 h14c3975_1001 conda-forge
libblas 3.8.0 14_openblas conda-forge
libcblas 3.8.0 14_openblas conda-forge
libclang 9.0.1 default_hde54327_0 conda-forge
libedit 3.1.20181209 hc058e9b_0
libffi 3.2.1 hd88cf55_4
libgcc-ng 9.1.0 hdf63c60_0
libgfortran-ng 7.3.0 hdf63c60_0
libglu 9.0.0 hf484d3e_1
libiconv 1.15 h516909a_1005 conda-forge
liblapack 3.8.0 14_openblas conda-forge
liblapacke 3.8.0 14_openblas conda-forge
libllvm9 9.0.1 hc9558a2_0 conda-forge
libopenblas 0.3.7 h5ec1e0e_6 conda-forge
libopencv 4.2.0 py37_2 conda-forge
libopus 1.3 h7b6447c_0
libpng 1.6.37 hbc83047_0
libsodium 1.0.17 h516909a_0 conda-forge
libstdcxx-ng 9.1.0 hdf63c60_0
libtiff 4.1.0 h2733197_0
libuuid 2.32.1 h14c3975_1000 conda-forge
libvpx 1.7.0 h439df22_0
libwebp 1.0.2 h56121f0_5 conda-forge
libxcb 1.13 h1bed415_1
libxkbcommon 0.10.0 he1b5a44_0 conda-forge
libxml2 2.9.9 hea5a465_1
lxml 4.5.0 pypi_0 pypi
markdown 3.2.1 pypi_0 pypi
markupsafe 1.1.1 py37h516909a_0 conda-forge
matplotlib 3.2.0 1 conda-forge
matplotlib-base 3.2.0 py37h250f245_1 conda-forge
mistune 0.8.4 py37h516909a_1000 conda-forge
mkl 2019.4 243
mkl-service 2.3.0 py37he904b0f_0
mkl_fft 1.1.0 py37hc1659b7_1 conda-forge
mkl_random 1.1.0 py37hb3f55d8_0 conda-forge
nbconvert 5.6.1 py37_0 conda-forge
nbformat 5.0.4 py_0 conda-forge
ncurses 6.2 he6710b0_0
nettle 3.4.1 h1bed415_1002 conda-forge
notebook 6.0.3 py37_0 conda-forge
nspr 4.25 he1b5a44_0 conda-forge
nss 3.47 he751ad9_0 conda-forge
numpy 1.18.1 py37h95a1406_0 conda-forge
numpy-base 1.18.1 py37h2f8d375_1
oauthlib 3.1.0 pypi_0 pypi
opencv 4.2.0 py37_2 conda-forge
openh264 1.8.0 hdbcaa40_1000 conda-forge
openssl 1.0.2u h516909a_0 conda-forge
opt-einsum 3.2.0 pypi_0 pypi
packaging 20.1 py_0 conda-forge
pandoc 2.9.2 0 conda-forge
pandocfilters 1.4.2 py_1 conda-forge
parso 0.6.2 py_0 conda-forge
pcre 8.43 he6710b0_0
pexpect 4.8.0 py37_0 conda-forge
pickleshare 0.7.5 py37_1000 conda-forge
pip 20.0.2 py37_1
pixman 0.38.0 h7b6447c_0
prometheus_client 0.7.1 py_0 conda-forge
prompt_toolkit 3.0.3 py_0 conda-forge
protobuf 3.11.3 pypi_0 pypi
ptyprocess 0.6.0 py_1001 conda-forge
py-opencv 4.2.0 py37h5ca1d4c_2 conda-forge
pyasn1 0.4.8 pypi_0 pypi
pyasn1-modules 0.2.8 pypi_0 pypi
pygments 2.5.2 py_0 conda-forge
pyparsing 2.4.6 py_0
pyqt 5.12.3 py37hcca6a23_1 conda-forge
pyqt5-sip 4.19.18 pypi_0 pypi
pyqtwebengine 5.12.1 pypi_0 pypi
pyrsistent 0.15.7 py37h516909a_0 conda-forge
python 3.7.0 h6e4f718_3
python-dateutil 2.8.1 py_0
pyzmq 19.0.0 py37h1768529_0 conda-forge
qt 5.12.5 hd8c4c69_1 conda-forge
readline 7.0 h7b6447c_5
requests 2.23.0 pypi_0 pypi
requests-oauthlib 1.3.0 pypi_0 pypi
rsa 4.0 pypi_0 pypi
send2trash 1.5.0 py_0 conda-forge
setuptools 45.2.0 py37_0
sip 4.19.8 py37hf484d3e_0
six 1.14.0 py37_0
sqlite 3.31.1 h7b6447c_0
tensorboard 2.1.1 pypi_0 pypi
tensorflow-estimator 2.1.0 pypi_0 pypi
tensorflow-gpu 2.1.0rc1 pypi_0 pypi
termcolor 1.1.0 pypi_0 pypi
terminado 0.8.3 py37_0 conda-forge
testpath 0.4.4 py_0 conda-forge
tk 8.6.10 hed695b0_0 conda-forge
tornado 6.0.3 py37h7b6447c_3
tqdm 4.43.0 pypi_0 pypi
traitlets 4.3.3 py37_0 conda-forge
urllib3 1.25.8 pypi_0 pypi
wcwidth 0.1.8 py_0 conda-forge
webencodings 0.5.1 py_1 conda-forge
werkzeug 1.0.0 pypi_0 pypi
wheel 0.34.2 py37_0
wrapt 1.12.0 pypi_0 pypi
x264 1!152.20180806 h14c3975_0 conda-forge
xorg-kbproto 1.0.7 h14c3975_1002 conda-forge
xorg-libice 1.0.10 h516909a_0 condo-forge
xorg-libsm 1.2.3 h84519dc_1000 conda-forge
xorg-libx11 1.6.9 h516909a_0 conda-forge
xorg-libxext 1.3.4 h516909a_0 conda-forge
xorg-libxrender 0.9.10 h516909a_1002 conda-forge
xorg-renderproto 0.11.1 h14c3975_1002 conda-forge
xorg-xextproto 7.3.0 h14c3975_1002 conda-forge
xorg-xproto 7.0.31 h14c3975_1007 conda-forge
xz 5.2.4 h14c3975_4
yolov3-tf2 0.1 dev_0 <develop>
zeromq 4.3.2 he1b5a44_2 conda-forge
zipp 3.1.0 py_0 conda-forge
zlib 1.2.11 h7b6447c_3
zstd 1.3.7 h0b5b093_0

Running Program

with command below we can running real time detection object camera.

python detect_video.py --video 'rtsp://<user-name-admin>:<password>@<ip-cam>/1'

Example running video real time with cam cctv use ip 192.168.100.64 at local network.

python detect_video.py --video 'rtsp://admin:password_admin@192.168.100.64/1'

If we get error went we running program or installing enviroment, we can use command below to install package used.

conda install -c conda-forge opencv=4.2.0^C
conda install -c conda-forge jupyterlab

--

--