2018年9月19日水曜日

数日以内にOpenCV 4.0ベータがリリースされる予定である。


先週の会議メモによると今週水曜日(日本時間だと木曜)に4.0のベータ版のリリースが予定されている

4.0アルファ(午前の記述はベータだった)のIssuesは、23時の時点で2個Openなっている。これが0になったらリリースされるのか、そのままリリースされるのかは分からない

公式リリースを待たなくてもmasterのファイルを調べてみると、いくつかの追加機能が確認できる。

力を入れているdnnモジュールは、ONNX対応になっている。リリースされたら、試してみる予定である。

2018年9月5日水曜日

OpenCV 3.4.3でYolo V3を試してみた (I tried Yolo V3 with OpenCV 3.4.3)


3.4.2の時の話はここ。

3.4.2でためした時から以下の変更あり

1. サンプルのtipoが修正されている

  issueへの報告により、line 23の変数がnmsに

2 windowサイズの問題

縮小表示される原因がわかり対処
 オリジナルのサイズで結果が表示されるようになった。

 原因
 スクロールバーを表示するために事前にwindwoを作成していたため

 対処
 line 92から94をコメントアウト

3 関連データの場所

configファイルはここ
  Weightファイルはここ
 クラス名はここ

 これらは、dnn サンプルページの下段のここからたどる
 

コマンドは、以下のもの
(オリジナルを修正しているため、ファイル名を買えている)

 ./yolov3_object_detection -config=yolov3.cfg -model=yolov3.weights -input=train1.png -width=416 -height=416 -scale=0.00392 -classes=object_detection_classes_yolov3.txt -rgb=true


OpenCV 3.4.3 がリリースされた (OpenCV 3.4.3 was released)




3.4.2同様に公式発表はありませんが、3.4.3が8/29にリリースされました

リリース情報 なし

ドキュメント
変更点 (書きかけ)
github

また、予定日は記載されて以内が、3.4.4の準備が進んでいる


以上

2018年7月18日水曜日

ubuntuの各種ツール、ライブラリのバージョン確認方法 2018/07/18

はじめに

環境構築時に影響を及ぼす、各種ツール、ライブラリのバージョンの確認方法をメモしたものである
2018/7/18版
 
ubuntu
 cat /etc/lsb-release
    DISTRIB_DESCRIPTION="Ubuntu 16.04.4 LTS"
    DISTRIB_DESCRIPTION="Ubuntu 16.04.5 LTS" (9/19)

kernel
 uname -r
    4.4.0-130-generic
    4.4.0-135-generic (9/19)


gcc
 gcc --version
    gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609

docker

 docker --version
    Docker version 17.05.0-ce, build 89658be

GPUボード情報

 nvidia-smi

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.130                Driver Version: 384.130                   |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 105...  Off  | 00000000:01:00.0  On |                  N/A |
| 43%   28C    P8   ERR! /  75W |    399MiB /  4037MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                              
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1036      G   /usr/lib/xorg/Xorg                           221MiB |
|    0      2538      G   compiz                                        98MiB |
|    0      3686      G   ...-token=FBE45A9952681D539215C61CB0298B6B    75MiB |
+-----------------------------------------------------------------------------+

2018年7月14日土曜日

OpenCV 3.4.3のリリースが予定されている



7/4に3.4.2がリリースされたばかりであるが、3.4.3が既に計画されている。(リリース日は未定)
マイルストーン情報はここ 

この情報を知ったのは、一昨日にissueとして報告したbugの修正版が、3.4.3にマージされたとの報告があったため。

どこのコードに反映されているのかGitHubの運用方法をよく理解していなく、いろいろ見て見たところブランチ3.4にマージされていた

サイト主は、GitHUBには疎いので、自分でPRをすることができない。今後、この辺の仕組みを調べて自分でPR出きるようにしたい。

OpenCV 3.4.2 for windows Prebuild版のConfigrationを表示させてみた (I displayed a configration of OpenCV 3.4.2 for windows prebuild version.)


Windows版のOpenCVは、ソースだけでなく、ビルドされたバイナリーファイルも同梱されている。
同梱されているバイナリーのConfigrationは、cv::getBuildInformation() APIで取得できる

上記APIを表示されるソースファイルを作成し、Windowsコンソールで実行させ、出力をファイルとしてここに保存した。

・有効モジュール
    calib3d core dnn features2d flann highgui imgcodecs imgproc java_bindings_generator ml objdetect photo python_bindings_generator shape stitching superres video videoio videostab world

CPU/HW 最適化
    Baseline:                    SSE SSE2 SSE3
      requested:                 SSE3
    Dispatched code generation:  SSE4_1 SSE4_2 FP16 AVX AVX2
      requested:                 SSE4_1 SSE4_2 AVX FP16 AVX2 AVX512_SKX
      SSE4_1 (3 files):          + SSSE3 SSE4_1
      SSE4_2 (1 files):          + SSSE3 SSE4_1 POPCNT SSE4_2
      FP16 (1 files):            + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 AVX
      AVX (5 files):             + SSSE3 SSE4_1 POPCNT SSE4_2 AVX
      AVX2 (9 files):            + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2


気になったオプション
    JPEG:                        build-libjpeg-turbo (ver 1.5.3-62)
  Parallel framework:            Concurrency
  OpenCL:                        YES (no extra features)


2018年7月12日木曜日

OpenCV 3.4.2でYolo V3を試してみた (I tried Yolo V3 with OpenCV 3.4.2)



3.4.1の時からYoloのV3がサポートされてたようである
使用したサンプルファイルは、これ

ただし、1ヶ所間違い(line 25)があり、issueとして報告中

 誤 "{ thr         | .4 | Non-maximum suppression threshold. }"
 正 "{ nms         | .4 | Non-maximum suppression threshold. }"

ビルドして下記コマンドを実行
./object_detection -config=yolov3.cfg -model=yolov3.weights -input=train1.png -width=416 -height=416 -scale=0.00392 -classes=coco.names -rgb=true

configファイルはここに
Weightファイルはここに
(サイズが248Mあり、サーバが細いのでダウンロードに約30分かかる)

結果は冒頭の画像(色は変更している)
trainのconfidenceが1となっており、V2と比較して向上していると思われる

トラックバーは動かしても再計算されないので、修正が必要
(カメラストリームの場合は有効、静止画には意味ない)

なぜか結果が縮小されて表示されるので調査中