質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

AR(Augmented Reality)

AR(Augmented Reality)とは、拡張現実のことです。人が認識する現実の環境で視覚・聴覚などの知覚が感知する情報をコンピュータで拡張する技術、もしくはその環境そのものを表す言葉です。

Q&A

0回答

963閲覧

[Unity] 画像認識とAR表示

Futahei

総合スコア80

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

AR(Augmented Reality)

AR(Augmented Reality)とは、拡張現実のことです。人が認識する現実の環境で視覚・聴覚などの知覚が感知する情報をコンピュータで拡張する技術、もしくはその環境そのものを表す言葉です。

0グッド

0クリップ

投稿2018/05/17 16:49

編集2018/05/18 04:55

前提・実現したいこと

Unityでカメラ映像を解析していくつか存在する画像のパターンを認識し、AR表示するアプリを製作しようと思っています。

私が満たしたい要件は以下の通りです。

a. クラウドに画像をアップロードすることで認識画像を増やせる。つまり画像認識を行う際に参照するデータが動的であるということ。
b. 画像を認識したら(複数)、その画像に紐づけられたURLを取得する
c. 認識点をTransformで取得
d. 奥行きを考慮して「ARオブジェクト」を描画

優先度はa > b > c > d です。
特にa と b は必ず満たしたいです。

VuforiaのCloud Recognizeで試作を作ったのですが、この機能はa, b(一部), cを満たすのですが、
・同時に二つ以上の画像を認識できない
・奥行きを考慮できない(重なったとき描画を優先する)

という問題がありました。

そこで、私が挙げた4つの要素を満たすことができるAR開発環境(キット、ライブラリ)を教えてください。

私が調べた限りではこんな感じでした
・OpenCV for Unityを用いて画像解析
↑クラウドとどう連携すればよいのか
・奥行きならARKit, ARCore
↑マーカーレスなのでこれ単体ではダメ
・Vuforia
↑もうダメかも

おそらく"画像解析"と"AR表示"は別のライブラリを用いるのかなと考えています
皆さんの知恵と経験を貸していただけると嬉しいです。

補足情報

Unity 2018.1.0f2
稼働するデバイスはスマートフォンであるという以外は特に指定はありません

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sakura_hana

2018/05/18 02:48

Vuforia使用時、bに関しては設定変更で対応可能です。http://shiro-izu.hateblo.jp/entry/2016/03/02/144044 「奥行きが考慮できない」というのは具体的にどういうことでしょうか?理想とする形がぱっと思い浮かびませんでした。
Futahei

2018/05/18 03:32 編集

まずVuforiaに関して、残念ながらCloudを使う場合複数認識することはできないんです(公式情報)。おそらくデバイスデータベースと勘違いしてるんじゃないでしょうか。奥行云々に関しては下に書いてあるとおり、マーカーより手前に現実の物体が来た時に描画を優先してしまうため、ARご手前に来てしまうということです。ポケモンGOみたいな感じですかね。絶対に現実のものよりも手前に描かれてしまうということです。
sakura_hana

2018/05/18 04:14

なるほど、確認不足で申し訳無いです。「現実にある物の後ろにARがあるように見せる」とすると、物のある部分はARを描画させないようにすればいいので、画像部分にダミーモデルを置いて http://nn-hokuson.hatenablog.com/entry/2017/06/01/220504 この方法で出来るかもしれません。(未検証)
Futahei

2018/05/18 04:54

誤字失礼しました。方法の提案ありがとうございます。なるほどシェーダーでくり抜きですか。そうなるとどうやって現実の物体の位置形を取得するかが鍵になりますね。実はdに関してはそこまで優先度が高くありません。優先度に関する部分を追記しますね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問