(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-05
(54)【発明の名称】三次元空間に係わる点群を整合する方法及びそのサーバ
(51)【国際特許分類】
G06T 19/00 20110101AFI20240829BHJP
G01C 7/02 20060101ALI20240829BHJP
【FI】
G06T19/00 A
G01C7/02
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024512022
(86)(22)【出願日】2022-08-18
(85)【翻訳文提出日】2024-02-29
(86)【国際出願番号】 KR2022012339
(87)【国際公開番号】W WO2023027420
(87)【国際公開日】2023-03-02
(31)【優先権主張番号】10-2021-0113405
(32)【優先日】2021-08-26
(33)【優先権主張国・地域又は機関】KR
(81)【指定国・地域】
(71)【出願人】
【識別番号】521292722
【氏名又は名称】ソウル ロボティクス カンパニー リミテッド
(74)【代理人】
【識別番号】110000914
【氏名又は名称】弁理士法人WisePlus
(72)【発明者】
【氏名】パク, ジェイル
(72)【発明者】
【氏名】チュオン, ホン ミン
(72)【発明者】
【氏名】キム, ヨン スン
(72)【発明者】
【氏名】カン, ソン ジュ
【テーマコード(参考)】
5B050
【Fターム(参考)】
5B050AA03
5B050BA06
5B050BA09
5B050BA11
5B050BA18
5B050BA20
5B050DA01
5B050DA05
5B050EA13
5B050EA18
5B050EA26
5B050FA02
5B050FA12
5B050FA13
(57)【要約】
複数のセンシング装置から三次元空間に係わる点群を獲得する通信インターフェース、メモリ、及びメモリに保存された1以上の命令語を実行することにより、複数のセンシング装置のうち、互いに隣接したセンシング装置それぞれから獲得された、所定の基準面に対応する第1点群と第2点群との重畳される部分から、第1点群に属する第1基準点を獲得し、第2点群で第1基準点に対応する第2基準点を獲得し、獲得された第1基準点に形成される第1回帰モデルと、獲得された第2基準点に形成される第2回帰モデルとの誤差が最小化されるように、第1点群と第2点群とを整合するプロセッサを含む、三次元空間に係わる点群を整合するサーバが開示される。
【選択図】
図12
【特許請求の範囲】
【請求項1】
複数のセンシング装置から三次元空間に係わる点群を獲得する段階と、
前記複数のセンシング装置のうち、互いに隣接したセンシング装置それぞれから獲得された、所定の基準面に対応する第1点群と第2点群との重畳される部分から、前記第1点群に属する第1基準点を獲得する段階と、
前記第1点群と隣接した前記第2点群から、前記獲得された第1基準点に対応する第2基準点を獲得する段階と、
前記獲得された第1基準点に形成される第1回帰モデルと、前記獲得された第2基準点に形成される第2回帰モデルとの誤差が最小化されるように、前記第1点群と前記第2点群とを整合する段階と、を含む、三次元空間に係わる点群を整合する方法。
【請求項2】
前記第1基準点を獲得する段階は、
前記第1点群と前記第2点群とを所定の視点に基づいて整列する段階と、
前記整列された第1点群と第2点群との前記重畳される部分にあるいくつかの点のうち、前記第1点群に属する前記第1基準点を選択する段階と、を含む、請求項1に記載の方法。
【請求項3】
前記整列する段階は、
前記第1点群を固定させ、トップビュー視点から、前記第2点群を移動または回転させることにより、前記重畳される部分が所定の基準以上になるまで、前記第2点群を前記固定された第1点群に合わせて配置する段階を含む、請求項2に記載の方法。
【請求項4】
前記第1基準点を選択する段階は、
前記重畳される部分にあるいくつかの点のうち、前記第1点群に属する少なくとも3つの点を前記第1基準点として選択する、請求項2に記載の方法。
【請求項5】
前記第2基準点を獲得する段階は、
前記重畳される部分にあるいくつかの点のうち、前記獲得された第1基準点それぞれから最も近いいくつかの点を第2基準点として獲得する、請求項1に記載の方法。
【請求項6】
前記整合する段階は、
前記第1回帰モデルに含まれた点群と、前記第2回帰モデルに含まれた対応する点群との距離の和に該当する損失関数が最小化されるときの位置に、前記第2回帰モデルを移動するのに使用される変換行列に基づき、前記第1点群と前記第2点群とを整合する、請求項1に記載の方法。
【請求項7】
前記整合する段階は、
前記第2回帰モデルの所定の座標における法線ベクトルを、前記第1回帰モデルの対応する座標における法線ベクトルと一致する位置に移動するのに使用される変換行列に基づき、前記第1点群と前記第2点群とを整合する、請求項1に記載の方法。
【請求項8】
複数のセンシング装置から三次元空間に係わる点群を獲得する命令語と、
前記複数のセンシング装置のうち、互いに隣接したセンシング装置それぞれから獲得された、所定の基準面に対応する第1点群と第2点群との重畳される部分から、前記第1点群に属する第1基準点を獲得する命令語と、
前記第1点群と隣接した前記第2点群から、前記獲得された第1基準点に対応する第2基準点を獲得する命令語と、
前記獲得された第1基準点に形成される第1回帰モデルと、前記獲得された第2基準点に形成される第2回帰モデルとの誤差が最小化されるように、前記第1点群と前記第2点群とを整合する命令語と、を含む、コンピュータで実行させるためのプログラムを保存したコンピュータで読み取り可能な記録媒体。
【請求項9】
複数のセンシング装置から三次元空間に係わる点群を獲得する通信インターフェースと、
1以上の命令語を保存するメモリと、
前記1以上の命令語を実行することにより、前記複数のセンシング装置のうち、互いに隣接したセンシング装置それぞれから獲得された、所定の基準面に対応する第1点群と第2点群との重畳される部分から、前記第1点群に属する第1基準点を獲得し、前記第1点群と隣接した前記第2点群から、前記獲得された第1基準点に対応する第2基準点を獲得し、前記獲得された第1基準点に形成される第1回帰モデルと、前記獲得された第2基準点に形成される第2回帰モデルとの誤差が最小化されるように、前記第1点群と前記第2点群とを整合するプロセッサと、を含む、三次元空間に係わる点群を整合するサーバ。
【請求項10】
前記プロセッサは、前記1以上の命令語を実行することにより、
前記第1点群と前記第2点群とを所定の視点に基づいて整列させ、前記整列された第1点群と第2点群との前記重畳される部分にあるいくつかの点のうち、前記第1点群に属する前記第1基準点を選択する、請求項9に記載のサーバ。
【請求項11】
前記プロセッサは、前記1以上の命令語を実行することにより、
前記第1点群を固定させ、トップビュー視点から、前記第2点群を移動または回転させることにより、させることにより、前記重畳される部分が所定の基準以上になるまで、前記第2点群を前記固定された第1点群に合わせて配置する、請求項10に記載のサーバ。
【請求項12】
前記プロセッサは、前記1以上の命令語を実行することにより、
前記重畳される部分にあるいくつかの点のうち、前記第1点群に属する少なくとも3つの点を前記第1基準点として選択する、請求項10に記載のサーバ。
【請求項13】
前記プロセッサは、前記1以上の命令語を実行することにより、
前記重畳される部分にあるいくつかの点のうち、前記獲得された第1基準点それぞれから最も近いいくつかの点を第2基準点として獲得する、請求項9に記載のサーバ。
【請求項14】
前記プロセッサは、前記1以上の命令語を実行することにより、
前記第1回帰モデルに含まれた点群と、前記第2回帰モデルに含まれた対応する点群との距離の和に該当する損失関数が最小化されるときの位置に、前記第2回帰モデルを移動するのに使用される変換行列に基づき、前記第1点群と前記第2点群とを整合する、請求項9に記載のサーバ。
【請求項15】
前記プロセッサであるならば、前記1以上の命令語を実行することにより、
前記第2回帰モデルの所定の座標における法線ベクトルを、前記第1回帰モデルの対応する座標における法線ベクトルと一致する位置に移動するのに使用される変換行列に基づき、前記第1点群と前記第2点群とを整合する、請求項9に記載のサーバ。
【請求項16】
前記所定の基準面は、前記三次元空間の地面である、請求項9に記載のサーバ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、三次元空間に係わる点群を整合する方法及びそのサーバに関する。
【背景技術】
【0002】
LiDAR(light detection and ranging)は、三次元空間の客体に光を放出した後、反射された光を受信し、そこから、三次元空間に係わる情報を獲得する技術である。LiDARのようなセンシング装置の技術発展により、最近、多様な産業技術分野において、センシング装置の技術が融合された先端制御機能が活用されている。
【0003】
1つのセンシング装置がセンシングしうる感知領域は、物理的な限界があるので、広い空間については、複数のセンシング装置を適切に配置しなければならない。複数のセンシング装置から受信されたデータに基づき、広い空間に係わる情報を獲得しうる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
複数のセンシング装置から獲得された三次元空間に係わる点群を正確に整合する方法及びそのサーバに関する。
【課題を解決するための手段】
【0005】
第1態様による三次元空間に係わる点群を整合する方法は、複数のセンシング装置から三次元空間に係わる点群を獲得する段階、前記複数のセンシング装置のうち、互いに隣接したセンシング装置それぞれから獲得された、所定の基準面に対応する第1点群と第2点群との重畳される部分から、前記第1点群に属する第1基準点を獲得する段階、前記第1点群と隣接した前記第2点群から、前記獲得された第1基準点に対応する第2基準点を獲得する段階、及び前記獲得された第1基準点に形成される第1回帰モデルと、前記獲得された第2基準点に形成される第2回帰モデルとの誤差が最小化されるように、前記第1点群と前記第2点群とを整合する段階を含む。
【0006】
第2態様によるコンピュータで読み取り可能な記録媒体は、複数のセンシング装置から三次元空間に係わる点群を獲得する命令語、前記複数のセンシング装置のうち、互いに隣接したセンシング装置それぞれから獲得された、所定の基準面に対応する第1点群と第2点群との重畳される部分から、前記第1点群に属する第1基準点を獲得する命令語、前記第1点群と隣接した前記第2点群から、前記獲得された第1基準点に対応する第2基準点を獲得する命令語、及び前記獲得された第1基準点に形成される第1回帰モデルと、前記獲得された第2基準点に形成される第2回帰モデルとの誤差が最小化されるように、前記第1点群と前記第2点群とを整合する命令語を含む、コンピュータで実行させるためのプログラムを保存する。
【0007】
第3態様による三次元空間に係わる点群を整合するサーバは、複数のセンシング装置から三次元空間に係わる点群を獲得する通信インターフェース、1以上の命令語を保存するメモリ、及び前記1以上の命令語を実行することにより、前記複数のセンシング装置のうち、互いに隣接したセンシング装置それぞれから獲得された、所定の基準面に対応する第1点群と第2点群との重畳される部分から、前記第1点群に属する第1基準点を獲得し、前記第1点群と隣接した前記第2点群から、前記獲得された第1基準点に対応する第2基準点を獲得し、前記獲得された第1基準点に形成される第1回帰モデルと、前記獲得された第2基準点に形成される第2回帰モデルとの誤差が最小化されるように、前記第1点群と前記第2点群とを整合するプロセッサを含む。
【図面の簡単な説明】
【0008】
【
図1】複数のセンシング装置と連結されたサーバについて説明するための図である。
【
図2】センシング装置の構成及び動作について説明するための図である。
【
図3】サーバの構成及び動作について説明するための図である。
【
図4】互いに隣接したセンシング装置それぞれの感知領域と重畳領域とについて説明するための図である。
【
図5】互いに隣接したセンシング装置それぞれから獲得された、所定の基準面に対応する第1点群と第2点群との重畳される部分について説明するための図である。
【
図6】第1点群と第2点群との重畳される部分において生じる誤差について説明するための図である。
【
図7】所定の基準面に対応する第1点群と第2点群とを、所定の視点に基づいて整列した様子を示した図である。
【
図8】第1点群と第2点群との重畳される部分から、第1点群に属する第1基準点を獲得するプロセスについて説明するための図である。
【
図9】第1基準点に対応する第2基準点を獲得するプロセスについて説明するための図である。
【
図10】第1基準点に形成される第1平面と、第2基準点に形成される第2平面とを整合するプロセスの一例について説明するための図である。
【
図11】第1点群と第2点群との重畳される部分において生じる誤差が最小化された結果について説明するための図である。
【
図12】一実施形態による三次元空間に係わる点群を整合する方法について説明するためのフローチャートである。
【発明を実施するための形態】
【0009】
以下においては、図面を参照し、多様な実施形態を詳細に説明する。本実施形態の特徴についてさらに明確に説明するために、以下の本実施形態が属する技術分野において通常の知識を有する者に広く知られている事項について、詳細な説明は、省略する。
【0010】
なお、本明細書において、ある構成が他構成と「連結」されているとするとき、それは、「直接連結」されている場合だけではなく、「その中間に他の構成を挟んで連結」されている場合も含む。また、ある構成が他構成を「含む」とするとき、それは、特別に反対となる記載がない限り、それ以外の他構成を除くものではなく、他の構成をさらに含むものでもありうるということを意味する。
【0011】
また、本明細書で使用される「第1」または「第2」のように、序数を含む用語は、多様な構成要素についての説明に使用されうるが、前記構成要素は、前記用語によって限定されるものではない。前記用語は、1つの構成要素を、他の構成要素から区別する目的のみに使用される。
【0012】
本実施形態は、三次元空間に係わる点群を整合する方法及びそのサーバに係り、以下の実施形態が属する技術分野において通常の知識を有する者に広く知られている事項については、詳細な説明を省略する。
【0013】
図1は、複数のセンシング装置100と連結されたサーバ200について説明するための図面である。
【0014】
センシング装置100は、三次元空間に係わる空間情報として、点群(point cloud data)を獲得しうる装置であり、少なくとも1つのセンサを含むものでもありうる。センシング装置100は、三次元空間に光を放出し、それに対する応答として受信された光に基づき、三次元空間に係わる点群を獲得しうる。
【0015】
センシング装置100は、室内または屋外において、三次元空間を感知しうるところに設けられうる。広い地域をモニタリングするためには、センシング装置100のセンサが感知しうる範囲による感知領域を考慮し、複数のセンシング装置100が設けられうる。例えば、複数のセンシング装置100は、互いに一定間隔を置いて設けられうる。
【0016】
センシング装置100は、三次元空間を感知する3Dセンサとして、LiDAR(light detection and ranging)センサを具備し、体積型点群(volumetric point cloud data)を獲得しうる。センシング装置100は、必要により、レーダ(radar)センサ、赤外線映像センサ、カメラのような多様な種類のセンサをさらに含むものでもありうる。センシング装置100は、各種類のセンサが有している感知範囲や、獲得しうるデータの種類などを考慮し、同種のセンサを複数個利用したり、異種のセンサを組み合わせて利用したりすることもできる。
【0017】
サーバ200は、複数のセンシング装置100と連結されうる。サーバ200は、複数のセンシング装置100から、三次元空間に係わる点群を獲得しうる。サーバ200は、獲得した三次元空間に係わる点群を活用し、所定のサービスを提供しうる。ユーザ(user)は、ユーザ端末300を利用し、サーバ200に接続し、サーバ200が提供する所定のサービスを提供されうる。
【0018】
そのために、サーバ200は、複数のセンシング装置100それぞれから受信した三次元空間に係わる点群から、三次元空間全体につき、一貫性ある1つのセンシング結果を作ることが重要である。例えば、複数のセンシング装置100が同時に感知する地域を、一人の人が通り過ぎる場合、複数のセンシング装置100から受信した三次元空間に係わる点群が正確に整合されなければ、一人の人が何人かの人のように認識されうるという問題が発生しうる。以下、複数のセンシング装置100から獲得された三次元空間に係わる点群を正確に整合する方法について説明する。
【0019】
図2は、センシング装置100の構成及び動作について説明するための図面である。
【0020】
図2を参照すれば、一実施形態によるセンシング装置100は、メモリ110、プロセッサ120、センサ部130、通信インターフェース140を含むものでもありうる。本実施形態と係わる技術分野において通常の知識を有する者であるならば、
図2に図示された構成要素以外に、他の汎用的な構成要素がさらに含まれるものでもありうるということを知ることができるであろう。
【0021】
メモリ110は、ソフトウェア及び/またはプログラムを保存しうる。メモリ110は、プロセッサ120によって実行可能な命令語を保存しうる。
【0022】
プロセッサ120は、メモリ110に保存されたデータにアクセスし、それを利用するか、あるいは新たなデータをメモリ110に保存しうる。プロセッサ120は、メモリ110に保存された命令語を実行しうる。プロセッサ120は、センシング装置100にインストールされたコンピュータプログラムを実行しうる。また、プロセッサ120は、外部から受信したコンピュータプログラムまたはアプリケーションを、メモリ110に保存して実行させることができる。プロセッサ120は、少なくとも1つのプロセッシングモジュールを実行し、所定の動作を遂行しうる。例えば、プロセッサ120は、三次元空間を感知するプログラムを実行するプロセッシングモジュールを実行または制御しうる。プロセッサ120は、命令語またはコンピュータプログラムなどの実行結果に対応する動作を遂行するように、センシング装置100に含まれた他の構成を制御しうる。
【0023】
センサ部130は、三次元空間を感知するための少なくとも1つのセンサを含むものでもありうる。センサ部130は、三次元空間に光を放出する発光部と、光を受信する受光部とを含むものでもあり得て、該受光部に受信された光の強度に基づき、三次元空間に係わる点群を獲得する専用プロセッサをさらに含むものでもありうる。センサ部130は、感知領域内の三次元空間に位置した客体を追跡するために、三次元空間に係わる時間別点群を獲得しうる。センサ部130は、LiDARセンサでもありうるが、三次元LiDARセンサを含み、所定範囲の空間に係わるデータを獲得しうる。センサ部130は、環境により、レーダセンサ、赤外線映像センサ、超音波センサ、イメージセンサのような多様な種類のセンサをさらに含むものでもありうる。
【0024】
通信インターフェース140は、他装置またはネットワークと、有無線通信を行いうる。そのために、通信インターフェース140は、多様な有無線通信方法のうち少なくとも一つを支援する通信モジュールを含むものでもありうる。例えば、RFID(radio frequency identification)、NFC(near-field communication)、ブルートゥース(Bluetooth)(登録商標)のような近距離通信;多様な種類の無線通信または同軸ケーブルや光ケーブルなどを利用する有線通信を行う通信モジュールが含まれるものでもありうる。通信インターフェース140は、センシング装置100の外部に位置した装置と連結され、信号またはデータを送受信しうる。センシング装置100は、通信インターフェース140を介し、サーバ200と通信を行いうる。例えば、センシング装置100は、通信インターフェース140を介し、三次元空間に係わる点群を活用し、所定のサービスを提供する外部のサーバ200と連結されうる。
【0025】
センシング装置100は、前述の構成以外に、GPS(global positioning system)のような位置センサをさらに含むものでもあり得て、センシング装置100の設置環境により、センシング性能を向上させるための構成がさらに含まれるものでもありうる。
【0026】
前述の構成による一例のプロセッサ120は、メモリ110に保存された1以上の命令語を実行することにより、センサ部130を動作させ、三次元空間に係わる点群を獲得し、通信インターフェース140を介し、三次元空間に係わる点群をサーバ200に伝送することができる。センシング装置100は、センシング装置100を識別しうる情報を、三次元空間に係わる点群と共に伝送することができる。
【0027】
図3は、サーバ200の構成及び動作について説明するための図面である。
【0028】
サーバ200は、三次元空間に係わる点群に基づき、三次元空間上の客体を検出し、該三次元空間をモニタリングする一連のプロセッシングを処理しうる。そのために、サーバ200は、複数のセンシング装置100から、それぞれのセンシング装置100が獲得した三次元空間に係わる点群を受信し、本開示による三次元空間に係わる点群を整合するプロセスを遂行しうる。サーバ200は、クラウドコンピューティングのような技術によって具現されうる。サーバ200は、センシング装置100と、高速のデータ通信を行いうる。サーバ200は、その名称に限定されるものではなく、コンピュータデバイス、オペレータ、コンソール装置などで代替されうる。
【0029】
図3を参照すれば、サーバ200は、メモリ210、プロセッサ220、通信インターフェース230、ユーザインターフェース装置240を含むものでもありうる。本実施形態と係わる技術分野において通常の知識を有する者であるならば、
図3に図示された構成要素以外に、他の汎用的な構成要素がさらに含まれるものでもありうることを知ることができるであろう。
【0030】
図3のブロック図の各構成要素は、サーバ200の具現方式により、分離されたり追加されたり省略されたりしうる。すなわち、具現方式により、1つの構成要素が2以上の構成要素に細分化されるか、あるいは2以上の構成要素が1つの構成要素に合わされもし、一部構成要素がさらに追加されたり除去されたりする。サーバ200は、物理的に分けられた複数の装置によっても構成され、一つに統合された形態でもありうる。
【0031】
メモリ210は、プロセッサ220によって実行可能な命令語を保存しうる。メモリ210は、ソフトウェアまたはプログラムを保存しうる。
【0032】
プロセッサ220は、メモリ210に保存された命令語を実行しうる。プロセッサ220は、サーバ200の全般的な制御を行いうる。プロセッサ220は、通信インターフェース230を介して受信される情報及び要請事項を獲得し、受信される情報をストレージ(図示せず)に保存しうる。また、プロセッサ220は、受信される情報を加工しうる。例えば、プロセッサ220は、センシング装置100から受信される三次元空間に係わる点群情報を活用し、所定のサービスを提供するのに利用される情報を獲得しうる。
【0033】
また、プロセッサ220は、管理者の端末から獲得された要請事項に対する応答として、ストレージ(図示せず)に保存されたデータまたは情報を利用し、通信インターフェース230を介し、管理者の端末に、要請事項に対応する情報を伝送することができる。
【0034】
通信インターフェース230は、他装置またはネットワークと有無線通信を行いうる。通信インターフェース230は、サーバ200の外部に位置した装置と連結され、信号またはデータを送受信しうる。サーバ200は、通信インターフェース230を介し、センシング装置100と通信を行うか、あるいはネットワークに連結された他のサーバとも連結されうる。
【0035】
ユーザインターフェース装置240は、ユーザから入力を受信する入力部と、情報を提供する出力部と、を含むものでもありうる。該入力部は、ユーザから多様な形態の入力を受けることができる。該出力部は、表示パネル、及び該表示パネルを制御するコントローラを含むものでもあり得て、LCD(liquid crystal display)、OLED(organic light-emitting diode)ディスプレイ、AM-OLED(active-matrix organic light-emitting diode)及びPDP(plasma display panel)のような多様な方式によって具現されうる。
【0036】
ユーザインターフェース装置240は、
図3に図示されているように、サーバ200に含まれた構成でもありうるが、それに制限されるものではない。サーバ200を介してサービスを提供するサービス提供者、または管理者は、別途の端末を利用し、サーバ200に接続し、端末を介し、サーバ200に入力を伝送したり、サーバ200から出力を受信したりしうる。
【0037】
ストレージ(図示せず)は、サーバ200が機器の制御に活用したり、所定のサービスを提供したりするために必要な各種ソフトウェア及び情報を保存しうる。例えば、ストレージ(図示せず)は、サーバ200で実行されるプログラム、アプリケーション、及び所定のサービスに利用される各種データまたは情報を保存しうる。
【0038】
前述の構成により、サーバ200は、通信インターフェース230を介し、センシング装置100から、三次元空間に係わる点群を獲得しうる。サーバ200は、複数のセンシング装置100から、三次元空間に係わる点群を獲得しうる。サーバ200は、各センシング装置100から獲得した三次元空間に係わる点群を区別するように、各センシング装置100から、識別情報を受信したり、各センシング装置100に対応する識別情報を生成したりし、獲得した三次元空間に係わる点群を対応させ、サーバ200内に保存しうる。サーバ200は、センシング装置100の識別情報と、センシング装置100の位置を対応させて保存したルックアップテーブルとを有してもいる。サーバ200は、センシング装置100の識別情報を利用し、互いに隣接したセンシング装置を確認しうる。
【0039】
図4は、互いに隣接したセンシング装置それぞれの感知領域と重畳領域とについて説明するための図面である。
【0040】
図4に図示されているように、第1センシング装置100-Aは、第1感知領域内の三次元空間に係わる点群を獲得し、第2センシング装置100-Bは、第2感知領域内の三次元空間に係わる点群を獲得しうる。第1センシング装置100-Aと第2センシング装置100-Bは、センサの種類により、所定の視野角と感知限界距離とを有し、それにより、三次元空間内の客体を検出しうる感知領域が定められうる。第1センシング装置100-Aと第2センシング装置100-Bは、それぞれ第1感知領域内と第2感知領域内との客体をモニタリングするのに利用されうる。
【0041】
第1センシング装置100-A及び第2センシング装置100-Bのように、互いに隣接した位置にある場合、第1センシング装置100-Aに対応する第1感知領域と、第2センシング装置100-Bに対応する第2感知領域との間において、互いに重なる重畳領域が存在しうる。モニタリングする全体空間につき、もれなくモニタリングするためには、隣接するセンシング装置100は、感知領域間に重畳領域を生じしめる位置に設けられていなければならない。
【0042】
第1センシング装置100-Aは、第1感知領域内の三次元空間に係わる点群をサーバ200に伝送することができる。第2センシング装置100-Bは、第2感知領域内の三次元空間に係わる点群をサーバ200に伝送することができる。サーバ200は、互いに隣接した第1センシング装置100-Aと第2センシング装置100-Bとのそれぞれから、三次元空間に係わる点群を獲得しうる。
【0043】
図5は、互いに隣接したセンシング装置それぞれから獲得された、所定の基準面に対応する第1点群と第2点群との重畳される部分について説明するための図面である。
【0044】
サーバ200は、互いに隣接したセンシング装置から獲得された三次元空間に係わる点群を、各センシング装置100の位置や、点群の大まかな形態などに基づいて整列させることができる。
図5を参照すれば、サーバ200が、互いに隣接したセンシング装置を介して獲得した、所定の基準面に対応する第1点群と第2点群とが整列された様子を示している。所定の基準面に垂直である方向の視点から整列された2つの点群を見れば、重畳領域において、2つの点群間の重畳される部分が確認され、2つの点群間の整列に問題がないように見える。
【0045】
図6は、第1点群と第2点群との重畳される部分において生じる誤差について説明するための図面である。
【0046】
図6を参照すれば、先に、
図5で確認された整列された2つの点群を、所定の基準面の側面方向の視点から見た様子を示している。整列された2つの点群を、所定の基準面の側面方向の視点から見れば、整列された2つの点群間の誤差があることを知ることができる。第1点群と第2点群との重畳される部分を見れば、互いに対応する点群は、一致する一貫性を示さなければならないが、
図6に図示されているように、第1点群と第2点群途において、互いに対応する2つの点群が正確に合わさっておらず、2つの点群間に離隔が生じていることを知ることができる。
【0047】
隣接したセンシング装置から獲得された2つの点群の重畳される部分において、所定の基準面に対応する点群間の所定基準以上の離隔が確認されれば、三次元空間に係わる点群の整合は、不正確なものとなる。三次元空間に係わる点群の整合が不正確であるならば、それを活用したサービスも不正確であり、ユーザに提供することができなくなる。以下、そのような問題を解決するための三次元空間に係わる点群を整合する方式につき、詳細に説明する。
【0048】
再び
図3を参照すれば、前述の構成による一例のプロセッサ220は、メモリ210に保存された1以上の命令語を実行することにより、複数のセンシング装置100のうち、互いに隣接したセンシング装置それぞれから、所定の基準面に対応する第1点群と第2点群とを獲得しうる。例えば、プロセッサ220は、互いに隣接したセンシング装置それぞれから受信した三次元空間に係わる点群から、所定の基準面に対応する点群を抽出することにより、所定の基準面に対応する第1点群と第2点群とを獲得しうる。他の例を挙げれば、プロセッサ220は、互いに隣接したセンシング装置それぞれから、所定の基準面に対応する第1点群と第2点群とを受信しうる。
【0049】
所定の基準面は、地面にもなるが、それに制限されるものではない。所定の基準面は、室内空間の場合、センシング装置100が設けられた空間の底でもありうる。所定の基準面は、平面でもありうるが、必ずしも平面でなければならないものではない。以下、説明の便宜上、所定の基準面が地面である場合を前提に説明する。
【0050】
プロセッサ220は、三次元空間に係わる点群を、客体分類モデルに適用するか、あるいは三次元空間に係わる点群をクラスタリングすることにより、地面に対応する点群を区分しうる。プロセッサ220は、三次元空間に係わる点群から、地面に対応する点群をまず区分し、残り点群を、少なくとも1つの客体に該当する点群に区分しうる。プロセッサ220は、地面推定モデル(ground estimation model)を求めるために、確率的モデル(stochastic model)に基づくフィッティングを適用しうる。プロセッサ220は、リアルタイムで地面形態を学習し、三次元空間に係わる点群につき、地面に該当する点群であるか否かということでもって分類しうる。
【0051】
プロセッサ220は、所定の基準面に対応する第1点群と第2点群とを、所定の視点に基づいて整列し(align)、整列された第1点群と第2点群との重畳される部分を確認しうる。
【0052】
図7は、所定の基準面に対応する第1点群と第2点群とを、所定の視点に基づいて整列した様子を示した図面である。
【0053】
プロセッサ220は、整合する2つの点群のうち、ある一点群を固定させ、残り点群を適切に配置させ、2つの点群を整列しうる。例えば、プロセッサ220は、第1点群を固定させ、トップビュー視点から、第2点群を、移動(translation)または回転(rotation)させることにより、重畳される部分が、所定の基準以上になるまで、第2点群を、固定された第1点群に合わせて配置させることができる。
【0054】
そのような動作は、プロセッサ220によって自動的に遂行されもし、ユーザの入力によって遂行されもする。例えば、サービス提供者または管理者は、三次元空間に係わる点群を整合するコンピュータプログラムまたはアプリケーションを実行し、
図7に図示されているように、所定の基準面に対応する第1点群と第2点群とを、ユーザインターフェース画面に表示しうる。整合する点群は、ユーザインターフェース画面内のメニューを介し、点群リストに追加したり削除したりしうる。サービス提供者または管理者は、いずれか1つの点群を固定させ、トップビュー視点から、残り点群を、移動または回転させることにより、固定された点群に、残り点群を合わせて配置させることができる。
【0055】
ただし、所定の視点に基づき、2つの点群を整列すれば、先に、
図6で説明されたように、他の視点から見るとき、2つの点群が正しく整合されていないのである。それを解決するために、各点群において、所定の基準点に形成される回帰モデルを生成し、該回帰モデル間の整合を行う細密校正(fine adjustment)を行うことにより、三次元空間に係わる点群を正確に整合する以下のプロセスが追加されうる。
【0056】
再び
図3を参照すれば、プロセッサ220は、所定の基準面に対応する第1点群と第2点群との重畳される部分から、第1点群に属する第1基準点を獲得しうる。第1点群において、第1基準点によってなる第1回帰モデルを生成するためである。
【0057】
図8は、第1点群と第2点群との重畳される部分から、第1点群に属する第1基準点を獲得するプロセスについて説明するための図面である。
【0058】
プロセッサ220は、整列された第1点群と第2点群との重畳される部分にあるいくつかの点うち、第1点群に属する第1基準点を選択しうる。例えば、プロセッサ220は、重畳される部分にあるいくつかの点のうち、第1点群に属する少なくとも3つの点を第1基準点として選択しうる。
【0059】
そのような動作は、プロセッサ220によって自動的に遂行されもし、ユーザの入力によって遂行されもする。例えば、サービス提供者または管理者は、三次元空間に係わる点群を整合するコンピュータプログラムまたはアプリケーションを介し、
図8に図示されているように、第1点群と第2点群との重畳される部分にあるいくつかの点のうち、第1点群に属する少なくとも3つの点を第1基準点Point A,Point B,Point Cとして選択しうる。
【0060】
プロセッサ220は、第1基準点が定められれば、第1基準点に形成される第1回帰モデルを決定しうる。回帰モデルは、基準点を利用した回帰(regression)を介して生成され、所定の方程式やメタ関数形態によって表現されうる。例えば、該第1回帰モデルは、第1基準点に形成される平面でもあり得て、平面の方程式によって表現されうる。すなわち、プロセッサ220は、該第1回帰モデルを特定し、該第1回帰モデルを定義する数式を生成しうる。
【0061】
再び
図3を参照すれば、プロセッサ220は、第1点群と隣接した第2点群から、獲得された第1基準点に対応する第2基準点を獲得しうる。第2点群において、第2基準点によってなる第2回帰モデルを生成するためである。
【0062】
図9は、第1基準点に対応する第2基準点を獲得するプロセスについて説明するための図面である。
【0063】
プロセッサ220は、整列された第1点群と第2点群との重畳される部分にあるいくつかの点のうち、第2点群に属する第2基準点を選択しうる。例えば、
図9に図示されているように、プロセッサ220は、重畳される部分にあるいくつかの点うち、すでに獲得された第1基準点それぞれから最も近いいくつかの点を、第2基準点Point 1,Point 2,Point 3として獲得しうる。プロセッサ220は、第2点群から第2基準点Point 1,Point 2,Point 3を選択した結果を、ユーザインターフェース画面を介し、サービス提供者または管理者に提供しうる。
【0064】
そのような動作は、プロセッサ220によって自動的に遂行されもし、ユーザの入力によって遂行されもする。例えば、サービス提供者または管理者は、三次元空間に係わる点群を整合するコンピュータプログラムまたはアプリケーションを介し、第1点群と第2点群との重畳される部分にあるいくつかの点のうち、第2点群に属する少なくとも3つの点を第2基準点として選択しうる。サービス提供者または管理者が、第2基準点を良好に選択することができるように、プロセッサ220は、第2点群において、第2基準点として適するいくつかの点を、ユーザインターフェース画面を介し、サービス提供者または管理者に勧めることができる。
【0065】
プロセッサ220は、第2基準点が定められれば、第2基準点に形成される第2回帰モデルを決定しうる。例えば、該第2回帰モデルは、第2基準点に形成される平面でもあり得て、平面の方程式によって表現されうる。すなわち、プロセッサ220は、該第2回帰モデルを特定し、該第2回帰モデルを定義する数式を生成しうる。
【0066】
回帰モデルは、平面の形態に制限されるものではなく、以下においては、説明の便宜上、平面の場合を例として挙げて説明する。
【0067】
再び
図3を参照すれば、プロセッサ220は、獲得された第1基準点に形成される第1回帰モデルと、獲得された第2基準点に形成される第2回帰モデルとの誤差が最小化されるように、第1点群と第2点群とを整合しうる。そのために、該第2回帰モデルを該第1回帰モデル側に移動させながら、該第1回帰モデルと該第2回帰モデルとの誤差が最小化される位置を求め出しうる。
【0068】
例えば、プロセッサ220は、第1回帰モデルである第1平面に含まれた点群と、第2回帰モデルである第2平面に含まれた対応する点群との距離の和に該当する損失関数(loss function)が最小化されるときの位置に、第2平面を移動するのに使用される変換行列に基づき、第1点群と第2点群とを整合しうる。
【0069】
他の例を挙げれば、プロセッサ220は、第2回帰モデルである第2平面の少なくとも1つの座標における法線ベクトルを、第1回帰モデルである第1平面の対応する座標における法線ベクトルと一致する位置に移動させる変換行列に基づき、第1点群と第2点群とを整合しうる。
【0070】
図10は、第1基準点に形成される第1平面と、第2基準点に形成される第2平面とを整合するプロセスの一例について説明するための図面である。
【0071】
プロセッサ220は、第1点群に属する第1基準点に形成される第1回帰モデルである第1平面と、第2点群に属する第2基準点に形成される第2回帰モデルである第2平面とのそれぞれにおいて、所定の座標と、当該座標における法線ベクトルとを求めうる。該所定の座標は、重心の座標でもあり得て、1以上でもありうる。
【0072】
プロセッサ220は、第2平面の所定の座標における法線ベクトルを、第1平面の対応する座標における法線ベクトルと一致する位置に移動するのに使用される変換行列に基づき、第1点群と第2点群とを整合しうる。
【0073】
図11は、第1点群と第2点群との重畳される部分において生じる誤差が最小化された結果について説明するための図面である。
【0074】
以上で説明された方式により、第1点群に属する第1基準点に形成される第1平面と、第2点群に属する第2基準点に形成される第2平面との誤差が最小化されるように、第1平面と第2平面とを整合することになれば、第1点群及び第2点群も、正確に整合することになる。所定の基準面に対応する第1点群と第2点群との正確な整合により、隣接したセンシング装置から獲得された三次元空間に係わる点群全体を正確に整合しうる。
【0075】
図11に図示されているように、第1平面と第2平面とが整合された所定の基準面に対応する第1点群と第2点群とを、所定の基準面の側面方向の視点から見れば、第1点群と第2点群との誤差が最小化されることを知ることができる。該第1点群と該第2点群との重畳される部分を見れば、互いに対応する点群において、一貫性が見えるということを知ることができる。三次元空間に係わる点群の整合が正確であるならば、それを活用したサービスが正確になり、ユーザに良質のサービスを提供しうることになる。
【0076】
図12は、一実施形態による三次元空間に係わる点群を整合する方法について説明するためのフローチャートである。以下、省略された内容であるとしても、以上においてサーバ200について説明された内容は、三次元空間に係わる点群を整合する方法にもそのまま適用されうる。
【0077】
1210段階において、サーバ200は、複数のセンシング装置100から三次元空間に係わる点群を獲得する。
【0078】
1220段階において、サーバ200は、複数のセンシング装置100のうち、互いに隣接したセンシング装置それぞれから獲得された、所定の基準面に対応する第1点群と第2点群との重畳される部分から、第1点群に属する第1基準点を獲得する。
【0079】
まず、サーバ200は、第1点群と第2点群とを、所定の視点に基づいて整列させることができる。サーバ200は、第1点群を固定させ、所定の視点、例えば、トップビュー視点から、第2点群を移動または回転させることにより、重畳される部分が所定の基準以上になるまで、第2点群を、固定された第1点群に合わせて配置させることができる。
【0080】
次に、サーバ200は、整列された第1点群と第2点群との重畳される部分にあるいくつかの点のうち、第1点群に属する第1基準点を選択しうる。このとき、サーバ200は、重畳される部分にあるいくつかの点のうち、第1点群に属する少なくとも3つの点を第1基準点として選択しうる。
【0081】
1230段階において、サーバ200は、第1点群と隣接した第2点群から、先立って獲得された第1基準点に対応する第2基準点を獲得する。サーバ200は、重畳される部分にあるいくつかの点のうち、獲得された第1基準点それぞれから最も近いいくつかの点を第2基準点として獲得しうる。
【0082】
1240段階において、サーバ200は、獲得された第1基準点に形成される第1回帰モデルと、獲得された第2基準点に形成される第2回帰モデルとの誤差が最小化されるように、第1点群と第2点群とを整合する。
【0083】
例えば、サーバ200は、第1回帰モデルに含まれた点群と、第2回帰モデルに含まれた対応する点群との距離の和に該当する損失関数が最小化されるときの位置に、第2回帰モデルを移動するのに使用される変換行列に基づき、第1点群と第2点群とを整合しうる。
【0084】
他の例を挙げれば、サーバ200は、第2回帰モデルの所定の座標における法線ベクトルを、第1回帰モデルの対応する座標における法線ベクトルと一致する位置に移動するのに使用される変換行列に基づき、第1点群と第2点群とを整合しうる。
【0085】
所定の基準面に対応する第1点群と第2点群との正確な整合により、隣接したセンシング装置から獲得された三次元空間に係わる点群全体が正確に整合されうる。
【0086】
前述の実施形態それぞれは、三次元空間に係わる点群を整合する方法を遂行する所定の段階を実行させるために、媒体に保存されたコンピュータプログラム形態またはアプリケーション形態でもって提供されうる。言い替えれば、前述の実施形態それぞれは、サーバ200の少なくとも1つのプロセッサをして、三次元空間に係わる点群を整合する方法を遂行する所定の段階を遂行させる、媒体に保存されたコンピュータプログラム形態またはアプリケーション形態でもって提供されうる。
【0087】
前述の実施形態は、コンピュータまたはプロセッサによって実行可能な命令語及びデータを保存するコンピュータで読み取り可能な記録媒体の形態でもって具現されうる。命令語及びデータのうち少なくとも一つは、プログラムコードの形態でもって保存され、プロセッサによって実行されたとき、所定のプログラムモジュールを生成し、所定の動作を遂行しうる。そのようなコンピュータで読み取り可能な記録媒体は、ROM(read-only memory)、RAM(random access memory)、フラッシュメモリ(flash memory)、CD-ROMs、CD-Rs、CD+Rs、CD-RWs、CD+RWs、DVD-ROMs、DVD-Rs、DVD+Rs、DVD-RWs、DVD+RWs、DVD-RAMs、BD-ROMs、BD-Rs、BD-RLTHs、BD-REs、マグネチックテープ、フロッピーディスク 、光磁気データ保存装置、光学データ保存装置、ハードディスク、SSD(solid state drive)、そして命令語またはソフトウェア、関連データ、データファイル、及びデータ構造を保存し、プロセッサやコンピュータが命令語を実行することができるように、プロセッサやコンピュータに命令語またはソフトウェア、関連データ、データファイル、及びデータ構造を提供しうるいかなる装置であってもよい。
【0088】
以上、本実施形態を中心に説明された。開示された実施形態が属する技術分野において通常の知識を有する者であるならば、開示された実施形態が、本質的な特性から外れない範囲で変形された形態に具現されうるということを理解しうるであろう。従って、開示された実施形態は、限定的な観点ではなく、説明的な観点から考慮されなければならない。発明の範囲は、前述の実施形態の説明ではなく、特許請求の範囲に示されており、それと同等な範囲内にある全ての差異は、発明の範囲に含まれたものと解釈されなければならないのである。
【国際調査報告】