2018年9月21日金曜日

OpenCV4.0 アルファのchange logを訳してみた

昨日、リリース予定の件を書いたら、翌日には4.0アルファがリリースされていた。
当初は、ベータだったのに、アルファに後退している。あと、数回中間でのリリースがされることが予想される

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への移動は触れられていない

以上

0 件のコメント:

コメントを投稿