最終更新:2016-05-18 (水) 05:42:36 (2893d)  

OpenCV 2.0
Top / OpenCV 2.0

http://opencv.jp/opencv2-x-tips/changelog_from_11pre

OpenCV 1.1pre から OpenCV 2.0 の変更点(ChangeLog?

(September, 2009)

新しい機能と特徴:

  • 一般:
    • Windowsでのインストールパッケージが修正され,プリコンパイルされたバイナリでは MinGW が利用されています.
      • SourceForge のサイトにあるリリースノートを参照してください)
  • 自動ツールによるビルドを修正しました.
  • MLL:
    • 新形式のクラスのエイリアス(例えば,cv::SVM ~ CvSVM)や,
      • (以前のCvMat だけでなく cv::Mat に対する)学習/予測メソッド,が追加されました.
      • 現在のMLLは,OpenCVのその他の部分に対してよりシームレスに利用できます.

バグ修正:

メモ

  • IplImage, CvMat, CvMatND? という画像(行列)を表す型は、OpenCV 2.0以降はMatという1つのクラスにまとめられました。

2.0 betaの変更点

(September, 2009)

新しい機能と特徴:

  • 一般:
    • OpenCV のほとんどの機能(cxcore, cv, highgui)に対して,全く新しい C++ インタフェースが導入されました.
      • 一般的に,同じ結果を得るのにも,より短いコードですむようになります.
      • また,メモリの自動管理や,その他多くの利点が得られます.
      • opencv/doc/opencv.pdf の C++ リファレンスセクションと,opencv/include/opencv/*.hpp を参照してください.
      • また,以前のインタフェースはそのままで,現在のバージョンでもサポートされます.
  • ソースディレクトリの構造が再構成されました.
    • 全プラットフォームのすべての外部ヘッダが,一つのディレクトリに置かれています.
  • メインのビルドシステムに CMake http://www.cmake.org (推奨バージョンは 2.6.x)を利用するようになりました.
    • Windows パッケージでは,Visual Studio のプロジェクトファイル,Microsoft Visual C++,Borland C++ または MinGWmakefile? はいずれも提供されません.CMake を利用して生成してください.
    • Mac OS X の場合は,Xcode のプロジェクトファイルを生成することができます.
    • Linux やその他のプラットフォームの場合は,EclipseCode Blocks? のようなクロスプラットフォームIDEのプロジェクトファイルや,コマンドラインからOpenCVをビルドするための Makefile を生成することができます.
  • CXCORE, CV, CVAUX:
  • 現在の CXCORE では,様々な線形代数関数(solve,inverte,SVD,determinant,Eigen など)や,それに対応する旧形式の関数(cvSolve,cvInvertなど)内で LAPACK(OpenCV 2.0 では CLAPACK 3.1.1.1)を利用しています.
  • 多くの特徴検出器,物体検出器,ディスクリプタが新たに追加されました.
    •  (まだそれに関するドキュメントはありませんが),cv.hpp および cvaux.hpp を参照してください:
    • FAST - Edward Rosten から提供された高速なコーナー検出器
    • MSER - Liu Liu から提供された maximally stable extremal regions
    • LDetector - V. Lepetit(別名 YAPE)による高速な円ベースの特徴検出器
    • Fern?-ベースの点分類器,平面物体検出器 - M. Ozuysal and V. Lepetit の研究に基づくものです
    • One-way ディスクリプタ - PCAベースの強力な特徴ディスクリプタ, (S. Hinterstoisser, O. Kutter, N. Navab, P. Fua, and V. Lepetit,Real-Time Learning of Accurate Patch Rectification").Victor Eruhimov の提供です.
    • スピンイメージ3次元特徴ディスクリプタ - A. Johnson の博士論文に基づくもの. 実装は Anatoly Baksheev です.
    • 自己相似特徴 - Rainer Leinhar の提供.
    • HoG 人・物体検出器 - Navneet Dalal のフレームワーク(http://pascal.inrialpes.fr/soft/olt/)の再実装.現在のところ,検出部分だけが移植されていますが,これはオリジナルの学習コードと完全な互換性があります.cvaux.hpp と opencv/samples/c/peopledetect.cpp を参照してください.
    • LBP (Local Binary Pattern) 特徴
    • Haar 特徴ベースの物体検出器の拡張版 - Maria Dimashova による実装.Haar 特徴やLBPをサポートし,その他の特徴も同じように追加できます.
    • 適応的肌色検出器,fuzzy meanshift 追跡器 - Farhad Dadgostar による.cvaux.hpp と opencv/samples/c/adaptiveskindetector.cpp を参照してください.
  • 新形式の HAAR+LbP 物体検出器に対応した,新しい traincascade アプリケーションが追加されました.
    • opencv/apps/traincascade を参照してください.
  • Marius Muja による近似最近傍探索の強力なライブラリ FLANN が,OpenCV に標準で付属し,このライブラリに対する OpenCV 形式のインタフェースが cxcore に入りました.
    • cxcore.hpp と opencv/samples/c/find_obj.cpp を参照してください.
  • PhaseSpace? がバンドル調整エンジンを提供してくれました.cvaux.hpp を参照してください.
  • (G. Farnerback の論文 "Two-Frame Motion Estimation Based on Polynomial Expansion" に基づく)密なオプティカルフロー推定関数が追加されました.
    • cv::calcOpticalFlowFarneback? と C++ ドキュメントを参照してください.
  • 全ての画像変形処理(resize, remap, warpAffine, warpPerspective)が,バイキュービックおよび lanczos 補間をサポートします.
  • 新たな線形および非線形フィルタリング処理(filter2D, sepFilter2D, erode, dilate ...)のほとんどが,任意の任意モードをサポートするので,ROIの外側にある有効な画像ピクセルを利用できます
    • (つまり,ROI はもはや「孤立」したものではありません).C++ ドキュメントを参照してください.
  • GZIP?で圧縮された XML/YAMLファイルを,保存,読み込みできます.例えば:
    • cvSave("a.xml.gz", my_huge_matrix); というように.
  • MLL:
    • ブースティングやランダムツリーと比較してかなり高速に学習できる
      • Extremely Random Trees が追加されました(Maria Dimashovaによる).
  • 決定木エンジンとそれに基づくクラス(決定木,Boost,ランダムツリー)を改訂しました:
    • メモリ消費量が減りました(最大 200% の節約).
    • OpenCVOpenMPサポートでビルドされている場合)マルチスレッドで学習が可能になりました.
    • それに特化された低オーバヘッドブランチによって,特に数値変数のブースティング分類器が高速化されました.
  • mltest が追加されました.まだまだ完全ではありませんが,
    • MLLクラスの一部に対する正確性テストを含みます.
  • HighGUI:
    • Linux ステレオカメラのサポート(現在は Videre のカメラのみ)が追加されました.
      • 2眼カメラ,3眼カメラ,... n眼カメラに対して,同一のキャプチャインタフェースが存在します.
  • 画像をメモリ上のバッファに圧縮して置いたり,逆にそれを展開したりすることが可能です.
    • C++ HighGUI リファレンスマニュアルを参照してください.
  • ドキュメント:
    • (James Bowman と Caroline Pantofaru によって)リファレンスマニュアルが,HTMLからLaTeXになりました.そして,オフラインで読むための opencv.pdf と,以下で参照できる最新のオンラインドキュメント(LaTeX->Sphinx->HTML というように変換されたものです)があります.
  • サンプル,その他:
    • Shigi Yu による,目の検出器.
      • opencv/data/haarcascades/*[lefteye|righteye]*.xml を参照してください.
    • 正面顔検出器用のサンプル LBP カスケードが,Maria Dimashova によって作られました.
      • opencv/data/lbpcascades/lbpcascade_frontalface.xml を参照してください.
    • 高品質な体の部位検出器,顔特徴検出器が, Modesto Castrillon-Santana によって提供されました.
      • opencv/data/haarcascades/haarcascade_mcs*.xml を参照してください.

最適化:

  • 多くの基本関数と画像処理演算(算術演算,幾何学変換,フィルタリングなど)に,SSE2最適化を施し,数倍の高速化を達成しました.
  • IPP のサポートモデルを変更しました.
    • IPP はコンフィグ時にCMakeによって検出され,OpenCV にリンクされます.(しかし,ベータではまだ実装されていません).
  • パラメータの調整により,PNG エンコーダのパフォーマンスが4倍改善されました.

バグ修正:

既知の問題:

  • 現在のところ configure+autotools に基づくビルドは,動作しません.
    • CMake を利用してください.
    • SourceForgeOpenCV バグトラッカーには,まだ約150のオープンされ
      • たバグが残っています.いくつかは実際には修正済ですが,残りのバグの大半は,OpenCV 2.0 リリース版で修正される予定です.
    • IPP はサポートされていません.しかし,新しい OpenCV では,多くの SSE2 コードをインクルードしているので,これは致命的な問題ではありません.(少なくとも,SSE2最適化がなされていない最重要関数に対しては,)2.0 リリース版で,再びサポートされる予定です.
    • ドキュメントは,更新,改良されていますが,まだ多くの作業が残っています:
      • cvaux の新機能のいくつかは,まだドキュメント化されていません.
      • 参考文献の部分が破損しています.
      • 既知のバグや誤字がたくさん残っています.
      • 多くのハイパーリンクが動作しません.
    • 現在ののテストは,(OpenCV 1.x API に対する後方互換性を介して)新機能の一部を部分的にしかカバーしていませんが,もちろんこのカバー率は不十分です.
    • 新形式の Python インタフェースが,まだ取り込まれていません.
  • これらの問題の多くが 2.0 リリース版で対処される予定です.具体的な問題を発見した場合は,バグトラッカーに記録してください: http://sourceforge.net/tracker/?group_id=22870 バグレポートに,C++/Python の短いサンプルと,問題を再現するのに必要なデータファイルを添付してもらえると,さらに助かります.

メモ

インストール

関連