(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024157649
(43)【公開日】2024-11-08
(54)【発明の名称】位置推定装置、位置推定システム、位置推定方法、および、コンピュータプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20241031BHJP
G06V 10/80 20220101ALI20241031BHJP
G06V 20/54 20220101ALI20241031BHJP
【FI】
G06T7/00 650B
G06V10/80
G06V20/54
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023072118
(22)【出願日】2023-04-26
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】岩堀 健人
(72)【発明者】
【氏名】横山 大樹
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA04
5L096CA05
5L096DA02
5L096EA07
5L096EA16
5L096EA18
5L096EA35
5L096FA02
5L096FA06
5L096FA12
5L096FA18
5L096FA60
5L096FA64
5L096FA66
5L096FA67
5L096FA69
5L096GA51
5L096HA05
5L096HA11
5L096JA16
(57)【要約】 (修正有)
【課題】車両を含む撮像画像を用いて、車両の位置を精度よく推定する位置推定装置、位置推定システム、位置推定方法及びプログラムを提供する。
【解決手段】車両制御装置を有する1台以上の車両と、複数の撮像装置と、車両の位置を推定する位置推定装置とが、ネットワークに接続され通信する位置推定システムにおいて、車両の位置を推定する位置推定装置7が備える装置CPU72は、車両を含む撮像画像を撮像装置から取得する装置取得部721と、撮像画像を用いて、画像座標系における車両の位置を示す画像座標点を算出する位置算出部722と、撮像画像に含まれる車両の種別を特定する車種特定部723と、グローバル座標系における撮像装置の位置を基に算出される撮像パラメータと、車両の種別に応じて定まる車両パラメータと、を用いて、画像座標点をグローバル座標系における車両の位置を示す車両座標点に変換する位置変換部724として機能する。
【選択図】
図5
【特許請求の範囲】
【請求項1】
車両の位置を推定する位置推定装置であって、
前記車両を含む撮像画像を撮像装置から取得する取得部と、
前記撮像画像を用いて、画像座標系における前記車両の前記位置を示す画像座標点を算出する位置算出部と、
前記撮像画像に含まれる前記車両の種別を特定する車種特定部と、
グローバル座標系における前記撮像装置の位置を基に算出される撮像パラメータと、前記車両の前記種別に応じて定まる車両パラメータと、を用いて、前記画像座標点を前記グローバル座標系における前記車両の前記位置を示す車両座標点に変換する位置変換部と、を備える、位置推定装置。
【請求項2】
請求項1に記載の位置推定装置であって、さらに、
前記車両座標点を用いて、前記車両の移動方向を示す方向情報を生成する方向情報生成部を備える、位置推定装置。
【請求項3】
請求項1に記載の位置推定装置であって、
前記位置変換部は、前記画像座標点を前記車両座標点に変換する場合に、前記車両座標点を目的変数とし、前記画像座標点と、前記撮像パラメータと、前記車両パラメータと、を説明変数として含む関係式に、前記取得部によって取得された前記車両パラメータの値を代入する、位置推定装置。
【請求項4】
請求項1に記載の位置推定装置であって、さらに、
前記取得部によって取得された前記車両パラメータと、前記車両パラメータの基準値を示す基準パラメータと、の差分を算出することで、前記基準パラメータに対する補正値を示す補正パラメータであって、前記車種特定部によって特定された前記車両の前記種別に応じて定まる補正パラメータを設定する補正値設定部を備え、
前記位置変換部は、前記画像座標点を前記車両座標点に変換する場合に、前記車両座標点を目的変数とし、前記画像座標点と、前記撮像パラメータと、前記基準パラメータと、前記補正パラメータと、を説明変数として含む関係式に、前記補正値設定部によって設定された前記補正パラメータを代入する、位置推定装置。
【請求項5】
請求項4に記載の位置推定装置であって、さらに、
前記補正値設定部は、前記車種特定部によって特定された前記車両の前記種別が予め定められた種別である場合に、前記差分を算出することなく、前記補正パラメータをゼロに設定する、位置推定装置。
【請求項6】
請求項1に記載の位置推定装置であって、
前記撮像パラメータは、前記グローバル座標系における前記撮像装置の前記位置を基に算出される前記撮像装置の路面からの高さであり、
前記車両パラメータは、前記車両の予め定められた測位点の前記路面からの高さである、位置推定装置。
【請求項7】
請求項1に記載の位置推定装置であって、
前記位置算出部は、
前記撮像画像中の前記車両をマスクしたマスク領域が付加された第1マスク画像を生成する検出部と、
前記第1マスク画像を透視変換する透視変換部と、
座標点算出部であって、前記第1マスク画像中の前記マスク領域に設定した第1外接矩形の指定された頂点を第1座標点とし、前記第1マスク画像を透視変換した第2マスク画像中の前記マスク領域に設定した第2外接矩形の頂点のうち、前記第1座標点と同一の位置を示す頂点を第2座標点とし、前記第2座標点を用いて前記第1座標点を補正する座標点算出部と、を備える、位置推定装置。
【請求項8】
請求項7に記載の位置推定装置であって、
前記位置算出部は、さらに、前記車両の移動方向が予め定められた方向を向くように前記撮像画像を回転させる回転処理部を備える、位置推定装置。
【請求項9】
請求項7に記載の位置推定装置であって、
前記位置算出部は、さらに、前記撮像画像の歪みを修正する歪み修正部を備える、位置推定装置。
【請求項10】
車両の位置を推定する位置推定システムであって、
車両と、
位置推定の対象となる前記車両を含む撮像画像を取得する撮像装置と、
請求項1から請求項9までのいずれか一項に記載の位置推定装置と、を備える、位置推定システム。
【請求項11】
車両の位置を推定する位置推定方法であって、
前記車両を含む撮像画像を撮像装置から取得する取得工程と、
前記撮像画像を用いて、画像座標系における前記車両の前記位置を示す画像座標点を算出する位置算出工程と、
前記撮像画像に含まれる前記車両の種別を特定する車両種別特定工程と、
グローバル座標系における前記撮像装置の位置を基に算出される撮像パラメータと、前記車両の前記種別に応じて定まる車両パラメータと、を用いて、前記画像座標点を前記グローバル座標系における前記車両の前記位置を示す車両座標点に変換する位置変換工程と、を備える、位置推定方法。
【請求項12】
車両の位置を推定するために用いられるコンピュータプログラムであって、
前記車両を含む撮像画像を撮像装置から取得する取得機能と、
前記撮像画像を用いて、画像座標系における前記車両の前記位置を示す画像座標点を算出する位置算出機能と、
前記撮像画像に含まれる前記車両の種別を特定する車両種別特定機能と、
グローバル座標系における前記撮像装置の位置を基に算出される撮像パラメータと、前記車両の前記種別に応じて定まる車両パラメータと、を用いて、前記画像座標点を前記グローバル座標系における前記車両の前記位置を示す車両座標点に変換する位置変換機能と、を備える、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、位置推定装置、位置推定システム、位置推定方法、および、コンピュータプログラムに関する。
【背景技術】
【0002】
従来、遠隔制御によって自動走行する車両が知られている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
遠隔制御によって車両を自動走行させる場合、車両の位置を推定する必要がある。車両を含む撮像領域を車両の外部から撮像することで取得した撮像画像を用いて車両の位置を推定すると、車両の種別に応じて車格等が異なるため、車両の位置の推定精度が低下する虞があることを本願発明者らは見出した。
【課題を解決するための手段】
【0005】
本開示は、以下の形態として実現することが可能である。
【0006】
(1)本開示の第1形態によれば、位置推定装置が提供される。車両の位置を推定する位置推定装置は、前記車両を含む撮像画像を撮像装置から取得する取得部と、前記撮像画像を用いて、画像座標系における前記車両の前記位置を示す画像座標点を算出する位置算出部と、前記撮像画像に含まれる前記車両の種別を特定する車種特定部と、グローバル座標系における前記撮像装置の位置を基に算出される撮像パラメータと、前記車両の前記種別に応じて定まる車両パラメータと、を用いて、前記画像座標点を前記グローバル座標系における前記車両の前記位置を示す車両座標点に変換する位置変換部と、を備える。この形態によれば、撮像画像に含まれる車両の種別を特定して、車両の種別に応じた車両パラメータを取得することができる。そして、車両の種別に応じた車両パラメータを用いて、撮像画像から車両の位置を推定することができる。このようにすると、車両の種別を考慮して車両の位置を推定することができる。これにより、車両の種別に応じて車格等が異なることにより、車両の位置の推定精度が低下することを抑制できる。
(2)上記形態であって、さらに、前記車両座標点を用いて、前記車両の移動方向を示す方向情報を生成する方向情報生成部を備えてもよい。この形態によれば、車両の位置情報を用いて、方向情報を生成することができる。このようにすると、走行中の車両の実際の走行軌跡や移動方向を推定することができる。
(3)上記形態であって、前記位置変換部は、前記画像座標点を前記車両座標点に変換する場合に、前記車両座標点を目的変数とし、前記画像座標点と、前記撮像パラメータと、前記車両パラメータと、を説明変数として含む関係式に、前記取得部によって取得された前記車両パラメータの値を代入してもよい。この形態によれば、車両座標点を目的変数とし、画像座標点と撮像パラメータと車両パラメータとを説明変数として含む関係式に、取得部によって取得された車両パラメータの値を代入することで、画像座標点を車両座標点に変換することができる。
(4)上記形態であって、さらに、前記取得部によって取得された前記車両パラメータと、前記車両パラメータの基準値を示す基準パラメータと、の差分を算出することで、前記基準パラメータに対する補正値を示す補正パラメータであって、前記車種特定部によって特定された前記車両の前記種別に応じて定まる補正パラメータを設定する補正値設定部を備え、前記位置変換部は、前記画像座標点を前記車両座標点に変換する場合に、前記車両座標点を目的変数とし、前記画像座標点と、前記撮像パラメータと、前記基準パラメータと、前記補正パラメータと、を説明変数として含む関係式に、前記補正値設定部によって設定された前記補正パラメータを代入してもよい。この形態によれば、撮像画像に含まれる車両の種別を特定して、車両の種別に応じた補正パラメータを算出することができる。そして、車両座標点を目的変数とし、画像座標点と撮像パラメータと基準パラメータと補正パラメータとを説明変数として含む関係式に、補正値設定部によって設定された補正パラメータを代入することで、画像座標点を車両座標点に変換することができる。
(5)上記形態であって、さらに、前記補正値設定部は、前記車種特定部によって特定された前記車両の前記種別が予め定められた種別である場合に、前記差分を算出することなく、前記補正パラメータをゼロに設定してもよい。この形態によれば、車種特定部によって特定された車両の種別が予め定められた種別である場合に、基準パラメータと車両パラメータとの差分を算出することなく、補正パラメータをゼロに設定することができる。
(6)上記形態であって、前記撮像パラメータは、前記グローバル座標系における前記撮像装置の前記位置を基に算出される前記撮像装置の路面からの高さであり、前記車両パラメータは、前記車両の予め定められた測位点の前記路面からの高さであってもよい。この形態によれば、撮像装置の路面からの高さと、車両の測位点の路面からの高さと、の比率を用いて、画像座標点を車両座標点に変換することができる。
(7)上記形態であって、前記位置算出部は、前記撮像画像中の前記車両をマスクしたマスク領域が付加された第1マスク画像を生成する検出部と、前記第1マスク画像を透視変換する透視変換部と、座標点算出部であって、前記第1マスク画像中の前記マスク領域に設定した第1外接矩形の指定された頂点を第1座標点とし、前記第1マスク画像を透視変換した第2マスク画像中の前記マスク領域に設定した第2外接矩形の頂点のうち、前記第1座標点と同一の位置を示す頂点を第2座標点とし、前記第2座標点を用いて前記第1座標点を補正する座標点算出部と、を備えてもよい。この形態によれば、撮像画像中の車両をマスクしたマスク領域が付加された第1マスク画像と、第1マスク画像を透視変換した第2マスク画像と、を生成することができる。このようにすると、第1マスク画像から第1座標点を抽出し、第2マスク画像から第2座標点を抽出することができる。そして、第2座標点を用いて、第1座標点を補正することで、画像座標点を算出することができる。これにより、画像座標点をより正確に算出することができる。
(8)上記形態であって、前記位置算出部は、さらに、前記車両の移動方向が予め定められた方向を向くように前記撮像画像を回転させる回転処理部を備えてもよい。この形態によれば、撮像画像を、車両の移動方向を示すベクトルの方向が予め定められた方向を向くように回転させることができる。このようにすると、車両の移動方向を示すベクトルの方向を統一した状態で、撮像画像に含まれる車両を検出することができる。これにより、車両の位置の推定精度を向上させることができる。
(9)上記形態であって、前記位置算出部は、さらに、前記撮像画像の歪みを修正する歪み修正部を備えてもよい。この形態によれば、撮像画像の歪みを修正することができる。これにより、車両の位置の推定精度をさらに向上させることができる。
(10)本開示の第2形態によれば、位置推定システムが提供される。車両の位置を推定する位置推定システムは、車両と、位置推定の対象となる前記車両を含む撮像画像を取得する撮像装置と、上記形態に記載の位置推定装置と、を備える。この形態によれば、撮像画像に含まれる車両の種別を特定して、車両の種別に応じた車両パラメータを取得することができる。そして、車両の種別に応じた車両パラメータを用いて、撮像画像から車両の位置を推定することができる。このようにすると、車両の種別を考慮して車両の位置を推定することができる。これにより、車両の種別に応じて車格等が異なることにより、車両の位置の推定精度が低下することを抑制できる。
(11)本開示の第3形態によれば、位置推定方法が提供される。車両の位置を推定する位置推定方法は、前記車両を含む撮像画像を撮像装置から取得する取得工程と、前記撮像画像を用いて、画像座標系における前記車両の前記位置を示す画像座標点を算出する位置算出工程と、前記撮像画像に含まれる前記車両の種別を特定する車両種別特定工程と、グローバル座標系における前記撮像装置の位置を基に算出される撮像パラメータと、前記車両の前記種別に応じて定まる車両パラメータと、を用いて、前記画像座標点を前記グローバル座標系における前記車両の前記位置を示す車両座標点に変換する位置変換工程と、を備える。この形態によれば、撮像画像に含まれる車両の種別を特定して、車両の種別に応じた車両パラメータを取得することができる。そして、車両の種別に応じた車両パラメータを用いて、撮像画像から車両の位置を推定することができる。このようにすると、車両の種別を考慮して車両の位置を推定することができる。これにより、車両の種別に応じて車格等が異なることにより、車両の位置の推定精度が低下することを抑制できる。
(12)本開示の第4形態によれば、コンピュータプログラムが提供される。車両の位置を推定するために用いられるコンピュータプログラムは、前記車両を含む撮像画像を撮像装置から取得する取得機能と、前記撮像画像を用いて、画像座標系における前記車両の前記位置を示す画像座標点を算出する位置算出機能と、前記撮像画像に含まれる前記車両の種別を特定する車両種別特定機能と、グローバル座標系における前記撮像装置の位置を基に算出される撮像パラメータと、前記車両の前記種別に応じて定まる車両パラメータと、を用いて、前記画像座標点を前記グローバル座標系における前記車両の前記位置を示す車両座標点に変換する位置変換機能と、を備える。この形態によれば、撮像画像に含まれる車両の種別を特定して、車両の種別に応じた車両パラメータを取得することができる。そして、車両の種別に応じた車両パラメータを用いて、撮像画像から車両の位置を推定することができる。このようにすると、車両の種別を考慮して車両の位置を推定することができる。これにより、車両の種別に応じて車格等が異なることにより、車両の位置の推定精度が低下することを抑制できる。
本開示は、上記の位置推定装置、位置推定システム、位置推定方法、コンピュータプログラム以外の種々の形態で実現することが可能である。例えば、位置推定装置の製造方法、位置推定装置および位置推定システムの制御方法等の形態で実現することができる。
【図面の簡単な説明】
【0007】
【
図5】第1実施形態における装置CPUの詳細を示す図。
【
図8】第1実施形態における車両の位置推定方法を示すフローチャート。
【
図10】座標点算出工程の詳細を説明するための図。
【
図11】ベース座標点の取得方法を説明するための図。
【
図12】第1実施形態における位置変換工程の詳細を説明するための第1図。
【
図13】第1実施形態における位置変換工程の詳細を説明するための第2図。
【
図14】第2実施形態における装置CPUの詳細を示す図。
【
図15】第2実施形態における車両の位置推定方法を示すフローチャート。
【
図16】第2実施形態における位置変換工程の詳細を説明するための第1図。
【
図17】第2実施形態における位置変換工程の詳細を説明するための第2図。
【発明を実施するための形態】
【0008】
A.第1実施形態:
A-1.位置推定システムの構成:
図1は、位置推定システム1の概略構成を示す図である。位置推定システム1は、車両10の位置を推定するシステムである。位置推定システム1は、1台以上の車両10と、撮像装置9と、車両10の位置を推定する位置推定装置7と、を備える。
【0009】
撮像装置9は、位置推定の対象となる車両10を含む撮像領域RGを車両10の外部から撮像することで、撮像画像を取得する。撮像装置9は、撮像画像を、複数の撮像装置9を識別するカメラ識別情報(カメラID)および撮像画像の取得タイミングと共に、位置推定装置7に送信する。位置推定装置7に送信された撮像画像は、車両10の位置を推定するために用いられる。撮像画像は、カメラ座標系のXcYc平面に配置された画素が集合した2次元画像である。カメラ座標系は、撮像装置9の焦点を原点とし、Xc軸と、Xc軸に直交するYc軸と、で示された座標軸を有する座標系である。撮像画像は、少なくとも位置推定の対象となる車両10の2次元データを含む。撮像画像は、カラー画像が好ましいが、グレー画像であってもよい。撮像装置9は、例えば、CCDイメージセンサやCMOSイメージセンサ等の撮像素子と光学系とを有するインフラカメラである。
【0010】
本実施形態では、撮像装置9は、路面60と、路面60を走行する車両10と、を上方から俯瞰する撮像画像を取得する。撮像装置9の設置位置および設置数は、1台以上の撮像装置9によって路面60全体を撮像するために、撮像装置9の撮像領域RG(画角)等を考慮して決定される。具体的には、隣接する第1撮像装置901の撮像領域RGである第1撮像領域RG1と、第2撮像装置902の撮像領域RGである第2撮像領域RG2と、が重複するように、各撮像装置9が設置される。さらに、各撮像装置9は、路面60を走行する車両10の特定の部分に対して予め設定された測位点10eを撮像可能な位置に設置される。本実施形態では、測位点10eは、車両10の左側面における後端(以下、左後端)である。なお、測位点10eは、車両10の左後端以外であってもよい。また、撮像装置9は、車両10の上方からの情報に限らず、車両10の前方、後方、側方等の情報を取得してもよい。なお、撮像装置9は、撮像画像を遠隔制御装置5に送信してもよい。
【0011】
車両10は、有人運転モードと、遠隔自動運転モードと、を有する。有人運転モードは、車両10に乗車した運転者が、車両10に設けられたハンドルやアクセル等の運転者入力装置(図示せず)を操作することにより、車両10の走行条件を決定して走行する運転モードである。ここで言う走行条件は、車両10の走行動作を規定する条件である。走行条件には、例えば、車両10の走行ルート、位置、走行速度、加速度、車輪の舵角が含まれる。遠隔自動運転モードは、車両10の走行条件を車両10の外部から車両10が受信することにより、運転者が車両10に乗車することなく自動走行する運転モードである。遠隔自動運転モードで走行する場合、車両10は、車両10とは異なる場所に設けられたサーバ等の遠隔制御装置5から受信した制御値に応じて、車両10に搭載された後述の駆動装置等の動作を制御することで自動走行する。本実施形態では、車両10は、複数の生産工程を実行することで車両10を生産する工場内を遠隔自動運転モードによって走行する。なお、工場は、1つの建物内に存在する場合や、1箇所の敷地や住所に存在する場合等に限定されず、複数の建物、複数の敷地、複数の住所等に亘って存在していてもよい。このとき、車両10は、私道に限らず、公道を走行してもよい。また、位置推定システム1は、工場外を走行する車両10の位置を推定してもよい。
【0012】
車両10は、例えば、電気自動車やハイブリッド車、燃料電池車、ガソリン車、ディーゼル車である。車両10は、乗用車等の自家用自動車であってもよく、トラック、バス、工事用車両等の事業用自動車であってもよい。車両10は、製品として完成した車両10と、半製品・仕掛品としての車両10と、の両者を含む。
【0013】
図2は、車両10の概略構成を示す図である。
図2では、車両10の構成の一部を代表して図示している。車両10は、駆動装置11と、操舵装置12と、制動装置13と、外部センサ160を有する外部センサ群16と、内部センサ170を有する内部センサ群17と、車両制御装置2と、を備える。
【0014】
駆動装置11は、車両10を加速させる。例えば、車両10が電気自動車である場合、駆動装置11は、バッテリ(図示せず)と、バッテリの電力により駆動するモータ(図示せず)と、モータにより回転する車輪(図示せず)と、を備える。
【0015】
操舵装置12は、車両10の進行方向を変更する。操舵装置12は、ステアリングホイール(図示せず)の操舵角と車輪(図示せず)の目標舵角とが一致するように、遠隔制御装置5から受信した制御値に従って、ステアリングシャフト(図示せず)を操舵モータ(図示せず)によるトルクにより回転させる。これにより、操舵装置12は、遠隔自動運転モードにおいて、ステアリング操作によることなく、車輪を転舵させる。
【0016】
制動装置13は、車両10を減速させる。制動装置13は、例えば、ディスクブレーキ装置である。
【0017】
外部センサ群16は、複数種類の外部センサ160を備える。外部センサ160は、車両10の周辺領域の状態を示す周辺情報を取得するセンサである。外部センサ160は、取得したデータを車両制御装置2に送信する。本実施形態では、外部センサ群16は、外部センサ160として、車載カメラ161と、レーダ162と、ライダ163と、を備える。
【0018】
車載カメラ161は、車両10の周辺領域の少なくとも一部を含む範囲を撮像することで、撮像データとしての内部撮像情報を取得する。内部撮像情報は、静止画データであってもよく、動画データであってもよい。また、内部撮像情報は、カラーデータであってもよく、モノクロデータであってもよい。
【0019】
レーダ162は、予め定められた探査範囲に探査波(電波)を射出して、車両10の周辺領域に存在する物体によって反射された反射波を受信することで、車両10の周辺領域に存在する物体との距離、角度、および相対速度等を検出する。
【0020】
ライダ163は、予め定められた測定範囲にレーザ光を照射して、車両10の周辺領域に存在する物体によって反射された反射光を検出することで、車両10の周辺領域に存在する物体との距離、角度、および形状等を検出する。なお、外部センサ群16の構成は、これに限られるものではない。
【0021】
内部センサ群17は、複数種類の内部センサ170を備える。内部センサ170は、車両10の走行動作を制御するために必要な各種物理量を取得するセンサである。内部センサ170は、取得したデータを車両制御装置2に送信する。本実施形態では、内部センサ群17は、内部センサ170として、車輪速センサ171と、舵角センサ172と、を備える。車輪速センサ171は、各車輪の回転速度(以下、車輪速)を測定する。舵角センサ172は、各車輪の実舵角を測定する。なお、内部センサ群17の構成は、これに限られるものではない。
【0022】
車両制御装置2は、車両制御装置2の通信部としての車両通信部21と、車両制御装置2の記憶部としての車両記憶部23と、車両制御装置2の中央演算装置としての車両CPU22と、を備える。車両通信部21と車両記憶部23と車両CPU22とは、内部バスやインターフェイス回路を介して互いに接続されている。
【0023】
車両通信部21は、内部機器や外部機器と車両制御装置2とを通信可能に接続する。内部機器は、内部センサ170や外部センサ160等の車両10に搭載された機器であり、車両制御装置2と通信可能な機器である。外部機器は、遠隔制御装置5や撮像装置9等の車両10とは異なる場所に設けられた機器である。車両通信部21は、例えば、無線通信装置である。車両通信部21は、例えば、CAN(Controller Area Network)通信により、内部機器と通信する。CAN通信は、多方向に送信または受信を行うことができる通信規格である。また、車両通信部21は、例えば、工場内のアクセスポイント(図示せず)を介して、ネットワークNに接続された遠隔制御装置5や撮像装置9等の外部機器と通信する。なお、車両通信部21は、他の車両10の車両制御装置2と通信してもよい。車両通信部21による通信方法は、これに限られるものではない。
【0024】
車両記憶部23は、車両10の走行動作を制御する各種プログラムを含む各種情報を記憶する。車両記憶部23は、例えば、RAMやROM、ハードディスクドライブ(HDD)を含む。
【0025】
車両CPU22は、車両記憶部23に記憶された各種プログラムを展開することで、車速算出部221と、車両取得部222と、車両送信部223と、動作制御部224として機能する。
【0026】
車速算出部221は、車輪速センサ171の出力値を用いて、車両10の走行速度(以下、車速)を算出する。車速算出部221は、例えば、各車輪の車輪速を平均化する等の演算処理を行った後に、単位時間当たりの車輪速を基に、車速を算出する。なお、車速の算出方法は、これに限られるものではない。また、車速算出部221の少なくとも一部の機能は、車輪速センサ171や遠隔制御装置5によって実行されてもよい。
【0027】
車両取得部222は、内部センサ170および外部センサ160によって取得された情報の少なくとも一部と、車速算出部221によって算出された車速と、を含む情報(以下、車両センサ情報)を取得する。
【0028】
車両送信部223は、各種情報を外部機器に送信する。車両送信部223は、例えば、車両センサ情報を、複数の車両10を識別する車両識別情報と共に遠隔制御装置5に送信する。
【0029】
動作制御部224は、遠隔制御装置5から送信された制御値を受信して、受信した制御値に応じて、駆動装置11や操舵装置12、制動装置13を駆動させる。これにより、動作制御部224は、遠隔制御装置5からの指示に応じて、車両10の走行動作を制御する。なお、車両CPU22の少なくとも一部の機能は、遠隔制御装置5や撮像装置9の一機能として実現されてもよい。
【0030】
図3は、遠隔制御装置5の概略構成を示す図である。遠隔制御装置5は、遠隔制御装置5の通信部としての遠隔通信部51と、遠隔制御装置5の記憶部としての遠隔記憶部53と、遠隔制御装置5の中央演算装置としての遠隔CPU52と、を備える。遠隔通信部51と遠隔記憶部53と遠隔CPU52とは、内部バスやインターフェイス回路を介して互いに接続されている。
【0031】
遠隔通信部51は、車両制御装置2、位置推定装置7、および撮像装置9と、遠隔制御装置5と、を通信可能に接続する。遠隔通信部51は、例えば、無線通信装置である。なお、遠隔通信部51による通信方法は、これに限られるものではない。
【0032】
遠隔記憶部53は、遠隔制御装置5の動作を制御する各種プログラムを含む各種情報を記憶する。遠隔記憶部53は、例えば、RAMやROM、ハードディスクドライブ(HDD)を含む。
【0033】
遠隔CPU52は、遠隔記憶部53に記憶された各種プログラムを展開することで、遠隔取得部521と、制御値作成部522と、遠隔送信部523として機能する。
【0034】
遠隔取得部521は、車両10の走行条件に関する情報(以下、走行情報)を取得する。走行情報は、例えば、撮像装置9から送信される撮像画像、位置推定装置7から送信される車両10の位置を示す情報としての車両座標点、車両制御装置2から送信される車両センサ情報、遠隔記憶部53に予め記憶された走行ルート情報を含む。走行ルート情報は、遠隔自動運転モードにより走行する車両10の目標走行ルートを示す情報である。なお、走行情報に含まれる情報の種類は、これに限られるものではない。
【0035】
制御値作成部522は、遠隔取得部521によって取得された走行情報を用いて、車両10の走行動作を規定する制御値を作成する。具体的には、制御値作成部522は、車両10を目標走行ルートに沿って走行させるための制御値(以下、基準制御値)を作成する。本実施形態では、基準制御値は、車両10の前進方向の加速度を規定する制御値(以下、加速度制御値)と、車両10の舵角を規定する制御値(以下、舵角制御値)と、を含む。基準制御値は、前進方向と、前進方向とは反対方向の後退方向と、のいずれかに車両10の進行方向を切り替えるための制御値(以下、方向制御値)を含んでもよい。なお、他の実施形態では、基準制御値には、目標走行ルートのみが含まれていてもよい。この場合、車両制御装置2の動作制御部224は、基準制御値に含まれる目標走行ルートに関する情報を基に、車両10の加速度や舵角、進行方向等を決定して、駆動装置11や操舵装置12、制動装置13を駆動させる。
【0036】
さらに、制御値作成部522は、目標走行ルートに車両10の相対位置を修正する制御値(以下、修正制御値)を作成する。具体的には、制御値作成部522は、例えば、異なる撮像領域RGにより撮像された複数の撮像画像を時系列順序に並べることで、車両10の実際の走行軌跡を算出する。そして、制御値作成部522は、目標走行ルートと、車両10の実際の走行軌跡と、を比較して、目標走行ルートに対する走行軌跡の差分を算出する。さらに、制御値作成部522は、目標走行ルートと車両10の実際の走行軌跡との差分を低減するように、撮像画像を解析しながら、目標走行ルートを実現するための修正制御値を作成する。本実施形態では、修正制御値は、少なくとも舵角制御値を含む。修正制御値は、方向制御値を含んでもよい。なお、他の実施形態では、修正制御値には、補正走行ルートのみが含まれていてもよい。補正走行ルートは、車両10の相対位置を目標走行ルート上に修正するために、車両10が走行すべき走行ルートを示す情報である。この場合、車両制御装置2の動作制御部224は、修正制御値に含まれる補正走行ルートに関する情報を基に、車両10の加速度や舵角、進行方向等を決定して、駆動装置11や操舵装置12、制動装置13を駆動させる。
【0037】
遠隔送信部523は、制御値作成部522によって作成された制御値を、走行動作を制御する対象となる車両10に送信する。なお、遠隔送信部523は、位置推定装置7や撮像装置9を介して、車両10に制御値を送信してもよい。遠隔送信部523が撮像装置9を介して車両10に制御値を送信する場合、遠隔送信部523は、制御値を撮像装置9に送信する。そして、撮像装置9は、遠隔制御装置5から受信した制御値を車両10に送信する。このようにすると、車両10は、車両10との距離がより近い撮像装置9から制御値を受信することができる。これにより、通信障害の影響を受けにくくすることができる。そのため、遠隔自動運転モードで走行中の車両10が通信障害によって停止する可能性を低減することができる。遠隔CPU52の少なくとも一部の機能は、車両制御装置2や撮像装置9の一機能として実現されてもよい。
【0038】
図4は、位置推定装置7の概略構成を示す図である。位置推定装置7は、車両10の予め定められた測位点10e(
図1)の位置を車両10の位置として採用する。位置推定装置7は、位置推定装置7の通信部としての装置通信部71と、位置推定装置7の記憶部としての装置記憶部73と、位置推定装置7の中央演算装置としての装置CPU72と、を備える。装置通信部71と装置記憶部73と装置CPU72とは、内部バスやインターフェイス回路を介して互いに接続されている。なお、位置推定装置7は、ユーザに対して各種情報を表示する表示装置(図示せず)を備えてもよい。表示装置は、例えば、液晶ディスプレイや有機ELディスプレイである。
【0039】
装置通信部71は、車両制御装置2、遠隔制御装置5、および撮像装置9と、位置推定装置7と、を通信可能に接続する。装置通信部71は、例えば、無線通信装置である。なお、装置通信部71による通信方法は、これに限られるものではない。
【0040】
装置記憶部73は、位置推定装置7の動作を制御する各種プログラムと、位置検出モデルMd1と、車種特定モデルMd2と、歪み修正パラメータPa1と、透視変換パラメータPa2と、を含む各種情報を記憶する。さらに、装置記憶部73は、車両データベースD1と、カメラデータベースD2と、を記憶する。装置記憶部73は、例えば、RAMやROM、ハードディスクドライブ(HDD)を含む。
【0041】
位置検出モデルMd1は、撮像画像に含まれる車両10の位置を特定するために用いられる学習済みの機械学習モデルである。本実施形態では、位置検出モデルMd1は、撮像画像や撮像画像に各種処理を施した各種画像を入力することで、入力された画像中の車両10をマスクするように予め機械学習された機械学習モデルである。位置検出モデルMd1のアルゴリズムとしては、例えば、セマンティックセグメンテーションやインスタンスセグメンテーションを実現する畳み込みニューラルネットワーク(以下、CNN)の構造を有するディープニューラルネットワーク(以下、DNN)が用いられる。位置検出モデルMd1のアルゴリズムとして用いられるDNNの一例として、YOLACT++等のインスタンスセグメンテーションを行うDNNが挙げられる。なお、位置検出モデルMd1の構成は、これに限られるものではない。位置検出モデルMd1は、例えば、ニューラルネットワーク以外のアルゴリズムが用いられる学習済みの機械学習モデルであってもよい。
【0042】
車種特定モデルMd2は、撮像画像に含まれる車両10の種別を特定するために用いられる学習済みの機械学習モデルである。ここで言う車両10の種別とは、例えば、車名や型式によって分類される車両10の種類を意味する。車種特定モデルMd2は、撮像画像や撮像画像に各種処理を施した各種画像を入力することで、入力された画像中の車両10の種別を示す情報を出力するように予め機械学習された機械学習モデルである。車種特定モデルMd2は、車両10の種別を特定するために、車両10の種別に応じた特徴量を学習している。車両10の種別に応じた特徴量は、例えば、車両10の形状や、車両10の全長と車幅と車高とによって定まる車格である。本実施形態では、車種特定モデルMd2は、入力された画像中の車両10の種別を示す情報として、車種識別情報を出力する。車種識別情報は、複数種類の車両10の種別を識別するために、種別間で重複しないように各種別に割り振られた固有のID(識別子)である。車種特定モデルMd2のアルゴリズムとしては、例えば、CNNが用いられる。なお、車種特定モデルMd2の構成は、これに限られるものではない。車種特定モデルMd2は、例えば、ニューラルネットワーク以外のアルゴリズムが用いられる学習済みの機械学習モデルであってもよい。
【0043】
歪み修正パラメータPa1は、撮像画像の歪みを修正するときに用いられるパラメータである。透視変換パラメータPa2は、第1マスク画像を透視変換するときに用いられるパラメータである。修正パラメータPa1および透視変換パラメータPa2の詳細は、後述する。
【0044】
車両データベースD1は、車両パラメータを車両10の種別ごとに示す情報である。車両パラメータは、車両10の種別に応じて定まるパラメータである。車両パラメータは、例えば、車両10の走路における基準地点(例えば、路面60や道路境界)から車両10の測位点10eまでの距離に関するパラメータである。本実施形態では、車両データベースD1は、車種識別情報と、車種識別情報によって特定される種別の車両10についての車両パラメータと、を紐付けたデータベースである。
【0045】
カメラデータベースD2は、グローバル座標系における撮像装置9の位置を基に算出される撮像パラメータを、撮像装置9ごとに示す情報である。本実施形態では、カメラデータベースD2は、カメラ識別情報と、カメラ識別情報によって特定される撮像装置9についての撮像パラメータと、を紐付けたデータベースである。撮像パラメータは、グローバル座標系における撮像装置9の位置を基に算出される。なお、装置記憶部73に記憶されている各種情報の少なくとも一部は、他の装置の記憶部(例えば、車両記憶部23、遠隔記憶部53、撮像装置9の記憶部)に記憶されていてもよい。
【0046】
図5は、第1実施形態における装置CPU72の詳細を示す図である。装置CPU72は、装置記憶部73に記憶された各種プログラムを展開することで、装置取得部721と、位置算出部722として機能する。さらに、装置CPU72は、装置記憶部73に記憶された各種プログラムを展開することで、車種特定部723と、位置変換部724と、装置送信部725として機能する。
【0047】
装置取得部721は、各種情報を取得する。例えば、装置取得部721は、車両10を含む撮像画像Im1を撮像装置9から取得する。装置取得部721は、装置記憶部73に予め記憶された車両データベースD1を参照することで、車種特定部723によって特定された車両10の種別に応じた車両パラメータを取得する。装置取得部721は、装置記憶部73に予め記憶されたカメラデータベースD2を参照することで、解析対象の撮像画像の取得元である撮像装置9についての撮像パラメータを取得する。なお、装置取得部721が取得する情報の種類は、これに限られるものではない。
【0048】
位置算出部722は、撮像画像を用いて、画像座標点を算出する。画像座標点は、後述の画像座標系における車両10の位置を示す座標点である。位置算出部722は、歪み修正部722aと、回転処理部722bと、クロップ処理部722cと、検出部722dと、透視変換部722eと、座標点算出部722fと、を備える。
【0049】
歪み修正部722aは、撮像画像の歪みを修正した修正画像を生成する。回転処理部722bは、車両10の移動方向を示すベクトル(以下、移動ベクトル)の方向が予め定められた方向を向くように、修正画像を回転させた回転画像を生成する。クロップ処理部722cは、回転画像の各領域のうち、車両10に相当する車両領域および車両10の予め定められた周辺領域(以下、必要領域)以外の領域(以下、不要領域)を回転画像から削除することで、車両領域と周辺領域とを含む必要領域を切り出した処理後画像を生成する。本実施形態では、クロップ処理部722cは、車両10が予め定められた閾値を超える距離を移動した場合に、車両10が移動した距離に応じた移動済領域であって、不要領域としての移動済領域を回転画像から削除する。これにより、クロップ処理部722cは、回転画像から車両10を含む未移動領域であって、必要領域としての未移動領域を切り出した処理後画像を生成する。検出部722dは、位置検出モデルMd1を用いて、処理後画像に含まれる車両10を検出して、処理後画像中の車両10をマスクしたマスク領域が付加された第1マスク画像を生成する。透視変換部722eは、第1マスク画像を透視変換した第2マスク画像を生成する。座標点算出部722fは、第2座標点を用いて第1座標点を補正して画像座標点を算出する。第1座標点は、第1マスク画像中のマスク領域に設定した第1外接矩形の指定された頂点の画像座標系における座標点である。第2座標点は、第2マスク画像中のマスク領域に設定した第2外接矩形の頂点のうち、第1座標点と同一の位置を示す頂点の画像座標系における座標点である。なお、位置算出部722の構成は、これに限られるものではない。
【0050】
車種特定部723は、撮像画像に含まれる車両10の種別を特定する。本実施形態では、車種特定部723は、車種特定モデルMd2を用いて、車両10の種別を特定する。
【0051】
位置変換部724は、装置取得部721によって取得された撮像パラメータおよび車両パラメータを用いて、画像座標点を車両座標点に変換する。車両座標点は、グローバル座標系における車両10の位置を示す座標点である。つまり、位置変換部724は、装置取得部721によって取得された撮像画像を取得した撮像装置9についての撮像パラメータと、車種特定部723によって特定された種別の車両10についての車両パラメータと、を用いて、車両座標点を算出する。
【0052】
装置送信部725は、車両座標点を、車両10の位置を示す情報として遠隔制御装置5に送信する。なお、装置送信部725は、車両座標点以外の各種情報を遠隔制御装置5に送信してもよい。また、装置送信部725は、車両制御装置2に各種情報を送信してもよい。装置CPU72の少なくとも一部の機能は、遠隔制御装置5や車両制御装置2、撮像装置9の一機能として実現されてもよい。
【0053】
A-2.車両の動作制御方法:
図6は、第1動作制御方法を示すフローチャートである。第1動作制御方法は、遠隔自動運転モードによる車両10の走行を開始させるために、車両10の走行動作を制御する方法である。
【0054】
遠隔自動運転モードでの走行を開始するための走行開始準備が完了した場合に(ステップS101:Yes)、車両10の車両送信部223は、準備完了信号を遠隔制御装置5に送信する(ステップS102)。
【0055】
遠隔制御装置5の遠隔取得部521が準備完了信号を受信した場合に(ステップS103:Yes)、遠隔取得部521は、走行情報を取得する(ステップS104)。このとき、走行情報には、目標走行ルートを示す走行ルート情報が少なくとも含まれる。ステップS104の後に、制御値作成部522は、走行情報を用いて、基準制御値を作成する(ステップS105)。ステップS105の後に、遠隔送信部523は、制御値作成部522によって作成された基準制御値を車両10に送信する(ステップS106)。
【0056】
車両10の動作制御部224が基準制御値を受信した場合に(ステップS107:Yes)、動作制御部224は、車両10の走行ルートを目標走行ルートに設定して、遠隔自動運転モードによる走行を開始する(ステップS108)。つまり、車両10が目標走行ルートに沿って走行するように、動作制御部224は、車両10に搭載された駆動装置11や操舵装置12、制動装置13を駆動させる。
【0057】
図7は、第2動作制御方法を示すフローチャートである。第2動作制御方法は、遠隔自動運転モードにより走行している車両10の走行ルートを修正する方法である。第2動作制御方法は、
図6に示す第1動作制御方法が終了した後に実行される。
【0058】
図7に示すように、予め定められた修正タイミングとなった場合に(ステップS201:Yes)、遠隔制御装置5の遠隔取得部521は、走行情報を取得する(ステップS202)。修正タイミングは、例えば、遠隔自動運転モードによる走行を開始したタイミングからの経過時間が予め定められた時間以上となったタイミングや、前回の修正タイミングから予め定められた時間が経過したタイミングである。このとき、走行情報には、目標走行ルートを示す走行ルート情報と、車両座標点と、が少なくとも含まれる。ステップS202の後に、制御値作成部522は、走行情報を用いて、修正制御値を作成する(ステップS203)。ステップS203の後に、遠隔送信部523は、制御値作成部522によって作成された修正制御値を車両10に送信する(ステップS204)。
【0059】
車両10の動作制御部224が修正制御値を受信した場合に(ステップS205:Yes)、動作制御部224は、修正制御値に従って、車両10の走行ルートを補正走行ルートに修正して、遠隔自動運転モードによる走行を継続する(ステップS206)。つまり、車両10が補正走行ルートに沿って走行するように、動作制御部224は、車両10に搭載された駆動装置11や操舵装置12、制動装置13を駆動させる。ステップS206が完了した場合、ステップS201に戻り、ステップS201からステップS206までの各ステップが繰り返し実行される。
【0060】
A-3.車両の位置推定方法:
図8は、第1実施形態における車両10の位置推定方法を示すフローチャートである。位置推定方法により推定された車両10の位置は、走行情報の1つとして遠隔制御装置5に送信され、車両10の走行動作を制御する制御値を作成するために用いられる。よって、位置推定方法は、例えば、
図7に示す第2動作制御方法を開始する前に実行される。つまり、第2動作制御方法のステップS202において、車両10の位置を示す車両座標点を走行情報の1つとして位置推定装置7から遠隔制御装置5に提供できるタイミングで、位置推定方法は実行される。
【0061】
図9は、
図8に示す位置推定方法を実行したときの各種画像の例を示す模式図である。
図9には、
図8の各ステップに対応するステップ番号を付している。本実施形態では、車両10の進行方向と平行なXg軸と、Xg軸に直交するYg軸と、のそれぞれに沿って網目状の格子線61が引かれている路面60を、車両10が進行方向に沿って移動(走行)する場合を例に挙げて説明する。Xg軸およびYg軸はそれぞれ、グローバル座標系の座標軸である。なお、他の実施形態では、格子線61は、省略してもよい。
【0062】
位置推定方法では、まず、画像取得工程(ステップS31)が実行される。画像取得工程は、位置推定の対象となる車両10を含む撮像画像Im1を取得する工程である。画像取得工程において、装置取得部721は、撮像装置9によって取得された撮像画像Im1を取得する。
【0063】
画像取得工程の次に、位置算出工程(ステップS32)が実行される。位置算出工程は、画像取得工程において取得された撮像画像Im1を用いて、画像座標点を算出する工程である。
【0064】
位置算出工程では、まず、歪み修正工程(ステップS321)が実行される。歪み修正工程は、撮像画像Im1の歪みを修正する工程である。歪み修正工程において、歪み修正部722aは、撮像画像Im1の歪みを修正することで、修正画像Im2を生成する。具体的には、歪み修正部722aは、例えば、装置記憶部73に予め記憶された歪み修正パラメータPa1を用いて、撮像画像Im1に対して歪みを修正する。歪み修正パラメータPa1は、例えば、キャリブレーションにより得られる格子線61の位置情報に関わるパラメータである。なお、歪み修正方法は、これに限られるものではない。歪み修正パラメータPa1は、格子線61以外の他の任意のパラメータであってもよい。
【0065】
歪み修正工程の次に、回転処理工程(ステップS322)が実行される。回転処理工程は、修正画像Im2に含まれる車両10についての移動ベクトルの方向が予め定められた方向を向くように、修正画像Im2を回転させる工程である。回転処理工程において、回転処理部722bは、修正画像Im2に含まれる車両10についての移動ベクトルの方向が予め定められた方向を向くように修正画像Im2を回転させる。これにより、回転処理部722bは、回転画像Im3を生成する。具体的には、回転処理部722bは、例えば、修正画像Im2を表示する表示装置(図示せず)の画面上で車両10の移動ベクトルの方向が上方向を向くように、修正画像Im2中の車両10の重心を回転中心として修正画像Im2を回転させる。車両10の特徴点(重心)の動きは、例えば、オプティカルフロー法によって、移動ベクトルの方向として表すことができる。車両10の移動ベクトル量や移動ベクトルの方向は、例えば、修正画像Im2上に適宜設定される車両10の特徴点の画像フレーム間における位置の変化に基づいて推定される。なお、回転処理方法は、これに限られるものではない。
【0066】
回転処理工程の次に、クロップ処理工程(ステップS323)が実行される。クロップ処理工程は、回転画像Im3から対象領域を含む処理後画像Im4を生成する工程である。本実施形態では、クロップ処理工程において、クロップ処理部722cは、車両10が予め定められた閾値を超える距離を移動した場合に、車両10が移動した距離に応じた移動済領域A2を不要領域として回転画像Im3から削除する。これにより、クロップ処理部722cは、回転画像Im3から対象領域として、車両10を含む未移動領域A1を切り出した処理後画像Im4を生成する。このとき、クロップ処理部722cは、例えば、推定された車両10の移動ベクトル量により、車両10が移動した距離を認識することで、移動済領域A2を推定する。なお、位置算出工程において、回転処理工程とクロップ処理工程とは、いずれが先に実行されてもよい。また、クロップ処理方法は、これに限られるものではない。
【0067】
図8に示すように、クロップ処理工程の次に、検出工程(ステップS324)が実行される。検出工程は、位置検出モデルMd1を用いて、処理後画像Im4に含まれる車両10の外形(輪郭)を検出する工程である。検出工程において、検出部722dは、位置検出モデルMd1に処理後画像Im4を入力する。これにより、
図9に示すように、検出部722dは、処理後画像Im4に含まれる車両10を検出して、処理後画像Im4中の車両10をマスクしたマスク領域Msが付加された第1マスク画像Im5を生成する。なお、車両10の外形の検出方法は、これに限られるものではない。
【0068】
図8に示すように、検出工程の次に、透視変換工程(ステップS325)が実行される。透視変換工程は、
図9に示す第1マスク画像Im5を透視変換する工程である。透視変換工程において、透視変換部722eは、第1マスク画像Im5を透視変換することで、第2マスク画像Im6を生成する。具体的には、透視変換部722eは、例えば、装置記憶部73に予め記憶された透視変換パラメータPa2を用いて、第1マスク画像Im5を路面60に略垂直な車両10の上方(例えば、車両10の真上)の視点から見た鳥瞰画像に透視変換する。透視変換パラメータPa2は、例えば、キャリブレーションにより得られる撮像装置9の位置情報および内部パラメータに関わるパラメータである。これにより、透視変換部722eは、カメラ座標系で表された第1マスク画像Im5から、画像座標系で表された第2マスク画像Im6を生成する。画像座標系は、透視変換によって投影される画像平面の一点を原点とし、Xi軸と、Xi軸に直交するYi軸と、で示された座標軸を有する座標系である。なお、透視変換方法は、これに限られるものではない。透視変換パラメータPa2は、上記以外の他の任意のパラメータであってもよい。
【0069】
図8に示すように、透視変換工程の次に、座標点算出工程(ステップS326)が実行される。
図10は、座標点算出工程の詳細を説明するための図である。座標点算出工程は、画像座標点P3を算出する工程である。
【0070】
座標点算出工程において、座標点算出部722fは、まず、透視変換前の画像である第1マスク画像Im5中のマスク領域Msに設定した第1外接矩形R1からベース座標点P0を取得する。
図11は、ベース座標点P0の取得方法を説明するための図である。ベース座標点P0を取得するために、座標点算出部722fは、まず、第1マスク画像Im5中のマスク領域Msに対してベース外接矩形R0を設定する。次に、座標点算出部722fは、第1マスク画像Im5中のマスク領域Msに対応する車両10の移動ベクトルVの方向が予め定められた方向を向くように、マスク領域Msの重心Cを回転中心として、第1マスク画像Im5を必要な回転量だけ回転させる。予め定められた方向は、例えば、表示装置(図示せず)の画面上における上方向である。次に、座標点算出部722fは、回転させた第1マスク画像Im5のマスク領域Msに対して、長辺が移動ベクトルVの方向と平行を成すように、第1外接矩形R1を設定する。次に、座標点算出部722fは、マスク領域Msの重心Cを回転中心として、第1外接矩形R1が付加された第1マスク画像Im5を上記回転量だけ逆回転させる。これにより、座標点算出部722fは、第1外接矩形R1の4つの頂点のうちの1つであって、車両10の測位点10eとの距離が最も近い座標を有する頂点の座標点をベース座標点P0として取得する。そして、
図10に示すように、座標点算出部722fは、逆回転させた後の第1マスク画像Im5、すなわち、ベース座標点P0を取得した後の第1マスク画像Im5に対して透視変換を行う。これにより、座標点算出部722fは、透視変換により変形した第1外接矩形R1において、ベース座標点P0に対応する座標点として第1座標点P1を取得する。
【0071】
さらに、座標点算出部722fは、第1マスク画像Im5を透視変換した第2マスク画像Im6中のマスク領域Msに対して第2外接矩形R2を設定する。そして、座標点算出部722fは、第2外接矩形R2の頂点のうち、第1座標点P1と同一の位置を示す頂点を第2座標点P2として取得する。具体的には、座標点算出部722fは、第2外接矩形R2の4つの頂点のうちの1つであって、車両10の測位点10eとの距離が最も近い座標を有する頂点を第2座標点P2として取得する。すなわち、第1座標点P1と第2座標点P2とは、同一の位置を示す座標点であるため、互いに相関関係を有する。
【0072】
さらに、座標点算出部722fは、第1座標点P1の座標値と第2座標点P2の座標値との大小関係に応じて、第1座標点P1の座標(Xi1,Yi1)を第2座標点P2の座標(Xi2,Yi2)に置き換える補正をする。第1座標点P1のXi軸方向における座標値Xi1が第2座標点P2のXi軸方向における座標値Xi2よりも大きい場合(Xi1>Xi2)に、座標点算出部722fは、第1座標点P1のXi軸方向における座標値Xi1を第2座標点P2のXi軸方向における座標値Xi2に置き換える。第1座標点P1のYi軸方向における座標値Yi1が第2座標点P2のYi軸方向における座標値Yi2よりも大きい場合(Yi1>Yi2)に、座標点算出部722fは、第1座標点P1のYi軸方向における座標値Yi1を第2座標点P2のYi軸方向における座標値Yi2に置き換える。本実施形態では、第1座標点P1のXi軸方向における座標値Xi1は、第2座標点P2のXi軸方向における座標値Xi2よりも大きい。また、第1座標点P1のYi軸方向における座標値Yi1は、第2座標点P2のYi軸方向における座標値Yi2よりも小さい。よって、画像座標点P3は、座標(Xi2,Yi1)を有する。このようにして、座標点算出部722fは、第2座標点P2を用いて第1座標点P1を補正することで、画像座標系における車両10の位置(推定位置)を示す画像座標点P3を算出する。なお、画像座標点P3の算出方法は、これに限られるものではない。
【0073】
図8に示すように、位置算出工程の次に、車種特定工程(ステップS33)が実行される。車種特定工程は、撮像画像Im1に含まれる車両10の種別を特定する工程である。車種特定工程において、車種特定部723は、車種特定モデルMd2に撮像画像Im1を入力する。これにより、車種特定部723は、撮像画像Im1に含まれる車両10の種別を示す車種識別情報を取得することで、車両10の種別を特定する。なお、車両10の種別の特定方法は、これに限られるものではない。
【0074】
車種特定工程の次に、パラメータ取得工程(ステップS34)が実行される。パラメータ取得工程は、関係式に代入する撮像パラメータおよび車両パラメータを取得する工程である。パラメータ取得工程において、装置取得部721は、車両データベースD1を参照して、車種特定部723によって特定された種別を示す車種識別情報と紐付けられた車両パラメータの値を取得する。本実施形態では、車両10の種別ごとに、車両10における測位点10eの路面60からの高さh(後述の
図12)が異なる。よって、本実施形態では、パラメータ取得工程において取得される車両パラメータは、車種特定部723によって特定された種別の車両10における測位点10eの路面60からの高さhである。さらに、装置取得部721は、カメラデータベースD2を参照して、位置推定の対象となる車両10を含む撮像画像Im1と共に受信したカメラ識別情報に紐付けられた撮像パラメータの値を取得する。本実施形態では、車両パラメータと撮像パラメータとの相似関係を用いて画像座標点を車両座標点に変換するために、本実施形態では、パラメータ取得工程において取得される撮像パラメータは、以下の通りである。この場合、撮像パラメータは、位置推定の対象となる車両10を含む撮像画像Im1を取得した撮像装置9の路面60からの高さH(後述の
図12)であって、車両10が位置する路面60に対する高さHである。なお、車両パラメータおよび撮像パラメータの取得方法は、これに限られるものではない。
【0075】
図8に示すように、パラメータ取得工程の次に、位置変換工程(ステップS37)が実行される。位置変換工程は、画像座標点P3を車両座標点に変換することで、位置推定の対象とする車両10のグローバル座標系における位置を示す車両座標点を算出する工程である。位置変換工程において、位置変換部724は、パラメータ取得工程において取得された車両パラメータと撮像パラメータとを用いて、画像座標点を車両座標点に変換する。本実施形態では、位置変換部724は、車両座標点を目的変数とし、画像座標点P3と、撮像パラメータと、車両パラメータと、を説明変数として含む後述する式(1)~式(3)で表される関係式を用いて、画像座標点P3を車両座標点に変換する。この場合に、位置変換部724は、位置算出部722によって算出された画像座標点P3の座標値を式(1)~式(3)で表される関係式に代入する。位置変換部724は、装置取得部721によって取得された撮像パラメータの値、すなわち、撮像画像Im1を取得した撮像装置9に対応する撮像パラメータの値を、式(1)~式(3)で表される関係式に代入する。さらに、位置変換部724は、装置取得部721によって取得された車両パラメータの値、すなわち、位置推定の対象とする車両10の種別に応じた車両パラメータの値を、式(1)~式(3)で表される関係式に代入する。
【0076】
図12は、第1実施形態における位置変換工程の詳細を説明するための第1図である。
図12では、車両10を左側面側から見たときの状態を図示している。
図13は、第1実施形態における位置変換工程の詳細を説明するための第2図である。
図13では、車両10をルーフ側から見たときの状態を図示している。
図12および
図13に示すグローバル座標系は、路面60の任意の基準位置を示す固定座標点Pfを原点とし、Xg軸と、Xg軸と直交するYg軸と、で示された座標軸を有する座標系である。撮像座標点Pcは、画像座標点P3の算出に用いられた撮像画像Im1を取得した撮像装置9の位置であって、グローバル座標系における撮像装置9の位置を示す座標点である。固定座標点Pfおよび撮像座標点Pcは、装置記憶部73に予め記憶されている。
【0077】
図12に示すように、撮像装置9の位置と車両10の位置(画像座標点P3)とのXgYg平面上での観測距離をDoとする。観測誤差をΔDとする。取得された車両パラメータとしての撮像装置9の路面60からの高さ[m]をHとする。取得された車両パラメータとしての車両10の測位点10eの路面60からの高さ[m]をhとする。この場合、観測誤差ΔDは、以下の式(1)で表すことができる。
ΔD=h/H×Do 式(1)
すなわち、観測距離Doが大きくなるほど観測誤差ΔDも大きくなる。
【0078】
次に、撮像装置9の位置と車両10の測位点10eの位置との間の実際の距離(以下、第1実距離)をDとする場合、第1実距離Dは、以下の式(2)で表すことができる。
D=Do×(1-h/H) 式(2)
すなわち、第1実距離Dは、観測距離Do、撮像パラメータとしての撮像装置9の高さH、および、車両パラメータとしての車両10の測位点10eの高さhによって決まる。
【0079】
そして、
図13に示すように、基準位置と車両10の推定位置との間の推定距離をDpとし、基準位置と車両10の位置との間の実際の距離(以下、第2実距離)をDtとする場合、第2実距離Dtは、以下の式(3)で表すことができる。
Dt=Dp×(1-h/H) 式(3)
【0080】
ここで、推定距離Dpは、固定座標点Pfおよび撮像座標点Pcから求められる実際の距離(以下、第3実距離Dc)と、画像座標点P3と、固定座標点Pfと、を用いて算出することができる。したがって、位置変換部724は、上記式(3)を用いて推定距離Dpを補正することにより求められる第2実距離Dtと固定座標点Pfとを用いて、車両座標点Pvを算出することができる。このとき、算出された車両座標点Pvは、グローバル座標系における車両10の位置を示す座標点であるため、実空間における車両10の位置に相当する。このように、位置変換部724は、式(1)~式(3)で表される関係式に、取得した撮像パラメータの値と車両パラメータの値とを代入することで、画像座標点P3を車両座標点Pvに変換することができる。なお、車両10の現在地に応じた適切な制御値を遠隔制御装置5が作成するために、以上に示した車両10の位置推定方法は、例えば、予め定められた時間ごとに繰り返し実行される。
【0081】
上記第1実施形態によれば、遠隔制御によって車両10を自動走行させる場合に、車両10を含む撮像領域RGを車両10の外部から撮像することで取得した撮像画像Im1を用いて、車両10の位置を推定することができる。このようにすると、車両10の位置推定に用いるセンサ、マーカ、送受信機等の設置物を車両10に設置することなく、車両10の位置を推定することができる。また、位置推定装置7を車両10に搭載するなく、車両10の位置を推定することができる。これにより、位置推定装置7の汎用性を高めることができる。
【0082】
また、上記第1実施形態によれば、撮像画像Im1を用いて車両10の位置を推定する場合に、撮像画像Im1の歪みを修正することができる。これにより、車両10の位置の推定精度をさらに向上させることができる。
【0083】
また、上記第1実施形態によれば、撮像画像Im1を用いて車両10の位置を推定する場合に、撮像画像Im1を処理することで生成された修正画像Im2を、車両10の移動ベクトルVの方向が予め定められた方向を向くように回転させることができる。このようにすると、移動ベクトルVの方向を統一した状態で、撮像画像Im1に含まれる車両10を検出することができる。これにより、車両10の位置の推定精度をさらに向上させることができる。
【0084】
また、上記第1実施形態によれば、撮像画像Im1を処理することで生成された回転画像Im3から車両10を含む必要領域を切り出すクロップ処理の実行により、不要領域を排除した処理後画像Im4を生成することができる。このようにすると、検出対象である車両10以外の要素を画像内から排除した状態で、車両10を検出することができる。これにより、撮像画像Im1に含まれる車両10を精度よく検出することができるため、車両10の位置の推定精度をさらに向上させることができる。
【0085】
また、上記第1実施形態によれば、撮像画像Im1を処理することで生成された回転画像Im3から車両10を含む未移動領域A1を切り出すクロップ処理工程の実行により、処理後画像Im4を生成することができる。このようにすると、クロップ処理工程を実行しない場合と比べて、画像内に占める車両10の領域を大きくすることができる。これにより、撮像装置9に対してより遠方にある車両10を検出しやすくできる。そのため、撮像装置9に対してより遠方にある車両10に対する画像処理の精度をさらに向上させることができる。
【0086】
また、上記第1実施形態によれば、学習済みの機械学習モデルである位置検出モデルMd1に、撮像画像Im1を処理することで生成された処理後画像Im4を入力することで、車両10の外形を検出することができる。これにより、処理後画像Im4のうちで、車両10に相当する領域をマスクしたマスク領域Msが付加された第1マスク画像Im5を生成することができる。このとき、上記第1実施形態によれば、位置検出モデルMd1のアルゴリズムとして、セマンティックセグメンテーションやインスタンスセグメンテーションを実現するCNNの構造を有するDNNを用いることができる。これにより、撮像画像Im1における背景領域の多様性によって、車両10の位置の推定精度が低下することを抑制できる。なお、背景領域は、撮像画像Im1のうち、車両10に相当する領域以外の領域である。
【0087】
また、上記第1実施形態によれば、第1マスク画像Im5を透視変換した第2マスク画像Im6を生成することができる。これにより、カメラ座標系を画像座標系に変換することができる。
【0088】
また、上記第1実施形態によれば、第1マスク画像Im5を透視変換する前のマスク領域Msに対して第1外接矩形R1を設定することで、第1外接矩形R1の車両10の測位点10eに最も近い座標を有する頂点であるベース座標点P0を算出することができる。そして、ベース座標点P0を算出した後の第1マスク画像Im5を透視変換することで、ベース座標点P0に対応する座標点である第1座標点P1を算出することができる。さらに、第1マスク画像Im5を透視変換した後のマスク領域Msに対して第2外接矩形R2を設定することで、第2外接矩形R2の車両10の測位点10eに最も近い座標を有する頂点である第2座標点P2を算出することができる。そして、第2座標点P2を用いて第1座標点P1を補正することで、画像座標点P3を算出することができる。このように、透視変換前後の座標点を比較補正することで、画像座標点P3をより正確に算出することができる。これにより、車両10の位置の推定精度をさらに向上させることができる。
【0089】
また、上記第1実施形態によれば、学習済みの機械学習モデルである車種特定モデルMd2に、撮像画像Im1ないし撮像画像Im1を処理することで生成された各種画像Im2~Im4を入力することで、撮像画像Im1に含まれる車両10の種別を特定できる。つまり、機械学習を用いて、車両10の種別を特定することができる。
【0090】
また、上記第1実施形態によれば、装置記憶部73に予め記憶された車両データベースD1であって、車両10の各種別と車両パラメータとを紐付けた車両データベースD1を参照することで、車両10の種別に応じた車両パラメータの値を取得することができる。また、装置記憶部73に予め記憶されたカメラデータベースD2であって、各撮像装置9と撮像パラメータとを紐付けたカメラデータベースD2を参照することで、撮像画像Im1に対応する撮像装置9に関する撮像パラメータの値を取得することができる。
【0091】
また、上記第1実施形態によれば、撮像画像Im1を用いて車両10の位置を推定する場合に、車両10の種別に応じて定まる車両パラメータを用いて、車両10の位置を推定することができる。つまり、車両10の種別を考慮して、車両10の位置を推定することができる。これにより、車両10の種別に応じて車格等が異なる場合にも、車両10の位置の推定精度が低下することを抑制できる。換言すると、撮像画像Im1を用いて車両10の位置を推定する場合に、車両10の種別に応じて定まる車両パラメータを用いることで、車両10の位置を精度よく推定することができる。
【0092】
また、上記第1実施形態によれば、車両10の種別を考慮して、車両10の位置を推定することができる。これにより、複数の種別の車両10が遠隔自動運転モードにより走行している場合であっても、車両10の種別に応じて適切に車両10の位置を推定することができる。
【0093】
また、上記第1実施形態によれば、画像座標点P3を車両座標点Pvに変換する場合に、車両座標点Pvを目的変数とし、画像座標点P3と撮像パラメータと車両パラメータとを説明変数として含む関係式に、車両10の種別に応じた車両パラメータの値と、撮像画像Im1に対応する撮像パラメータの値とを代入する。これにより、画像座標点P3を車両座標点Pvに変換することができる。
【0094】
また、上記第1実施形態によれば、撮像パラメータは、グローバル座標系における撮像装置9の位置を基に算出される撮像装置9の路面60からの高さHである。また、車両パラメータは、車両10の予め定められた測位点10eの路面60からの高さhである。このようにすると、撮像パラメータと車両パラメータとの相似関係により、観測誤差ΔDを算出することができる。そして、算出した観測誤差ΔDを用いて、画像座標点P3を車両座標点Pvに変換することができる。
【0095】
また、上記第1実施形態によれば、GNSS衛生等からのデータを用いることなく、車両10の位置を推定することができる。これにより、GNSS衛生からのデータが届きにくい屋内等に設けられた路面60を車両10が走行する場合であっても、車両10の位置を推定することができる。
【0096】
B.第2実施形態:
図14は、第2実施形態における装置CPU72aの詳細を示す図である。
図15は、第2実施形態における車両10の位置推定方法を示すフローチャートである。本実施形態では、画像座標点P3を車両座標点Pvに変換するときの変換方法が第1実施形態とは異なる。具体的には、本実施形態では、装置CPU72は、さらに、補正値設定部726を備える。補正値設定部726は、装置取得部721によって取得された車両パラメータと基準パラメータとの差分を算出することで、補正パラメータを設定する。そして、位置変換部724は、車両座標点Pvを目的変数とし、画像座標点P3と、撮像パラメータと、基準パラメータと、補正パラメータと、を説明変数として含む後述する式(4)~式(6)で表される関係式を用いて、画像座標点P3を車両座標点Pvに変換する。基準パラメータは、車両パラメータの基準値を示すパラメータである。基準パラメータは、例えば、予め定められた種別の車両10の車両パラメータである。基準パラメータは、例えば、装置記憶部73に予め記憶されている。補正パラメータは、車両10の種別に応じて定まるパラメータであって、基準パラメータに対する補正値を示すパラメータである。よって、本実施形態では、装置CPU72の機能の一部と、車両10の位置推定方法の一部とが、第1実施形態とは異なる。他の構成については、第1実施形態と同様である。第1実施形態における各ステップと同一のステップ、および、第1実施形態と同一の構成については、同一の符号を付すと共に説明を省略する。
【0097】
図15に示すように、パラメータ取得工程の次に、補正値設定工程(ステップS36)が実行される。補正値設定工程において、補正値設定部726は、装置取得部721によって取得された車両パラメータと基準パラメータとの差分を算出することで、車種特定部723によって特定された車両10の種別に応じて定まる補正パラメータを設定する。補正パラメータが基準パラメータよりも大きい場合、補正パラメータは、正の値である。補正パラメータが基準パラメータよりも小さい場合、補正パラメータは、負の値である。補正パラメータが基準パラメータと同一の場合、補正パラメータは、ゼロである。
【0098】
補正値設定工程の次に、位置変換工程(ステップS38)が実行される。位置変換工程において、位置変換部724は、式(4)~式(6)で表される関係式を用いて、画像座標点P3を車両座標点Pvに変換する。具体的には、位置変換部724は、位置算出部722によって算出された画像座標点P3の座標値を式(4)~式(6)で表される関係式に代入する。位置変換部724は、装置取得部721によって取得された撮像パラメータの値を式(4)~式(6)で表される関係式に代入する。位置変換部724は、装置記憶部73に予め記憶された基準パラメータを式(4)~式(6)で表されるの関係式に代入する。さらに、位置変換部724は、補正値設定部726によって設定された補正パラメータ、すなわち、位置推定の対象とする車両10の種別に応じた補正パラメータを式(4)~式(6)で表される関係式に代入する。以下において、本実施形態における位置変換工程の詳細を説明する。
【0099】
図16は、第2実施形態における位置変換工程の詳細を説明するための第1図である。
図16では、車両10を左側面側から見たときの状態を図示している。
図17は、第2実施形態における位置変換工程の詳細を説明するための第2図である。
図17では、車両10をルーフ側から見たときの状態を図示している。
【0100】
図16に示すように、撮像装置9の位置と車両10の位置(画像座標点P3)とのXgYg平面上での観測距離をDoとする。観測誤差をΔDとする。取得された撮像パラメータとしての撮像装置9の路面60からの高さ[m]をHとする。取得された車両パラメータとして車両10の測位点10eの路面60からの高さ[m]をhとする。基準パラメータをhsとする。本実施形態では、基準パラメータhsは、予め定められた種別の車両10の測位点10eの路面60からの高さ[m]である。補正パラメータをΔhとする。本実施形態では、補正パラメータΔhは、基準パラメータとしての高さhsと、位置推定の対象とする車両10の測位点10eの路面60からの高さhと、の差分である。この場合、観測誤差ΔDは、以下の式(4)で表すことができる。
ΔD=(hs+Δh)/H×Do 式(4)
すなわち、観測距離Doが大きくなるほど観測誤差ΔDも大きくなる。
【0101】
次に、撮像装置9の位置と車両10の測位点10eの位置との間の実際の距離である第1実距離をDとする場合、第1実距離Dは、以下の式(5)で表すことができる。
D=Do×[{1-(hs+Δh)}/H] 式(5)
すなわち、すなわち、第1実距離Dは、観測距離Do、撮像パラメータとしての撮像装置9の高さH、および、補正パラメータΔhによって決まる。
【0102】
そして、
図17に示すように、基準位置と車両10の推定位置との間の推定距離をDpとし、基準位置と車両10の位置との間の実際の距離である第2実距離をDtとする場合、第2実距離Dtは、以下の式(6)で表すことができる。
Dt=Dp×[{1-(hs+Δh)}/H] 式(6)
【0103】
ここで、推定距離Dpは、第1実施形態と同様に、第3実距離Dcと、画像座標点P3と、固定座標点Pfと、を用いて算出することができる。したがって、位置変換部724は、上記式(6)を用いて推定距離Dpを補正することにより求められる第2実距離Dtと固定座標点Pfとを用いて、車両座標点Pvを算出することができる。このように、式(4)~式(6)で表される関係式に、取得した撮像パラメータの値と、設定した補正パラメータΔhの値とを代入することで、画像座標点P3を車両座標点Pvに変換することができる。
【0104】
上記第2実施形態によれば、画像座標点P3を車両座標点Pvに変換する場合に、車両座標点Pvを目的変数とし、画像座標点P3と撮像パラメータと基準パラメータhsと補正パラメータΔhとを説明変数として含む関係式に、撮像画像Im1に対応する撮像パラメータと、車両10の種別に応じて設定された補正パラメータΔhと、を代入する。これにより、画像座標点P3を車両座標点Pvに変換することができる。
【0105】
C.他の実施形態:
C-1.他の実施形態1:
他の実施形態では、車種特定部723によって特定された車両10の種別が予め定められた種別である場合に、補正値設定部726は、車両パラメータと基準パラメータhsとの差分を算出することなく、補正パラメータΔhをゼロに設定してもよい。予め定められた種別は、例えば、基準パラメータhsとの差分が予め定められた閾値未満となる種別である。この場合、車両データベースD1は、さらに、車種特定部723によって特定された車両10の種別が、基準パラメータhsとの差分が予め定められた閾値未満となる種別であるか否かを判断するための判断情報を含んでもよい。判断情報は、例えば、車種識別情報と、補正要否情報と、を紐付けた情報である。補正要否情報は、基準パラメータhsとの差分が予め定められた閾値未満となる種別であるか否かを示す情報である。補正値設定部726は、車種特定部723によって特定された車両10の種別を示す車種識別情報に対応する補正要否情報を参照することで、補正パラメータΔhをゼロにするか否かを判断する。このような形態であれば、位置推定の対象とする車両10についての車両パラメータと基準パラメータhsとの差分が予め定められた閾値未満である場合に、車両10の種別に応じた補正パラメータΔhを加味することなく、車両10の位置を推定することができる。つまり、位置推定の対象とする車両10についての車両パラメータの値が、基準パラメータhsの値と等しい、または、近しい場合に、車両パラメータを補正することなく、車両10の位置を推定することができる。このようにすると、補正パラメータΔhを設定する工程における処理内容を簡略化することができる。
【0106】
C-2.他の実施形態2:
他の実施形態では、位置推定装置7は、装置CPU72の一機能として、さらに、方向情報生成部を備えてもよい。方向情報生成部は、時間をおいて得られた複数の車両座標点Pvを用いて、車両10の移動方向を示す方向情報を生成する。換言すると、方向情報生成部は、同一の車両10について、異なるタイミングで取得された複数の車両座標点Pvを用いて、方向情報を生成する。具体的には、方向情報生成部は、例えば、異なる撮像装置9により撮像された複数の撮像画像Im1から生成された車両座標点Pvを時系列順序に並べることで、方向情報を生成する。このような形態であれば、車両10の実際の走行軌跡を算出することができる。また、このような形態であれば、車両10の進行方向を推定することができる。これにより、例えば、
図8および
図15に示す位置推定方法を予め定められた時間ごとに繰り返し実行する場合に、方向情報を用いて、走行中の車両10の移動方向を推定することができる。
【0107】
C-3.他の実施形態3:
他の実施形態では、車種特定部723は、装置記憶部73に予め記憶された予定情報を用いて、撮像画像Im1に含まれる車両10の種別を特定してもよい。予定情報は、いずれの種別の車両10が、いずれの時点において、目標走行ルート上のいずれの位置を走行する予定であるかを示す情報である。予定情報は、例えば、車種識別情報と、撮像位置情報と、タイミング情報と、を紐付けた情報である。撮像位置情報は、カメラ識別情報によって特定される撮像装置9の撮像領域RGを示す情報である。よって、撮像位置情報は、目標走行ルート上における位置範囲を示す情報である。タイミング情報は、車種識別情報によって特定される種別の車両10が、撮像位置情報によって特定される撮像領域RG内を走行する予定時刻を示す情報である。なお、予定情報は、これに限られるものではない。工場内で1つの種別の車両10が複数台連続して生産される場合であって、生産過程において工場内の目標走行ルートを走行する車両10の位置を推定するために、撮像装置9によって撮像画像Im1を取得する場合には、予定情報は、以下の情報であってもよい。この場合、予定情報は、撮像位置情報に代えて、工程位置情報を含んでもよい。工程位置情報は、車両10の生産過程において実行される複数の生産工程を識別する工程識別情報(工程ID)によって特定される生産工程を実行する作業場の位置を示す情報である。よって、工程位置情報は、目標走行ルート上における位置範囲を示す情報である。また、予定情報が撮像位置情報に代えて工程位置情報を含む場合、タイミング情報は、車種識別情報によって特定される種別の車両10に対して、工程識別情報によって特定される生産工程を実行する予定時刻を示す情報である。つまり、この場合において、予定情報は、車両10の種別ごとの生産計画を示す生産計画情報である。このような形態であれば、予定情報を用いて、撮像画像Im1に含まれる車両10の種別を特定することができる。これにより、画像解析を行うことなく、撮像画像Im1に含まれる車両10の種別を特定することができるため、車種特定工程における車種特定部723の処理負荷を低減することができる。
【0108】
C-4.他の実施形態4:
位置算出工程において、歪み修正工程は、必須の工程ではない。例えば、位置算出工程で、歪み補正工程が実行されることなく、回転処理工程以降の各工程が実行される場合、回転処理部722bは、以下の処理を実行する。この場合、回転処理工程において、回転処理部722bは、修正画像Im2に代えて、撮像画像Im1を回転させる。このような形態であっても、画像座標点P3を算出することができる。
【0109】
C-5.他の実施形態5:
位置算出工程において、回転処理工程は、必須の工程ではない。例えば、位置算出工程において、歪み補正工程と回転処理工程とが実行されない場合、クロップ処理部722cは、以下の処理を実行する。換言すると、位置算出工程において、クロップ処理工程以降の各工程のみが実行される場合、クロップ処理部722cは、以下の処理を実行する。この場合、クロップ処理部722cは、回転画像Im3に代えて、撮像画像Im1に対してクロップ処理を実行する。このような形態であっても、画像座標点P3を算出することができる。
【0110】
C-6.他の実施形態6:
位置算出工程において、クロップ処理工程は、必須の工程ではない。例えば、位置算出工程において、歪み補正工程と回転処理工程とクロップ処理工程とが実行されない場合、検出部722dは、以下の処理を実行する。換言すると、位置算出工程において、検出工程以降の各工程のみが実行される場合、検出部722dは、以下の処理を実行する。この場合、検出部722dは、処理後画像Im4に代えて、撮像画像Im1に含まれる車両10をマスクすることで、第1マスク画像Im5を生成する。このような形態であっても、画像座標点P3を算出することができる。
【0111】
C-7.他の実施形態7:
他の実施形態では、撮像画像Im1は、複数の車両10を含んでもよい。この場合、装置CPU72は、例えば、位置推定の対象外である車両10のマスク領域Msを第1マスク画像Im5から削除する削除部をさらに備えてもよい。削除部は、例えば、検出工程において生成されたマスク領域Msのうち、認識対象領域外に存在するマスク領域Msを位置推定の対象外である車両10のマスク領域Msであると判断して、第1マスク画像Im5から削除する。認識対象領域は、例えば、第1マスク画像Im5中で車両10が移動する所定の領域である。車両10が移動する所定の領域は、例えば、格子線61の領域に対応した領域である。認識対象領域は、装置記憶部73に予め記憶されている。このような形態であれば、撮像画像Im1に複数の車両10が写り込んだ場合に、位置推定の対象外である車両10の影響を排除することができる。これにより、車両10の位置の推定精度を向上させることができる。
【0112】
C-8.他の実施形態8:
他の実施形態では、撮像画像Im1は、複数の車両10を含んでもよい。この場合、位置検出モデルMd1のアルゴリズムとして、YOLACT++等のインスタンスセグメンテーションを行うDNNを用いてもよい。このような形態であれば、撮像画像Im1に含まれる複数の車両10を分類し、車両10ごとにマスクした第1マスク画像Im5を生成することができる。これにより、撮像画像Im1に複数の車両10が含まれる場合に、位置推定の対象とする車両10を選択して、選択した車両10についての位置を推定することができる。
【0113】
C-9.他の実施形態9:
他の実施形態では、撮像画像Im1は、複数の車両10を含んでもよい。この場合、車種特定部723は、撮像画像Im1に含まれる複数の車両10を分類可能な車種特定モデルMd2を用いて、位置推定の対象外となる車両10の種別を特定することなく、位置推定の対象とする車両10の種別を特定する。このような形態であれば、撮像画像Im1に複数の車両10が含まれる場合であっても、位置推定の対象とする車両10の種別を特定しすることができる。
【0114】
C-10.他の実施形態10:
他の実施形態では、位置推定装置7は、静止している車両10の位置を推定してもよい。静止している車両10の位置を推定する場合、位置推定装置7は、走行中の車両10の移動ベクトルVの方向に代えて、例えば、位置推定装置7を起動後に最初に取得された撮像画像Im1から推定される車両10の初期のベクトル方向を用いて、車両10の位置を推定する。このような形態であれば、車両10が静止している場合にも、撮像画像Im1を用いて、車両10の位置を推定することができる。
【0115】
C-11.他の実施形態11:
他の実施形態では、位置推定装置7は、撮像装置9としてのステレオカメラやTOF(Time Of Flight)カメラによって撮像される3次元画像を処理対象としてもよい。このような形態であれば、処理対象を拡大できるため、位置推定装置7の汎用性を高めることができる。
【0116】
C-12.他の実施形態12:
他の実施形態では、遠隔制御装置5と位置推定装置7とは一体に構成されていてもよい。また、さらに他の実施形態では、位置推定装置7の各部が、例えば、1以上のコンピュータにより構成されるクラウドコンピューティングにより実現されてもよい。このような形態であれば、位置推定装置7の構成を適宜変更することができる。
【0117】
C-13.他の実施形態13:
他の実施形態では、位置推定装置7は、遠隔手動運転モードにより走行する車両10の位置を推定してもよい。遠隔手動運転モードは、オペレータ入力装置をオペレータが操作することにより生成された走行条件を車両10が受信することにより、運転者が車両10に乗車することなく走行する運転モードである。このような形態であれば、遠隔自動運転モードに限らず、遠隔手動運転モードにより走行する車両10の位置を推定することができる。これにより、位置推定装置7の汎用性を高めることができる。
【0118】
C-14.他の実施形態14:
他の実施形態では、装置CPU72は、装置取得部721の機能を実現する2以上の機能部を備えてもよい。例えば、装置CPU72は、撮像画像Im1を取得する画像取得部と、車両パラメータおよび撮像パラメータを取得するパラメータ取得部と、を備えてもよい。このような形態であっても、装置CPU72は、各種情報を必要に応じて取得することができる。
【0119】
C-15.他の実施形態15:
上記実施形態では、車両パラメータは、車両10の測位点10eの路面60からの高さhであった。つまり、上記実施形態では、車両パラメータは、車両10の高さ方向に沿った路面60との距離であった。しかし、本開示は、これに限られるものではない。車両パラメータは、例えば、車両10の走路における基準地点としての道路境界と車両10の測位点10eとの距離であってもよい。つまり、車両パラメータは、車両10の幅方向に沿った基準地点との距離であってもよい。このような形態であれば、車両10の種別に応じて車両10の幅方向における寸法(以下、車幅)が異なる場合に、車幅に関する値を車両パラメータとして用いて、車両10の位置を推定することができる。
【0120】
C-16.他の実施形態16:
上記各実施形態において、車両10は、遠隔制御により移動可能な構成を備えていればよく、例えば、以下に述べる構成を備えるプラットフォームの形態であってもよい。具体的には、車両10は、遠隔制御により「走る」、「曲がる」、「止まる」の3つの機能を発揮するために、少なくとも、車両制御装置2と駆動装置11と操舵装置12と制動装置13と車両通信部21とを備えていればよい。すなわち、遠隔制御により移動可能な車両10は、運転席やダッシュボード等の内装部品の少なくとも一部が装着されていなくてもよく、バンパやフェンダ等の外装部品の少なくとも一部が装着されていなくてもよく、ボディシェルが装着されていなくてもよい。この場合、車両10が工場から出荷されるまでの間に、ボディシェル等の残りの部品が車両10に装着されてもよいし、ボディシェル等の残りの部品が車両10に装着されていない状態で、車両10が工場から出荷された後にボディシェル等の残りの部品が車両10に装着されてもよい。なお、プラットフォームの形態に対しても、各実施形態における車両10と同様にして位置推定がなされ得る。
【0121】
本開示は、上述の実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態の技術的特徴は、上述の課題の一部又は全部を解決するために、あるいは、上述の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【符号の説明】
【0122】
1…位置推定システム、2…車両制御装置、5…遠隔制御装置、7…位置推定装置、9…撮像装置、10…車両、10e…測位点、11…駆動装置、12…操舵装置、13…制動装置、16…外部センサ群、17…内部センサ群、21…車両通信部、22…車両CPU、23…車両記憶部、51…遠隔通信部、52…遠隔CPU、53…遠隔記憶部、60…路面、61…格子線、71…装置通信部、72…装置CPU、72a…装置CPU、73…装置記憶部、160…外部センサ、161…車載カメラ、162…レーダ、163…ライダ、170…内部センサ、171…車輪速センサ、172…舵角センサ、221…車速算出部、222…車両取得部、223…車両送信部、224…動作制御部、521…遠隔取得部、522…制御値作成部、523…遠隔送信部、721…装置取得部、722…位置算出部、722a…歪み修正部、722b…回転処理部、722c…クロップ処理部、722d…検出部、722e…透視変換部、722f…座標点算出部、723…車種特定部、724…位置変換部、725…装置送信部、726…補正値設定部、901…第1撮像装置、902…第2撮像装置、A1…未移動領域、A2…移動済領域、C…重心、D…第1実距離、ΔD…観測誤差、Dc…第3実距離、Do…観測距離、Dp…推定距離、Dt…第2実距離、D1…車両データベース、D2…カメラデータベース、h…車両の測位点の路面からの高さ、Δh…補正パラメータ、hs…基準パラメータ、H…撮像装置の路面からの高さ、Im1…撮像画像、Im2…修正画像、Im3…回転画像、Im4…処理後画像、Im5…第1マスク画像、Im6…第2マスク画像、Md1…位置検出モデル、Md2…車種特定モデル、Ms…マスク領域、N…ネットワーク、P0…ベース座標点、P1…第1座標点、P2…第2座標点、P3…画像座標点、Pa1…修正パラメータ、Pa2…透視変換パラメータ、Pc…撮像座標点、Pf…固定座標点、Pv…車両座標点、R0…ベース外接矩形、R1…第1外接矩形、R2…第2外接矩形、RG…撮像領域、RG1…第1撮像領域、RG2…第2撮像領域、V…移動ベクトル