(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-13
(45)【発行日】2023-03-22
(54)【発明の名称】ナビゲーションガイドを生成するための方法および装置
(51)【国際特許分類】
G06T 19/00 20110101AFI20230314BHJP
【FI】
G06T19/00 600
(21)【出願番号】P 2020529350
(86)(22)【出願日】2018-12-10
(86)【国際出願番号】 CN2018120076
(87)【国際公開番号】W WO2019114653
(87)【国際公開日】2019-06-20
【審査請求日】2021-09-30
(31)【優先権主張番号】201711353151.5
(32)【優先日】2017-12-15
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】510330264
【氏名又は名称】アリババ・グループ・ホールディング・リミテッド
【氏名又は名称原語表記】ALIBABA GROUP HOLDING LIMITED
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】ウー、シャオドン
【審査官】村松 貴士
(56)【参考文献】
【文献】特開2011-239361(JP,A)
【文献】特開2015-178984(JP,A)
【文献】特開2001-109896(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G06T 15/00 - 19/20
H04N 5/222 - 5/28
(57)【特許請求の範囲】
【請求項1】
それぞれのプロダクトモデルを有する識別される被写体に対応する点群データベースを取得する段階と、
前記点群データベースに少なくとも部分的に基づいて目標ナビゲーション位置を決定する段階と、
前記プロダクトモデルのスクリーンショットに関連付けられたデータを取得する段階であって、前記スクリーンショットは、前記目標ナビゲーション位置に少なくとも部分的に基づいてキャプチャされる、段階と、
前記スクリーンショットに関連付けられた前記データに少なくとも部分的に基づいて、前記被写体用のナビゲーションガイドを生成する段階と
を備える方法。
【請求項2】
識別される前記被写体の前記目標ナビゲーション位置を決定する前記段階は、
前記点群データベースから初期化角を取得する段階と、
モバイルデバイスのカメラの前記目標ナビゲーション位置として前記初期化角を指定する段階と
を有する、
請求項1に記載の方法。
【請求項3】
前記プロダクトモデルの前記スクリーンショットに関連付けられたデータを取得する前記段階は、
識別される前記被写体の前記プロダクトモデルを前記目標ナビゲーション位置に基づいて調整する段階と、
調整された前記プロダクトモデルの前記スクリーンショットに関連付けられた前記データを取得する段階と
を有する、
請求項1または2に記載の方法。
【請求項4】
前記スクリーンショットに関連付けられた前記データに基づいて、前記被写体用の前記ナビゲーションガイドを生成する前記段階は、
前記スクリーンショットに関連付けられた前記データからエッジデータを抽出する段階と、
前記エッジデータに基づいて、前記スクリーンショットに関連付けられた前記データのエッジ色および背景色のうちの1または複数を調整する段階と、
調整された前記スクリーンショットに関連付けられた前記データに基づいて、識別される前記被写体のプロファイルダイアグラムを抽出する段階と、
識別される前記被写体用の前記ナビゲーションガイドとして前記プロファイルダイアグラムを指定する段階と
を有する、
請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記スクリーンショットに関連付けられた前記データからエッジデータを抽出する前記段階の後に、前記エッジデータに対して周波数フィルタリングおよび色補正のうちの1または複数を実行する段階をさらに備える、請求項4に記載の方法。
【請求項6】
前記スクリーンショットに関連付けられた前記データに基づいて、前記被写体用の前記ナビゲーションガイドを生成する前記段階の後に、拡張現実(AR)アプリケーションを起動する場合、予め構成されたサービスページをロードする段階であって、前記サービスページは、識別される前記被写体用の前記ナビゲーションガイドを含む、段階と、
識別される前記被写体をスキャンするようカメラの動きを制御して、ビデオデータを取得する段階と
をさらに備える、請求項1から5のいずれか一項に記載の方法。
【請求項7】
識別される前記被写体をスキャンするよう前記カメラの前記動きを制御して、前記ビデオデータを取得する前記段階の後に、ユーザが、前記ナビゲーションガイドに基づいて、識別される前記被写体に前記カメラを位置合わせした場合、コンテンツ素材ライブラリからコンテンツ素材データを取得する段階と、
前記ビデオデータ内の画像データを前記点群データベースとマッチングして、3次元行列(3D行列)を取得する段階と、
前記3D行列に基づいて、前記プロダクトモデルに関連する前記コンテンツ素材データおよび前記画像データとインタラクトして、識別される前記被写体を前記ユーザに対して表示する段階であって、前記コンテンツ素材データは、アニメーションデータ、テクスチャデータおよび他のアノテーションデータのうちの1または複数を含む、段階と
をさらに備える、請求項6に記載の方法。
【請求項8】
コンピュータに、
それぞれのプロダクトモデルを有する識別される被写体に対応する点群データベースを取得する手順と、
前記点群データベースに少なくとも部分的に基づいて目標ナビゲーション位置を決定する手順と、
前記プロダクトモデルのスクリーンショットに関連付けられたデータを取得する手順であって、前記スクリーンショットは、前記目標ナビゲーション位置に少なくとも部分的に基づいてキャプチャされる、手順と、
前記スクリーンショットに関連付けられた前記データに少なくとも部分的に基づいて、前記被写体用のナビゲーションガイドを生成する手順と
を実行させるためのプログラム。
【請求項9】
識別される前記被写体の前記目標ナビゲーション位置を決定する前記手順は、
前記点群データベースから初期化角を取得する手順と、
モバイルデバイスのカメラの前記目標ナビゲーション位置として前記初期化角を指定する手順と
を有する、
請求項8に記載のプログラム。
【請求項10】
前記プロダクトモデルの前記スクリーンショットに関連付けられたデータを取得する前記手順は、
識別される前記被写体の前記プロダクトモデルを前記目標ナビゲーション位置に基づいて調整する手順と、
調整された前記プロダクトモデルの前記スクリーンショットに関連付けられた前記データを取得する手順と
を有する、
請求項8または9に記載のプログラム。
【請求項11】
前記スクリーンショットに関連付けられた前記データに基づいて、前記被写体用の前記ナビゲーションガイドを生成する前記手順は、
前記スクリーンショットに関連付けられた前記データからエッジデータを抽出する手順と、
前記エッジデータに基づいて、前記スクリーンショットに関連付けられた前記データのエッジ色および背景色のうちの1または複数を調整する手順と、
調整された前記スクリーンショットに関連付けられた前記データに基づいて、識別される前記被写体のプロファイルダイアグラムを抽出する手順と、
識別される前記被写体用の前記ナビゲーションガイドとして前記プロファイルダイアグラムを指定する手順と
を有する、
請求項8から10のいずれか一項に記載のプログラム。
【請求項12】
前記スクリーンショットに関連付けられた前記データからエッジデータを抽出する前記手順の後に、前記エッジデータに対して周波数フィルタリングおよび色補正のうちの1または複数を実行する手順
をさらに備える、請求項11に記載のプログラム。
【請求項13】
前記スクリーンショットに関連付けられた前記データに基づいて、前記被写体用の前記ナビゲーションガイドを生成する前記手順の後に、拡張現実(AR)アプリケーションを起動する場合、予め構成されたサービスページをロードする手順であって、前記サービスページは、識別される前記被写体用の前記ナビゲーションガイドを含む、手順と、
識別される前記被写体をスキャンするようカメラの動きを制御して、ビデオデータを取得する手順と
をさらに備える、請求項8から12のいずれか一項に記載のプログラム。
【請求項14】
識別される前記被写体をスキャンするよう前記カメラの前記動きを制御して、前記ビデオデータを取得する前記手順の後に、ユーザが、前記ナビゲーションガイドに基づいて、識別される前記被写体に前記カメラを位置合わせした場合、コンテンツ素材ライブラリからコンテンツ素材データを取得する手順と、
前記ビデオデータ内の画像データを前記点群データベースとマッチングして、3次元行列(3D行列)を取得する手順と、
前記3D行列に基づいて、前記プロダクトモデルに関連する前記コンテンツ素材データおよび前記画像データとインタラクトして、識別される前記被写体を前記ユーザに対して表示する手順であって、前記コンテンツ素材データは、アニメーションデータ、テクスチャデータおよび他のアノテーションデータのうちの1または複数を含む、手順と
をさらに備える、請求項13に記載のプログラム。
【請求項15】
プロセッサと、
前記プロセッサによる実行のためにプログラム
を記憶するための記憶媒体と
を備える装置であって、
前記プログラム
は、前記プロセッサに、
それぞれのプロダクトモデルを有する識別される被写体に対応する点群データベースを取得するオペレーションと、
前記点群データベースに少なくとも部分的に基づいて目標ナビゲーション位置を決定するオペレーションと、
前記プロダクトモデルのスクリーンショットに関連付けられたデータを取得するオペレーションであって、前記スクリーンショットは、前記目標ナビゲーション位置に少なくとも部分的に基づいてキャプチャされる、オペレーションと、
前記スクリーンショットに関連付けられた前記データに少なくとも部分的に基づいて、前記被写体用のナビゲーションガイドを生成するオペレーションと
を実行させる、
装置。
【請求項16】
識別される前記被写体の前記目標ナビゲーション位置を決定する前記オペレーションは、
前記点群データベースから初期化角を取得するオペレーションと、
モバイルデバイスのカメラの前記目標ナビゲーション位置として前記初期化角を指定するオペレーションと
を有する、
請求項15に記載の装置。
【請求項17】
前記プロダクトモデルの前記スクリーンショットに関連付けられたデータを取得する前記オペレーションは、
識別される前記被写体の前記プロダクトモデルを前記目標ナビゲーション位置に基づいて調整するオペレーションと、
調整された前記プロダクトモデルの前記スクリーンショットに関連付けられた前記データを取得するオペレーションと
を有する、
請求項15または16に記載の装置。
【請求項18】
前記スクリーンショットに関連付けられた前記データに基づいて、前記被写体用の前記ナビゲーションガイドを生成する前記オペレーションは、
前記スクリーンショットに関連付けられた前記データからエッジデータを抽出するオペレーションと、
前記エッジデータに基づいて、前記スクリーンショットに関連付けられた前記データのエッジ色および背景色のうちの1または複数を調整するオペレーションと、
調整された前記スクリーンショットに関連付けられた前記データに基づいて、識別される前記被写体のプロファイルダイアグラムを抽出するオペレーションと、
識別される前記被写体用の前記ナビゲーションガイドとして前記プロファイルダイアグラムを指定するオペレーションと
を有する、
請求項15から17のいずれか一項に記載の装置。
【請求項19】
前記オペレーションは、前記スクリーンショットに関連付けられた前記データからエッジデータを抽出する前記オペレーションの後に、前記エッジデータに対して周波数フィルタリングおよび色補正のうちの1または複数を実行するオペレーションをさらに含む、請求項18に記載の装置。
【請求項20】
前記オペレーションは、
前記スクリーンショットに関連付けられた前記データに基づいて、前記被写体用の前記ナビゲーションガイドを生成する前記オペレーションの後に、拡張現実(AR)アプリケーションを起動する場合、予め構成されたサービスページをロードするオペレーションであって、前記サービスページは、識別される前記被写体用の前記ナビゲーションガイドを含む、オペレーションと、
識別される前記被写体をスキャンするようカメラの動きを制御して、ビデオデータを取得するオペレーションと
をさらに含む、
請求項15から19のいずれか一項に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本願は、2018年12月10日に出願された国際出願番号PCT/CN2018/120076の国内段階移行であり、2017年12月15日に出願された中国特許出願第201711353151.5号の優先権を主張する。これらの出願の両方とも、参照により、全体が本明細書に組み込まれる。
【0002】
本開示は、拡張現実(AR)技術分野に関し、特に、ナビゲーションガイドを生成するための方法および装置に関する。
【背景技術】
【0003】
ARは、撮像デバイス(例えば、カメラ)により撮像された画像の位置および角度をリアルタイムで計算し、対応する画像、ビデオ、3次元(3D)モデル等を拡張するための技術である。この技術の応用の1つが、インタラクションのためにスクリーン上で仮想被写体を実世界被写体にスーパーインポーズすることである。ポータブル電子製品およびウェアラブル電子製品のプロセッサの計算能力が向上するにつれ、AR技術の応用は、より幅広い分野を包含するものと期待されている。
【0004】
現在、ARアプリケーションを用いる場合、実世界被写体のオフラインでのスキャンには、実世界被写体に対して位置合わせされたカメラで当該実世界被写体の画像を撮像するようユーザをガイドするように、ガイドが必要とされる。しかしながら、点群の記録中は通常、初期化角に基づいてガイドが生成される。実世界被写体を撮像するためにユーザによりカメラが用いられる角度が初期化角とは異なる場合、ガイドを修正するには手動での介入が必要とされ、大量の手作業を伴うので、修正が遅くなってしまう。
【発明の概要】
【0005】
本開示の実施形態は、ナビゲーションガイドを生成して上述の課題に対処するための改良された方法および装置を提供する。
【0006】
一実施形態において、本開示は、ナビゲーションガイドを生成するための方法を提供する。方法は、それぞれのプロダクトモデルを有する識別される被写体に対応する点群データベースを取得する段階と、点群データベースに基づいて目標ナビゲーション位置を決定する段階と、プロダクトモデルのスクリーンショットに関連付けられたデータを取得する段階であって、スクリーンショットは、目標ナビゲーション位置に基づいてキャプチャされる、段階と、スクリーンショットに関連付けられたデータに基づいて、被写体用のナビゲーションガイドを生成する段階とを備える。
【0007】
一実施形態において、識別される被写体の目標ナビゲーション位置を点群データベースに基づいて決定する段階は、点群データベースから初期化角を取得する段階と、モバイルデバイスのカメラの目標ナビゲーション位置として初期化角を指定する段階とを有する。
【0008】
一実施形態において、プロダクトモデルの、目標ナビゲーション位置に基づいてキャプチャされるスクリーンショットに関連付けられたデータを取得する段階は、識別される被写体のプロダクトモデルを目標ナビゲーション位置に基づいて調整する段階と、調整されたプロダクトモデルのスクリーンショットに関連付けられたデータを取得する段階とを有する。
【0009】
一実施形態において、スクリーンショットに関連付けられたデータに基づいて、識別される被写体用のナビゲーションガイドを生成するオペレーションは、スクリーンショットに関連付けられたデータからエッジデータを抽出するオペレーションと、エッジデータに基づいて、スクリーンショットに関連付けられたデータのエッジ色および背景色のうちの1または複数を調整するオペレーションと、調整されたスクリーンショットに関連付けられた調整済みのデータに基づいて、識別される被写体のプロファイルダイアグラムを抽出するオペレーションと、識別される被写体用のナビゲーションガイドとしてプロファイルダイアグラムを指定するオペレーションとを有する。
【0010】
一実施形態において、スクリーンショットに関連付けられたデータからエッジデータを抽出する段階の後に、方法は、エッジデータに対して周波数フィルタリングおよび色補正のうちの1または複数を実行する段階をさらに備える。
【0011】
一実施形態において、スクリーンショットに関連付けられたデータに基づいて、識別される被写体用のナビゲーションガイドを生成する段階の後に、方法は、ARアプリケーションを起動する場合、予め構成されたサービスページをロードする段階であって、サービスページは、識別される被写体用のナビゲーションガイドを含む、段階と、識別される被写体をスキャンするようカメラの動きを制御して、ビデオデータを取得する段階とをさらに備える。
【0012】
一実施形態において、識別される被写体をスキャンするようカメラの動きを制御して、ビデオデータを取得する手順の後に、方法は、ユーザが、ナビゲーションガイドに基づいて、識別される被写体にカメラを位置合わせした場合、コンテンツ素材ライブラリからコンテンツ素材データを取得する手順と、ビデオデータ内の画像データを点群データベースとマッチングして、3次元行列を取得する手順と、3次元行列に基づいて、プロダクトモデルに関連するコンテンツ素材データおよび画像データとインタラクトして、識別される被写体をユーザに対して表示する手順であって、コンテンツ素材データは、アニメーションデータ、テクスチャデータおよび他のアノテーションデータのうちの1または複数を含む、手順とをさらに備える。
【0013】
一実施形態において、本開示は、点群データベースを生成するための方法を提供する。方法は、識別される被写体のプロダクトモデルを取得する段階と、プロダクトモデルを初期化角で記録して、初期化角に関連付けられた点群データを取得する段階と、プロダクトモデルを複数の記録角で記録して、複数の記録角に関連付けられた点群データを取得する段階と、初期化角、初期化角に関連付けられた点群データならびに複数の記録角および点群データベース内の複数の記録角に関連付けられた点群データを記憶する段階とを備える。
【0014】
一実施形態において、本開示は、ナビゲーションガイドを生成するための装置を提供する。装置は、それぞれのプロダクトモデルを有する識別される被写体に対応する点群データベースを取得するように構成された点群データベース取得モジュールと、点群データベースに基づいて目標ナビゲーション位置を決定するように構成された目標ナビゲーション位置決定モジュールと、プロダクトモデルの、目標ナビゲーション位置に基づいてキャプチャされたスクリーンショットに関連付けられたデータを取得するように構成されたスクリーンショットデータ取得モジュールと、スクリーンショットに関連付けられたデータに基づいて、識別される被写体用のナビゲーションガイドを生成するように構成されたナビゲーションガイド生成モジュールとを備える。
【0015】
一実施形態において、目標ナビゲーション位置決定モジュールは、点群データベースから初期化角を取得するように構成された初期化角取得サブモジュールと、モバイルデバイスのカメラの目標ナビゲーション位置として初期化角を指定するように構成された目標ナビゲーション位置指定サブモジュールとを含む。
【0016】
一実施形態において、スクリーンショットデータ取得モジュールは、識別される被写体のプロダクトモデルを目標ナビゲーション位置に基づいて調整するように構成されたプロダクトモデル調整サブモジュールと、調整されたプロダクトモデルのスクリーンショットに関連付けられたデータを取得するように構成されたスクリーンショットデータ取得サブモジュールとを有する。
【0017】
一実施形態において、ナビゲーションガイド生成モジュールは、スクリーンショットに関連付けられたデータからエッジデータを抽出するように構成されたエッジデータ抽出サブモジュールと、スクリーンショットに関連付けられデータのエッジ色および背景色のうちの1または複数をエッジデータに基づいて調整するように構成されたスクリーンショットデータ調整サブモジュールと、スクリーンショットに関連付けられた調整済みのデータに基づいて、識別される被写体のプロファイルダイアグラムを抽出するように構成されたプロファイル抽出サブモジュールと、識別される被写体用のナビゲーションガイドとしてプロファイルダイアグラムを指定するように構成されたナビゲーションガイド指定サブモジュールとを備える。
【0018】
一実施形態において、装置は、エッジデータに対して周波数フィルタリングおよび色補正のうちの1または複数を実行するように構成されたデータ処理サブモジュールをさらに備える。
【0019】
一実施形態において、装置は、ARアプリケーションを起動する場合、識別される被写体用のナビゲーションガイドを含む予め構成されたサービスページをロードするように構成されたサービスページロードモジュールと、識別される被写体をスキャンするようカメラの動を制御して、ビデオデータを取得するように構成されたビデオデータ取得モジュールとをさらに備える。
【0020】
一実施形態において、ビデオデータは画像データを含み、装置は、ユーザが、ナビゲーションガイドに基づいて、識別される被写体にカメラを位置合わせした場合、コンテンツ素材ライブラリからコンテンツ素材データを取得するように構成されたコンテンツ素材データ取得モジュールと、ビデオデータ内の画像データを点群データベースとマッチングして、3次元行列を取得するための3次元行列取得モジュールと、3次元行列に基づいて、プロダクトモデルに対してコンテンツ素材データおよび画像データとインタラクトして、識別される被写体をユーザに対して表示するための被写体表示モジュールとをさらに備える。コンテンツ素材データは、アニメーションデータ、テクスチャデータおよび他のアノテーションデータのうちの1または複数を含む。
【0021】
一実施形態において、本開示は、点群データベースを生成するための装置を提供する。装置は、識別される被写体用のプロダクトモデルを取得するためのプロダクトモデル取得モジュールと、プロダクトモデルを初期化角で記録して、初期化角に関連付けられた点群データを取得するための第1の点群データ取得モジュールと、プロダクトモデルを複数の記録角で記録して、複数の記録角に関連付けられた点群データを取得するための第2の点群データ取得モジュールと、初期化角および初期化角に関連付けられた点群データならびに複数の記録角および複数の記録角に関連付けられた点群データを点群データベースに記憶するための点群データ記憶モジュールとを備える。
【0022】
一実施形態において、本開示は、装置を提供する。装置は、1または複数のプロセッサと、1または複数のプロセッサにより実行された場合、上述の方法を実行するよう装置に命令する命令を記憶した1または複数のコンピュータ可読媒体とを備える。
【0023】
一実施形態において、本開示は、1または複数のプロセッサにより実行された場合、上述の方法を実行するよう装置に命令する命令を記憶した1または複数のコンピュータ可読媒体を提供する。
【0024】
本開示の実施形態には、以下の利点がある。
【0025】
本開示の実施形態は、ナビゲーションガイドを生成するための方法を提供する。具多的には、ARアプリケーションが起動された場合、識別される被写体について予め構成された点群データベースが取得される。点群データベースに基づいて、初期目標ナビゲーション位置が決定される。目標ナビゲーション位置に基づいて、プロダクトモデルのスクリーンショットに関連付けられたデータが取得される。その後、識別される被写体にカメラを位置合わせするようユーザをガイドするためのナビゲーションガイドが、スクリーンショットに関連付けられたデータに基づいて生成される。結果として、ナビゲーションガイドは、点群データベースに基づいて迅速に生成される。これにより、ユーザは、ナビゲーションガイドに依拠して、識別される被写体をより正確にスキャンし、次に、そのような被写体をARシステムに表示させることができる。そのように、改良された処理は、ガイドの手動での修正を伴わないので、手作業が必要にならず、高処理速度のままである。
【図面の簡単な説明】
【0026】
【
図1】本開示のいくつかの実施形態によるナビゲーションガイドを生成するための方法を示すフロー図である。
【0027】
【
図2】本開示のいくつかの実施形態によるナビゲーションガイドを示す概略図である。
【0028】
【
図3A】本開示のいくつかの実施形態によるARナビゲーションを起動するための処理を示すフロー図である。
【
図3B】本開示のいくつかの実施形態によるARナビゲーションを起動するための処理を示すフロー図である。
【0029】
【
図4】本開示のいくつかの実施形態によるナビゲーションガイドを生成するための処理を示すフロー図である。
【0030】
【
図5】本開示のいくつかの実施形態による3次元行列を計算するための処理を示すフロー図である。
【0031】
【
図6】本開示のいくつかの実施形態による点群データベースを生成するための方法を示すフロー図である。
【0032】
【
図7】本開示のいくつかの実施形態によるナビゲーションガイドを生成するための装置を示すブロック図である。
【0033】
【
図8】本開示のいくつかの実施形態による点群データベースを生成するための装置を示すブロック図である。
【0034】
【
図9】本開示のいくつかの実施形態によるナビゲーションガイドを生成するためのシステムを示すブロック図である。
【発明を実施するための形態】
【0035】
本開示により提供される上述の目的、特徴および利点の完全な理解を容易にするために、多くの具体的な詳細を以下に記載することで、本開示を添付図面、いくつかの例示的な特定の実施形態および実装との組み合わせで説明する。
【0036】
図1は、本開示の実施形態によるナビゲーションガイドを生成するための方法を示すフロー図である。
図1に示すように、ナビゲーションガイドを生成するための方法は、以下の段階を含む。
【0037】
段階101:それぞれのプロダクトモデルを有する識別される被写体に対応する点群データベースを取得する。
【0038】
いくつかの実施形態において、点群データベースは、識別される被写体について前もって記録され、それぞれのプロダクトモデルも、識別される被写体を示すために前もって設計される。一実施形態において、プロダクトモデルは、設計者により作成される。他の実施形態において、プロダクトモデルは、3Dスキャンデバイスを用いたスキャンにより取得される。
【0039】
段階102:目標ナビゲーション位置を点群データベースに基づいて決定する。
【0040】
様々な実施形態によれば、ナビゲーションガイドは、ユーザがより速く目標ナビゲーション位置に位置合わせして、識別される被写体を表示できるように、点群データベースを用いてより速い速度で生成される。
【0041】
いくつかの実施形態において、カメラが設けられたモバイルデバイスが、当該方法を実行するように構成される。点群データベースは、初期化角に基づいて記録される。この場合、識別される被写体の目標ナビゲーション位置を点群データベースに基づいて決定する段階は、点群データベースから初期化角を取得する段階と、モバイルデバイスのカメラの目標ナビゲーション位置として初期化角を指定する段階とを含む。
【0042】
本開示の実施形態は、携帯電話、タブレットコンピュータ、ノートブックコンピュータ、パームトップコンピュータ、車載端末、ウェアラブルデバイス、および、カメラが設けられているかまたはそうでなければ画像を撮像できる任意の他のデバイスを含むがこれらに限定されない、様々なモバイルデバイスに適用可能である。
【0043】
本明細書において用いるように、識別される被写体は、モバイルデバイスのカメラが位置合わせする実世界被写体を指す。実世界被写体は、例えば、浄水器、食器洗い機および他のスマート機器を含み得る。いくつかのシナリオにおいて、ARアプリケーションを起動する場合、ユーザがカメラをオンにすると、カメラが、識別される被写体のスキャンを開始して、ビデオデータを取得する。他のシナリオでは、ARアプリケーションは、カメラがオンにされた後に、ユーザにより起動される。
【0044】
いくつかの実施形態において、点群データベースは、対応する点群データを取得するために、設定された初期化角に基づいて、識別される被写体と位置合わせすることにより、記録される。加えて、識別される被写体は、異なる角度で撮像された点群データを取得するために、さらに、初期化角での回転方式で記録される。いくつかの実施形態において、初期化角は、点群データベースから取得され、カメラの目標ナビゲーション位置として用いられる。
【0045】
段階103:プロダクトモデルの、目標ナビゲーション位置に基づいてキャプチャされたスクリーンショットに関連付けられたデータを取得する。
【0046】
実装において、プロダクトモデルは3Dモデルである。いくつかの実施形態において、3Dモデルの2Dスクリーンショットに関連付けられたデータが取得される。当該スクリーンショットに関連付けられたデータは、当該モデルに関連付けられたものを除いて、他の干渉部分/被写体を有しない。
【0047】
いくつかの実施形態において、段階103は、以下のサブ段階を含む。
【0048】
サブ段階S11:識別される被写体のプロダクトモデルを目標ナビゲーション位置に基づいて調整する。
【0049】
サブ段階S12:調整されたプロダクトモデルのスクリーンショットに関連付けられたデータを取得する。
【0050】
いくつかの実施形態において、初期化角は、点群データベースから取得され、これに基づいて、プロダクトモデルは、当該モデルの位置/向きが点群データベースに記録されたものと合致する方向になるように調整される。その後、プロダクトモデルのスクリーンショットがこの方向で取得され、スクリーンショットに関連付けられたデータも取得される。このように、被写体がAR環境において識別された後、プロダクトモデルは、ナビゲーション命令に応じて、被写体とうまくマッチングされる。
【0051】
本明細書において用いるように、AR環境における被写体の識別は、被写体の位置および向きをリアルタイムで計算し、後のステージにおいて仮想被写体をインタラクションで実世界被写体と位置合わせする技術を指す。いくつかの実装において、これらの技術を用いることにより、プロダクトモデルが、カメラの動きを通じてでさえ、識別される被写体に対して調整可能にcアライメントされる(例えば、オーバーレイが調整可能に維持される)ように、識別される被写体とプロダクトモデルとの間の後のステージにおけるインタラクションが実現される。
【0052】
段階104:スクリーンショットに関連付けられたデータに基づいて、被写体用のナビゲーションガイドを生成する。
【0053】
いくつかの実施形態において、ナビゲーションガイドは、点群データベースに記録された角度であり得る、ユーザがカメラを配置することを期待される位置へカメラを調整するようユーザをガイドするために用いられる。
【0054】
一実施形態において、段階104は、以下のサブ段階を含む。
【0055】
サブ段階S21:スクリーンショットに関連付けられたデータからエッジデータを抽出する。
【0056】
サブ段階S22:スクリーンショットに関連付けられたデータのエッジ色および背景色をエッジデータに基づいて調整する。
【0057】
サブ段階S23:スクリーンショットに関連付けられた調整済みのデータに基づいて、識別される被写体のプロファイルダイアグラムを抽出する。
【0058】
サブ段階S24:識別される被写体用のナビゲーションガイドとしてプロファイルダイアグラムを指定する。
【0059】
いくつかの実施形態において、スクリーンショットに関連付けられたデータを取得した後に、スクリーンショットに関連付けられたデータからエッジデータ(例えば、画像中のエッジ)を抽出するために、エッジ検出アルゴリズム(例えば、Sobelアルゴリズム)が適用される。一例において、スクリーンショットに関連付けられたデータは、取得された後に、エッジデータを抽出するために、Sobel演算子に直接入力される。抽出されたエッジデータに基づいて、スクリーンショットに関連付けられたデータのエッジ色および背景色のうちの1または複数が、対応する次元を有するプロファイルダイアグラムを生成するために指定される。この相対的なサイズのプロファイルダイアグラムは、ナビゲーションガイドとして指定される。
図2に示すように、ナビゲーションガイド200の例が、実世界被写体250の状況で示される。
【0060】
Sobelアルゴリズムを用いて取得されたエッジデータは、画像の最も基本的な特徴をキャプチャするので、例えば、コンピュータビジョン、画像処理等の用途において重要な役割を果たす。さらに、画像中のエッジ情報は、コンテンツ認識のための有用な情報を有しており、画像処理およびパターン認識における特徴抽出のための主なメカニズムを提供する。
【0061】
一実装において、画像のサイズは、例えばフロントエンドアプリケーション(例えば、ウェブブラウザ)により提供される機能(例えば、HTML規格により定義されるCanvas API)を用いて指定される。一例において、幅の指定された値と高さの指定された値とを用いて、これらの指定された幅および高さの画像を取得するために、Canvas.toDataUrl()という機能が呼び出される。次元が指定された画像を、Canvas APIを用いて生成するための処理(例えば、疑似コード)を以下に示す。
1)画素で表される色データから、sobelData.push (255, 255, 255, 255)を介して情報を抽出する。
2)ブラウザの以下のCanvas要素を用いて、画素情報のそのようなアレイをレンダリングする。
var context=canvas.getContext('2d');
var imageData=context.createImageData(width, height);
imageData.data.set(data);//画素情報をデータアレイに割り当てる。
3)canvasの上述の幅および高さが指定される。
4)canvas.toDataUrl()のコールを介して、当該画像が直接生成される。
【0062】
対応する画像サイズを取得するための上述の態様は、例示に過ぎず、限定的なものではない。次元が指定された画像を生成するための他の適切な技術は、限定なしに、本明細書において適用可能である。
【0063】
いくつかの実施形態において、サブ段階S21の後、段階104は、以下の段階をさらに含む。
【0064】
サブ段階S25:エッジデータに対して周波数フィルタリングおよび色補正の一方または両方を実行する。
【0065】
一実施形態において、抽出されたエッジデータに対して周波数フィルタリングおよび/または色補正が実行されると、白色のワイヤフレームまたは他の色のワイヤフレームが生成される。実装において、適用される周波数上の制約(例えば、カットオフ周波数)が原因で、周波数が高ければ高いほど、ワイヤフレームはより概略的なものになる。逆に、周波数が低ければ低いほど、ワイヤフレームは、より多くのノイズデータを含む、より詳細なものになる。一例において、これは、エッジの厚さを強調しつつ、単一色のテクスチャを3Dモデルに加えることにより、達成される。
【0066】
一例において、エッジデータへの周波数フィルタリングおよび色補正の適用には、以下に疑似コードが示される条件付きの決定のみが必要とされる。
var magnitude = Math.sqrt((pixelX × pixelX) + (pixelY × pixelY));
if(magnitude × 3 > 200){
sobelData.push (255, 255, 255, 255);
}
else{
sobelData.push(magnitude, magnitude, magnitude, 0);
}
【0067】
ここで、pixelXおよびpixelYは、それぞれ横方向のエッジ検出および縦方向のエッジ検出の対象となる画像を表す。MagnitudeはG勾配を表し、200は閾値である。閾値が大きければ大きいほど、フィルタリングが粗くなり、ノイズ箇所がより多くなる。逆に、閾値が小さければ小さいほど、ノイズ箇所が少なくなる。255, 255, 255, 255, アルファは、赤、緑、青の色空間と、アルファ値(例えば、透明)とをそれぞれ表す。値[255, 255, 255, 255]のセットは、白色不透明、例えば、所望の白色ワイヤフレームを表す。
【0068】
sobelData.push(255, 255, 255, 255)によりプッシュされるアレイは、要素が赤、緑、青および透明をそれぞれ表す混色器である。そのように、対応する値の指定を介して、所望の色のワイヤフレームが取得される。
【0069】
図3Aから
図3Bは、本開示の実施形態によるARナビゲーションを起動するための処理を示すフロー図である。本明細書における
図3Aに示すように、モバイルデバイス(例えば、クライアントデバイス)のフロントエンドのARアプリケーションが、クライアント識別モード300で始まるように構成される。この例では、モバイルデバイスのフロントエンドは、カメラレンダリングおよびサービスルーティングを実装するように構成される。Hailuo Platform320が、ARコンテンツ素材ライブラリを含むように構成される。ARアプリケーションが起動された場合、クライアントデバイスのカメラは、画像データのフレームを含むビデオストリーム302(例えば、UC Browserを介したビデオストリーム)を取得するように構成される。ナビゲーションバー301が、フロントエンドの左手側にも表示される。その後、フロントエンドは、モバイルデバイスのカメラによりキャプチャされた画像データを含むMtopサービス要求303をHailuo Platform320へ送信するように構成される。応答して、Hailuo Platform320は、ジャンプリンク(例えば、アンカーリンク)を含むページ305をモバイルデバイスへ戻すように構成される。ジャンプリンクがクリックされると、ユーザは、起動されたカメラへのアクセスとプロダクトモデルとを含むページへナビゲートされる。フロントエンドデバイスは、カメラにより取得されるビデオストリームをレンダリングし、次に、レンダリング結果を表示のためにモバイルデバイスのディスプレイ(例えば、スクリーン)へ送信するように構成される。
【0070】
本明細書に示すように、ひとたびユーザがジャンプリンクをクリックし、パス330に沿ってプッシュページへナビゲートされると、ARアプリケーションは、連続的に追跡モードとなる。このことは、ナビゲーションバー301がもはや表示されていない
図3Bに示されている。本明細書における
図3Bに示すように、モバイルデバイス(例えば、クライアントデバイス)のフロントエンドのARアプリケーションは、プッシュページへナビゲートされると連続的に追跡モード350となるように構成される。このモードでは、モバイルデバイスのフロントエンドは、前述のカメラレンダリングおよびサービスルーティングに加えて、ように構成される。
【0071】
フロントエンドは、カメラレンダリングおよびサービスルーティングに加えて、ビデオストリーム352および追跡結果(例えば、3次元行列353)に基づく処理を実行できる。この例では、点群データ390およびビデオストリーム352は、処理されたビデオストリームを取得するために、(例えば、クライアント検出器354を介して)アルゴリズム演算子340へ送信される。処理されたビデオストリームは、実世界被写体と仮想被写体との重ね合わせ(例えば、スーパーインポーズ)を実現するために、追跡結果に基づいて最終的にフロントエンドへ送信される。次に、処理されたビデオストリームは、再生用の表示のためにモバイルデバイスの端末のスクリーンへ送信される。
【0072】
それぞれパス380aおよび380bに沿って、
図3Bは、例えばアルゴリズム演算子340への入力のためにモデル情報を生成する2つの例も示す。パス380aに沿って、ライブ記録および送信を介して点群技術が用いられることで、点群データがモデル情報として生成される。この例での制限は、ライブ記録が必要とされるので、手動での介入のコストが高いことである。パス380bに沿って、iDistスキャンおよび必要な送信を介してモデルが用いられることで、被写体モデルデータがモデル情報として生成される。この例での制限は、スキャンが必要とされるので、実世界被写体が完全に表示される必要があることである。
【0073】
図4は、本開示の実施形態によるナビゲーションガイドを生成するための処理を示すフロー図である。本明細書に示すように、402において、ナビゲーションガイドを生成するために、当該処理が始まる。まず、405において、設計者により設計されたプロダクトモデルが取得され、404において、点群に関連付けられた初期化位置(例えば、角度)が点群データベースから取得され、プロダクトモデルが、点群データベースに記録された初期化角に基づいて調整される。次に、プロダクトモデルが調整された後に、408において、プロダクトモデルを3Dフォーマットから2Dフォーマットへ変換するスクリーンショット412が、当該スクリーンショットに関連付けられたデータを生成するために取得される。410において、プロファイルダイアグラム413が、スクリーンショットに関連付けられたデータに基づいて取得され、ナビゲーションガイドとして指定される。ナビゲーションガイドを用いて、識別される被写体をスキャンするために、点群データベースに記憶された角度/向きへとカメラの向きを変えるよう、ユーザがガイドされる。
【0074】
一実施形態において、スクリーンショットに関連付けられたデータに基づいて、識別される被写体用のナビゲーションガイドを生成した後に、当該処理は、ARアプリケーションを起動する場合には、識別される被写体用のナビゲーションガイドを含む予め構成されたサービスページをロードすることと、ビデオデータを取得するために、識別される被写体をスキャンするようカメラの動きを制御することとをさらに含む。
【0075】
いくつかの実施形態において、ARアプリケーションが起動されると、予め構成されたサービスページがロードされる。当該サービスページは、目標ナビゲーション位置/姿勢へとカメラの姿勢(例えば、位置、向き)を変えるようユーザをガイドすべく、識別される被写体用のナビゲーションガイドを含むように構成される。一方、カメラも、識別される被写体をスキャンするよう制御され、カメラにより識別されて撮像される被写体のビデオデータが、ARアプリケーションにおいて受信される。
【0076】
一実施形態において、ビデオデータは、画像データを含む。(例えば、
図1の段階104において)スクリーンショットと点群データベースから取得される初期化角とに関連付けられたデータに基づいて、識別される被写体用のナビゲーションガイドを生成した後に、当該処理は、ユーザが、ナビゲーションガイドに基づいて、識別される被写体にカメラを位置合わせした場合、コンテンツ素材ライブラリからARコンテンツ素材データを取得することと、ビデオデータ内の画像データを点群データベースとマッチングして3次元行列を取得することと、3次元行列に基づいて、プロダクトモデルに関連するコンテンツ素材データおよび画像データとインタラクトして、識別される被写体をユーザに対して表示することとをさらに含む。いくつかの例では、コンテンツ素材データは、アニメーション、データ、テクスチャデータおよび/または他のアノテーションデータのうちの1または複数を含む。
【0077】
様々な実施形態によれば、ひとたびナビゲーションガイドが生成されると、ユーザは、識別される被写体をナビゲーションガイドに基づいてカメラに位置合わせするよう促され得る。このように、カメラを被写体に位置合わせするためにユーザにより用いられる角度は、プロダクトモデルに関連して点群データベースに記録される初期化角と同じである。
【0078】
ひとたび識別される被写体にカメラがうまく位置合わせされると、ユーザは、アニメーション、テクスチャおよび他のアノテーションデータなどのコンテンツ素材ライブラリからコンテンツ素材を取得する。これらのコンテンツ素材は、結果として、識別される被写体をユーザに対して表示するために用いられる。
【0079】
仮想被写体と実世界被写体とのより良い相対的な位置合わせ(例えば、スーパーインポーズ)を実現すべく、ユーザがARアプリケーションを起動して、識別される被写体をスキャンした場合、点群データベースが取得される。適切なアルゴリズムを用いて、点群データベース内のデータが、(例えば、カメラの)レンズにより被写体についてフレーム毎に取得される画像データに対してマッチングされることにより、マッチングが成功すると、例えば3次元行列などの2つの変数(射影行列およびビュー行列)が生成される。
【0080】
図5は、本開示の実施形態による3D行列を計算するための処理を示すフロー図である。本明細書に示すように、ユーザのカメラは、502においてカメラ入力を取得するように構成され、その後、カメラデータ(例えば、入力ソース)504が処理のためにアルゴリズム演算子506へ伝送される。他方で、特徴箇所データ、位置データ、有理データ、カメラ較正データ等を含むデータ512が、点群データ510を生成するために用いられる(詳細は、以下の
図6に関連して説明される)。点群データ510も、2つの上述の行列508を生成するように構成されるアルゴリズム演算子506へ伝送される。
【0081】
そのように、仮想被写体を実世界被写体に対してスーパーインポーズする場合の精度を向上させるために、アルゴリズム演算子により識別および抽出される射影行列およびビュー行列に対応する情報が、仮想被写体に適用される。任意の他の適切な技術も、限定なしに、本明細書において実装のために用いられ得る。
【0082】
様々な本開示の実施形態によれば、ARアプリケーションが起動された場合、前もって識別される被写体について予め構成された点群データベースが取得される。初期目標ナビゲーション位置が、点群データベースに基づいて決定される。目標ナビゲーション位置に基づいて、プロダクトモデルのスクリーンショットに関連付けられたデータが取得される。その後、識別される被写体にカメラを位置合わせするようユーザをガイドするためのナビゲーションガイドが、スクリーンショットに関連付けられたデータに基づいて生成される。結果として、ナビゲーションガイドは、点群データベースを用いて迅速に生成される。これにより、ユーザは、ナビゲーションガイドに応答して、識別される被写体をより正確にスキャンし、次に、そのような被写体を表示することができる。このように、改良された処理は、ナビゲーションガイドの手動での修正を伴わないので、手作業が必要にならず、高処理速度のままである。
【0083】
図6は、本開示の実施形態による点群データベースを生成するための方法を示すフロー図である。本明細書に示すように、当該方法は、以下の段階を含む。
【0084】
段階201:識別される被写体に関連付けられたプロダクトモデルを取得する。
【0085】
段階202:プロダクトモデルを初期化角で記録して、初期化角に対応する点群データを取得する。
【0086】
段階203:プロダクトモデルを複数の記録角で記録して、複数の記録角に対応する点群データを取得する。
【0087】
段階204:初期化角および初期化角に対応する点群データならびに複数の記録角および複数の記録角に対応する点群データを点群データベースに記憶する。
【0088】
一例において、アルゴリズムエンジニアが、初期化中に、カメラを識別される被写体に特定の角度(例えば、初期化角)で位置合わせする。この時点で、識別される被写体の特徴箇所に関連付けられた点群データと、初期化角との両方が記録される。次に、アルゴリズムエンジニアは、識別される被写体を中心としてカメラを回転させて、被写体の特徴箇所に関連付けられた点群データを異なる角度で記録する。いくつかの実装において、点群データは、3次元のエッジ情報および形状情報などのデータを含む。
【0089】
点群データが記録された後に、圧縮されたパッケージ(例えば、点群データベース)が生成される。いくつかの実施形態において、点群データベースは、上述の初期化角および記録角ならびにそれらのそれぞれの点群データを含み、射影行列およびビュー行列が、認識アルゴリズムを用いて点群データから抽出される。これら2つの行列は、仮想被写体を実世界被写体に対して適切に位置合わせするための2つの重要な変数である。
【0090】
ユーザが後にARアプリケーションを起動し、カメラをオンにして識別される被写体をスキャンした場合、圧縮されたパッケージが取得され、カメラにより撮像される(識別される)被写体に対してマッチングされる。マッチング結果は、スキャンされた被写体が識別されているかどうか、および/または、被写体について3次元行列(例えば、射影行列およびビュー行列を含む)を識別することを含む。当該行列は、ARシステムのスクリーン内での被写体の位置を復元することにより、仮想被写体が実世界被写体に対して正確に位置合わせされるようにするために用いられる。
【0091】
図示の簡潔さのために、本明細書において、実施形態が一連の動作の組み合わせとして説明されることに留意されたい。当業者であれば、いくつかの段階が、本開示の実施形態によれば、他の順序で、または同時に実行され得るので、本開示の実施形態は、動作の説明される順序により限定されないことを認識できる。さらに、当業者であれば、本明細書において説明される実施形態は例示的なものであり、説明される動作のうちのいくつかは本開示の実施形態に必ずしも必要ではないことも理解するはずである。
【0092】
図7は、本開示の実施形態によるナビゲーションガイドを生成するための装置を示すブロック図である。
図7に示すように、当該装置は、点群データベース取得モジュール(301)、目標ナビゲーション位置決定モジュール(302)、スクリーンショットデータ取得モジュール(303)およびナビゲーションガイド生成モジュール(304)を含む。
【0093】
点群データベース取得モジュール(301)は、それぞれのプロダクトモデルを有する識別される被写体に対応する点群データベースを取得するように構成される。
【0094】
目標ナビゲーション位置決定モジュール(302)は、点群データベースに基づいて目標ナビゲーション位置を決定するように構成される。
【0095】
スクリーンショットデータ取得モジュール(303)は、プロダクトモデルの、目標ナビゲーション位置に基づいてキャプチャされたスクリーンショットに関連付けられたデータを取得するように構成される。
【0096】
ナビゲーションガイド生成モジュール(304)は、スクリーンショットに関連付けられたデータに基づいて、識別される被写体用のナビゲーションガイドを生成するように構成される。
【0097】
いくつかの実施形態において、当該装置は、カメラを有するモバイルデバイスに含まれる。点群データベースは、初期化角に基づいて記録される。目標ナビゲーション位置決定モジュール(302)は、点群データベースから初期化角を取得するための初期化角取得サブモジュールと、カメラの目標ナビゲーション位置として初期化角を指定するための目標ナビゲーション位置指定サブモジュールとを含む。
【0098】
一実施形態において、スクリーンショットデータ取得モジュール(303)は、識別される被写体のプロダクトモデルを目標ナビゲーション位置に基づいて調整するためのプロダクトモデル調整サブモジュールと、調整されたプロダクトモデルのスクリーンショットに関連付けられたデータを取得するためのスクリーンショットデータ取得サブモジュールとを含む。
【0099】
一実施形態において、ナビゲーションガイド生成モジュール(304)は、スクリーンショットに関連付けられたデータからエッジデータを抽出するためのエッジデータ抽出サブモジュールと、スクリーンショットに関連付けられたデータのエッジ色および背景色をエッジデータに基づいて調整するためのスクリーンショットデータ調整サブモジュールと、スクリーンショットに関連付けられた調整済みのデータに基づいて、識別される被写体のプロファイルダイアグラムを抽出するためのプロファイルダイアグラム抽出サブモジュールと、識別される被写体用のナビゲーションガイドとしてプロファイルダイアグラムを指定するためのナビゲーションガイド指定サブモジュールとを含む。
【0100】
一実施形態において、ナビゲーションガイド生成モジュール(304)は、エッジデータに対して周波数フィルタリングおよび色補正を実行するためのデータ処理サブモジュールをさらに含む。
【0101】
一実施形態において、当該装置は、ARアプリケーションを起動すると、識別される被写体用のナビゲーションガイドを含む予め構成されたサービスページをロードするためのサービスページロードモジュールと、識別される被写体をスキャンするようカメラの動きを制御して、ビデオデータを取得するためのビデオデータ取得モジュールとをさらに含む。
【0102】
一実施形態において、ビデオデータは、画像データを含む。当該装置は、ユーザが、ナビゲーションガイドに基づいて、識別される被写体にカメラを位置合わせした場合、コンテンツ素材ライブラリからコンテンツ素材データを取得するためのコンテンツ素材データ取得モジュールと、ビデオデータ内の画像データを点群データベースとマッチングして、3次元行列を取得するための3次元行列取得モジュールと、3次元行列に基づいて、プロダクトモデルに関連するコンテンツ素材データおよび画像データとインタラクトして、識別される被写体をユーザに対して表示するための被写体表示モジュールとをさらに含む。コンテンツ素材データは、アニメーションデータ、テクスチャデータおよび他のアノテーションデータのうちの1または複数を含む。
【0103】
図8は、本開示の実施形態による点群データベースを生成するための装置を示すブロック図である。本明細書に示すように、当該装置は、プロダクトモデル取得モジュール(401)、第1の点群データ取得モジュール(402)、第2の点群データ取得モジュール(403)、点群データ記憶モジュール(404)を含む。
【0104】
プロダクトモデル取得モジュール(401)は、識別のための被写体のプロダクトモデルを取得するように構成される。
【0105】
第1の点群データ取得モジュール(402)は、プロダクトモデルを初期化角で記録して、初期化角に関連付けられた点群データを取得するように構成される。
【0106】
第2の点群データ取得モジュール(403)は、プロダクトモデルを複数の記録角で記録して、複数の記録角に関連付けられた点群データを取得するように構成される。
【0107】
点群データ記憶モジュール(404)は、初期化角および初期化角に関連付けられた点群データならびに複数の記録角および複数の記録角に関連付けられた点群データを点群データベースに記憶するように構成される。
【0108】
装置の実施形態は、上述の方法の実施形態と実質的に同様なので、ここでは説明における詳細を繰り返さない。また、方法の実施形態の説明を参照できる。
【0109】
本開示の実施形態は、任意の適切なハードウェア、ファームウェアもしくはソフトウェアまたはそれらの任意の組み合わせを用いて所望の構成および機能を実行するシステムとして実装され得る。
図9は、本開示の様々な実施形態を実装するための例示的なシステム(または装置)(1300)を示すブロック図である。
【0110】
図9に示すように、システム(1300)は、1または複数のプロセッサ(1302)と、プロセッサ(1302)に結合された少なくとも1つのシステム制御モジュール(チップセット)(1304)と、システム制御モジュール(1304)に結合されたシステムメモリ(1306)と、システム制御モジュール(1304)に結合された不揮発性メモリ(NVM)/記憶デバイス(1308)と、システム制御モジュール(1304)に結合された1または複数の入力/出力デバイス(1310)と、システム制御モジュール(1306)に結合されたネットワークインタフェース(1312)とを含む。
【0111】
プロセッサ(1302)は、1または複数のシングルコアプロセッサまたはマルチコアプロセッサを含む。プロセッサ(1302)は、汎用プロセッサまたは専用プロセッサ(例えば、グラフィックスプロセッサ、アプリケーションプロセッサまたはベースバンドプロセッサ)の任意の組み合わせを含み得る。いくつかの実施形態において、システム(1300)は、本明細書において説明するように、データプラットフォームとして用いられる。
【0112】
いくつかの実施形態において、システム(1300)は、命令を記憶した1または複数のコンピュータ可読媒体(例えば、システムメモリ(1306)またはNVM/記憶デバイス(1308))を含む。1または複数のプロセッサ(1302)は、1または複数のコンピュータ可読媒体に結合されており、上述の方法を実行するための命令を実行するように構成される。
【0113】
一実施形態において、システム制御モジュール(1304)は、プロセッサ(1302)のうちの少なくとも1つに、および/またはシステム制御モジュール(1304)と通信する任意の適切なデバイスもしくはコンポーネントに任意の適切なインタフェースを提供するための任意の適切なインタフェースコントローラを含む。
【0114】
一実施形態において、システム制御モジュール(1304)は、システムメモリ(1306)にインタフェースを提供するためのメモリコントローラモジュールを含む。メモリコントローラモジュールは、ハードウェアモジュール、ソフトウェアモジュールおよび/またはファームウェアモジュールであり得る。
【0115】
システムメモリ(1306)は、例えばシステム(1300)のためにデータおよび/または命令をロードおよび記憶するために用いられる。一実施形態では、システムメモリ(1306)は、適切なDRAMなどの任意の適切な揮発性メモリを含む。いくつかの実施形態において、システムメモリ(1306)は、ダブルデータレートタイプ4シンクロナスダイナミックランダムアクセスメモリ(DDR SDRAM)を含む。
【0116】
一実施形態において、システム制御モジュール(1304)は、NVM/記憶デバイス(1308)および入力/出力デバイス(1310)にインタフェースを提供するための1または複数の入力/出力コントローラを含む。
【0117】
例えば、NVM/記憶デバイス(1308)は、データおよび/または命令を記憶するために用いられ得る。NVM/記憶デバイス(1308)は、任意の適切な不揮発性メモリ(例えば、フラッシュメモリ)を含み得て、および/または、任意の適切な不揮発性記憶デバイス(例えば、1または複数のハードディスクドライブ(HDD)、1または複数のコンパクトディスク(CD)ドライブおよび/または1または複数のデジタル多用途ディスク(DVD)ドライブ)を含み得る。
【0118】
NVM/記憶デバイス(1308)は、システム(1300)がインストールされるデバイスの一部分を物理的に形成する記憶リソースを含むか、または、当該デバイスによりアクセス可能であり得るが、必ずしも当該デバイスの一部分ではない。例えば、NVM/記憶デバイス(1308)は、入力/出力デバイス(1310)を介してネットワーク上でアクセスされ得る。
【0119】
入力/出力デバイス(1310)は、任意の他の適切なデバイスと通信するためのインタフェースをシステム(1300)のために提供する。入力/出力デバイス(1310)は、通信コンポーネント、オーディオコンポーネント、センサコンポーネント等を含む。ネットワークインタフェース(1312)は、1または複数のネットワークを通じて通信するためのインタフェースをシステム(1300)のために提供する。システム(1300)は、1または複数の無線ネットワーク規格および/またはプロトコルのいずれかに従って、無線ネットワークの1または複数のコンポーネントと無線通信し得て、例えば、WiFi(登録商標)、2Gもしくは3Gまたはそれらの組み合わせのような通信規格に基づいて無線ネットワークにアクセスして、無線通信を実行する。
【0120】
一実施形態において、プロセッサ(1302)のうちの少なくとも1つは、システム制御モジュール(1304)の1または複数のコントローラ(例えば、メモリコントローラモジュール)のロジックと共にパッケージングされる。一実施形態において、プロセッサ(1302)のうちの少なくとも1つは、システム制御モジュール(1304)の1または複数のコントローラのロジックと共にパッケージングされて、システムインパッケージ(SiP)を形成する。一実施形態において、プロセッサ(1302)のうちの少なくとも1つは、同じダイ上で、システム制御モジュール(1304)の1または複数のコントローラのロジックと統合される。一実施形態において、プロセッサ(1302)のうちの少なくとも1つは、同じダイ上で、システム制御モジュール(1304)の1または複数のコントローラのロジックと統合されて、システムオンチップ(SoC)を形成する。
【0121】
様々な実施形態において、システム(1300)は、限定されるものではないが、ブラウザ、ワークステーション、デスクトップコンピューティングデバイスまたはモバイルコンピューティングデバイス(例えば、ラップトップコンピューティングデバイス、ハンドヘルドコンピューティングデバイス、タブレットコンピュータまたはネットブック)であり得る。様々な実施形態において、システム(1300)は、より多いかまたは少ないコンポーネントおよび/または異なるアーキテクチャを有し得る。例えば、いくつかの実施形態において、システム(1300)は、カメラ、キーボード、液晶ディスプレイ(LCD)、スクリーン(タッチスクリーンディスプレイを含む)、不揮発性メモリポート、複数のアンテナ、グラフィックスチップ、特定用途向け集積回路(ASIC)およびスピーカのうちの1または複数を含む。
【0122】
ディスプレイがタッチパネルを含む場合、ディスプレイスクリーンは、ユーザからの入力信号を受信するためのタッチスクリーンディスプレイとして実装され得る。タッチパネルは、タッチパネル上でのタッチ、スワイプおよびジェスチャを感知するための1または複数のタッチセンサを含む。タッチセンサは、タッチ動作またはスワイプ動作の境界を感知し得るだけでなく、タッチ動作またはスワイプ動作に関連する期間および圧力も検出し得る。
【0123】
一実施形態において、本開示は、1または複数のモジュール(プログラム)が記憶された不揮発性可読記憶媒体をさらに提供する。1または複数のモジュールがデバイスに適用される場合、デバイスは、本明細書において上述された方法の様々な段階における命令を実行するように構成される。
【0124】
一例において、本開示は、1または複数のプロセッサと、1または複数のプロセッサにより実行された場合、本明細書において上述された方法の様々な段階における命令を装置に実行させる命令を記憶した1または複数のコンピュータ可読媒体とを含む装置を提供する。
【0125】
本開示の様々な実施形態は、漸進的な態様で説明されており、各実施形態は、1つのものと他のものとの差異に重点を置いており、様々な実施形態の間の同じまたは同様の部分については、他の実施形態の説明を参照し得る。
【0126】
当業者は、本開示の実施形態が方法、装置またはコンピュータプログラム製品として提供され得ることに留意すべきである。従って、本開示の実施形態は、完全なハードウェアの実施形態という形式、完全なソフトウェアの実施形態という形式またはソフトウェアの態様とハードウェアの態様とを組み合わせた実施形態という形式を用い得る。さらに、本開示の実施形態は、コンピュータ利用可能プログラムコードを含む1または複数のコンピュータ利用可能記憶媒体(磁気ディスクメモリ、CD-ROM、光メモリ等を含むが、これらに限定されない)に実装されたコンピュータプログラム製品のフォーマットを使用し得る。
【0127】
典型的な構成において、コンピュータデバイスは、1または複数のプロセッサ(CPU)、入力/出力インタフェース、ネットワークインタフェースおよびメモリを含む。メモリは、非永続的メモリ、ランダムアクセスメモリ(RAM)、および/またはリードオンリメモリ(ROM)もしくはフラッシュメモリ(フラッシュRAM)などの不揮発性メモリ等の形態のコンピュータ可読媒体を含み得る。メモリは、コンピュータ可読媒体の例である。コンピュータ可読媒体は、任意の方法または技術による情報の記憶を実現できる永続的および非永続的な、移動可能および移動不可能な媒体を含む。情報は、コンピュータ可読命令、データ構造、プログラムのモジュール、または他のデータであり得る。コンピュータ記憶媒体の例は、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、他のタイプのランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、フラッシュメモリもしくは他のメモリ技術、リードオンリコンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気記憶デバイス、またはコンピューティングデバイスによりアクセス可能な情報を記憶するために用いられ得る任意の他の非伝送媒体を含むが、これらに限定されない。本明細書における定義を考慮すれば、コンピュータ可読媒体は、変調されたデータ信号および搬送波などの一時的コンピュータ可読媒体(一時的な媒体)を含まない。
【0128】
本開示の実施形態は、本開示の実施形態による方法、端末デバイス(システム)およびコンピュータプログラム製品に応じたフローチャートおよび/またはブロック図を参照して説明されている。フローチャートおよび/またはブロック図における各手順および/またはブロックならびにフローチャートおよび/またはブロック図における手順および/またはブロックの組み合わせは、コンピュータプログラム命令で実装され得ることを理解されたい。これらのコンピュータプログラム命令は、マシンを生成するために、汎用コンピュータ、専用コンピュータ、埋め込みプロセッサ、または任意の他のプログラマブルデータ処理端末デバイスのプロセッサに提供され得る。これにより、コンピュータまたは任意の他のプログラマブルデータ処理端末デバイスのプロセッサにより当該命令が実行されると、フローチャートおよび/またはブロック図中の1または複数のブロック内の1または複数の処理における指定された機能を実装するための装置が生成される。
【0129】
これらのコンピュータプログラム命令は、特定の方式で動作するようコンピュータまたは別のプログラマブルデータ処理端末デバイスに指示できるコンピュータ可読メモリにも記憶され得る。これにより、コンピュータ可読メモリに記憶された命令によって、フローチャートの1または複数のフローおよび/またはブロック図の1または複数のブロックにおける指定された機能を実装する命令手段を含む製造品が生成される。
【0130】
また、これらのコンピュータプログラム命令は、コンピュータまたは別のプログラマブルデータ処理端末デバイスにロードされ得る。これにより、コンピュータまたは別のプログラマブル端末デバイス一連の動作段階が実行されて、コンピュータ実装処理が生成される。故に、コンピュータまたは別のプログラマブル端末デバイス上で当該命令が実行されると、フローチャートの1または複数のフローおよび/またはブロック図の1または複数のブロックにおいて指定された機能を実装する段階が提供される。
【0131】
本開示の実施形態のうちの好ましい実施形態を説明した。しかしながら、当業者なら、ひとたび基本的な創造的概念が分かれば、これらの実施形態に対する他の変更および修正を行うことができる。従って、添付の特許請求の範囲は、好ましい実施形態を含むものとして解釈されるよう意図されており、全ての変更および修正は、本開示の実施形態の範囲に含まれる。
【0132】
最終的に、本書において、第1のおよび第2のなど、関係についての用語は、1つのエンティティまたはオペレーションを別のエンティティまたはオペレーションと区別するために用いられているに過ぎず、エンティティまたはオペレーションがこの実際の関係または順序を有することを必要としたり示唆したりしていないことに、さらに留意されたい。さらに、「含む」という用語、「備える」という用語またはそれらの他の変化形は、非排他的な包含を含むよう意図されている。これにより、一連の要素を含む処理、方法、物品または端末デバイスは、当該要素を含むだけでなく、明確に列挙されていない他の要素も含むか、または、さらに、当該処理、当該方法、当該物品または当該端末デバイスの固有の要素を含む。それ以上の限定がない場合において、「...を含む」により定義される要素は、当該要素を含む処理、方法、物品または端末デバイスが他の同一の要素をさらに有することを排除しない。
【0133】
本開示において提供されるナビゲーションガイドを生成するための方法および装置を上記で詳細に紹介した。本開示の原理および実装方式は、具体的な例を参照して、本明細書に記載されている。上記実施形態の説明は、本開示の方法および本質的な思想の理解を助けるものに過ぎない。当業者であれば、本開示の思想による特定の実装方式および適用範囲に対する変更を行い得る。上記を考慮すると、本説明の内容は、本開示を限定するものと解釈すべきではない。
[項目1]ナビゲーションガイドを生成するための方法であって、
対応するプロダクトモデルを有する識別用の被写体に対応する点群データベースを取得する段階と、
上記点群データベースに基づいて目標ナビゲーション位置を決定する段階と、
上記プロダクトモデルのスクリーンショットに関連付けられたデータを取得する段階であって、上記スクリーンショットは、上記目標ナビゲーション位置に少なくとも部分的に基づいてキャプチャされる、段階と、
上記スクリーンショットに関連付けられた上記データに基づいて、上記被写体用の上記ナビゲーションガイドを生成する段階と
を備える方法。
[項目2]上記方法は、カメラが設けられたモバイル端末に適用され、上記点群データベースは、初期化角に基づいて記録され、点群データベースに基づいて識別用の被写体の目標ナビゲーション位置を決定する段階は、
上記点群データベースから初期化角を取得する段階と、
上記カメラの上記目標ナビゲーション位置を上記初期化角として取る段階と
を有する、
項目1に記載の方法。
[項目3]上記プロダクトモデルのスクリーンショットに関連付けられたデータを取得する段階であって、上記スクリーンショットは、上記目標ナビゲーション位置に少なくとも部分的に基づいてキャプチャされる、段階は、
上記目標ナビゲーション位置に従って、識別用の上記被写体の上記プロダクトモデルを調整する段階と、
調整された上記プロダクトモデルの上記スクリーンショットに関連付けられた上記データを取得する段階と
を有する、
項目2に記載の方法。
[項目4]上記スクリーンショットに関連付けられた上記データに基づいて、上記被写体用の上記ナビゲーションガイドを生成する段階は、
上記スクリーンショットに関連付けられた上記データからエッジデータを抽出する段階と、
上記エッジデータに従って、上記スクリーンショットに関連付けられた上記データのエッジ色および背景色を調整する段階と、
上記スクリーンショットに関連付けられた調整された上記データに従って、識別用の上記被写体の単線結線図を抽出する段階と、
識別用の上記被写体用の上記ナビゲーションガイドとして上記単線結線図を取る段階と
を有する、
項目1に記載の方法。
[項目5]上記スクリーンショットに関連付けられた上記データからエッジデータを抽出する上記段階の後に、
上記エッジデータに対して周波数フィルタリングおよび色補正を実行する段階
をさらに備える、項目4に記載の方法。
[項目6]上記スクリーンショットに関連付けられた上記データに基づいて、上記被写体用の上記ナビゲーションガイドを生成する上記段階の後に、
拡張現実機能をアクティブ化した場合、予め設定されたサービスページをロードする段階であって、上記サービスページは、識別用の上記被写体用の上記ナビゲーションガイドを含む、段階と、
識別用の上記被写体をスキャンしてビデオデータを取得するよう、動いている上記カメラを制御する段階と
をさらに備える、項目1に記載の方法。
[項目7]上記ビデオデータは、画像データを含み、識別用の上記被写体をスキャンしてビデオデータを取得するよう、動いている上記カメラを制御する上記段階の後に、
上記ナビゲーションガイドに基づいて、ユーザが識別用の被写体を位置合わせした場合、素材ライブラリから素材データを取得する段階と、
上記ビデオデータ内の上記画像データを上記点群データベースとマッチングして、3次元行列を取得する段階と、
上記3次元行列に基づいて、上記素材データおよび上記画像データを上記プロダクトモデルへインタラクトして、識別用の上記被写体を上記ユーザに対して表示する段階であって、上記素材データは、アニメーションおよび/またはテクスチャを含む、段階と
をさらに備える、項目6に記載の方法。
[項目8]点群データベースを生成するための方法であって、
識別用の被写体のプロダクトモデルを取得する段階と、
上記プロダクトモデルを初期化角で記録して、上記初期化角に対応する点群データを取得する段階と、
上記プロダクトモデルを複数の記録角で記録して、上記複数の記録角に対応する点群データを取得する段階と、
上記初期化角と、上記初期化角に対応する上記点群データと、上記記録角と、上記記録角に対応する上記点群データとを上記点群データベースに入力する段階と
を備える方法。
[項目9]ナビゲーションガイドを生成するための装置であって、
対応するプロダクトモデルを有する識別用の被写体に対応する点群データベースを取得するための点群データベース取得モジュールと、
上記点群データベースに基づいて目標ナビゲーション位置を決定するための目標ナビゲーション位置決定モジュールと、
上記プロダクトモデルのスクリーンショットに関連付けられたデータを取得するためのスクリーンショットデータ取得モジュールであって、上記スクリーンショットは、上記目標ナビゲーション位置に基づいてキャプチャされる、スクリーンショットデータ取得モジュールと、
上記スクリーンショットに関連付けられた上記データに基づいて、上記被写体用の上記ナビゲーションガイドを生成するためのナビゲーションガイド生成モジュールと
を備える装置。
[項目10]上記装置は、カメラが設けられたモバイル端末に適用され、上記点群データベースは、初期化角に基づいて記録され、上記目標ナビゲーション位置決定モジュールは、
上記点群データベースから上記初期化角を取得するための初期化角取得サブモジュールと、
上記カメラの上記目標ナビゲーション位置として上記初期化角を取るための目標ナビゲーション位置設定サブモジュールと
を有する、
項目9に記載の装置。
[項目11]上記スクリーンショットデータ取得モジュールは、
上記目標ナビゲーション位置に従って、識別用の上記被写体の上記プロダクトモデルを調整するためのプロダクトモデル調整サブモジュールと、
調整された上記プロダクトモデルの上記スクリーンショットに関連付けられた上記データを取得するためのスクリーンショットデータ取得サブモジュールと
を有する、
項目10に記載の装置。
[項目12]上記ナビゲーションガイド生成モジュールは、
上記スクリーンショットに関連付けられた上記データからエッジデータを抽出するためのエッジデータ抽出サブモジュールと、
上記エッジデータに従って、上記スクリーンショットに関連付けられた上記データのエッジ色および背景色を調整するためのスクリーンショットデータ調整サブモジュールと、
上記スクリーンショットに関連付けられた調整済みの上記データに従って、識別用の上記被写体の単線結線図を抽出するための単線結線図抽出サブモジュールと、
識別用の上記被写体用の上記ナビゲーションガイドとして上記単線結線図を取るためのナビゲーションガイド設定サブモジュールと
を有する、
項目9に記載の装置。
[項目13]上記エッジデータに対して周波数フィルタリングおよび色補正を実行するためのデータ処理サブモジュール
をさらに備える、項目12に記載の装置。
[項目14]拡張現実機能をアクティブ化した場合、予め設定されたサービスページをロードするためのサービスページロードモジュールであって、上記サービスページは、識別用の上記被写体用の上記ナビゲーションガイドを含む、サービスページロードモジュールと、
識別用の上記被写体をスキャンしてビデオデータを取得するよう、動いている上記カメラを制御するためのビデオデータ取得モジュールと
をさらに備える、項目9に記載の装置。
[項目15]上記ビデオデータは、画像データを含み、
上記ナビゲーションガイドに基づいて、ユーザが識別用の上記被写体を位置合わせした場合、素材ライブラリから素材データを取得するための素材データ取得モジュールと、
上記ビデオデータ内の上記画像データを上記点群データベースとマッチングして、3次元行列を取得するための3次元行列取得モジュールと、
上記3次元行列に基づいて、上記素材データおよび上記画像データを上記プロダクトモデルへインタラクトして、識別用の上記被写体を上記ユーザに対して表示するための被写体表示モジュールであって、上記素材データは、アニメーションおよび/またはテクスチャを含む、被写体表示モジュールと
をさらに備える、項目14に記載の装置。
[項目16]点群データベースを生成するための装置であって、
識別用の被写体のプロダクトモデルを取得するためのプロダクトモデル取得モジュールと、
上記プロダクトモデルを初期化角で記録して、上記初期化角に対応する点群データを取得するための第1の点群データ取得モジュールと、
上記プロダクトモデルを複数の記録角で記録して、上記複数の記録角に対応する点群データを取得するための第2の点群データ取得モジュールと、
上記初期化角と、上記初期化角に対応する上記点群データと、上記記録角と、上記記録角に対応する上記点群データとを上記点群データベースに入力するための点群データ入力モジュールと
を備える装置。
[項目17]点群データベースを生成するための装置であって、
1または複数のプロセッサと、
命令を記憶した1または複数の機械可読媒体と
を備え、
上記命令は、上記1または複数のプロセッサにより実行された場合、項目1から7に記載の1または複数のナビゲーションガイドを生成するための方法または項目8に記載の1または複数の点群データベースを生成するための方法を上記装置が実行することを可能にする、
装置。
[項目18]命令を記憶した1または複数の機械可読媒体であって、上記命令は、1または複数のプロセッサにより実行された場合、項目1から7のいずれか1つに記載のナビゲーションガイドを生成するための方法または項目8に記載の点群データベースを生成するための方法を実行する、1または複数の機械可読媒体。
【図 】