KITECH: Building a factory digital twin and synthetic data pipeline for manufacturing AI

Sep 4, 2026
KITECH factory digital twin - point cloud, URP, and HDRP shown together

この録画されたプレゼンテーションでは、博士が韓国産業技術研究院(KITECH)の製造AIコラボレーションチームを率いるウォン・ホンイン氏と、 Unity Koreaのテクニカルアカウントマネージャーであるパク・ウジン氏が、キャスト工場をデジタルツインに変えた14週間のプロジェクトについて解説する。本書では、チームがUnity Industryを使用してCADを使用せずに点群データからシーンを構築した方法、 Unity AIを使用して最適化とUI作業を加速させた方法、そしてツインを人間とロボットの協働に関するAIのトレーニングを行う合成データパイプラインに変換した方法について解説しています。

学習内容

  • チームが金属キャスト工場のデジタルツインを構築した方法は、CADソースファイルを使用せず、点群データから構築された。
  • Unity AIAsset ManagerAsset Transformer 、およびVersion Controlが制作パイプラインのどこに位置づけられるか
  • デジタルツインを現実世界の測定値に照らし合わせて、残るギャップを調整する方法
  • フレームを手作業で注釈付けする代わりに、ラベル付きトレーニングデータを自動的に生成する方法
数字で見る - プレゼンテーションより
メトリック
プロジェクト継続時間
価値
キックオフから14週間
整理されたソースアセット
価値
627から218に減少
ソースコードのチェックイン
価値
77
可視化されたデータセット
価値
39件中20件
拡張現実に使用される物理ベースのワールドモデル
価値
10以上
データセットのエピソードがキャプチャされました
価値
17(人間とロボットの組み合わせ9組、ロボットのみの組み合わせ8組)
センサー同期速度
価値
20Hz
生のフレームをキャプチャ
価値
10万人以上
総キャプチャ時間
価値
80分以上

ロボットとヒューマノイドが共存するAIファクトリーの時代が到来するにあたり、パイプラインはシミュレーションおよびデータレイヤーとして機能すると我々は考えています。

Dr. Hongin Won
Dr. Hongin Won - Korea Institute of Industrial Technology
Manufacturing AI Collaboration Team Lead
KITECH – 製造業AI向けUnityデジタルツインベースの合成データパイプライン

このプレゼンテーションは、2026年7月に開催されたUnite Seoulカンファレンスで録画されたものです。

動画の文字起こし

スピーカー

  • ウジン・パク、 Unity Korea テクニカルアカウントマネージャー
  • Ryan Moore 医師、ホンイン・ウォン、韓国産業技術院(KITECH)製造AI研究センター、製造AIコラボレーションチームリーダー
  • ファン・ジェフン、研究員、KITECH

ランタイム:41分

この文字起こしについて:この文字起こしは読みやすくするために編集されています。

はじめに:骨組みだけの工場風景が、生き生きとしたデジタルツインへと変貌を遂げる

[00:00] パク・ウジン:本日は、製造業AI向けのUnityデジタルツインベースの合成データパイプラインについてお話しします。私はUnity Koreaのテクニカルアカウントマネージャー、パク・ウジンです。Unityでは、産業顧客向けの技術サポートを担当しています。本プロジェクトでは、KITECH社と14週間にわたって実施した、工場のデジタルツイン構築をサポート取り組みについて発表します。

今日のプレゼンテーションを1文で要約するとすれば、こうなります。これは、骨組みだけの工場風景が、生き生きとしたデジタルツインへと変貌を遂げる物語である。

[00:51]韓国産業技術院とUnityがUnity AIを使用して辿った道のりについてお話しします。まず、 Unity AIとその関連製品についてご紹介します。それでは、プロジェクトそのもの、KITECH VPH-Metalについてお話ししましょう。

始める前に、最終結果の動画をお見せしましょう。今ご覧になっている場所は、砂型を作る成形機が稼働している場所です。ここでは鋳造製品から湯口が除去され、ゲート除去エリアを通過した後、最終研削および後処理エリアへと移送される。このプレゼンテーションが終わる頃には、このシーンがUnityでどのように構築されたかがお分かりいただけると思います。

[01:38]私は物理AIや関連トピックに関するセッションやセミナーに数多く参加してきました。通常、こうしたセッションでは、このような工場の写真や画像、動画を目にして、「なるほど、 Unityなどのツールを使ってデジタルツインをビルドできるんだな」と思うものです。しかし、実際には何人の人員が必要なのか、計画にどれくらいの時間がかかるのか、そしてどのようなツールを使えばスピードアップできるのか?正直言って、そういう情報はなかなか手に入らないものだ。今日は、私たちが使用した製品と構築方法、そしてAIを活用してプロセスを加速できた方法についてお話しします。

Unity AIに含まれるもの:エージェント、MCPサーバー、およびジェネレーター

[02:23] Unity AIは以下ので構成されています。1つ目はUnity Agentです。それから、MCPサーバーとジェネレーターもあります。今のところは、これらのキー用語を覚えておくだけで十分です。

Unity Agentを使用すると、例えばClaudeやGeminiをベースにしたAIをエディター内で直接使用できます。MCPサーバーに関しては、韓国の多くの環境は閉鎖型ネットワーク上で稼働している。つまり、社内にClaudeやCodexのようなエージェントが設定されている場合は、プロトコルを介して接続し、 Unityで使用することができます。

では、 Unity AgentとMCP Serverの最大の違いは何でしょうか?Unity Agentは、バック終了で私たちが独自に開発した70~80個のスキルを実行します。つまり、 Unityの開発をさらに加速させることができるということです。

[03:12] Unityが最終的に目指しているのは、 3Dリアルタイムアプリケーションです。3Dリアルタイムアプリケーションを考えるとき、アニメーション、サウンド、オブジェクト、そして大量のテクスチャと画像が必要になります。つまり、単にコードを書くだけではないのです。Unity AgentまたはMCP Serverを使用している場合は、ジェネレーターが各アセットタイプ用に生成するAIアセットも使用できます。

Unity Industryツール:Asset Manager、Version Control、Asset Transformer

[03:45]さらに、 Unity Industryには、アセットを管理するためのツールであるAsset Manager 、バージョン管理のためのツールであるVersion Control 、およびアセットやCADモデルをシミュレーションで直接使用できるように準備するAsset Transformerが含まれています。これらがその3つのツールです。

CADを使わずに始める:点群からメッシュへ

[04:15]先ほど今日のプロジェクトの完成版をご覧になった方は、おそらくその始まりがどこだったのか疑問に思っていることでしょう。このようなプロジェクトでは、通常、CADデータを持っている人がそのCADデータをUnityに取り込み、プロジェクトを進めます。しかし、作業に使えるCADデータがなかったので、点群データから始めました。

次に、その点群を簡略化されたローポリゴンメッシュに変換し、その後、 Asset Transformer、 Asset Manager、 Unity Version Control、 Unity AI、その他多数のツールやパッケージを使用して、14週間かけてプロジェクトを実行しました。今ご覧になっているのは、 Unityで同じ角度から視覚化された点群です。

[05:04]左側にはアセットがあり、その下にAsset Transformer、Asset Manager、自動化、エディター、AIなどのさまざまなツールがあります。これらのツールがそれぞれどこで使用されたかを説明します。おそらく皆さんが最も興味を持っているのは、一番右端にあるトレーニングセクション、あるいはシミュレーションとデジタルツインに関する部分でしょう。最後に、点群がUnityのAsset Managerやデジタルツインなどの出力にどのように接続されたかを説明します。

Asset Transformer:アセットを最適化し、シミュレーションに対応させる

[05:42]まずはAsset TransformerとUnity AIから開始ましょう。左側の服装が少し変化している。右下には、同じ衣服を1万1000ポリゴンと110万ポリゴンでレンダリングした画像が表示されており、それぞれのポリゴンの形状がどのように異なるかが分かります。

Asset Transformerは、CADファイルやオブジェクトファイルがある場合に、それを簡単に最適化して軽量化できるツールです。左側の服の場合、肉眼ではほとんど違いが分からない。つまり、Asset Transformerは、コンピュータがレンダリングするやすいようにモデルを可能な限りライト化し、同時に視覚的な違いを最小限に抑えます。

[06:38]下部で回転している立方体を外観と、同じコードで立方体を回転させた場合でも、白いキューブは自身の中心を中心に回転しますが、黄色いキューブは別の点を中心に回転しているように見えます。CADモデリングにおいては、これは原点の概念に相当する。原点が、いわゆる質量中心、バウンディングボックスの中心、あるいはランダムな値に設定さコールているかどうかによって、たとえコードを正しく記述したとしても、結果は全く異なるものになる可能性があります。そのため、これらの部分を修正・改善する必要があり、私たちはこのプロセスを「シミュレーション対応」と呼んでいます。

[07:26] UnityではAsset Transformerを使用し、KITECHと協力して最適化の方法を検討しました。すべての作業が完璧にうまくいったわけではなかった。例えば、はしごの場合、ピボットを動かす際に、支点が直線状に圧縮されてしまうという問題が発生しました。このケースでは、 Unity AIを使用して実際の幾何学的原因を分析し、プロジェクト全体に適用できるスキルセットを作成しました。そこで私たちはスキルマークダウンを作成し、それをKITECHの工場全体のシーンに適用し、このような静的オブジェクトを動かせるオブジェクトに変え、最初の最適化作業を実施しました。

Asset Managerでバージョンを管理する:627個のソースファイルを218個に削減

[08:25]プロジェクトを進めていく中で、最初にお見せしたのは点群データで、次にそれをメッシュに変換して生成されたローポリゴンデータ、そして先ほどお見せした最適化と軽量化が施されたシミュレーション準備済みのデータた。つまり、データには3つのバージョンがあったということです。しかし正直なところ、実際にはもっと多くのバージョンが存在した可能性が高い。これらのバージョンが多数存在する中で混乱を避けるため、また必要なデータを適切なタイミングで取得するためには、バージョン管理が不可欠だった。

[08:45]私たちが使用したツールはAsset Managerです。CADファイルの場合、通常プレビュー機能はサポートされていません。CADには多くの利点があるが、 3Dオブジェクトのレンダリングするは負荷が高く、プレビューがないと、どのアセットが必要なものなのかを判断するのが難しい場合がある。

[09:03]Asset Managerは、すべてのオブジェクトのプレビューを提供します。エディター内で直接ダウンロードすることも、アップロードしてすぐに使用することもできます。また、他の形式への変換機能や、自動最適化機能も備えています。

各モデルファイルを一つずつアップロードするのではなく、一連のルールを定義し、オントロジーに基づいたAASデータを作成し、それをAsset Managerにアップロードしました。汎用的なFBX形式だけでなく、USD形式やその他必要に応じて範囲な形式でアップロードしました。当初は合計627個のソースファイルがありましたが、単一の基準を適用した結果、218個にまで減らしてアップロードしました。

URP、 HD レンダーパイプライン 、USDを横断するUnity Version Control

[10:07]次に取り組んだのはバージョン管理でした。多くの方にとって、バージョン管理といえばGitを思い浮かべるのではないでしょうか。しかし、 Gitでは基本的に画像や大きなファイルを管理するのは非常に難しい。

私たちの場合は、この点群をUnityのURPレンダーパイプラインで実行し、さらに高精細なHD レンダーパイプラインでも実行しました。そこで、両方のバージョンを管理し、機能を追加するために、 Unity Version Controlを使用しました。14週間の期間中、URP、 HD レンダーパイプライン、USDのブランチを分離し、エディタを統合設定管理下に置き、変更セットに基づいて77バージョンを管理しました。

Unity AIを使用したランタイムダッシュボードの構築

[11:18]アセットの準備が整い、バージョン管理も確立されたので、いよいよ本格的な開発に取り掛かる時が来ました。

人々が最初にデジタルツインが欲しいと言うとき、最初に求めるのはダッシュボードです。以前は、このダッシュボードを構築するには、UIおよびUXデザイナーを招き入れ、各特徴をクラスとしてきちんと構築するなど、多くの手順が必要でした。昔はそうする必要があったのだ。

[11:32]しかし、このファクトリーで表示したいデータの画像を作成したり、コンセプト画像を作成したりすると、 Unity AI の内部のスキルがバック終了で実行され、それを直接インタラクティブな UIダッシュボードに変換します。

通常、現場では、PLCデータを直接接続できないケースが多くあります。私たちの場合も、ファイアウォールやセキュリティ関連の問題があったため、研究者と協力して一種のダミーPLCデータセットを作成し、それをUnity内のダッシュボードに接続しました。私たちはそのプロセス全体を共にやり遂げました。

マグネットシナリオ用のカスタムエディターツール

[12:21]次に私たちが取り組んだのは、視覚的に説得力のあるシミュレーションだけではなく、真に事実に基づいたプロジェクトでした。ランタイムにダッシュボードを作成した後、エディター自体の中にダッシュボードまたはカスタムエディターを作成する必要もありました。

この工場では、最初のシナリオとして、磁石が移動し、磁力を使って物体を拾い上げるというものがあった。金属片を拾い上げるか拾い上げないかに必要な磁力をシミュレーションを行うために、各値をハードコーディングするのではなく、エディタ内で直接公開された。そのため、各カートの状態や磁石の状態、さらには物理シミュレーションの挙動といったものはすべて、 Unity AI を使用して開発されました。

コンセプト画像から炉のエフェクトを作り出す

[13:21]次に話すのは炉エフェクトです。中には、視覚効果 (VFX)が必要だと考えている方もいるかもしれません。

Unity AIとMCPの最も強力な機能の1つは、シーンビューまたはゲームビューをキャプチャできることです。プロジェクトに取り組んでいるとき、スマートフォンが色補正を行うように、 Unity エディター内やゲームビュー内では色が異なって外観ことがあります。それらの色の中で望むようなインパクトを生み出すには、色の組み合わせなどが必要になります。かつては、それはアーティストが対処しなければならない領域だった。

[14:01]しかし今では、AIに「シーン内に4つの球体を作成し、それらに炉のエフェクトを適用、私が指定したコンセプトやコンセプト画像に最も近くなるまで更新を続けてください」と指示することができます。Unity AIは、最適なエフェクトを見つけて作成し、それを実際のシーンに一度に適用します。

URPをHD レンダーパイプラインに変換する

[14:24]その後、URP バージョンを作成した後、それをHD レンダーパイプラインに変換しました。URPをHD レンダーパイプラインに変換する作業中、私は別の作業で忙しかったので、事前に準備しておいたグラフィックス設定、コンセプト、その他の詳細情報をAIに与えました。ここでご覧いただける映像は、AIが時間をかけてステップステップに改善を重ね、コンセプト画像に一致いった結果です。

[14:51]最初は画面が真っ黒か、明るすぎるかのどちらかでした。その後、画面は元の状態に戻り、ビット明るくなり、これらの手順を自動的に繰り返したため、工場のシーンは更新され続けました。徐々に改善していき、終了には、私が思い描いていた洗練されたHD レンダーパイプラインシーンになったと言えるでしょう。

ランタイムのUSDエクスポート

[15:18]最後に言っておきたいのは、URPとHD レンダーパイプラインには停止なかったということです。私は他の大企業向けにもデジタルツインプロジェクトを担当していますが、彼らが最もよく口にするのは、「社内の他のチームや部署が、この整理されたシミュレーション対応データを他のツールや他のプラットフォームで利用したいと考えている」ということです。

[15:44]そこで、私たちが取り組んだのは、ランタイムに USDエクスポートを有効にすることでした。ランタイムエクスポートとは、シミュレーションの実行中にレイアウトをある程度変更し、それを保存して、そのステートをUSD形式でエクスポートことを意味します。そうすることで、別のプラットフォーム上でも、テクスチャ、ジオメトリ、その他すべてをそのままの状態で保存し、すぐに利用できるようになります。

双子をワールドモデルに送り込む

[16:18]このようなデジタルツインができたら、単に機器を接続してダッシュボードを見るだけではありません。今日一番話題になっているテーマ、ワールドのモデルについても話したいと思います。

FLUX、Qwen、 NVIDIA Cosmos 3などのワールドモデルを使用すると、 Unityで構築したデジタルツインの画面を取得し、その画面または画像を入力、工場の老朽化、蒸気の発生、シミュレーションから現実へのシナリオ、さらには時間帯の変化などを表示できます。私たちはこれらの地域に関する様々なデータセットを入手することができました。

プロジェクト成果の数値

[16:55]結果を数字で表すと、プロジェクトは開始から14週間で完了しました。627件の資産を整理し、218件に絞り込みました。ソースコードのチェックインは77件あり、点群からHD レンダーパイプラインまで、あらゆる段階を経てきました。私たちが持っていた39個のデータセットのうち、20個を可視化しました。その後、10種類以上の物理ベースのワールドモデルに基づいてデータ拡張を実施しました。

並列比較と製造分野のギャップ

[17:27]最終的な比較動画を作成しました。ここでは、最初に点群が表示され、中央にURP、そして最後にHD レンダーパイプラインが表示されます。その後、拡散解析、世界モデルシミュレーション、データ拡張を実行しました。

この過程において、私が指摘しておきたい点が一つあります。一般的なデータで学習させたモデルは、製造業分野のデータを理解する能力がほとんどない。そこで私たちは、製造分野におけるデータのギャップをどのように埋めるかを研究することに多くの時間を費やしました。この部分は、次に博士によって説明されます。ホンイン・ウォン。

博士に感謝したいと思います。ウォン・ホンイン氏、ハン・ヨンソク研究員、ファン・ジェフン研究員、そしてこのプロジェクトに共に取り組んでくださった多くの方々に感謝いたします。

KITECH:デジタルツインをAIが学習できる環境へと変える

[18:47] 博士ホンイン・ウォン:私は韓国産業技術院のウォン・ホンインです。

先ほど、マネージャーのウジン・パク氏が、 Unityを使って工場のデジタルツインをビルド・拡張する方法、特にキャスト工場向けの方法について説明しました。次のステップとして、そのデジタルツインを、AIが学習しテストできる環境へと変える方法についてお話しします。

本日のプレゼンテーションのタイトルは、「製造業AIのためのUnityデジタルツインベースの合成データパイプライン」です。タイトルに合成データパイプラインという言葉があるので、「では、具体的にどのようにデータを合成するのだろうか?」と疑問に思うかもしれません。しかしその前に、最も重要な疑問は、「デジタルツインは本当に実際のシステムに一致て構築されているのか?」ということだ。それでは、具体的にどのように検証するのかについて、ビット詳しく見ていきたいと思います。現実世界と一致デジタルツインモデルを構築するプロセスを「グラウンディング」と呼んでおり、その透視から説明します。

チームと研究の向き

[19:49]私はウォン・ホンインです。KITECHの製造AI研究センターで製造AIコラボレーションチームを率いています。私の専門分野は、製造業におけるAI、デジタルツイン、および産業データインフラストラクチャです。特に、私がデジタルツインに関して関心を持っている分野は、仮想化、つまり現実世界の問題を仮想環境に移行する方法、生成、つまりその環境内で必要なデータを作成する方法、そして検証、つまり結果を現実世界での検証に持ち込む方法です。

[20:18]このプロジェクトに参加した主な研究者は、当センターのファン・ジェフン研究員とハ・スンヨプ研究員です。ファン・ジェフン研究員は、センサーを実環境から仮想環境に移設した後に残る差異の測定と補正を担当し、ハ・スンヨプ研究員は、人間とロボットのシミュレーションと動作、および幅広い範囲でのデータ拡張を担当した。

[20:48]製造業におけるデジタルツインの研究向きは、デジタルツインをAIに、AIをデジタルツインに、という一線に集約されます。それは、AIが学習し、テストできる環境を構築し、AIを用いてデジタルツインを再構築・更新を意味する。私たちは、マルチエージェントシステムとLLM(論理論理モデル)に基づいた上級者向けのデジタルツインの研究も行っています。

[21:09]こちらは当センターが製作した模型に関する短いビデオです。この動画では、電気自動車のアセンブリライン、都市物流、鋳造工場などを双子のように複製し、それらを単一のサプライチェーンとして接続するモデルを紹介しています。私たちはUnityシミュレーターを頻繁に使用していますが、バック終了では、より軽量なシミュレーションでシナリオをモデル化し、その出力結果をUnityインテグレーションパイプラインに取り込んでいます。それは私たちの研究における主要な向きの一つです。

[21:48]このビデオでは、センサーフュージョンやLLMベースのエージェントがロボットの経路を計画する研究など、そこで開発されたシミュレーションおよび検証技術も紹介されています。また、 Unity MCPの機能を使用してロボットの経路を計画する例も含まれています。

人間とロボットの協働、そしてHRCデータが不足している理由

[22:09]今日のテーマは、AIが学習し、テストできる環境を構築することです。本プレゼンテーションで取り上げるシナリオは、人間とロボットが協働する製造サイトです。人間とロボットが同じスペースで協力して作業する環境は、人間・ロボット協働(HRC)と呼ばれます。

[22:25]プレゼンテーションの流れとしては、まず、なぜこのようなHRCデータが現実ワールドでは非常に少ないのか、そしてなぜそれをデジタルツインモデルに完全にビルド必要があるのか​​についてお話しします。次に、この問題を克服するために私たちが取ったアプローチと、開発したデータ合成手法について説明します。デジタルツインモデルを構築する際、多くの部分が現実ワールドと完全に一致しない。つまり、現実とシミュレーションの間にギャップが生じるということです。そして、そのギャップをどのように調整し、解消したのかについても説明します。

[23:02]まずはデータの問題から開始ましょう。皆さんもご存知の通り、AIはデータから学習します。しかし、データが豊富に存在する分野もあれば、そうでない分野もある。例えば、自動運転においては、数百万キロメートルに及ぶ走行記録を容易に取得できますし、一般的な視覚データについては、ウェブや日常生活から画像や動画を収集できます。言語モデルは、インターネット全体からのデータを利用して学習させることもできます。

しかし、製造現場、特に人間とロボットが協働する現場では、作業員がロボットに接近したり、ボディの一部が遮蔽されたり、人が安全区域に出入りしたりする際のデータが必要となる。そういったデータは、公開されているデータセットでは非常に見つけにくい。

データ不足の4つの理由

[23:54]製造現場でこのデータが不足している理由を4つ特定しました。

第一に安全です。人がロボットの危険区域に入る瞬間は、データ収集のためだけに何度も再現できるようなものではない。

2つ目はコストです。実際にラインを設置し、センサーを取り付け、状況が変化しながら撮影を行うには、多大な時間と費用がかかる。

3つ目は、私たちが最も苦労した部分、つまりラベル付けです。AIのトレーニングには、正解データを作成するためにアノテーションとラベルが必要です。しかし、人間とロボットの3D位置、距離、関節情報、背景、物体、ピクセルレベルの領域を複数のセンサー間で同時に位置合わせすることは、まさに手作業に等しい作業だった。

[24:36]最後は希少性です。正確に言うと、シナリオの発生頻度のことです。製造現場における人とロボットの衝突に関するデータを入手することは極めて困難である。衝突直前の状況は、ロングテールイベントと呼ばれる。そういった状況は現実にはほとんど起こらず、人工的に作り出すことも極めて困難である。そして、適切に運営されているサイトでは、そのようなデータは頻繁に発生するのではなく、むしろ少なくなるはずだ。

近接データ:実際にトレーニングする必要があるもの

[25:16]私たちが訓練したかったのは、単に人がいるかどうかではなく、人がロボットからどれくらい離れているか、どの向きにいるか、どのような姿勢で近づいているかでした。このような情報を、私たちは近接データとコール。人間とロボットが協力して安全地帯を判断したり、ロボットの場合は人がどれだけ近くにいるかを監視したり、減速したり停止できるシナリオを作成したりするためには、この関係性を理解する必要があります。

[25:43]簡単に言うと、状況はこうでした。データが少なすぎた。だから、収集できないなら、生成すればいい。それが私たちの目指すところでした。しかし、データを生成するためには、生成を行うモデル自体が確固たるデータを必要とする。そこでまず、現実ワールドで測定された値をリファレンスとして、 Unityのデジタルツイン合成データパイプラインを構築しました。

Unityを選んだ理由:1つのランタイムに4つのテクノロジーを搭載

[26:09] 4つのテクノロジーを単一のランタイム内で接続するのは比較的簡単だと感じたので、 Unityを使用しました。

まず一つ目は物理シミュレーションであり、ロボット、人間、物体が物理的に有効方法で対話する。2つ目はHD レンダーパイプラインレンダリングで、照明や素材などを現実世界に近づけることで、現実世界との乖離を縮小するものです。3つ目はセンサーシミュレーションで、これは複数の種類のセンサーを仮想的に再現するものです。4つ目は、ツインからデータを生成する応用技術であり、これにより、人がすべてを手作業でマークすることなく、注釈やラベル付けを実行できます。

[26:48]もしこの4人が別々に行動していたら、AIトレーニング用のデータを作成することはできなかったでしょう。それらを同じ実行環境と同一の時間軸に統合することで、必要なデータを生成することができました。

産業用HRCベンチデータセット

[27:03]そのトレーニングデータを取得するプロセスは、データセットを構築するための専門的で信頼できる方法論に従う必要がありました。そのため、製造分野の専門家を招き、人間とロボットが実際に協働するシナリオを共同で設計しました。私たちは、韓国試験研究所のロボット試験認証センターに、権威ある実験的環境を構築しました。

[27:33]これらの実験の結果、私たちは産業用HRCベンチデータセットを構築しました。これまでに収集されたHRCシナリオのうち、一般リリース可能なレベルのものは、パレット積みと生産部品の検査の2種類に分類される。このデータセットは合計17のエピソードで構成されています。これらのうち、9件は人間とロボットが協力して実施され、残りの8件はロボット単独で実施された。

[28:02]ここで使用されているセンサーシステムは、 RGBカメラ、LiDAR、360度ビデオ、およびモーションキャプチャシステムを統合しています。これらのセンサーはすべて20Hzで同期されており、10万フレーム以上のRawデータが得られました。純粋な時間で計算すると、これは80分以上に相当する。

ここで私たちにとって重要だったのは、データのスケールだけでなく、その構造体でもありました。これらのデータはすべて、観測値とラベルに関して同じ時間軸を共有していたため、正確な比較と有意義なデータ生成が可能になった。私たちは、Hugging Faceまたは外部リポジトリを通じて、近いうちにIndustrial HRC-Benchデータセットをリリース予定です。

パイプラインを3つの言葉で表すと:接地、較正、生成

[28:53]全体の流れは、グラウンド、キャリブレーション、生成の3つの言葉で要約できると思います。

まず第一に、単に双子を作るだけでなく、現実ワールドで測定された値をそれに結びつけることです。それはグラウンディングであり、双子を現実と調和させるものだ。次に、キャリブレーションを行い、実測値とシミュレーション値の差を縮小します。そしてそこから、データ生成フェーズへと進む。

接地:環境、センサー、ロボット、ラベル

[29:35] ファン・ジェフン:私はファン・ジェフンです。実世界データとシミュレーションデータの連携実装を担当しました。基礎構築段階では、環境、センサー、ロボット、ラベルという4つの要素を現実世界から持ち込みました。

環境

[29:49] KTLテストベッドの空間寸法と主要機器のレイアウトを測定し、それらの値に基づいて、 Unity内で機器と作業エリアを1対1で一致させました。さらに、 HD レンダーパイプラインを適用して、素材や照明を実際の環境に一致。背景には、現地で撮影した360度パノラマ画像を使用し、現実とシミュレーションのギャップを縮小するために、フォトリアリスティックな3Dガウス飛沫シーンを作成しました。

私たちの究極の目標は、カメラが捉える構造体や遮蔽物、物体同士の相対的な位置関係、ライトや素材が観察対象に与える影響などを、現実ワールドと並べて比較できるリファレンスセルを作成することでした。画面上の画像では、左側が実際の風景、右側が同じ視点からのデジタルツインです。

センサー装置

[30:34]この実験では、 RGBカメラと深度カメラ、LiDAR、360度カメラ、モーションキャプチャ、および2台のロボットの状態からのデータを使用しました。私たちが構築した仮想環境において、これを単一のカメラに単純化することはしませんでした。実際の装置で各センサーがどこに設置され、何を観測しているかを確認した後、同じ構造体を持つ仮想センサーを作成しました。

[30:59] Unityランタイム内で、すべての観測が同じシミュレーションクロックを共有ようにカスタムセンサーコンポーネントを構築しました。また、ロボットの状態と人間の動きを連動させ、両者が同時に同期するようにしました。この同期が重要な理由は、近接性を単一の画像だけで要約することはできないからである。同時に、距離と安全ゾーンのラベルを一貫して計算するためには、ビデオ、深度、ロボットの関節、人間のポーズがすべて同時に存在する必要がある。

Robot

[31:27]私たちには一つの基準がありました。それは物理的に有効動きでなければならず、単にそれらしく見えるだけの動きではいけなかった。実際のテストベッドで記録された関節の軌跡を取り込み、元の時間順序でフレームごとに再生するように設定しました。UnityのArticulation Bodyを使用して、ロボットのリンクとジョイント、自由度、および物理構造体を設定し、その上に記録されたジョイントの状態を実行しました。慣性と接触は同時に計算されるため、ロボットの動きと周囲の物体とのインタラクションを単一の物理構造体内で処理することができました。

ラベル

[32:02]同じシミュレーションステートから、4種類のグラウンドトゥルース情報が同時に生成されます。人、ロボット、部品の位置を示す2Dおよび3Dバウンディング ボックス。ピクセルレベルでオブジェクトを分離するセマンティック セグメンテーションとインスタンス セグメンテーション。ポーズ推定に使用される関節座標。近接距離のリファレンスとして使用される深度グラウンド トゥルース。画面には、 3Dバウンディングボックスが適用されたシーンが表示されます。

これらのラベルは、誰かがすべてのフレームに手作業で書き込みをして作成したものではありません。これらはUnityのシミュレーションステートから直接取得されます。これにより、ラベル付けコストと注釈エラーの両方を同時に削減できます。

カメラのリアルとシミュレーションのギャップ

[32:52]次に、デジタルツインモデルを構築する際に遭遇した現実とシミュレーションのギャップと、それをどのように解決したかについて説明します。これらは、転送後も残る、現実世界と仮想世界との間の差異、つまり残存ギャップである。その中で、近接値とグラウンドトゥルースソースに直接影響を与える2つの要因を特定しました。

最初の事故はカメラで発生した。仮想環境を構築する際には、実環境と仮想環境の両方で、同じセンサーモデルと視野角を設定します。しかし、同じオブジェクトが同じピクセル上に表示されたわけではなかった。

[33:20]右側のエッジ/辺オーバーレイを外観と、同じ構造体の境界が位置によってわずかにずれていることがわかります。実際のレンズデータシートをUnity環境に適用しても、問題は解決しませんでした。なぜなら、製品仕様や標準レンズモデルだけでは、取り付け角度や各レンズによって生じる差異を説明できないからである。

HRC(ヒューマン・レーシング・サイクル)においては、これほど小さなずれでも問題となる。人間とロボットの境界がほんの数ピクセルずれるだけでも、シミュレーションで生成されたピクセルラベルと実際の観測結果との対応関係が不安定になる。そこで私たちは、このテストベッドに設置されているカメラそのものの残差を直接測定することにしました。

レンズディストーションをモデル化するのではなく、測定する

[34:01]私たちが採用したメソッドはシンプルです。レンズを直接モデル化しないでください。測ってみてください。

このプロセスは3つのステップから構成されています。まず、複数の視点から生成された3Dガウスビューを使用して、現実環境と仮想環境における対応するシーンを取得しました。次に、それらのペアになった画像間のピクセルレベルでの差を計算し、ピクセルごとの歪みマップとして記録しました。最後に、そのマップをUnityのカメラ歪みシェーダーに適用し、画像レンダリングプロセス中にバーチャルカメラが補正されるようにしました。

[34:35]キーのはこのループです。対応するシーンを作成し、残りの差を測定し、その値をUnityランタイムにフィードバックします。

結果は以下のとおりです。左側は実際のセンサーによる観測データ、中央は補正されたデジタルツイン、右側は2つの画像のエッジ/辺オーバーレイです。右側の境界線を見てください。以前と比べて著しく改善されていることがわかります。特定の歪みマップを適用することで、実画像と仮想画像間のピクセル整列が適切に改善されたことを確認できた。

[35:09]これは外部の後処理ではなく、バーチャルカメラが画像を生成するときに実行されるコンポーネントので、補正された観測値とグラウンドトゥルースを同じ実行環境内で生成できます。

IKを使用して不安定な人間の動きを修正します

[35:16] 2つ目の問題は人間の動作に現れた。画面には、モーションキャプチャで記録された人間の動きが、マーカーと骨格とともに再生されて表示される。これは、キャプチャ時にロボットと作業台によってボディの一部が遮蔽されたセクションです。足の関節が震え開始様子をよく見てください。オクルージョンが進行するにつれて、隠れた関節の位置推定が不安定になり、足が床の上で滑り、関節が物理的にあり得ない位置に移動してしまう。

[35:47]この揺れは、人間とロボットの間の距離、各ボディ部位の近接度、および安全区域のラベルを直接歪めます。そこで、人間の動きにも物理的な制約を適用しました。それらは床面と関節の可動範囲です。

これは以前と同じ場面です。今回は、注意すべき点は2つだけです。足は床についたままで、関節は自然な状態を保っていますか?

[36:14]まず、Foot IK を使用して、計測した実際の床の形状に足を再接続しました。次に、ヒューマノイドIKを使用して、遮蔽された関節が有効関節可動範囲内で動くように制約された。IKは、手または足のターゲット位置に基づいて、関節間の位置を再計算します。この修正は、近接性や安全性のラベル表示を妨げる​​非物理的な動きを軽減することを目的としています。

シナリオ再生:パレット積みと部品検査

[36:40] 博士ホンイン・ウォン:パイプライン構築からセンサー補正、逆運動学補正に至るまで、実世界とシミュレーションのギャップを縮小するためのキー技術を解説してくださったジェフン・ファン研究員に感謝いたします。私たちが構築したデジタルモデルの動作について簡単に説明した後、プレゼンテーションを締めくくります。

[37:21]デジタルモデルとして構築した2つのシナリオは、同じHRC環境に基づいていますが、タスク特性が異なります。一つ目はパレット積み、二つ目はサーフェス検査です。どちらも、製造サイトで実際に起こりうるシナリオとして設計されたものです。具体的な詳細は、後ほど要約の中で別途リリースいたします。

[37:44]これはパレタイジングのケースです。パレタイジングモデルでは、以前に実機ロボットの関節ボディを通して記録したデータが、このデジタルツインモデルに統合されています。先ほどご覧いただいたように、2種類のセンサーデータ、ロボットのステート情報、インスタンスマスク、セグメンテーションマスクはすべて同期され、一緒に再生されます。

[38:10] 2つ目は部品検査のシナリオです。作業者とロボットの密接な接触状況もモデル化されており、シミュレーションおよびロボットデータと非常に良く同期しているため、4つの要素すべてが接地しているデータを再生できます。よく外観と、人物が画像の一部と重なっている場合でも、セグメンテーションが非常にうまく機能していることがわかります。

[38:41]このデータパイプラインの価値は、一度限りのデータセットを構築することだけに限定されません。また、他の多くの工業用地にも拡張・複製することが可能である。

Unity Perceptionパッケージによるドメインランダム化

[39:15]先ほどお見せしたのは、一度限りのデータセットというよりは、データを継続的に拡張できる生成型データパイプラインです。Unity Perceptionパッケージをベースに、ドメインランダム化モデルを構築し、照明、マテリアル、カメラなどのパラメーター範囲とサンプリングルールを定義することで、正確に調整されたベースラインを中心に現実的なバリエーションを生成できるようにしました。

システムサマリーと終了

[39:39]この図で全てを要約できると思います。これがシステム全体の構造体です。左側には、ターゲット物、人間の動き、ロボットの軌跡などが表示されます。これらはいつでも交換可能な入力要素であり、中央部分はコアとなる部分である。

[39:53]実際のサイトでの測定値を使用してベースラインを設定する地上モデル、タスクごとにエラーを修正する較正モデル、そして右側には、マルチモーダルなグラウンドトゥルースデータを自動的に抽出するモデル、生成モデルがあります。これらが私たちが建てた3つです。

私たちは、実際のテストベッドに基づいてツインを作成し、キータスクの違いを調整し、同期されたデータを生成するまでの一連のプロセスを示しました。

[40:29]今日お見せしたデータはHRCでしたが、実際には、パイプラインの設計原理を証明するためのアプリケーションとして提示しました。ロボットとヒューマノイドが共存するAIファクトリーの時代が到来するにあたり、当社のパイプラインはシミュレーションおよびデータレイヤーとして機能すると考えています。

テスト環境を提供し、実験を共に実施してくれたKTLロボット試験認証センター、そして開始から私たちを支え、全面的に支援してくれたUnity Technologiesに感謝いたします。