趣味は車輪の再発明♪

[opencv] Super Resolution - 超解像モジュール (OpenCV 2.4.8)


詳解 OpenCV ―コンピュータビジョンライブラリを使った画像処理・認識
Gary Bradski Adrian Kaehler
オライリージャパン
売り上げランキング: 25,746


■ たかみんつ / ソフト開発メモINDEX / OpenCVリファレンス(じぶん用) / 関数・クラスの使い方・サンプルなど /


「SuperResolutionで動画の超解像を行うサンプルプログラム」はコチラ

この文書は、2014年4月14日時点の「Super Resolution - OpenCV 2.4.8.0 documentation」 を個人的利用のために翻訳したものであり、翻訳の正しさを保証するものではありません。 ここに記載されている情報を利用される場合は、必ず原文を参照してください。翻訳した時点の原文はこの文書の下に記載しています。


Super Resolution - 超解像モジュールは、解像度拡張に関する問題を解決する、関数とクラスのセットです。 [Farsiu03]と[Mitzel09]で言及される、少しだけのメソッドが実装されています。

superres::SuperResolution

超解像アルゴリズムの基本クラスです。

class superres::SuperResolution : public Algorithm, public superres::FrameSource

このクラスは、超解像アルゴリズムファミリーに共通のインターフェースを定義するためだけに使われています。

superres::SuperResolution::setInput

超解像アルゴリズムへの入力フレームを設定します。

C++: void superres::SuperResolution::setInput(const Ptr<FrameSource>& frameSource)

Parameters:

  • frameSource – 入力フレームソース

superres::SuperResolution::nextFrame

入力フレームソースから次のフレームを処理して、出力結果を返します。

C++: void superres::SuperResolution::nextFrame(OutputArray frame)

Parameters:

  • frame – 出力結果

superres::SuperResolution::collectGarbage

内部バッファをすべてクリアします。

C++: void superres::SuperResolution::collectGarbage()

superres::createSuperResolution_BTVL1

Bilateral TV-L1 超解像を生成します。

C++: Ptr<SuperResolution> superres::createSuperResolution_BTVL1()

C++: Ptr<SuperResolution> superres::createSuperResolution_BTVL1_GPU()

このクラスには、[Farsiu03] と [Mitzel09]の文書で説明される超解像アルゴリズムが実装されています。(このクラスを使用したサンプルプログラムがあります。)

クラスインスタンスを生成した後に設定できる、このアルゴリズムを制御する重要なクラスメンバを、以下に示します。(既定値は調査の上、追記しました)

名前 既定値 説明
int scale 4 スケールファクター。
int iterations 180 繰り返し回数。
double tau 1.3 最急降下法の漸近値。
double lambda 0.03 データ項と滑らかさの項をバランスさせる重みパラメータ。
double alpha 0.7 バイラテラル·TVでの空間分布のパラメータ。
int btvKernelSize 7 バイラテラル·TVフィルタのカーネルサイズ。
int blurKernelSize 5 ガウシアン平滑化のカーネルサイズ。
double blurSigma 0.0 ガウシアン平滑化のシグマ。
int temporalAreaRadius 4 一時的な探索領域の半径。※ 超解像処理での前後処理フレーム数に関連する。フレームとオプティカルフローが(temporalAreaRadius × 2 + 1)個、生成されている。
Ptr<DenseOpticalFlowExt> opticalFlow Farnebackクラスのインスタンス 高密度オプティカルフローアルゴリズム。

[Farsiu03] (1, 2) Farsiu, D. Robinson, M. Elad, P. Milanfar. Fast and robust Super-Resolution. Proc 2003 IEEE Int Conf on Image Process, pp. 291–294, 2003.

[Mitzel09] (1, 2) Mitzel, T. Pock, T. Schoenemann, D. Cremers. Video super resolution using duality based TV-L1 optical flow. DAGM, 2009.

関連文書


Super Resolution

The Super Resolution module contains a set of functions and classes that can be used to solve the problem of resolution enhancement. There are a few methods implemented, most of them are descibed in the papers [Farsiu03] and [Mitzel09].

superres::SuperResolution

Base class for Super Resolution algorithms.

class superres::SuperResolution : public Algorithm, public superres::FrameSource

The class is only used to define the common interface for the whole family of Super Resolution algorithms.

superres::SuperResolution::setInput

C++: void superres::SuperResolution::setInput(const Ptr<FrameSource>& frameSource)

Set input frame source for Super Resolution algorithm.

Parameters:

  • frameSource – Input frame source

superres::SuperResolution::nextFrame

Process next frame from input and return output result. C++: void superres::SuperResolution::nextFrame(OutputArray frame)

Parameters:

  • frame – Output result

superres::SuperResolution::collectGarbage

Clear all inner buffers.

C++: void superres::SuperResolution::collectGarbage()

superres::createSuperResolution_BTVL1

Create Bilateral TV-L1 Super Resolution.

C++: Ptr<SuperResolution> superres::createSuperResolution_BTVL1()

C++: Ptr<SuperResolution> superres::createSuperResolution_BTVL1_GPU()

This class implements Super Resolution algorithm described in the papers [Farsiu03] and [Mitzel09] .

Here are important members of the class that control the algorithm, which you can set after constructing the class instance:

  • int scale Scale factor.
  • int iterations Iteration count.
  • double tau Asymptotic value of steepest descent method.
  • double lambda Weight parameter to balance data term and smoothness term.
  • double alpha Parameter of spacial distribution in Bilateral-TV.
  • int btvKernelSize Kernel size of Bilateral-TV filter.
  • int blurKernelSize Gaussian blur kernel size.
  • double blurSigma Gaussian blur sigma.
  • int temporalAreaRadius Radius of the temporal search area.
  • Ptr opticalFlow Dense optical flow algorithm.

[Farsiu03] (1, 2) Farsiu, D. Robinson, M. Elad, P. Milanfar. Fast and robust Super-Resolution.. Proc 2003 IEEE Int Conf on Image Process, pp. 291–294, 2003.

[Mitzel09] (1, 2) Mitzel, T. Pock, T. Schoenemann, D. Cremers. Video super resolution using duality based TV-L1 optical flow. DAGM, 2009.


Pythonプロフェッショナルプログラミング 第2版
秀和システム (2015-05-21)
売り上げランキング: 1,813


クラウドではじめる機械学習 Azure MLでらくらく体験
脇森浩志 杉山雅和 羽生貴史
リックテレコム
売り上げランキング: 2,081

実践Node.js プログラミング (Programmer's SELECTION)
Mike Cantelon Marc Harter T.J. Holowaychuk Nathan Rajlich
翔泳社
売り上げランキング: 40,213

■ たかみんつ / ソフト開発メモINDEX / OpenCVリファレンス(じぶん用) / 関数・クラスの使い方・サンプルなど /



RSS Feed Widget
[opencv] Super Resolution - 超解像モジュール (OpenCV 2.4.8)
(http://bicycle.life.coocan.jp/takamints/index.php/doc/opencv/doc/super_resolution)
by Koji Takami ( email: vzg03566@gmail.com, GitHub: takamin )