(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-31
(45)【発行日】2022-11-09
(54)【発明の名称】前処理装置、判定システム、前処理方法および前処理プログラム
(51)【国際特許分類】
G06T 11/80 20060101AFI20221101BHJP
【FI】
G06T11/80 C
(21)【出願番号】P 2021545064
(86)(22)【出願日】2019-09-12
(86)【国際出願番号】 JP2019035989
(87)【国際公開番号】W WO2021048993
(87)【国際公開日】2021-03-18
【審査請求日】2022-02-15
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】宮原 和大
(72)【発明者】
【氏名】木村 達郎
(72)【発明者】
【氏名】内藤 一兵衛
(72)【発明者】
【氏名】磯村 淳
(72)【発明者】
【氏名】池田 朋哉
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2003-85577(JP,A)
【文献】特開2000-251081(JP,A)
【文献】特開平7-182532(JP,A)
【文献】特開昭63-118982(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 11/80
(57)【特許請求の範囲】
【請求項1】
判定対象である座標が内外判定用の多角形の内外に存在するかを判定する判定処理の前処理として、前記内外判定用の多角形の各頂点の座標情報を取得し、前記内外判定用の多角形を複数の多角形に分割する分割部と、
分割した内外判定用の各多角形の各頂点の座標情報を、分割後多角形情報として出力する出力部と、
を有することを特徴とする前処理装置。
【請求項2】
判定対象である座標が内外判定用の多角形の内外に存在するか否かを判定する判定処理を行う判定装置と、前記判定処理の前処理を行う第1の前処理装置と、を有する判定システムにおいて、
前記第1の前処理装置は、
前処理として、前記内外判定用の多角形の各頂点の座標情報を取得し、前記内外判定用の多角形を複数の多角形に分割する分割部と、
分割した内外判定用の各多角形の各頂点の座標情報を、分割後多角形情報として出力する第1の出力部と、
を有し、
前記判定装置は、
前記前処理後の情報を用いて、前記判定対象である座標が前記内外判定用の多角形の内外に存在するか否かを判定する
ことを特徴とする判定システム。
【請求項3】
前処理装置が行う前処理方法であって、
判定対象である座標が内外判定用の多角形の内外に存在するかを判定する判定処理の前処理として、前記内外判定用の多角形の各頂点の座標情報を取得し、前記内外判定用の多角形を複数の多角形に分割する分割工程と、
分割した内外判定用の各多角形の各頂点の座標情報を、分割後多角形情報として出力する工程と、
を含んだことを特徴とする前処理方法。
【請求項4】
判定対象である座標が内外判定用の多角形の内外に存在するかを判定する判定処理の前処理として、前記内外判定用の多角形の各頂点の座標情報を取得し、前記内外判定用の多角形を複数の多角形に分割する分割ステップと、
分割した内外判定用の各多角形の各頂点の座標情報を、分割後多角形情報として出力するステップと、
をコンピュータに実行させるための前処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、前処理装置、判定システム、前処理方法および前処理プログラムに関する。
【背景技術】
【0002】
特定の座標が、特定の多角形の内部に含まれるかを判定する多角形内外判定技術がある。多角形内外判定技術は、例えば、地理上の自動車等の座標が、道路領域を表現した多角形に含まれるかを判定する場合に適用される。
【0003】
例えば、従来の多角形内外判定技術として、Crossing Number法およびWinding Number法による判定技術がある(例えば、非特許文献1参照)。これらの判定技術は、判定対象の多角形の全ての辺と判定対象の座標の位置関係を集計することで、座標が多角形の内部に含まれるかを判定するものである。
【0004】
また、従来の多角形内外判定技術として、bounding containerによる簡易判定技術がある(例えば、非特許文献2参照)。このbounding containerとは、判定対象の多角形を含むような図形である。この技術は、bounding containerとして、内外判定を高速に実行可能な図形を選択し、bounding containerに含まれる座標のみにCrossing Number法やWinding Number法を適用することで、平均処理時間を削減する技術である。上記のbounding containerとして、XY軸に平行な辺を持つ長方形(MBR:Minimal Bounding Rectangle)が一般に用いられる。
【先行技術文献】
【非特許文献】
【0005】
【文献】“Inclusion of a Point in a Polygon”,[online],[令和1年8月23日検索],インターネット<URL:http://geomalgorithms.com/a03-_inclusion.html>
【文献】“Bounding Containers for Point Sets”,[online],[令和1年8月23日検索],インターネット<URL:http://geomalgorithms.com/a08-_containers.html>
【発明の概要】
【発明が解決しようとする課題】
【0006】
道路領域に地理上の自動車等が含まれるか否かの判定に多角形内外判定技術が適用される場合、この多角形は、道路領域を表現するため、多量の頂点を持ち、細長い形状をしているという特徴を有する。
【0007】
しかしながら、Crossing Number法およびWinding Number法は、処理時間が頂点数に比例するという性質があるため、多量の頂点を持つ多角形に対して判定を行うと、処理時間が長くなるという問題がある。また、MBRは、細長い多角形に対しては、多角形外の領域も多く含んでしまうという性質があるため、細長い形状を有する多角形に対して判定を行うと、平均処理時間の短縮効果が出にくいという問題がある。
【0008】
本発明は、上記に鑑みてなされたものであって、多角形内外判定処理に要する処理時間を短縮することができる前処理装置、判定システム、前処理方法および前処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上述した課題を解決し、目的を達成するために、本発明の前処理装置は、判定対象である座標が内外判定用の多角形の内外に存在するかを判定する判定処理の前処理として、内外判定用の多角形の各頂点の座標情報を取得し、内外判定用の多角形の頂点を削減する削減部と、削減部が頂点を削減した後の多角形の各頂点の座標情報を、判定処理を行う装置に出力する出力部と、を有することを特徴とする。
【0010】
また、本発明の判定システムは、判定対象である座標が内外判定用の多角形の内外に存在するか否かを判定する判定装置と、判定処理の前処理を行う第1の前処理装置と、を有する判定システムにおいて、第1の前処理装置は、内外判定用の多角形の各頂点の座標情報を取得し、内外判定用の多角形の頂点を削減する第1の前処理を行う削減部と、削減部が頂点を削減した後の多角形の各頂点の座標情報である削減後多角形情報を出力する出力部と、を有し、判定装置は、前処理後の情報を用いて、判定対象である座標が内外判定用の多角形の内外に存在するか否かを判定することを特徴とする。
【0011】
また、本発明の前処理方法は、前処理装置が行う前処理方法であって、判定対象である座標が内外判定用の多角形の内外に存在するかを判定する判定処理の前処理として、内外判定用の多角形の各頂点の座標情報を取得し、内外判定用の多角形の頂点を削減する工程と、頂点を削減された後の多角形の各頂点の座標情報を、判定処理を行う装置に出力する工程と、を含んだことを特徴とする。
【0012】
また、本発明の前処理プログラムは、判定対象である座標が内外判定用の多角形の内外に存在するかを判定する判定処理の前処理として、内外判定用の多角形の各頂点の座標情報を取得し、内外判定用の多角形の頂点を削減するステップと、頂点を削減された後の多角形の各頂点の座標情報を、判定処理を行う装置に出力するステップと、をコンピュータに実行させる。
【発明の効果】
【0013】
本発明によれば、多角形内外判定処理に要する処理時間を短縮することができる。
【図面の簡単な説明】
【0014】
【
図1】
図1は、実施の形態1に係る判定システムの構成の一例を示すブロック図である。
【
図2】
図2は、
図1に示す頂点削減装置の構成の一例を示すブロック図である。
【
図3】
図3は、多角形情報のデータ構成の一覧を示す図である。
【
図4】
図4は、
図1に示す判定装置の構成の一例を示すブロック図である。
【
図5】
図5は、座標情報のデータ構成の一覧を示す図である。
【
図7】
図7は、
図1に示す判定システムによる判定処理の処理手順を説明するシーケンス図である。
【
図8】
図8は、
図7に示す頂点削減処理の処理手順を示すフローチャートである。
【
図9】
図9は、
図7に示す内外判定処理の処理手順を示すフローチャートである。
【
図10】
図10は、実施の形態2に係る判定システムの構成の一例を示すブロック図である。
【
図13】
図13は、
図10に示す判定システムによる判定処理の処理手順を説明するシーケンス図である。
【
図15】
図15は、実施の形態3に係る判定システムの構成の一例を示すブロック図である。
【
図18】
図18は、
図15に示す判定システムによる判定処理の処理手順を説明するシーケンス図である。
【
図20】
図20は、実施の形態4に係る判定システムの構成の一例を示すブロック図である。
【
図21】
図21は、
図20に示す判定システムによる判定処理の処理手順を説明するシーケンス図である。
【
図22】
図22は、実施の形態4の変形例1における判定処理の処理手順を説明するシーケンス図である。
【
図23】
図23は、実施の形態4の変形例2における判定処理の処理手順を説明するシーケンス図である。
【
図24】
図24は、実施の形態4の変形例3における判定処理の処理手順を説明するシーケンス図である。
【
図26】
図26は、頂点削減処理を実施した後に内外判定を行った場合と、前処理を実行せずに内外判定を行った場合とにおけるPIP処理時間を説明する図である。
【
図27】
図27は、検証において実施した分割処理を説明する図である。
【
図28】
図28は、分割処理を実施した後に内外判定を行った場合と、前処理を実行せずに内外判定を行った場合とにおけるPIP処理時間を説明する図である。
【
図29】
図29は、検証において実施した回転処理を説明する図である。
【
図30】
図30は、回転処理を実施した後に内外判定を行った場合と、前処理を実行せずに内外判定を行った場合とにおけるPIP処理時間を説明する図である。
【
図31】
図31は、実施の形態1~4に係る判定システムの他の適用例を説明する図である。
【
図32】
図32は、プログラムが実行されることにより、頂点削減装置、判定装置、回転装置及び分割装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【0015】
以下に、本願に係る前処理装置、判定システム、前処理方法および前処理プログラムの実施形態を図面に基づいて詳細に説明する。また、本発明は、以下に説明する実施形態により限定されるものではない。
【0016】
[実施の形態1]
まず、実施の形態1について説明する。本実施の形態1では、判定対象である座標が内外判定用の多角形の内外に存在するかを判定する内外判定処理の前に、内外判定用の多角形の頂点を削減することによって、内外判定処理に要する処理時間を短縮する。
【0017】
[判定システムの構成]
図1は、実施の形態1に係る判定システムの構成の一例を示すブロック図である。
図1に示すように、本実施の形態1に係る判定システム1は、クライアント端末2、内外判定制御装置3、頂点削減装置10及び判定装置20を有する。クライアント端末2、内外判定制御装置3は、ネットワーク等を介して接続する。内外判定制御装置3、頂点削減装置10及び判定装置20は、ネットワーク等を介して接続する。
【0018】
クライアント端末2は、判定システム1の利用者が使用する端末装置である。クライアント端末2は、判定対象である座標の座標情報D20と、内外判定用の多角形の各頂点の座標情報である多角形情報D10とを、内外判定制御装置3に送信し、判定依頼を行う。
【0019】
内外判定制御装置3は、頂点削減装置10及び判定装置20における処理を制御するサーバ装置である。内外判定制御装置3は、クライアント端末2による判定依頼を受けると、判定装置20に、判定対象である座標が内外判定用の多角形の内外に存在するかを判定する内外判定処理(判定処理)を実行させて、判定結果をクライアント端末2に返信する。また、本実施の形態1では、内外判定制御装置3は、判定装置20が内外判定処理を実行する前に、内外判定処理の前処理を頂点削減装置10に実行させる。
【0020】
頂点削減装置10は、内外判定制御装置3から多角形情報D10を受信し、内外判定用の多角形の頂点を削減する前処理を実行する。頂点削減装置10は、頂点を削減した後の多角形の各頂点の座標情報である削減後多角形情報D11を内外判定制御装置3に出力する。
【0021】
判定装置20は、判定対象である座標が内外判定用の多角形の内外に存在するかを判定する内外判定処理を行う。この際、判定装置20は、削減後多角形情報D11と、判定対象である座標の座標情報D20とを基に、内外判定処理を行う。判定装置20は、判定結果を含む判定情報を内外判定制御装置3に出力する。
【0022】
[頂点削減装置]
次に、
図1に示す頂点削減装置10について説明する。
図2は、
図1に示す頂点削減装置10の構成の一例を示すブロック図である。
図2に示すように、頂点削減装置10は、通信部11、記憶部12及び制御部13を有する。
【0023】
通信部11は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部11は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置と制御部13(後述)との間の通信を行う。
【0024】
通信部11は、ネットワークを介して、内外判定制御装置3から多角形情報D10を受信する。また、通信部11は、削減後多角形情報D11を、内外判定制御装置3に送信する。
【0025】
記憶部12は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現され、頂点削減装置10を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部12は、多角形情報D10及び削減後多角形情報D11を記憶する。
【0026】
多角形情報D10は、内外判定用の多角形の各頂点の座標情報である。多角形情報D10は、内外判定制御装置3から送信される。
図3は、多角形情報D10のデータ構成の一覧を示す図である。
図3に示すように、多角形情報D10は、内外判定用の多角形の頂点の座標のリストであり、例えば、内外判定用の多角形が100個の頂点を有する場合には、100組の座標を有する。
【0027】
削減後座標情報D11は、内外判定用の多角形の各頂点に対する頂点削減部131(後述)の処理によって頂点が削減された多角形の各頂点の座標情報である。削減後座標情報D11は、例えば、100個から60個に頂点が削減された多角形の各頂点の座標リストである。
【0028】
制御部13は、頂点削減装置10全体を制御する。制御部13は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部13は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部13は、各種のプログラムが動作することにより各種の処理部として機能する。制御部13は、頂点削減部131(削減部)を有する。
【0029】
頂点削減部131は、内外判定処理の前処理として、多角形情報D10を取得し、内外判定用の多角形の頂点を削減する。頂点削減部131は、内外判定用の多角形の頂点に対して、適当な間隔で間引きする処理を行う。例えば、頂点削減部131は、Ramer-Douglas-Peuckerのアルゴリズム(例えば、参考文献1参照)などを用いて、頂点削減処理を実現する。
参考文献1:“Ramer-Douglas-Peucker Algorithm”,[online],[令和1年8月23日検索],インターネット<URL:https://siguniang.wordpress.com/2012/07/16/ramer-douglas-peucker-algorithm/>
【0030】
頂点削減部131は、内外判定用の多角形の各頂点に対する頂点削減処理によって頂点が削減された多角形の各頂点の座標情報である削減後座標情報D11を、記憶部12に格納するとともに、通信部11を介して、この情報を内外判定制御装置3に出力する。
【0031】
[判定装置]
次に、
図1に示す判定装置20について説明する。
図4は、
図1に示す判定装置20の構成の一例を示すブロック図である。
図4に示すように、判定装置20は、通信部21、記憶部22及び制御部23を有する。
【0032】
通信部21は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースであり、NIC等で実現され、LANやインターネットなどの電気通信回線を介した他の装置と制御部23(後述)との間の通信を行う。通信部21は、ネットワークを介して、内外判定制御装置3から、内外判定用の多角形の各頂点の座標情報として、削減後多角形情報D11を受信するとともに、座標情報D20を受信する。また、通信部21は、内外判定部231(後述)の判定結果を、内外判定制御装置3に送信する。
【0033】
記憶部22は、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現され、判定装置20を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部22は、削減後多角形情報D11及び座標情報D20を記憶する。
【0034】
座標情報D20は、判定対象である座標の座標情報である。座標情報D20は、内外判定制御装置3から送信される。
図5は、座標情報D20のデータ構成の一覧を示す図である。
図5に示すように、座標情報D20は、判定対象である座標の経度及び緯度を示す。
【0035】
制御部23は、頂点削減装置10全体を制御する。制御部23は、例えば、CPU、MPU等の電子回路や、ASIC、FPGA等の集積回路である。また、制御部23は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部23は、各種のプログラムが動作することにより各種の処理部として機能する。制御部23は、内外判定部231を行う。
【0036】
内外判定部231は、削減後多角形情報D11と座標情報D20とを基に、判定対象である座標が内外判定用の多角形の内外に存在するかを判定する内外判定処理を行う。内外判定部231は、MBRによる簡易判定後に、Crossing Number法またはWinding Number法による詳細判定を実行する。
【0037】
[頂点削減処理]
次に、頂点削減装置10が実行する頂点削減処理について具体的に説明する。
図6は、頂点削減処理を説明する図である。
図6の(1)は、頂点削減処理前の内外判定用の多角形P10を示し、
図6の(2)は、頂点削減処理後の多角形P11を示す。説明のために、
図6は、MBR40、判定対象である座標C1,C2,C3も示す。
【0038】
図6の(1)に示す多角形P10は、頂点の数が16個である。頂点削減装置10では、頂点削減部131が、Ramer-Douglas-Peuckerのアルゴリズムを用いて、多角形P10の頂点を削減する。Ramer-Douglas-Peuckerのアルゴリズムは、(A)ルートの始点、終点をプロット対象とし、(B)プロット対象をつなげた直線と、その間の各点との距離を調べ、許容距離以上離れた点で、最も離れた点を探し出し、(C)そこを新たにプロット対象とし、(B),(C)の処理を再帰的に繰り返し、(D)ε以上離れた点がなければ、終了とするアルゴリズムである。
【0039】
この処理により、
図6の(2)に示すように、頂点削減部131は、頂点の数が16個である多角形P10と比して、頂点の数が10個にまで削減された多角形P11を生成する。そして、判定装置20では、この多角形P11を内外判定用の多角形として判定処理を行う。
【0040】
この場合、詳細判定が必要である座標C2,C3については、頂点が削減された多角形P11を基に詳細判定が実行されるため、当初の内外判定用の多角形P10を対象として詳細判定を行う場合と比較して、詳細判定処理の処理時間を短縮することができる。なお、座標C1については、MBR40の外側であるため、簡易判定のみで判定が終了となる。
【0041】
[判定処理の処理手順]
次に、判定システム1における判定処理の処理手順について説明する。
図7は、
図1に示す判定システム1による判定処理の処理手順を説明するシーケンス図である。
【0042】
まず、クライアント端末2は、判定対象である座標の座標情報D20と、内外判定用の多角形の各頂点の座標情報である多角形情報D10とを、内外判定制御装置3に送信し、判定依頼を行う(ステップS1)。内外判定制御装置3は、判定依頼を受けると、多角形情報D10を頂点削減装置10に送信し(ステップS2)、前処理を実行させる。
【0043】
頂点削減装置10は、前処理として、内外判定制御装置3から受信した多角形情報D10を基に、内外判定用の多角形の頂点を削減する頂点削減処理を実行し(ステップS3)、削減後多角形情報D11を内外判定制御装置3に送信する(ステップS4)。
【0044】
内外判定制御装置3は、削減後多角形情報D11と座標情報D20とを判定装置20に送信し(ステップS5)、内外判定処理を実行させる。内外判定制御装置3は、削減後多角形情報D11と座標情報D20とを基に、内外判定処理を行い(ステップS6)、判定情報を内外判定制御装置3に送信する(ステップS7)。内外判定制御装置3は、判定情報をクライアント端末2に送信する(ステップS8)。
【0045】
[頂点削減処理の処理手順]
次に、頂点削減処理(ステップS3)の処理手順について説明する。
図8は、
図7に示す頂点削減処理の処理手順を示すフローチャートである。
【0046】
図8に示すように、頂点削減装置10は、内外判定制御装置3による多角形情報D10の入力を受け付けると(ステップS11)、内外判定用の多角形の頂点を削減する(ステップS12)。頂点削減装置10は、削減後多角形情報D11を生成し、内外判定制御装置3に出力して(ステップS13)、頂点削減処理を終了する。
【0047】
[内外判定処理の処理手順]
次に、内外判定処理(ステップS6)の処理手順について説明する。
図9は、
図7に示す内外判定処理の処理手順を示すフローチャートである。
【0048】
図9に示すように、判定装置20は、判定対象の座標はMBRの内側か否かを判定する簡易判定処理を行う(ステップS21)。判定装置20は、判定対象の座標はMBRの内側でないと判定した場合(ステップS21:No)、この座標は内外判定用の多角形の外側である(「false」)と判定する(ステップS22)。
【0049】
一方、判定装置20は、判定対象の座標はMBRの内側であると判定した場合(ステップS21:Yes)、Crossing Number法またはWinding Number法による詳細判定を行う。この場合、判定装置20は、削減後多角形情報D11に示された多角形を内外判定対象の多角形とし、判定対象の座標は内外判定用の多角形の内側か否かを判定する(ステップS23)。
【0050】
判定装置20は、判定対象の座標は内外判定用の多角形の内側でないと判定した場合(ステップS23:No)、ステップS22に進み、この座標は内外判定用の多角形の外側である(「false」)と判定する(ステップS22)。
【0051】
これに対し、判定装置20は、判定対象の座標は内外判定用の多角形の内側であると判定した場合(ステップS23:Yes)、この座標は内外判定用の多角形の内側である(「true」)と判定する(ステップS24)。
【0052】
判定装置20は、判定対象の座標ごとにステップS21~ステップS24の処理を実行し、判定対象の座標ごとに判定結果を対応付けた判定情報を内外判定制御装置3に送信する。
【0053】
[実施の形態1の効果]
このように、実施の形態1では、内外判定用の多角形の頂点を削減する前処理を行い、頂点が削減された多角形を用いて各座標に対する多角形内外判定処理を行う。したがって、実施の形態1では、詳細判定処理時に、頂点が削減された多角形を基に詳細判定が実行されるため、当初の内外判定用の多角形を対象として詳細判定を行う場合と比較して、詳細判定処理の処理時間を短縮することができる。
【0054】
本実施の形態1は、特に、地理上の自動車等の座標が道路領域を表現した多角形に含まれるかの判定に適用された場合、多量の頂点を持つ道路領域を表現した多角形に対して予め頂点を削減してから詳細判定処理を行うため、判定処理の処理時間を高速化することができる。
【0055】
なお、本実施の形態1では、内外判定制御装置3は、頂点削減装置10に対し、事前に内外判定用の多角形の頂点を削減させて、内外判定制御装置3の記憶領域に格納し、内外判定時に読み出して、判定装置20に送信してもよい。
【0056】
[実施の形態2]
次に、実施の形態2について説明する。実施の形態2では、判定装置による内外判定処理の前に、内外判定用の多角形及び判定対象の座標を回転し、回転後の多角形を含むMBRの領域を削減することによって、内外判定処理に要する処理時間を短縮する。
【0057】
図10は、実施の形態2に係る判定システムの構成の一例を示すブロック図である。
図10に示すように実施の形態2に係る判定システム201は、
図1に示す判定システム1と比して、頂点削減装置10に代えて回転装置210を有する。
【0058】
回転装置210は、内外判定制御装置3から多角形情報D10及び座標情報D20を受信し、内外判定用の多角形及び判定対象の座標を回転する前処理を実行する。回転装置210は、回転後の多角形の各頂点の座標情報である回転後多角形情報D12と、回転後の判定対象の座標の座標情報である回転後座標情報D22を内外判定制御装置3に出力する。
【0059】
判定装置20は、回転後多角形情報D12と回転後座標情報D22とを基に、回転後の判定対象の座標が、回転後の内外判定用の多角形の内外に存在するかを判定する内外判定処理を行う。
【0060】
[回転装置]
次に、
図10に示す回転装置210について説明する。
図11は、
図10に示す回転装置210の構成の一例を示すブロック図である。
図11に示すように、回転装置210は、通信部211、記憶部212及び制御部213を有する。
【0061】
通信部211は、頂点削減装置10における通信部11と同様の機能を有する。通信部211は、ネットワークを介して、内外判定制御装置3から多角形情報D10及び座標情報D20を受信する。また、通信部211は、内外判定用の多角形及び判定対象の座標に対する回転部2131(後述)による回転処理によって生成された回転後多角形情報D12と回転後座標情報D22とを、内外判定制御装置3に送信する。
【0062】
記憶部212は、頂点削減装置10における記憶部12と同様の機能を有する。記憶部312は、多角形情報D10、座標情報D20、回転後多角形情報D12及び回転後座標情報D22を記憶する。
【0063】
制御部213は、頂点削減装置10における制御部13と同様の機能を有する。制御部213は、回転部2131を有する。
【0064】
回転部2131は、内外判定処理の前処理として、多角形情報D10及び座標情報D20を取得し、内外判定用の多角形と判定対象の座標とを回転する。例えば、回転部2131は、回転角の導出アルゴリズム(例えば、参考文献2参照)などを用いて、回転処理を実現する。
参考文献2:“Minimum-Area Rectangle Containing a Set of Points”,[online],[令和1年8月23日検索],インターネット<URL:https://www.geometrictools.com/Documentation/MinimumAreaRectangle.pdf>
【0065】
回転部2131は、回転後多角形情報D12と回転後座標情報D22とを、記憶部212に格納するとともに、通信部211を介して、これらの情報を内外判定制御装置3に出力する。
【0066】
[回転処理]
次に、回転装置210が実行する回転処理について具体的に説明する。
図12は、回転処理を説明する図である。
図12の(1)は、回転処理前の内外判定用の多角形P10及び判定対象の座標C1,C2,C3を示し、
図12の(2)は、回転処理後の多角形P11及び回転後の座標C12,C22,C32を示す。また、説明のために、
図12は、回転処理前のMBR40と、回転処理後に設定されるMBR42も示す。
【0067】
図12の(1)に示すように、多角形P10に対するMBR40は、座標C1,C2を含む略正方形である。回転装置210では、回転部2131が、回転角の導出のアルゴリズムを用いて、多角形P10及び判定対象の座標C1,C2,C3を適宜回転する。
【0068】
この処理により、
図12の(2)に示すように、回転後の内外判定用の多角形P12を含むMBRとして、MBR40よりも領域が削減されたMBR42を設定できる。さらに、判定対象の座標C22は、回転により、新たなMBR42外に位置することになり、簡易判定のみで判定が終了される。
【0069】
この結果、判定装置20による判定処理では、領域が削減されたMBR42を用いて簡易判定を行うため、簡易判定のみで、内外判定用の多角形外であると判定される座標が増え、詳細判定の実行回数を減らすことができる。
図12の例では、詳細判定の対象となる座標は、座標C12,C22,C23のうち、座標C32のみとなる。
【0070】
[判定処理の処理手順]
次に、判定システム201における判定処理の処理手順について説明する。
図13は、
図10に示す判定システム201による判定処理の処理手順を説明するシーケンス図である。
【0071】
図13に示すステップS31は、
図7に示すステップS1と同じ処理である。内外判定制御装置3は、判定依頼を受けると、多角形情報D10及び座標情報D20を、回転装置210に送信し(ステップS32)、前処理を実行させる。
【0072】
回転装置210は、前処理として、内外判定制御装置3から受信した多角形情報D10及び座標情報D20を基に、内外判定用の多角形と判定対象の座標とを回転する回転処理を実行し(ステップS33)、回転後多角形情報D12及び回転後座標情報D22を内外判定制御装置3に送信する(ステップS34)。
【0073】
内外判定制御装置3は、回転後多角形情報D12及び回転後座標情報D22を判定装置20に送信し(ステップS35)、内外判定処理を実行させる。判定装置20は、回転後多角形情報D12と、回転後座標情報D22とを基に、回転後の判定対象の座標が、回転後の内外判定用の多角形の内外に存在するかを判定する内外判定処理を行う(ステップS36)。なお、内外判定処理は、
図7に示すステップS6と同じ処理である。また、
図13に示すステップS37,S38は、
図7に示すステップS7,S8と同じ処理である。
【0074】
[回転処理の処理手順]
次に、回転処理(ステップS33)の処理手順について説明する。
図14は、
図13に示す回転処理の処理手順を示すフローチャートである。
【0075】
図14に示すように、回転装置210は、内外判定制御装置3による多角形情報D10及び座標情報D20の入力を受け付けると(ステップS41)、内外判定用の多角形及び判定対象の座標を回転する(ステップS42)。回転装置210は、回転後多角形情報D12及び回転後座標情報D22を生成し、内外判定制御装置3に出力して(ステップS43)、回転処理を終了する。
【0076】
[実施の形態2の効果]
このように、実施の形態2では、内外判定用の多角形及び判定対象の座標を回転する前処理を行い、回転前と比して領域が削減されたMBRを用いて、回転後の判定対象の各座標に対する多角形内外判定処理を行う。したがって、実施の形態2では、領域が削減されたMBRを用いて簡易判定を行うため、簡易判定のみで内外判定用の多角形外であると判定される座標が増える。これによって、実施の形態2では、詳細判定の実行回数を減らすことができ、判定処理の処理時間全体を短縮することができる。
【0077】
なお、本実施の形態2では、内外判定制御装置3は、回転装置210に対し、事前に内外判定用の多角形と判定対象の座標とを回転させて、内外判定制御装置3の記憶領域に格納し、内外判定時に読み出して、判定装置20に送信してもよい。
【0078】
[実施の形態3]
次に、実施の形態3について説明する。実施の形態3では、判定装置による内外判定処理の前に、内外判定用の多角形を、領域の小さな複数の多角形に分割し、分割後の多角形に対する各MBRの領域を削減することによって、内外判定処理に要する処理時間を短縮する。
【0079】
図15は、実施の形態3に係る判定システムの構成の一例を示すブロック図である。
図15に示すように実施の形態3に係る判定システム301は、
図1に示す判定システム1と比して、頂点削減装置10に代えて分割装置310(前処理装置、第1の前処理装置)を有する。
【0080】
分割装置310は、内外判定制御装置3から多角形情報D10を受信し、内外判定用の多角形を分割する前処理を実行する。分割装置310は、内外判定用の多角形を分割して、分割後の各多角形の各頂点の座標情報を含む分割後多角形情報D13を、内外判定制御装置3に出力する。
【0081】
判定装置20は、分割後多角形情報D13と座標情報D20とを基に、分割後の内外判定用の多角形ごとに、判定対象の座標が内外判定用の多角形の内外に存在するかを判定する内外判定処理を行う。
【0082】
[分割装置]
次に、
図15に示す分割装置310について説明する。
図16は、
図15に示す分割装置310の構成の一例を示すブロック図である。
図16に示すように、分割装置310は、通信部311(出力部、第1の出力部)、記憶部312及び制御部313を有する。
【0083】
通信部311は、頂点削減装置10における通信部11と同様の機能を有する。通信部311は、ネットワークを介して、内外判定制御装置3から多角形情報D10を受信する。また、通信部311は、内外判定用の多角形に対する分割部3131(後述)による分割処理によって生成された分割後多角形情報D13を、内外判定制御装置3に送信する。
【0084】
記憶部312は、頂点削減装置10における記憶部12と同様の機能を有する。記憶部は、多角形情報D10及び分割後多角形情報D13を記憶する。
【0085】
制御部313は、頂点削減装置10における制御部13と同様の機能を有する。制御部313は、分割部3131を有する。
【0086】
分割部3131は、内外判定処理の前処理として、多角形情報D10を取得し、内外判定用の多角形を複数の多角形に分割する。例えば、分割部3131は、多角形を三角形に分割するアルゴリズム(例えば、参考文献3参照)などを用いて、分割処理を実現する。
参考文献3:“Polygon triangulation inO(n log logn) time with simple data structures”,[online],[令和1年8月23日検索],インターネット<URL:https://link.springer.com/article/10.1007%2FBF02187846>
【0087】
分割部3131は、内外判定用の多角形に対する分割処理によって分割された各多角形の各頂点の座標情報である分割後多角形情報D13を記憶部312に格納するとともに、通信部211を介して、この情報を内外判定制御装置3に出力する。
【0088】
[分割処理]
次に、分割装置310が実行する分割処理について具体的に説明する。
図17は、分割処理を説明する図である。
図17の(1)は、分割処理前の内外判定用の多角形P10及び判定対象の座標C1,C2,C3を示し、
図17の(2)は、分割処理後の多角形P13-1,P13-2,P13-3を示す。また、説明のために、
図17は、MBR40と、分割後の各多角形P13-1,P13-2,P13-3をそれぞれに対応するMBR43-1,43-2,43-3と、判定対象である座標C1,C2,C3も示す。
【0089】
図17の(1)に示すように、多角形P10に対するMBR40は、座標C1,C2を含む略正方形である。分割装置310では、分割部3131が、多角形を三角形に分割するアルゴリズムを用いて、多角形P10を、例えば、3個の多角形P13-1,P13-2,P13-3(
図17の(2)参照)に分割する。
【0090】
この処理により、
図17の(2)に示すように、分割後の内外判定用の多角形P13-1,P13-2,P13-3をそれぞれ含むMBRとして、MBR43-1,43-2,43-3を設定できる。
図17の(2)に示すように、これらのMBR43-1,43-2,43-3は、MBR40よりも領域が削減されたものとなる。そして、
図17の(2)に示すように、MBR40内に位置する判定対象の座標C2は、新たなMBR43-1,43-2,43-3外に位置することになり、簡易判定のみで判定が終了される。
【0091】
この結果、判定装置20による判定処理では、領域が削減されたMBR43-1,43-2,43-3を用いて簡易判定を行うため、簡易判定のみで、内外判定用の多角形外であると判定される座標が増え、詳細判定の実行回数を減らすことができる。
図17の例では、詳細判定の対象となる座標は、座標C1,C2,C3のうち、座標C3のみとなる。
【0092】
[判定処理の処理手順]
次に、判定システム301における判定処理の処理手順について説明する。
図18は、
図15に示す判定システム301による判定処理の処理手順を説明するシーケンス図である。
【0093】
図18に示すステップS51は、
図7に示すステップS1と同じ処理である。内外判定制御装置3は、判定依頼を受けると、多角形情報D10を、分割装置310に送信し(ステップS52)、前処理を実行させる。
【0094】
分割装置310は、前処理として、内外判定制御装置3から受信した多角形情報D10を基に、内外判定用の多角形を複数の多角形に分割する分割処理を実行し(ステップS53)、分割後多角形情報D13を内外判定制御装置3に送信する(ステップS54)。
【0095】
内外判定制御装置3は、分割後多角形情報D13及び座標情報D20を判定装置20に送信し(ステップS55)、内外判定処理を実行させる。判定装置20は、分割後多角形情報D13と座標情報D20とを基に、分割された内外判定用の多角形ごとに、判定対象の座標が、分割された内外判定用の多角形の内外に存在するかを判定する内外判定処理を行う(ステップS56)。なお、内外判定処理は、
図7に示すステップS6と同じ処理である。また、
図17に示すステップS57,S58は、
図7に示すステップS7,S8と同じ処理である。
【0096】
[分割処理の処理手順]
次に、分割処理(ステップS53)の処理手順について説明する。
図19は、
図18に示す分割処理の処理手順を示すフローチャートである。
【0097】
図14に示すように、回転装置210は、内外判定制御装置3による多角形情報D10の入力を受け付けると(ステップS61)、内外判定用の多角形を複数の多角形に分割する(ステップS62)。分割装置310は、分割後多角形情報D13を生成し、内外判定制御装置3に出力して(ステップS63)、回転処理を終了する。
【0098】
[実施の形態3の効果]
このように、実施の形態3では、内外判定用の多角形を複数の多角形に分割する前処理を行い、分割前の多角形に対するMBRと比して、全体として領域が削減された複数のMBRを用いて、判定対象の各座標に対する多角形内外判定処理を行う。したがって、実施の形態3では、全体として領域が削減された複数のMBRを用いて簡易判定を行うため、簡易判定のみで内外判定用の多角形外であると判定される座標が増える。これによって、実施の形態3では、詳細判定の実行回数を減らすことができ、判定処理の処理時間全体を短縮することができる。
【0099】
なお、本実施の形態3では、内外判定制御装置3は、分割装置310に対し、事前に内外判定用の多角形を複数の多角形に分割させて、内外判定制御装置3の記憶領域に格納し、内外判定時に読み出して、判定装置20に送信してもよい。
【0100】
[実施の形態4]
次に、実施の形態4について説明する。実施の形態4では、実施の形態1~3で説明した前処理を順に実行することによって、内外判定処理に要する処理時間をさらに短縮する。
【0101】
図20は、実施の形態4に係る判定システムの構成の一例を示すブロック図である。
図20に示すように実施の形態4に係る判定システム401は、前処理装置として、頂点削減装置10、分割装置310及び回転装置210を有する。
【0102】
内外判定制御装置3は、例えば、最初に、頂点削減装置10に多角形情報D10を送信し、頂点削減装置10による頂点削減処理を第1の前処理として実行させることにより、削減後多角形情報D11を取得する。
【0103】
そして、内外判定制御装置3は、分割装置310に削減後多角形情報D11を送信し、分割装置310による分割処理を第2の前処理として実行させる。これによって、内外判定制御装置3は、頂点削減後の多角形に対する分割後の頂点削減・分割後多角形情報D13´を取得する。
【0104】
続いて、内外判定制御装置3は、回転装置210に頂点削減・分割後多角形情報D13´及び座標情報D20を送信し、回転装置210による回転処理を第3の前処理として実行させる。これによって、内外判定制御装置3は、頂点削減後に分割された内外判定用の各多角形に対する回転後の頂点削減・分割・回転後多角形情報D12´と回転後座標情報D22を取得する。
【0105】
判定装置20は、頂点削減・分割・回転後多角形情報D12´と回転後座標情報D22とを基に、分割及び回転後の内外判定用の多角形ごとに、判定対象の座標が内外判定用の多角形の内外に存在するかを判定する内外判定処理を行う。
【0106】
[判定処理の処理手順]
次に、判定システム401における判定処理の処理手順について説明する。
図21は、
図20に示す判定システム401による判定処理の処理手順を説明するシーケンス図である。
【0107】
図20に示すステップS71~ステップS74は、
図7に示すステップS1~ステップS4と同じ処理である。内外判定制御装置3は、削減後多角形情報D11を、分割装置310に送信し(ステップS75)、前処理を実行させる。
【0108】
分割装置310は、前処理として、頂点削減後の多角形に対し、複数の多角形に分割する分割処理を実行し(ステップS76)、頂点削減・分割後多角形情報D13´を内外判定制御装置3に送信する(ステップS77)。ステップS76は、
図18に示すステップS53と同じ処理である。
【0109】
そして、内外判定制御装置3は、頂点削減・分割後多角形情報D13´及び座標情報D20を、回転装置210に送信し(ステップS78)、前処理を実行させる。回転装置210は、前処理として、内外判定制御装置3から受信した頂点削減・分割後多角形情報D13´及び座標情報D20を基に、内外判定用の各多角形と判定対象の座標とを回転する回転処理を実行し(ステップS79)、頂点削減・分割・回転後多角形情報D12´及び回転後座標情報D22を内外判定制御装置3に送信する(ステップS80)。ステップS79は、
図13に示すステップS33と同じ処理である。
【0110】
内外判定制御装置3は、頂点削減・分割・回転後多角形情報D12´及び回転後座標情報D22を判定装置20に送信し(ステップS81)、内外判定処理を実行させる。判定装置20は、頂点削減・分割・回転後多角形情報D12´と回転後座標情報D22とを基に、分割及び回転後の内外判定用の多角形ごとに、判定対象の座標が内外判定用の多角形の内外に存在するかを判定する内外判定処理を行う(ステップS82)。なお、内外判定処理は、
図7に示すステップS6と同じ処理である。また、
図21に示すステップS83,S84は、
図7に示すステップS7,S8と同じ処理である。
【0111】
[実施の形態4の効果]
このように、実施の形態4では、内外判定用の多角形に対する頂点削減処理、頂点削減後の内外判定用の多角形に対する回転処理、及び、頂点削減及び回転後の内外判定用の多角形に対する分割処理を、前処理として順次実行する。これによって、実施の形態4では、簡易判定のみで内外判定用の多角形外であると判定される座標が増えることが期待でき、実施の形態1~3と比して、内外判定処理に要する処理時間をさらに短縮することができる。
【0112】
なお、実施の形態4では、内外判定用の多角形に対する頂点削減処理、頂点削減後の内外判定用の多角形に対する回転処理、及び、頂点削減及び回転後の内外判定用の多角形に対する分割処理の順で前処理を行う場合を例に説明したが、前処理の順序に限定はない。
【0113】
[実施の形態4の変形例1]
また、実施の形態4として、前処理装置として、頂点削減装置10、分割装置310及び回転装置210を有する例を説明したがこれに限らない。前処理装置は、頂点削減装置10及び回転装置210の2つであってもよい。この場合の判定処理の処理手順について説明する。
【0114】
図22は、実施の形態4の変形例1における判定処理の処理手順を説明するシーケンス図である。
図22に示すステップS91~ステップS94は、
図7に示すステップS1~ステップS4と同じ処理である。内外判定制御装置3は、削減後多角形情報D11と座標情報D20とを、回転装置210に送信し(ステップS95)、前処理を実行させる。
【0115】
回転装置210は、前処理として、内外判定制御装置3から受信した削減後多角形情報D11と座標情報D20とを基に、頂点削減後の内外判定用の多角形と判定対象の座標とを回転する回転処理を実行し(ステップS96)、頂点削減・回転後多角形情報D12″及び回転後座標情報D22を内外判定制御装置3に送信する(ステップS97)。ステップS96は、
図13に示すステップS33と同じ処理である。
【0116】
内外判定制御装置3は、頂点削減・回転後多角形情報D12″及び回転後座標情報D22を判定装置20に送信し(ステップS98)、内外判定処理を実行させる。判定装置20は、頂点削減・回転後多角形情報D12″と回転後座標情報D22とを基に、頂点削減及び回転後の内外判定用の多角形ごとに、判定対象の座標が内外判定用の多角形の内外に存在するかを判定する内外判定処理を行う(ステップS99)。なお、内外判定処理は、
図7に示すステップS6と同じ処理である。また、
図21に示すステップS100,S101は、
図7に示すステップS7,S8と同じ処理である。
【0117】
[実施の形態4の変形例2]
また、前処理装置は、頂点削減装置10及び分割装置310の2つであってもよい。この場合の判定処理の処理手順について説明する。
【0118】
図23は、実施の形態4の変形例2における判定処理の処理手順を説明するシーケンス図である。
図23に示すステップS111~ステップS114は、
図7に示すステップS1~ステップS4と同じ処理である。
図23に示すステップS115~ステップS117は、
図21に示すステップS75~ステップS77と同じ処理である。内外判定制御装置3は、頂点削減・分割後多角形情報D13´と座標情報D20とを、判定装置20に送信し(ステップS118)、内外判定処理を実行させる。
【0119】
判定装置20は、頂点削減・分割後多角形情報D13´と座標情報D20とを基に、頂点削減及び分割後の内外判定用の多角形ごとに、判定対象の座標が内外判定用の多角形の内外に存在するかを判定する内外判定処理を行う(ステップS119)。なお、内外判定処理は、
図7に示すステップS6と同じ処理である。また、
図23に示すステップS120,S121は、
図7に示すステップS7,S8と同じ処理である。
【0120】
[実施の形態4の変形例3]
また、前処理装置は、回転装置210及び分割装置310の2つであってもよい。この場合の判定処理の処理手順について説明する。
【0121】
図24は、実施の形態4の変形例3における判定処理の処理手順を説明するシーケンス図である。
図24に示すステップS131~ステップS134は、
図18に示すステップS51~ステップS54と同じ処理である。
【0122】
そして、内外判定制御装置3は、分割後多角形情報D13及び座標情報D20を、回転装置210に送信し(ステップS135)、前処理を実行させる。回転装置210は、前処理として、内外判定制御装置3から受信した分割後多角形情報D13及び座標情報D20を基に、内外判定用の各多角形と判定対象の座標とを回転する回転処理を実行し(ステップS136)、分割・回転後多角形情報D13″及び回転後座標情報D22を内外判定制御装置3に送信する(ステップS137)。ステップS136は、
図13に示すステップS33と同じ処理である。
【0123】
内外判定制御装置3は、分割・回転後多角形情報D13″及び回転後座標情報D22を判定装置20に送信し(ステップS138)、内外判定処理を実行させる。判定装置20は、分割・回転後多角形情報D13″と回転後座標情報D22とを基に、分割及び回転後の内外判定用の多角形ごとに、判定対象の座標が内外判定用の多角形の内外に存在するかを判定する内外判定処理を行う(ステップS139)。なお、内外判定処理は、
図7に示すステップS6と同じ処理である。また、
図24に示すステップS140,S141は、
図7に示すステップS7,S8と同じ処理である。
【0124】
[検証]
本実施の形態1~3における判定システムを用いた判定方法の、従来の判定方法に対する性能比較を検証した。
図25は、実験モデルを説明する図である。本検証では、
図25に示すような1つの多角形と車両4000台とを対象とする。
図25に示す多角形は、具体的には、長辺が7000m、であり、短辺が35mであり、頂点間の間隔が1mである道路ポリゴンである。そして、本検証は、車両が、MBR外かつポリゴン外、MBR内かつポリゴン外、MBR内かつポリゴン内の3つパターンを設け、10回試行した判定結果の平均値を採用して比較を行う。
【0125】
まず、前処理として道路ポリゴンに対する頂点削減処理を実施した後に内外判定を行った場合と、前処理を実行せずに内外判定を行った場合との比較結果について説明する。前処理として、道路ポリゴンの頂点数を1/2、1/10、1/100に削減した場合のPIP処理時間と、前処理を実行せずに内外判定を行った場合のPIP処理時間を測定した。
【0126】
図26は、頂点削減処理を実施した後に内外判定を行った場合と、前処理を実行せずに内外判定を行った場合とにおけるPIP処理時間を説明する図である。
図26に示すように、前処理を実行せずに内外判定を行った場合(
図26の「基準」)と比して、頂点数を1/2、1/10、1/100に削減した場合、それぞれ、基準におけるPIP時間の0.5倍、0.15倍、0.07倍にまで処理時間を短縮することができた。
【0127】
次に、前処理として道路ポリゴンを複数の多角形に分割する分割処理を実施した後に内外判定を行った場合と、前処理を実行せずに内外判定を行った場合との比較結果について説明する。
図27は、検証において実施した分割処理を説明する図である。
【0128】
本検証では、前処理として、道路ポリゴンP14(
図27の(1)参照)を道路ポリゴンP14-1,P-14-2(
図27の(2)参照)に2等分し、MBR44(
図27の(1)参照)を、MBR44よりも領域が削減されたMBR44-1,44-2(
図27の(2)参照)に分割した場合のPIP処理時間と、前処理を実行せずに内外判定を行った場合のPIP処理時間を測定した。
【0129】
図28は、分割処理を実施した後に内外判定を行った場合と、前処理を実行せずに内外判定を行った場合とにおけるPIP処理時間を説明する図である。実験結果は、車両4000台全てが分割処理によりMBR外に移動する位置にいることを想定したモデルとなっている。このように、モデルが極端であるのは、手法の改善効果がどの程度見込めるかの試算値のベースとするためである。
【0130】
分割処理を実行せずに内外判定を行った場合、MBR内にある車両4000台がPIP処理されるまでに要した合計時間は、7984msであった(
図28の「分割なし」)。これに対し、分割処理を実行して内外判定を行った場合は、MBR内にある車両4000台全てが「MBR外」になったため、簡易判定のみで処理が終了する。言い換えると、分割処理によって、MBR外となった車両に対する外積演算が省略することができる。このため、分割処理を実行して内外判定を行った場合(
図28の「分割あり」)、MBR外の4000台に対する内外判定処理に要した合計時間は、1.4msであった。
【0131】
この結果、分割処理を実施した後に内外判定を行った場合、分割処理時間とPIP処理時間とを合計した合計処理時間を、前処理を実行しない場合の処理時間の0.00018倍まで短縮することができた。
【0132】
そして、前処理として道路ポリゴンと車両を回転する回転処理を実施した後に内外判定を行った場合と、前処理を実行せずに内外判定を行った場合との比較結果について説明する。
図29は、検証において実施した回転処理を説明する図である。
【0133】
図29に示すように、本検証では、前処理として、道路ポリゴンP14(
図29の(1)参照)と車両とを45°回転した場合(
図29の(2)参照)のPIP処理時間と、前処理を実行せずに内外判定を行った場合のPIP処理時間を測定した。
図29の(2)に示すように、45°回転された道路ポリゴンP15に応じて、MBRは、MBR44よりも領域が削減されたMBR44-3となる。なお、実験結果は、車両4000台全てが回転処理によりMBR外に移動する位置にいることを想定したモデルとなっている。このように、モデルが極端であるのは、手法の改善効果がどの程度見込めるかの試算値のベースとするためである。また、回転処理時間は、PIP処理時間の1/10000以下と短い時間であった。
【0134】
図30は、回転処理を実施した後に内外判定を行った場合と、前処理を実行せずに内外判定を行った場合とにおけるPIP処理時間を説明する図である。回転処理を実行せずに内外判定を行った場合、MBR内にある車両4000台がPIP処理されるまでに要した合計時間は、8127msであった(
図30の「回転なし」)。
【0135】
これに対し、回転処理を実行して内外判定を行った場合(
図30の「回転あり」)、MBR内にある車両4000台全てが「MBR外」になったため、簡易判定のみで処理終了する。言い換えると、回転処理によって、MBR外となった車両に対する外積演算が省略することができる。このため、回転処理を実行して内外判定を行った場合(
図30の「回転あり」)、MBR外の4000台に対する内外判定処理に要した合計時間は、3.3msであった。
【0136】
この結果、回転処理を施した後に内外判定を行った場合、回転処理時間とPIP処理時間とを合計した合計処理時間を、前処理を実行しない場合の処理時間の0.0004倍まで短縮することができた。
【0137】
[他の適用例]
図31は、実施の形態1~4に係る判定システムの他の適用例を説明する図である。実施の形態1~4に係る判定システムは、海路上の船の座標判定(領域:海路)に適用が可能である。まず、海路(
図31の(1)に示す実線)を基に、海路の幅をWm(Wは自由に設定できる。)まで広げる。そして、実施の形態1~4に係る判定システムは、道路を新たな海路に置き換え、自動車を船に置き換えて、海上の船の位置判定を行う。
【0138】
また、実施の形態1~4に係る判定システムは、座標センサをつけた魚の追跡(領域:河川)に適用が可能である。具体的には、実施の形態1~4に係る判定システムは、道路を河川に置き換え、自動車を魚に置き換え、河川上の魚の位置判定を行う。
【0139】
[実施形態のシステム構成について]
図2に示す頂点削減装置10、
図4に示す判定装置20、
図11に示す回転装置210、
図16に示す分割装置310の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、頂点削減装置10、判定装置20、回転装置210及び分割装置310の機能の分散および統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
【0140】
また、頂点削減装置10、判定装置20、回転装置210及び分割装置310においておこなわれる各処理は、全部または任意の一部が、CPUおよびCPUにより解析実行されるプログラムにて実現されてもよい。また、頂点削減装置10においておこなわれる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
【0141】
また、実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともできる。もしくは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述および図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
【0142】
[プログラム]
図32は、プログラムが実行されることにより、頂点削減装置10、判定装置20、回転装置210及び分割装置310が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
【0143】
メモリ1010は、ROM1011およびRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
【0144】
ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、頂点削減装置10、判定装置20、回転装置210及び分割装置310の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、頂点削減装置10、判定装置20、回転装置210及び分割装置310における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
【0145】
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
【0146】
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093およびプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093およびプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【0147】
以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例および運用技術等はすべて本発明の範疇に含まれる。
【符号の説明】
【0148】
1,201,301,401 判定システム
2 クライアント端末
3 内外判定制御装置
10 頂点削減装置
11,21,211,311 通信部
12,22,212,312 記憶部
13,23,213,313 制御部
20 判定装置
131 頂点削減部
231 内外判定部
210 回転装置
310 分割装置
2131 回転部
3131 分割部