信号処理

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

1
DCTとPCAの関係
画像とビデオの圧縮に使用される2D 8x8 DCTの基本的な実装知識があります。主成分分析について読んでいると、PCAの方が明らかに一般的であるにもかかわらず、多くの類似性が見られます。以前DCTについて読んだとき、DFTに関連して常に提示されていました。私の質問は、PCTの観点からDCTをどのように導き出すことができるのでしょうか?(手作業での説明でも十分です) どうもありがとう

3
FFT時間領域平均と周波数ビン平均
生理学的データの複数の試行があります。特定の周波数のパワー(振幅)を分析するために、周波数ベースの分析を行っています。等しい長さの複数の試行を平均化してから、平均化された信号の単一のFFTを取得するのと、各試行のFFTを計算してから、同じ周波数ビンを平均化するのですか?実際には、これが事実ではないことを発見しています。 具体的には、信号には自然に強力な1 / f成分が含まれており、個々の試行のFFTを計算し、各周波数ビンの振幅(実数部)を平均すると、これが強調されます。2つは同等ですか?物事を行う正しい方法はありますか?または、時間領域の平均化と周波数ビンの平均化のどちらを選択する必要があるのでしょうか?
12 fft 

4
産業用マシンビジョンシステムにおけるソフトウェアとメカニクス/光学系のトレードオフに関する参考文献はありますか?
簡単な例で質問を説明します。 これらの主な要件を備えたアイテムの自動検査用の産業用ビジョンシステムを設計できます。 良い作品の画像は黒い背景で、作品は灰色でなければなりません。 欠陥は灰色の領域内に白い領域として表示される必要があります。 これらの要件により、システムのソフトウェア部分が大幅に簡素化されます。アイテムを不良品として分類するために、アルゴリズムは白いピクセルを数えるだけです。 しかし、この簡単なアルゴリズムを実現するには、システムの照明/光学/機械部分の設計が非常に上手でなければならず、その部分はソフトウェアよりもコストがかかるかもしれません。 たぶん過去に、「メカニックはできるだけ使い、ソフトウェアはできるだけ使いません」のような文章を読んだかもしれません。1990年代(または1980年代)の実用的なマシンビジョンに関する本に載っていたようですが、適切な引用/参照が見つかりません。

1
SIFT機能とSVMを使用した画像分類
SIFT / SURF / ORB機能とサポートベクターマシンを使用してバッグオブワードモデルを使用して画像分類を実行する方法を誰かが説明できることを望んでいますか? 現時点では、画像のSIFT特徴ベクトルを計算し、SVMを実装していますが、ワードバッグモデルを使用してSIFT特徴を「ベクトル量子化」し、ヒストグラムを作成する方法に関する文献を理解することは困難ですSVMのトレーニングとテストに使用できる固定サイズのベクトル。 トピックに関するチュートリアルや文献へのリンクは大歓迎です、ありがとう

4
本棚の画像からの本のタイトルと著者のスライスと認識
私は自分の学習目的で、次のような本棚のイメージを与えられて、本をリストするアルゴリズムの実装を開発しようとしています: 最初のステップは、画像を個々の本にスライスすることです。 Mathematicaでの私のアルゴリズムは次のとおりです。 img = ColorConvert[Import["http://i.stack.imgur.com/IaLQk.jpg"], "GrayScale"] 基本的なエッジ検出を行い、 テキストを削除し、長い行を維持しようとします edge = DeleteSmallComponents[EdgeDetect[img, 3],Last[ImageDimensions[img]]/5] 次に、不要な水平線を削除します lines = Sort[ImageLines[img5] /. {{0., _}, {_, _}} -> Sequence[]] Show[img, Graphics[{Thick, Orange, Line /@ lines}]] ただし、結果はそれほど優れていません。 私の質問は: これを改善してより良い結果を得るにはどうすればよいですか? これを行うよりスマートな方法はありますか? (後の)OCRフェーズで精度を高めるために、さらにどのように画像を処理する必要がありますか? 色情報を使用してセグメンテーションを改善する方法は?

2
検出された線に基づいてホモグラフィを計算する
「完全なモデル」と画像点の間の対応点を使用して、画像からカメラ平面までのホモグラフィを計算できることを知っています。 私はサッカーのピッチ/フィールドでそれをやっており、エッジ検出を使用してピッチ内の白い線を見つけました。 しかし、カメラは(常に)すべてのピッチをカバーしているわけではないため、すべてのコーナーを見ることができません...そして、モデルのコーナーのみが100%既知のポイントです(他の顕著なポイントはありません)。 問題は、線が別の線と交差して角を形成しない限り、線の画像点のみを知っていることであり、モデルの対応する「完全/現実世界」座標ではありません。 検出された線が互いに交差せずにコーナーを作成していても、検出された線を使用してホモグラフィを計算する方法、または候補ホモグラフィのセットだけを計算する方法はありますか? ピッチ、視野、および対応する実世界/モデル座標(緑色の円)を知ることができるピッチのポイント、および視野内ではまったく役に立たない可能性がある2行の例を示す画像の例、私は彼らがピッチの対応する現実世界/モデルで開始または停止する正確な手がかりがありません: 赤い線は、使用したい線の例ですが、実際の座標はわかりません。カメラのポーズによっては、対応する点が「どこでも」になる可能性があるため、推定するのは難しいです。

4
スケールおよび回転不変テンプレートのマッチング
スケールと回転に不変なテンプレートマッチングの方法を探しています。私はすでにいくつか試してみましたが、それらは私の例にとってそれほどうまく機能しなかったか、実行するのに永遠にかかりませんでした。SIFTおよびSURF機能の検出は完全に失敗しました。Log-Polar Template Matching関数も実装しようとしましたが、まだ終りませんでした(正確な方法はわかりませんでした)。 これらの記事(最初はドイツ語) http://cvpr.uni-muenster.de/teaching/ss08/seminarSS08/downloads/Wentker-Vortrag.pdf http://www.jprr.org/index.php/jprr/article/viewFile/355/148 その方法について読みました。極座標のマッピングは機能しましたが、それが正しいかどうかはわかりません。画像は次のようになります。 source_log_polar.png http://www.shareimages.com/images/pics/0/0/3/62394-pZSfl5WenZysnpyVnKg-source_log_polar.png そして、これらの2つの画像をOpenCVのテンプレートマッチング機能でマッチングした後、私はその結果を得ました 今はどうすればいいのかわからない。 私のテンプレートは、青写真と青写真自体を構築する上で常にシンプルなシンボルです。シンボルのサイズと向きは異なる場合があります。 たとえば、私の単純な青写真: そして私のテンプレート この例では、テンプレートは1つだけですが、設計図では、サイズや向きが含まれているものも含め、すべてのオカレンスを見つける必要があります。 誰も私がこれを解決する方法を持っていますか? 編集: アンドレイのアプローチへの追加。放射状プロファイルの距離キャプチャアルゴリズム。(EmguCVを使用) private float[] getRadialProfile( Image<Gray, byte> image, Point center, int resolution ) { var roi = image.ROI; if ( !roi.Contains( center ) ) { return null; } var steps = resolution; var degreeSteps …

3
画像の解像度を上げる
数百kS / sで繰り返しサンプリングして数GHzの信号を再構成するオシロスコープ(DSA8300)を知っています。これが2D信号(写真)に拡張できるかどうか疑問に思っていました。市販の16MPカメラを使用して一連の静止画(たとえば4)を撮影して、最終的に32MP画像を再構築できますか?これを行うと、各画像のエイリアスが削除されますか? そのようなことを単一の画像から試みた場合、新しい情報が導入されていないため、明らかに機能しません。撮影したすべての写真が完全に同一である場合、1つの画像があるのと同じ時点になりますか?バリエーションは不可欠ですか?CCD / CMOSノイズは、そのようなものが機能するのに十分なバリエーションですか? そのような技術やアルゴリズムの名前はありますか?何を探すべきですか?

2
奇数/偶数高調波を信号に追加しますか?
浮動小数点信号に奇数または偶数の高調波を追加するにはどうすればよいですか? tanhまたはsinを使用する必要がありますか? 私がやろうとしていることは、いくつかの非常に単純な歪み効果を達成することですが、正確な参照を見つけるのに苦労しています。私が望んでいるのは、五極管と三極管の設定に奇数と偶数の倍音を追加することで、Culture Vultureが行うことと似ています。フロート値は、サンプルフロー内の単一のサンプルです。

4
ウィンドウサイズを大きくせずにFFTの周波数分解能を上げることはできますか?
マルチピッチ分析にSTFTを使用したいと思います。信号に存在する部分音を検出することはほんの始まりに過ぎないことを理解しています。まだ問題があります。 「CD」周波数でサンプリングされた信号があるとしましょう44100Hz。1024サンプルのウィンドウでは、周波数ビンの解像度がになり22500Hz/512=43Hzます。これが唯一のように見分けるの高いピアノのノートには十分です C5 = 523.251HzとC#5 = 554.365。 私1024は以前はかなり大きな窓だと思っていました。しかし、そうではないかもしれませんし、通常、パーシャルを検出するために大きなウィンドウが使用されますか? ウィンドウサイズを大きくする以外の方法で周波数分解能を上げると、時間分解能が悪くなりますか?私は2つの方法を考えました: 方法1: バンドパスフィルターを使用して、信号を周波数帯域に分割します(0-11.25Hzおよびなど11.25-22.5Hz)。 元の高周波数が低周波数になるように、より高い帯域をダウンサンプリングします(2番目の帯域でも同様です11.25-22.5Hz -> 0Hz-22.5Hz)-これが可能かどうかはわかりません。 結果のビンセットを調整されたラベルで連結します。 方法2: 制限を増やしながら一連のローパスフィルターを使用します。 増加する周波数範囲でFFTを実行します。 各周波数に対して、可能な限り最適な解像度(この周波数が含まれていた最初のFFTからのビン)を使用します。 これにより、低周波数の解像度が向上しますが、音が高いほど周波数の差が大きくなるため、これは問題ないと思います。 この問題についての発言に感謝します。 ここも読んでください: ウィンドウサイズ、サンプルレートはFFTピッチ推定にどのように影響しますか? ピークピッキングの結果を改善する方法について。使ってみようと思います。
12 filters  fft  pitch  stft 

3
信号処理の「高速」変化を検出する方法
私は、コンポーネントのはんだ付け性を測定するプロジェクトに取り組んでいます。測定された信号はノイズが多い。5000ミリ秒の時点で始まる変化を認識できるように、信号をリアルタイムで処理する必要があります。 私のシステムは10ミリ秒ごとに実数値のサンプルを取得しますが、サンプリングを遅くするように調整できます。 5000ミリ秒でこのドロップを検出するにはどうすればよいですか? シグナル/ノイズ比についてどう思いますか?焦点を合わせて、より良い信号を取得する必要がありますか? すべてのメジャーの結果が異なるという問題があり、この例よりも低下が小さい場合があります。 データファイルへのリンク(プロットに使用されるものとは異なりますが、最新のシステムステータスを表示します) https://docs.google.com/open?id=0B3wRYK5WB4afV0NEMlZNRHJzVkk https://docs.google.com/open?id=0B3wRYK5WB4afZ3lIVzhubl9iV0E https://docs.google.com/open?id=0B3wRYK5WB4afUktnMmxfNHJsQmc https://docs.google.com/open?id=0B3wRYK5WB4afRmxVYjItQ09PbE0 https://docs.google.com/open?id=0B3wRYK5WB4afU3RhYUxBQzNzVDQ

3
さまざまなアップサンプリングスキームの相対的なメリットは何ですか?
最近、ゼロパディングを介して内部アップサンプリングを行うDSPシステムに出会いました。ゼロ次ホールドを期待して、DC信号がDC出力を生成しなかったことに驚いた。内部(低い)サンプリング周波数の多くの高調波も出力に存在しました。 これは私の質問につながります:どのようなアップサンプリング手法が一般的に使用され、それらの相対的なメリットは何ですか? ゼロパディング、ゼロオーダーホールド、またはファーストオーダーホールドを選択するのはなぜですか?また、他にどのようなテクニックが利用可能ですか? いくつかの説明: システムはリアルタイムであるため、アップサンプリングスキームは因果関係でなければなりません。 アップサンプラーの後には、アンチエイリアスフィルターが続き、これも指定できます。
12 resampling 

4
画像内のシマウマのようなパターンの検出(写真からの構造化された光の縞の中心線の検出)
私は、被写体に対してフリンジを投影し、写真を撮るプロジェクトに取り組んでいます。タスクは、フリンジの中心線を見つけることです。フリンジの中心線は、フリンジ平面と被写体表面の間の交差の3D曲線を数学的に表します。 写真はPNG(RGB)であり、以前の試みでは、グレースケールと差分しきい値を使用して、白黒の「ゼブラのような」写真を取得し、そこから各フリンジの各ピクセル列の中間点を簡単に見つけました。問題は、しきい値処理と離散ピクセル列の平均高さの取得により、精度の低下と量子化が発生することです。これはまったく望ましくありません。 私の印象では、画像を見ると、いくつかの統計的掃引法によって、しきい値なしの画像(RGBまたはグレースケール)から直接検出された場合、中心線はより連続的(より多くのポイント)およびより滑らか(量子化されない)になる可能性があります(いくつかのフラッディング/反復畳み込み、何でも)。 以下は実際のサンプル画像です。 どんな提案でも大歓迎です!

2
歩行者カウントアルゴリズム
現在、歩行者カウンタープロジェクトを開発しています(LinuxでOpenCV + QTを使用)。アプローチについての私の考えは次のとおりです。 フレームをキャプチャする バックグラウンド減算を行う 明確なノイズ(侵食、拡張) BLOBの検索(cvBlobslib)-フォアグラウンドオブジェクト 各BLOBについて、ROIを設定し、これらのBLOBで歩行者(detectMultiScaleを使用したLBP)を検索します(パフォーマンス向上のため) 見つかった歩行者ごとに、ネストされた上半身検索を実行します(不明)(信頼性の向上) 同じ歩行者が連続するフレーム(3〜4フレーム)で見つかった場合-その領域をカムシフトとトラックに追加-歩行者としてマークする 次のフレームのBLOB検出からカムシフト追跡領域を除外する 歩行者が行のインクリメント数を超える場合 順調に進んでいるかどうかを確認したい。私のアプローチを改善する方法について何か提案はありますか?誰かが似たようなことに取り組んだ場合、この問題に関する有用なヒント、リソース(および批判)をいただければ幸いです。

2
隠れマルコフモデルはどのような機械学習アルゴリズムですか?
信号処理クラスで自動音声認識にHidden Markov Modelアルゴリズムを使用しました。機械学習に関する文献を見ると、アルゴリズムは「分類」、「クラスタリング」、または「回帰」に分類されていることがわかります。HMMはどのバケットに分類されますか?文献にリストされている隠れたマルコフモデルには出くわしませんでした。
12 algorithms 

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