東方世界の楊暁:AR開発技術のポイントを探る

東方世界の楊暁:AR開発技術のポイントを探る

[51CTO.comからのオリジナル記事] 市場調査会社Digi-Capitalのデータによると、2020年までにAR市場規模は1,200億米ドルに達するでしょう。 AR は急速に発展しているため、当然、その背後にあるテクノロジーのサポートが必要になります。オリエンタルワールド3D研究開発センターの副所長ヤン・シャオ氏は、WOT2018グローバルソフトウェアおよび運用技術サミットで「AR開発における主要な技術ポイントの探求」と題する講演を行いました。ヤン氏は、ARアプリケーションにおけるビデオ処理や顔の特徴点認識アプリケーションから始めて、AR技術について詳しく説明しました。

[[232451]]

図1 東方世界3D研究開発センター副所長ヤン・シャオ

1. AR技術の概要

AR技術とは、現実世界の情報と仮想世界の情報を「シームレス」に統合する技術です。仮想世界の情報を現実世界に重ね合わせることで、現実を超えた感覚体験を実現します。広義の情報重ね合わせには、視覚、聴覚、触覚などが含まれます。今回の講演では、主に視覚情報についてお話します。 AR は一般的に、カメラを使用して現実世界を撮影し、仮想世界のコンテンツを現実世界に追加して、強化された仮想融合世界を形成します。理想的な状態は、重ね合わせた仮想オブジェクトを人が区別できないことです。 AR には、仮想と現実の融合、リアルタイムのインタラクション、3 次元の位置決めという 3 つの主な特徴があります。

1. 仮想と現実、リアルタイムのインタラクションの組み合わせ

図2 仮想と現実とリアルタイムのインタラクションの組み合わせ

カメラが現実世界のビデオ画像をキャプチャした後、3Dエンジン技術を使用して3次元の仮想オブジェクトを現実世界に重ね合わせる必要がありますが、仮想世界と現実世界の間には依然として歪みの問題が残っています。 AR の世界をよりリアルにしたい場合は、現実世界の光の量に基づいて照明を増やし、仮想世界のオブジェクトの明るさが現実環境の明るさに応じて増減できるようにする必要があります。しかし、上記は単なる機械的な重ね合わせであり、全体としては現実感に欠けています。そのため、世界全体のレンダリングが完了した後、リアルタイムインタラクティブ技術を使用して、重ね合わせた仮想世界と現実世界との相互作用を可能にし、人々が仮想オブジェクトが現実であると認識できるようにします。リアルタイムのインタラクションには、従来のタッチ スクリーン インタラクションと、Microsoft の HoloLens ジェスチャ インタラクションや音声認識などの比較的新しいインタラクション テクノロジの両方が含まれます。

2. 3次元配置

3 次元測位技術も AR の重要な要素です。一般的に使用される 3 次元技術には次のようなものがあります。

2次元画像のスキャン:特定の2次元画像をスキャンし、画像コンテンツを識別してから、画像コンテンツに3Dオブジェクトを重ねます。多くの初期のARアプリケーションはこの形式を採用していたため、ARは画像をスキャンして画像内にいくつかの仮想オブジェクトを作成するものだと誤解されていました。

3次元オブジェクトのスキャン: 3次元オブジェクトをスキャンすることで、オブジェクトの詳細情報を表示できます。たとえば、Alipay は花を認識でき、AR を通じて花をスキャンすると、花の名前と簡単な紹介を知ることができます。

SLAM (Simultaneous Localization and Mapping) : 簡単に言えば、仮想シーンを重ね合わせる際にカメラの位置と向きを推定し、仮想オブジェクトを適切な位置に重ね合わせてリアリティを高める技術です。核心は「私はどこにいるのか」という問題を解決することです。これは非常に複雑な問題です。HoloLens は、4 つの環境認識カメラ、1 つの深度カメラ、および 1 つの慣性測定ユニットを使用します。複数のセンサーが冗長データを提供し、一部のカメラがブロックされた場合でも堅牢な位置決めを実現します。無人運転の分野では、一般的にレーザーレーダーが測位に使用されますが、モバイルアプリケーションでは非常に高い精度は要求されず、一般的に単眼カメラでSLAM測位を行うことができます。ただし、画像の特徴点を使用する必要があります。特徴点は通常、タイルの境界点やコーナー点など、テクスチャが明らかに変化する場所です。カメラで取得した 2 フレームの画像の特徴点を一致させ、画像の変化に基づいてカメラの動きを逆計算して、カメラの位置を特定し、平面を構築するのは簡単です。

図3 3次元配置

AR 開発は実際には 2 つのレイヤーに分かれています。1 つは AR 関連の SDK (ソフトウェア開発キット) で、もう 1 つはアプリケーション レイヤーです。 AR SDK レイヤーは、ビデオ ストリームの取得、平面を再構築するための特徴点の取得など、基盤となるサポートを提供します。一方、アプリケーション レイヤーは、基盤となるレイヤーによって提供されるビデオ ストリームと特徴点に基づいて、独自の興味深いアプリケーションを構築できます。

図4 AR関連SDK

3. AR関連SDK

よく使われる AR SDK をいくつか紹介します。

Vuforia (スキャン可能で認識可能な画像):バックグラウンドアップロードには 2D 画像の認識が必要ですが、SDK を介してスキャンすることで認識できます。いくつかのオブジェクトを追加して、簡単な AR 効果とそのアプリケーションを実現できます。

Wikitude (スキャン可能な構築平面):世界 100 か国以上で 100,000 人の開発者が利用する、広く使用されている SDK です。カメラの位置を特定し、平面を検出するシングルカメラ SLAM 機能を統合しています。iOS と Android の両方のシステムをサポートし、Unity 開発プラグインを備えているため、開発者が簡単に使用できます。しかし、使用中に飛行機の追跡が不安定になったり、飛行機を見失いやすいなどの問題が発生しました。その後、オリエンタルワールドは疑似AR効果を使用してこれらの問題を解決しました。つまり、空間に仮想平面(実際の追跡平面ではない)を構築し、携帯電話のジャイロスコープに基づいて携帯電話の回転情報を取得し、仮想カメラの回転を駆動します。携帯電話が回転すると、仮想オブジェクト(仮想カメラ)の位置も回転すると感じられ、仮想オブジェクトが現実世界に存在しているように感じられ、ある程度のAR効果も実現されます。

ARInterface: Unity 2017.2.1 以降で利用できます。その基礎となるレイヤーは ARKit と ARCore で、開発者の作業負荷を軽減するために均一にカプセル化されています。開発者は引き続き ARKitInterface を通じて ARCore と ARKit のインターフェースにアクセスできます。

4. アプリケーション層

アプリケーション層には、主にビデオベースのアプリケーションと特徴ポイントベースのアプリケーションの 2 つの部分が含まれます。

ビデオベースのアプリケーション: AR SDK はカメラを通じて現実世界をアプリケーションに送信し、アプリケーション自体がビデオを処理して独自の特別なアプリケーションを取得できます。たとえば、グリーン スクリーンの切り抜きを使用して、画像の必要な部分を取得できるため、実際の人物を仮想シーンに重ね合わせたり、雪山でライブ放送を行ったりすることができます。

特徴点に基づくアプリケーション: AR SDK を使用して 3D 平面を取得し、その平面上に 3D 仮想オブジェクトを重ね合わせることで、AR Dragon と同様の効果を実現できます (このアプリケーションは App Store で入手できます)。さらに、OpenCV などを通じて顔の特徴点を抽出し、顔の特徴点を使用して顔の変更、顔の交換、またはその他の楽しい効果を実現することもできます。

***Rテクノロジーの応用シナリオ

AR アプリケーションはコンピュータ分野に限定されず、他の分野にも応用できます。

顔の表情に基づいて感情を分析できる感情分析。

交差点で顔認識機能を使用して、赤信号を無視する人を記録します。

産業分野では、ターゲット認識を使用してメンテナンスの問題を解決することができます。

情報ゲインは、カメラが対象物または顔を認識した後に必要な表示を重ね合わせることができます。

AR ディスプレイはまだ 2D スクリーン ディスプレイやヘルメット ディスプレイの段階にあり、タッチ スクリーンがスマートフォンにもたらした革命的な変化は現在のところありません。

処理、センシング、スキャン、AR の最適なソリューションは、3 次元シーンを再構築することです。これにより、仮想オブジェクトを実際のシーンに重ね合わせるときに、実際のオブジェクトがビデオを遮る問題を解決でき、システムがシーンを理解するのにも役立ちます。

2. ARアプリケーションにおけるビデオ処理

1. ARビデオライブ放送アプリケーションシステムアーキテクチャ

図 ***R アプリケーションでのビデオ処理

図5に示すように、典型的なARライブブロードキャストシステムのアーキテクチャでは、上位層はビデオ関連コンテンツであり、下位層は3D仮想オブジェクト表示エンジンです。ビデオは、通常のカメラ、3Dカメラ、またはパノラマカメラを通じて取得されます。3Dカメラは、左右の2台の通常のカメラで構成されており、人の左目と右目をシミュレートできます。2つのビデオは合成され、左右形式のビデオにつなぎ合わされます。パノラマカメラは複数のカメラで構成され、各カメラは異なる角度で撮影して360度のショットを形成し、ソフトウェアによってつなぎ合わされて1つのビデオを形成します。したがって、3 台のカメラのその後の処理は同じです。通常のカメラ、3Dカメラ、パノラマカメラで撮影されたビデオは、デコード、圧縮、ストリーミングされ、CDNを通じて配信されます。ビデオストリームはプレーヤーで再生されます。3種類のビデオは再生方法が異なり、プレーヤーで特別な処理が必要です。たとえば、パノラマビデオは画像を球面に投影し、人が球の中心に立って観察します。同時に、携帯電話のジャイロスコープの方向を取得して、ビデオのレンダリングを駆動します。明らかな効果は、人々が異なる方向を向くと異なる画像が見えることです。プレーヤー レイヤーの再生中に、3D エンジン レイヤーを通じて仮想オブジェクトが小道具として重ね合わされ、仮想と現実の重ね合わせの効果を実現します。

3Dカメラ部分については、オリエンタルビジョンは裸眼3Dデバイスを使用し、プレーヤーレイヤーは特別なインターレース処理を行う必要があります。つまり、VRメガネをかけなくても裸眼3D画面で3D効果を見ることができます。同様に、下の仮想オブジェクト レイヤーも特殊なアーキテクチャを通じて処理され、裸眼 3D の効果を実現できます。

2. AR融合と疑似AR処理

図6 AR融合と疑似AR処理

AR フュージョンの核となるのは、AR SDK ですでに提供されている平面検出と追跡です。これは、現実世界と仮想世界をつなぐ架け橋です。仮想オブジェクトをこの平面上に配置できるため、現実世界の地面に実際にオブジェクトがあるように見えます。

平面トラッキングの不安定性のため、一部のアプリケーションでは、仮想平面を構築し、仮想平面上にオブジェクトを配置し、カメラが回転するときにジャイロスコープデータを取得し、ジャイロスコープデータを使用して仮想カメラを駆動して回転操作を実行する疑似 AR 処理技術を使用しています。人間の目には、仮想空間内のオブジェクトとほぼ同じように見えます。重要な技術的ポイントは、ジャイロスコープのデータを使用して仮想カメラを駆動し、疑似 AR 効果を実現することです。

3. グリーンスクリーンの二次カットアウト

ビデオ処理におけるもう 1 つの実用的なテクニックは、グリーン スクリーン カットアウトです。グリーン スクリーンのカットアウトは、実際には映画やテレビでより頻繁に使用されています。映画やテレビのカットアウトはオフラインで処理されるため、効果はより高くなります。グリーンスクリーンカットアウトとは、キャラクターを切り取って背景を置き換えたり、キャラクターを切り取って仮想シーンに配置したりすることです。この分野ではこれまで多くの研究が行われてきましたが、東方世界はテストを通じて、色に基づく二次切り抜きがより効果的であることを発見しました。その方法は、背景色の閾値を与えてから背景を切り抜くというものです。しかし、人間の髪の毛の端には緑色の端があることが多く、きれいに切り抜くのは簡単ではありません。このとき、背景色の閾値を上げて、二次切り抜きを行います。

3. 顔特徴点認識の応用

人民日報は軍創設70周年を記念して、軍服写真アプリをリリースした。このアプリでは、ユーザーが自分の顔をさまざまな時代の軍服に置き換えることができ、「変顔」ブームを巻き起こした。 FaceU のようなソフトウェアもあり、顔に特別な装飾を加えたり、素顔にメイクを施したりすることもできます。これらのアプリケーションは主に特徴点認識技術を利用して実現されますが、これらの特徴点をどのように識別やアプリケーションに利用するかは、主に以下の点から始まります。

1. 特徴点のソース

図7 顔の特徴点の応用

まず、特徴点アプリケーションを開発する前に、特徴点を取得する必要があります。OpenCV および Dlib 特徴点認識ライブラリに基づいて、いくつかの安定した特徴点を抽出できます。Face++ などの有料の特徴点認識ライブラリもあります。例えば、図 7 では、子猫の鼻、目、口に特徴点が識別されており、これらの特徴点にはシリアル番号が付けられているため、後続のアプリケーションで簡単に使用できます。具体的な特徴点の数は、特徴点認識ライブラリによって異なります。たとえば、OpenCV または OpenCV+Dlib の特徴点には 68 個の特徴点テンプレートがありますが、Face++ には 100 個を超える特徴点テンプレートがあります。特徴点の数が多いほど、認識精度が高くなります。

2. 3Dビデオマウント

特定された特徴点を利用してどのようなアプリケーションを作成できるでしょうか。その 1 つは、3D アクセサリの取り付けです。 3D アクセサリを使用すると、顔を認識した後に帽子やメガネを追加したり、顔を変更したりできます。頭の姿勢を推定し、3D オブジェクト、装飾品、ヘルメットなどを追加することもできます。これらの特徴点に基づいて、仮想カメラの位置と向きを直接推定することができ、3Dオブジェクトを重ね合わせる際に、仮想カメラを基準にARシーン全体をよりリアルに見せることができます。

図8 3Dアクセサリの取り付け

3D アクセサリを吊るす際に最も重要なことは、3D カメラの位置を決めることです。仮想 3D カメラの位置は、2D 特徴点と仮想 3D オブジェクトの位置から計算できます。具体的な逆計算プロセスは比較的複雑です。簡単に言えば、カメラのキャリブレーションとカメラの外部パラメータの計算です。実際のアプリケーションでは、OpenCV が逆計算問題を解決し、Calib3d とsolvePnP の間で呼び出しを行うことができます。 3Dカメラの特定の位置を取得した後、3Dメガネやその他のアクセサリをヘッドモデルの適切な位置に直接重ね合わせます。特徴点に基づく3Dヘッドモデルと3Dアクセサリは固定されていますが、2D特徴点に基づいて適切なカメラ位置が計算されます。カメラが動くと、シミュレートされた 3D アクセサリも一緒に動き、まるで 3D アクセサリが実際の人の顔に実際に取り付けられているかのようになります。

3. 顔を変えるアプリケーションの原理

3Dアクセサリーアタッチメントは、顔の特徴点に基づいたアプリケーションです。もう1つの重要なアプリケーションは、顔の変更です。顔の変更アプリケーションをサポートする原理は何でしょうか? 顔の変更アプリケーションの処理フローを見てみましょう。

図9: 顔を変える応用原理

図9に示すように、顔画像1はカメラで取得した実画像であり、顔画像2は交換する仮想画像です。顔領域認識はOpenCVなどの特徴点認識ライブラリによって提供され、OpenCVはマルチ顔認識を実現できます。認識後、顔領域1と顔領域2が表示され、その後、単純な正規化が行われ、特徴点に基づいていくつかの選択的な交換を行うことができます。

図10 顔を変えるアプリケーション

図 10 に示すような基本的な「顔の交換」の例を見てみましょう。 「顔の交換」を実現するには、まず特徴点に基づいて顔の交換モデルを確立し、抽出した顔の特徴点(眉毛、鼻など)をモデルと照合し、領域 2 のテクスチャを取得して領域 1 の対応する特徴点の位置のテクスチャを置き換えることで、「顔の交換」を実現できます。注目すべきは、眉毛の上には特徴点がなく、眉毛の下にのみ特徴点が存在することです。しかし、モデルを入れ替えた後の急激な変化を避けるために、東方世界は眉毛の上にモデルを追加する方法を採用しました。眉毛の上に新しく追加された部分を額として使用し、いくつかのグラデーション処理を行います。このアプローチにより、顔全体がより自然に見えます。

では、人民日報の軍服写真のように、写真の顔を置き換えたい場合は、どのような方法を使う必要がありますか?まず、顔が入った標準モデルを構築し、置き換えたい人物の実際の顔の特徴点を標準モデルに貼り付けます。最後に、テクスチャマッピングを使用して、モデリングと顔の置き換えのアプリケーションを実装できます。

上記の内容は、WOT2018 Global Software and Operation Technology SummitでのYang Xiao氏の講演を基に51CTO記者がまとめたものです。WOTの詳細については、.comをご覧ください。

<<:  プロの債権回収業者は失業するのでしょうか?人工知能はこうやって人々にお金を返済させる

>>:  怠け者に朗報:AIが家事を引き受けてくれる

ブログ    
ブログ    

推薦する

...

2018 年の AI にとって重要なマイルストーンは何でしたか? 2019年に何が起こるでしょうか?

世界中で普及している人工知能は人類に利益をもたらすのでしょうか?それとも世界を破壊するのでしょうか?...

2021 年に注目すべき 5 つのロボティック プロセス オートメーション (RPA) トレンド

過去2、3年で、中国におけるロボティック・プロセス・オートメーション(RPA)の応用は急速に拡大しま...

Llama2推論: RTX3090はレイテンシとスループットで4090を上回るが、A800には遠く及ばない

大規模言語モデル (LLM) は、学界と産業界の両方で大きな進歩を遂げてきました。しかし、LLM の...

5GとAI: 現在と未来の補完的なテクノロジー

テクノロジーの世界では、人工知能と 5G、そしてそれらがもたらす変革の可能性について大きな話題が飛び...

...

自動運転車はどれくらい遠いのでしょうか?

現在、5Gや人工知能産業が活況を呈しており、さまざまな大手企業が利益を最大化するために「応用シナリオ...

安全性は小さな問題ではありません。これがAI時代に彼らが選択することです

AI時代においては、セキュリティを早急に再定義する必要があります。人工知能やモノのインターネットなど...

Google の 10 秒動画生成モデルが世界記録を更新しました。 LLMは拡散モデルを終わらせ、その影響は第2世代のトップを圧倒する

AI ビデオ生成は、2024 年には次の最先端分野になる可能性があります。過去数ヶ月を振り返ると、R...

ジェネレーティブ AI 時代のデータ センターの再構築

最近の人工知能に関する議論には、OpenAI の大規模言語モデル (LLM) の GPT ファミリー...

自動運転の世界情勢を理解するための記事

自動運転前夜2021年、ビル・ゲイツは「すべての家庭にロボットを」と題する記事を発表し、爆弾処理ロボ...

...

生死に関わる問題:病院のICU病棟で人工知能は何ができるのか?

病院の集中治療室 (ICU) では、重病の患者を一日中一連の機器に接続し、いつでもバイタルサインを監...

...