ポッドキャスト「ITMO Research_」: AR コンテンツずスタゞアム党䜓芏暡のショヌの同期にどのようにアプロヌチするか

これは、プログラムの XNUMX 回目のむンタビュヌのテキスト蚘録の最初の郚分です (Apple Podcasts, ダンデックスミュヌゞック。 ゲストの問題 - アンドレむ・カルサコフ (kapc3d、博士号、囜立認知研究センタヌ䞊玚研究員、デゞタルトランスフォヌメヌション孊郚准教授。

2012 幎以来、アンドレむは芖芚化ずコンピュヌタヌ グラフィックスの研究グルヌプに所属しおいたす。 州レベルおよび囜際レベルでの倧芏暡応甚プロゞェクトに埓事。 䌚話のこの郚分では、公共むベントの AR サポヌトにおける圌の経隓に぀いお話したす。

ポッドキャスト「ITMO Research_」: AR コンテンツずスタゞアム党䜓芏暡のショヌの同期にどのようにアプロヌチするか
フォト This isEngineering RAEng (Unsplash.com)

プロゞェクトの背景ず目的

タむムコヌド (by オヌディオバヌゞョン) — 00:41

ドミトリカバノフ: たずはペヌロッパ倧䌚プロゞェクトから始めたいず思いたす。 これは耇数のコンポヌネントから構成されおおり、いく぀かのチヌムが準備に参加しおおり、スタゞアムでのむベント䞭に数千人の芳客に拡匵珟実を提䟛するこずは非垞に重芁な䜜業です。 あなたの関䞎に関しおは、最初は゜フトりェアでしたか

kapc3d: はい、私たちはプログラミング郚分を担圓し、ショヌ䞭にサポヌトを提䟛したした。 すべおをリアルタむムで远跡、監芖、開始する必芁があり、たたテレビグルヌプず協力する必芁がありたした。 このプロゞェクト党䜓を考えるず、開䌚匏ず閉䌚匏に぀いお話すこずができたす。 欧州競技倧䌚 ミンスクでのこず、そしお遞手暩の開䌚匏に぀いお ワヌルドスキルズ カザンで。 同じ䜜業蚈画でしたが、異なるむベントでした。 二人の間にはXNUMXか月の空癜があった。 私たちは䌚瀟の人たちず䞀緒にプロゞェクトを準備したした Sechenov.com.

私たちは偶然圌らに䌚いたした サむ゚ンスフェスト、2018幎の秋に行われたした。 私たちの修士課皋の孊生は、VR をテヌマにしたコヌス プロゞェクトを発衚したした。 圌らは私たちのずころにやっお来お、私たちが研究宀で䜕をしおいるのかず尋ねたした。 次のような感じでした。

— VRを扱っおいたすが、拡匵珟実も扱えたすか

- そうですね、そうですね。

- このようなタスクがあり、そのような玹介文がありたす。 それできたすか

圌らはカブを少し匕っ掻いおみたしたが、䜕も非珟実的なこずはないようです。

- たずはすべおを勉匷しおから、解決策を芋぀けおみたしょう。

ドミトリヌ 圌らはメディアサポヌトのみを提䟛したすか?

アンドレむ フルスタックを䜜成したす。 経営ず組織の芳点から、挔出、挔出、背景の遞択、ロゞスティクス、その他の技術サポヌトに党面的に関䞎したす。 しかし、圌らはペヌロッパ倧䌚のために䜕か特別なこずをしたいず考えおいたした。 耇合珟実のようなこれらの特殊効果は、かなり長い間テレビ向けに䜜られおきたしたが、技術的な実装ずいう点では最も予算に優しいものではありたせん。 したがっお、圌らは代替オプションを探したした。

ドミトリヌ この問題に぀いおさらに詳しく説明したしょう。 それは䜕で構成されおいたしたか

アンドレむ むベントがありたす。 それはXNUMX時間半続きたす。 ラむブで芳戊しおいる芳客ずスタゞアムに座っおいる芳客が、サむト䞊の時間ず堎所の点でラむブ ショヌず完党に同期しお拡匵珟実効果を確認できるようにする必芁がありたす。

倚くの技術的な制限がありたした。 むンタヌネットを介しお時刻同期を行うこずは䞍可胜でした。満垭のスタンドでネットワヌクに過床の負荷がかかるこずや、各囜銖脳がむベントに出垭する可胜性があり、モバむル ネットワヌクが劚害される可胜性があるためです。

アンドレむ・カルサコフ、写真提䟛 ITMO倧孊の資料
ポッドキャスト「ITMO Research_」: AR コンテンツずスタゞアム党䜓芏暡のショヌの同期にどのようにアプロヌチするかこのプロゞェクトには XNUMX ぀の重芁な芁玠がありたした。それは人々がモバむル デバむスを通じお埗られる個人的な䜓隓、もう XNUMX ぀はスタゞアム自䜓のテレビ攟送や情報画面に衚瀺されるものです。

突然、人がモバむル デバむスを通じお拡匵珟実の゚ピ゜ヌドを芖聎し、同時に画面に衚瀺された堎合、同じ画像が衚瀺されるはずです。

時間内に完党に同期するには、実質的に異なる XNUMX ぀のシステムが必芁でした。 しかし、このようなショヌの特城は、倚数の技術サヌビスが関䞎し、すべおの操䜜がタむムコヌドに埓っお実行される耇雑なむベントであるこずです。 タむムコヌドは、光、音、人々の退堎、ステヌゞの花びらが開くなど、䜕かが始たる特定の瞬間です。 すべおが適切なタむミングで開始されるように、私たちはこのシステムに適応する必芁がありたした。 もう XNUMX ぀の特城は、拡匵珟実を䜿甚したシヌンや゚ピ゜ヌドが脚本に関連しおいるこずです。

ドミトリヌ しかし、䞍可抗力のリスクが高いため、タむムコヌドの䜿甚を攟棄するこずに決めたのでしょうか、それずも最初に電力特性を蚈算しお、システム党䜓の負荷が非垞に高くなるこずに気づいたのでしょうか?

アンドレむ そのようなナヌザヌ向けに同期サヌビスを䜜成する堎合、それはそれほど難しいこずではありたせん。 いずれの堎合でも、リク゚ストが䞀倜にしお倱敗するこずはありたせん。 はい、負荷は高くなりたすが、緊急ではありたせん。 問題は、ネットワヌクが突然停止した堎合に、これにリ゜ヌスず時間を費やす䟡倀があるかどうかです。 こんなこずは起こらないず確信しおいたした。 最終的には、負荷による䞭断はありたしたが、すべおが機胜し、別のスキヌムに埓っおタむムコヌドに埓っお同期したした。 これは䞖界的な課題の XNUMX ぀でした。

UXの芳点から芋た実装の難しさ

タむムコヌド (by オヌディオバヌゞョン) — 10:42

アンドレむ たた、スタゞアムがクラシックなコンサヌト䌚堎ではないこずを考慮し、モバむル デバむス向けにスペヌス党䜓でシステムを同期する必芁がありたした。 それで、少し前に私はバむラルになりたした 拡匵珟実の物語 ゚ミネムのコンサヌトで、ロボダずの事件があった。

フォト ロバヌト・バむ (Unsplash.com)
ポッドキャスト「ITMO Research_」: AR コンテンツずスタゞアム党䜓芏暡のショヌの同期にどのようにアプロヌチするかしかし、これは垞に目の前での䜓隓です。芳客党員がステヌゞの前に立っおおり、同期は非垞に簡単です。 スタゞアムの堎合、スタゞアムが仮想環境に存圚する空間に収たるように、自分が円のどちら偎にいるのか、盞察的な䜍眮を理解する必芁がありたす。 それは苊い挑戊でした。 圌らはさたざたな方法でこの問題を解決しようず詊み、結果はロボダによっお実装されたものに近いものになりたしたが、すべおの点でそうではありたせんでした。

ナヌザヌがどこにいるかはナヌザヌに決めおもらいたす。 私たちは、人々がセクタヌ、列、堎所を遞択するスタゞアムのマヌキングを䜜成したした。 これらすべおを 90 回の「クリック」で実行できたす。 次にステヌゞぞの方向を決める必芁がありたした。 これを行うために、カスタムの芳点からシヌンがおおよそどのように芋えるかのシル゚ットを瀺したした。 圌はそれを組み合わせおタップし、それだけでステヌゞは終了したした。 このプロセスを可胜な限り簡玠化するように努めたした。 それでも、番組を芋ようずした芖聎者の XNUMX% は、拡匵珟実を䜿ったコミュニケヌションの経隓がある人ではありたせん。

ドミトリヌ このプロゞェクトには別の申請があったのでしょうか?

アンドレむ はい、ストアにプッシュした iOS ず Android 甚のアプリケヌションです。 別途プロモヌションキャンペヌンが行われおいたした。 ダりンロヌド方法などは以前に詳しく解説したした。

ドミトリヌ このようなアプリケヌションの䜿甚方法を人が物理的にテストしお孊ぶ堎所はないこずを理解する必芁がありたす。 したがっお、聎衆を「教育」するずいう䜜業はさらに耇雑になりたした。

アンドレむ はいはい。 ナヌザヌは、ダりンロヌド、むンストヌル、起動の XNUMX 回のクリックで゚クスペリ゚ンスを埗たいず考えおいるため、UX に関しおは倚くの困難を経隓したしたが、それはうたくいきたした。 倚くの人は、耇雑なチュヌトリアルに埓ったり、チュヌトリアルを読んだりするのが面倒です。 たた、チュヌトリアルではできる限りすべおをナヌザヌに説明しようずはしたせんでした。ここでりィンドりが開き、ここでカメラにアクセスしたす。そうしないず機胜したせん。などです。 どれだけ説明を曞いおも、どれだけ詳しく噛み砕いおも、どんなGIFを挿入しおも、人はそれを読みたせん。

ミンスクでは、この郚分に関する倧量のフィヌドバックを収集し、カザンでのアプリケヌションに向けおすでに倚くの倉曎を加えたした。 私たちは、拡匵珟実の特定の゚ピ゜ヌドに察応するレコヌドずタむム コヌドをそこに入れるだけでなく、すべおのレコヌドずタむム コヌドを完党に取埗したした。 そのため、アプリケヌションは起動時に䜕が起こっおいるかを聞き、誰かが間違ったタむミングでログむンした堎合、「同志、申し蚳ありたせんが、AR ゚ピ゜ヌドは 15 分埌に始たりたす。」ずいう情報を提䟛したした。

同期のアヌキテクチャずアプロヌチに぀いお少し説明したす。

タむムコヌド (by オヌディオバヌゞョン) — 16:37

ドミトリヌ 音で同期するこずにしたしたか

アンドレむ はい、それは偶然に起こりたした。 遞択肢を怜蚎しおいたずころ、ある䌚瀟を芋぀けたした シフラ゜フト むゞェフスク出身。 特別掗緎されおいるわけではありたせんが、サりンドずタむミングを同期できる鉄工の SDK を䜜成しおいたす。 このシステムは、条件付き広告のサりンドに基づいおアプリケヌションで䜕かを衚瀺したり、映画のトラックに基づいおむンタラクティブな゚クスペリ゚ンスを提䟛したりできる堎合に、テレビず連動するように䜍眮づけられおいたす。

ドミトリヌ しかし、それは、あなたがリビングルヌムに座っおいるずいうこずず、䜕千人もの人々が集たるスタゞアムずいう別のこずです。 録音の品質ずその埌の評䟡に぀いおはどうでしたか?

アンドレむ たくさんの䞍安や疑問がありたしたが、ほずんどの堎合、すべおがうたく認識されたした。 圌らは、巧劙なアルゎリズムを䜿甚しおオヌディオ トラック䞊に眲名を構築したす。その結果、元のオヌディオ ファむルよりも軜量になりたす。 マむクは呚囲の音を聞くず、これらの特城を芋぀けお、それに基づいおトラックを認識しようずしたす。 良奜な状態では、同期粟床は 0,1  0,2 秒です。 これで十分すぎるほどでした。 悪条件では、その差は最倧 0,5 秒でした。

倚くはデバむスに䟝存したす。 私たちは倚数のデバむスを䜿甚しお䜜業したした。 iPhoneの堎合は10モデルしかありたせん。 品質やその他の機胜の点でうたく機胜したした。 しかし、アンドロむドにずっお動物園は私の母芪のようなものです。 どこでもサりンドの同期が機胜したこずが刀明したわけではありたせん。 いく぀かの特殊性により、異なるデバむスでは異なるトラックを聞くこずができない堎合がありたした。 どこかで䜎呚波が消え、どこかで高呚波がれヌれヌし始めたす。 ただし、デバむスのマむクにノヌマラむザヌがあれば、同期は垞に機胜したした。

ドミトリヌ アヌキテクチャに぀いお教えおください - プロゞェクトでは䜕が䜿甚されたしたか?

アンドレむ 私たちは Unity でアプリケヌションを䜜成したした。これは、マルチプラットフォヌムずグラフィックスの操䜜ずいう点で最も簡単なオプションです。 ARファンデヌションを䜿甚したした。 私たちはシステムを耇雑にしたくないずすぐに蚀いたした。そのため、すべおをテストする時間を確保するために、ARKit ず ARCore をサポヌトするデバむスのフリヌトに限定したした。 私たちは DigitalSoft SDK のプラグむンを䜜成したした。 GitHub にありたす。 スクリプトがタむムラむンに埓っお実行されるように、コンテンツ管理システムを䜜成したした。

ナヌザヌはい぀でも特定の゚ピ゜ヌドに入るこずができ、同期した瞬間からすべおを芋る必芁があるため、パヌティクル システムを少しいじりたした。 私たちは、映画のように XNUMXD 䜓隓を前埌にスクロヌルできるように、シナリオを時間内に明確に再生できるシステムを工倫したした。 叀兞的なアニメヌションではそのたた䜿甚できたすが、パヌティクル システムをいじる必芁がありたした。 ある時点で、それらはスポヌンし始めたすが、スポヌンポむントよりも前のどこかにいるこずに気づいた堎合、それらはただ生たれおいないはずですが、生たれるはずです。 しかし、この問題は実際には非垞に簡単に解決できたす。

モバむル郚分のアヌキテクチャは非垞にシンプルです。 テレビ攟送の堎合は、すべおがさらに耇雑になりたす。 ハヌドりェアの制限がありたした。 顧客は、「ここにはこれこれのハヌドりェア パヌクがあり、倧たかに蚀えば、すべおがそこで動䜜する必芁がありたす。」ずいう条件を蚭定したした。 私たちはすぐに、比范的予算のビデオ キャプチャ カヌドを䜿甚するこずに泚目したした。 しかし、予算が悪いずいうわけではありたせん。

ハヌドりェア、ビデオ キャプチャ カヌド、および䜜業条件、぀たり画像をどのように受信するかに぀いお制限がありたした。 キャプチャ カヌド - Blackmagic Design、内郚キヌむング スキヌムに埓っお動䜜したす。これは、ビデオ フレヌムがカメラから届くずきです。 カヌドには独自の凊理チップがあり、そこにフレヌムも挿入され、受信したものの䞊に重ね合わせる必芁がありたす。 カヌドはそれらを混合したす。そこでは他には䜕も觊れず、ビデオ カメラからのフレヌムには圱響を䞎えたせん。 圌女はビデオ出力を介しお結果をコントロヌル ルヌムに吐き出したした。 これは、タむトルなどをオヌバヌレむする堎合には適した方法ですが、レンダリング パむプラむンには倚くの制限があるため、耇合珟実効果にはあたり適しおいたせん。

ドミトリヌ リアルタむム コンピュヌティング、オブゞェクト バむンディング、たたはその他の芳点から?

アンドレむ 品質ず望たしい効果の達成の点で。 なぜなら、その写真を䜕の䞊に眮くのかがわからないからです。 元のストリヌムに加えお色ず透明床の情報を送信するだけです。 屈折、正しい透明床、远加のシャドりなどの䞀郚の効果は、このスキヌムでは実珟できたせん。 これを行うには、すべおを䞀緒にレンダリングする必芁がありたす。 たずえば、火や熱いアスファルトによる空気の歪みの゚フェクトを䜜成する方法はありたせん。 屈折率を考慮した透明効果の転送に぀いおも同様です。 圓初はこれらの制限に基づいおコンテンツを䜜成し、適切な゚フェクトを䜿甚するように努めたした。

この蚘事をInstagramで芋る

ミンスクでの第XNUMX回ペヌロッパ競技倧䌚が閉幕。

共有の投皿 アレナ・ランスカダ (@alyonalanskaya) 30幎2019月3日午埌19時XNUMX分PDT

ドミトリヌ ペヌロッパ競技倧䌚の最初のプロゞェクトではすでに独自のコンテンツを持っおいたしたか?

アンドレむ いいえ、コンテンツ開発の䞻な段階は Sechenov.com のスタッフによっお行われたした。 グラフィック アヌティストがアニメヌションなどを䜿っお基本的なコンテンツを描きたした。 そしお、すべおを゚ンゞンに統合し、远加の゚フェクトを远加し、すべおが正しく動䜜するように調敎したした。

パむプラむンに぀いお蚀えば、テレビ攟送ではすべおを Unreal Engine 4 で組み立おたした。偶然にも、ちょうどその瞬間に、圌らは耇合珟実のためのツヌルを匷化し始めたした。 すべおがそれほど単玔ではないこずが刀明したした。 今でも道具はすべお生のたたで、倚くの郚分を手䜜業で仕䞊げなければなりたせん。 ミンスクでは、゚ンゞンのカスタム ビルドに取り組みたした。぀たり、゚ンゞン内の䞀郚を曞き換えお、たずえば実際のオブゞェクトの䞊に圱を描画できるようにしたした。 圓時の゚ンゞンのバヌゞョンには、暙準ツヌルを䜿甚しおこれを実行できる機胜がありたせんでした。 このため、圓瀟のスタッフは、極めお必芁なものをすべお提䟛するために独自のカスタム アセンブリを䜜成したした。

その他のニュアンスずカザンの技胜五茪ぞの適応

タむムコヌド (by オヌディオバヌゞョン) — 31:37

ドミトリヌ しかし、これらすべおがかなり短期間で行われるのでしょうか?

アンドレむ 締め切りが厳しかった カザンプロゞェクト、ミンスクによれば、正垞です。 開発期間は玄XNUMXカ月ですが、XNUMX人が関わったこずを考慮するず。 同時に、モバむル郚分の䜜成やテレビ制䜜甚のツヌルの開発も行っおいたした。 映像出力だけではありたせんでした。 たずえば、光孊系を備えた远跡システムでは、独自のツヌルを䜜成する必芁がありたした。

ドミトリヌ あるプロゞェクトから別のプロゞェクトぞの適応はありたしたか? XNUMX か月半の間に、開発状況を利甚しお、新しいコンテンツを含むプロゞェクトを新しいサむトに移行する必芁がありたしたか?

アンドレむ はい、䞀ヶ月半でした。 私たちはミンスクのプロゞェクト埌にチヌム党䜓で XNUMX 週間の䌑暇を取る蚈画を立おおいたした。 しかし、閉店盎埌に Sechenov.com の人たちがやっお来お、「それではカザンをやろう」ず蚀いたす。 ただ少し䌑むこずができたしたが、すぐにこのプロゞェクトに切り替えたした。 いく぀かの技術的な䜜業を完了したした。 ほずんどの時間はコンテンツに費やされたした。WorldSkills に関しおは、制䜜チヌムず調敎するだけですべおを私たちが行ったためです。 圌ら偎には台本しかありたせんでした。 しかし、それは簡単でした。远加の反埩を行う必芁はありたせんでした。 自分でコンテンツを䜜成するず、それが゚ンゞン内でどのように機胜するかがすぐにわかり、すぐに線集しお調敎するこずができたす。


モバむル郚分に関しおは、ミンスクでの埮劙な点をすべお考慮したした。 新しいアプリケヌション蚭蚈を䜜成し、アヌキテクチャを少し再蚭蚈し、チュヌトリアルを远加したしたが、できるだけ短く明確にするよう努めたした。 アプリケヌションの起動からコンテンツの閲芧たでのナヌザヌのステップ数を削枛したした。 適切なプロゞェクトを完了するには XNUMX か月半で十分でした。 XNUMX週間半で珟堎に到着したした。 プロゞェクトの管理はすべお䞻催者の手に委ねられおおり、他の委員䌚ず調敎する必芁がなかったため、そこでの䜜業は容易でした。 カザンでの仕事はよりシンプルで簡単で、時間が少ないのはごく普通のこずでした。

ドミトリヌ しかし、音をベヌスにした同期のアプロヌチはそのたたにしおおくこずにしたのでしょうか

アンドレむ はい、音で残したした。 うたくいきたした。 よく蚀われるように、それが機胜する堎合は、觊らないでください。 私たちはオヌディオ トラックの品質の埮劙な違いを考慮しただけです。 圌らがむントロを挔奏したずき、ショヌが始たる前に人々が詊すためのトレヌニング゚ピ゜ヌドがありたした。 スタゞアムでトラックを再生する瞬間に嵐のような拍手が起こったずき、「ラむブ」であるこずは驚きでした。システムにより、このトラックずうたく同期するこずができたすが、この瞬間に録音された拍手がトラックに混合されおいる堎合、トラックが捕たらなくなりたした。 そういったニュアンスも考慮されおいお、音的にもすごくシンクロしおいたした。

PS この号の埌半では、科孊デヌタの芖芚化、他のプロゞェクトでのプロセス モデリング、ゲヌム開発、修士課皋に぀いお話したす。コンピュヌタゲヌム開発技術」 続きは次回の蚘事で掲茉させおいただきたす。 こちらから聞いおサポヌトしおいただけたす:

PPS 䞀方、Habr の英語版に぀いおは次のようになりたす。 ITMO倧孊を詳しく芋る.

出所 habr.com

コメントを远加したす