7
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

物体検出Yolov3を動かす♬~ハマった編~

Posted at

最近、性能良いとうわさのYolov3が出てきたので、ちょっと試したいと思って試してみた。

ちょっと。。。以下のサイトにたくさん事例があり、ほとんど同じようなことが書いてあるので、簡単なんだろうと思っていた。
【参考】
darknetでYOLOv3を動かしてみた。
YOLOv2(Keras / TensorFlow)でディープラーニングによる画像の物体検出を行う
【Darknet】リアルタイムオブジェクト認識 YOLOをTensorflowで試す

###環境作成するよ。。。
darknetでYOLOv3を動かしてみた。の記事のとおり、話を進める。
Ubuntuのようなので、以下を参考にWindows10(1060-3GB)にUbuntuを入れる。
Ubuntu がマイクロソフト ストアにやってきた
これはなんとなく再起動して動いた。
そして、「深層学習フレームワークdarknetをインストールする。」

git clone https://github.com/pjreddie/darknet.git
cd darknet

たぶん、ここはハマらずdarknetという一連のディレクトリができると思う。。。
※ウワンはここでもハマった様子①のとおり、ハマりましたが。。。

そして、
「Makefileを修正し、GPUとOpenCVをOnにし、makeする。」
これは、viでMakefileを以下のように編集して、その後makeするという意味です。
※当たり前だけど、。。。少し、ハマりました

vi Makefile

viが無い。。。ということで、ここは単に編集すればいいので、jupyter notebookからMakefileを呼び出して以下の部分を編集しました。

変更前(Makefile)
GPU=0
CUDNN=0
OPENCV=0
OPENMP=0
DEBUG=0

変更後(Makefile)
GPU=1
CUDNN=0
OPENCV=1
OPENMP=0
DEBUG=0

そして、問題はmake。。。
※ここはハマった様子②のようにすごくハマりました

make

無いです。。。

$ sudo apt install make

で入りましたが、gccが必要です。

$ sudo apt-get install gcc

そして、「YOLOv3の学習済みファイルをダウンロードする」

wget https://pjreddie.com/media/files/yolov3.weights

※ここでも実はハマってました。yolo.weightsというファイルもあって、こっちをダウンロードして以下実施するとweightsの読み込みエラーが出てthe endです

ということで、いよいよ「YOLOv3をテストする」

./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

※以下のyolov3のネットワーク構造と実行結果の通り、動きました

dog: 99%
truck: 92%
bicycle: 99%

predictions.png

そして、以下yolov2の結果です。
yolov2.weightsをダウンロードして、

$ wget https://pjreddie.com/media/files/yolov2.weights

実行します。

$ ./darknet detect cfg/yolov2.cfg yolov2.weights data/dog.jpg

両者で精度はかなり異なりますね。。。

dog: 81%
truck: 74%
bicycle: 83%

predictions.png

めでたしめでたし。。。ですが、。。。
これは、C版です。。。ということで、python版動くかな??

MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet/python$ python3 darknet.py cfg/yolov3.cfg yolov3.weights data/dog.jpg
Traceback (most recent call last):
  File "darknet.py", line 48, in <module>
    lib = CDLL("libdarknet.so", RTLD_GLOBAL)
  File "/usr/lib/python3.5/ctypes/__init__.py", line 347, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libdarknet.so: cannot open shared object file: No such file or directory

"libdarknet.so"のファイルが見つかりません。。。
ここでも実はかなりハマりましたが、端折ります。。。

ということで、。。。以下の記事に乗り換えました。
【Darknet】リアルタイムオブジェクト認識 YOLOをTensorflowで試す

これ。。。簡単に動くといいなぁ~
今日はここまでにいたしとうござります^^;

###まとめ
・今回は、噂のYolov3を動かしてみた
・環境構築にすごくハマった
・結果はYolov3はYolov2に比較するとネットワーク構造もディープになって、検出精度も格段に上がっていた
・Python版は動かなかった

以下種々ハマったところなど、参考です。
####ハマった様子①darknetの環境作るまで
前半、YOLOv2(Keras / TensorFlow)でディープラーニングによる画像の物体検出を行うで環境構築を始めたので、その状況が入っています。。。

Microsoft Windows [Version 10.0.16299.371]
(c) 2017 Microsoft Corporation. All rights reserved.

C:\Users\user>sudo apt install git
'sudo' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\user>bash
Windows Subsystem for Linux には、インストールされたディストリビューションがありません。
ディストリビューションをインストールするには、次の Windows ストアを訪問してください:
https://aka.ms/wslstore
続行するには何かキーを押してください...

C:\Users\user>pip install numpy h5py pillow
Requirement already satisfied: numpy in c:\users\user\anaconda3\lib\site-packages
Requirement already satisfied: h5py in c:\users\user\anaconda3\lib\site-packages
Requirement already satisfied: pillow in c:\users\user\anaconda3\lib\site-packages
Requirement already satisfied: six in c:\users\user\anaconda3\lib\site-packages (from h5py)
You are using pip version 9.0.3, however version 10.0.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

C:\Users\user>bash
MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user$ pip install numpy h5py pillow
The program 'pip' is currently not installed. You can install it by typing:
sudo apt install python-pip
MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user$ sudo apt install python-pip
[sudo] password for MuAuan:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package python-pip
MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user$ pip install numpy he5py pillow
The program 'pip' is currently not installed. You can install it by typing:
sudo apt install python-pip
MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user$ sudo apt install python-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package python-pip
MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user$ pip install keras
The program 'pip' is currently not installed. You can install it by typing:
sudo apt install python-pip
MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user$ sudo apt install python-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package python-pip
MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user$
MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user$ wget http://pjreddie.com./media/files/yolo.weights
--2018-04-27 22:36:35--  http://pjreddie.com./media/files/yolo.weights
Resolving pjreddie.com. (pjreddie.com.)... 128.208.3.39
Connecting to pjreddie.com. (pjreddie.com.)|128.208.3.39|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://pjreddie.com/media/files/yolo.weights [following]
--2018-04-27 22:36:40--  https://pjreddie.com/media/files/yolo.weights
Resolving pjreddie.com (pjreddie.com)... 128.208.3.39
Connecting to pjreddie.com (pjreddie.com)|128.208.3.39|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 203934260 (194M) [application/octet-stream]
Saving to: ‘yolo.weights’

yolo.weights                  100%[=================================================>] 194.49M  5.22MB/s    in 43s

2018-04-27 22:37:24 (4.53 MB/s) - ‘yolo.weights’ saved [203934260/203934260]

MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user$ wget https://raw.githubusercontent.com/pjreddie/darknet/master/:cfg/yolo.cfg
--2018-04-27 22:38:20--  https://raw.githubusercontent.com/pjreddie/darknet/master/:cfg/yolo.cfg
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.72.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.72.133|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2018-04-27 22:38:26 ERROR 404: Not Found.

MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user$ wget https://raw.githubusercontent.com/pjreddie/darknet/master/cfg/yolo.cfg
--2018-04-27 22:38:41--  https://raw.githubusercontent.com/pjreddie/darknet/master/cfg/yolo.cfg
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.72.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.72.133|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2018-04-27 22:38:52 ERROR 404: Not Found.

MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user$ wget https://raw.githubusercontent.com/pjreddie/darknet/master/cfg/yolo.cfg
--2018-04-27 22:40:38--  https://raw.githubusercontent.com/pjreddie/darknet/master/cfg/yolo.cfg
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.72.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.72.133|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2018-04-27 22:40:43 ERROR 404: Not Found.

MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user$ ./yad2k.py yolo.cfg yolo.weights model_data/yolo.h5
-bash: ./yad2k.py: No such file or directory
MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user$ logout

C:\Users\user>cd ./yad2k

C:\Users\user\yad2k>python keras_yolo.py
Using TensorFlow backend.
Traceback (most recent call last):
  File "keras_yolo.py", line 11, in <module>
    from ..utils import compose
SystemError: Parent module '' not loaded, cannot perform relative import

C:\Users\user\yad2k>python test_yolo.py
Using TensorFlow backend.
Traceback (most recent call last):
  File "test_yolo.py", line 14, in <module>
    from yad2k.models.keras_yolo import yolo_eval, yolo_head
  File "C:\Users\user\yad2k\yad2k.py", line 25, in <module>
    from yad2k.models.keras_yolo import (space_to_depth_x2,
ImportError: No module named 'yad2k.models'; 'yad2k' is not a package

C:\Users\user\yad2k>pip install yad2k.models
Collecting yad2k.models
  Could not find a version that satisfies the requirement yad2k.models (from versions: )
/pip-10.0.1-py2.py3-none-any.whl (1.3MB)
    100% |################################| 1.3MB 1.1MB/s
Installing collected packages: pip
  Found existing installation: pip 9.0.3
    Uninstalling pip-9.0.3:
      Successfully uninstalled pip-9.0.3
Successfully installed pip-10.0.1

C:\Users\user\yad2k>pip install yad2k.models
Collecting yad2k.models
  Could not find a version that satisfies the requirement yad2k.models (from versions: )
No matching distribution found for yad2k.models

C:\Users\user\yad2k>cd ../

C:\Users\user>git clone https://github.com/pjreddie/darknet
'git' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\user>git clone https://github.com/pjreddie/darknet
'git' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\user>bash
MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user$ git clone https://github.com/pjreddie/darknet
Cloning into 'darknet'...
remote: Counting objects: 5756, done.
remote: Total 5756 (delta 0), reused 0 (delta 0), pack-reused 5756
Receiving objects: 100% (5756/5756), 6.00 MiB | 2.62 MiB/s, done.
Resolving deltas: 100% (3854/3854), done.
Checking connectivity... done.
MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user$ cd ./darknet

####ハマった様子②make編

MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ make
The program 'make' can be found in the following packages:
 * make
 * make-guile
Try: sudo apt install <selected package>
MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ sudo apt install make
[sudo] password for MuAuan:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
  libfreetype6
Use 'sudo apt autoremove' to remove it.
Suggested packages:
  make-doc
The following NEW packages will be installed:
  make
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 151 kB of archives.
After this operation, 365 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu xenial/main amd64 make amd64 4.1-6 [151 kB]
Fetched 151 kB in 9s (15.8 kB/s)
Selecting previously unselected package make.
(Reading database ... 25532 files and directories currently installed.)
Preparing to unpack .../archives/make_4.1-6_amd64.deb ...
Unpacking make (4.1-6) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up make (4.1-6) ...
MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ make
mkdir -p obj
mkdir -p results
gcc -Iinclude/ -Isrc/ -Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -fPIC -Ofast -c ./src/gemm.c -o obj/gemm.o
make: gcc: Command not found
Makefile:85: recipe for target 'obj/gemm.o' failed
make: *** [obj/gemm.o] Error 127
MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$

なんとなく、makeがインストールできたみたいなので。。。

MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ make Makefile
make: Nothing to be done for 'Makefile'.
MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ make
gcc -Iinclude/ -Isrc/ -Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -fPIC -Ofast -c ./src/gemm.c -o obj/gemm.o
make: gcc: Command not found
Makefile:85: recipe for target 'obj/gemm.o' failed
make: *** [obj/gemm.o] Error 127

gccが無いと怒られました。。。

MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ pip install gcc
The program 'pip' is currently not installed. You can install it by typing:
sudo apt install python-pip
MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ sudo apt install python-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package python-pip
MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ sudo apt install python-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package python-pip
MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ sudo apt install gcc

あれ、gccが入りません。。。

MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ sudo apt install gcc
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
  libfreetype6
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
  binutils cpp cpp-5 gcc-5 libasan2 libatomic1 libc-dev-bin libc6-dev libcc1-0 libcilkrts5 libgcc-5-dev libgomp1
  libisl15 libitm1 liblsan0 libmpc3 libmpx0 libquadmath0 libtsan0 libubsan0 linux-libc-dev manpages-dev
Suggested packages:
。。。

入ったかな??
でも、

MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ make
gcc -Iinclude/ -Isrc/ -Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -fPIC -Ofast -c ./src/gemm.c -o obj/gemm.o
make: gcc: Command not found
Makefile:85: recipe for target 'obj/gemm.o' failed
make: *** [obj/gemm.o] Error 127

変わってないじゃない。。

MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ pip install gcc
The program 'pip' is currently not installed. You can install it by typing:
sudo apt install python-pip
MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ python
The program 'python' can be found in the following packages:
 * python-minimal
 * python3
Try: sudo apt install <selected package>

つまり、bash側にはpythonも入ってなかった??

MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ sudo apt install python
Reading package lists... Done
Building dependency tree
Reading state information... Done
。。。
minimal python2.7 python2.7-minimal
0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 3,915 kB of archives.
After this operation, 16.6 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

python2.7が入りましたが、。。

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ run apt-get update
No command 'run' found, did you mean:

いや、入らなかったようです。

MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ sudo apt-get update python
E: The update command takes no arguments
MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ sudo apt-get update
Get:1 http://security.ubuntu.com/ubuntu xenial-security InRelease [107 kB]
Hit:2 http://archive.ubuntu.com/ubuntu xenial InRelease
Get:3 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]
Get:4 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [481 kB]
Get:5 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]
Get:6 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages [7,532 kB]
。。。

なんとなく、ubuntuのアップデートできました。

MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ make
gcc -Iinclude/ -Isrc/ -Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -fPIC -Ofast -c ./src/gemm.c -o obj/gemm.o
make: gcc: Command not found
Makefile:85: recipe for target 'obj/gemm.o' failed
make: *** [obj/gemm.o] Error 127
MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ sudo apt-get install make
Reading package lists... Done
Building dependency tree
Reading state information... Done
make is already the newest version (4.1-6).
The following package was automatically installed and is no longer required:
  libfreetype6
Use 'sudo apt autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 134 not upgraded.
MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ sudo apt-get install python3

make入りません。。。いまどきpython3だよなぁ~

MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ sudo apt-get install python3
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3 is already the newest version (3.5.1-3).

もうinstall済でした。

MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ make
gcc -Iinclude/ -Isrc/ -Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -fPIC -Ofast -c ./src/gemm.c -o obj/gemm.o
make: gcc: Command not found
Makefile:85: recipe for target 'obj/gemm.o' failed
make: *** [obj/gemm.o] Error 127

makeは動きません。。。

MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ sudo apt-get install gcc
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
  libfreetype6
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
。。。
Setting up manpages-dev (4.04-2) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...

なんとなく、gccが入りました。。。なんで入ったのかな??

$ pip install gcc
$ sudo apt install gcc
$ sudo apt install gcc
$ sudo apt-get install gcc

つまり、コマンドが$ sudo apt-get install gccでよかったんだろう
因みに、makeのインストールは以下のコマンドでやってました^^;

$ sudo apt install make

####yolov3のネットワーク構造と実行結果

MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
layer     filters    size              input                output
    0 conv     32  3 x 3 / 1   416 x 416 x   3   ->   416 x 416 x  32  0.299 BFLOPs
    1 conv     64  3 x 3 / 2   416 x 416 x  32   ->   208 x 208 x  64  1.595 BFLOPs
    2 conv     32  1 x 1 / 1   208 x 208 x  64   ->   208 x 208 x  32  0.177 BFLOPs
    3 conv     64  3 x 3 / 1   208 x 208 x  32   ->   208 x 208 x  64  1.595 BFLOPs
    4 res    1                 208 x 208 x  64   ->   208 x 208 x  64
    5 conv    128  3 x 3 / 2   208 x 208 x  64   ->   104 x 104 x 128  1.595 BFLOPs
    6 conv     64  1 x 1 / 1   104 x 104 x 128   ->   104 x 104 x  64  0.177 BFLOPs
    7 conv    128  3 x 3 / 1   104 x 104 x  64   ->   104 x 104 x 128  1.595 BFLOPs
    8 res    5                 104 x 104 x 128   ->   104 x 104 x 128
    9 conv     64  1 x 1 / 1   104 x 104 x 128   ->   104 x 104 x  64  0.177 BFLOPs
   10 conv    128  3 x 3 / 1   104 x 104 x  64   ->   104 x 104 x 128  1.595 BFLOPs
   11 res    8                 104 x 104 x 128   ->   104 x 104 x 128
   12 conv    256  3 x 3 / 2   104 x 104 x 128   ->    52 x  52 x 256  1.595 BFLOPs
   13 conv    128  1 x 1 / 1    52 x  52 x 256   ->    52 x  52 x 128  0.177 BFLOPs
   14 conv    256  3 x 3 / 1    52 x  52 x 128   ->    52 x  52 x 256  1.595 BFLOPs
   15 res   12                  52 x  52 x 256   ->    52 x  52 x 256
   16 conv    128  1 x 1 / 1    52 x  52 x 256   ->    52 x  52 x 128  0.177 BFLOPs
   17 conv    256  3 x 3 / 1    52 x  52 x 128   ->    52 x  52 x 256  1.595 BFLOPs
   18 res   15                  52 x  52 x 256   ->    52 x  52 x 256
   19 conv    128  1 x 1 / 1    52 x  52 x 256   ->    52 x  52 x 128  0.177 BFLOPs
   20 conv    256  3 x 3 / 1    52 x  52 x 128   ->    52 x  52 x 256  1.595 BFLOPs
   21 res   18                  52 x  52 x 256   ->    52 x  52 x 256
   22 conv    128  1 x 1 / 1    52 x  52 x 256   ->    52 x  52 x 128  0.177 BFLOPs
   23 conv    256  3 x 3 / 1    52 x  52 x 128   ->    52 x  52 x 256  1.595 BFLOPs
   24 res   21                  52 x  52 x 256   ->    52 x  52 x 256
   25 conv    128  1 x 1 / 1    52 x  52 x 256   ->    52 x  52 x 128  0.177 BFLOPs
   26 conv    256  3 x 3 / 1    52 x  52 x 128   ->    52 x  52 x 256  1.595 BFLOPs
   27 res   24                  52 x  52 x 256   ->    52 x  52 x 256
   28 conv    128  1 x 1 / 1    52 x  52 x 256   ->    52 x  52 x 128  0.177 BFLOPs
   29 conv    256  3 x 3 / 1    52 x  52 x 128   ->    52 x  52 x 256  1.595 BFLOPs
   30 res   27                  52 x  52 x 256   ->    52 x  52 x 256
   31 conv    128  1 x 1 / 1    52 x  52 x 256   ->    52 x  52 x 128  0.177 BFLOPs
   32 conv    256  3 x 3 / 1    52 x  52 x 128   ->    52 x  52 x 256  1.595 BFLOPs
   33 res   30                  52 x  52 x 256   ->    52 x  52 x 256
   34 conv    128  1 x 1 / 1    52 x  52 x 256   ->    52 x  52 x 128  0.177 BFLOPs
   35 conv    256  3 x 3 / 1    52 x  52 x 128   ->    52 x  52 x 256  1.595 BFLOPs
   36 res   33                  52 x  52 x 256   ->    52 x  52 x 256
   37 conv    512  3 x 3 / 2    52 x  52 x 256   ->    26 x  26 x 512  1.595 BFLOPs
   38 conv    256  1 x 1 / 1    26 x  26 x 512   ->    26 x  26 x 256  0.177 BFLOPs
   39 conv    512  3 x 3 / 1    26 x  26 x 256   ->    26 x  26 x 512  1.595 BFLOPs
   40 res   37                  26 x  26 x 512   ->    26 x  26 x 512
   41 conv    256  1 x 1 / 1    26 x  26 x 512   ->    26 x  26 x 256  0.177 BFLOPs
   42 conv    512  3 x 3 / 1    26 x  26 x 256   ->    26 x  26 x 512  1.595 BFLOPs
   43 res   40                  26 x  26 x 512   ->    26 x  26 x 512
   44 conv    256  1 x 1 / 1    26 x  26 x 512   ->    26 x  26 x 256  0.177 BFLOPs
   45 conv    512  3 x 3 / 1    26 x  26 x 256   ->    26 x  26 x 512  1.595 BFLOPs
   46 res   43                  26 x  26 x 512   ->    26 x  26 x 512
   47 conv    256  1 x 1 / 1    26 x  26 x 512   ->    26 x  26 x 256  0.177 BFLOPs
   48 conv    512  3 x 3 / 1    26 x  26 x 256   ->    26 x  26 x 512  1.595 BFLOPs
   49 res   46                  26 x  26 x 512   ->    26 x  26 x 512
   50 conv    256  1 x 1 / 1    26 x  26 x 512   ->    26 x  26 x 256  0.177 BFLOPs
   51 conv    512  3 x 3 / 1    26 x  26 x 256   ->    26 x  26 x 512  1.595 BFLOPs
   52 res   49                  26 x  26 x 512   ->    26 x  26 x 512
   53 conv    256  1 x 1 / 1    26 x  26 x 512   ->    26 x  26 x 256  0.177 BFLOPs
   54 conv    512  3 x 3 / 1    26 x  26 x 256   ->    26 x  26 x 512  1.595 BFLOPs
   55 res   52                  26 x  26 x 512   ->    26 x  26 x 512
   56 conv    256  1 x 1 / 1    26 x  26 x 512   ->    26 x  26 x 256  0.177 BFLOPs
   57 conv    512  3 x 3 / 1    26 x  26 x 256   ->    26 x  26 x 512  1.595 BFLOPs
   58 res   55                  26 x  26 x 512   ->    26 x  26 x 512
   59 conv    256  1 x 1 / 1    26 x  26 x 512   ->    26 x  26 x 256  0.177 BFLOPs
   60 conv    512  3 x 3 / 1    26 x  26 x 256   ->    26 x  26 x 512  1.595 BFLOPs
   61 res   58                  26 x  26 x 512   ->    26 x  26 x 512
   62 conv   1024  3 x 3 / 2    26 x  26 x 512   ->    13 x  13 x1024  1.595 BFLOPs
   63 conv    512  1 x 1 / 1    13 x  13 x1024   ->    13 x  13 x 512  0.177 BFLOPs
   64 conv   1024  3 x 3 / 1    13 x  13 x 512   ->    13 x  13 x1024  1.595 BFLOPs
   65 res   62                  13 x  13 x1024   ->    13 x  13 x1024
   66 conv    512  1 x 1 / 1    13 x  13 x1024   ->    13 x  13 x 512  0.177 BFLOPs
   67 conv   1024  3 x 3 / 1    13 x  13 x 512   ->    13 x  13 x1024  1.595 BFLOPs
   68 res   65                  13 x  13 x1024   ->    13 x  13 x1024
   69 conv    512  1 x 1 / 1    13 x  13 x1024   ->    13 x  13 x 512  0.177 BFLOPs
   70 conv   1024  3 x 3 / 1    13 x  13 x 512   ->    13 x  13 x1024  1.595 BFLOPs
   71 res   68                  13 x  13 x1024   ->    13 x  13 x1024
   72 conv    512  1 x 1 / 1    13 x  13 x1024   ->    13 x  13 x 512  0.177 BFLOPs
   73 conv   1024  3 x 3 / 1    13 x  13 x 512   ->    13 x  13 x1024  1.595 BFLOPs
   74 res   71                  13 x  13 x1024   ->    13 x  13 x1024
   75 conv    512  1 x 1 / 1    13 x  13 x1024   ->    13 x  13 x 512  0.177 BFLOPs
   76 conv   1024  3 x 3 / 1    13 x  13 x 512   ->    13 x  13 x1024  1.595 BFLOPs
   77 conv    512  1 x 1 / 1    13 x  13 x1024   ->    13 x  13 x 512  0.177 BFLOPs
   78 conv   1024  3 x 3 / 1    13 x  13 x 512   ->    13 x  13 x1024  1.595 BFLOPs
   79 conv    512  1 x 1 / 1    13 x  13 x1024   ->    13 x  13 x 512  0.177 BFLOPs
   80 conv   1024  3 x 3 / 1    13 x  13 x 512   ->    13 x  13 x1024  1.595 BFLOPs
   81 conv    255  1 x 1 / 1    13 x  13 x1024   ->    13 x  13 x 255  0.088 BFLOPs
   82 detection
   83 route  79
   84 conv    256  1 x 1 / 1    13 x  13 x 512   ->    13 x  13 x 256  0.044 BFLOPs
   85 upsample            2x    13 x  13 x 256   ->    26 x  26 x 256
   86 route  85 61
   87 conv    256  1 x 1 / 1    26 x  26 x 768   ->    26 x  26 x 256  0.266 BFLOPs
   88 conv    512  3 x 3 / 1    26 x  26 x 256   ->    26 x  26 x 512  1.595 BFLOPs
   89 conv    256  1 x 1 / 1    26 x  26 x 512   ->    26 x  26 x 256  0.177 BFLOPs
   90 conv    512  3 x 3 / 1    26 x  26 x 256   ->    26 x  26 x 512  1.595 BFLOPs
   91 conv    256  1 x 1 / 1    26 x  26 x 512   ->    26 x  26 x 256  0.177 BFLOPs
   92 conv    512  3 x 3 / 1    26 x  26 x 256   ->    26 x  26 x 512  1.595 BFLOPs
   93 conv    255  1 x 1 / 1    26 x  26 x 512   ->    26 x  26 x 255  0.177 BFLOPs
   94 detection
   95 route  91
   96 conv    128  1 x 1 / 1    26 x  26 x 256   ->    26 x  26 x 128  0.044 BFLOPs
   97 upsample            2x    26 x  26 x 128   ->    52 x  52 x 128
   98 route  97 36
   99 conv    128  1 x 1 / 1    52 x  52 x 384   ->    52 x  52 x 128  0.266 BFLOPs
  100 conv    256  3 x 3 / 1    52 x  52 x 128   ->    52 x  52 x 256  1.595 BFLOPs
  101 conv    128  1 x 1 / 1    52 x  52 x 256   ->    52 x  52 x 128  0.177 BFLOPs
  102 conv    256  3 x 3 / 1    52 x  52 x 128   ->    52 x  52 x 256  1.595 BFLOPs
  103 conv    128  1 x 1 / 1    52 x  52 x 256   ->    52 x  52 x 128  0.177 BFLOPs
  104 conv    256  3 x 3 / 1    52 x  52 x 128   ->    52 x  52 x 256  1.595 BFLOPs
  105 conv    255  1 x 1 / 1    52 x  52 x 256   ->    52 x  52 x 255  0.353 BFLOPs
  106 detection
Loading weights from yolov3.weights...Done!
data/dog.jpg: Predicted in 17.953083 seconds.
dog: 99%
truck: 92%
bicycle: 99%

Yolov2のネットワーク構造と実行結果です。

MuAuan@DESKTOP-S5LF5OV:/mnt/c/Users/user/darknet$ ./darknet detect cfg/yolov2.cfg yolov2.weights data/dog.jpg
layer     filters    size              input                output
    0 conv     32  3 x 3 / 1   416 x 416 x   3   ->   416 x 416 x  32  0.299 BFLOPs
    1 max          2 x 2 / 2   416 x 416 x  32   ->   208 x 208 x  32
    2 conv     64  3 x 3 / 1   208 x 208 x  32   ->   208 x 208 x  64  1.595 BFLOPs
    3 max          2 x 2 / 2   208 x 208 x  64   ->   104 x 104 x  64
    4 conv    128  3 x 3 / 1   104 x 104 x  64   ->   104 x 104 x 128  1.595 BFLOPs
    5 conv     64  1 x 1 / 1   104 x 104 x 128   ->   104 x 104 x  64  0.177 BFLOPs
    6 conv    128  3 x 3 / 1   104 x 104 x  64   ->   104 x 104 x 128  1.595 BFLOPs
    7 max          2 x 2 / 2   104 x 104 x 128   ->    52 x  52 x 128
    8 conv    256  3 x 3 / 1    52 x  52 x 128   ->    52 x  52 x 256  1.595 BFLOPs
    9 conv    128  1 x 1 / 1    52 x  52 x 256   ->    52 x  52 x 128  0.177 BFLOPs
   10 conv    256  3 x 3 / 1    52 x  52 x 128   ->    52 x  52 x 256  1.595 BFLOPs
   11 max          2 x 2 / 2    52 x  52 x 256   ->    26 x  26 x 256
   12 conv    512  3 x 3 / 1    26 x  26 x 256   ->    26 x  26 x 512  1.595 BFLOPs
   13 conv    256  1 x 1 / 1    26 x  26 x 512   ->    26 x  26 x 256  0.177 BFLOPs
   14 conv    512  3 x 3 / 1    26 x  26 x 256   ->    26 x  26 x 512  1.595 BFLOPs
   15 conv    256  1 x 1 / 1    26 x  26 x 512   ->    26 x  26 x 256  0.177 BFLOPs
   16 conv    512  3 x 3 / 1    26 x  26 x 256   ->    26 x  26 x 512  1.595 BFLOPs
   17 max          2 x 2 / 2    26 x  26 x 512   ->    13 x  13 x 512
   18 conv   1024  3 x 3 / 1    13 x  13 x 512   ->    13 x  13 x1024  1.595 BFLOPs
   19 conv    512  1 x 1 / 1    13 x  13 x1024   ->    13 x  13 x 512  0.177 BFLOPs
   20 conv   1024  3 x 3 / 1    13 x  13 x 512   ->    13 x  13 x1024  1.595 BFLOPs
   21 conv    512  1 x 1 / 1    13 x  13 x1024   ->    13 x  13 x 512  0.177 BFLOPs
   22 conv   1024  3 x 3 / 1    13 x  13 x 512   ->    13 x  13 x1024  1.595 BFLOPs
   23 conv   1024  3 x 3 / 1    13 x  13 x1024   ->    13 x  13 x1024  3.190 BFLOPs
   24 conv   1024  3 x 3 / 1    13 x  13 x1024   ->    13 x  13 x1024  3.190 BFLOPs
   25 route  16
   26 conv     64  1 x 1 / 1    26 x  26 x 512   ->    26 x  26 x  64  0.044 BFLOPs
   27 reorg              / 2    26 x  26 x  64   ->    13 x  13 x 256
   28 route  27 24
   29 conv   1024  3 x 3 / 1    13 x  13 x1280   ->    13 x  13 x1024  3.987 BFLOPs
   30 conv    425  1 x 1 / 1    13 x  13 x1024   ->    13 x  13 x 425  0.147 BFLOPs
   31 detection
mask_scale: Using default '1.000000'
Loading weights from yolov2.weights...Done!
data/dog.jpg: Predicted in 8.946540 seconds.
dog: 81%
truck: 74%
bicycle: 83%
7
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?