信号処理

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

4
高速近似オプティカルフロー/イメージシフト
オペレーターに速度を落とすよう警告するために、カメラがパンする速度(水平/垂直)を検出する必要があります。 画像全体がブロックとして動いていて、実際の方向は必要ありません(ただし、HまたはVはボーナスです)。おおよその大きさだけが必要です。フレーム間で「N」を超えるピクセルがシフトした場合にトリガーします。 画像は大きく、一般的に均一な低コントラストのシーンです。追跡する明確なハイライトはありません。すべてのCPUを使用せずに、リアルタイム(60fps)で実行する必要があります。 Niaveソリューションは、中央でRoIを選択し、エッジを見つけ、フレームのペア間の類似性を計算し、フレームの1つをピクセルで左/右/上/下にシフトし、繰り返します-最小値を見つけます。 もっと賢い解決策はあるのだろうか?

4
ハフ変換画像のデハフを行う方法は?
Hough変換を作成するために、Rosetta Codeにあるコードを使用しています。画像内のすべての線を検索したいと思います。そのためには、ハフ空間の各ピークのρ値とθ値が必要です。五角形のサンプル出力は次のようになります。 ハフ空間に表示される各「ホットスポット」の単一の[θ、ρ]座標を見つけるにはどうすればよいですか?

1
画像で車のモデルを認識するための優れた機能/アルゴリズム
オブジェクトの認識、特に車種の認識について質問があります。同じ車種を異なる画像で特定する作業の始めにいます。現時点では、3Dオブジェクト認識の最良のアルゴリズムの1つはSIFTだと思いますが、デモの実装で少し遊んだ後、このアルゴリズムには車などの光沢のある金属製のオブジェクト、特に色が異なる場合に問題があるという不思議な感じがします。 誰かがこの領域でいくつかの作業を一般的にいくつかの異なるアルゴリズムで同じ車モデルを見つけるタスクに適したアルゴリズムを知っていますか? よろしくお願いします!

1
Savitzky Golayフィルターを使用して、離散的にサンプリングされた1D信号の(サンプル間の)極大値を見つけるにはどうすればよいですか?
私は地震信号y(i)を持っています: ここで私は1つの最大値を見つけました:i = 152.54、y = 222.29手動で、それを赤でプロットしました。 すべての最大値を自動的に検索したい。 Savitzky Golay Filter(SGF)を使用して、信号とその導関数の両方の平滑化された推定値を見つけることができ、SGFの利点の1つは、他のフィルターよりも優れた最小値と最大値を維持できることです。これは私の使用に最適に聞こえます。 SGF係数を生成するMatlabスクリプトを見つけました。 これを使用して、導関数の4次のSGF係数を見つけました。小さなMatlabスクリプトをコーディングしました 微分係数の4次SGF係数で信号をたたみ込むことにより、信号の微分係数を求めます 導関数が符号を変更するサンプルのペア(i、i + 1)を見つける iとi + 1の間の線形補間によって導関数のゼロクロッシングを見つけます 脚本: function [maxX,maxY] = findLocalMax(y) % Kernel for 4th order Savitzky-Golay filter for finding derivative: d4 = [0.0724 -0.1195 -0.1625 -0.1061 0 0.1061 0.1625 0.1195 -0.0724]; dy = conv(y,d4,'same'); % derivative …

1
2つの画像で計算されたホモグラフィと、同じ画像で逆さまに計算されたホモグラフィとの間のリンクは何ですか?
OpenCVの、私はこれらの二つの画像、たとえば、間のホモグラフィを計算します: そして 右側の変な白いフォルムは気にしないでください。これは私が使用するスマートフォンホルダーによるものです。findHomography()関数によって与えられるホモグラフィ(Fast機能検出器とHammingLUT記述子マッチャーで検出された点を使用)は次のとおりです。 A = [ 1.412817430564191, 0.0684947165270289, -517.7751355800591; -0.002927297251810, 1.210310757993256, 39.56631316477566; 0.000290600259844, -9.348301989015293e-05, 1] ここで、同じプロセスを使用して、imagemagickを使用して、180度回転した(逆さまにした)同じ画像間のホモグラフィを計算します(実際には、90度の回転または270度...)どうぞ: そして これらの画像を使用すると、ホモグラフィは次のようになります。 B = [ 0.7148688519736168, 0.01978048500375845, 325.8330631554814; -0.1706219498833541, 0.8666521745094313, 64.72944905752504; -0.0002078857275647, -5.080048486810413e-05, 1] ここで問題は、AとBをどのように関連付けるかです。Aの最初の2つの対角値はBの最初の対角値に近いですが、あまり正確ではありません(0.71486885ではなく.707805537)。私の最終的な目的は、必要な関係を使用して最終的なマトリックスを変換し、コストのかかる画像回転の計算を回避することです。


1
1D信号のたたみ込み問題の解決
この問題を解決しようとして困っています。この信号の畳み込みを計算する必要があります。 y(t)=e−ktu(t)sin(πt10)(πt)y(t)=e−ktu(t)sin⁡(πt10)(πt)y(t)=e^{-kt}u(t)\frac{\sin\left(\dfrac{{\pi}t}{10}\right)}{({\pi}t)} ここで、u(t)u(t)u(t)はHeavyside関数です よく私はこれらの2つの信号の畳み込みが等しいと言う公式を適用しました Y(f)=X(f)⋅W(f)Y(f)=X(f)⋅W(f)Y(f)=X(f)\cdot W(f) ここで、X(f)X(f)X(f)は最初の信号のフーリエ変換で、W(f)W(f)W(f)は2番目の信号のフーリエ変換です。 e−ktu(t)e−ktu(t)e^{-kt}u(t)フーリエ変換はX(f)=1k+j2πfX(f)=1k+j2πfX(f)=\dfrac{1}{k+j2{\pi}f} 2番目の信号をsinc(t10)sinc(t10)\text{sinc}\left(\dfrac{t}{10}\right) だから私はこの操作をします: sin(πt10)(πt10)(110)sin⁡(πt10)(πt10)(110)\dfrac{\sin\left(\dfrac{{\pi}t}{10}\right)}{\left(\dfrac{{\pi}t}{10}\right)}{\left(\dfrac{1}{10}\right)}これは等しい(110)sinc(t10)(110)sinc(t10){\left(\dfrac{1}{10}\right)}\text{sinc}\left(\dfrac{t}{10}\right) 正しいかどうか?

2
ベッセル関数シーケンスの
何であるZZ\mathcal Z配列の-transform J0(αn)J0(αn)J_0(\alpha n)のためには、?n∈Zn∈Zn \in \mathbb{Z} のゼロ次のベッセル関数のフーリエ変換はであることがわかっています 。これには極があります。これは、変換が単位円にも極を持つことを意味しますか?thth^{\rm th}J0(αx)J0(αx)J_0(\alpha x)2α2−ω2√2α2−ω2\frac{2}{\sqrt{\alpha^2 - \omega^2}}|ω|&lt;α|ω|&lt;α|\omega| < \alphaω=αω=α\omega = \alphaZZ\mathcal Z 編集: 私が見ている問題は、ベッセル関数の離散サンプル、つまります。変換を決定するにはどうすればよいですか?J0(n)J0(n)J_0(n)ZZ\mathcal Z


1
2Dカメラを使用した3D位置推定
カメラ(iPhone)を持っています。画像に3Dコントロールオブジェクトがあり、そのプロパティをよく知っています。(私の制御オブジェクト)。動きのある二次オブジェクトもあります。最終的な目標は、移動するオブジェクトの3D軌道を一定期間確立することです。(追跡) 聞きたいのですが、調べてもらえますか? 制御オブジェクトまでの電話の距離(議論のために、カメラが特定の高さにあり、特定の距離がどちらも不明であるが、カメラは既知の表面に垂直であると仮定しましょう) 後続の各フレームでオブジェクトを配置できるセカンダリオブジェクト。私の目標は、上で示したように、その3D軌跡を推定することです。 おまけの質問、コントロールオブジェクトまでの電話の距離を設定できるようにシステムを作成できます(ただし、推奨されません)。これは2番目の点で役立ちますか?
9 tracking  image 

3
指紋認識を始めるには?
私はMatlabとデジタル画像処理から始めました。指紋認証をしようとしています。私はこれについて多くの研究論文を見つけましたが、どこから始めればよいかわかりません。簡潔に言うと、指紋認識を行うための最も基本的なアプローチ/アルゴリズムは何ですか?

1
ピーク制限/オーディオ圧縮式が必要
ピークを制限するためにオーディオ波形を効果的に圧縮する式を探しています。これは、ボリュームレベルを維持するためにアンプのゲインを制御する「自動ボリュームコントロール」アプリケーションではなく、個々のピークを制限(「ソフト」トランケート)したいのです。(私はこれが高調波を導入することを知っていますが、私はそれを聞くのではなく、データを分析しようとしています。) これまでの私の(非常に粗雑な)式は次のとおりです。 factor = (10 * average / level) + exp(-sqrt(0.1 * level / average)) ここで、レベルは、瞬時音圧レベルであり、平均は過去の平均音圧レベルであり、係数は「調整」レベル(生成するために使用される乗数である係数倍レベル)。 さらに、この乗数は、1未満の値に計算される場合にのみ適用されます。それ以外の場合、レベルは調整されません。 意図は、調整されたレベルを過去の平均のいくつかの倍数(この式では約15倍)に制限することです。この式は私が必要とするものですが、数値が大きくなるにつれて「落ち込み」を示します。つまり、調整されたレベル(つまり、factor × level)は、調整されていないレベルが増加するポイントまで増加しますが、漸近するのではなく、実際に小さくなり始めます。(実際、最初の要素は、主に数式が非常に高い値でゼロにならないようにするために追加されました。) (この方法で値を制限する理由は、主に一時的なノイズがサウンドレベルの移動平均を深刻に混乱させないためです。しかし、いびきを分析しているときは、「一時的なノイズ」はかなり重要なので、単純にそれを抑制できます。 。) それで、誰かがより良い何かを提案できますか?(漸近的振る舞いは、望まないときは簡単に生成できますが、そうするときは難しいようです。)

2
3D画像で重複可能な球の半径rを見つける
私の現在の問題: 半径rの球の乱数で構成される入力3Dバイナリイメージ(0と1のみを持つ3Dマトリックス)があります。 画像に球がいくつあるかはわかりません。 すべての球の半径rは同じですが、半径rはわかりません。 球は画像内のあちこちにあり、互いに重なり合うことができます。 画像の例を以下に示します。 私の要件: 半径rは何ですか? 現在、私は単に画像を平坦化してz軸を取り除き、エッジ検出を実行しています。http://rsbweb.nih.gov/ij/plugins/hough-circles.htmlを使用してハフ変換を試みています。 ただし、ハフ変換では、変数の最小半径、最大半径、および円の数を指定する必要があることがわかりました。私は以下のいくつかの試みを試しました: 正しいパラメータが与えられれば、ハフ変換は円をうまく検出できます。しかし、実際のアプリケーションでは、球の数はわかりません。また、最小半径と最大半径を推測しようとするプログラムを作成するのは現実的ではないようです。これを達成する他の方法はありますか? クロスリンク:https : //math.stackexchange.com/questions/118815/finding-radius-r-of-the-overlappable-spheres-in-3d-image

1
微分計算
一連のデータ(単一配列)があります。このデータを取得してプロットすると、複数のピークがあることがわかります。ただし、データのセクションを拡大すると、かなりのノイズが表示されます。 CPU時間とエネルギーをほとんど使用せずに、データのピーク数を検出したい。私はこれらのピークの傾き(鋭いまたは滑らかな立ち上がりまたは立ち下がりの可能性があります)を検出し、傾きの数を見てピークの数を決定することを考えました。(2ピークはすべてのピークで正と負に傾斜します) ノイズが存在する状態で勾配を計算する方法を教えてください。 コードは組み込みシステムに入ります。メモリが限られているため、重要なデータのコピーを必要としないものを実装したいのです。


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