4.0のアルファが公開されているので今さらだがメモ
3.4.2との比較
mask_rcnn.py tf_text_graph_common.py tf_text_graph_mask_rcnn.pyが追加されている
tf_textは、モデルのネットワーク構成を図にするサンプルであるが、実行にはtfパッケージが必要なので、OpenCVで描画する必要性は疑問である。
mask_rcnnは、4.0の更新に記載されているが、3.4.3の時からサポートされている
後で試した結果を掲載する
OpenCV、機械学習、はやりのDeep learningの環境構築の方法、サンプルの動かし方、APIの使い方、Tipsなどをすぐに忘れてしまうので、備忘録として記録している。記憶がなくなるスピードが、早いのでメモしておかないと再現できなくなる確率が高まっている。 最近、再度HDDを飛ばしてしまい、過去の自分のページに再度助けられた。 また、DNNモジュールを触る機会が増えているので、C++からPyhonへと鞍替え中。 内容を気にいっていただければ、twitterで紹介願います。
2018年9月24日月曜日
Ubuntu 16.04.5上にOpenCV-pythonの環境を構築した
お決まりコマンド
sudo apt-get -qq update && apt upgrade -y
必要なパッケージのインストール
sudo apt install --no-install-recommends -y wget unzip libglib2.0-0 libsm6 libxrender1 libxext6 python3 python3-dev python3-numpy
PIPのインストール(認証エラーが生じたので、オプションを追加)
wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
OpenCV-pythonをインストール
pip install matplotlib opencv-python
最後に
echo 'alias python="python3"' > .bashrc
確認
メモ
cv2をインポートした時にライブラリがないとの警告が出た場合、
apt-cache search libXrender
でパッケージ名を探し、apt-get install すればよい
使用できるOpenCVを調べる
pip install opencv-python==5
存在しないバージョンを指定する
Could not find a version that satisfies the requirement opencv-python==5 (from versions: 3.1.0.0, 3.1.0.1, 3.1.0.2, 3.1.0.3, 3.1.0.4, 3.1.0.5, 3.2.0.6, 3.2.0.7, 3.2.0.8, 3.3.0.9, 3.3.0.10, 3.3.1.11, 3.4.0.12, 3.4.0.14, 3.4.1.15, 3.4.2.16, 3.4.2.17, 3.4.3.18)
No matching distribution found for opencv-python==5
以上
2018年9月21日金曜日
カーネルを更新したらログインループとなり困ってしまった。
Ubunt16.04LTSを使用しているので、カーネルを更新する必要はなかったが、魔がさしてしまい更新したところ、ログインループと呼ばれる現象が生じ、GUI環境が使用できなくなってしまった
Google先生で調べてみると、nVidiaのドライバー特有の問題で、様々な対策方法が見つかった。
(何回、ドライバーのインストールと削除を繰り返したか忘れた)
最終的には、以下のコマンドを実行し、rebootしたらGUI環境に戻っていた。
sudo apt-get install --install-recommends linux-generic-hwe-16.04 xserver-xorg-hwe-16.04
uname -a
旧 4.4.0-135-generic 新 4.15.0-34-generic
nvidia-smi
Driver Version: 390.87
設定を見ると、396.54も選べそうだが、しばらく様子見とする
OpenCV4.0 アルファのchange logを訳してみた
昨日、リリース予定の件を書いたら、翌日には4.0アルファがリリースされていた。
当初は、ベータだったのに、アルファに後退している。あと、数回中間でのリリースがされることが予想される
3.4.3の変更点は、9/21の時点では、TBDになったいるが、4.0アルファ版は、変更点が掲載されていたので、ざっくり訳してみた(一部分からないところは、省略している)
原文は、ここ
OpenCV 3.xは、 - DENABLE_CXX11=ONflagをCMakeに渡すことでC ++ 11ライブラリとして構築することができる
しかし、いまでは、そのフラグは不要で、りようできない。
拡張されたC ++ 11標準ライブラリのおかげで、独自のcv::String and cv::Ptrを取り除くことができる
現在、cv::String と std::string は同じで、cv::Ptr は、std::shared_ptrのラッパーである。
Linux/BSD parallel_for_ のデフォルトは、pthreadsの代わりに、std::threadsを使用します
ONNXパーサーの統合により、多くの分類用ネットワークを読み込むことができる。
ONNX 版の YOLOは、 最終領域情報を出力する最終層がサポートされていない。
Intel DLDTサポートを組み込んだDNNモジュールのパフォーマンスをさらに向上させた。
ターゲットプラットフォームとコンパイルフラグに応じて、これらの関数は、SSE2, SSE4, AVX2, NEON or VSXにMAPされている。
CPU_BASELINE=AVX2 CMake flagを設定してコンパイルすれば、特定の画像処理操作で、15から30%速度が向上する
OpenCV 4.0では、より多くのカーネルをこのような組み込み関数に変換し、ダイナミックディスパッチメカニズムを採用する予定。
実際のハードウェアが、AVX2命令をサポートしている場合、AVX2最適化カーネルが実行時に選択される
QRコード検出が、サンプルとともに、物体検出モジュールに追加された。
人気のあるKinect Fusionが、CPUとGPU(OpenCL)用に最適化されて実装され、opencv_contrib/rgbd モジュールに統合された
ライブサンプルを作成するために、opencv/videoioモジュールに、 Kinect 2サポートを行った。
CUDAのcontribへの移動は触れられていない
以上
当初は、ベータだったのに、アルファに後退している。あと、数回中間でのリリースがされることが予想される
3.4.3の変更点は、9/21の時点では、TBDになったいるが、4.0アルファ版は、変更点が掲載されていたので、ざっくり訳してみた(一部分からないところは、省略している)
原文は、ここ
4.0前の最初の中間リリースである
OpenCV 4.0 は現在C ++ 11ライブラリであり、そのため、C ++ 11準拠のコンパイラが必要。OpenCV 3.xは、 - DENABLE_CXX11=ONflagをCMakeに渡すことでC ++ 11ライブラリとして構築することができる
しかし、いまでは、そのフラグは不要で、りようできない。
拡張されたC ++ 11標準ライブラリのおかげで、独自のcv::String and cv::Ptrを取り除くことができる
現在、cv::String と std::string は同じで、cv::Ptr は、std::shared_ptrのラッパーである。
Linux/BSD parallel_for_ のデフォルトは、pthreadsの代わりに、std::threadsを使用します
DNN の改良
Mask-RCNN モデルサポートONNXパーサーの統合により、多くの分類用ネットワークを読み込むことができる。
ONNX 版の YOLOは、 最終領域情報を出力する最終層がサポートされていない。
Intel DLDTサポートを組み込んだDNNモジュールのパフォーマンスをさらに向上させた。
パフォーマスの改良
ワイドユニバーサル組み込み関数により、多くの基本カーネルを書き直した。ターゲットプラットフォームとコンパイルフラグに応じて、これらの関数は、SSE2, SSE4, AVX2, NEON or VSXにMAPされている。
CPU_BASELINE=AVX2 CMake flagを設定してコンパイルすれば、特定の画像処理操作で、15から30%速度が向上する
OpenCV 4.0では、より多くのカーネルをこのような組み込み関数に変換し、ダイナミックディスパッチメカニズムを採用する予定。
実際のハードウェアが、AVX2命令をサポートしている場合、AVX2最適化カーネルが実行時に選択される
QRコード検出が、サンプルとともに、物体検出モジュールに追加された。
人気のあるKinect Fusionが、CPUとGPU(OpenCL)用に最適化されて実装され、opencv_contrib/rgbd モジュールに統合された
ライブサンプルを作成するために、opencv/videoioモジュールに、 Kinect 2サポートを行った。
CUDAのcontribへの移動は触れられていない
以上
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の準備が進んでいる
以上
登録:
投稿 (Atom)






