信号処理

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

5
森林画像の軌跡の検出
森のシーンの画像で(トレイルに沿って立っているカメラの視点から)トレイルを特定するための研究/論文/ソフトウェアを知っている人はいますか? 私は次のような画像を取ることができるアルゴリズムを見つけようとしています: 次のような「トレイル」を特定するマスクを作成します。 ご覧のとおり、元の画像は少しぼやけており、意図的です。画像ソースは完全な焦点を保証することはできないため、適度な量のノイズとぼやけを処理できる必要があります。 私が最初に考えたのは、ガウスぼかしを適用し、画像をブロックに分割し、隣接するブロックを比較してシャープな色の違いを探します(トレイルの「エッジ」を示します)。しかし、私はすぐに、影や照明の他の変化が簡単にそれを放散することに気付きました。 私はSURFの特徴を抽出することを考えていましたが、画像が完全に鮮明で一貫した照明である場合にのみ、SURF / SIFTで成功しました。 また、画像とマスクをはるかに小さいサイズ(100x75など)に縮小し、1xNベクトルに変換し、それらを使用してFANNベースのニューラルネットワークをトレーニングしようとしました(画像は入力で、マスクが必要です)出力)。入力ベクトルの75%のサイズの1つの隠れ層があるこのような小さなサイズでさえ、トレーニングに6時間かかりましたが、それでもテストセット内のマスクを予測できませんでした。 誰もが主題に関する他の方法や論文を提案できますか?

5
ガウスフィルターが画像処理のローパスフィルターとして使用されるのはなぜですか?
1D信号処理では、多くのタイプのローパスフィルターが使用されます。ただし、ガウスフィルターはほとんど使用されません。 なぜ画像処理アプリケーションでそんなに人気があるのですか?これらのフィルターは、任意の基準を最適化した結果ですか、それとも単に画像の「帯域幅」が適切に定義されていないため、アドホックなソリューションです。

4
カルマンゲインを直感的に理解する方法は?
カルマンフィルタアルゴリズムは次のように動作します および初期化します。x^0|0x^0|0 \hat{\textbf{x}}_{0|0}P0|0P0|0\textbf{P}_{0|0} 各反復でk=1,…,nk=1,…,nk=1,\dots,n 予測する 予測(事前)状態推定 予測(事前に)共分散を推定アップデートx^k|k−1=Fkx^k−1|k−1+Bkukx^k|k−1=Fkx^k−1|k−1+Bkuk \hat{\textbf{x}}_{k|k-1} = \textbf{F}_{k}\hat{\textbf{x}}_{k-1|k-1} + \textbf{B}_{k} \textbf{u}_{k} Pk|k−1=FkPk−1|k−1FTk+QkPk|k−1=FkPk−1|k−1FkT+Qk \textbf{P}_{k|k-1} = \textbf{F}_{k} \textbf{P}_{k-1|k-1} \textbf{F}_{k}^{\text{T}} + \textbf{Q}_{k} イノベーションまたは測定残差 イノベーション(または残差)共分散 最適 カルマンゲイン (事後)状態推定値を更新 更新(事後)共分散の推定 y~k=zk−Hkx^k|k−1y~k=zk−Hkx^k|k−1 \tilde{\textbf{y}}_k = \textbf{z}_k - \textbf{H}_k\hat{\textbf{x}}_{k|k-1}Sk=HkPk|k−1HTk+RkSk=HkPk|k−1HkT+Rk\textbf{S}_k = \textbf{H}_k \textbf{P}_{k|k-1} \textbf{H}_k^\text{T} + \textbf{R}_k X K | K = X K | K - 1 …

4
最小位相システムの本当の意味は何ですか?
最小位相システムの本当の意味は何ですか?ウィキペディアの記事とオッペンハイムを読むことは助けになります。というのは、LTIシステムの場合、最小フェーズとは逆が因果的で安定していることを意味するということです。(つまり、ゼロと極が単位円の内側にあることを意味します)が、「位相」と「最小」はそれと何の関係がありますか?どういうわけか、DFTの位相応答を見て、システムが最小位相であることを確認できますか?

5
コンピュータービジョンに適した言語ですか?
コンテンツベースの画像検索システムを実装しようとしていますが、その前に、このタスクに適したいくつかのプログラミング言語の概要を取得したいと思います(優れたライブラリなどを持っています)。 誰もその種のタスクのためのいくつかの良い言語とライブラリを知っていますか?PythonやJavaはどうですか? ベスト

3
加速度計データの正しいフィルターを選択する
私はDSPにかなり慣れていないので、Pythonで加速度計データを平滑化するためのフィルターの可能性について調査しました。発生するデータのタイプの例を次の画像に示します。 基本的に、このデータを平滑化して最終的に速度と変位に変換するためのアドバイスを探しています。携帯電話の加速度計は非常にうるさいことを理解しています。 データによって生成されたノイズを参照するためにデバイスを取得できないため、現時点ではカルマンフィルターを使用できるとは思わない(デバイスを平らに配置し、それらの読み取り値からノイズの量を見つけることが不可欠であると読んだか?) FFTは興味深い結果をもたらしました。私の試みの1つは、加速度信号をFFTし、次に低周波数をレンダリングして絶対FFT値を0にすることでした。次に、オメガ演算と逆FFTを使用して速度のプロットを得ました。結果は次のとおりです。 これは物事を進める良い方法ですか?信号の全体的なノイズ特性を削除しようとしていますが、約80秒などの明らかなピークを識別する必要があります。 また、元の加速度計データでローパスフィルターを使用するのも大変でした。これは、データを平滑化するのに非常に役立ちましたが、ここからどこに進むべきかわかりません。ここからどこへ行くかについてのガイダンスは本当に役立つでしょう! 編集:少しのコード: for i in range(len(fz)): testing = (abs(Sz[i]))/Nz if fz[i] < 0.05: Sz[i]=0 Velfreq = [] Velfreqa = array(Velfreq) Velfreqa = Sz/(2*pi*fz*1j) Veltimed = ifft(Velfreqa) real = Veltimed.real 本質的に、iveは加速度計データに対してFFTを実行し、シンプルなブリックウォールフィルターを使用して高周波数をフィルター処理してSzを出力しました(理想的ではないことを知っています)。次に、データのFFTでオメガ演算を使用します。また、私の画像を私の投稿に追加してくれたdatageistにも感謝します:)
28 fft  python 

2
フィルター次数対タップ数対係数数
私はゆっくりとDSPを学び、いくつかの用語に頭を包もうとしています。 質問1:次のフィルター差分方程式があるとします y[n]=2x[n]+4x[n−2]+6x[n−3]+8x[n−4]y[n]=2x[n]+4x[n−2]+6x[n−3]+8x[n−4]y[n] = 2 x[n] + 4 x[n-2] + 6 x[n-3] + 8 x[n-4] 右側に4つの係数があります。「タップ数」も4ですか?「フィルター次数」も4ですか? 質問2:MATLAB fir1(n, Wn)関数を使用しようとしています。10タップフィルターを作成する場合、に設定しますか?n=10n=10n=10 質問3:次の再帰的(おそらくIIR)フィルター差分方程式があるとします: y[n]+2y[n−1]=2x[n]+4x[n−2]+6x[n−3]+8x[n−4]y[n]+2y[n−1]=2x[n]+4x[n−2]+6x[n−3]+8x[n−4]y[n] + 2 y[n-1] = 2 x[n] + 4 x[n-2] + 6 x[n-3] + 8 x[n-4] 係数の数は左側と右側で異なるため、「タップ数」と「フィルター次数」をどのように決定しますか? 質問4:次の論理if-and-only-ifステートメントは真ですか? フィルターは再帰的ですフィルターはIIRです。⟺⟺\iff フィルターは非再帰的ですフィルターはFIRです。⟺⟺\iff

3
「複雑なサンプリング」はナイキストを破壊できますか?
複雑な信号のサンプリングはナイキストのサンプリングレートに従う必要はないが、実際には半分のナイキストサンプリングレートで除去できるという逸話を聞いたことがあります。これに何か真実があるのだろうか? ナイキストから、信号を明確にサンプリングするには、少なくともその信号の帯域幅の2倍以上の帯域幅をサンプリングする必要があることがわかっています。(ここで、Wikiリンクで行うように帯域幅を定義しています。別名、正の周波数の占有率です)。つまり、信号が-BからBに存在する場合、ナイキストを満たすために少なくとも2 * B以上をサンプリングする必要があります。この信号をfcまで混合し、バンドパスサンプリングを行いたい場合、少なくとも4 * B以上をサンプリングする必要があります。 これは、実際の信号に最適です。 私の質問は、複雑なベースバンド信号(別名、周波数スペクトルの片側にのみ存在する信号)を少なくとも2 * B以上のレートでサンプリングする必要はないが、実際にはできるというステートメントに真実があるかどうかです。少なくとも> Bのレートで適切にサンプリングされていますか? (これが当てはまる場合、これは単なるセマンティクスであると考えがちです。なぜなら、回転フェーザーを完全に表すためにサンプル時間ごとに2つのサンプル(1つは実数、1つは虚数)を取得する必要があるためです。これにより、厳密にナイキストに引き続き従います。 ) あなたの考えは何ですか?

4
信号包絡線を計算するヒルベルト変換?
ヒルベルト変換を使用して信号のエンベロープを計算できると聞いたことがあります。これはどのように作動しますか?そして、この「ヒルベルト包絡線」は、信号を単純に整流することによって得られる包絡線とどのように違いますか? ダイナミックレンジ圧縮で使用するエンベロープを計算する方法を見つけることに特に興味があります(つまり、オーディオ信号の大きな部分の「音量を下げる」)。
27 audio 

5
周波数間をスムーズに移行できる正弦波ジェネレーターを作成する方法
オーディオ用の基本的な正弦波ジェネレーターを作成できますが、ある周波数から別の周波数にスムーズに移行できるようにしたいと考えています。1つの周波数の生成を停止し、すぐに別の周波数に切り替えると、信号に不連続が発生し、「クリック音」が聞こえます。 私の質問は、クリックを導入することなく、たとえば250Hzで始まり、300Hzに移行する波を生成するための優れたアルゴリズムとは何ですか。アルゴリズムにオプションのグライド/ポルタメント時間が含まれている場合は、はるかに優れています。 オーバーサンプリングに続いてローパスフィルターを使用する、またはウェーブテーブルを使用するなど、いくつかの可能なアプローチを考えることができますが、これは標準的な方法で対処できるほど一般的な問題であると確信しています。
27 audio 

7
可変レートから固定レートに再サンプリングするアルゴリズムとは何ですか?
タイムスタンプと値を使用して読み取り値を報告するセンサーがあります。ただし、固定レートで読み取り値を生成しません。 変動レートのデータを扱うのは難しいと思います。ほとんどのフィルターは、固定サンプルレートを想定しています。サンプルレートが固定されているため、グラフの描画も簡単です。 可変サンプルレートから固定サンプルレートにリサンプリングするアルゴリズムはありますか?
27 resampling 

6
サンプルから波形のPDFを計算する
しばらく前に、デジタル波形を描画するさまざまな方法を試していましたが、私が試みたのは、振幅エンベロープの標準シルエットではなく、オシロスコープのように表示することでした。これは、正弦波と方形波がスコープ上でどのように見えるかです。 これを行う単純な方法は次のとおりです。 出力画像のオーディオファイルを水平ピクセルごとに1つのチャンクに分割します 各チャンクのサンプル振幅のヒストグラムを計算します ピクセルの列として輝度でヒストグラムをプロットします 次のようなものが生成されます。 これは、チャンクごとに多くのサンプルがあり、信号の周波数がサンプリング周波数と無関係である場合は正常に機能しますが、そうでない場合は機能しません。たとえば、信号周波数がサンプリング周波数の正確な約数である場合、サンプルは各サイクルで正確に同じ振幅で常に発生し、実際の再構成信号がこれらのポイント間に存在しても、ヒストグラムはほんの数ポイントになります。このサインパルスは上記の左と同じくらい滑らかでなければなりませんが、正確に1 kHzであり、サンプルは常に同じポイントの周辺で発生するため、そうではありません。 ポイント数を増やすためにアップサンプリングを試みましたが、問題は解決せず、場合によっては問題を解決するのに役立ちます。 だから、私が本当に欲しいのは、デジタルサンプルから連続的に再構築された信号の真のPDF(確率vs振幅)(振幅vs時間)を計算する方法です。これに使用するアルゴリズムがわかりません。一般に、関数のPDFはその逆関数の導関数です。 sin(x)のPDF:ddバツアークシンx = 11 - x2√ddxarcsin⁡x=11−x2\frac{d}{dx} \arcsin x = \frac{1}{\sqrt{1-x^2}} しかし、逆関数が多値関数である波に対してこれを計算する方法や、それを高速に行う方法はわかりません。それをブランチに分割し、それぞれの逆数を計算し、導関数を取り、それらをすべて合計しますか?しかし、それはかなり複雑で、おそらくもっと簡単な方法があります。 この「補間データのPDF」は、GPSトラックのカーネル密度推定を行う試みにも適用できます。リング状にすべきでしたが、サンプルだけを見て、サンプル間の補間点を考慮していなかったため、KDEはリングというよりもハンプのように見えました。サンプルがわかっているだけであれば、これが最善です。しかし、サンプルは私たちが知っているすべてではありません。また、サンプル間にパスがあることもわかっています。GPSの場合、帯域制限されたオーディオのように完璧なナイキスト再構成はありませんが、補間関数に推測を加えることで基本的な考え方が適用されます。

3
航空写真でテニスコートを見つける方法
私は郡内のすべてのテニスコート(およびバスケットボールコートのような他の同様に明確に定義された機能)を見つけることに興味があり、良い(しかしさまざまな)解像度の航空写真を持っていますが、それらを見つける最良の方法はわかりません。画像の2つの例を次に示します。 さまざまな方法を見てきましたが、テンプレートマッチングは機能しないと思います。これは、任意のスケールと回転があり、色も異なるため、非常に遅いためです。ハフ変換有望な音を、私は、私は他のマークされた行を考慮するために、より良いまだ(36x29フィート程度)適切な比率で四角形を構成する行を検索するかわからない、またはすべての行を得れば。 背景として、郡内のすべてのテニスコートをOpenStreetMapに追加することを目指しています。

2
双線形変換の代替手段はありますか?
アナログフィルターに基づいてデジタルフィルターを設計する場合、通常、双線形変換を使用します。アナログ(連続)伝達関数A (s )から離散伝達関数を近似するには、次のように置き換えます。Da(z)Da(z)D_a(z)A(s)A(s)A(s) z=1+sT/21−sT/2z=1+sT/21−sT/2z = \frac{1+sT/2}{1-sT/2} ここで、はサンプリング周期です。あるいは、離散伝達関数D (z )から連続伝達関数A a(s )を近似するには、次のように置き換えます。TTTAa(s)Aa(s)A_a(s)D(z)D(z)D(z) s=2Tz−1z+1s=2Tz−1z+1s = \frac{2}{T} \frac{z-1}{z+1} そのような変換を実行する代替方法はありますか?より良い近似はありますか?

5
信号を平滑化するこの単純な方法に専門用語はありますか?
まず、DSPを初めて使用し、実際の教育を受けていませんが、オーディオビジュアライゼーションプログラムを開発しており、一般的な周波数スペクトルビジュアライゼーションのように、FFTアレイを垂直バーとして表現しています。 私が抱えていた問題は、FFT値を直接マッピングしただけでは、オーディオ信号値の変化が速すぎて、心地よい視覚的な出力が得られないことでした。 したがって、結果を「滑らかにする」ために値に単純な関数を適用します。 // pseudo-code delta = fftValue - smoothedFftValue; smoothedFftValue += delta * 0.2; // 0.2 is arbitrary - the lower the number, the more "smoothing" つまり、現在の値を取得して最後の値と比較し、最後の値にそのデルタの一部を追加しています。結果は次のようになります。 だから私の質問は: これは、用語がすでに存在する、確立されたパターンまたは機能ですか?そうですか、用語は何ですか?上記の「スムージング」を使用していますが、これはDSPに特有の何かを意味し、正しくない可能性があることを認識しています。それ以外は、ボリュームエンベロープに関連しているように見えましたが、まったく同じではありませんでした。 これを解決するためのより良いアプローチやさらなる研究はありますか? これが馬鹿げた質問であれば、時間と謝罪に感謝します(他の議論を読んで、私の知識は平均よりもはるかに低いことを認識しています)。

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