opencv1.1pre から opencv2.0 の変更点(ChangeLog)

04 2月 2010 Under: opencv2.x-tips

2.0

(September, 2009)

>>> 新しい機能と特徴:

  - 一般:
    * Windowsでのインストールパッケージが修正され,プリコンパイルされた
     バイナリでは MinGW が利用されています.
     (SourceForge のサイトにあるリリースノートを参照してください)

    * 自動ツールによるビルドを修正しました.

  - MLL:
    * 新形式のクラスのエイリアス(例えば,cv::SVM ~ CvSVM)や,
     (以前のCvMat だけでなく cv::Mat に対する)学習/予測メソッド,が追加されました.
      現在のMLLは,OpenCVのその他の部分に対してよりシームレスに利用できます.

>>> バグ修正:

  - 2.0 betaで見つかった大量のバグが修正されています.OpenCV バグトラッカーを参照してください
     http://sourceforge.net/tracker/?group_id=22870&atid=376677
    バグレポートやパッチを提供してくれた皆さんのおかげです!

-


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)を利用するようになりました.
        + Winodows パッケージでは,Visual Studio のプロジェクトファイル,
        MSVC,Borland C++ または MinGW の makefile はいずれも提供されません.CMake を利用して生成してください.

        + MacOSX の場合は,Xcode のプロジェクトファイルを生成することができます.

        + Linux やその他のプラットフォームの場合は,Eclipse や Code Blocks のような
          クロスプラットフォームIDEのプロジェクトファイルや,コマンドラインから
	  OpenCVをビルドするための makefile を生成することができます.

    * OpenCV リポジトリが SourceForge にホストされた Subversion に移行しました:
       http://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary
      最新のスナップショットは
       http://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/trunk,
      にあります.それ以前のバージョンや安定版は
       http://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/tags/latest_tested_snapshot
      にあります.

  - 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% の節約).
      + (OpenCVがOpenMPサポートでビルドされている場合)マルチスレッドで学習が可能になりました.
      + それに特化された低オーバヘッドブランチによって,
        特に数値変数のブースティング分類器が高速化されました.

    * mltest が追加されました.まだまだ完全ではありませんが,
      MLLクラスの一部に対する正確性テストを含みます.

  - HighGUI:
    * [Linux] ステレオカメラのサポート(現在は Videre のカメラのみ)が追加されました.
      2眼カメラ,3眼カメラ,... n眼カメラに対して,同一のキャプチャインタフェースが存在します.

    * 画像をメモリ上のバッファに圧縮して置いたり,逆にそれを展開したりすることが可能です.
      C++ HighGUI リファレンスマニュアルを参照してください.

  - ドキュメント:
    * (James Bowman と Caroline Pantofaru によって)リファレンスマニュアルが,HTMLからLaTeXになりました.
      そして,
      + オフラインで読むための opencv.pdf と,
      + 以下で参照できる最新のオンラインドキュメント
        (LaTeX->Sphinx->HTML というように変換されたものです)があります.
         http://opencv.willowgarage.com/documentation/index.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倍改善されました.

>>> バグ修正: <<<

    * バグレポートやパッチを提供してくれた皆さんのおかげです!

    - http://sourceforge.net/tracker/?group_id=22870&atid=376677 の,
      クローズされたリスト,まだオープンのままのバグのリストを参照してください.

>>> 既知の問題:
    * 現在のところ configure+autotools に基づくビルドは,動作しません.
      CMake を利用してください.
    * SourceForge の OpenCV バグトラッカーには,まだ約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 の短いサンプルと,問題を再現するのに必要
    なデータファイルを添付してもらえると,さらに助かります.

“opencv1.1pre から opencv2.0 の変更点(ChangeLog)” への1件のコメント

  1. chiled より:

    はじめまして。
    私は現在、OpenCV勉強中で、iPhoneアプリで使用する為に
    書籍等のサンプルを動かしていますが、armv6でしかビルドが通らない状態です。
    原因は、書籍サンプルのライブラリ(Universal Binary)に
    Armv7用のライブラリが入っていないためであることがわかりました。

    :Armv7でも使用できるようにライブラリを作成する方法が知りたいです
    lipoの使用経験がなくどこにどのコードを入れて進めればよいのかもわかりません。

    :また、OpenCV2.3.1等では、iPhoneでもライブラリの作成を行わずとも
    xcodeで「libopencv_core.2.3.1.dylib」等を指定するだけでビルドできるのでしょうか?

    以上、tipsの方に、iPhoneで開発する際のインストール方法や環境設定方法の追加を希望します。
    何卒よろしくお願いいたします。

コメントをどうぞ