図1は、一実施形態に係る経路探索システムの構成図である。経路探索システム100は、複数のコネクテッドカーCC1,CC2,CC3にそれぞれ搭載され、車載カメラを含む端末装置10-1,10-2,10-3と、ネットワークNW上のサーバ装置等として構成可能な経路探索装置20と、で構成される。なお、端末装置10-1,10-2,10-3は、車載システムとして構成され車両に搭載されるようにしてもよいし、モバイル端末として構成され車載システムと有線及び/又は無線により通信可能に構成されるようにしてもよく、車両に「搭載」されるとは、このいずれの場合をも含むものとする。端末装置10-1,10-2,10-3の各々と経路探索装置20とは、ネットワークNWを経由して相互に通信可能となっている。図1では、コネクテッドカー及びこれに搭載される端末装置が3つの場合を例として示しているが、任意の複数のコネクテッドカー及びこれに搭載される端末装置を経路探索システム100は含むことができる。
図2は、一実施形態に係る経路探索システム100における端末装置10及び経路探索装置20のそれぞれの機能ブロック図である。端末装置10は、撮影部11、認識部12、測位部13、調整部14、要求部15及び運転制御部16を備える。経路探索装置20は、地図管理部21及び経路探索部22を備える。なお、図2に示す端末装置10の機能構成は、図1に3つの場合を例示した任意の複数の端末装置10-1,10-2,10-3等における共通の機能構成である。
図3は、一実施形態に係る経路探索システム100の動作のフローチャートであり、図示される通り、ステップS1,S2,S3がこの順番で実施される。ステップS1では、車道を走行する車両と共に移動する端末装置10の各々において継続的に撮影、認識、測位を行い、得られた認識状況に関する情報を定期的に経路探索装置20へと送信し、経路探索装置20においてこの送信された情報を収集する。このステップS1の処理は、送信するまでの処理に関して端末装置10の撮影部11、認識部12、測位部13及び調整部14によって実行され、送信された情報を収集する処理に関して経路探索装置20の地図管理部21によって実行されるが、その詳細についてはこれら各機能部の説明の際に後述する。
ステップS2では、上記のステップS1において端末装置10の各々から一定期間に渡って収集した認識状況に関する情報を用いて、経路探索装置20が地図情報上の各位置に負荷の情報を紐づける。このステップS2の処理は経路探索装置20の地図管理部21によって実行されるが、その詳細については地図管理部21の説明の際に後述する。
ステップS3では、端末装置10が経路探索の要求を送信し、要求を受信した経路探索装置20において経路探索を実施し、得られた経路情報を端末装置10に返信し、経路情報に従って車両の自動運転等を実施する。このステップS3の処理は順番に、端末装置10の要求部15と、経路探索装置20の経路探索部22と、端末装置10の運転制御部16と、によって実行されるが、その詳細についてはこれら各機能部の説明の際に後述する。
以下、端末装置10及び経路探索装置20の各機能部の処理内容の詳細を説明する。
撮影部11は、ハードウェアとしては端末装置10が設置される車両における車載カメラとして構成されるものである。この車載カメラは、車両の進行方向である車両前方の景色を少なくとも撮影可能なように、車両に設置されている。撮影部11は、車両の走行の際に映像として継続的に撮影を行い、得られた映像の各時刻のフレーム画像を認識部12へと出力する。なお、この撮影部11を構成する車載カメラは、車両の自動運転等の制御の際に、制御に必要となる車両周辺の状況を撮影するのに用いられるものであってもよい。ステップS1での撮影部11による継続的な撮影は、実際に車両が自動運転等の制御のもとで走行している際に行われるものであってもよいし、運転者による手動運転の際に行われるものであってもよい。
認識部12は、撮影部11から得られる各時刻のフレーム画像に対して物体認識処理を適用し、得られた各時刻のフレーム画像における物体認識結果を調整部14へと出力する。ここで、物体認識処理には任意の既存手法を用いてよい。例えば、SVM(サポートベクトルマシン)等の機械学習による物体認識や、各種のCNN(畳込ニューラルネットワーク)等の深層学習による物体認識など(例えばSSD、YOLOv3、Mask R-CNNなど)、任意の既存手法を用いてよく、認識部12では学習済みのモデルパラメータ(深層学習による物体認識であればネットワークの各層の重みなど)を用いて物体認識を行うことができる。
認識部12による物体認識結果は、フレーム画像において認識された1つ以上の物体のそれぞれに関する、物体種別、ID(識別子)、認識精度(信頼度)で構成され、フレーム画像の撮影時刻が紐づけられている。ここで、同一種別の物体であっても、当該フレーム画像内において2つ以上の別の物体に該当するものを区別(例えば車両という同一種別の物体が2つ検出されている場合にこれらを区別)し、且つ、映像の時間軸上において同一物体が継続して認識されていることを識別するために、IDを含めて物体認識結果を得る。この際、映像の時間軸上において同一物体が継続して認識されていることは、物体認識手法に対してさらに既存手法であるトラッキング(追跡)手法を併用することで、認識部12において認識物体のIDとして識別することができ、時間軸上で初めて認識された物体には新規IDを付与したうえで、以降の時刻においてトラッキングを試みるようにすればよい。
また、認識部12による物体認識結果における認識精度は、当該種別の物体らしさ(信頼度)を数値化したものとして、例えば0以上1以下の範囲に規格化して与えることができる。
測位部13は、測位衛星からの信号を利用するGPS(全地球測位システム)や、無線LAN測位等を利用する屋内GPSや、端末装置10が設置される車両における方位センサ出力、加速度センサ出力及び車速情報などを用いた自律航法などの、任意の既存の測位手法(ハイブリッド方式で2つ以上の測位手法を組み合わせたり環境に応じて切り替えたりする方式も含む)を用いて、端末装置10が設置される車両の位置情報を各時刻においてリアルタイムで取得し、調整部14へと出力する。
調整部14は、車両の経路案内の際に自車両の位置を表示することにも利用可能な、所定の地図情報を記憶しており、測位部13から得られる位置情報を地図情報上において照合することにより、この地図情報内の所定区画を車両が通過するごとに、当該所定区画を通過する際に履歴として得られた認識部12による各時刻での認識結果に対して、この各時刻における測位部13による位置情報を紐づけたものを、この所定区画での認識状況情報として集約して、経路探索装置20の地図管理部21へと送信する。
なお、調整部14による送信タイミングに関しては、上記のようにその都度送信する他にも、種々の態様が可能である。例えば、調整部14では所定区画での認識状況情報が得られる都度、自身において保存しておいたうえで、保存データ量が一定値に到達した場合、且つ/又は、ネットワークNWの通信状況が良好であると判定される場合に当該情報を送信するようにしてもよい。
図4は、調整部14で記憶しておく所定の地図情報のデータ構造DSの模式例を示す図である。このデータ構造DSは道路をモデル化したものとして、交差点などのノードa,b,c,dと、当該ノード間を接続するものとして道路を表現するエッジEab,Eac,Ebc,Ecdと、で構成される、周知のグラフ構造である。例えばノードa,bを接続するエッジEabは、交差点a,b間に渡る道路区画を表現するものである。調整部14では所定区画として、このようなデータ構造DSにおけるエッジ(所定の道路区画)を通過する都度、当該エッジ内での認識状況情報を集約して、経路探索装置20の地図管理部21へと送信することができる。
ここで、グラフ構造での地図情報において少なくとも各ノードには位置情報を紐づけたうえで記憶しておくことにより、調整部14では測位部13から得られる位置情報と各ノードの位置情報を照合して、ノードを通過したかを判断することができる。さらに、ノード間のエッジにも、このエッジが対応している実際の道路区画の位置情報を、位置情報が紐づいたノード同士を接続する曲線データ等として紐づけて、地図情報として記憶しておくことで、調整部14では測位部13から得られる位置情報とエッジの位置情報とを照合し、いずれのノード間のエッジ(道路区画)内のどの箇所に車両が存在しているかを、継続的に把握するようにしてもよい。
以上のようにして、ステップS1において撮影部11、認識部12、測位部13及び調整部14は継続的に情報収集し、収集した情報を調整部14で集約したうえで地図管理部21へと送信する。図5は、一実施形態に係るこの継続的な情報収集の動作のフローチャートである。図5の説明においては、情報が継続収集されている現時刻をt(=1,2,3,…)とする。
ステップS11では、現時刻tにおいて、撮影部11が撮影を行いフレーム画像F(t)を取得し、認識部12がこのフレーム画像F(t)に対して認識処理を行うことで認識結果R(t)を取得し、測位部13が測位を行い位置情報P(t)を取得し、調整部14ではこれら現時刻tにおいて取得された情報のうち、認識結果R(t)を位置情報P(t)と紐づけて記憶してから、ステップS12へと進む。この際、位置情報P(t)は測位部13の出力情報をそのまま記憶しておいてもよいし、この出力情報を調整部14が記憶しておく地図情報に照合した形式で記憶しておいてもよい。
図6は、この各時刻tのステップS11において調整部14が記憶しておく情報を模式的な例として図である。すなわち、ある時刻tで車両が移動している道路上の風景が撮影されたフレーム画像F(t)より、認識部12での認識処理として車C1の領域、車C2の領域、看板(工事看板等)B1の領域が得られた旨の情報と、認識された際のそれぞれの領域の当該物体としての信頼度Rel(C1,t)=0.7、Rel(C2,t)=0.8、Rel(B1,t)=0.6の情報と、が時刻tの認識結果R(t)を構成する。そして、この認識結果R(t)には同時刻tでの位置情報P(t)(すなわち、フレーム画像F(t)の撮影がなされた箇所の位置情報P(t))が、「交差点aと交差点bとの間の道路Eab上」として紐づけられる。(ここでは模式例として、位置情報P(t)を図4の模式例に対応するものとして、調整部14が記憶しておく地図情報に照合した形式で記憶する場合を示しているが、位置情報P(t)はその他の形式、例えば測位部13がGPSで構成される場合に出力される3次元空間座標として記憶しておいてもよい。)調整部14ではこのような認識結果R(t)及び位置情報P(t)を対応付けて記憶する。
ステップS12では、現時刻tが、収集した情報(現時刻tまでの各時刻で上記ステップS11において調整部14が継続して記憶することで収集された情報)を集約するタイミングに該当するか否かを調整部14が判定し、該当していればステップS13へと進み、該当していなければステップS14へと進む。
ステップS12での集約タイミングに該当するか否かの判定は、現時刻tの位置情報P(t)が、調整部14が記憶しておく地図情報での道路区画の端点に到達しているか否か、すなわち、位置情報P(t)が、図4で模式例を示したようなグラフ構造の地図情報におけるノードの位置に到達したか否か、によって判定すればよい。
ステップS13では調整部14が、現時刻tにおいてその端点に到達した道路区画内に位置情報が存在する間に継続されたステップS11で収集された情報を、当該道路区画における認識処理の負荷に関連する情報として集約してから、ステップS14へ進む。ステップS13においてはさらに、調整部14が当該集約した情報を経路探索装置20の地図管理部21へと送信するようにしてもよいが、前述した通りこの送信タイミングの態様は種々のものが可能である。ステップS14では現時刻tを次の時刻t+1に更新してから、ステップS11へ戻る。
以下、ステップS13で集約する情報の詳細を説明する。現時刻tの直近の過去時刻で同じくステップS13に至った時刻をt-N(N>0)とすると、時刻t-N+1,t-N+2,…,t-1,tに渡る期間において、端末装置10を搭載した車両は当該道路区画を移動していたこととなるので、調整部14では当該期間において収集された情報を当該道路区画での認識処理の負荷に関連する情報として集約する。説明のため、現時刻tと区別して、この期間内にある各時刻を時刻k(=t-N+1,t-N+2,…,t-1,t)と表す。調整部14ではこの期間内の各時刻kでステップS11にて収集した認識結果R(k)及び位置情報P(k)を、次のように集約する。すなわち、認識された物体種別ごとに、認識された個数(異なるIDが付与された個数)と、認識が継続された距離の平均と、認識の際の信頼度の平均と、を求めることで、集約された情報とする。
図7は、調整部14による収集情報の集約を説明するための模式例を示す図である。図7では、ある道路区画内に車両が位置していた期間の例(上記の時刻k=t-N+1,t-N+2,…,t-1,tの例)として、8時0分0秒から8時0分30秒までの30秒の期間が横軸方向に示される。8時0分0秒は交差点aの通過時刻であり、8時0分30秒は交差点bの通過時刻であり、従ってこの30秒の期間内において、車両は交差点a,bの間の道路区画Eabを通過し、調整部14ではこの道路区画Eabの情報を各時刻kにおける認識結果R(k)及び位置情報P(k)として収集している。
ここで、調整部14では、各時刻kの位置情報P(k)(GPS等により3次元位置座標として与える)を参照し、その差分絶対値|P(k-1)-P(k)|を時刻kで積分することで、あるいは、地図情報における実際の道路の曲線形状の情報を利用することで、道路区画Eab内における各時刻kにおける車両の移動距離を知ることができ、この情報を利用して情報を集約する。図7の例では、説明のため道路区画Eab内において車速が常に時速36km(=秒速10m)であったものとすると、調整部14では位置情報P(k)を参照することで、道路区画Eab内に入ってからの経過時間がn秒(0≦n≦30)の際に、道路区画Eab内での移動距離がn×10mであることを把握することができる。
図7の例は、道路区画Eab内での各時刻kの認識結果R(k)を、タイムチャートの形で示すものである。すなわち、道路区画Eab内においては、同一種別物体として「車」が車C1,C2,C3と3つの異なるIDで認識され、それぞれ認識期間RC1,RC2,RC3において認識されている。また、同一種別物体として「看板」が、看板B1,B2と2つの異なるIDで認識され、それぞれ認識期間RB1,RB2において認識されている。また、同一種別物体として、「人物」が、人物P1,P2と2つの異なるIDで認識され、それぞれ認識期間RP1,RP2において認識されている。この場合、調整部14では道路区画Eab内での認識結果の履歴を、認識された3つの物体種別「車」、「看板」及び「人物」ごとに、例えば以下のように集約することとなる。
「車」に関して、異なるIDがC1,C2,C3であり認識個数は「3」である。認識が継続された距離の平均は、「C1→15秒間認識→150m」、「C2→20秒間認識→200m」、「C3→17秒間認識→170m」という各結果により(150m+200m+170m)/3=「173m」である。認識の平均信頼度は各IDでの平均(時間平均あるいは距離平均)が「C1→0.7」、「C2→0.8」、「C3→0.9」であったものとして、これらを平均することで、(0.7+0.8+0.9)/3=「0.8」である。(あるいは、認識継続距離(又は認識継続時間)で重みづけ平均したものとして、認識の平均信頼度を(150m*0.7+200m*0.8+170m*0.9)/(150m+200m+170m)=「0.804」として求めてもよい。)
同様に、「看板」に関して、異なるIDがB1,B2であり認識個数は「2」である。認識が継続された距離の平均は、(40m+40m)/2=「40m」である。認識の平均信頼度は、各IDでの平均が「B1→0.6」、「B2→0.4」であったものとして、これらの平均として(0.6+0.4)/2=0.5である。同様に、「人物」に関して、異なるIDがP1,P2であり認識個数(人数)は「2」である。認識が継続された距離の平均は、(40m+40m)/2=「40m」である。認識の平均信頼度は、各IDでの平均が「P1→0.8」、「B2→0.6」であったものとして、これらの平均として(0.8+0.6)/2=0.7である。
以上の結果例及び計算例により、図7に示すある道路区画Eab内での認識結果を調整部14にて集約した結果の例は、図8に表形式で示す通りとなる。
地図管理部21は、ステップS1において複数の端末装置10の調整部14より一定期間に渡って送信されてくる、道路区画ごとの認識状況に関する集約情報(上記図8がこの集約情報の模式例)を一定期間に渡って収集することにより、ステップS2において、地図情報上の各道路区画に対して、認識される所定の物体種別ごとに、認識負荷の情報を紐づけて記憶する。図9は、認識される所定の物体種別が「車」、「看板」、「人物」、「コーン」(工事現場などを示すために設置されるロードコーン)の4種類であるとする場合の、地図管理部21がある道路区画に関して紐づけて記憶する認識負荷の模式例であり、これに示されるように物体種別ごとに認識負荷は数値として紐づけて記憶しておくことができる。
なお、各々の端末装置10の認識部12で利用する、学習済みのモデルパラメータを用いた物体認識手法は、図9に例示されるような、地図管理部21で認識負荷を記憶しておく対象となる複数の所定の物体種別に関して少なくとも認識可能なように、予め学習しておくものとする。
地図管理部21では、各々の端末装置10における調整部14が記憶しておく地図情報(前述の図4が模式例)と同様の地図情報を予め記憶しておいたうえでさらに、この地図情報における各道路区画に対して、収集された集約情報を用いて、所定の物体種別ごとの認識負荷を計算したうえで、地図情報に追加して紐づけて記憶する。例えば図4の地図情報を記憶しているのであれば、4つの道路区画(エッジ)Eab,Eac,Ebc,Ecdに関してそれぞれ、所定の物体種別ごとの認識負荷を計算し、追加して紐づけて記憶する。
地図管理部21における物体種別ごとの認識負荷の計算を説明するため、変数名を次のように定める。地図情報内に定義されている道路区画(エッジ)の識別子をE(=1,2,3,…)とし、道路区画Eに関して、一定期間に渡るステップS1で各々の端末装置10における調整部14から送信され収集された集約情報の識別子をi(=1,2,3,…)とし、道路区画Eに関して収集された集約情報の総数をN(E)とする。(すなわち、1≦i≦N(E)となるものとする。)また、認識負荷を計算する対象となる物体種別の識別子をj=1,2,3,…,mとし(すなわち所定の物体種別はm種類であるものとし)、道路区画Eにおいて物体種別jに関して集約情報iにおいて記録されている、認識した個数をcount(E,j,i)とし、平均の認識継続距離をdist(E,j,i)とし、平均の信頼度をrel(E,j,i)とする。
地図管理部21では、以下の式(1)により、道路区画Eにおける物体種別jの認識負荷load(E,j)を計算することができる。
ここで、認識部12による認識結果の信頼度は0以上1以下に規格化して求めておく(0が最低値、1が最高値)ものとし、従って、平均の信頼度rel(E,j,i)もこの規格化範囲で求まるものとする。式(1)において(1-rel(E,j,i))の項は、認識結果の平均信頼度を最高値1から引いたものであり、従って、認識結果の平均での「不」信頼度を同じく0以上1以下で規格化して数値化するものである。
ここで、式(1)の計算は、以下の4つの方針(ポリシー)PL1~PL4に従うものである。
(方針PL1)…当該物体種別jの物体の認識継続距離dist(E,j,i)が大きいほど、認識負荷load(E,j)を大きな値として計算する。
(方針PL2)…当該物体種別jの物体の認識結果の不信頼度(1-rel(E,j,i))が大きいほど、(すなわち、信頼度rel(E,j,i)が小さいほど、)認識負荷load(E,j)を大きな値として計算する。
(方針PL3)…当該物体種別jの物体の認識された個数count(E,j,i)が多いほど、認識負荷load(E,j)を大きな値として計算する。
(方針PL4)…総数N(E)だけ存在する集約情報において平均値として、認識負荷load(E,j)を計算する。
なお、式(1)は認識負荷load(E,j)の計算の一例に過ぎず、同様の計算方針PL1~PL4に従うのであれば、他の式等で計算するようにしてもよい。例えば、認識継続距離dist(E,j,i)のN(E)個の平均値av_dist(E,j)を求め、不信頼度(1-rel(E,j,i))のN(E)個の平均値(1-av_rel(E,j))を求め、個数count(E,j,i)のN(E)個の平均値av_count(E,j)を求め、これらの積として以下の式(2)により計算するようにしてもよい。
load(E,j)= av_dist(E,j)* (1-av_rel(E,j))* av_count(E,j) …(2)
また、変形例として、方針PL1,PL2,PL3のうちの任意の一部分のみ及び方針PL4を用いて認識負荷load(E,j)を計算するようにしてもよい。例えば方針PL1は用いずに方針PL2,PL3,PL4で計算する場合、式(1)においては距離dist(E,j,i)の項を、あるいは式(2)においては距離av_dist(E,j)の項を、それぞれ定数「1」に置き換えて計算すればよい。
なお、道路区画Eにおいて物体種別jに関して集約情報iにおいて記録されている、認識した個数count(E,j,i)=0である場合、対応する平均の認識継続距離をdist(E,j,i)のデータと、平均の信頼度をrel(E,j,i)のデータとは存在しないこととなるが、この両データ共に値が0であるものとして、式(1)等により認識負荷load(E,j)を計算すればよい。
以上のように、地図管理部21では、各道路区画Eにおける各物体種別jの認識負荷load(E,j)を計算する。この結果を用いて地図管理部21ではさらに、以下の式(3)により、所定の物体種別j=1,2,3,…,mの全体での重みづけ和として各道路区画Eの認識負荷load(E)を計算し、地図情報において紐づけて記憶しておく。
ここで、重みw(j)は物体種別jの物体が自動運転等に与える影響(制御負荷等に関する影響)を数値化したものとして、正の値として管理者等が予め定義しておく値を利用すればよい。
以上のようにして、ステップS2において地図管理部21は、次のステップS3で経路探索を行うのに必要な地図情報(各エッジE(道路区画E)に認識負荷load(E)を紐づけた地図情報)を、ステップS1で収集された、映像認識の結果の実績値が反映されたものとして用意することが可能となる。以下、ステップS3を担う各部(要求部15、経路探索部22及び運転制御部16)の詳細を順に説明する。
要求部15では、端末装置10が設置された車両に乗っているユーザ(手動運転を伴う場合には運転者等)より経路探索要求の情報を受け付け、当該受け付けた情報を経路探索装置20の経路探索部22へと送信する。ユーザは経路探索要求において、少なくとも目的地を指定することができ、さらに、自動運転等において以下の第1条件及び第2条件のいずれをどの程度重視するかの比率rの情報を指定するようにしてもよい。
(第1条件)…目的地へと到達するのに要する所要時間の短さ(すなわち、目的地へ到達する速さ)
(第2条件)…目的地へ到達する際の自動運転等の安定性(すなわち、自動運転等に要する負荷の小ささ)
以下での説明のため、比率rは、0≦r≦1の範囲で指定され、第1条件を重視する割合が(1-r)であり、第2条件を重視する割合がrであることを意味するものとする。なお、例えば以下のような所定のメニュー項目を用意しておき、ユーザがこの項目の中から選択することで、比率rが指定されるようにしてもよい。
(第1メニュー)…「自動運転等の安定性をより重視」(→比率r=0.8と設定)
(第2メニュー)…「自動運転等と到達早さを等しく重視」(→比率r=0.5と設定)
(第3メニュー)…「到達早さをより重視」(→比率r=0.2と設定)
要求部15では、ユーザより入力される目的地(及び比率r)の情報に、現在地又は出発地の情報を追加したうえで、経路探索要求情報として経路探索部22へと送信する。ここで、現在地又は出発地の情報は、ユーザ入力によって受け付けてもよいし、現在地に関しては、測位部13で現在の時点において測位した位置情報を要求部15で取得するようにしてもよい。(なお、図2ではこの、測位部13から要求部15へと位置情報を渡す流れを表す矢印線は、描くのを省略している。)
経路探索部22では、要求部15より経路探索要求情報として受け取った、現在地又は出発地と目的地の情報、及び、指定された場合には比率rの情報を利用して、現在地又は出発地から目的地へと到達する経路を、地図管理部21の保存している地図情報上から探索し、当該探索された経路を経路探索結果として端末装置10の運転制御部16へと送信する。
地図管理部21で保存している地図情報は前述(模式例の図4)の通り、交差点などの所定地点をノードとし当該ノード同士を結ぶ道路区画をエッジとしてグラフ構造を有している。経路探索部22は、地図情報上において現在地又は出発地に該当するノードを始点ノード、目的地に該当するノードを終点ノードとして定めたうえで、当該始点ノードから終点ノードに至る経路で、経路上に現れる各エッジEのコストcost(E)の総和(すなわち、当該経路のコスト)が最小になるものとして、経路探索結果を得ることができる。コスト総和が最小となる経路の探索には、ダイクストラ法等の任意の既存手法を用いればよい。始点ノード及び終点ノードの割り当ては、最も近い位置のノードを割り当ててもよいし、任意の既存のカーナビゲーション技術による割り当て(例えば、運転状況や道路状況などに適した割り当て)を用いてもよい。
ここで、地図情報上の各エッジE(=1,2,3,…)のコストcost(E)は以下の式(4)で計算すればよい。
cost(E)=r*load(E)+(1-r)*time(E) …(4)
式(4)にてload(E)は既に説明した通り、ステップS2で地図管理部21が計算して紐づけておくエッジEの認識負荷であり、time(E)は各エッジEが対応する道路区画の距離又は所要時間を(load(E)に対してコストとして加算可能なように無次元化及び規格化したうえで)数値化した値である。このtime(E)の情報は、地図情報に予め管理者等が紐づけておけばよい。所要時間として紐づける場合は、「距離÷当該道路区画の法定速度」などの計算により、地図情報から算出可能な距離の情報を用いて紐づけてもよいし、実際の交通状況をモニタリングして得られる平均の所要時間を紐づけるようにしてもよい。
すなわち、式(4)により、各エッジEのコストcost(E)は、r:(1-r)の比率(重みづけ)で、認識負荷load(E)と所要時間(又は距離)コストtime(E)と、を加算したものとして計算される。従って、経路探索結果も同様に、認識負荷と所要時間コストとが比率rで考慮されたものとして得られることとなる。ユーザから比率rが指定されていない場合、経路探索部22で所定値として比率rを定めて経路探索を行えばよい。
なお、r=0として指定した場合には、所要時間(又は距離)によるコストのみを考慮した、任意の既存のカーナビゲーション技術におけるのと同じ経路探索結果が得られることとなる。0<r<1の範囲で指定した場合には、認識負荷と所要時間(又は距離)との両方がコストとして考慮され、r=1で指定した場合には、認識負荷のみがコストとして考慮される。
運転制御部16は、経路探索部22から受け取った探索結果の経路に従い、車両に対して当該経路上を走行するように、自動運転等の制御を実施する。
以上、各実施形態によれば、比率r>0を指定したうえで、画像認識の負荷を考慮した経路探索結果を得ることができる。以下、種々の事項に関して補足説明を行う。
(1)図3のフローでは、地図管理部21で管理している地図情報において、各エッジEに対応する道路区画を走行する際の映像の認識負荷load(E)に関する情報が全く存在しない場合に、この情報を予め収集しておくものとして、ステップS1及びS2を説明した。一定期間に渡ってこの情報が収集され、各エッジEの認識負荷load(E)の情報が既にある場合は、直ちにステップS3の経路探索を実施してもよい。この一定期間は、現在に近い範囲での一定期間とすることで、ステップS2では定期的に、各エッジEの認識負荷load(E)の値を直近の状況が反映されたものに更新するようにしてもよい。
(2)各エッジEの認識負荷load(E)を計算するにあたっては、時間帯(例えば昼間と夜間)や天候等で区別して計算するようにしてもよく、経路探索の要求があった際には当該時間帯や天候に対応する認識負荷load(E)を利用して経路探索を行うようにしてもよい。天候の情報に関しては、ネットワーク上の天候情報提供サーバ等から、当該経路探索がなされる地域に関して取得すればよい。
(3)地図管理部21では、管理者等による地域範囲を指定する入力を受け付けることで、当該地域範囲内において、認識負荷load(E)が顕著に高いと判定されるようなエッジE(道路区画E)を、ディスプレイ表示する等により当該管理者等に通知するようにしてもよい。当該情報は自動運転等のインフラ整備のために活用可能である。
(4)地図管理部23では、式(3)により物体種別jごとの重みづけ和として道路区画Eの認識負荷load(E)を求める。ここで、物体種別jは模式例を図9等で示したように予め定義しておくが、その少なくとも一部に関して、物体の存在する文脈も考慮したうえでの物体種別jを定義しておいてもよい。例えば、「車」に関して、「駐車中の車」と「走行中の車」とを区別して定義しておいてもよい。停車中か走行中かの区別は、「車」として検出したうえでその動きを追跡し、車道に対して移動しているか否かによって、認識部12において判定すればよい。また、「コーン」に関して、「工事現場に設置されたコーン」と、「工事現場以外に設置されたコーン」(例えば歩道上で駐輪スペースを示す際のコーン等)とを区別して定義しておいてもよい。工事現場であるか否かは、物体認識手法に加えて、既存のシーン認識手法を適用して、認識部12において判定すればよい。すなわち、フレーム画像よりコーンが検出された際にはさらに、フレーム画像にシーン認識を適用して工事現場のシーンであるか否かを判定して、「コーン」が上記異なる2つの文脈のいずれのものであるかを判定すればよい。
上記の「駐車中の車」と「走行中の車」や、「工事現場に設置されたコーン」と「工事現場以外に設置されたコーン」に関しては、式(3)の重みづけ和の際の重みw(j)も互いに異なる値を定義しておくことで、より適切な経路探索結果を得ることができる。
(5)調整部14では地図情報に定義される道路区画(の端点のノード)を通過するごとに、認識物体のIDを新たなものに更新して、物体の継続認識距離等を求めるようにすればよい。例えば図7の車C3に関して、交差点bを通過後に例えば道路区画Ebcを走行することとなった場合にも継続して認識されていたとしても、車C3は結果RC3に示されるように8時0分13秒から継続して認識され続けているのではなく、交差点bを通過した8時0分30秒で、道路区画Ebcにおいて初めて認識されたものとして扱えばよい。
(6)調整部14では道路区画を通過するごとに収集情報を集約して地図管理部21へと送信するものとしたが、この集約処理は地図管理部21において行うようにしてもよい。この場合、調整部14では集約処理を行わず、各時刻tの位置情報P(t)を認識結果R(t)と紐づけたうえで、適宜のタイミングで地図管理部21へと送信すればよい。
(7)図10は、一般的なコンピュータ装置70におけるハードウェア構成の例を示す図である。端末装置10及び経路探索装置20はそれぞれ、このような構成を有する1台以上のコンピュータ装置70として実現可能である。コンピュータ装置70は、所定命令を実行するCPU(中央演算装置)71、CPU71の実行命令の一部又は全部をCPU71に代わって又はCPU71と連携して実行する専用プロセッサ72(GPU(グラフィック演算装置)や深層学習専用プロセッサ等)、CPU71や専用プロセッサ72にワークエリアを提供する主記憶装置としてのRAM73、補助記憶装置としてのROM74、通信インタフェース75、ディスプレイ76、マウス、キーボード、タッチパネル等によりユーザ入力を受け付ける入力インタフェース77、カメラ78及び測位センサ79と、これらの間でデータを授受するためのバスBSと、を備える。
端末装置10及び経路探索装置20の各部は、各部の機能に対応する所定のプログラムをROM74から読み込んで実行するCPU71及び/又は専用プロセッサ72によって実現することができる。ここで、表示関連の処理が行われる場合にはさらに、ディスプレイ76が連動して動作し、データ送受信に関する通信関連の処理が行われる場合にはさらに通信インタフェース75が連動して動作し、測位部13による測位処理が行われる際には測位センサ79が連動して動作し、撮影部11による撮影処理が行われる際にはカメラ78が連動して動作する。