信号処理

信号、画像およびビデオ処理の芸術および科学の実務家のためのQ&A

3
RANSAC推定ホモグラフィのフィルタリング
私はRANSACアルゴリズムを使用して、カメラ間で変換された画像のペアの間のホモグラフィ推定を行います。これらの画像の間には、平行移動はありません(純粋な回転とスケール/ズームの変更)。ケースの半分でうまく機能します。正しい出力は次のようになります。 赤い線はフィルターされた対応であり、四辺形はホモグラフィが遠近法を歪める方法を示しています。 ただし、次のような多くの悪いケースが発生することがあります。 私はすでにRANSACループで簡単なテストを行っています。単純な四角形(単位正方形)を作成し、サンプル変換で変換します。次に、変換が凸性を維持したかどうかを調べます。 しかし、それでも凹面の四辺形の束が出てきます。 ホモグラフィが正しく動作し、正しくないソリューションを除外する場合に、ホモグラフィを適切にテストする方法について何か考えがありますか? 3つの変換された点が同一線上にないことをテストするコードを見つけました。しかし、三角筋やその他の「無効な」四辺形を除外しないので、これは十分ではないようです...

3
カメラのキャリブレーション/ピンホールカメラモデルと3D位置の計算
キャリブレーションされたカメラと固有のパラメーターがあります。また、現実世界の平面上の点(世界の原点)に関連する外部パラメーターもあります。この点は、法線が[0,0,1]の実世界座標[0,0,0]の原点として設定しました。 これらの外部パラメーターから、これを使用して、ワールドプレーン3D座標でのカメラの位置と回転を計算できます:http : //en.wikipedia.org/wiki/Camera_resectioning これで、[x、y]の画像座標を抽出した2番目のポイントができました。ワールド座標系でこのポイントの3D位置を取得するにはどうすればよいですか? ここでの直感は、カメラの光学面(上記のように3Dの位置になりました)からカメラの画像面[x、y]を通過する光線を追跡する必要があると思います。上部で定義した実世界の平面を通して。 法線を知っていて、その平面上を指すように、世界座標の3Dレイを平面と交差させることができます。私が得られないのは、ピクセルを介してイメージプレーンを離れるときの3Dの位置と方向を見つける方法です。私を混乱させているのは、異なる座標系による変換です。

1
マルチレートフィルタリングの基礎を理解する
マルチレートフィルタリングの基本的な概念の一部を理解できません。さまざまな情報源から、マルチレートフィルターの基本的なビルディングブロックは、ダイアディック分析および合成ブロックであることがわかります。 質問1: 分析ブロックの構造は次のようになります。この場合、広帯域信号はローパスバンドとハイパスバンドに分割され、それぞれカットオフはFS / 4(ナイキスト/ 2)です。次に、各バンドは2の係数で間引きされます。 新しい間引きサンプルレートのナイキスト限界を超える周波数情報が含まれている場合、高周波帯域の信号をどのように正確に表すことができますか? 質問2: 分析ブロックの構造は次のようになります。サブバンド信号が補間され、再フィルター処理されてから合計されます。 2番目のフィルタリングの目的は何ですか?

1
キャニーエッジ検出器のさまざまなパラメーターの影響を説明できますか?
Cannyエッジ検出器に関する最後の2つの質問 キャニーエッジ検出器の制限は何ですか? そして 葉の静脈を分割する最良の方法? アルゴリズムの基本的な概要は次のとおりです。 a。ガウスたたみ込みを適用します。(ここで作成する選択) b。2D導関数を適用する c。ヒステリシス下限および上限T0およびT1(ここでT 0およびT 1の選択を選択)を使用して、このエッジの隆起を追跡し、しきい値処理(エッジにないピクセルをゼロに設定)します。 σσ\sigmaT0T0T0T1T1T1 詳細については、こちらをお読みください。 一方、キャニーは最適であると主張されています。実際的な結果が重要な場合は、上記のおよびT 1を調整することで大きな違いが生まれます。σ,T0,σ,T0,\sigma, T0,T1T1T1 では、これらの(微調整)パラメータを実際にどのように選択するのでしょうか。明確なアプローチや価値がない場合でも、これを知るための一般的な手法は何ですか?

1
Opencv calcHistおよびcalcBackProject
画像処理について学びたいので、c ++とopencvの実験を始めました。 今、私の最初の演習は、calcHistとcalcBackProjectを使って皮膚検出器を作成することです。 しかし、私はいくつかのことを理解していません: バックプロジェクトの統計的解釈、および「バックプロジェクト」と呼ばれる理由 私はパラメータがどの範囲にあるのかをかなり理解していますcalcBackProject。しかし、私は本当にcalcHist機能の範囲パラメーターで立ち往生しています。 検出精度を上げるには、より多くのレベルでバックグロジェクションを使用するのが良いと思います。RGBの各チャネルとHSVの各チャネルで。しかしcalcBackProject、rgbとhsvの別々のチャネルの異なる結果をどのように組み合わせることができるかわかりません。 そして、私がうまく理解していないのは、これらの2つの方法で何をしているのかについての理論の欠如が原因だと思います(最初のポイントを参照)。分かりやすい英語で説明してください。

3
クロマサブサンプリング:データレートを適切に計算する方法
たとえばY'UV画像でクロマサブサンプリングを利用するときにデータレートを計算する方法を理解するのに苦労しています。 以下の計算例があります。 画像解像度:352*288 周波数:25 fps 以下のために(:4:4 4)以下のように計算例を行きます: (352px * 288px) * 3 color channels * 25 fps * 8 bit = 60 825 600 bit/s ここまでは順調ですね。 しかし、今来る(4:2:0): (352px*288px) * 1.5 color channels * 25 * 8 = 30 412 800 bit/s さて、この例を例(4:1:1)に変換しようとすると、1.5カラーチャネルの比率がどのように計算されるかを正しく理解しているかどうかわかりません。 計算の最初の推測は(4:2:0)の場合でした: 2/4*3=1.5 color channels 同様に(4:1:1)の場合、カラーチャネルの比率を次のように計算します。 1/4*3=0.75 color channels …

2
z変換発見
したがって、コサイン部分を接続することを意図しているzzzか、厳密に一部であるかを判断しようとしていますh [ n ]h[ん]h[n]。(番号aはオープンユニットディスクにあります) つまり、すべてが一部であると確信していましたが、z変換を実行すると、この有理関数が得られました。h [ n ]h[ん]h[n] 1 - COS(2 πf0Fs)z− 11 − 2 a cos(2 πf0Fs)z− 1+ a2z− 21−acos⁡(2πf0Fs)z−11−2acos⁡(2πf0Fs)z−1+a2z−2\frac{1 - a\cos(2\pi\frac{f_0}{F_s})z^{-1}}{1-2a\cos(2\pi\frac{f_0}{F_s})z^{-1} + a^2z^{-2}} 次に、極と零点を評価することになっています。余弦部分を無視すると、zまでの因数分解と簡略化が行われるこの本当に素晴らしい有理式が得られます。。 zz− azz−a\displaystyle\frac{z}{z-a} そのため、私は物事を正しく理解していない可能性があり、コサイン部分はか何かに接続されているはずだと思いました。誰かがこれを私のために明確にできますか?zzz

1
相関の正規化されたピークと、相関のピークを平均で割った値の違いは何ですか?
テンプレートと信号を考えると、信号がテンプレートとどの程度類似しているかという疑問が生じます。 従来、単純な相関アプローチが使用され、テンプレートと信号が相互相関され、結果全体が両方のノルムの積で正規化されます。これにより、-1から1の範囲の相互相関関数が得られ、類似度は、その中のピークのスコアとして与えられます。 これは、そのピークの値を取り、相互相関関数の平均または平均で除算することとどのように比較しますか? 代わりにここで何を測定していますか? 添付の図は私の例です。 それらの類似性の最良の測定値を取得するために、私は以下を検討する必要があるかどうか疑問に思っています。 ここに示すように、正規化された相互相関のピークだけですか? ピークを取るが、相互相関プロットの平均で割りますか? 私のテンプレートは、ご覧のようにデューティサイクルのある周期的な方形波になるので、ここにある他の2つのピークをどうにかして活用すべきではないでしょうか。 この場合、類似性の最良の尺度は何ですか? ありがとう! ディリップの編集: 相互相関二乗VS二乗ではない相互相関をプロットしましたが、メインピークが他のものよりも「シャープ」になることは確かですが、類似性を判断するためにどの計算を使用する必要があるかについて混乱しています... 私が理解しようとしているのは: 類似性の計算に他の二次ピークを使用できますか? これで二乗相互相関プロットができました。確かにメインピークがシャープになっていますが、これは最終的な類似性を判断するのにどのように役立ちますか? 再度、感謝します。 ディリップの編集: 小さなピークは、類似性の計算には役立ちません。重要なのはメインピークです。しかし、小さなピークは、信号がテンプレートのノイズの多いバージョンであるという推測をサポートします。」 ディリップに感謝します。私はそのステートメントに少し混乱しています。もし小さなピークが実際に信号がテンプレートのノイズの多いバージョンであるというサポートを提供しているなら、それは類似性の測定にも役立ちませんか? 私が混乱しているのは、正規化された相互相関関数のピークを類似性の1つおよび最後の測定として単純に使用し、残りの相互相関関数が何を/のように見えるかについて「気にしない」、または、クロスコーのピーク値とsome_other_metricも考慮する必要があります。 ピークのみが問題である場合、小さいピークと比較してメインピークを拡大するだけなので、関数を2乗するとどうして/なぜ二乗するのでしょうか?(より多くのノイズ耐性?) 長い説明と短い説明:相互相関関数のピークは、類似性の最終的な測定値としてのみ気にする必要がありますか、それとも、相互相関プロット全体も考慮する必要がありますか?(したがって、その平均値を調べることについての私の考え)。 再度、感謝します、 この場合のPS時間遅延は問題ではありません。そのため、このアプリケーションでは「問題ありません」。PPSテンプレートを制御できません。

1
これらの曲線に最も厳密にフィットさせるには、どの補間方法を使用できますか?
私は、およびのように特定の領域が手でマークされている脳のMRI画像を使用しています。 私は、このような曲線を記述できる補間関数を考え出そうとしています。そのため、機械学習技術を使用して、やのようなマークされていない画像にそのようなマークを自動的に生成できます。 3次スプライン補間を使用して曲線を近似することを検討しましたが、私の知る限り、曲線を複数の部分に分割して補間する必要があります。 私は正しい軌道に乗っていますか、これを行う他の(より良い?)方法はありますか?

2
ベイター回路を理解する(chebychevフィルター)
信号処理のクラスの一部として、3次のチェビシェフバンドリジェクトフィルターを作成しています。これは、3つのカスケードBainter回路を使用して実装します。クラスの一部ではありませんが、ベイターサーキットのゲインについて質問があります。 コーナー周波数と最大全体ゲインをデザインルールとして使用してコンポーネントの選択を自動化するスクリプトを記述しようとしていますが、全体ゲインの計算に問題があります。 ベイターステージの全体的なゲインを計算するには、3つのオペアンプセクションの個々のゲインを計算するだけですか?全体的な利益は、3つの個別の利益の積になりますか?


1
スペクトログラムの作成
私はこのタスクのロジックを考え出そうとしており、KissFFTソースパッケージを使用して高速フーリエ変換を実行することを計画しています。これが正しいと思われる場合はお知らせください: FFT構造を割り当てます。私が使用しているウィンドウサイズはkiss_fft_alloc(N,0,NULL,NULL) どこですかN。入力バッファはN、タイプの要素の配列になりますkiss_fft_scalar。出力バッファはN/2 + 1、タイプの要素の配列になりますkiss_fft_cpx。 NPCMサンプルの数(ウィンドウサイズ)をデコードします。 各PCMサンプルについて、各チャネルの振幅(符号なしサンプル)を平均し、0から2にスケーリング(65536.0で除算)して、結果を入力バッファーに格納します。 入力バッファでウィンドウ処理(つまり、ハニング)を実行します。 入力バッファーで高速フーリエ変換を実行し、出力バッファーに格納します。実際の値を入力として使用しているため、を使用できますkiss_fftr()。 N/2出力値については、変換されたデータの2乗された大きさを取得し、次の式を使用して値をdBスケールに変換します。 10 * log10 (re * re + im * im) N/2手順6 の値をプロットします。 入力バッファの前半を破棄し、次の(ウィンドウサイズ/ 2)PCMサンプルをデコードして、データのスケーリングとウィンドウ処理を実行します。これにより、入力ウィンドウが効果的にスライドし、処理されたPCMサンプルの計算をやり直す必要がなくなります。 ステップ5にループし、すべてのサンプルが処理されるまでこれらのステップを繰り返します。 使用済みメモリをから解放しkiss_fft_alloc()ます。 FFTを実行する前に、入力ウィンドウから値を減算して、結果のDC値の大きさがゼロになるようにすることが提案されました。入力データから平均または平均を差し引くべきですか? また、ウィンドウサイズを選択するときに考慮する必要があることは何ですか?それ以外に、KissFFTの指示に従って偶数にする必要がありますが、小さなウィンドウサイズを使用することには利点があります。それはより良いグラフを提供しますか?ウィンドウサイズを大きくすると、実行する必要があるFFTの数が減ると思いますが、ウィンドウサイズを大きくすることの唯一の利点は何ですか。 xxx 提供できるあらゆるガイダンスを事前に感謝します。

1
ビデオカードで採用されているアンチエイリアスアルゴリズムとは何ですか?
たとえば、人が話すときにビデオカードが使用するアルゴリズムは何8xAAですか?アルゴリズムは補正のために隣接するピクセルを調べることに関するものだと思いました。しかし、実装はアップサンプリングとそれに続くダウンサンプリングだけであると聞いています。

1
Roberts Edge Detectorの使用方法は?
Robertsエッジ検出を使用して画像を処理しようとしています。両方のマスクを画像に適用し、通常どおり畳み込みを実行しますか?グレースケール画像を処理するようにプログラムしようとしているので、誰かがこのエッジ検出方法の使用方法の内訳を教えてくれませんか。両方のカーネルを個別に使用して画像を畳み込みましたが、画像のへこみは正しく見えます。 ありがとう。

1
MatlabのSTFT実装spectrogram()の最大周波数解像度は何ですか?
Matlabのspectrogram()関数は、信号のSTFTを計算します。それはそのNFFT引数を次のように説明します: S = SPECTROGRAM(X,WINDOW,NOVERLAP,NFFT)離散フーリエ変換の計算に使用される周波数点の数を指定します。NFFTが指定されていない場合、デフォルトNFFTが使用されます。 NFFT周波数分解能と計算数の間のトレードオフであるという点で私は正しいですか?私のオフライン作業では、サイクルを節約する必要はありません。NFFTたとえばスペクトル漏れ、または私が知っておくべきその他の問題によって課される、の最大制限はありますか、またはその引数をできるだけ高く設定できますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.