(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-15
(45)【発行日】2023-03-24
(54)【発明の名称】経路特定方法、装置、デバイス、プログラム及びコンピュータ記憶媒体
(51)【国際特許分類】
G01C 21/36 20060101AFI20230316BHJP
G01C 21/26 20060101ALI20230316BHJP
G16Y 10/40 20200101ALI20230316BHJP
G16Y 20/20 20200101ALI20230316BHJP
G16Y 40/60 20200101ALI20230316BHJP
【FI】
G01C21/36
G01C21/26 P
G16Y10/40
G16Y20/20
G16Y40/60
(21)【出願番号】P 2021514968
(86)(22)【出願日】2020-05-20
(86)【国際出願番号】 CN2020091420
(87)【国際公開番号】W WO2021103440
(87)【国際公開日】2021-06-03
【審査請求日】2021-03-17
(31)【優先権主張番号】201911173279.2
(32)【優先日】2019-11-26
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】512015127
【氏名又は名称】バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】ファン,チーチョウ
(72)【発明者】
【氏名】ザン,ハオ
【審査官】小林 勝広
(56)【参考文献】
【文献】中国特許出願公開第108074009(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 21/00-21/36、23/00-25/00
G08G 1/00-99/00
G09B 23/00-29/14
G16Y 10/00-40/60
(57)【特許請求の範囲】
【請求項1】
コンピュータにより実行される、経路特定方法であって、
ユーザが入力した経路記述情報を取得し、前記経路記述情報を用いて経路
形状を取得し、
道路網データにおいて前記経路
形状をマッチングして、前記経路
形状にマッチングされる経路を得て推薦経路を生成することを含み、
前記経路記述情報は、少なくとも、経路の特徴を記述する情報を含み、
前記推薦経路を生成することは、具体的に、
経路
形状における、少なくとも2本の線が交差することにより構成される交点を抽出し、
何れか一つの交点を選択し、選択された交点が経路
形状において対応する角度シーケンスを用いて道路網データで照合することにより、選択された交点にマッチングする交差点を取得して候補交差点とし、
すべての候補交差点に亘って、選択された交点を候補交差点の位置に固定的にマッピングし、道路網データにおいて前記経路
形状を同じ縮尺でスケーリングし、前記経路
形状の各線が何れも連通する道路にマッピングされる場合に、マッピングされる道路情報を記録し、s
記録された道路情報を用いて推薦経路を生成することを含み、
前記角度シーケンスは、前記経路
形状において対応する交点における線の間に所定の方向に沿って順次生じる角度からなるシーケンスである、
方法。
【請求項2】
ユーザが入力した経路記述情報を取得し、前記経路記述情報を用いて経路
形状を取得することは、
ユーザが描画した経路
形状軌跡を取得し、前記経路
形状軌跡を用いて経路
形状を取得し、あるいは、
ユーザがインポートした、パターンデータを含む画像を取得し、前記パターンデータから
形状を抽出して経路
形状とし、あるいは、
ユーザが入力した経路記述テキストを取得し、前記経路記述テキストを解析して経路形状情報を取得し、前記経路形状情報を用いてパターンデータを含む画像を検索し、パターンデータから
形状を抽出して経路
形状とし、あるいは、
ユーザが入力した経路記述文を取得し、前記経路記述文を解析して経路形状情報を取得し、前記経路形状情報を用いてパターンデータを含む画像を探索し、パターンデータから
形状を抽出して経路
形状とすることを含む、請求項1に記載の方法。
【請求項3】
前記パターンデータから
形状を抽出することは、
エッジ検出アルゴリズムに基づいて検索された画像からパターンデータの
形状を抽出し、
形状の特徴点に基づいて各
形状をクラスタリングし、
クラスタリングされたクラスタから1つの
形状を選択して経路
形状とすることを含む、請求項2に記載の方法。
【請求項4】
前記パターンデータから
形状を抽出することの前に、
検索された画像を二値画像に変換し、
二つ以上の連通領域を含む画像を削除することを更に含む、請求項2に記載の方法。
【請求項5】
経路
形状における交点を抽出することは、
前記経路
形状を折れ線グラフに変換し、
折れ線グラフにおける、交点を含む端点と、端点間の線とを抽出することを含む、請求項1に記載の方法。
【請求項6】
道路網データを用いて、各交差点に対応する全ての角度シーケンスを含む交差点データベースを予め構築することを更に含む、請求項1に記載の方法。
【請求項7】
前記道路網データを用いて交差点データベースを予め構築することは、
交差点ごとに、当該交差点を各道路の交点とするすべての組み合わせを抽出し、
各組み合わせにおける道路間に所定の方向に沿って順次形成される角度をそれぞれ特定してその組み合わせに対応する角度シーケンスを構成し、
当該交差点のすべての組み合わせに対応する角度シーケンスを記録し、
各角度シーケンスをキー(key)として各交差点の転置インデックスを作成して前記交差点データベースを構築することを含み、
前記転置インデックスは、角度シーケンスにより当該角度シーケンスを有する交差点を検索するインデックスである、
請求項6に記載の方法。
【請求項8】
交点が経路
形状において対応する角度シーケンスは、
経路
形状において、当該交点で線の間に所定の方向に沿って順次形成される角度を特定してこの交点が対応する角度シーケンスを構築する、ことにより特定される、請求項7に記載の方法。
【請求項9】
前記何れか一つの交点を選択することは、
各交点に対応する角度シーケンスを用いて前記交差点データベースで照合して、各交点とヒットした交差点の数を特定し、
ヒットされた交差点の数が最も少ない交点を選択することを含む、請求項6に記載の方法。
【請求項10】
前記選択された交点が経路
形状において対応する角度シーケンスを用いて道路網データで照合することにより、選択された交点にマッチングする交差点を取得して候補交差点とすることは、
選択された交点に対応する角度シーケンスを用いて前記交差点データベースで照合して、ヒットされた交差点をそれぞれ候補交差点とすることを含む、請求項6に記載の方法。
【請求項11】
前記経路記述情報に経路位置情報が含まれていない場合、前記道路網データで照合することは、前記ユーザとの距離が予め設定された第1の距離範囲内の道路網データで照合することであり、
前記経路記述情報に経路位置情報が含まれている場合、前記道路網データで照合することは、前記経路位置情報に対応する道路網データで照合することである、請求項1に記載の方法。
【請求項12】
前記経路
形状の各線が何れも連通する道路にマッピングされる場合、マッピングされる道路情報を記録することは、
前記経路
形状の各端点が何れも道路にマッピングされる場合に、各端点がマッピングされる道路上で各経路
形状の各線が連通されているか否かを判定し、肯定の場合にマッピングされる道路情報を記録し、あるいは、
前記経路
形状における予め設定された割合を上回った端点が何れも道路にマッピングされる場合に、道路にマッピングされていない端点から予め設定された第2の距離範囲内に道路が存在するか否かを判定し、肯定の場合に、道路にマッピングされていない端点を予め設定された第2の距離範囲内の道路にマッピングし、各端点がマッピングされる道路上で各経路
形状の各線が連通しているか否かを判定し、肯定の場合にマッピングされる道路情報を記録することを含む、請求項1に記載の方法。
【請求項13】
前記経路記述情報に経路長情報が含まれており、
前記経路
形状を同じ縮尺でスケーリングする際に、マッピングされる道路情報の対応する道路長が前記経路長情報の要求を超えた場合に、同じ縮尺の拡大を中止し、前記経路長情報の要求を超えた道路長の道路情報を記録しない、請求項1に記載の方法。
【請求項14】
前記推薦経路を表示する経路推薦画面を提供することをさらに含む、請求項1に記載の方法。
【請求項15】
前記経路推薦画面は、対応する経路の属性情報を表示する、各推薦経路のタブコンポーネントを含み、
何れか一つの経路タブが選択されると、選択された経路タブに対応する経路が地図画面上に表示される、請求項14に記載の方法。
【請求項16】
前記属性情報は、経路長情報、経路と前記ユーザとの距離情報、経路と前記経路
形状との類似度情報のうちの少なくとも一つを含む、請求項15に記載の方法。
【請求項17】
前記経路推薦画面は、ナビゲーションコンポーネント又は軌跡記録コンポーネントをさらに含み、
前記ナビゲーションコンポーネントは、選択された経路と前記ユーザとの距離が予め設定された第1の距離閾値以上である場合に表示され、前記軌跡記録コンポーネントは、選択された経路と前記ユーザとの距離が予め設定された前記第1の距離閾値より小さい第2の距離閾値以下である場合に表示され、
前記ナビゲーションコンポーネントは、トリガされた後に、前記ユーザの位置から選択された経路までのナビゲーション情報を表示し、
前記軌跡記録コンポーネントは、トリガされた後に、ユーザの経路軌跡を記録する、請求項14に記載の方法。
【請求項18】
経路特定装置であって、
ユーザから入力された経路記述情報を取得し、前記経路記述情報を用いて経路
形状を取得する
形状取得ユニットと、
道路網データにおいて前記経路
形状をマッチングして、前記経路
形状にマッチングされる経路を得て推薦経路を生成する道路網マッチングユニットと、を備え、
前記経路記述情報は、少なくとも、経路の特徴を記述する情報を含み、
前記道路網マッチングユニットは、具体的に、経路
形状における、少なくとも2本の線が交差することにより構成される交点を抽出する交点抽出サブユニットと、
何れか一つの交点を選択し、選択された交点が経路
形状において対応する角度シーケンスを用いて道路網データで照合することにより、選択された交点にマッチングされる交差点を取得して候補交差点とする交差点マッチングサブユニットと、
すべての候補交差点に亘って、選択された交点を候補交差点の位置に固定的にマッピングし、道路網データにおいて前記経路
形状を同じ縮尺でスケーリングし、前記経路
形状の各線が何れも連通する道路にマッピングされる場合に、マッピングされる道路情報を記録する道路マッピングサブユニットと、
記録された道路情報を利用して推薦経路を生成する経路生成サブユニットと、を備え、
前記角度シーケンスは、前記経路
形状において対応する交点における線の間に所定の方向に沿って順次生じる角度からなるシーケンスである、
装置。
【請求項19】
前記
形状取得ユニットは、具体的に、
ユーザが描画した経路
形状軌跡を取得し、前記経路
形状軌跡を用いて経路
形状を取得し、あるいは、
ユーザがインポートした、パターンデータを含む画像を取得し、前記パターンデータから
形状を抽出して経路
形状とし、あるいは、
ユーザが入力した経路記述テキストを取得し、前記経路記述テキストを解析して経路形状情報を取得し、前記経路形状情報を用いてパターンデータを含む画像を検索し、パターンデータから
形状を抽出して経路
形状とし、あるいは、
ユーザが入力した経路記述文を取得し、前記経路記述文を解析して経路形状情報を取得し、前記経路形状情報を用いてパターンデータを含む画像を探索し、パターンデータから
形状を抽出して経路
形状とする、請求項18に記載の装置。
【請求項20】
前記
形状取得ユニットは、パターンデータから
形状を抽出する場合に、具体的に、
エッジ検出アルゴリズムに基づいて検索された画像からパターンデータの
形状を抽出し、
形状の特徴点に基づいて各
形状をクラスタリングし、
クラスタリングされたクラスタから1つの
形状を選択して経路
形状とする、請求項19に記載の装置。
【請求項21】
前記交点抽出サブユニットは、具体的に、
前記経路
形状を折れ線グラフに変換し、
折れ線グラフにおける、交点を含む端点と、端点間の線とを抽出する、請求項18に記載の装置。
【請求項22】
道路網データを用いて交差点データベースを予め構築するデータベース構築ユニットをさらに備え、
当該データベース構築ユニットは、具体的に、
交差点ごとに、当該交差点を各道路の交点とするすべての組み合わせを抽出し、
各組み合わせにおける道路間に所定の方向に沿って順次形成される角度をそれぞれ特定してその組み合わせに対応する角度シーケンスを構成し、
当該交差点のすべての組み合わせに対応する角度シーケンスを記録し、
各角度シーケンスをキーとして各交差点の転置インデックスを作成して前記交差点データベースを構築し、
前記転置インデックスは、角度シーケンスにより当該角度シーケンスを有する交差点を検索するインデックスである、
請求項18に記載の装置。
【請求項23】
前記交差点マッチングサブユニットは、何れか一つの交点を選択する場合に、具体的に、
各交点に対応する角度シーケンスを用いて前記交差点データベースで照合し、各交点とヒットした交差点の数を特定し、
ヒットされた交差点の数が最も少ない交点を選択する、請求項22に記載の装置。
【請求項24】
前記経路記述情報に経路位置情報が含まれていない場合、前記道路網マッチングユニットは、道路網データで照合する場合に、具体的に、前記ユーザとの距離が予め設定された第1の距離範囲内の道路網データで照合し、
前記経路記述情報に経路位置情報が含まれている場合、前記道路網マッチングユニットは、道路網データで照合する場合に、具体的に、前記経路位置情報に対応する道路網データで照合する、請求項18に記載の装置。
【請求項25】
前記経路記述情報に経路長情報が含まれており、
前記道路マッピングサブユニットは、前記経路
形状を同じ縮尺でスケーリングする過程において、マッピングされる道路情報の対応する道路長が前記経路長情報の要求を超えた場合に、同じ縮尺の拡大を中止し、前記経路長情報の要求を超えた道路長の道路情報を記録しない、請求項18に記載の装置。
【請求項26】
経路推薦画面を提供する画面提供ユニットを更に備え、
前記経路推薦画面は、対応する経路の属性情報を表示する、各推薦経路のタブコンポーネントを含み、
何れか一つの経路タブが選択されると、選択された経路タブに対応する経路が地図画面上に表示される、請求項18に記載の装置。
【請求項27】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信接続されたメモリと、を備え、
前記メモリに前記少なくとも1つのプロセッサにより実行可能なコマンドが記憶されており、前記コマンドが前記少なくとも1つのプロセッサにより実行されると、前記少なくとも1つのプロセッサに請求項1~17の何れか一つに記載の方法を実行させる電子デバイス。
【請求項28】
コンピュータに請求項1~17の何れか一つに記載の方法を実行させるためのコンピュータコマンドが記憶される非一時的なコンピュータ可読記憶媒体。
【請求項29】
コンピュータに請求項1~17の何れか一つに記載の方法を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、出願日が2019年11月26日、出願番号が201911173279.2、発明名称が「経路特定方法、装置、デバイス及びコンピュータ記憶媒体」である中国特許出願の優先権を請求した。
本出願は、コンピュータ応用技術分野に関し、特にビッグデータ分野における経路特定方法、装置、デバイス、プログラム及びコンピュータ記憶媒体に関する。
【背景技術】
【0002】
全国民的なスポーツブームの普及に伴い、ランニングは比較的敷居の低いスポーツとして大衆的なスポーツの第一選択となっている。また、各種モバイル測位装置の普及により、ユーザーは自分のランニング軌跡や経路を明確に記録し、共有や伝播を容易にすることができる。ランニングの面白さを高めるために、多くのランニング者はパーソナライズされた経路を走り、モバイル測位装置を使用して記録を行い、特殊で面白い、または意味のある経路形状を生成できると期待する。
【0003】
現在、パーソナライズされた経路は、完全にユーザ自身が形状スケッチを行った後、地図道路網データと組み合わせて人工的に設計されているが、道路網データの複雑さのため、このような人工的な経路設計方式は難易度が高く、時間と労力がかかる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
これに鑑みて、本開示は、経路設計の人的および時間的コストを低減する経路特定方法、装置、デバイス、およびコンピュータ記憶媒体を提供する。
【課題を解決するための手段】
【0005】
第1の局面では、本開示は、ユーザが入力した経路記述情報を取得し、前記経路記述情報を用いて経路輪郭を取得し、道路網データにおいて前記経路輪郭をマッチングして前記経路輪郭にマッチングされる経路を得て推薦経路を生成することを含み、具体的に、少なくとも2本の線が交差することにより構成される経路輪郭における交点を抽出し、何れか一つの交点を選択し、経路輪郭における選択された交点が対応する角度シーケンスを用いて道路網データで照合することにより、選択された交点にマッチングする交差点を取得して候補交差点とし、すべての候補交差点に亘って、選択された交点を候補交差点の位置に固定的にマッピングし、道路網データに前記経路輪郭を同じ縮尺でスケーリングし、前記経路輪郭の各線が連通する道路にマッピングされる場合に、マッピングされる道路情報を記録し、記録された道路情報を用いて推薦経路を生成することを含む経路特定方法を提供する。
【0006】
本開示の好ましい態様によれば、ユーザが入力した経路記述情報を取得し、前記経路記述情報を用いて経路輪郭を取得することは、ユーザが描画した経路輪郭軌跡を取得し、前記経路輪郭軌跡を用いて経路輪郭を取得し、あるいは、ユーザがインポートしたパターンデータを含む画像を取得し、前記パターンデータから輪郭を抽出して経路輪郭とし、あるいは、ユーザが入力した経路記述テキストを取得し、前記経路記述テキストを解析して経路形状情報を取得し、前記経路形状情報を用いてパターンデータを含む画像を検索し、パターンデータから輪郭を抽出して経路輪郭とし、あるいは、ユーザが入力した経路記述文を取得し、前記経路記述文を解析して経路形状情報を取得し、前記経路形状情報を用いてパターンデータを含む画像を探索し、パターンデータから輪郭を抽出して経路輪郭とすることを含む。
【0007】
本開示の好ましい態様によれば、前記パターンデータから輪郭を抽出することは、エッジ検出アルゴリズムに基づいて検索された画像からパターンデータの輪郭を抽出し、輪郭の特徴点に基づいて各輪郭をクラスタリングし、クラスタリングされたクラスタから1つの輪郭を選択して経路輪郭とすることを含む。
【0008】
本開示の好ましい態様によれば、前記パターンデータから輪郭を抽出する前に、更に、検索された画像を二値画像に変換し、二つ以上の連通領域を含む画像を削除することを含む。
【0009】
本開示の好ましい態様によれば、経路輪郭における交点を抽出することは、前記経路輪郭を折れ線グラフに変換し、折れ線グラフにおける、交点を含む端点と、端点間の線とを抽出することを含む。
【0010】
本開示の好ましい態様によれば、さらに、道路網データを用いて、各交差点に対応する全ての角度シーケンスを含む交差点データベースを予め構築することを含む。
【0011】
本開示の好ましい態様によれば、前記道路網データを用いて交差点データベースを予め構築することは、交差点ごとに、当該交差点を各道路の交点とするすべての組み合わせを抽出し、各組み合わせにおける道路間に所定の方向に沿って順次形成される角度をそれぞれ特定してその組み合わせに対応する角度シーケンスを構成し、当該交差点のすべての組み合わせに対応する角度シーケンスを記録し、各角度シーケンスをキーkeyとして各交差点の転置インデックスを作成して前記交差点データベースを構築することを含む。
【0012】
本開示の好ましい態様によれば、交点が経路輪郭において対応する角度シーケンスは、経路輪郭における、この交点における線の間に所定の方向に沿って順次形成される角度を特定してこの交点が対応する角度シーケンスを構築することにより特定される。
【0013】
本開示の好ましい態様によれば、前記何れか一つの交点を選択することは、各交点に対応する角度シーケンスを用いて前記交差点データベースで照合し、各交点とヒットした交差点の数を特定し、ヒットされた交差点の数が最も少ない交点を選択することを含む。
【0014】
本開示の好ましい態様によれば、前記経路輪郭における選択された交差点が対応する角度シーケンスを用いて道路網データで照合して選択された交点にマッチングされた交差点を取得して候補交差点とすることは、選択された交点に対応する角度シーケンスを用いて前記交差点データベースで照合し、ヒットされた交差点をそれぞれ候補交差点とすることを含む。
【0015】
本開示の好ましい態様によれば、前記経路記述情報に経路位置情報が含まれていない場合、前記道路網データで照合することは、前記ユーザとの距離が予め設定された第1の距離範囲内の道路網データで照合することであり、前記経路記述情報に経路位置情報が含まれている場合、前記道路網データで照合することは、前記経路位置に対応する道路網データで照合することである。
【0016】
本開示の好ましい態様によれば、前記経路輪郭の各線が何れも連通する道路にマッピングされる場合、マッピングされる道路情報を記録することは、前記経路輪郭の各端点が何れも道路にマッピングされる場合に、各端点がマッピングされる道路上で各経路輪郭の各線が連通されているか否かを判定し、肯定の場合にマッピングされる道路情報を記録し、あるいは、前記経路輪郭における予め設定された割合を上回った端点が何れも道路にマッピングされる場合に、道路にマッピングされていない端点から予め設定された第2の距離範囲内に道路が存在するか否かを判定し、肯定の場合に、道路にマッピングされていない端点を予め設定された第2の距離範囲内の道路にマッピングし、各端点がマッピングされる道路上で各経路輪郭の各線が連通しているか否かを判定し、肯定の場合にマッピングされる道路情報を記録することを含む。
【0017】
本開示の好ましい態様によれば、前記経路記述情報に経路長情報が含まれており、前記経路輪郭を同じ縮尺でスケーリングする際に、マッピングされる道路情報が対応する道路長が前記経路長情報の要求を超えた場合に、同じ縮尺の拡大を中止し、前記道路長情報の要求を超えた道路長の道路情報を記録しない。
【0018】
本開示の好ましい態様によれば、さらに、前記推薦経路を表示する経路推薦画面を提供することを含む。
【0019】
本開示の好ましい態様によれば、前記経路推薦画面は、対応する経路の属性情報を表示する各推薦経路のタブコンポーネントを含み、何れか一つの経路タブが選択されると、選択された経路タブに対応する経路が地図画面上に表示される。
【0020】
本開示の好ましい態様によれば、前記属性情報は、経路長情報、経路と前記ユーザとの距離情報、経路と前記経路輪郭との類似度情報のうちの少なくとも一つを含む。
【0021】
本開示の好ましい態様によれば、前記経路推薦画面は、さらにナビゲーションコンポーネント又は軌跡記録コンポーネントを含み、前記ナビゲーションコンポーネントは、選択された経路と前記ユーザとの距離が予め設定された第1の距離閾値以上である場合に表示され、前記軌跡記録コンポーネントは、選択された経路と前記ユーザとの距離が予め設定された前記第1の距離閾値より小さい第2の距離閾値以下である場合に表示され、前記ナビゲーションコンポーネントは、トリガされた後に前記ユーザの位置から選択された経路までのナビゲーション情報を表示し、前記軌跡記録コンポーネントは、トリガされた後にユーザの経路軌跡を記録する。
【0022】
第2の局面では、更に、ユーザから入力された経路記述情報を取得し、前記経路記述情報を用いて経路輪郭を取得する輪郭取得ユニットと、道路網データにおいて前記経路輪郭をマッチングして前記経路輪郭にマッチングされる経路を得て推薦経路を生成する道路網マッチングユニットと、を備え、前記道路網マッチングユニットは、具体的に、少なくとも2本の線が交差することにより構成される経路輪郭における交点を抽出する交点抽出サブユニットと、何れか一つの交点を選択し、選択された交点が経路輪郭において対応する角度シーケンスを用いて道路網データで照合し、選択された交点にマッチングされた交差点を取得して候補交差点とする交差点マッチングサブユニットと、すべての候補交差点に亘って、選択された交点を候補交差点の位置に固定的にマッピングし、道路網データにおいて前記経路輪郭を同じ縮尺でスケーリングし、前記経路輪郭の各線が何れも連通する道路にマッピングされる場合に、マッピングされる道路情報を記録する道路マッピングサブユニットと、記録された道路情報を利用して推薦経路を生成する経路生成サブユニットと、を備える経路特定装置を提供する。
【0023】
第3の局面では、本開示は更に、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサと通信接続されたメモリと、を備え、前記メモリに前記少なくとも1つのプロセッサにより実行可能なコマンドが記憶されており、前記コマンドが前記少なくとも1つのプロセッサにより実行されると、前記少なくとも1つのプロセッサに前記何れか一つに記載の方法を実行させる電子デバイスを提供する。
【0024】
第4の局面では、本開示は更に、コンピュータに前記何れか一つに記載の方法を実行させるためのコンピュータコマンドが記憶される非一時的なコンピュータ可読記憶媒体を提供する。
【0025】
前記の技術案から分かるように、本開示により提供される方法、装置、デバイスおよびコンピュータ記憶媒体は、以下の利点を備えることができる。
【0026】
1)ユーザは経路記述情報を入力するだけで、本開示により提供された具体的な経路特定方式により、道路網データにおいてユーザの所望の経路輪郭に合致した推薦経路をマッチングすることができ、ユーザ自身が地図道路網データと組み合わせて人工で設計する必要がなく、経路設計の人的コスト及び時間的コストを低減することができる。
【0027】
2)本開示では、ユーザ自身が経路輪郭軌跡を描画したり、端末デバイスからローカルに画像をインポートしたり、テキストや音声で所望の経路の記述を入力したりする、複数の経路記述情報の入力方式をサポートすることができる。
【0028】
3)本開示では、ユーザから提供された説明テキストや説明音声に基づいてネットワーク検索により経路輪郭を取得することができ、様々な複雑な経路を可能にする。
【0029】
4)本開示により提供されたように、まず輪郭における交点の角度シーケンスに基づいて交差点をマッチングし、次に交点を交差点にマッピングした後に等縮尺スケーリングの形式で道路マッチングを行うことにより、道路網マッチングの効率をより高め、経路精度をより向上させた。
【0030】
5)本開示は、指定された経路形状のマッチングに加えて、経路位置、経路長などのマッチング経路に対する更なる制限をサポートする。
【0031】
6)本開示により提供される経路推薦画面は、ユーザが選択するために各経路の情報をより明確に表示することができ、画面上のナビゲーションコンポーネントまたは軌跡記録コンポーネントの表示は、ユーザのナビゲーションおよび軌跡記録のニーズをより一層満たすことができ、ユーザ操作を簡素化し、ユーザ体験を向上させることができる。
【0032】
前記選択可能な方式における他の効果は、以下で具体的な実施例と合わせて説明する。
【図面の簡単な説明】
【0033】
図面は、本開示をより良く理解するためのものであり、本開示を限定しない。ここで、
【
図1】本開示の実施形態を適用できる例示的なシステムアーキテクチャである。
【
図2】本開示の実施形態により提供される主要な方法のフローチャートである。
【
図3】本開示の実施形態により提供される詳細な方法のフローチャートである。
【
図4】本開示の実施形態により提供される折れ線グラフの抽出の実例図である。
【
図5A】本開示の実施形態により提供される折れ線グラフである。
【
図5B】本開示の実施形態により提供される折れ線グラフである。
【
図6】本開示の実施形態により提供される交差点データベースを構築する方法のフローチャートである。
【
図7A】本開示の実施形態により提供される交差点の模式図である。
【
図7B】本開示の実施形態により提供される交差点に対応する道路の組み合わせの模式図である。
【
図7C】
図7Bにおける2つの組み合わせの角度の模式図である。
【
図8】本開示の実施形態により提供される道路への経路輪郭のマッピングの模式図である。
【
図9A】本開示の実施形態により提供される経路推薦画面の模式図である。
【
図9B】本開示の実施形態により提供される経路推薦画面の模式図である。
【
図10】本開示の実施形態により提供される経路特定装置の模式図である。
【
図11】本実施形態に係る経路特定方法を実現するための電子デバイスのブロック図である。
【発明を実施するための形態】
【0034】
以下、図面に基づいて、本開示の例示的な実施例を説明する。理解を容易にするために、本開示の実施例の様々な詳細が含まれており、それらは単なる例示と見なされるべきである。従って、当業者は、本開示の範囲及び思想から逸脱することなく、本明細書に記載の実施形態に対して様々な変更及び修正を行うことができることを認識するはずである。同様に、簡明のために、以下の説明では、よく知られた機能と構造の説明は省略される。
【0035】
図1は、本開示の実施形態を適用できる、経路特定方法または経路特定装置に用いられる例示的なシステムアーキテクチャを示す。
【0036】
図1に示されたように、当該システムアーキテクチャは、端末デバイス101、102、ネットワーク103、およびサーバ104を含むことができる。ネットワーク103は、端末デバイス101、102とサーバ104との間に通信リンクの媒体を提供する。ネットワーク103は、有線、無線通信リンク、または光ファイバケーブルなどの様々な接続タイプを含むことができる。
【0037】
ユーザは、端末デバイス101、102を用いて、ネットワーク103を介してサーバ104とインタラクションすることができる。端末デバイス101、102には、音声インタラクションアプリケーション、ウェブページブラウザアプリケーション、地図系アプリケーション、通信系アプリケーションなど、様々なアプリケーションをインストールすることができる。
【0038】
端末デバイス101および102は、各種の電子デバイスであって良く、スマートフォン、タブレット、ウェアラブルデバイスなどを含むが、これらに限定されない。本開示により提供される経路特定装置は、前記サーバ104に設置して動作させることができ、複数のソフトウェアまたはソフトウェアモジュールとして実現されても良く(例えば、分散サービスを提供するために)、単一のソフトウェアまたはソフトウェアモジュールとして実現されても良く、ここでは特に限定されない。
【0039】
端末デバイス101または102は、ユーザが入力した経路記述情報をネットワーク103を介してサーバ104に送信し、サーバ104により本開示に提供される経路特定方法を実行し、推薦経路を特定した後、ネットワーク103を介して端末デバイス101または102に送信して表示させることができる。なお、サーバ104は推薦経路を特定する際に道路網データを使用する。この道路網データはサーバ104において保守されてもよく、サーバ104と別のデータベースにおいて保守されてもよい。
【0040】
サーバ104は、単一のサーバであっても良く、複数のサーバからなるサーバ群であっても良い。理解すべきなのは、
図1における端末デバイス、ネットワーク、およびサーバの数は、単なる例示的なものである。実際の必要に応じて、任意の数の端末デバイス、ネットワーク、およびサーバを有することができる。
【0041】
本開示は主に二つの主要なステップを含む。
図2に示されたように、第1のステップ201において、ユーザが入力した経路記述情報を取得し、経路記述情報を用いて経路輪郭を取得する。
【0042】
このステップでは、様々な実施形態を採用することができ、例えば、以下の幾つかを採用することができるが、これらに限定されない。
【0043】
第1種の方式において、ユーザが描画した経路輪郭軌跡を取得し、当該経路輪郭軌跡を使用して経路輪郭を取得する。すなわち、ユーザは、端末デバイスにより提供される画面上で、例えばハート型の経路輪郭を描画するように経路輪郭の描画を行ってよく、端末デバイスは、ユーザが描画した経路輪郭軌跡をサーバ側に提供する。
【0044】
第2種の方式において、ユーザがインポートしたパターンデータを含む画像を取得し、パターンデータから輪郭を抽出して経路輪郭とする。すなわち、ユーザは端末デバイスから既に何らかのパターンデータを含む画像をローカルにインポートしても良く、端末デバイスはその画像をサーバ側に送信し、サーバ側でパターンデータから輪郭を抽出して経路輪郭とする。
【0045】
第3種の方式において、ユーザが入力した経路記述テキストを取得し、経路記述テキストを解析して経路形状情報を取得し、経路形状情報を用いてパターンデータを含む画像を検索し、パターンデータから輪郭を抽出して経路輪郭とする。
【0046】
ユーザは、端末デバイスで経路記述テキストを入力することができる。当該経路記述テキストはユーザが自発的に入力したテキストであって良い。例えば、ユーザは、「北京で1000メートル以内のハート型の経路を走る」と入力する。
【0047】
端末デバイスが画面上でユーザに各種経路記述テキストの選択肢を提供し、ユーザにその中から選択し又は入力させても良い。例えば、端末デバイスは画面上でユーザに「形状」、「長さ」、「位置」などの選択肢を提供し、ユーザはその中から具体的な数値を選択し、例えば「形状」の選択肢から「ハート」を選択し、長さの選択肢から「1000メートル以内」を選択し、あるいは手動で「1000メートル以内」を入力し、「位置」の選択肢から「北京」を選択し、あるいは手動で「北京」を入力しまたは位置合わせる。
【0048】
第4種の方式において、ユーザが入力した経路記述文を取得し、経路記述文を解析して経路形状情報を取得し、経路形状情報を用いてパターンデータを含む画像を検索し、パターンデータから輪郭を抽出して経路輪郭とする。
【0049】
この方式では、ユーザは音声インタラクションにより、端末デバイスに「北京で1000メートル以内のハート型のランニングコースを走りたい」などの音声を入力することができる。音声認識を行って対応するテキストを得た後に、自然言語処理を行い、その中から経路形状情報「ハート」、長さ情報「1000メートル以内」、ランニング位置情報「北京」を認識する。
【0050】
前記第3種の方式および第4種の方式では、経路形状情報を用いてネットワーク探索を行い、パターンデータを含む画像を探索し、その中から輪郭を抽出して経路輪郭とする。これら2つの方式は、従来の経路形状に限定されるものではなく、複雑な経路形状に対してもニーズに応じることができる。たとえば、ユーザがテディベアの形をした経路を走りたい場合も実現できる。具体的には、
図3に示される実施形態において詳細に説明する。
【0051】
第2のステップ202では、道路網データにおいて経路輪郭をマッチングし、経路輪郭にマッチングされる経路を得て推薦経路を生成する。
【0052】
ここで、ステップ202は、具体的に以下のステップを含んで良い。
【0053】
2021では、少なくとも2本の線が交差して構成される経路輪郭の交点を抽出する。
【0054】
2022では、何れか一つの交点を選択し、経路輪郭内における選択された交点が対応する角度シーケンスを用いて道路網データで照合することにより、選択された交点にマッチングされた交差点を候補交差点として求める。
【0055】
2023では、すべての候補交差点に亘って、選択された交点を候補交差点の位置に固定的にマッピングし、道路網データにおいて経路輪郭を同じ縮尺でスケーリングし、前記経路輪郭の各線が何れも連通する道路にマッピングされていれば、マッピングされる道路情報を記録する。
【0056】
2024では、記録された道路情報を用いて推薦経路を生成する。
【0057】
前記2021~2024から分かるように、本開示における経路マッチング方式では、経路輪郭における交点から、交点の角度シーケンスと交差点の角度シーケンスとが一致するように、交点に対応する角度シーケンスで道路網データにおける交差点をマッチングする。ここで、交点の角度シーケンスとは、交点における線の間に所定の方向に沿って順次生じる角度からなるシーケンスである。交差点の角度シーケンスとは、交差点における様々な道路の組み合わせが所定の方向に沿って順次生じる角度からなるシーケンスである。次に、交点をマッチングされた交差点に固定的にマッピングし、経路輪郭の各線が何れも連通する道路にマッピングするまで、同じ縮尺でスケーリングして道路網データの道路にマッピングする。
【0058】
マッチングやマッピングの過程では、経路形状情報の利用に加えて、他の経路記述情報を組み合わせることも可能である。例えば経路位置情報の場合に、経路位置情報に基づいて、経路位置に対応する道路網データにマッチングを行う。また、例えば経路長情報の場合に、経路長情報に基づいてマッピングされる経路をフィルタリングし、経路長情報を満たす道路情報のみを記録する。
【0059】
以下で具体的な実施形態に関連して本開示により提供される方法を詳しく説明する。
図3は、本開示の実施形態により提供される方法の詳細なフローチャートである。
図3に示されたように、当該方法は、具体的に以下のステップを含むことができる。
【0060】
301において、ユーザが入力した経路記述文を取得し、経路記述文を解析して経路形状情報、経路位置情報、経路長情報を取得する。
【0061】
ユーザは、端末デバイスが提供する音声インタラクション画面上で経路記述文を入力し、経路記述文を音声認識した後、対応する経路記述テキストを得ることができる。そして、その中から自然言語処理解析を行って経路記述情報を得る。
【0062】
例えば、ユーザーは「北京で1000メートル以内のハートランニングコースを走りたい」と音声を入力する。音声認識と自然言語処理が行われた後に、経路形状情報「ハート」、長さ情報「1000メートル以内」、ランニング位置情報「北京」が解析された。
【0063】
たとえば、ユーザは「北京で長さ1キロ以内の山型ランニングコースを探したい」と音声入力した。音声認識と自然言語処理が行われた後に、その中から経路形状情報が「山型」、経路位置情報が「北京」、経路長情報が「1キロ以内」であることが解析された。
【0064】
本開示では、音声認識及び自然言語処理の具体的な方式について制限されなく、既存の成熟した技術を採用してよい。
【0065】
302において、経路形状情報を用いてパターンデータを含む画像を探索する。
【0066】
対応するパターンデータを含む画像を取得するために、解析された経路形状情報を用いてネットワーク探索を行う。しかし、ネットワークにおける画像の画質が不揃いであり、且つ画像本体が必要な形状でない可能性があるため、探索された画像をさらに処理する必要がある。
【0067】
探索された画像を二値化画像に変換し、すなわち二値化処理を行うことができる。二値画像については、画像に占める面積の割合が予め設定された割合閾値よりも小さい連通領域を除去した後、二つ以上の連通領域を含む画像を削除する。その目的は、画像本体が二つ以上の画像を除去することにより、干渉を回避することにある。
【0068】
303では、画像データから輪郭を抽出して経路輪郭とする。
【0069】
このステップでは、エッジ検出アルゴリズムに基づいて、ステップ302で得られた画像からパターンデータの輪郭を抽出することができる。ここで、エッジ検出アルゴリズムは、Canny、Sobelなどの成熟したエッジ検出アルゴリズムを採用することができ、本開示の実施形態では詳しく説明しない。
【0070】
ユーザがハートランニング経路を求めたいが、ハートパターンを含む画像に加えて、「ハート」という2文字を含む画像などが検索される可能性があるため、検索により得られるこれらの干渉画像を回避するために、これらの画像をフィルタリングする必要がある。そこで、さらに輪郭の特徴点に基づいて抽出された各輪郭をクラスタリングした後に、クラスタリングによって得られたクラスタから1つの輪郭を選択して経路輪郭とすることができる。
【0071】
クラスタリングの際に基づく輪郭の特徴点は、SIFT(Scale-invariant feature transform、スケール不変の特徴変換)であってよい。SIFTは、画像処理の分野で良く使用される記述であり、スケール不変性を有し、画像中でキーポイントを検出することが可能であり、局所特徴記述子である。もちろんSIFTに加えて、他のタイプの特徴点を採用することも可能である。
【0072】
クラスタリングされた後、クラスタリングにより得られた主クラスタ(画像数が最も多いクラスタ)の中から1つの輪郭を選択して経路輪郭とすることができる。何れか一つを選択しても良く、クラスタ中心に最も近い輪郭を選択して経路輪郭としても良く、他の選択方法を採用してもよい。
【0073】
304では、経路輪郭を折れ線グラフに変換し、折れ線グラフにおける端点及び端点間の線を抽出する。
【0074】
経路輪郭を折れ線グラフに変換する場合、路線の輪郭に対して一定の密度で点を抽出し、抽出した点を順次線分に結んだ後に、点を1つおきに新たな線分に結び、結ばれた新たな線分が間隔の点までの距離が予め設定された閾値内にある場合には、そのうち間隔の点及びその線分を新たな線分に結合するようにし、結合できないまで再帰して折れ線グラフを取得する。この方法に加えて、既存の他の折れ線グラフの変換方法も使用できる。
【0075】
たとえば
図4に示されたように、左のハート型の画像を輪郭抽出して変換すると、右の折れ線グラフが得られる。
【0076】
次に、折れ線グラフにおける端点および端点間の線を抽出する。なお、端点には、頂点や交点を含めることができる。
【0077】
図5Aに示されたように、ハート型の輪郭の折れ線グラフにおいて、端点はA、B、C、D、Eを含み、A、B、C、D、Eは同時に交点でもある。そして、AB間の線、BC間の線、CD間の線、DE間の線、及びEA間の線を特定する。
【0078】
図5Bに示されたように、「山」型の輪郭の折れ線グラフにおいて、端点はa、b、c、d、e、およびfを含み、b、c、およびeは交点である。そして、ab間の線、bc間の線、cd間の線、ce間の線、及びef間の線を特定する。
【0079】
305において、経路輪郭における各交点の対応する角度シーケンスを特定する。
【0080】
本実施形態では、経路輪郭において交点における線の間に所定の方向に沿って順次になされた角度を特定して当該交点に対応する角度シーケンスを構成することができる。所定の方向は、例えば反時計回り、時計回りであって良いが、固定された1つの方向しか使用できない。
【0081】
例えば、
図5Bの交点bについて、線abと線acとの間の角度が85度、cbとbaとの間の角度が275度であるため、当該交点bの角度シーケンスは、85-275と表すことができる。
【0082】
交点cについて、線bcとcdとの間の角度が95度、線dcとceとの間の角度が90度、線ecとcdとの間の角度が175度であるため、交点cの角度シーケンスは95-90-175と表すことができる。
【0083】
同様に、交点eの角度シーケンスは、95-265と表すことができる。
【0084】
306では、各交点に対応する角度シーケンスを用いて予め設定された交差点データベースで照合し、各交点とヒットした交差点の数を特定する。
【0085】
本実施形態の理解を容易にするために、まず、交差点データベースを予め構築しておく手順について説明する。交差点データベースには、道路網データにおける各交差点に対応するすべての角度シーケンスが含まれている。その構築手順は、
図6に示されたように、以下のステップを含むことができる。
【0086】
601では、交差点毎に、当該交差点を各道路の交点とするすべての組み合わせを抽出する。
【0087】
道路網データに道路情報が含まれており、交差点とは、必然的に道路が交差することにより生じるものである。たとえば
図7Aに標記した交差点は、4本の道路が交差して形成されたものである。この場合に、すべての道路を組み合わせると、
図7Bに示すような11種類の組合せが得られる。
【0088】
602では、組み合わせごとに所定の方向に沿って道路間に順次形成される角度をそれぞれ特定し、当該組み合わせに対応する角度シーケンスを構成する。
【0089】
このステップでは、各組み合わせによって生じ得るすべての角度シーケンスを特定する。例えば、
図7Cの組み合わせAおよび組み合わせBの場合、組み合わせAのすべての角度シーケンスは、95-265、265-95であって良い。組み合わせBのすべての角度シーケンスは、95-90-75-100、100-95-90-75、75-100-95-90、90-75-100-95であって良い。
【0090】
交差点データベースを構築する過程では、前記各組合せの角度シーケンスにおける角度に対して何らかの汎化処理を行うことができ、例えば75度について、一定範囲内で汎化することができ、74、75、76に汎化することにより、再現率を向上させることができる。
【0091】
603では、当該交差点のすべての組み合わせに対応する角度シーケンスを記録する。
【0092】
すべての組合せに対応する角度シーケンスをその交差点に対応する角度シーケンスとして記録する。
【0093】
604では、各角度シーケンスをkey(キー)として各交差点の転置インデックスを作成して交差点データベースを構築する。
【0094】
すべての交差点に対応する角度シーケンスを記録した後、各角度シーケンスをkeyとして交差点の転置インデックスを作成することができる。交差点B、交差点X、交差点Y等がいずれも「75-100-95-90」の角度シーケンスに対応するとすると、その角度シーケンスは交差点B、交差点X、交差点Y等にヒットすることができる。
【0095】
図3のステップ306を継続して参照すると、各交点に対応する角度シーケンスに対して交差点データベースの照合を行う場合に、各交点のそれぞれが一連の交差点にヒットする可能性がある。説明すべきなのは、交差点データベースの照合を行う際に、さらに経路位置情報を支援する。ユーザが入力した経路記述情報に経路位置情報が含まれている場合には、その経路位置情報に対応する道路網データ、すなわち経路位置情報に対応する交差点データベースで照合する。たとえば、ユーザが北京のランニングコースを希望する場合は、北京に対応する交差点データベースで照合することができる。ユーザが入力した経路記述情報に経路位置情報が含まれていない場合には、ユーザの現在位置に対応する道路網データ、すなわちユーザから予め設定された第1の距離範囲内の道路網データで照合し、例えばユーザから1km範囲内の対応する交差点データベースで照合する。
【0096】
307において、その中から交差点にヒットした数が最も少ない交点を選択する。
【0097】
図5Bにおいて、交点bが1000交差点、交点cが100交差点、交点eが800交差点をヒットしたとすると、その中から交点cが選択される。
【0098】
308では、選択された交点が交差点データベースにヒットした交差点をそれぞれ候補交差点とする。
【0099】
前記の例に続いて、交点cがヒットした100個の交差点をそれぞれ候補交差点として次のステップを実行する。
【0100】
309において、すべての候補交差点に亘って、選択された交点を候補交差点の位置に固定にマッピングし、道路網データに経路輪郭を同じ縮尺でスケーリングし、経路輪郭の各線が何れも連通する道路にマッピングされていれば、マッピングされる道路情報を記録する。
【0101】
図7Aに示された交差点が
図5Bの交点cの候補交差点の1つであると仮定すると、交点cを当該交差点に固定的にマッピングした後、経路輪郭を同じ縮尺でスケーリングすることができる。すなわち、経路輪郭上の各点からc点までの距離を何れも同じ縮尺でスケーリングする。経路輪郭の各線、すなわち線ab、bc、cd、ce、efは何れも連通する道路にマッピングされると、
図8に示されたように、現在にマッピングされる道路情報を記録する。
【0102】
具体的には、同じ縮尺でスケーリングする過程において、経路輪郭の各端点が何れも道路にマッピングされる場合に、各経路輪郭の各線は各端点がマッピングされている道路上で連通しているか否かを判定し、肯定の場合に、マッピングされる道路情報を記録する。
【0103】
さらに、同じ縮尺でスケーリングする過程において、道路の再現率を向上させるためにフォールトトレランスメカニズムを許容することができる。そこで、前記経路輪郭における予め設定された割合を上回った端点が何れも道路にマッピングされる場合に、道路にマッピングされていない端点から予め設定された第2の距離範囲内に道路が存在するか否かを判定し、肯定の場合に、道路にマッピングされていない端点を予め設定された第2の距離範囲内の道路にマッピングし、各経路輪郭の各線は各端点がマッピングされる道路上で連通しているか否かを判定し、肯定の場合にマッピングされる道路情報を記録する。たとえば、ある経路輪郭における8つの端点のうち、7つはある位置で道路にマッピングでき、1つの端点だけは道路にマッピングされていないが、当該端点から5メートル離れた箇所に道路がある場合に、当該残りの1つの点を最寄の当該道路にマッピングすれば良く、これにより全体の経路形状への影響は少なくなる。
【0104】
また、経路輪郭を等縮尺で拡大する方式を採用すると、拡大過程において、マッピングされる経路情報に対応する道路長がユーザの経路長情報に対する要求を超えていれば、等縮尺での拡大を停止し、道路長が当該経路長情報の要求を超えた道路情報を記録しない。
【0105】
本ステップで記録されたマッピングされる道路情報とは、道路における経路輪郭のマッピングされる部分により構成される経路を指す。
【0106】
310において、記録された道路情報を用いて推薦経路を生成する。
【0107】
本ステップでは、所定の規則に基づいて記録された道路情報に対応する経路をソートすることができる。たとえば、経路とユーザとの距離、経路の長さ、経路と経路輪郭との類似度などに基づく。そして、上位M個の経路を推薦経路として選択し、Mは予め設定された正整数である。
【0108】
311において、推薦経路を表示する経路推薦画面を提供する。
【0109】
サーバ側では、経路推薦画面のデータを端末デバイスのクライアントに送信し、端末デバイスでユーザに経路推薦画面を表示し、当該経路推薦画面に各推薦経路を表示することができる。
【0110】
経路推薦画面における推薦経路の表示方法を柔軟に設定することができる。ここでは、一つの好ましい実施形態を列挙する。経路推薦画面には、推薦された各経路のタブコンポーネントを表示することができ、たとえばM個の推薦経路はM個のタブコンポーネントに対応する。
図9A、
図9Bに示されたように、各タブコンポーネントごとに対応する経路の属性情報、例えば、経路長情報、経路とユーザとの距離情報、経路と経路輪郭との類似度情報などが表示される。何れか一つの経路タブが選択されると、選択された経路タブに対応する経路が地図画面上に表示される。経路推薦画面が初期に表示されたときに、先頭に位置する経路タブをデフォルトで選択することができる。
【0111】
ここで、経路と経路輪郭はSIFT特徴点、画像モーメントなどの特徴に基づいて類似度の演算を行うことができる。
【0112】
さらに、経路推薦画面には、ナビゲーションコンポーネントまたは軌跡記録コンポーネントが含まれても良い。ナビゲーションコンポーネントは、選択された経路とユーザとの距離が予め設定された第1の距離閾値以上である場合に表示される。
図9Aに示されたように、「ここへナビゲート」によって識別されるコンポーネントはナビゲーションコンポーネントである。当該ナビゲーションコンポーネントは、トリガされた後にユーザの位置から選択された経路までのナビゲーション情報を表示する。たとえば、現在にユーザが選択している経路タブは、ユーザから1.2km離れた経路である場合に、ユーザは、「ここへナビゲート」によって識別されるコンポーネントをクリックして、ユーザの位置から選択された経路までのナビゲーションを開始することができる。明らかに、ナビゲーションコンポーネントを設定することにより、ユーザが推薦経路から離れた場合に、経路推薦画面を退出して地図画面に戻って経路所在地を検索してナビゲーションを行う必要がなくなり、経路推薦画面を介してユーザの位置から推薦経路までのナビゲーションを直接に行うことができ、ユーザの操作を簡素化し、ユーザの体験を向上させた。
【0113】
軌跡記録コンポーネントは、選択された経路とユーザとの距離が予め設定された第2の距離閾値以下である場合に表示され、前記第1の距離閾値は第2の距離閾値よりも大きい。
図9Bに示されたように、「ランニング開始」によって識別されるコンポーネントは軌跡記録コンポーネントである。当該軌跡記録コンポーネントは、トリガされた後にユーザの経路軌跡を記録する。例えば、現在にユーザがユーザから50m離れた経路を選択している場合に、ユーザは「ランニング開始」によって識別されるコンポーネントをクリックしてランニングを開始することができ、サーバ側は端末デバイスの測位情報を利用してユーザの経路軌跡を記録し始める。
【0114】
ユーザのランニングが完了した後、記録されたユーザの経路軌跡を共有画面として生成してユーザに共有させることができる。共有画面上には、経路の属性情報、及び記録されたユーザの経路軌跡と経路輪郭との類似度などの情報を表示することができる。
【0115】
以上は、本開示により提供される方法を詳しく説明した。以下で実施形態と合わせて本開示により提供される装置を詳しく説明する。
【0116】
図10は、本実施形態により提供される経路特定装置の模式図である。
図10に示されるように、当該装置は、輪郭取得ユニット00、道路網マッチングユニット10、データベース構築ユニット20、および画面提供ユニット30を備えて良い。これらの各構成ユニットの主な機能は次のとおりである。
【0117】
輪郭取得ユニット00は、ユーザにより入力された経路記述情報を取得し、経路記述情報を用いて経路輪郭を取得する。
【0118】
具体的には、輪郭取得ユニット00は、以下の幾つかの方式を採用できるが、これらに限定されない。
【0119】
第1種の方式において、ユーザが描画した経路輪郭軌跡を取得し、経路輪郭軌跡を使用して経路輪郭を取得する。
【0120】
第2種の方式において、ユーザがインポートしたパターンデータを含む画像を取得し、パターンデータから輪郭を抽出して経路輪郭とする。
【0121】
第3種の方式において、ユーザが入力した経路記述テキストを取得し、経路記述テキストを解析して経路形状情報を取得し、経路形状情報を用いてパターンデータを含む画像を検索し、パターンデータから輪郭を抽出して経路輪郭とする。
【0122】
第4種の方式において、ユーザが入力した経路記述文を取得し、経路記述文を解析して経路形状情報を取得し、経路形状情報を用いてパターンデータを含む画像を検索し、パターンデータから輪郭を抽出して経路輪郭とする。
【0123】
なお、輪郭取得ユニット00は、パターンデータから輪郭を抽出する際に、具体的に、検索された画像からエッジ検出アルゴリズムに基づいてパターンデータの輪郭を抽出し、輪郭の特徴点に基づいて各輪郭をクラスタリングし、クラスタリングされたクラスタから1つの輪郭を選択して経路輪郭とする。ここで、エッジ検出アルゴリズムは、Canny、Sobelのような成熟したエッジ検出アルゴリズムを採用することができ、クラスタリングする場合に基づく輪郭の特徴点はSIFTであってよい。
【0124】
さらに、輪郭取得ユニット00は、パターンデータから輪郭を抽出する前に、検索された画像を二値画像に変換し、二つ以上の連通領域を含む画像を削除することができる。その目的は、干渉を回避するために、画像本体が2つ以上の画像を除去することにある。
【0125】
道路網マッチングユニット10は、道路網データにおいて経路輪郭をマッチングして経路輪郭にマッチングされる経路を得て推薦経路を生成する。
【0126】
経路記述情報に経路位置情報が含まれていない場合、道路網マッチングユニット10は、道路網データで照合する際に、ユーザから予め設定された第1の距離範囲内の道路網データを具体的に照合する。経路記述情報に経路位置情報が含まれている場合には、道路網マッチングユニット10は、道路網データで照合する際に、経路位置に対応する道路網データを具体的に照合する。
【0127】
ここで、道路網マッチングユニット10は、具体的に、交点抽出サブユニット11と、交差点マッチングサブユニット12と、道路マッピングサブユニット13と、経路生成サブユニット14とを備えて良い。
【0128】
交点抽出サブユニット11は、少なくとも2本の線が交差して構成される経路輪郭における交点を抽出する。具体的には、交点抽出サブユニット11は、まず、経路輪郭を折れ線グラフに変換した後、折れ線グラフにおける、交点を含む端点と、端点の間の線とを抽出することができる。
【0129】
経路輪郭を折れ線グラフに変換する際には、路線の輪郭に対して一定の密度で点を抽出し、抽出した点を順次線分に結んだ後に、点を1つおきに新たな線分に結び、結ばれた新たな線分が間隔の点までの距離が予め設定された閾値内にある場合には、そのうち間隔の点及びその線分を新たな線分に結合するようにし、結合できないまで再帰して折れ線グラフを取得する。この方法に加えて、既存の他の折れ線グラフの変換方法も使用できる。
【0130】
理解を容易にするために、まず、データベース構築ユニット20を説明する。データベース構築ユニット20は、道路網データを用いて交差点データベースを予め構築し、具体的に、交差点ごとに、その交差点を各道路の交点のすべての組み合わせとして抽出し、各組み合わせにおける道路間に所定の方向に沿って順次形成される角度をそれぞれ特定してその組み合わせに対応する角度シーケンスを構成し、当該交差点のすべての組み合わせに対応する角度シーケンスを記録し、各角度シーケンスをキーkey、交差点を値として転置インデックスを作成して交差点データベースを構築することを含む。
【0131】
交差点マッチングサブユニット12は、何れか一つの交点を選択し、経路輪郭における選択された交点に対応する角度シーケンスを用いて道路網データで照合し、選択された交点にマッチングされた交差点を候補交差点として求める。
【0132】
ここで、交差点マッチングサブユニット12は、何れか一つの交点を選択する際に、各交点に対応する角度シーケンスを用いて交差点データベースで照合し、各交点とヒットした交差点の数を特定し、ヒットした交差点の数が最も少ない交点を選択することができる。
【0133】
経路輪郭における交点に対応する角度シーケンスを特定する際に、経路輪郭において、当該交点における線の間に所定の方向に沿って順次に形成された角度を特定して当該交点に対応する角度シーケンスを構成することができる。
【0134】
道路マッピングサブユニット13は、すべての候補交差点に亘って、選択された交点を候補交差点の位置に固定的にマッピングし、道路網データにおいて経路輪郭を同じ縮尺でスケーリングし、経路輪郭の各線が何れも連通する道路にマッピングされる場合に、マッピングされる道路情報を記録する。
【0135】
前記経路輪郭の各端点が何れも道路上にマッピングされていれば、各経路輪郭の各線が各端点のマッピングされる道路上で連通しているか否かを判定し、肯定の場合に、マッピングされる道路情報を記録する。
【0136】
好ましい実施形態として、前記経路輪郭における予め設定された割合を上回った端点が何れも道路にマッピングされる場合に、道路にマッピングされていない端点から予め設定された第2の距離範囲内に道路が存在するかどうかを判定し、肯定の場合に、道路にマッピングされていない端点を予め設定された第2の距離範囲内の道路にマッピングし、各経路輪郭の各線が各端点のマッピングされる道路上で連通するか否かを判定し、肯定の場合に、マッピングされる道路情報を記録する。この方法は、実際には、いくつかのフォールトトレランスメカニズムを許容して道路の再現率を向上させる。
【0137】
経路記述情報には、経路長情報も含まれていてもよい。道路マッピングサブユニット13は、経路輪郭を同じ縮尺でスケーリングする過程において、マッピングされる道路情報に対応する道路長が経路長情報の要求を超えている場合には、等縮尺での拡大を中止し、道路長が経路長情報の要求を超えている道路情報を記録しない。
【0138】
経路生成サブユニット14は、記録された道路情報を利用して推薦経路を生成する。記録された道路情報に対応する経路を所定の規則に基づいてソートすることができる。たとえば、経路とユーザとの距離、経路の長さ、経路と経路輪郭との類似度などに基づく。そして、上位M個の経路を推薦経路として選択し、Mは予め設定された正整数である。
【0139】
画面提供ユニット30は、前記推薦経路を表示する経路推薦画面を提供する。
【0140】
ここで、経路推薦画面は、推薦された各経路のタブコンポーネントを含むことができる。タブコンポーネントには、対応する経路の属性情報が表示される。何れか一つの経路タブが選択されると、選択された経路タブに対応する経路が地図画面上に表示される。
【0141】
前記の属性情報は、経路長情報、経路とユーザとの距離情報、経路と前記経路輪郭との類似度情報のうちの少なくとも1つを含むことができる。
【0142】
さらに、前記の経路推薦画面は、ナビゲーションコンポーネントまたは軌跡記録コンポーネントをさらに含むことができる。ここで、ナビゲーションコンポーネントは、選択された経路と前記ユーザの距離が予め設定された第1の距離閾値以上である場合に表示される。軌跡記録コンポーネントは、選択された経路と前記ユーザの距離が予め設定された第2の距離閾値以下である場合に表示され、前記第1の距離閾値が前記第2の距離閾値よりも大きい。
【0143】
ナビゲーションコンポーネントは、トリガされた後に、前記ユーザの位置から選択された経路までのナビゲーション情報を表示する。軌跡記録コンポーネントは、トリガされた後に、ユーザの経路軌跡を記録する。
【0144】
なお、説明すべきなのは、本実施形態に係る前記方法及び装置は、ランニング経路の特定に限定されるものではなく、運転経路やライディング経路等の特定にも利用可能である。その違いは、道路網データの選択のみにある。ランニング経路を特定し推薦する際には、ランニングという外出方式に対応した道路網データを利用し、これらの道路網データにはランニングに適した道路情報が含まれており、例えば高速道路などのランニングに適していない道路情報は含まれていない。運転経路を推薦する際には、運転という外出方式に対応した道路網データを利用し、これらの道路網データには運転に適した道路情報が含まれており、例えば自動車の走行が許可されていない道路や、住宅地における道路などは含まれていない。
【0145】
本開示の実施形態によれば、本開示は更に電子デバイスおよび可読記憶媒体を提供する。
【0146】
図11は、本開示の実施形態に係る経路特定方法に係る電子デバイスのブロック図である。電子デバイスは、様々な形式のデジタルコンピュータ、例えば、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、PDA、サーバ、ブレードサーバ、メインフレームコンピュータ、及び他の適切なコンピュータであることが意図される。電子デバイスは、様々な形式のモバイル装置、例えば、PDA、携帯電話、スマートフォン、ウェアラブルデバイス、及び他の類似するコンピューティング装置を示してもよい。本文で示された構成要素、それらの接続及び関係、ならびにそれらの機能は例示にすぎなく、本明細書において説明及び/又は請求される本開示の実現を限定することを意図するものではない。
【0147】
図11に示すように、この電子デバイスは、一つ又は複数のプロセッサ1101、メモリ1102、及び各構成要素に接続するための高速インターフェース及び低速インターフェースを含むインターフェースを備える。各構成要素は、異なるバスで相互接続され、そして、共通マザーボードに、又は必要に応じて、他の態様で実装されてもよい。プロセッサは、電子デバイス内で実行されるコマンドを処理してもよく、メモリに記憶される又はメモリ上で外部入力/出力装置(例えば、インターフェースに結合される表示装置)にグラフィカルユーザインターフェースのグラフィカル情報を表示するコマンドを含む。他の実施形態において、必要な場合に、複数のプロセッサ及び/又は複数のバスが、複数のメモリとともに用いられてもよい。同様に、複数の電子デバイスが接続されてもよく、それぞれのデバイスが必要な操作の一部を提供する(例えば、サーババンク、ブレードサーバの集まり、又はマルチプロセッサシステムとする)。
図11において、一つのプロセッサ1101を例とする。
【0148】
メモリ1102は、本開示で提供される非一時的コンピュータ可読記憶媒体である。なお、前記メモリには、少なくとも1つのプロセッサが本開示に提供された経路特定方法を実行するように、前記少なくとも1つのプロセッサに実行可能なコマンドが記憶されている。本開示の非一時的コンピュータ可読記憶媒体は、本開示に提供された経路特定方法をコンピュータに実行させるためのコンピュータコマンドを記憶している。
【0149】
メモリ1102は、非一時的コンピュータ可読記憶媒体として、非一時的ソフトウェアプログラム、非一時的コンピュータ実行可能なプログラム、モジュール、例えば、本開示の実施例における経路特定方法に対応するプログラムコマンド/ユニットを記憶するために用いられる。プロセッサ1101は、メモリ1102に記憶されている非一時的ソフトウェアプログラム、コマンド及びモジュールを実行することで、サーバの様々な機能アプリケーション及びデータ処理を実行し、即ち、上記の方法実施例における経路特定方法を実現する。
【0150】
メモリ1102は、プログラム記憶領域及びデータ記憶領域を含んでもよく、プログラム記憶領域はオペレーティングシステム、少なくとも一つの機能に必要なアプリケーションプログラムを記憶してもよく、データ記憶領域は電子デバイスの使用により作成されたデータなどを記憶してもよい。また、メモリ1102は、高速ランダムアクセスメモリを含んでもよく、さらに非一時的メモリ、例えば、少なくとも一つの磁気ディスク記憶装置、フラッシュメモリ装置、又は他の非一時的固体記憶装置を含んでもよい。幾つかの実施例において、メモリ1102は、プロセッサ1101に対して遠隔設置されたメモリを選択的に含んでもよく、これらのリモートメモリは、ネットワークを介して電子デバイスに接続されてもよい。上記のネットワークの実例には、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、及びそれらの組み合わせが含まれるが、これらに限定されない。
【0151】
経路特定方法の電子デバイスは、更に、入力装置1103と出力装置1104とを備えても良い。プロセッサ1101、メモリ1102、入力装置1103及び出力装置1104は、バス又は他の手段により接続されても良く、
図11においてバスによる接続を例とする。
【0152】
入力装置1103は、入力された数字又はキャラクタ情報を受信し、電子デバイスのユーザ設定及び機能制御に関連するキー信号入力を生成でき、例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、ポインティングスティック、一つ又は複数のマウスボタン、トラックボール、ジョイスティックなどの入力装置である。出力装置1104は、表示装置、補助照明装置(例えば、LED)、触覚フィードバック装置(例えば、振動モータ)などを含むことができる。当該表示装置は、液晶ディスプレイ(LCD)、発光ダイオードディスプレイ(LED)、及びプラズマディスプレイを含み得るが、これらに限定されない。いくつかの実施形態では、表示装置はタッチパネルであってもよい。
【0153】
本明細書に説明されるシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、専用ASIC(専用集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせにおいて実現することができる。これらの様々な実施形態は、記憶システム、少なくとも一つの入力装置、及び少なくとも一つの出力装置からデータ及びコマンドを受信し、当該記憶システム、当該少なくとも一つの入力装置、及び当該少なくとも一つの出力装置にデータ及びコマンドを送信するようにつなげられた、特殊用途でもよく一般用途でもよい少なくとも一つのプログラマブルプロセッサを含む、プログラマブルシステム上で実行可能及び/又は解釈可能な一つ又は複数のコンピュータプログラムにおける実行を含んでもよい。
【0154】
これらのコンピューティングプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又は、コードとも称される)は、プログラマブルプロセッサの機械命令を含み、高水準のプロセス及び/又はオブジェクト向けプログラミング言語、及び/又はアセンブリ/機械言語で実行されることができる。本明細書で用いられる「機械可読媒体」及び「コンピュータ可読媒体」という用語は、機械可読信号としての機械命令を受け取る機械可読媒体を含むプログラマブルプロセッサに機械命令及び/又はデータを提供するのに用いられる任意のコンピュータプログラム製品、機器、及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、及びプログラマブル論理デバイス(PLD))を指す。「機械可読信号」という用語は、プログラマブルプロセッサに機械命令及び/又はデータを提供するために用いられる任意の信号を指す。
【0155】
ユーザとのインタラクティブを提供するために、本明細書に説明されるシステムと技術は、ユーザに対して情報を表示するための表示装置(例えば、CRT(ブラウン管)又はLCD(液晶ディスプレイ)モニタ)、ユーザがコンピュータに入力を与えることができるキーボード及びポインティングデバイス(例えば、マウスや、トラックボール)を有するコンピュータ上に実施されることが可能である。その他の種類の装置は、さらに、ユーザとのインタラクションを提供するために使用されることが可能であり、例えば、ユーザに提供されるフィードバックは、任意の形態のセンシングフィードバック(例えば、視覚的なフィードバック、聴覚的なフィードバック、又は触覚的なフィードバック)であり取得し、ユーザからの入力は、任意の形態で(音響、音声又は触覚による入力を含む)受信され得る。
【0156】
本明細書に説明されるシステムと技術は、バックエンド構成要素を含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェア構成要素を含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンド構成要素を含むコンピューティングシステム(例えば、グラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータであり、ユーザは、当該グラフィカルユーザインターフェースもしくは当該ウェブブラウザを通じて本明細書で説明されるシステムと技術の実施形態とインタラクションすることができる)、そのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムに実施されることが可能である。システムの構成要素は、任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互に接続されることが可能である。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、ワイド・エリア・ネットワーク(「WAN」)、インターネットワークを含む。
【0157】
コンピュータシステムは、クライアントとサーバーを含み得る。クライアントとサーバーは、一般的に互いから遠く離れており、通常は、通信ネットワークを通じてインタラクトする。クライアントとサーバとの関係は、相応するコンピュータ上で実行され、互いにクライアント-サーバの関係を有するコンピュータプログラムによって生じる。
【0158】
本開示により提供される前記方法、装置、デバイスおよびコンピュータ記憶媒体は、以下の利点を備えることができる。
【0159】
1)ユーザは経路記述情報を入力するだけで、本開示により提供された具体的な経路特定方式により、道路網データにおいてユーザの所望の経路輪郭に合致した推薦経路をマッチングすることができ、ユーザ自身が地図道路網データと組み合わせて人工で設計する必要がなく、経路設計の人的コスト及び時間的コストを低減することができる。
【0160】
2)本開示では、ユーザ自身が経路輪郭軌跡を描画したり、端末デバイスからローカルに画像をインポートしたり、テキストや音声で所望の経路の記述を入力したりする、複数の経路記述情報の入力方式をサポートすることができる。
【0161】
3)本開示では、ユーザから提供された説明テキストや説明音声に基づいてネットワーク検索により経路輪郭を取得することができ、様々な複雑な経路を可能にする。
【0162】
4)本開示により提供されたように、まず輪郭における交点の角度シーケンスに基づいて交差点をマッチングし、次に交点を交差点にマッピングした後に等縮尺スケーリングの形式で道路マッチングを行うことにより、道路網マッチングの効率をより高め、経路精度をより向上させた。
【0163】
5)本開示は、指定された経路形状のマッチングに加えて、経路位置、経路長などのマッチング経路に対する更なる制限をサポートする。
【0164】
6)本開示により提供される経路推薦画面は、ユーザが選択するために各経路の情報をより明確に表示することができ、画面上のナビゲーションコンポーネントまたは軌跡記録コンポーネントの表示は、ユーザのナビゲーションおよび軌跡記録のニーズをより一層満たすことができ、ユーザ操作を簡素化し、ユーザ体験を向上させることができる。
【0165】
以上で示された様々な形式のフローを使用して、ステップを並べ替え、追加、又は削除できることを理解されたい。例えば、本開示に説明される各ステップは、並列の順序又は順次的な順序で実施されてもよいし、又は異なる順序で実行されてもよく、本開示で開示された技術案の望ましい結果が達成できる限り、ここで制限されない。
【0166】
上記の具体的な実施形態は本開示の保護範囲に対する制限を構成しない。設計要件及び他の要因に従って、様々な修正、組み合わせ、部分的組み合わせ及び置換を行うことができることを当業者は理解するべきである。本開示の思想及び原則の範囲内で行われる修正、同等の置換、改善は、何れも本開示の保護範囲内に含まれるべきである。