問題タブ [google-project-tango]
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.
google-project-tango - Project Tangoタブレットの深度データ改善の今後の展望
任意のポイント フィーチャを使用した 3D 再構築に Project Tango タブレットを使用することに興味があります。現在の SDK バージョンでは、次のデータにアクセスできるようです。
- 1280 x 720 の RGB 画像。
- 環境に応じて、0 ~ 10,000 ポイントのポイント クラウド。これは、ほとんどの環境で平均 3,000 から 6,000 の間のようです。
私が本当に望んでいるのは、画像内のキー ポイントの 3D ポイントを識別できるようにすることです。したがって、深度をイメージ プレーンに投影することは理にかなっています。私はこれを行いました、そして私はこのようなものを手に入れました:
このプロセスの問題は、深度ポイントが RGB ピクセルに比べてまばらであることです。そこで、さらに一歩進んで、深度ポイント間の補間を実行しました。最初にドローネ三角測量を行い、適切な三角測量が得られたら、各ファセットの 3 点間を補間し、適切でかなり均一な深度画像を取得しました。以下は、補間された深度が有効で、RGB イメージに適用されるゾーンです。
ここで、カメラ モデルが与えられた場合、深度画像の任意の点で深度をデカルト座標に投影することができます (深度画像は、各ピクセルが元の RGB 画像上の点に対応するように作成されており、カメラ パラメーターがあるためです)。 RGB カメラの)。ただし、三角測量の画像を見て元の RGB 画像と比較すると、画像内のすべての重要でないポイント (ほとんどが空白で特徴のない平面) に対して深度が有効であることがわかります。これは、この単一の画像セットだけに当てはまるわけではありません。それは私がセンサーについて見ている傾向です。たとえば、人がセンサーの前に立っている場合、シルエット内に深度ポイントはほとんどありません。
センサーのこの特性の結果として、画像に対して視覚的特徴抽出を実行すると、角や興味深いテクスチャのある領域のほとんどが、関連する深度情報がない領域に分類されます。ほんの一例: Xtion センサーの RGB 画像から 1000 の SIFT キーポイントを検出し、そのうち 960 に有効な深度値がありました。このシステムに同じことをすると、有効な深さで約 80 個のキーポイントが得られます。現時点では、このレベルのパフォーマンスは私の目的には受け入れられません。
この根本的な理由は推測できます。深度ポイントを取得するためにある種の平面抽出アルゴリズムが使用されているようですが、Primesense/DepthSense センサーはより洗練されたものを使用しているようです。
とにかく、ここでの主な質問は次のとおりです: RGB-IR 画像処理アルゴリズムの改善により、後の時点で深度データの改善を期待できますか? それとも、これは電流センサー固有の制限ですか?
google-project-tango - Unity でビデオ オーバーレイの解像度を変更する
Unity VideoOverlayListener を使用して、タンゴ タブレット カメラからビデオ オーバーレイを取得しています。しかし、fps が低すぎます。これは、ビデオの解像度が高すぎるためだと思います (1280 x 720)。解像度を下げる方法はありますか?
android - ART でのデバッグは非常に遅く、Dalvik への切り替えはオプションではありません
Tango が Dalvik でも動作するかどうかはわかりません。デバッグ パフォーマンスの問題については、ART から Dalvik に戻すことが最も一般的な提案のようです。点群テストをデバッグ モードで実行することは基本的に無意味であり、実際の作業には実行速度が遅すぎます。 -何が欠けているのですか -私が遭遇したものでGOOGがデモアプリをどのようにデバッグしたかわかりません:-(
google-project-tango - Google - Project Tango - 点群抽出 - 骨格追跡
点群データを Tango ファイル システムに抽出できた人はいますか? また、点群データによる骨格追跡に成功した人も探しています。
ヒントや提案は大歓迎です!
google-project-tango - Tango デバイスを Windows 7 に接続する
Windows 7 x64 コンピュータに Tango デバイスを認識させるのに問題があります。USBドライバーがインストールされた状態でAndroid Studioをインストールし、Google USBドライバーを手動でロードしました。
デバイスが「USB コントローラー - 不明なデバイス」として読み込まれ、エラーが発生します。ドライバーを更新してファイルからドライバーを選択しようとすると、Google USB ドライバーを参照して次のエラー メッセージが表示されます。 Windows x64 で...」
Nexus 7 タブレットをこのドライバーに接続することができました。
USB デバッグのオンとオフを試してみました。また、USB 接続を MTP と PTP に変更してみましたが、結果は同じでした。
USB デバッグをオフにすると、デバイスが「Android ADB デバイス」として読み込まれ、エラーが発生することがあります。ドライバーを更新しようとすると、上記と同じエラー メッセージが表示されます。
google-project-tango - Tango で Dalvik を使用できますか
そのため、アートが2つのクラスをロードし、デバッガーがすぐにタンクアウトするという恐ろしい「残念ながら....動作が停止しました」問題に遭遇しました-これを参照してください
それで、完全に絶望的に、私は ART から Dalvik に切り替えました。タブレットが切り替えについて酸っぱくなった場合、ADB との長いセッションを半ば恐れていました。うまくいったようです。Tango は動作しますが、ヘッド スクラッチャーのまったく新しいセットがあります (XyzIj の取得については不安定で、フラッシュが実行されており、サーフェス バインディングが機能しています。カメラ ビューを表示しているサーフェスでカメラのフラッシュが表示されます。何度も何度も試してみると、タンゴポイントデータを取得してください:-)
tango の問題はすべて自分で行って Dalvik を使用し続けると仮定できますか、それとも ART に切り替えて logcat を介してすべてのデバッグを行う必要がありますか?
google-project-tango - Javaでタンゴポイントクラウドカメラ画像ピクセルにアクセスする方法はありますか
だから私はsetSurfaceについて知っており、それをオーバーレイなどとして使用しても問題ありません-それはサーフェスコントロール上にあります。そうは言っても、ピクセルデータを取得することに困惑しています
1) 考えられるすべて (コントロール、ルートなど) を試して、描画キャッシュ関数を使用してカメラ サーフェスのビットを取得しました。いやいや。キャッシュされたビットマップは常にゼロになります。
2) setSurface ターゲットとして、SurfaceView と GLSurfaceView の両方を正常に使用しました。TextureView など、他のクラスは使用できません。
3) C API を調べたところ、カメラが connectOnFrameAvailable を公開していることがわかります。これにより、ピクセルにアクセスできるようになります。
私の推測では、内部タンゴ ロジックは Java のサーフェスを使用して、基になるビット転送チャネルにアクセスしているだけだと思います。C API では、テクスチャ ID が必要です。結局のところ、カメラ データはかなり早く GPU に出荷され、CUDA lib がそれで動作するに違いありません - 物事の状態を考えると、デバイスをルート化せずに Java 側でビットを取得する方法がわかりません - 単に私がテクスチャを持っているか、画面上に生のビットをレンダリングする単純な表面ビューは、それらに到達できるという意味ではありません。
画像データを GPU から剥がしたくありません。そのためには、忙しいアニメーションを時計からカレンダーに切り替える必要があります。
C API に飛び込む前に、Java でカメラ ビットを取得する方法はありますか? 私は本当にそれらを特定のポーズに関連付けたいと思っていますが、今のところ、それらを取得する方法さえまったくわかりません. 3Dポイントの位置と色を知りたいです。カメラの組み込み関数、ポイント クラウド、およびポイント クラウドを生成した 2D 画像だけが必要です。しかし、ピクセルを取得できなければ何もできず、画像と (ポーズとポイント クラウド) の関係が疑わしいほど、どんな努力も大ざっぱになります。
C に飛び込むと、connectOnFrameAvailable で必要なものが得られますか? 点群生成とどの程度同期していますか? ああ、私はこれを正しく理解していますか?深度はカラーカメラ、ポーズは魚眼?
Java と C を混在させることはできますか。つまり、Java で Tango インスタンスを作成し、イメージの問題に C のみを使用できますか? それとも、C ですべてを再認識して、tango Java jar の使用をやめる必要がありますか?