問題タブ [orb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - c ++を使用したopencvのORB画像追跡:例?
私の目的は、ビデオ シーケンスのキーポイントをリアルタイムで追跡することです。ネットで検索したところ、ORB が良い選択かもしれません。ただし、この問題に関する重要な文書が不足しているようです。
誰かがこの問題に関する完全な例のリンクに私たちを導くことができますか、それとも自己完結型の例を提供してくれますか?
c++ - opencv 3.0/c++ での ORB 機能追跡
次のリンクは、ORB の検出と 2 つのイメージ間のマッチングに関するものです 。
ただし、追跡のために同じ手順に従う方法は明確ではありません。詳細には、実行する新しいフレームごとに
matcher.match(descriptors[0], descriptors[1], matches);
...次に、適切な一致を抽出します。
問題は、以前に抽出されたdescriptors[0]から取得/ビルドする方法です (良い一致)?keypoints[0]matches
PS は、速度と精度/堅牢性の適切な妥協点を提供すると主張されているため、オーブ オーブの検出と追跡に関心があります。
java - Jacorb アプリケーションが組み込まれていない WAS8.5.5
jacorb と緊密に結合されたアプリケーションがあり、Jboss でうまく機能しています。ここで、このアプリケーションを移行して、同じものを Websphere 8.5.5 にデプロイする必要があります。一般的な流れは次のとおりです。私のアプリケーションは、corba ussign jacorb を介して別のシステム (C++ で開発) に到達します。IBM は独自の ORB を実装しているため、私のアプリケーションは websphere にデプロイされています。IBM orb jar を使用するようにアプリケーションを変更すると、アプリケーションの 80% を変更する必要があります。エラーを解決するために jacord プロパティと jar を含める方法を教えてください。
マイ トレイル : すべてのトレイルは互いに独立しています。
1) orb.properties、jacorb.jar を保持し、IBM orb.properties を WAS->JAVA->JRE->lib から削除しました。2
) 管理コンソールを介して JVM クラスパスにファイルを含めました (この変更後、サーバーが起動しませんでした)。
3) IBM orb.properties を jacorb プロパティで変更しましたが、クラスキャストの例外が発生しました。
エラー:
事前にご支援いただきありがとうございます。
opencv - ORB - オブジェクトはカメラに非常に近い必要があります
RSTP からビデオ フィードを取得し、オブジェクトをチェックするプログラムがあります。唯一の問題は、オブジェクトがカメラから約 6 インチ離れている必要があることですが、有線 Web カメラを使用すると、オブジェクトが数フィート離れている可能性があります。両方のカメラが同じ解像度で送信していますが、この問題の原因は何ですか?
カメラ伝送仕様:
編集:私が使用しているアルゴリズムは OpenCV ORB アルゴリズムですが、以前に OpenCV で Haar 分類メソッドを使用したときにもこの動作が見られました。
以下は、Web カメラがオブジェクトを検出できなくなる限界です。(約66画素)

以下は、Glass が物体を検出できなくなる限界です。(約68画素)

画像を見ると、距離は似ているように見えますが、距離はウェブカメラ画像の少なくとも 2 倍です。これは、この問題を引き起こしているカメラのプロパティのように見えますか? もしそうなら、カメラのどの部分がこれを引き起こしているのでしょうか?
c++ - SIFT よりも優れた機能マッチングを提供する ORB - なぜですか?
私は最近、C++ の OpenCV ライブラリによって提供される機能マッチング アルゴリズムを利用して、機能マッチングを使用して問題を解決しようとしています。
ここで、ORB が SIFT よりも優れた一致をもたらす例が 1 つあります。ORB は SIFT に匹敵する品質を実現しながら、必要な計算時間を短縮しようとする試みだと思いました。そのため、SIFT マッチングで何か間違ったことをしたのではないかと考えました。ただし、他の画像ではうまく機能します。
私が話している例は、バイナリ イメージです。SIFT で得られた結果は次のとおりです。

ORB を使用した結果は次のとおりです。

最初の結果は、SIFT 特徴検出器と SIFT 記述子抽出器で得られました。マッチングには、L2 ノルムのブルート フォース マッチャーを使用しました。2 つ目は、ORB 特徴検出器と ORB 記述子抽出器を使用し、ブルート フォース マッチャーも使用しましたが、ハミング距離を使用しました。
RANSAC 外れ値フィルタリング メソッドを使用してホモグラフィを計算し、選択したポイント ペアのみを保持することで、両方のケースで一致をフィルタリングしました。
ディスクリプタマッチャのパラメータをいじってみましたが、結果はあまり変わりませんでした。
では、この場合に ORB のパフォーマンスが優れているように見える理由について、もっともらしい説明があると思いますか? そういうイメージの方が向いているのではないでしょうか?それとも、SIFT の結果に何か問題がありますか?
編集:いくつかのコード:
そしてメインから:
sift がうまく機能する別のケースを次に示します。

これは同じ画像の 2 倍ですが、わずかに回転およびスケーリングされています。
c++ - opencv c++ 異なる画像のキーポイントの位置を比較する
を介して 2 つの画像を比較する場合、明らかに正しくないものを無視して距離feature extractionを比較するにはどうすればよいですか?keypoint
類似した画像を相互に比較すると、ほとんどの場合かなり正確であることがわかりましたが、まったく別の一致をスローする場合もあります。
だから私は、keypoints両方の画像からの2セットを見て、一致したkeypointsものが両方で比較的同じ場所にあるかどうかを判断する方法を求めています。keypoints1、2、および 3 が画像 1 で非常に離れていることがわかっているため、画像 2 で一致する対応するキーポイントは、互いにほぼ同じ距離にあるはずです。
私は過去RANSACにチェックを使用しましminimum distanceたが、ある程度の効果しかなく、私が求めているほど完全ではないようです。
(ORBとを使用BruteForce)
編集
「x、y、および z」を「1、2、および 3」に変更
EDIT 2 -- ペイントで作成した簡単な例を使用して、さらに説明します。
これを私のイメージとして持っているとしましょう:

そして、比較するためにこの画像を与えます:

元のバージョンをトリミングして押しつぶしたバージョンですが、明らかに似ています。
ここで、実行したとします。2 つの画像について、feature detection次の結果が返されました。keypoints


両方のkeypoints画像の は、ほぼ同じ領域にあり、互いに比例して同じ距離にあります。丸で囲んだ部分を"Image 1 Keypoint 1"keypointと呼びましょう。

keypointsその周りに5つあることがわかります。それらと「Image 1 Keypoint 1」の間のこれらの距離を取得して、「Image 2 Keypoint 1」と同じ領域の 5 つのサラウンドkeypoints(以下を参照) と比較して、単に akeypointを別のものと比較しないようにしますkeypoint。の位置に基づいて「既知の形状」を比較しkeypointsます。

--
それは理にかなっていますか?
android - opencv の 2 つの画像の類似度
2 つの画像の類似度を計算しようとしていますが、毎回 0 になります。
これは私のコードです:
距離は毎回0です。同じ画像を与えると、距離も 0 になります。