JP2021163263A - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP2021163263A JP2021163263A JP2020065094A JP2020065094A JP2021163263A JP 2021163263 A JP2021163263 A JP 2021163263A JP 2020065094 A JP2020065094 A JP 2020065094A JP 2020065094 A JP2020065094 A JP 2020065094A JP 2021163263 A JP2021163263 A JP 2021163263A
- Authority
- JP
- Japan
- Prior art keywords
- module
- information
- camera image
- processing
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Advance Control (AREA)
Abstract
【課題】所望される処理を出来るだけ実行しつつ、ハードウェアリソースに対する負荷の増大を抑制可能な情報処理装置を提供する。【解決手段】情報処理装置は、入力された情報に基づく一連の処理を順次実行する先頭モジュールから後尾モジュールを含む複数のモジュールを有する情報処理装置であって、後尾モジュールは、先頭モジュールに入力され、かつ、後尾モジュールによる処理が終了していない情報の数を表すカウント値を記憶し、複数のモジュールの何れかである判定モジュールは、先頭モジュールに新しく情報が入力された時、後尾モジュールのカウント値に基づいて、先頭モジュールに新しく入力された情報を処理するか又は廃棄するかを決定する情報処理装置。【選択図】図7
Description
本発明は、情報処理装置に関する。
自動制御による車両の運転を実現するために、電子制御装置(Electronic Control Unit:ECU)が車両に搭載されている。ECUは、車両の現在位置と、車両の目的地と、地図情報とに基づいて、車両の走行予定経路を生成して、車両が、車両と他の車両との間に安全な距離が維持されるように、この走行予定経路に沿って走行するように車両の走行を制御する。
このようなECUの動作は、ECUに組み込まれたアプリケーションが実行されることにより実現される。アプリケーションは、複数のモジュールを有しており、各モジュールが協働して動作することにより、アプリケーションの処理が実現される。
例えば、特許文献1に記載の画像処理装置は、複数の処理を並列に行う画像処理装置であって、この複数の処理の各々を1ライン毎に行い、動作終了を示す信号を発生する機能を持つ複数の処理ユニットと、すべての複数の処理ユニットの動作終了を示す信号を受けて、すべての処理ユニットの動作終了を確認すると、すべての複数の処理ユニットに対し、次のラインの処理の動作開始を指示するコントローラとを有する。
特許文献1に記載の画像処理装置は、すべての処理ユニットの動作終了が確認された後、次のラインの処理の動作開始を指示するので、画像の1ラインが画像処理装置に入力される間隔が、複数の処理ユニットによる画像の1ラインの処理時間よりも短い場合には対応していない。
仮に、複数の処理ユニットが直前に入力された1ラインの処理が終わる前に、新しく入力された1ラインの処理を同時に行うとした場合、CPUなどのハードウェアリソースに対する負荷が増大するので、処理時間が通常よりも増大するという問題が生じる。
そこで、本発明は、所望される処理を出来るだけ実行しつつ、CPUなどのハードウェアリソースに対する負荷の増大を抑制できる情報処理装置を提供することを目的とする。
一の実施形態によれば、情報処理装置が提供される。この情報処理装置は、入力された情報に基づく一連の処理を順次実行する先頭モジュールから後尾モジュールを含む複数のモジュールを有する情報処理装置であって、後尾モジュールは、先頭モジュールに入力され、かつ、後尾モジュールによる処理が終了していない情報の数を表すカウント値を記憶し、複数のモジュールの何れかである判定モジュールは、先頭モジュールに新しく情報が入力された時、後尾モジュールのカウント値に基づいて、先頭モジュールに新しく入力された情報を処理するか又は廃棄するかを決定する。
本発明に係る情報処理装置は、所望される処理を出来るだけ実行しつつ、CPUなどのハードウェアリソースに対する負荷の増大を抑制できるという効果を奏する。
以下、図を参照しつつ、本実施形態の情報処理装置について説明する。この情報処理装置は、入力された情報に基づく一連の処理を順次実行する先頭モジュールから後尾モジュールを含む複数のモジュールを有する。この情報処理装置では、後尾モジュールは、先頭モジュールに入力され、かつ、後尾モジュールによる処理が終了していない情報の数を表すカウント値を記憶し、複数のモジュールの何れかである判定モジュールは、先頭モジュールに新しく情報が入力された時、後尾モジュールのカウント値に基づいて、先頭モジュールに新しく入力された情報を処理するか又は廃棄するかを決定する。これにより、情報処理装置は、所望される処理を出来るだけ実行しつつ、CPUなどのハードウェアリソースに対する負荷の増大を抑制できる。
図1は、情報処理装置が実装される車両制御システムの概略構成図である。図2は、情報処理装置の一つの実施形態である電子制御装置のハードウェア構成図である。
本実施形態では、車両10に搭載され、且つ、車両10を制御する車両制御システム1は、車両の前方の画像を撮影するカメラ11と、車両10の前に配置されるLiDARセンサ12とを有する。また、車両制御システム1は、測位情報受信機13と、地図情報を記憶する地図情報記憶装置14と、ナビゲーション装置15と、情報処理装置の一例である電子制御装置(ECU)16とを有する。
カメラ11と、LiDARセンサ12と、測位情報受信機13と、地図情報記憶装置14と、ナビゲーション装置15と、ECU16とは、コントローラエリアネットワークといった規格に準拠した車内ネットワークを介して通信可能に接続される。
カメラ11は、車両10の前方を向くように、例えば、車両10の車室内に取り付けられる。カメラ11は、所定の周期で設定されるカメラ画像取得時刻において、車両10の前方の所定の領域が表されたカメラ画像を生成する。生成されたカメラ画像には、車両10の周囲の他の車両又は車両10の前方の所定の領域内に含まれる路面上の車線区画線などの地物が表わされる。カメラ11により生成される画像は、カラー画像であってもよく、又は、グレー画像であってもよい。カメラ11は、撮像部の一例であり、CCDあるいはC−MOSなど、可視光に感度を有する光電変換素子のアレイで構成された2次元検出器と、その2次元検出器上に撮影対象となる領域の像を結像する撮像光学系を有する。カメラ11は、カメラ画像を生成する度に、カメラ画像及びカメラ画像を生成したカメラ画像取得時刻を、センサの一例であるカメラ11を識別するセンサ識別情報と共に、車内ネットワークを介してECU16へ出力する。カメラ画像は、ECU16において、車両の位置を推定する処理に使用されるのと共に、車両10の周囲の他の物体を検出する処理に使用される。
LiDARセンサ12は、車両10の前方を向くように、例えば、車両10の外面に取り付けられる。LiDARセンサ12は、所定の周期で設定される反射波情報取得時刻において、車両10の前方に向けてパルス状のレーザを同期して発射して、反射物により反射された反射波を受信する。LiDARセンサ12の視野は、カメラ画像に含まれる車両10の前方の所定の領域を含む。反射波が戻ってくるのに要する時間は、レーザが照射された方向に位置する地物と車両10との間の距離情報を有する。LiDARセンサ12は、レーザの照射方向及び反射波が戻ってくるのに要する時間を含む反射波情報を、レーザを発射した反射波情報取得時刻と、センサの一例であるLiDARセンサ12を識別するセンサ識別情報と共に、車内ネットワークを介してECU16へ出力する。反射波情報は、ECU16において、車両10の周囲の他の物体を検出する処理に使用される。本実施形態では、カメラ画像取得時刻と、反射波情報取得時刻とは同期しているとする。
測位情報受信機13は、車両10の現在位置を表す測位情報を出力する。例えば、測位情報受信機13は、GPS受信機とすることができる。測位情報受信機13は、所定の受信周期で測位情報を取得する度に、測位情報及び測位情報を取得した測位情報取得時刻を、地図情報記憶装置14へ出力する。
地図情報記憶装置14は、車両10の現在位置を含む相対的に広い範囲(例えば10〜30km四方の範囲)の広域地図情報を記憶する。この広域地図情報は、路面の3次元情報、道路上の車線区画線などの地物、構造物の種類及び位置を表す情報、道路の法定速度などを含む高精度地図情報であることが好ましい。地図情報記憶装置14は、測位情報受信機13から測位情報を入力する度に、記憶装置に記憶している広域地図情報を参照して、測位情報により表される現在位置を含む相対的に狭い領域(例えば、100m〜10km四方の範囲)の地図情報、測位情報及び測位情報取得時刻を、車内ネットワークを介してECU16へ出力する。
ナビゲーション装置15は、ナビゲーション用地図情報と、車両10の目的地と、車両10の現在位置とに基づいて、車両10の現在位置から目的地までの走行予定経路を生成する。ナビゲーション装置15は、走行予定経路を生成する度に、その走行予定経路を、車内ネットワークを介してECU16へ出力する。
ECU16は、車両10の走行を制御する。本実施形態では、ECU16は、入力された情報に基づく一連の処理を順次実行する先頭モジュールから後尾モジュールを含む複数のモジュールと、複数のモジュールの処理を制御する制御部と、を有する。制御部は、例えば、オペレーティングシステム(OS)上で動作するミドルウェアにより実装され、モジュールは、例えば、OS上でミドルウェアを介して動作して、情報処理アプリケーションの機能を実現するプログラムを用いて実装される。後尾モジュールは、先頭モジュールに入力され、かつ、後尾モジュールによる処理が終了していない情報の数を表すカウント値を記憶し、複数のモジュールの何れかである判定モジュールは、先頭モジュールに新しく情報が入力された時、後尾モジュールのカウント値に基づいて、先頭モジュールに新しく入力された情報を処理するか又は廃棄するかを決定する。そのために、ECU16は、通信インターフェース21と、メモリ22と、プロセッサ23とを有する。
通信インターフェース(I/F)21は、通信部の一例であり、ECU16を車内ネットワークに接続するためのインターフェース回路を有する。すなわち、通信インターフェース21は、車内ネットワークを介して、カメラ11、地図情報記憶装置14などと接続される。通信インターフェース21は、例えば、カメラ11からカメラ画像、センサ識別情報及びカメラ画像取得時刻を受信する度に、受信したカメラ画像、センサ識別情報及びカメラ画像取得時刻をプロセッサ23へわたす。また、通信インターフェース21は、Lidarセンサ12から反射波情報、センサ識別情報及び反射波情報取得時刻を受信する度に、受信した反射波情報、センサ識別情報及び反射波情報取得時刻をプロセッサ23へわたす。
メモリ22は、記憶部の一例であり、例えば、揮発性の半導体メモリ及び不揮発性の半導体メモリを有する。そしてメモリ22は、ECU16のプロセッサ23により実行される情報処理において使用されるアプリケーションのプログラム(アプリケーションの複数のモジュールを含む)及び各種のデータ、カメラ11及びLidarセンサ12の光軸方向及び取り付け位置などの設置位置情報、カメラ11の撮像光学系の焦点距離及び画角といった内部パラメータなどを記憶する。
プロセッサ23は、1個又は複数個のCPU(Central Processing Unit)及びその周辺回路を有する。プロセッサ23は、論理演算ユニット、数値演算ユニットあるいはグラフィック処理ユニットといった他の演算回路をさらに有していてもよい。プロセッサ23が複数個のCPUを有する場合、CPUごとにメモリを有していてもよい。
プロセッサ23は、カメラ11が生成した画像と、地図情報とに基づいて、この画像が生成されたカメラ画像取得時刻における車両10の位置を推定する位置推定処理を実行し、カメラ画像取得時刻における車両10の位置に基づいて、車両10の現在位置を推定する。また、プロセッサ23は、カメラ画像及び反射波情報に基づいて、車両10の周囲の他の物体及び他の物体の位置を検出する物体検出処理を実行する。他の物体には、車両10の周囲を走行する他の車両が含まれる。さらに、プロセッサ23は、車両10の推定位置と、車両10の目的地と、車両10の周囲の他の物体との相対的な位置関係とに基づいて運転計画を生成する運転計画生成処理を実行し、この運転計画に基づいて車両10の走行動作を制御するための制御信号を生成する車両制御処理を実行する。この制御信号に基づいて、車両10の操舵、加速又は制動が制御される。
図3は、本実施形態の情報処理に関する、ECU16のプロセッサを説明する図である。プロセッサ23には、位置推定処理及び物体検出処理の一部を実行する画像処理アプリケーション33と、位置推定処理及び物体検出処理の他の処理、運転計画生成処理及び車両制御処理などを実行する他のアプリケーション34と、ミドルウェア32と、OS31とが実装される。画像処理アプリケーション33及び他のアプリケーション34は、制御部の一例であるミドルウェア32を介して、OS31上で動作する。OS31と、ミドルウェア32と、画像処理アプリケーション33と、他のアプリケーション34とは、OS31が上位層となって下位層の動作を制御する階層構造30を形成する。画像処理アプリケーション33は、入力された情報に基づく一連の処理を順次実行するモジュール41〜モジュール47を有する。モジュール41〜モジュール47は、制御部の一例であるミドルウェア32を介して、OS31上で動作する。ミドルウェア32は、モジュール41〜モジュール47の動作を制御する。
図4は、画像処理アプリケーションが有する複数のモジュールを説明する図である。モジュール41は、先頭モジュールの一例であり、画像処理アプリケーション33に対して新しい情報の一例であるカメラ画像がECU16にわたされた時に、このカメラ画像が最初に入力される。モジュール47は、後尾モジュールの一例であり、モジュール43及びモジュール46のそれぞれから入力されたカメラ画像を処理した処理結果を、後続の他のアプリケーション34の処理に対応する形式に変換して出力する。モジュール41とモジュール47との間には、モジュール42からモジュール43へと一連の処理を順次実行する流れと、モジュール44、モジュール45、モジュール46の順番に一連の処理を実行する流れとがある。
図5(A)は、モジュール41の構造を説明する図であり、図5(B)は、モジュール47の構造を説明する図である。本実施形態において、モジュール41は、判定モジュールの一例であり、判定処理部50と、キュー部51と、処理部52とを有する。モジュール47は判定処理部50を有さない点及びカウンタ53を有する点が、モジュール41とは異なっている。他のモジュール42〜46は、キュー部51及び処理部52有し、判定処理部50及びカウンタ53を有さない。キュー部51は、モジュール41〜47に入力した情報を、入力した順番にm(mは1以上の整数)個の情報まで記憶して、先に入力した情報から順番に処理部52へ出力する。処理部52は、キュー部51から情報を入力して、モジュールごとの所定の処理を実行する。図5(A)及び図5(B)に示す例では、キュー部51は、情報nを入力した時、情報n−mから情報n−1までのm個の情報を記憶しており、処理部52は、情報n−m−1の処理を行っている。また、処理部52は、直前に情報n−m−2の処理を終了して、後続のモジュール又は他のアプリケーションへこの情報n−m−2を出力している。カウンタ53は、判定処理に使用される値を記憶する。カウンタ53は、初期値として基準値(例えば、0)となる値を記憶する。カウンタ53が記憶する値は、モジュール41及びモジュール47によって操作される。
モジュール41は、カメラ11が生成したカメラ画像に対して画像前処理を実行する。モジュール41は、画像前処理として、カメラ画像の色座標系及びサイズを後続のモジュール42及びモジュール44の処理に対応する形式の色座標系及びサイズに変換する。モジュール41は、画像前処理が行われたカメラ画像を、センサ識別情報及びカメラ画像取得時刻と共に、モジュール42及びモジュール44へ出力する。モジュール41は、このモジュール41に新しくカメラ画像が入力される度に、モジュール47のカウンタ53のカウント値を所定量だけ変更し(例えば、1だけ増加する)。また、モジュール41の判定処理部50は、画像処理アプリケーションに対して新しいカメラ画像がわたされた場合、この新しいカメラ画像を処理するか否かに関する判定処理を実行する。この判定処理については、後でさらに詳述する。
モジュール42は、モジュール41から出力されたカメラ画像から他の物体を含むと推定される矩形領域の位置及びその種類を検出して、この検出結果をセンサ識別情報及びカメラ画像取得時刻と共に、モジュール43へ出力する。モジュール42は、例えば、カメラ画像を識別器に入力することでカメラ画像に表された物体を検出する。識別器として、例えば、入力された画像から、その画像に表された物体を検出するように予め学習されたディープニューラルネットワーク(DNN)を用いることができる。モジュール42は、DNN以外の識別器を用いてもよい。
モジュール43は、オプティカルフローなどに基づく追跡処理に従って、モジュール41から出力された直前のカメラ画像から検出された他の物体を過去のカメラ画像から検出された物体と対応付けることで、最新のカメラ画像から検出された他の物体を追跡する。モジュール43は、直前のカメラ画像から検出された他の物体と、最新のカメラ画像から検出された他の物体とを関連付けた情報を、センサ識別情報及びカメラ画像取得時刻と共に、モジュール41から通知された検出結果と共に、モジュール47へ出力する。
モジュール44は、モジュール41から出力されたカメラ画像から路面上の地物と推定される領域の位置及びその地物の種類を検出して、この検出結果をセンサ識別情報及びカメラ画像取得時刻と共に、モジュール45へ出力する。地物としては、例えば、路面、路面標識、車線区画線、中央分離帯、歩道などが含まれる。モジュール44は、例えば、カメラ画像を識別器に入力することでカメラ画像に表された地物を検出する。識別器として、例えば、入力された画像から、その画像内の地物の領域を検出(画像セグメンテーション)するように予め学習されたディープニューラルネットワーク(DNN)を用いることができる。モジュール42は、DNN以外の識別器を用いてもよい。
モジュール45は、モジュール44から出力された検出結果に基づいて、カメラ画像から車線区画線の領域を表すポリラインを生成して、画像座標系でポリラインの位置を表す位置情報をセンサ識別情報及びカメラ画像取得時刻と共に、モジュール46へ出力する。この画像座標系では、カメラ画像の左上の端が原点となり、原点から右側の方向にXi軸が設定され、原点から下側の方向にYi軸が設定される。
モジュール46は、モジュール45から出力された画像座標系で表されたポリラインの位置情報を、車両座標系で表された実空間の位置情報に変換し、この車両座標系で表されたポリラインの位置情報をセンサ識別情報及びカメラ画像取得時刻と共に、モジュール47へ出力する。車両座標系は、車両10の進行方向をZc軸とし、Zc軸と直交し、かつ、地面に平行な方向をXc軸とし、鉛直方向をYc軸とし、原点は、車両10の後輪軸の中央にある。
モジュール47は、上述したように、モジュール43及びモジュール46のそれぞれから通知されたカメラ画像に関する情報を、後続の他のアプリケーション34に対応する形式(例えば、色座標系及びサイズ)に変換して、センサ識別情報及びカメラ画像取得時刻と共に、他のアプリケーション34へ通知する。モジュール47は、モジュール47に入力されたカメラ画像に基づく処理を終了する度に、モジュール47のカウンタ53のカウント値をモジュール41が変更する方向とは逆の方向に、先頭モジュールと同じ所定量だけ変更する(例えば、1だけ低減する)。
プロセッサ23に実装される他のアプリケーション34は、画像処理アプリケーション33から通知されたポリラインを示す位置情報と、地図情報とに基づいて、車両10の位置を推定する。また、他のアプリケーション34は、画像処理アプリケーション33から通知された他の物体の検出結果と、反射波情報とに基づいて、他の物体の位置を推定する。そして、他のアプリケーション34は、車両10の推定位置と、他の物体に関する情報と、走行予定経路と、地図情報とに基づいて運転計画を生成して、この運転計画に基づいて制御信号を生成する。
図6は、画像処理アプリケーションの動作を説明する図である。所定の周期で設定されるカメラ画像取得時刻T1、T2ごとに生成されるカメラ画像は、センサ識別情報及びカメラ画像取得時刻と共に、ECU16へわたされると、ミドルウェア32は、カメラ画像を、センサ識別情報及びカメラ画像取得時刻と共に、画像処理アプリケーション33のモジュール41へ入力する。そして、図6に示すように、モジュール41〜47は、カメラ画像に基づく一連の処理を順次実行する。図6中では、各モジュール41〜47の処理時間が、横長のバーで表されている。モジュール41〜47がカメラ画像に基づく処理を実行するのに要する時間の合計は、通常のECU16の処理負荷の状況においては、カメラ画像取得時刻の一周期以下となるように設計されている。一方、他のアプリケーション34の処理負荷の状況に応じてECU16のハードウェアリソースに対する負荷が増大すると、モジュール41〜47がカメラ画像に基づく処理を実行するのに要する時間が、通常よりも長くなる。そのため、画像処理アプリケーション33に対して新しくカメラ画像が通知された時点で、画像処理アプリケーション33が直前に通知されたカメラ画像に基づく処理が終了していない場合が発生し得る。そこで、モジュール41は、モジュール41に対して新しいカメラ画像が入力された場合、この新しいカメラ画像を処理するか否かに関する判定処理を実行する。モジュール47のカウンタ53のカウント値は、モジュール41に入力されたカメラ画像の数から、モジュール47が処理を終了したカメラ画像の数を差し引いた値を有する。即ち、カウンタ53のカウント値は、未処理のカメラ画像の数を表す。モジュール41は、そのモジュール41に新しくカメラ画像が入力された時、画像処理アプリケーション33が過去に入力されたカメラ画像の処理を終了しているか否かを、モジュール47のカウンタ53のカウント値に基づいて判定できる。また、モジュール41は、カウント値に基づいて、未処理のカメラ画像がどれだけ有るのかを知ることができる。そこで、モジュール41は、モジュール41に新しくカメラ画像が入力された時、モジュール47のカウンタ53のカウント値に基づいて、モジュール41に新しく入力されたカメラ画像を処理するか又は廃棄するかを決定する。これにより、画像処理アプリケーション33は、所望される処理を出来るだけ実行しつつ、CPUなどのハードウェアリソースに対する負荷の増大を抑制できる。なお、判定処理は、モジュール41以外の他のモジュール、例えばモジュール42が有していてもよい。この場合、カメラ画像がECU16へわたされると、ミドルウェア32は、このカメラ画像を画像処理アプリケーション33の先頭モジュールであるモジュール41及び判定処理を行うモジュール42へ入力する。また、判定モジュールは、モジュール41〜47とは別のモジュールとして配置されていてもよい。
次に、図6及び図7を参照して、新しいカメラ画像が入力された時のモジュール41の判定処理部50の第1動作例を、以下に説明する。図6に示す例では、画像処理アプリケーション33は、カメラ画像取得時刻T1において、カメラ画像1がわたされて、モジュール41〜47は、カメラ画像T1に基づく処理を順次実行する。モジュール47は、カメラ画像T1に基づく処理が終了すると、モジュール47のカウンタ53のカウント値はゼロとなる。そして、画像処理アプリケーション33は、カメラ画像取得時刻T2において、カメラ画像2がわたされて、モジュール41は、新しいカメラ画像2を処理するか又は廃棄するかの決定処理を実行する。
まず、ステップS101において、モジュール41には、新しいカメラ画像2が入力される。
次に、ステップS102において、モジュール41の判定処理部50は、モジュール41に新しくカメラ画像が入力される度に、モジュール47のカウンタ53のカウント値を所定量(例えば、+1)だけ変更する。具体的には、判定処理部50は、モジュール41に新しくカメラ画像2が入力されると、カウンタ53のカウント値を基準値であるゼロから+1だけ増加させて、カウンタ53のカウント値は+1となる。
次に、ステップS103において、判定処理部50は、モジュール47のカウンタ53のカウント値に基づいて、モジュール47は、過去に入力されたカメラ画像の処理が終了しているか否かを判定する。具体的には、判定処理部50は、カウンタ53のカウント値が、所定のしきい値(例えば、+1)よりも大きいか否かを判定する。判定処理部50は、カウンタ53のカウント値が、所定のしきい値よりも大きい場合(ステップS103−Yes)、モジュール47は、未処理の情報を有しているので、過去に入力されたカメラ画像の処理が終了していないと判定する。一方、カウンタ53のカウント値が、所定のしきい値以下の場合(ステップS103−No)、判定処理部50は、モジュール47が過去に入力されたカメラ画像の処理が終了していると判定する。ステップS102において、判定処理部50がモジュール47のカウンタ53のカウント値を増加する所定量と、モジュール47がカメラ画像に基づく処理が終了した時にカウンタ53を低減する所定量とが共に1の場合、カウンタ53の値は、未処理のカメラ画像の数を表す。また、未処理のカメラ情報があっても、未処理のカメラ画像の数が少ない場合には、残りのカメラ画像の処理がまもなく終了すると推定されるので、所定のしきい値は、+1よりも大きい値(例えば、2〜4)であってもよい。
図6に示す例では、判定処理部50は、カウンタ53のカウント値が、所定のしきい値(例えば、+1)以下(ステップS103−No)なので、過去に入力されたカメラ画像の処理が終了していると判定する。
次に、ステップS104において、判定処理部50は、新しく入力されたカメラ画像2を処理することを決定する(ステップS104)。判定処理部50は、カメラ画像2をキュー部51へ出力し、キュー部51はカメラ画像2を処理部52へ出力し、処理部52は、カメラ画像2の画像前処理を実行する。以上が、第1動作例の説明である。
次に、図7及び図8を参照して、新しいカメラ画像2が入力された時のモジュール41の判定処理部50の第2動作例を、以下に説明する。図8は、画像処理アプリケーションの他の動作を説明する図である。図8に示す例では、画像処理アプリケーション33は、カメラ画像取得時刻T1において、カメラ画像1が通知されて、モジュール41〜47は、カメラ画像T1に基づく処理を実行する。そして、画像処理アプリケーション33は、カメラ画像取得時刻T2において、カメラ画像2がわたされる。カメラ画像2がわたされた時に、モジュール47は、カメラ画像1に基づく処理を実行中である。そして、モジュール41は、新しいカメラ画像2を処理するか又は廃棄するかの決定処理を実行する。
まず、ステップS101において、モジュール41には、図8に示すように、新しいカメラ画像2が入力される。
次に、ステップS102において、モジュール41の判定処理部50は、モジュール41に新しくカメラ画像2が入力されると、モジュール47のカウンタ53のカウント値を所定量だけ変更する。例えば、判定処理部50は、カウンタ53のカウント値を+1から+1だけ増加させて、カウンタ53のカウント値は+2となる。
次に、ステップS103において、判定処理部50は、モジュール47のカウンタ53のカウント値に基づいて、モジュール47は、過去に入力されたカメラ情報の処理が終了しているか否かを判定する。具体的には、図8に示す例では、モジュール47のカウント値は+2であり、カウンタ53のカウント値が所定のしきい値(+1)よりも大きい(ステップS103−Yes)ので、判定処理部50は、モジュール47は過去に入力されたカメラ情報の処理が終了していないと判定する。
次に、ステップS105において、判定処理部50は、新しく入力されたカメラ画像2を廃棄することを決定する。判定処理部50は、新しく入力されたカメラ画像2を廃棄することを決定した場合、この廃棄することを表すエラーメッセージを生成して、モジュール41のキュー部51に入力する。エラーメッセージは、カメラ画像2と共にモジュール1に入力されたセンサ識別情報及びカメラ画像取得時刻を含む。エラーメッセージは、モジュール41からモジュール42へ出力されて、さらにモジュール43からモジュール47へ出力される。同様に、エラーメッセージは、モジュール41からモジュール44へ出力されて、さらにモジュール44と、モジュール45と、モジュール46と、モジュール47とに順番に出力される。最後に、カメラ画像2を廃棄することを示すエラーメッセージは、モジュール47から他のアプリケーション34へ通知される。これにより、他のアプリケーション34は、センサ識別情報及びカメラ画像取得時刻により識別されるカメラ画像は廃棄されたことが通知される。なお、モジュール41〜モジュール47は、処理中に異常が生じた場合、この異常を表すエラーメッセージを生成して、各モジュールの処理結果と共に、後続するモジュールへ出力するようにしてもよい。この異常を表すエラーメッセージは、処理結果と共に、モジュール47から他のアプリケーション34へ通知される。
以上に説明してきたように、この情報処理装置は、この情報処理装置は、入力された情報に基づく一連の処理を順次実行する先頭モジュールから後尾モジュールを含む複数のモジュールを有する。この情報処理装置では、後尾モジュールは、先頭モジュールに入力され、かつ、後尾モジュールによる処理が終了していない情報の数を表すカウント値を記憶し、複数のモジュールの何れかである判定モジュールは、先頭モジュールに新しく情報が入力された時、後尾モジュールのカウント値に基づいて、先頭モジュールに新しく入力された情報を処理するか又は廃棄するかを決定する。これにより、情報処理装置は、カウント値に基づいて、新しく入力した情報を処理するかまたは廃棄するかを判定して、新しく入力した情報の一部を廃棄することにより、所望される処理を出来るだけ実行しつつ、CPUなどのハードウェアリソースに対する負荷の増大を抑制して、直前に入力された情報を予定通りの時間で処理することができる。また、情報処理装置は、カウント値に基づいて、情報処理装置に過去に入力された情報の中で処理が終了していない情報の数を知ることができる。
次に、上述した情報処理装置の変型例を、図9を参照しながら、以下に説明する。
図9は、変型例の画像処理アプリケーションが有する複数のモジュールを説明する図である。本変型例の情報処理装置では、モジュール47がなく、その代わりに、モジュール43及びモジュール46が、後尾モジュールの一例であり、モジュール47の機能を有している点が上述した実施形態とは異なっている。モジュール43及びモジュール46は、図5(B)に示すように、キュー部51と、処理部52と、カウンタ53とを有する。
モジュール41は、先頭モジュール及び判定モジュールの一例であり、画像処理アプリケーションに対して新しい情報の一例であるカメラ画像がECU16にわたされた時に、このカメラ画像が最初に入力される。モジュール41は、このモジュール41に新しくカメラ画像が入力される度に、後尾モジュールごと(モジュール43及びモジュール46のそれぞれ)のカウンタ53のカウント値を所定量だけ変更する(例えば、1だけ増加する)。
モジュール43は、モジュール42から入力されたカメラ画像を処理した処理結果に基づいて追跡処理を行った処理結果を、後続の他のアプリケーション34の処理に対応する形式に変換して出力する。モジュール43は、モジュール43に入力されたカメラ画像に基づく処理を終了する度に、モジュール43のカウンタ53のカウント値をモジュール41とは逆の方向に所定量だけ変更する(例えば、1だけ低減する)。
モジュール46は、モジュール45から入力されたポリラインの位置情報を、車両座標系で表された実空間の位置情報に変換して処理結果を、後続の他のアプリケーション34の処理に対応する形式に変換して出力する。モジュール46は、モジュール46に入力されたカメラ画像に基づく処理を終了する度に、モジュール46のカウンタ53のカウント値をモジュール41とは逆の方向に所定量だけ変更する(例えば、1だけ低減する)。
モジュール41の判定処理部50は、モジュール41に新しくカメラ画像が入力された時、後尾モジュールごと(モジュール43及びモジュール46のそれぞれ)のカウンタ53のカウント値に基づいて、モジュール41に新しく入力されたカメラ画像を処理するか又は廃棄するかを決定する。判定処理部50は、モジュール43及びモジュール46の中の何れか一方のカウンタ53のカウント値が、所定のしきい値よりも大きい場合、画像処理アプリケーション33は過去に入力されたカメラ画像に基づく処理を終了していないと判定する。そして、判定処理部50は、モジュール41に新しく入力されたカメラ画像を廃棄することを決定する。一方、判定処理部50は、モジュール43及びモジュール46の両方のカウンタ53のカウント値が所定のしきい値以下の場合、画像処理アプリケーション33は過去に入力されたカメラ画像に基づく処理が終了していると判定する。そして、判定処理部50は、モジュール41に新しく入力されたカメラ画像を処理することを決定する。本変型例の情報処理装置のその他の構成は、上述した実施形態と同様である。
本発明では、上述した実施形態の情報処理装置は、本発明の趣旨を逸脱しない限り適宜変更が可能である。また、本発明の技術範囲はそれらの実施形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
例えば、本発明では、情報処理装置は、車両制御に関する情報を処理していたが、情報処理装置は、車両制御以外の情報を処理するのに用いられてもよい。
1 車両制御システム
10 車両
11 カメラ
12 Lidarセンサ
13 測位情報受信機
14 地図情報記憶装置
15 ナビゲーション装置
16 電子制御装置(ECU)
21 通信インターフェース
22 メモリ
23 プロセッサ
10 車両
11 カメラ
12 Lidarセンサ
13 測位情報受信機
14 地図情報記憶装置
15 ナビゲーション装置
16 電子制御装置(ECU)
21 通信インターフェース
22 メモリ
23 プロセッサ
Claims (1)
- 入力された情報に基づく一連の処理を順次実行する先頭モジュールから後尾モジュールを含む複数のモジュールを有する情報処理装置であって、
前記後尾モジュールは、前記先頭モジュールに入力され、かつ、前記後尾モジュールによる処理が終了していない情報の数を表すカウント値を記憶し、
前記複数のモジュールの何れかである判定モジュールは、前記先頭モジュールに新しく情報が入力された時、前記後尾モジュールの前記カウント値に基づいて、前記先頭モジュールに新しく入力された情報を処理するか又は廃棄するかを決定する情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020065094A JP2021163263A (ja) | 2020-03-31 | 2020-03-31 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020065094A JP2021163263A (ja) | 2020-03-31 | 2020-03-31 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021163263A true JP2021163263A (ja) | 2021-10-11 |
Family
ID=78004992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020065094A Pending JP2021163263A (ja) | 2020-03-31 | 2020-03-31 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021163263A (ja) |
-
2020
- 2020-03-31 JP JP2020065094A patent/JP2021163263A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112292711B (zh) | 关联lidar数据和图像数据 | |
JP6477882B2 (ja) | 自己位置推定装置及び自己位置推定方法 | |
US10795370B2 (en) | Travel assist apparatus | |
US10776946B2 (en) | Image processing device, object recognizing device, device control system, moving object, image processing method, and computer-readable medium | |
US11443151B2 (en) | Driving assistant system, electronic device, and operation method thereof | |
JP3596339B2 (ja) | 車間距離計測装置 | |
JP2020067698A (ja) | 区画線検出装置及び区画線検出方法 | |
JP6988873B2 (ja) | 位置推定装置および位置推定用コンピュータプログラム | |
CN111989541B (zh) | 立体摄像机装置 | |
JP7081098B2 (ja) | 走行環境認識装置、走行環境認識方法、プログラム | |
JPWO2019123582A1 (ja) | 物体情報生成装置及び物体情報生成プログラム | |
JP7503164B2 (ja) | 地図情報作成方法 | |
JP2021163263A (ja) | 情報処理装置 | |
JP2010223619A (ja) | キャリブレーション装置およびキャリブレーション方法 | |
JP2021163220A (ja) | 情報処理装置 | |
JP7103324B2 (ja) | 物体認識用異常検出装置及び物体認識用異常検出プログラム | |
US20210180960A1 (en) | Road attribute detection and classification for map augmentation | |
EP3540643A1 (en) | Image processing apparatus and image processing method | |
JP7310587B2 (ja) | 測距装置、測距方法、および測距プログラム | |
US20240221219A1 (en) | Method and device for calibrating a camera mounted on a vehicle | |
US20240242609A1 (en) | Parking information processing device, storage medium for storing computer program for processing parking information, method for processing parking information, parking information processing system, and parking information processing server | |
US20240227693A1 (en) | Object detector and method for object detection | |
CN112485807B (zh) | 物体识别装置 | |
JP2021162916A (ja) | 情報処理装置 | |
US20240078814A1 (en) | Method and apparatus for modeling object, storage medium, and vehicle control method |