web-dev-qa-db-ja.com

Android拡張現実で物理オブジェクトを検出する方法は?

さまざまな形を検出する方法をたくさん見つけました。しかし、私が物体を探しに行くときは運が悪い。私が読んだことから、パターンファイルを作成するために画像の周りに黒い境界線があるはずです。この概念に従ってパターンを生成すると、アプリケーションはプリントアウトで画像を検出します。しかし、現実の世界では、物理的なオブジェクトは必ずしもその周りに黒い境界線の正方形の形をしているとは限りません。

更新

私は答えを受け入れますが、私の質問は未解決のままです。物理的なオブジェクトを検出するための解決策はまだありません。

これ以上の調査やリンクは大歓迎です!

33
Tofeeq Ahmad

悪いニュースは、AndARを使用して物理的なオブジェクトを検出できないことです。 AndARは、基準マーカーアプローチに基づいており、マーカーは2つのコンポーネントで構成されています。実線の境界線と内部パターンです。パターンは、マーカーにレンダリングする特定のモデルをアドレス指定するために使用できる値をエンコードし、境界線により、デバイスに対するマーカーの相対的な方向を簡単に決定できます。明らかに、これは単なる平面画像認識です。

3Dオブジェクトでオブジェクト認識を行うことはより複雑な問題であり、ターンキーソリューションを提供するAndroidライブラリはありませんが、1つのオブジェクトだけを認識することはおそらく実行可能です。モバイルデバイス。

1つの可能性は、利用可能なAndroid ARツールキット(Layar、Junaio、Qualcomm AR SDK)を調査することです。これらはすべて、画像認識をサポートしています。さまざまな回転でティーポットの画像を撮影することによって可能性があります。これらをアプリで照合する画像として使用すると、このソリューションが機能する可能性がありますが、実際の3Dオブジェクトではなく、画像に対して平面照合を行うように設計されているため、パフォーマンスが向上しない可能性があることに注意してください。 Metaio Mobile SDK Proは3D認識と追跡を行いますが、非常に高価です)。

オブジェクトの認識は、カメラフレームを認識したいオブジェクトの画像と比較する(またはカメラフレームの画像の特徴を事前に計算された画像の特徴などと比較する)ことによっておそらく最もよく行われますが、追跡は別の問題です。 3D空間で3Dオブジェクトを正確に追跡する場合は、その3Dモデルを作成または作成する必要があります。フレームごとに、追跡するカメラ画像と3Dオブジェクト間のポイントの対応を決定します。真の支援なし(つまり、深度カメラなし)の3D追跡は困難です。

これにより、次のステップを評価するために使用できる背景が得られることを願っています。

Update:QualcommのVuforia SDKを使用すると、「マルチターゲット」を追跡できます。これは、固定された空間関係を持つ一連の平面追跡サーフェスを持つオブジェクトです。オブジェクト(ティーポット)の6つの側面の「立方体」の異なる写真を作成した場合、多少機能する可能性があります。 https://ar.qualcomm.at/qdevnet/developer_guide/Trackables

2013年末の更新

私はこれらの経験がありませんが、:

Metaioは、CADモデル: https://dev.metaio.com/sdk/tutorials/3d-tracking-based-on-cad-data/ の3Dトラッキングを提供するようになりました。 ==

ARLab.comのLinkARは、オブジェクトのマッチングを約束します。 http://www.arlab.com/objecttracking

「マッチング」という言葉の使用に注意します。ここでの使用例は、オーバーレイするオブジェクト(おもちゃ箱、エンジンなど)を知っていることだと思います。複数の3Dオブジェクトを区別することは、完全に範囲外である可能性があります。

17
dabhaid

私は最近、オブジェクト表現に使用される階層形状の語彙について行われている研究について読みました。もちろん、ダウンロードできるライブラリはありませんが、一般的なアプローチに興味がある場合は ここ いくつかの論文を見つけることができます。

また、あなたは this 紙に興味があるかもしれません。一連の輪郭に基づいてオブジェクトを検出するためのアルゴリズムについて説明します。

3
Pedro

2018年以降、AndroidアプリとARCoreアプリでオブジェクトを検出できるようになりました。

2018年5月、GoogleはモバイルSDKを発表しました– ML Kit 、これはAndroidおよびARCoreと一緒に使用できるiOS開発者向けの機械学習APIですSDK(現在はAugmented ImagesAPIとAugmentedFaces APIがあります)。現時点ではまだベータ段階ですが、次の機能があります。

enter image description here

Google ML Kitのエンジニアは、それについて次のように述べています。

ML Kit は、Googleの機械学習の専門知識をAndroidおよびiOSアプリに、強力でありながら使いやすいパッケージで提供します。機械学習の初心者でも経験者でも、必要な機能を数行のコードで実装できます。開始するためにニューラルネットワークやモデルの最適化に関する深い知識は必要ありません。一方、経験豊富なML開発者の場合、MLKitは便利なAPIを提供します。これは、モバイルアプリでカスタム TensorFlow Lite モデルを使用するのに役立ちます。

0
Andy

オブジェクトを検出および追跡するためのOpenCV を検討しましたか? Webカメラでオブジェクトを検索 チュートリアル(C++/Qt)をご覧ください。 OpenCVはAndroid -- OpenCV 4 Android で利用できます。

Enjoy Detection!

0
naXa