(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-26
(45)【発行日】2022-10-04
(54)【発明の名称】抽出装置、制御システム、通信システム、学習モデル、情報処理装置、コンピュータプログラム、および、記憶媒体
(51)【国際特許分類】
B62J 45/40 20200101AFI20220927BHJP
G08G 1/16 20060101ALI20220927BHJP
【FI】
B62J45/40
G08G1/16 C
(21)【出願番号】P 2018127822
(22)【出願日】2018-07-04
【審査請求日】2021-01-15
【前置審査】
(73)【特許権者】
【識別番号】000002439
【氏名又は名称】株式会社シマノ
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】島津 速人
(72)【発明者】
【氏名】高山 仁志
(72)【発明者】
【氏名】謝花 聡
【審査官】福田 信成
(56)【参考文献】
【文献】特開平11-034731(JP,A)
【文献】特開2015-014819(JP,A)
【文献】特開2012-232672(JP,A)
【文献】特開2007-148835(JP,A)
【文献】特開2006-113836(JP,A)
【文献】特開2006-154961(JP,A)
【文献】特開2008-204102(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B62J 45/40
G08G 1/16
(57)【特許請求の範囲】
【請求項1】
人力駆動車の周囲環境についての検出結果から、前記人力駆動車の走行環境に関する情報として、前記人力駆動車の進行方向に沿って延び
、設定高さよりも低い段差に関する情報を、学習アルゴリズムによって抽出する抽出部を備える抽出装置。
【請求項2】
前記学習アルゴリズムは、深層学習アルゴリズムを含む、請求項1に記載の抽出装置。
【請求項3】
前記検出結果は、前記人力駆動車の周囲の画像を含む、請求項1または2に記載の抽出装置。
【請求項4】
前記走行環境に関する情報は、障害物に関する情報を含む、請求項1~3のいずれか一項に記載の抽出装置。
【請求項5】
請求項1~4のいずれか一項に記載の抽出装置と、
前記抽出装置の抽出結果に基づいて、前記人力駆動車のコンポーネントを制御する制御装置と、を備える制御システム。
【請求項6】
前記コンポーネントは、報知装置を含む、請求項5に記載の制御システム。
【請求項7】
人力駆動車の周囲環境についての検出結果から、前記人力駆動車の走行環境に関する情報として、前記人力駆動車の進行方向に沿って延びる段差に関する情報を、学習アルゴリズムによって抽出する抽出部を備える抽出装置と、
前記抽出装置の抽出結果に基づいて、照明装置を含む前記人力駆動車のコンポーネントを制御する制御装置と
を備え、
前記制御装置は、前記段差への前記人力駆動車の進入角度と設定角度との比較結果に応じて、異なる照明態様にて前記段差を照明すべく、前記照明装置を制御する
制御システム。
【請求項8】
人力駆動車の周囲環境についての検出結果から、前記人力駆動車の走行環境に関する情報として、前記人力駆動車の進行方向に沿って延びる段差に関する情報を、学習アルゴリズムによって抽出する抽出部を備える抽出装置と、
前記抽出装置の抽出結果に基づいて、操舵装置の支援装置を含む前記人力駆動車のコンポーネントを制御する制御装置と
を備え、
前記制御装置は、前記段差が前記人力駆動車の進行方向右側にある場合、進行方向を右方向に曲げ、前記段差が前記人力駆動車の進行方向左側にある場合、進行方向を左方向に曲げるように、前記操舵装置の支援装置を制御する
制御システム。
【請求項9】
請求項1~4のいずれか一項に記載の抽出装置と、
外部装置と通信する通信部を含む通信装置と、を備え、
前記通信部は、前記抽出装置の抽出結果を前記外部装置へ送信する、通信システム。
【請求項10】
前記通信装置は、位置情報を取得する位置情報取得部をさらに含み、
前記通信部は、前記位置情報取得部が取得した位置情報、および、前記抽出装置の抽出結果を外部装置へ送信する、請求項9に記載の通信システム。
【請求項11】
前記外部装置は、前記通信装置からの前記位置情報、および、前記抽出結果から、地図に関する情報を生成する、請求項10に記載の通信システム。
【請求項12】
前記通信装置は、前記外部装置から、他の人力駆動車の位置情報、および、他の人力駆動車における抽出結果を受信する、請求項10または11に記載の通信システム。
【請求項13】
人力駆動車の周囲環境についての検出結果が入力される入力層と、
前記人力駆動車の進行方向に沿って延びる段差に関する情報を出力する出力層と、
前記周囲環境についての検出結果と前記段差に関する情報とを教師データに用いて、前記検出結果と前記段差に関する情報との関係を学習してある中間層と、を備え、
前記入力層に入力された前記周囲環境についての検出結果に基づき、前記中間層で演算し、前記人力駆動車の進行方向に沿って延びる段差に関する情報を前記出力層から出力する処理に用いられる学習モデル。
【請求項14】
前記検出結果は、前記人力駆動車の周囲の画像を含む、請求項13に記載の学習モデル。
【請求項15】
前記教師データは、前記段差を含まない検出結果および前記検出結果が前記段差を含まないことを示すラベルデータを含む、請求項13または14に記載の学習モデル。
【請求項16】
前記教師データは、前記人力駆動車の走行中に検出される走行情報を含む、請求項13~15のいずれか一項に記載の学習モデル。
【請求項17】
人力駆動車の周囲環境についての検出結果を、請求項13~16の何れか一項に記載の学習モデルへ入力し、前記検出結果に関する推定結果を前記学習モデルから取得する演算処理部を備える、情報処理装置。
【請求項18】
人力駆動車の周囲環境についての検出結果に基づく追加学習によって更新された更新済学習モデルを受信する受信部、を備え、
前記更新済学習モデルへ更新する旨の選択を受け付けた場合に、前記学習モデルを前記更新済学習モデルに更新する、請求項17に記載の情報処理装置。
【請求項19】
前記人力駆動車と前記学習モデルより出力される情報に基づき特定される段差との間の距離が設定距離未満であり、かつ、前記人力駆動車の前記段差への進入角度が設定角度未満である場合、警告情報を出力する出力部を備える、請求項17または18に記載の情報処理装置。
【請求項20】
コンピュータに、
人力駆動車の周囲環境についての検出結果
を、請求項13~16の何れか一項に記載の学習モデルへ入力し、前記人力駆動車の走行環境に関する情報として、前記人力駆動車の進行方向に沿って延びる段差に関する情報を、
前記学習モデルより取得する
処理を実行させるためのコンピュータプログラム。
【請求項21】
請求項20に記載のコンピュータプログラムが記憶される記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、抽出装置、制御システム、通信システム、学習モデル、情報処理装置、コンピュータプログラム、および、記憶媒体に関する。
【背景技術】
【0002】
自動車において、車両前方の障害物の有無を検知する障害物検知装置が知られている(例えば、特許文献1を参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1では、内燃機関または電動機を駆動源とする車両での障害物検知が想定されており、人力駆動車において、効率よく走行環境に関する情報を抽出する手法は提案されていない。
【0005】
本発明は、効率よく走行環境に関する情報を抽出できる抽出装置、制御システム、通信システム、学習モデル、情報処理装置、コンピュータプログラム、および、記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【0006】
〔1〕本発明の一態様に係る抽出装置は、人力駆動車の周囲環境についての検出結果から、前記人力駆動車の走行環境に関する情報を、学習アルゴリズムによって抽出する抽出部を備える。
【0007】
この抽出装置によれば、機械学習、深層学習等の学習によって人力駆動車の周囲環境についての検出結果から走行環境を推定する学習アルゴリズムを用いるので、効率良く走行環境に関する情報を抽出できる。人力駆動車の周囲環境についての検出結果は、例えば、撮像装置によって人力駆動車の周囲を撮像して得られる画像データ、測距センサを用いて計測される人力駆動車から障害物までの距離データ等を含む。抽出装置が抽出する走行環境に関する情報は、障害物に関する情報を含む。障害物に関する情報は、例えば人力駆動車の進行走行に沿って延びる段差の情報である。また、障害物に関する情報は、路面の凹凸または滑りやすさに関する情報、路面上に存在する物体などの情報であってもよい。
【0008】
〔2〕本発明の一態様に係る抽出装置は、前記学習アルゴリズムは、深層学習アルゴリズムを含む。
【0009】
この抽出装置によれば、深層学習によって人力駆動車の周囲環境についての検出結果から走行環境を推定する深層学習アルゴリズムを用いるので、検出結果の特徴を示す特徴量を抽出する処理が不要となり、特徴量の抽出結果に左右されずに走行環境に関する情報を精度良く抽出できる。
【0010】
〔3〕本発明の一態様に係る抽出装置は、前記検出結果は、前記人力駆動車の周囲の画像を含む。
【0011】
この抽出装置によれば、学習アルゴリズムを用いて人力駆動車の周囲の画像を解析することによって、走行環境に関する情報を効率良く抽出できる。
【0012】
〔4〕本発明の一態様に係る抽出装置は、前記走行環境に関する情報は、障害物に関する情報を含む。
【0013】
この抽出装置によれば、学習アルゴリズムを用いて人力駆動車の周囲環境についての検出結果を解析することによって、障害物に関する情報を効率良く抽出できる。
【0014】
〔5〕本発明の一態様に係る抽出装置は、前記障害物に関する情報は、前記人力駆動車の進行方向に沿って延びる段差に関する情報を含む。
【0015】
この抽出装置によれば、学習アルゴリズムを用いて人力駆動車の周囲環境についての検出結果を解析することによって、人力駆動車の進行方向に沿って延びる段差に関する情報を抽出できる。
【0016】
〔6〕本発明の一態様に係る制御システムは、前述の抽出装置と、前記抽出装置の抽出結果に基づいて、前記人力駆動車のコンポーネントを制御する制御装置と、を備える。
【0017】
この制御システムによれば、抽出装置によって人力駆動車の走行環境に関する情報が抽出されるので、抽出装置によって抽出された走行環境に応じて、人力駆動車のコンポーネントを制御できる。
【0018】
〔7〕本発明の一態様に係る制御システムは、前記コンポーネントは、報知装置を含む。
【0019】
この制御システムによれば、制御対象のコンポーネントは報知装置を含むので、抽出装置によって抽出された走行環境に関する情報を人力駆動車の搭乗者に報知できる。
【0020】
〔8〕本発明の一態様に係る制御システムは、前記報知装置は、照明装置を含む。
【0021】
この制御システムによれば、報知装置は照明装置を含むので、例えば、走行環境に関する情報に障害物等が含まれている場合、この障害物等を照明することによって、障害物等の情報を人力駆動車の搭乗者に報知できる。
【0022】
〔9〕本発明の一態様に係る制御システムは、前記コンポーネントは、前記人力駆動車の操舵装置の支援装置を含む。
【0023】
この制御システムによれば、抽出装置によって人力駆動車の走行環境に関する情報が得られるので、走行環境に応じて人力駆動車の操舵を支援することによって、人力駆動車の操作性を向上できる。
【0024】
〔10〕本発明の一態様に係る通信システムは、前述の抽出装置と、外部装置と通信する通信部を含む通信装置と、を備え、前記通信部は、前記抽出装置の抽出結果を前記外部装置へ送信する。
【0025】
この通信システムによれば、通信装置を介して外部装置と通信できるので、拡張性が高められる。
【0026】
〔11〕本発明の一態様に係る通信システムは、前記通信装置は、位置情報を取得する位置情報取得部をさらに含み、前記通信部は、前記位置情報取得部が取得した位置情報、および、前記抽出装置の抽出結果を外部装置へ送信する。
【0027】
この通信システムによれば、人力駆動車の位置情報と、抽出装置によって抽出された抽出結果とを外部装置へ送信するので、抽出結果が得られた場所を外部装置において把握できる。
【0028】
〔12〕本発明の一態様に係る通信システムは、前記外部装置は、前記通信装置からの前記位置情報、および、前記抽出結果から、地図に関する情報を生成する。
【0029】
この通信システムによれば、抽出結果が得られた場所を示す地図を生成できる。
【0030】
〔13〕本発明の一態様に係る通信システムは、前記通信装置は、前記外部装置から、他の人力駆動車の位置情報、および、他の人力駆動車における抽出結果を受信する。
【0031】
この通信システムによれば、複数の人力駆動車の間で抽出結果を共有できる。
【0032】
〔14〕本発明の一態様に係る学習モデルは、人力駆動車の周囲環境についての検出結果が入力される入力層と、前記検出結果が障害物を含むか否かを示す推定結果を出力する出力層と、障害物を含む検出結果および前記検出結果が障害物を含むことを示すラベルデータを含む教師データに基づく中間層と、を備え、前記入力層に入力された前記周囲環境についての検出結果に基づき、前記中間層で演算し、前記検出結果に関する推定結果を前記出力層から出力する処理に用いられる。
【0033】
この学習モデルによれば、人力駆動車の周囲環境についての検出結果から、障害物を含むか否かを示す推定結果を出力する実行環境をコンピュータによって実現できる。
【0034】
〔15〕本発明の一態様に係る学習モデルは、前記障害物は、前記人力駆動車の進行方向に沿って延びる段差を含む。
【0035】
この学習モデルによれば、人力駆動車の周囲環境についての検出結果から、人力駆動車の進行方向に沿って延びる段差を含むか否かを示す推定結果を出力する実行環境をコンピュータによって実現できる。
【0036】
〔16〕本発明の一態様に係る学習モデルは、前記検出結果は、前記人力駆動車の周囲の画像を含む。
【0037】
この学習モデルによれば、人力駆動車の周囲の画像から、人力駆動車の進行方向に延びる段差を含む障害物についての推定結果を出力する実行環境をコンピュータによって実現できる。
【0038】
〔17〕本発明の一態様に係る学習モデルは、前記教師データは、障害物を含まない検出結果および前記検出結果が障害物を含まないことを示すラベルデータを含む。
【0039】
この学習モデルによれば、障害物を含む検出結果と、この検出結果が障害物を含むことを示すラベルデータとを含む教師データ、および、障害物を含まない検出結果と、この検出結果が障害物を含まないことを示すラベルデータとを含む教師データの双方に基づくので、推定精度を向上できる。
【0040】
〔18〕本発明の一態様に係る学習モデルは、前記教師データは、前記人力駆動車の走行中に検出される走行情報を含む。
【0041】
この学習モデルによれば、人力駆動車の走行中に検出される走行情報に基づき、人力駆動車の周囲環境の検出結果が障害物を含むか否かを判断し、その判断結果を教師データに含めることができる。
【0042】
〔19〕本発明の一態様に係る情報処理装置は、人力駆動車の周囲環境についての検出結果を、前述の学習モデルへ入力し、前記検出結果に関する推定結果を前記学習モデルから取得する演算処理部を備える。
【0043】
この情報処理装置によれば、人力駆動車の周囲環境についての検出結果を学習モデルに入力することによって、検出結果が障害物を含むか否かについての推定結果が得られるので、効率良く走行環境に関する情報を取得できる。
【0044】
〔20〕本発明の一態様に係る情報処理装置は、人力駆動車の周囲環境についての検出結果に基づく追加学習によって更新された更新済学習モデルを受信する受信部、を備え、前記更新済学習モデルへ更新する旨の選択を受け付けた場合に、前記学習モデルを前記更新済学習モデルに更新する。
【0045】
この情報処理装置によれば、追加学習によって更新された更新済学習モデルを受信し、必要に応じて更新できる。このため、情報処理装置にて追加学習を実行する必要はなく、より処理能力が高い外部サーバ等に追加学習を実行させ、更新された更新学習モデルを外部サーバ等から受信できるので、情報処理装置における処理負担を軽減できる。
【0046】
〔21〕本発明の一態様に係る情報処理装置は、前記学習モデルが推定する障害物は前記人力駆動車の進行方向に沿って延びる段差であり、前記検出結果が前記障害物を含むことを示す推定結果を前記演算処理部が取得し、前記人力駆動車と前記段差との間の距離が設定距離未満であり、かつ、前記人力駆動車の前記段差への進入角度が設定角度未満である場合、警告情報を出力する出力部を備える。
【0047】
この情報処理装置によれば、人力駆動車の進行方向に沿って延びる段差についての推定結果が得られ、この段差と人力駆動車との距離が設定距離未満であり、かつ、段差への進入角度が設定角度未満である場合、警告情報を出力するので、人力駆動車による走行が困難となる可能性を低減できる。
【0048】
〔22〕本発明の一態様に係るコンピュータプログラムは、コンピュータに、人力駆動車の周囲環境についての検出結果から、前記人力駆動車の走行環境に関する情報を、学習アルゴリズムによって抽出する処理を実行させるためのコンピュータプログラムである。
【0049】
このコンピュータプログラムによれば、人力駆動車の周囲環境についての検出結果から、学習アルゴリズムを用いて、人力駆動車の走行環境に関する情報を抽出する実行環境をコンピュータによって実現できる。
【0050】
〔23〕本発明の一態様に係る記憶媒体は、前述のコンピュータプログラムが記憶される。
【0051】
この記憶媒体によれば、記憶媒体に記憶されているコンピュータプログラムをコンピュータにインストールすることによって、人力駆動車の周囲環境についての検出結果から、学習アルゴリズムを用いて、人力駆動車の走行環境に関する情報を抽出する実行環境を実現できる。
【発明の効果】
【0052】
本願によれば、人力駆動車の周囲環境についての検出結果から、前記人力駆動車の走行環境に関する情報を効率よく抽出できる。
【図面の簡単な説明】
【0053】
【
図1】第1実施形態に係る抽出装置を説明する模式的説明図である。
【
図2】第1実施形態に係る抽出装置の内部構成を示すブロック図である。
【
図3】第1実施形態における学習モデルの構成例を示す模式図である。
【
図4】第1実施形態に係る抽出装置が実行する処理の手順を説明するフローチャートである。
【
図6】第2実施形態に係る制御システムを説明するブロック図である。
【
図7】第2実施形態における制御手順を示すフローチャートである。
【
図8】第3実施形態に係る通信システムを説明するブロック図である。
【
図9】サーバ装置の内部構成を示すブロック図である。
【
図10A】第3実施形態における通信装置の制御手順を示すフローチャートである。
【
図10B】第3実施形態におけるサーバ装置の制御手順を示すフローチャートである。
【
図11】情報処理装置の内部構成を示すブロック図である。
【
図12A】更新手順を説明するフローチャートである。
【
図12B】更新手順を説明するフローチャートである。
【発明を実施するための形態】
【0054】
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。
(第1実施形態)
図1は第1実施形態に係る抽出装置1を説明する模式的説明図である。第1実施形態に係る抽出装置1は、例えば人力駆動車100に搭載されるコンピュータであり、人力駆動車100の周囲環境についての検出結果から、人力駆動車100の走行環境に関する情報を学習アルゴリズムによって抽出する。本実施形態において、人力駆動車100は、走行のための原動力に関して、少なくとも部分的に人力を用いる車両であり、人力を電動補助する車両を含む。内燃機関または電動機のみを原動力に用いる車両は、人力駆動車100からは除外される。本実施形態において、人力駆動車100は自転車である。人力駆動車100は、操舵装置Hを備える。操舵装置Hの一例は、ハンドルバーである。抽出装置1は、人力駆動車100に設けられる専用端末であってもよく、人力駆動車100の搭乗者が携帯するスマートフォンなどの携帯端末であってもよい。
【0055】
人力駆動車100の周囲環境についての検出結果は、人力駆動車100の周囲の画像を含む。本実施形態において、人力駆動車100の周囲環境の検出結果は、例えば、デジタルカメラなどの撮像装置Pによって人力駆動車100の周囲を撮像して得られる画像である。また、抽出装置1が取得する周囲環境の検出結果は、超音波センサなどの測距センサを用いて計測される人力駆動車100から障害物までの距離などであってもよい。
【0056】
抽出装置1は、取得した検出結果から人力駆動車100の走行環境に関する情報を学習アルゴリズムによって抽出する。学習アルゴリズムは、
図3に示される学習モデル130を用いて、人力駆動車100の周囲環境についての検出結果から、人力駆動車100の走行環境を推定するためのアルゴリズムである。学習アルゴリズムは、機械学習による機械学習アルゴリズム、深層学習による深層学習アルゴリズム等の学習アルゴリズムを含む。
【0057】
人力駆動車100の走行環境に関する情報は、障害物に関する情報を含む。障害物は、走行の障害となる物体である。障害物は、例えば人力駆動車100の進行走行に沿って延びる段差Sを含む。このような段差Sは、例えば車道と歩道との間に存在する。
図1に示す段差Sは、人力駆動車100の進行方向に対して左側に存在する。ここで、前後左右は、人力駆動車100の搭乗者がハンドルに向かってサドルに跨がった状態から見た前後左右を表す。
【0058】
人力駆動車100の進行方向に沿って延びる段差Sは、例えば人力駆動車100の進行方向に対して略平行に延びる、または、人力駆動車100の進行方向に対して例えば10度未満の角度範囲内にて左方または右方に斜めに延びる。段差Sを乗り越える際の人力駆動車100の進入角度が例えば10度未満の比較的浅い角度である場合、走行が困難となる可能性がある。このため、抽出装置1は、周囲環境の検出結果から、人力駆動車100の進行方向に沿って延びる段差Sの情報を抽出対象として抽出する。また、人力駆動車100の進行方向に沿って延びる段差Sのうち、高さが設定高さよりも低いものを抽出対象とし、高さが設定高さよりも高いものについては抽出対象から除外してもよい。設定高さは、例えば20cmであるが、人力駆動車100の種類、人力駆動車100が備える車輪のサイズ等によって適宜設定され得る。
【0059】
また、障害物に関する情報は、側溝、マンホール、路面の凹凸、滑りやすい路面、および、人力駆動車100の周囲に存在する物体(車両、人物、動物など)に関する情報を含んでもよい。
【0060】
以下では、撮像装置Pによって撮像される画像から、学習アルゴリズムによって、自転車の進行方向に沿って延びる段差Sの情報を抽出する構成について説明する。
【0061】
図2は第1実施形態に係る抽出装置1の内部構成を示すブロック図である。抽出装置1は、入力部11、演算処理部12、記憶部13、および、出力部14を含む抽出部10を備える。抽出部10は、これらのハードウェア各部を用いて、自転車の周囲環境についての検出結果から、自転車の走行環境に関する情報を学習アルゴリズムによって抽出する。
【0062】
入力部11は、撮像装置Pを接続する入力インタフェースを備える。入力部11には、撮像装置Pから出力される画像の画像データが入力される。本実施形態では、撮像装置Pは、段差Sの情報を抽出するために好適な画角を有し、人力駆動車100の本体において、進行方向前方を撮像するために好適な場所に取り付けられていることが好ましい。撮像装置Pから出力される画像データは、静止画の画像データ、または、動画データである。入力部11に入力される画像データは、例えば、複数の画素から構成され、各画素がRGB各色の階調値によって表されるフレーム単位のデータである。入力部11は、入力された画像データを演算処理部12へ出力する。
【0063】
演算処理部12は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)などを備える。演算処理部12が備えるROMには、抽出装置1が備えるハードウェア各部の動作を制御するためのコンピュータプログラム等が記憶される。演算処理部12内のCPUは、ROMに記憶されたコンピュータプログラムを実行し、ハードウェア各部の動作を制御することによって、入力された画像データから走行環境に関する情報を抽出する処理を実現する。演算処理部12が備えるRAMには、演算の実行中に利用されるデータが一時的に記憶される。
【0064】
演算処理部12は、CPU、ROMおよびRAMを備える構成としたが、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、DSP(Digital Signal Processor)、量子プロセッサ、揮発性または不揮発性のメモリ等を備える1又は複数の演算回路であってもよい。
【0065】
記憶部13は、EEPROM(Electronically Erasable Programmable Read Only Memory)、SRAM(Static Random Access Memory)などのメモリを備える。記憶部13には、演算処理部12によって実行されるコンピュータプログラム、学習モデル130等が記憶される。
【0066】
記憶部13は、推定処理プログラムを記憶する。推定処理プログラムは、コンピュータに、人力駆動車100の周囲環境についての検出結果から、人力駆動車100の走行環境に関する情報を、学習アルゴリズムによって抽出する処理を実行させるためのコンピュータプログラムである。演算処理部12は、推定処理プログラムを実行することによって、学習モデル130を用いて走行環境を推定する学習アルゴリズムに基づき、人力駆動車100の周囲環境の検出結果から走行環境に関する情報を抽出する。
【0067】
推定処理プログラムを含むコンピュータプログラムは、コンピュータプログラムが記憶される記憶媒体Mによって提供され得る。記憶媒体Mは、例えば、CD-ROM、USBメモリ、SD(Secure Digital)カード、マイクロSDカード、コンパクトフラッシュ(登録商標)などの可搬型メモリである。本実施形態において、記憶媒体Mは、コンピュータプログラムを読み取り可能に記憶する非一時的な記憶媒体である。演算処理部12は、読取装置を用いて記憶媒体Mから各種プログラムを読み取り、読み取った各種プログラムを記憶部13にインストールする。
【0068】
記憶部13に記憶される学習モデル130は、その定義情報によって記述される。学習モデル130の定義情報は、学習モデル130を構成するニューラルネットワーク等の構造情報、学習モデル130において用いられる各種パラメータ等を含む。学習モデル130において用いられる各種パラメータには、例えばニューラルネットワークを構成するノード間の重み及びバイアス等が含まれる。本実施形態では、抽出対象の段差Sを含む画像データと、この画像データが抽出対象の段差Sを含むことを示すラベルデータとを含む教師データに基づき予め学習された学習モデル130が記憶部13に記憶される。
【0069】
出力部14は、演算処理部12による抽出結果を出力する出力インタフェースを備える。抽出結果の出力形式は任意である。出力部14は、演算処理部12から得られる抽出結果を示す画像を出力してもよい。また、出力部14は、演算処理部12の抽出結果に基づき、段差Sの情報が抽出された旨の文字情報を出力してもよい。更に、出力部14は、演算処理部12によって段差Sの情報が抽出された場合、搭乗者に注意喚起を促す音又は音声を出力してもよい。抽出装置1が操作ボタンなどのユーザインタフェースを備える場合、抽出装置1は、搭乗者による出力形式の選択を受付けてもよい。この場合、出力部14は、搭乗者により選択された出力形式に従って情報を出力してもよい。
【0070】
図3は第1実施形態における学習モデル130の構成例を示す模式図である。学習モデル130は、入力層131、中間層132、および、出力層133を備える。学習モデル130によって定められる学習アルゴリズムの一例は、例えば、R-CNN(Region-based Convolutional Neural Networks)のアルゴリズムである。
【0071】
入力層131には、人力駆動車100の周囲環境の検出結果が入力される。本実施形態では、人力駆動車100の周囲環境の検出結果は、人力駆動車100の周囲の画像を含む。人力駆動車100の周囲の画像に係る画像データを入力層131に入力する際、画像に含まれる何らかのオブジェクトを含む複数の部分領域を抽出し、抽出した全ての部分領域を一定の大きさにリサイズして入力層131に入力してもよい。各部分領域に含まれるオブジェクトは、抽出対象の段差Sだけでなく、人物、他車両などの任意のオブジェクトが含まれてもよい。領域の抽出には、例えば、"Selective search for object recognition.", Uijlings, Jasper RR, et al. International journal of computer vision 104.2 (2013), 154-171に開示される手法が用いられる。
【0072】
中間層132は、障害物を含む検出結果と、この検出結果が障害物を含むことを示すラベルデータとを含む教師データに基づく。本実施形態では、障害物を含む検出結果は抽出対象の段差Sを含む画像データであり、ラベルデータは画像データが抽出対象の段差Sを含むことを示すデータである。また、教師データには、障害物を含まない検出結果と、この検出結果が障害物を含まないことを示すラベルデータとが含まれていてもよい。中間層132は、例えば、畳み込み層132a、プーリング層132b、および、全結合層132cにより構成される。中間層132における畳み込み層132aおよびプーリング層132bは交互に複数設けられていてもよい。畳み込み層132aおよびプーリング層132bは、入力層131を通じて入力される各部分領域の領域画像から画像の特徴量を抽出する。畳み込み層132aおよびプーリング層132bにて抽出される特徴量は、例えば、明度差、輝度勾配、形状、エッジ、テクスチャなどである。畳み込み層132aおよびプーリング層132bによって抽出された特徴量は、全結合層132cへ出力される。全結合層132cは、最終のプーリング層132bから入力される画像の特徴量に基づき、各部分領域の物体を分類し、分類結果を出力層133へ出力する。
【0073】
出力層133は、全結合層132cから入力される分類結果に基づき、入力層131に入力された人力駆動車100の周囲環境の検出結果が障害物を含むか否かの推定結果を出力する。本実施形態では、障害物は、人力駆動車100の進行方向に沿って延びる段差Sである。出力層133が出力する推定結果には、推定結果の確からしさを示す確率の情報が含まれていてもよい。また、出力層133が出力する推定結果には、推定した物体を囲む領域の情報を含んでもよい。推定した物体を囲む領域は、例えば四角形の領域であり、中央位置の座標、幅および高さ、もしくは、四隅の座標によって特定される。
【0074】
図4は第1実施形態に係る抽出装置1が実行する処理の手順を説明するフローチャートである。抽出装置1の演算処理部12は、ステップS101において、周囲環境の検出結果を取得する。具体的には、演算処理部12は、撮像装置Pによって得られる画像データを、入力部11を通じて取得する。
【0075】
次いで、演算処理部12は、ステップS102において、取得した画像データを学習モデル130の入力層131に入力することによって学習アルゴリズムによる演算を実行する。このとき、演算処理部12は、記憶部13に記憶されている学習モデル130の定義情報を参照する。また、演算処理部12は、記憶部13に記憶されている推定処理プログラムを実行することによって、入力した画像データについて、学習モデル130によって走行環境を推定する学習アルゴリズムによる演算を実行する。
【0076】
次いで、演算処理部12は、ステップS103において、学習モデル130によって抽出される走行環境に関する情報を出力層133から取得する。すなわち、学習モデル130は、入力層131に入力された周囲環境の検出結果に基づき、中間層132で演算し、検出結果に関する出力結果を出力層133から出力する処理に用いられる。また、演算処理部12は、人力駆動車100の周囲環境についての検出結果を学習モデル130へ入力し、検出結果に関する推定結果を学習モデル130から取得する。学習モデル130の出力層133から得られる情報は、入力層131に入力された人力駆動車100の周囲環境の検出結果が障害物を含むか否かの推定結果を含む。
【0077】
また、演算処理部12は、学習モデル130から取得した情報に基づき、搭乗者に報知する出力画像を生成してもよい。
図5Aは入力画像の一例を示す模式図であり、
図5Bは出力画像の一例を示す模式図である。
図5Aは、撮像装置Pを用いて人力駆動車100の進行方向前方を撮像することによって得られる入力画像の一例を示している。
図5Aに示す入力画像には、人力駆動車100の進行方向に対して右側および左側に段差Sが含まれている。
【0078】
図5Bは、学習モデル130から取得した情報に基づき、演算処理部12が生成する出力画像の一例を示している。入力画像内の特定の部分領域に段差Sが含まれるとの推定結果が得られ、その推定結果の確からしさを示す確率が閾値以上である場合、演算処理部12は、
図5Bに示すような出力画像を生成してもよい。確率に対する閾値は適宜設定され得る。閾値の一例は80%である。
【0079】
演算処理部12は、学習モデル130から得られる領域の情報に基づき、画像内の段差Sの位置を特定できる。演算処理部12は、段差Sを含む領域内の各画素の濃度を上げ、領域外の各画素の濃度を下げることによって、
図5Bに示すような、段差Sを強調した画像を生成できる。また、演算処理部12は、段差Sを含む領域内の各画素の色を赤などの目立つ色に変更することによって、段差Sを強調した画像を生成してもよい。また、演算処理部12は、段差Sの位置を示すマーカ、および、警告を示す文字情報を付した出力画像を生成してもよい。
図5Bの例では、進行方向の左側に存在する段差Sに対して、マーカM1および文字情報N1を付し、右側に存在する段差Sに対して、マーカM2および文字情報N2を付した出力画像を示している。
【0080】
以上のように、第1実施形態では、学習アルゴリズムを用いることによって、人力駆動車100の走行中に得られる撮像画像から、効率良く段差Sの情報を抽出できる。
【0081】
本実施形態では、深層学習アルゴリズムの1つであるR-CNNを用いて抽出対象の段差Sの情報を抽出する構成について説明したが、学習モデル130において利用される深層学習アルゴリズムは、R-CNNに限定されない。例えば、R-CNNに代えて、SPPnet(Spatial Pyramid Pooling network)、Fast R-CNN、Faster R-CNN、YOLO(You Only Look Once)、SSD(Single Shot multibox Detector)などを含む深層学習アルゴリズムを用いてもよい。また、深層学習以外の学習アルゴリズムとして、サポートベクターマシン、ベイズ分類などの学習アルゴリズムを用いて、抽出対象の段差の情報を抽出する構成としてもよい。
【0082】
(第2実施形態)
第2実施形態では、抽出装置1による抽出結果に基づき、人力駆動車100のコンポーネントCを制御する制御システムについて説明する。
【0083】
図6は第2実施形態に係る制御システムを説明するブロック図である。第2実施形態に係る制御システムは、抽出装置1と、抽出装置1による抽出結果に基づき、人力駆動車100のコンポーネントCを制御する制御装置2と、を備える。抽出装置1の内部構成は、第1実施形態と同様であるため、その詳細な説明は省略する。
【0084】
制御装置2は、制御部21、記憶部22、入力部23、および、出力部24を備える。制御部21は、例えば、CPU、ROM、RAMなどを備える。制御部21が備えるROMには、制御装置2が備えるハードウェア各部の動作を制御するための制御プログラム等が記憶される。制御部21内のCPUは、ROMに記憶された制御プログラム、および、記憶部22に記憶された各種プログラムを実行し、ハードウェア各部の動作を制御することによって、本願の制御装置を実現する。具体的には、制御部21は、入力部23を通じて入力される抽出装置1からの抽出結果に基づき、人力駆動車100のコンポーネントCを制御する制御信号を生成し、生成した制御信号を出力部24から出力する。
【0085】
制御部21は上述の構成に限定されない。制御部21は、シングルコアCPU、マルチコアCPU、FPGA、揮発性または不揮発性のメモリ等を含む1又は複数の制御回路であればよい。また、制御部21は、日時情報を出力するクロック、計測開始指示を与えてから計測終了指示を与えるまでの経過時間を計測するタイマ、数をカウントするカウンタ等の機能を備えていてもよい。
【0086】
記憶部22は、EEPROM、SRAMなどのメモリを備える。記憶部22には、制御部21によって実行されるコンピュータプログラム、このコンピュータプログラムが用いるデータ等が記憶される。
【0087】
入力部23は、信号線L1を介して抽出装置1を接続するインタフェースを備える。入力部23には、抽出装置1から出力される抽出結果が入力される。入力部23に入力される抽出結果は、抽出結果を示す画像データであってもよく、抽出結果を示す文字情報もしくは信号であってもよい。入力部23は、入力された抽出結果を制御部21へ出力する。本実施形態では、信号線L1を介して抽出装置1を接続する構成としたが、無線通信のインタフェースを介して、抽出装置1と制御装置2との間でデータを送受信できるように構成してもよい。無線通信では、Bluetooth(登録商標) 、WiFi(登録商標)、ZigBee(登録商標)、その他の無線LAN(Local Area Network)等の通信規格に準じた無線伝送方式が利用できる。
【0088】
出力部24は、信号線L2を介して制御対象の人力駆動車100のコンポーネントCを接続するインタフェースを備える。出力部24は、制御部21によって生成される制御信号を取得し、取得した制御信号を制御対象のコンポーネントCへ出力する。本実施形態では、信号線L2を介して人力駆動車100のコンポーネントCを接続する構成としたが、無線通信のインタフェースを介して、制御装置2と人力駆動車100のコンポーネントCとの間でデータを送受信できるように構成してもよい。無線通信では、上述した各種の通信規格に準拠した無線伝送方式が利用できる。
【0089】
自転車のコンポーネントCは、報知装置Nを含む。報知装置Nは、照明装置210を含む。本実施形態において、報知装置Nは、さらに、表示装置230、および、音声出力装置220を含む。また、自転車のコンポーネントCは、人力駆動車100の操舵装置Hの支援装置240を含む。
【0090】
照明装置210は、例えば人力駆動車100の進行方向を照らす前照灯である。照明装置210は、出力部24から出力される制御信号に従って、点灯、点滅または消灯するように構成されている。制御装置2は、抽出装置1によって段差Sの情報が抽出された場合、設定時間だけ照明装置210を点灯または点滅させることによって、搭乗者に注意喚起を促す。
【0091】
表示装置230は、出力部24から出力される制御信号に基づいて情報を表示する液晶表示パネル等を備える。表示装置210は、搭乗者から視認できる人力駆動車100の適宜箇所に設置される。制御装置2は、抽出装置1によって段差Sが抽出された場合、段差Sを強調表示するための画像、段差Sの位置を示すマーカ、警告を表す文字情報等を含む画像などを表示装置230に表示させることによって、搭乗者に注意喚起を促す。
【0092】
音声出力装置220は、出力部24から出力される制御信号に基づいて音声を出力するスピーカ等を備える。音声出力装置220は、出力する音声が搭乗者によって聴き取ることがきる人力駆動車100の適宜箇所に設置される。制御装置2は、抽出装置1によって段差Sが抽出された場合、段差Sが存在する旨の音声を音声出力装置220から出力させることによって、搭乗者に注意喚起を促す。音声出力装置220は音声に限らず、警報音を出力する構成であってもよい。
【0093】
本実施形態では、報知装置の一例として、照明装置210、表示装置230、および、音声出力装置220を記載したが、報知装置は、これらの装置に限定されない。例えば、左右両側のハンドルに振動装置を設けてもよい。抽出装置1からの抽出結果に基づき、進行方向の左側に段差Sがあると判断できる場合、制御装置2は、左側のハンドルに設けられた振動装置を作動させる制御信号を出力してもよい。制御装置2は、左側のハンドルに設けられた振動装置を作動させることによって、進行方向の左側に段差Sがあることを搭乗者に報知できる。進行方向の右側に段差Sがあると判断できる場合についても同様である。
【0094】
支援装置240は、少なくとも、人力駆動車100の操舵装置Hの操舵を支援するための支援機構、支援機構のアクチュエータ、および、ドライバを備える。支援装置240は、ドライバが、出力部24から出力される制御信号に基づき、アクチュエータによって、支援機構を動作させることによって、人力駆動車100の操舵を支援するように構成されている。
【0095】
制御装置2は、抽出装置1によって段差Sが抽出された場合、その段差Sが人力駆動車100の進行方向に対して右側に存在するか、左側に存在するかを判断する。制御装置2は、段差Sが進行方向の右側に存在すると判断した場合、人力駆動車100の進行方向を右方向へ曲げるように制御する制御信号を支援装置240へ出力する。支援装置240は、制御装置2からの制御信号に従ってアクチュエータを駆動し、進行方向を右方向に曲げるように人力駆動車100の操舵を支援する。このような制御を行うことにより、段差Sに対する人力駆動車100の進入角度が深くなり、段差Sへの進入角度が浅いことによって、人力駆動車100による走行が困難となる可能性を低減することができる。段差Sが進行方向の左側に存在すると判断した場合も同様であり、制御装置2は、進行方向を左方向に曲げるように人力駆動車100の操舵を支援する。
【0096】
図7は第2実施形態における制御手順を示すフローチャートである。制御装置2の制御部21は、抽出装置1による抽出結果を取得する都度、以下の手順を実行する。制御部21は、ステップS201において、抽出装置1による抽出結果を取得する。制御部21は、ステップS202において、ステップS201において取得した抽出結果に基づき、抽出装置1によって抽出された段差Sが存在するか否かを判断する。第2実施形態に係る抽出装置1が抽出する段差Sの情報は、人力駆動車100の進行方向に沿って延び、かつ、高さが設定高さよりも低い段差Sの情報であり、進入角度が比較的浅い場合に人力駆動車100による走行が困難となる可能性がある段差Sを表す。制御部21は、ステップS202において抽出装置1によって抽出された段差Sが存在しないと判断した場合、本フローチャートによる処理を終了する。
【0097】
制御部21は、ステップS202において抽出装置1によって抽出された段差Sが存在すると判断した場合、ステップS203において、人力駆動車100から段差Sまでの距離を算出する。制御部21は、抽出装置1から学習モデル130への入力画像を取得し、取得した入力画像に基づき距離を算出できる。制御部21は、まず、入力画像内において、段差Sに重なる直線式と、人力駆動車100の進行方向を延長する直線式とを導出する。制御部21は、導出した2つの直線式が交差する点の座標と、タイヤの接地点を示す座標との間の距離から、人力駆動車100から段差Sまでの距離を算出できる。撮像装置Pが固定であるため、タイヤの接地点を示す座標は予め設定された点の座標であってもよい。また、人力駆動車100から段差Sまでの距離を計測する測距センサが設けられている場合、人力駆動車100から段差Sまでの距離を算出する構成に代えて、測距センサの計測結果を取得してもよい。測距センサの一例は、超音波センサである。
【0098】
次いで、制御部21は、ステップS204において、人力駆動車100の段差Sへの進入角度を算出する。制御部21は、上述した2つの直線式のなす角度を算出することによって、段差Sへの進入角度を算出できる。本実施形態では、便宜的に、距離を算出した後に進入角度を算出する構成としたが、進入角度を算出した後に距離を算出してもよい。
【0099】
次いで、制御部21は、ステップS205において、人力駆動車100から段差Sまでの距離が設定距離未満であり、かつ、段差Sへの進入角度が設定角度未満であるか否かを判断する。設定距離は、支援装置240の駆動を開始するのに適した距離が設定される。設定距離は例えば50cmである。設定角度は、設定角度未満の進入角度をもって人力駆動車100が段差Sに進入した場合、人力駆動車100による走行が困難となる可能性がある角度が設定される。設定角度は例えば10度である。
【0100】
制御部21は、ステップS205において段差Sまでの距離が設定距離以上、または、段差Sへの進入角度が設定角度以上であると判断した場合、ステップS206において、第1制御信号を生成して報知装置Nへ出力する。照明装置210は、第1照明様態にて段差Sを照明する。第1照明態様では、例えば、段差Sを通常よりも高い照度で照明する。また、表示装置230は、第1表示態様にて段差Sを表示する。第1表示態様では、例えば、段差Sの強調表示を行う。
【0101】
一方、制御部21は、ステップS205において段差Sまでの距離が設定距離未満、かつ、段差Sへの進入角度が設定角度未満であると判断した場合ステップS207において、第2制御信号を生成して報知装置Nへ出力する。照明装置210は、第1照明様態と異なる第2照明様態にて段差Sを照明する。第2照明態様では、例えば、明滅状態で段差Sを照明する。また、表示装置230は、第1表示態様とは異なる第2表示態様にて段差S表示する。第2表示態様では、例えば、段差Sの強調表示を行うと共に、段差Sの位置を示すマーカ、および、段差Sが迫っていることを警告する文字情報を表示する。
【0102】
制御部21は、ステップS208において、支援装置240への制御信号を出力することによって、支援装置240を制御する。このとき、制御部21は、段差Sが人力駆動車100の進行方向に対して右側に存在するか、左側に存在するかを判断してもよい。制御装置2は、段差Sが進行方向の右側に存在すると判断した場合、人力駆動車100の進行方向を右方向へ曲げるように制御する制御信号を支援装置240へ出力する。支援装置240は、制御装置2からの制御信号に従ってアクチュエータを駆動し、進行方向を右方向に曲げるように人力駆動車100の操舵を支援する。このような制御を行うことにより、段差Sに対する人力駆動車100の進入角度が深くなり、走行しやすくなる。段差Sが進行方向の左側に存在すると判断した場合も同様であり、制御装置2は、進行方向を左方向に曲げるように人力駆動車100の操舵を支援する。
【0103】
以上のように、第2実施形態では、抽出装置1によって抽出対象の段差Sが抽出された場合、制御装置2は、段差Sの存在を搭乗者に報知する。また、制御装置2は、必要に応じて操舵を支援する制御を行う。以上の構成によって、操舵の快適性を向上できる。
【0104】
第2実施形態では、抽出装置1と制御装置2とをそれぞれ独立した装置として記載したが、抽出装置1と制御装置2とが一体となった装置であってもよい。また、照明装置210、表示装置230、および、音声出力装置220、および支援装置240を含む全てのコンポーネントCが制御装置2に接続されている必要はなく、選択した1つ以上のコンポーネントCが接続されていればよい。
【0105】
また、第2実施形態では、人力駆動車100の操舵装置Hを操作することによって操舵を支援する構成としたが、操舵装置Hを固定することによって支援する構成としてもよい。段差Sへの進入角度が比較的浅い場合、タイヤが段差Sに乗り上がる際に、人力駆動車100のハンドルバーが段差Sとは反対方向に回転する可能性がある。よって、制御部21は、人力駆動車100のハンドルバーを固定させる制御信号を支援装置240へ出力することによって、ハンドルバーの反対方向への回転を抑制する支援を実行してもよい。
【0106】
(第3実施形態)
第3実施形態では、抽出装置1による抽出結果を外部サーバへ送信する通信システムについて説明する。
【0107】
図8は第3実施形態に係る通信システムを説明するブロック図である。第3実施形態に係る通信システムは、抽出装置1と、外部装置と通信する通信部34を含む通信装置3とを備える。通信装置3は、位置情報取得部35をさらに含む。抽出装置1の内部構成は、第1実施形態と同様であるため、その詳細な説明は省略する。第3実施形態では、抽出装置1と通信装置3とをそれぞれ独立した装置として記載するが、抽出装置1と制御装置2とが一体となった装置であってもよい。
【0108】
通信装置3は、制御部31、記憶部32、入力部33、通信部34、および、位置情報取得部35を備える。制御部31は、例えば、CPU、ROM、RAMなどを備える。制御部31が備えるROMには、通信装置3が備えるハードウェア各部の動作を制御するための制御プログラム等が記憶される。制御部31内のCPUは、ROMに記憶された制御プログラム、および、記憶部32に記憶された各種プログラムを実行し、ハードウェア各部の動作を制御することによって、本願の通信装置を実現する。具体的には、制御部31は、入力部33を通じて入力される抽出装置1からの抽出結果を、外部装置へ送信する。本実施形態において、外部装置はインターネット網などの通信ネットワークNWに接続されたサーバ装置300である。
図8では、簡略化のため、サーバ装置300と通信する通信装置3の台数を1台としているが、サーバ装置300と複数の人力駆動車100にそれぞれ接続された複数の通信装置3とが互いに通信できるように構成してもよい。
【0109】
制御部31は上述の構成に限定されない。制御部31は、シングルコアCPU、マルチコアCPU、FPGA、揮発性または不揮発性のメモリ等を含む1又は複数の制御回路であればよい。また、制御部31は、日時情報を出力するクロック、計測開始指示を与えてから計測終了指示を与えるまでの経過時間を計測するタイマ、数をカウントするカウンタ等の機能を備えていてもよい。
【0110】
記憶部32は、EEPROM、SRAMなどのメモリを備える。記憶部32には、制御部31によって実行されるコンピュータプログラム、このコンピュータプログラムが用いるデータ等が記憶される。
【0111】
入力部33は、信号線L3を介して抽出装置1を接続するインタフェースを備える。入力部33には、抽出装置1から出力される抽出結果が入力される。入力部33に入力される抽出結果は、抽出結果を示す画像データであってもよく、抽出結果を示す文字情報もしくは信号であってもよい。入力部33は、入力された抽出結果を制御部31へ出力する。本実施形態では、信号線L3を介して抽出装置1を接続する構成としたが、無線通信のインタフェースを介して、抽出装置1と通信装置3との間でデータを送受信できるように構成してもよい。無線通信では、上述した各種の通信規格に準拠した無線伝送方式が利用できる。
【0112】
通信部34は、通信ネットワークNWに接続する通信インタフェースを備える。通信部34は、サーバ装置300へ通知すべき情報を、通信ネットワークNWを介してサーバ装置300へ送信する。また、通信部34は、通信装置3を宛先としてサーバ装置300から送信される情報を、通信ネットワークNWを介して受信する。
【0113】
位置情報取得部35は、GPS衛星から送信されるGPS信号を受信する受信アンテナ、および、受信したGPS信号に基づき人力駆動車100の現在位置を測位することで位置情報を取得する演算回路等を備える。
【0114】
図9はサーバ装置300の内部構成を示すブロック図である。サーバ装置300は、制御部301、記憶部302および通信部303を備える。
【0115】
制御部301は、例えば、CPU、ROM、RAMなどを備える。制御部301が備えるROMには、サーバ装置300が備えるハードウェア各部の動作を制御するための制御プログラム等が記憶される。制御部301内のCPUは、ROMに記憶された制御プログラム、および、記憶部302に記憶された各種プログラムを実行し、ハードウェア各部の動作を制御する。
【0116】
制御部301は上述の構成に限定されない。制御部301は、CPU、ROM及びRAMを備えた構成に限定されない。制御部301は、例えば、GPU、FPGA、DSP、量子プロセッサ、揮発性または不揮発性のメモリ等を含む1又は複数の制御回路または演算回路であってもよい。また、制御部301は、日時情報を出力するクロック、計測開始指示を与えてから計測終了指示を与えるまでの経過時間を計測するタイマ、数をカウントするカウンタ等の機能を備えていてもよい。
【0117】
記憶部302は、ハードディスクドライブなどの記憶装置を備える。記憶部302には、制御部301によって実行される各種コンピュータプログラムが記憶される。また、記憶部302には、人力駆動車100に搭載される通信装置3から送信されるデータを基に学習した学習モデル310が記憶されていてもよい。学習モデル310は、その定義情報によって記述される。学習モデル310の定義情報は、学習モデル310を構成するニューラルネットワーク等の構造情報、学習モデル310において用いられる各種パラメータ等を含む。学習モデル310において用いられる各種パラメータには、例えばニューラルネットワークを構成するノード間の重み及びバイアス等が含まれる。サーバ装置300は、抽出対象の段差Sを含む画像データと、この画像データが抽出対象の段差Sを含むことを示すラベルデータとを含む教師データを用いて、学習モデル310を学習する。サーバ装置300は、サーバ装置300の運営者等によって用意される多数の画像データおよびラベルデータを教師データとして、学習モデル310を学習してもよい。また、第4実施形態で説明するように、複数の人力駆動車100にそれぞれ搭載される通信装置3から送信される画像データおよびラベルデータを教師データとして学習モデル310を学習してもよい。更に、教師データには、抽出対象の段差Sを含まない画像データと、この画像データが抽出対象の段差Sを含まないことを示すラベルデータとが含まれていてもよい。
【0118】
通信部303は、通信ネットワークNWに接続する通信インタフェースを備える。通信部303は、通信装置3へ通知すべき情報を、通信ネットワークNWを介して通信装置3へ送信する。また、通信部303は、サーバ装置300を宛先として通信装置3から送信される情報を、通信ネットワークNWを介して受信する。
【0119】
図10Aは第3実施形態における通信装置3の制御手順を示すフローチャートである。通信装置3の制御部31は、ステップS301において、抽出装置1による抽出結果を取得する。次いで、制御部31は、ステップS302において、ステップS301で取得した抽出結果に基づき、抽出装置1によって抽出された段差Sが存在するか否かを判断する。制御部31は、ステップS302において抽出装置1によって抽出された段差Sが存在しないと判断した場合、本フローチャートによる処理を終了する。
【0120】
制御部31は、ステップS302において抽出装置1によって抽出された段差Sが存在すると判断した場合、ステップS303において、その段差Sの情報を通信部34よりサーバ装置300へ送信する。ステップS303において、通信部34は、位置情報取得部35が取得した位置情報、および、抽出装置1の抽出結果を外部装置へ送信する。
【0121】
図10Bは第3実施形態におけるサーバ装置300の制御手順を示すフローチャートである。サーバ装置300は、ステップS401において、通信装置3から送信される段差Sの情報を受信する。サーバ装置300は、ステップS402において、ステップS401において受信した段差Sの情報を記憶部302に記憶させる。また、サーバ装置300は、段差Sの情報と共に、人力駆動車100の位置情報を受信した場合、受信した段差Sの情報を人力駆動車100の位置情報に関連付けて記憶部302に記憶させてもよい。
【0122】
サーバ装置300は、ステップS403において、記憶部302に記憶される段差Sに関する情報と、人力駆動車100の位置情報とに基づき、地図データを生成する。ステップS403において生成される地図データは、例えば、段差Sに関する情報を地図上に重畳した画像データである。
【0123】
また、サーバ装置300は、ステップS404において、通信ネットワークNWを介して、地図データのダウンロード要求を受信したか否かを判断する。サーバ装置300は、ステップS404においてダウンロード要求を受信していないと判断した場合、本フローチャートによる処理を終了する。
【0124】
サーバ装置300は、ステップS404においてダウンロード要求を受信したと判断した場合、ステップS405において、ステップS403において作成した地図データを、ダウンロード要求の要求元へ送信する。ダウンロード要求の要求元は、ステップS303で段差Sの情報を送信した通信装置3に限定されず、他の人力駆動車100に搭載された通信装置3であってもよく、人力駆動車100の搭乗者が携帯する携帯端末であってもよい。すなわち、第3実施形態では、通信装置3は、外部装置から、他の人力駆動車100の位置情報、および、他の人力駆動車100における抽出結果を受信することが可能である。
【0125】
以上のように、第3実施形態では、抽出装置1によって抽出対象の段差Sが抽出された場合、通信装置3は、段差Sの情報をサーバ装置300へ送信するので、サーバ装置300において段差Sの情報を管理できる。また、段差Sの情報と位置情報とをサーバ装置300に記憶させておき、段差Sの情報を含む地図データを送信できるので、例えば、段差Sが存在する場所の付近を通過する人力駆動車100に対して注意喚起を促すことができる。
【0126】
(第4実施形態)
第4実施形態では、人力駆動車100の周囲環境についての検出結果を、学習モデルへ入力し、検出結果に関する推定結果を学習モデルから取得する演算処理部42を備える情報処理装置4について説明する。より具体的には、情報処理装置4が、サーバ装置300から学習モデル310をダウンロードすることよって、学習モデル130を更新する形態について説明する。サーバ装置300の構成は、第3実施形態と同様であるから、その説明を省略することとする。
【0127】
図11は、情報処理装置4の内部構成を示すブロック図である。情報処理装置4は、入力部41、演算処理部42、記憶部43、出力部44、および、受信部45を備える。入力部41、演算処理部42、および、記憶部43の構成は、それぞれ第1実施例における入力部11、演算処理部12、および、記憶部13の構成と同様であるため説明を省略する。本実施形態において、学習モデル130が推定する障害物は人力駆動車100の進行方向に沿って延びる段差Sである。
【0128】
出力部44は、人力駆動車100の周囲環境についての検出結果が障害物を含むことを示す推定結果を演算処理部42が取得し、人力駆動車100と段差Sとの間の距離が設定距離未満であり、かつ、人力駆動車100の段差Sへの進入角度が設定角度未満である場合、警告情報を出力する。
【0129】
受信部45は、インターネット網などの通信ネットワークNWを介してサーバ装置300と接続される。受信部45は、人力駆動車100の周囲環境についての検出結果に基づく追加学習によって更新された更新済学習モデル310を受信する。演算処理部42は、更新済学習モデルへ更新する旨の選択を受け付けた場合に、学習モデル130を更新済学習モデルに更新する。
【0130】
図12Aは更新手順を説明するフローチャートである。情報処理装置4の演算処理部42は、ステップS501において、撮像装置Pによって撮像された画像データを、入力部41を通じて取得する。次いで、演算処理部42は、ステップS502において、段差Sを検出したか否かを判断する。例えば、演算処理部42は、人力駆動車100に設けられる測距センサの出力を取得することによって、段差Sを検出してもよい。また、演算処理部42は、人力駆動車100に設けられる振動センサの出力を取得することによって、段差Sを検出してもよい。
【0131】
演算処理部42は、ステップS502において段差Sを検出したと判断した場合、ステップS503において、ステップS501において取得した画像データに対し、段差Sである旨のラベルデータを付与する。演算処理部42は、ステップS501で取得した画像データを記憶部43に記憶させておき、段差Sが検出された時点よりも設定時間だけ前に取得した画像データに段差Sである旨のラベルデータを付与する構成であってもよい。
【0132】
演算処理部42は、ステップS502において段差Sを検出していないと判断した場合、ステップS504において、ステップS501において取得した画像データに対し、段差Sでない旨のラベルデータを付与する。
【0133】
次いで、演算処理部42は、ステップS505において、ラベルデータを付与した画像データを、通信部34を通じてサーバ装置300へ送信する。
【0134】
次いで、演算処理部42は、ステップS506において、サーバ装置300から送信される更新済学習モデル310を受信部45によって受信する。次いで、演算処理部42は、ステップS507において、学習モデル130の更新要否を判断する。例えば、入力部41が更新要否の選択を受付ける選択ボタンを含み、選択ボタンの操作に応じて更新要否を判断してもよい。また、演算処理部42は、受信部45を通じて搭乗者が所持する携帯端末に更新の要否を問い合わせ、携帯端末からの応答に基づき更新の要否を判断してもよい。
【0135】
演算処理部42は、ステップS507において更新が必要であると判断した場合、ステップS508において、記憶部43に記憶されている学習モデル130を、ステップS506において受信した更新済学習モデル310に更新させる。
【0136】
演算処理部42は、ステップS507において更新が不要であると判断した場合学習モデル130を更新せずに、本フローチャートによる処理を終了する。
【0137】
図12Bは更新手順を説明するフローチャートである。サーバ装置300の制御部301は、ステップS601において、通信部303を通じて、情報処理装置4から送信されるラベルデータが付与された画像データを受信する。
【0138】
次いで、制御部301は、ステップS602において、ラベルデータが付与された画像データを受信した場合、画像データと、その画像データが段差Sを含むか否かを示すラベルデータとを教師データとして、学習モデル310の追加学習を実行する。この追加学習によって、学習モデル310の構造情報、学習モデル310において用いられる各種パラメータが更新され、学習モデル310が更新される。ステップS602の追加学習は、画像データを受信する都度実行する必要はなく、例えば、予め設定した数の画像データを受信した場合、もしくは、定期的なタイミング等の適宜のタイミングにおいて実行すればよい。また、制御部301は、段差Sである旨のラベルデータが付与された画像データのみを教師データとして、学習モデル310を追加学習してもよい。
【0139】
次いで、制御部301は、ステップS603において、追加学習後の学習モデル310を記憶部302から読み出し、更新済学習モデルとして通信装置3へ送信する。
【0140】
以上のように、第4実施形態では、複数の人力駆動車100にそれぞれ搭載されている情報処理装置4から送信されてくる画像データを基に、サーバ装置300が学習モデル310を追加学習する。また、人力駆動車100に搭載された情報処理装置4は、必要に応じて、サーバ装置300から送信される更新済学習モデルに更新でき、更新後の学習モデルに基づき、走行環境に関する情報を精度良く抽出できる。
【0141】
第4実施形態では、情報処理装置4において画像データが段差Sを含むか否かのラベル付けを実行する構成としたが、測距センサ、振動センサ等の出力を含む人力駆動車100の走行中に検出される走行情報を、画像データと共にサーバ装置300へ送信する構成としてもよい。すなわち、教師データは、人力駆動車100の走行中に検出される走行情報を含む。この場合、サーバ装置300は、通信装置3から送信されてくる走行情報を含む教師データに基づき、学習モデル310の追加学習を実行してもよい。
【0142】
第1実施形態~第4実施形態では、人力駆動車100の進行方向に沿って延びる段差Sを抽出対象としたが、抽出対象はこれに限定されず、例えば、側溝、マンホール、路面の凹凸、滑りやすい路面、人力駆動車100の周囲に存在する物体(車両、人物、動物など)を抽出対象としてもよい。これらの抽出対象を含む画像データと、抽出対象を含むことを示すラベルデータとを含む教師データとして学習した学習モデル130を用いることにより、新たに入力された画像データから抽出対象が抽出される。
【0143】
また、撮像装置Pによる撮像方向は、人力駆動車100の前方に限定されない。人力駆動車100の後方、左方または右方に存在する他車両などの障害物の情報を抽出するために、撮像装置Pを用いて、人力駆動車100の後方、左方または右方を撮像した画像データを取得する構成としてもよい。
【0144】
第1実施形態~第4実施形態では、人力駆動車100の周囲環境についての検出結果として、撮像装置Pによって画像データを用いた構成について説明したが、人力駆動車100の周囲環境についての検出結果は画像データに限定されない。例えば、人力駆動車100の周囲環境の検出結果として、例えば超音波センサなどの測距センサを用いて計測される人力駆動車100から障害物までの距離データを、単独もしくは画像データと併用して用いてもよい。
【0145】
今回開示された実施形態は、全ての点において例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【0146】
1 抽出装置
11 入力部
12 演算処理部
13 記憶部
14 出力部
130 学習モデル