(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024168332
(43)【公開日】2024-12-05
(54)【発明の名称】プログラム、画像処理装置および画像処理方法
(51)【国際特許分類】
G06T 7/246 20170101AFI20241128BHJP
【FI】
G06T7/246
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023084899
(22)【出願日】2023-05-23
(71)【出願人】
【識別番号】000237592
【氏名又は名称】株式会社デンソーテン
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】木下 翔太
(72)【発明者】
【氏名】垣田 直士
(72)【発明者】
【氏名】河野 貴
(72)【発明者】
【氏名】松本 裕生
(72)【発明者】
【氏名】西島 康崇
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096CA04
5L096EA39
5L096FA05
5L096FA32
5L096FA62
5L096FA64
5L096FA66
5L096FA69
5L096FA77
5L096GA08
5L096GA17
5L096HA05
(57)【要約】
【課題】画像処理によるターゲットの追跡において、ターゲットの遠近に関わらず追跡の精度を安定化させること。
【解決手段】実施形態に係るプログラムは、カメラ画像に対する画像認識によって追跡対象物が存在する部分領域を検出すること、上記部分領域に対し時間方向の平均化処理を行うフィルタを適用すること、上記フィルタを適用する際に前回の平均化処理後の上記部分領域のサイズに応じて上記フィルタの係数を変化させること、をコンピュータに実行させる。
【選択図】
図3
【特許請求の範囲】
【請求項1】
カメラ画像に対する画像認識によって追跡対象物が存在する部分領域を検出すること、
前記部分領域に対し時間方向の平均化処理を行うフィルタを適用すること、
前記フィルタを適用する際に前回の前記平均化処理後の前記部分領域のサイズに応じて前記フィルタの係数を変化させること、
をコンピュータに実行させる、プログラム。
【請求項2】
前記係数を変化させることにおいて、前記平均化処理における平均化の強度を示す強度係数を動的に変化させる、
請求項1に記載のプログラム。
【請求項3】
前記係数を変化させることにおいて、前記強度係数を線形的に変化させる、
請求項2に記載のプログラム。
【請求項4】
前記係数を変化させることにおいて、前記部分領域のサイズが大きいほど前記強度が小さくなるように前記強度係数を変化させる、
請求項3に記載のプログラム。
【請求項5】
前記係数を変化させることにおいて、
予め決められたサイズの範囲における前記部分領域のサイズの位置を示す調整係数を算出し、当該調整係数に基づいて前記強度係数を算出する、
請求項4に記載のプログラム。
【請求項6】
前記係数を変化させることにおいて、前記調整係数に基づいて前記部分領域に関するパラメータごとの前記強度係数を算出する、
請求項5に記載のプログラム。
【請求項7】
前記パラメータは、前記部分領域の中心位置、幅および高さを含む、
請求項6に記載のプログラム。
【請求項8】
前記フィルタは、
前回の前記平均化処理後の前記部分領域からの変化量に対し前記強度係数を乗じて前回の前記平均化処理後の前記部分領域へ加算することによって、今回検出された前記部分領域に対する前記平均化処理を実行する、
請求項6に記載のプログラム。
【請求項9】
画像処理装置であって、コントローラを有し、
前記コントローラは、
カメラ画像に対する画像認識によって追跡対象物が存在する部分領域を検出し、
前記部分領域に対し時間方向の平均化処理を行うフィルタを適用し、
前記フィルタを適用する際に前回の前記平均化処理後の前記部分領域のサイズに応じて前記フィルタの係数を変化させる、
画像処理装置。
【請求項10】
画像処理装置が実行する画像処理方法であって、
カメラ画像に対する画像認識によって追跡対象物が存在する部分領域を検出することと、
前記部分領域に対し時間方向の平均化処理を行うフィルタを適用することと、
前記フィルタを適用する際に前回の前記平均化処理後の前記部分領域のサイズに応じて前記フィルタの係数を変化させることと、
を含む、画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
開示の実施形態は、プログラム、画像処理装置および画像処理方法に関する。
【背景技術】
【0002】
従来、車両から撮影したカメラ画像に対するAI(Artificial Intelligence)を用いた画像認識結果に基づき、前方車両等をターゲットとして追跡する画像処理技術が知られている。
【0003】
また、このような画像処理技術において、時間方向における画像認識結果のばらつきを抑えてターゲットを滑らかに追跡するために、平均化フィルタによる時間方向のフィルタリングを行う技術が提案されている(例えば、特許文献1参照)。平均化フィルタには、IIR(Infinite Impulse Response)フィルタ等が用いられる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した従来技術では、平均化フィルタの係数を固定値としているため、車両に対するターゲットの遠近によって追跡の精度にばらつきが出るという問題がある。
【0006】
AIによる画像認識では、ターゲットは矩形の部分領域であるバウンディングボックス(以下、「Bbox」と言う)として検出される。そして、遠方のターゲットは、近傍のターゲットよりも小さいサイズのBboxとして検出される。
【0007】
ここで、仮に前述の係数が近傍のBboxのフレーム間における位置やサイズのばらつきに合わせて予め設計されていた場合、遠方のBboxのばらつきは、平均化の強度が弱すぎて補正しきれずに追跡が行えなくなるおそれがある。一方、係数が遠方のBboxのばらつきに合わせて予め設計されていた場合、近傍のBboxでは平均化の強度が強すぎてフィルタの応答遅延が生じ、追跡の精度が損なわれるおそれがある。
【0008】
実施形態の一態様は、上記に鑑みてなされたものであって、画像処理によるターゲットの追跡において、ターゲットの遠近に関わらず追跡の精度を安定化させることができるプログラム、画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
実施形態の一態様に係るプログラムは、カメラ画像に対する画像認識によって追跡対象物が存在する部分領域を検出すること、前記部分領域に対し時間方向の平均化処理を行うフィルタを適用すること、前記フィルタを適用する際に前回の前記平均化処理後の前記部分領域のサイズに応じて前記フィルタの係数を変化させること、をコンピュータに実行させる。
【発明の効果】
【0010】
実施形態の一態様によれば、画像処理によるターゲットの追跡において、ターゲットの遠近に関わらず追跡の精度を安定化させることができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、既存技術に係る画像処理方法の概要説明図である。
【
図2】
図2は、既存技術に係る平均化処理のブロック図である。
【
図3】
図3は、実施形態に係る平均化処理のブロック図である。
【
図4】
図4は、実施形態に係る画像処理装置の構成例を示す図である。
【
図5】
図5は、変形例に係る画像処理装置の構成例を示す図である。
【
図6】
図6は、実施形態に係る画像処理装置が実行する処理手順を示すフローチャートである。
【
図7】
図7は、実施形態に係るBboxサイズ算出処理の説明図である。
【
図8】
図8は、実施形態に係る調整係数算出処理の説明図である。
【
図9】
図9は、実施形態に係る動的係数算出処理の説明図である。
【
図10】
図10は、近傍のターゲットに対し既存技術および本実施形態を適用した場合のイメージを示す図である。
【
図11】
図11は、遠方のターゲットに対し既存技術および本実施形態を適用した場合のイメージを示す図である。
【
図12】
図12は、既存技術において遠方のターゲットを追跡する場合のイメージを示す図である。
【
図13】
図13は、本実施形態において遠方のターゲットを追跡する場合のイメージを示す図である。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して、本願の開示するプログラム、画像処理装置および画像処理方法の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
【0013】
また、以下では、実施形態に係る画像処理装置10が、車両に搭載される車載装置であるものとする。画像処理装置10は、カメラ画像に対するAIを用いた画像認識によって、画像中の対象物を検出可能に設けられた装置である。本実施形態では、検出する対象物が自車両の前方を走行する前方車両であるものとする。
【0014】
また、以下に説明する実施形態に係る画像処理方法は、画像処理装置10が備えるコントローラ12(
図4参照)が実行するものとする。
【0015】
また、以下では、「所定」との表現は、「予め決められた」と読み替えてもよい。また、「ターゲット」との表現は、「追跡対象物」と読み替えてもよい。また、「トラッキング」との表現は、「追跡」と読み替えてもよい。
【0016】
また、以下では、カメラ画像のnフレーム目(nは1以上の自然数)が「今回」の処理対象に該当するものとする。これに応じ、n-1フレーム目が「前回」の処理対象に該当するものとする。したがって、n+1フレーム目は「次回」に該当する。
【0017】
まず、実施形態に係る画像処理方法の説明に先立って、既存技術に係る画像処理方法の概要について
図1および
図2を用いて説明する。
図1は、既存技術に係る画像処理方法の概要説明図である。
図2は、既存技術に係る平均化処理のブロック図である。
【0018】
図1に示すように、直近の処理対象であるnフレーム目(nは1以上の自然数)のカメラ画像100
nから前方車両をBbox101
nとして検出し、このBbox101
nをフレーム間でトラッキングして逐次車間距離Dを算出する既存技術がある。
【0019】
この既存技術では、時間方向における画像認識結果のばらつきを抑えてターゲットを滑らかに追跡するために、検出されたBbox101nを入力Bbox(n)としたIIRフィルタによる平均化処理を実行する(ステップS2)。
【0020】
平均化処理は、
図2に示すように、1フレーム前の平均化処理後の出力Bbox(n-1)に対する入力Bbox(n)の位置やサイズの各変化量である差分を算出する(図中の「差分算出」参照)。そして、平均化処理は、この差分に対し固定係数を乗じて鈍(なま)らせる(図中の乗算器M1参照)。
【0021】
固定係数は、平均化の強度を重み付けする強度係数であり、予め設計された固定値である。また、平均化処理は、鈍らせた差分を出力Bbox(n-1)に対して加算し(図中の加算器A1参照)、出力Bbox(n)として出力する。
【0022】
図1に示すBbox102
n-2,102
n-1,102
nは、時間方向におけるこの出力Bbox(n)の下端中点(前方車両の路面接地点に相当)の俯瞰視点による軌跡である。既存技術は、このように出力Bbox(n)の特定位置を透視投影変換により俯瞰視点へ変換する視点変換処理を実行する(ステップS3)。そして、既存技術は、視点変換された出力Bbox(n)の特定位置に基づいて車間距離Dを算出する。
【0023】
なお、既存技術は、平均化処理に先立って追跡継続判定処理を実行する(ステップS1)。追跡継続判定処理は、入力Bbox(n)と出力Bbox(n-1)の重なり度合いを判定する。重なり度合いは、IoU(Intersection over Union)である。IoUは、Bbox予測処理が算出する(ステップS4)。
【0024】
追跡継続判定処理は、IoUが0ならば、追跡継続不可であるとしてBbox予測処理によって算出された入力Bbox(n)の予測値を平均化処理へ入力させるいわゆる外挿処理を実行する。
【0025】
しかしながら、既存技術では、上述したように平均化処理の強度係数を固定値としているため、車両Vに対するターゲットの遠近によって追跡の精度にばらつきが出るという問題がある。
【0026】
例えば、遠方のターゲットは、近傍のターゲットよりも小さいサイズのBboxとして検出される。
【0027】
ここで、仮に前述の固定係数が近傍のBboxのフレーム間におけるばらつきに合わせて予め設計されていた場合、遠方のBboxのばらつきは、平均化の強度が弱すぎて補正しきれずに追跡が行えなくなるおそれがある。一方、固定係数が遠方のBboxのばらつきに合わせて予め設計されていた場合、近傍のBboxでは平均化の強度が強すぎてIIRフィルタの応答遅延が生じ、追跡の精度が損なわれるおそれがある。
【0028】
そこで、実施形態に係る画像処理方法では、ステップS2の平均化処理を実行するに際し、前回の平均化処理後のBboxである出力Bbox(n-1)のサイズに応じて平均化処理の強度係数を変化させることとした。
【0029】
図3は、実施形態に係る平均化処理のブロック図である。実施形態に係る画像処理方法では、IIRフィルタによるBboxの平均化処理の際に、出力Bbox(n-1)のサイズに応じて平均化の強度(すなわち、鈍らせの強度)を動的に変化させる。
【0030】
近傍のターゲットは、車両Vに近いほどサイズが大きく、安定したBboxとして検出される。このため、近傍のターゲットは、位置ズレによる影響は小さいと考えられる。したがって、コントローラ12は、相対的に大きいサイズのBboxが検出された場合は、平均化の強度が小さくなるようにIIRフィルタの強度係数を変化させる。
【0031】
一方で、遠方のターゲットは、車両Vに対して遠いほどサイズが小さく、不安定なBboxとして検出される。このため、遠方のターゲットは、位置ズレやサイズ変化による影響は大きいと考えられる。したがって、コントローラ12は、相対的に小さいサイズのBboxが検出された場合は、平均化の強度が大きくなるようにIIRフィルタの強度係数を変化させる。
【0032】
具体的には、
図3に示すように、実施形態に係る画像処理方法では、ステップS2の平均化処理を実行するに際し、Bboxサイズ算出処理(ステップS11)と、調整係数算出処理(ステップS12)と、動的係数算出処理(ステップS13)とを実行する。
【0033】
上述したように、ターゲットの検出においては近傍のものほど大きなBboxで、遠方のものほど小さいBboxでそれぞれ検出されることから、ターゲットの遠近はBboxのサイズによって概ね判断できる。また通常、前方車両のようなターゲットは、フレーム間での急激な移動や急激なサイズの変化はないと見做すことができる。
【0034】
このような特性を利用し、実施形態に係る画像処理方法では、Bboxのサイズに応じて、近傍から遠方にかけてIIRフィルタの強度係数を線形的かつ動的に変化させる。線形的に変化させることで、滑らかで安定したターゲットの追跡が可能となる。また、動的に変化させることで、ターゲットの遠近に関わらずBboxのばらつきを抑えることができる。また、これらにより、正確な車間距離Dを計測することが可能となる。
【0035】
ステップS11のBboxサイズ算出処理では、このような実施形態に係る画像処理方法において、Bboxのサイズを算出する。なお、Bboxサイズ算出処理は、1フレーム目については、入力Bbox(n)のサイズを算出する。また、Bboxサイズ算出処理は、2フレーム目以降については、出力Bbox(n-1)のサイズを算出する。実施形態に係るBboxサイズ算出処理の詳細については、
図7を用いた説明で後述する。
【0036】
ステップS12の調整係数算出処理では、予め決められたサイズの範囲におけるBboxのサイズの位置を示す調整係数を算出する。言い換えれば、調整係数算出処理は、予め決められたサイズの範囲に対するBboxのサイズの比率を示す調整係数を算出する。調整係数は、Bboxのサイズが小さいほど値が大きくなり、Bboxのサイズが大きいほど値が小さくなるように算出される。これにより、予め決められたサイズの範囲におけるBboxのサイズの位置付けに応じた調整係数を算出し、この調整係数に基づいてターゲットのBboxのサイズに適した動的係数を算出することが可能となる。実施形態に係る調整係数算出処理の詳細については、
図8を用いた説明で後述する。
【0037】
ステップS13の動的係数算出処理では、調整係数算出処理において算出された調整係数に基づいてIIRフィルタの強度係数を線形的かつ動的な動的係数として算出する。強度係数は、調整係数に応じて、Bboxのサイズが小さいほど値が大きくなり、Bboxのサイズが大きいほど値が小さくなるように算出される。これにより、ターゲットのBboxのサイズに適した動的係数を都度設定することが可能となる。また、動的係数算出処理は、調整係数に基づいてBboxに関するパラメータごと、例えばBboxの中心位置、幅および高さごとの強度係数を算出する。これにより、ターゲットのBboxを構成するパラメータごとに応じた動的係数を都度設定することが可能となる。実施形態に係る動的係数算出処理の詳細については、
図9を用いた説明で後述する。
【0038】
そして、実施形態に係る画像処理方法において、ステップS2の平均化処理では、動的係数算出処理によって算出された動的係数、入力Bbox(n)および出力Bbox(n-1)を入力とするIIRフィルタによる平均化処理を実行する。
【0039】
すなわち、実施形態に係る平均化処理は、1フレーム前の平均化処理後の出力Bbox(n-1)と入力Bbox(n)との差分を算出し、この差分に対し固定係数ではなく動的係数を乗じて鈍らせる。そして、平均化処理は、鈍らせた差分を出力Bbox(n-1)に対して加算し、出力Bbox(n)として出力する。これにより、ターゲットのBboxのサイズに応じた動的な平均化処理の実行が可能となる。また、ターゲットの遠近に関わらず安定したターゲットの追跡が可能となる。実施形態に係る平均化処理の詳細については、
図6を用いた説明で後述する。
【0040】
このように、実施形態に係る画像処理方法では、コントローラ12が、ステップS2の平均化処理を実行するに際し、前回の平均化処理後のBboxである出力Bbox(n-1)のサイズに応じて平均化処理の強度係数を変化させる。
【0041】
これにより、実施形態に係る画像処理方法によれば、画像処理によるターゲットの追跡において、ターゲットの遠近に関わらず追跡の精度を安定化させることができる。
【0042】
以下、上述した実施形態に係る画像処理方法を適用した画像処理装置10の構成例について、より具体的に説明する。
【0043】
図4は、実施形態に係る画像処理装置10の構成例を示す図である。
図4に示すように、画像処理装置10は、記憶部11と、コントローラ12とを備える。また、画像処理装置10は、カメラ3と、外部装置20とが接続される。
【0044】
カメラ3は、車両Vに搭載され、車両Vの前方を撮像可能に設けられる。なお、カメラ3は、車両Vの前方に限らず、車両Vの全周囲を撮像可能な360度カメラであってもよい。
【0045】
外部装置20は、画像処理装置10からの出力に基づいて所定の情報処理を行うECU(Electronic Control Unit)等の各種装置である。外部装置20は、例えば画像処理装置10から出力される車間距離Dに基づいて車両Vの煽り判定/煽られ判定を行う装置である。外部装置20は、CAN(Controller Area Network)等の車載ネットワークを介して画像処理装置10と接続される。外部装置20は、Bluetooth(登録商標)や、Wi-Fi(登録商標)、UWB(Ultra Wide Band)等を介して無線により画像処理装置10と接続されてもよい。
【0046】
画像処理装置10は、例えば車両Vに搭載されるコンピュータである。画像処理装置10は少なくとも、
図3を用いて説明したステップS11~S13およびステップS2の情報処理を実行する。
【0047】
記憶部11は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の記憶デバイスによって実現される。記憶部11は、コントローラ12が実行する実施形態に係るプログラムを記憶する。また、記憶部11は、コントローラ12が実行する情報処理において用いられる各種の情報を記憶する。
【0048】
記憶部11は、例えば画像認識用のAIモデルを記憶する。また、記憶部11は、上述した調整係数の設定情報や動的係数の算出に用いる各種の閾値情報等を記憶する。
【0049】
コントローラ12は、いわゆるプロセッサに相当する。コントローラ12は、CPU(Central Processing Unit)や、MPU(Micro Processing Unit)や、GPU(Graphics Processing Unit)等によって実現される。コントローラ12は、記憶部11に記憶されている実施形態に係るプログラムを読み込んでRAMを作業領域として実行する。コントローラ12は、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)等の集積回路により実現することもできる。
【0050】
コントローラ12は、
図6のフローチャートに示す処理手順による情報処理を実行する。
図6を用いた説明は後述する。
【0051】
なお、
図4に示すように、カメラ3および画像処理装置10は、ドライブレコーダ1として実現することができる。この場合、カメラ3は、ドライブレコーダ1に搭載されるカメラユニットによって実現される。画像処理装置10は、ドライブレコーダ1に搭載されるマイコンによって実現される。
【0052】
図4に示す構成例は一例であり、この他にも変形例を挙げることができる。
図5は、変形例に係る画像処理装置10の構成例を示す図である。
図5に示すように、画像処理装置10は、画像処理ECU5として実現することができる。この場合、カメラ3は、例えばドライブレコーダ1に搭載されるカメラユニットによって実現される。カメラ3は、ドライブレコーダ1以外の車載カメラユニットによって実現されてもよい。
【0053】
図5の例の場合、カメラ3は、CAN等の車載ネットワークを介して画像処理装置10と接続される。カメラ3は、Bluetoothや、Wi-Fi、UWB等を介して無線により画像処理装置10と接続されてもよい。
【0054】
次に、画像処理装置10のコントローラ12が実行する情報処理の処理手順について、
図6を用いて説明する。
図6は、実施形態に係る画像処理装置10が実行する処理手順を示すフローチャートである。
【0055】
図6に示すように、コントローラ12は、カメラ3からカメラ画像を取得する(ステップS101)。つづいて、コントローラ12は、取得したカメラ画像からターゲットが存在するBboxを検出する(ステップS102)。
【0056】
つづいて、コントローラ12は、
図1を用いて説明した「追跡継続判定処理」を実行する(ステップS103)。追跡継続判定処理では、コントローラ12は、上述したステップS4のBbox予測処理で算出されたIoUを判定する。
【0057】
コントローラ12は、IoUに基づいて追跡継続可能であるか否かを判定する(ステップS104)。コントローラ12は、IoUが0であれば追跡継続不可であると判定し(ステップS104,No)、上述した外挿処理を実行する(ステップS105)。
【0058】
外挿処理では、コントローラ12は、Bbox予測処理によって算出された入力Bbox(n)の予測値を平均化処理へ入力させる。また、コントローラ12は、IoUが0以外であれば追跡継続可能であると判定し(ステップS104,Yes)、ステップS106へ遷移する。
【0059】
そして、コントローラ12は、
図3にも示した「Bboxサイズ算出処理」を実行する(ステップS106)。ここで、
図7は、実施形態に係るBboxサイズ算出処理の説明図である。
【0060】
Bboxサイズ算出処理では、コントローラ12は、
図7に示すように、Bboxの中心位置Pにおける位置P
X,P
Y、幅Wおよび高さHを算出する。本実施形態では、この位置P
X,P
Y、幅Wおよび高さHが、平均化処理におけるフィルタリングの対象となる。
【0061】
なお、コントローラ12は、1フレーム目については、入力Bbox(n)の位置X,Y、幅Wおよび高さHを算出する。また、コントローラ12は、2フレーム目以降については、出力Bbox(n-1)の位置PX,PY、幅Wおよび高さHを算出する。
【0062】
図6の説明に戻る。つづいて、コントローラ12は、
図3にも示した「調整係数算出処理」を実行する(ステップS107)。ここで、
図8は、実施形態に係る調整係数算出処理の説明図である。
【0063】
調整係数算出処理では、コントローラ12は、ステップS106で算出した幅Wおよび高さHのうち例えば小さい方をターゲットのBboxのサイズを示す指標値として選択する。そして、コントローラ12は、その指標値が予め決められたBboxのサイズの範囲においてどの位置に該当するかの比率を調整係数として算出する。
【0064】
図8に示すように、調整係数は、0~1.0の数値範囲で定義される。また、調整係数は、最小値および最大値によって規定されるBboxのサイズの範囲において線形的に、Bboxのサイズが小さいほど値が大きくなるように定義される。式は以下の式(1),(2)のように表される。
【0065】
(1)
Bboxのサイズ=Min(Max(Bboxのサイズ,最小値),最大値)
(2)
調整係数=1.0-(Bboxのサイズ-最小値)/(最大値-最小値)
【0066】
なお、
図8は、最小値=40および最大値=140で規定されるBboxのサイズの範囲において、Bboxのサイズが比較的小さい50である場合に、調整係数が0.9として算出される例を示している。
図8が示す数値の設定例はあくまで一例である。
【0067】
図6の説明に戻る。つづいて、コントローラ12は、
図3にも示した「動的係数算出処理」を実行する(ステップS108)。ここで、
図9は、実施形態に係る動的係数算出処理の説明図である。
【0068】
動的係数算出処理では、コントローラ12は、ステップS107で算出した調整係数を用いて平均化処理におけるIIRフィルタの動的係数を算出する。動的係数算出処理では、コントローラ12は、前述の位置PX,PYおよびサイズ(幅W,高さH)のそれぞれについての動的係数を算出する。
【0069】
コントローラ12は、
図9に示すように、位置P
X,P
Yおよびサイズのそれぞれについて予め設定した第1閾値および第2閾値(第1閾値>第2閾値)の範囲内で動的係数を以下の式(3)~(5)により算出する。なお、
図9が示す数値例はあくまで一例である。
【0070】
(3)
位置PXの動的係数=位置PXの第1閾値-(位置PXの第1閾値-位置PXの第2閾値)*調整係数
(4)
位置PYの動的係数=位置PYの第1閾値-(位置PYの第1閾値-位置PYの第2閾値)*調整係数
(5)
サイズの動的係数=サイズの第1閾値-(サイズの第1閾値-サイズの第2閾値)*調整係数
【0071】
例えば、遠方であるほどターゲットのBboxのサイズは小さくなるので、調整係数算出処理によって算出される調整係数は大きくなる。そして、調整係数が大きいほど動的係数算出処理によって算出される動的係数は小さい方の閾値である第2閾値に近くなるので、平均化の強度(すなわち、鈍らせの強度)は大きくなる。
【0072】
図6の説明に戻る。そして、コントローラ12は、IIRフィルタによる「平均化処理」を実行する(ステップS109)。ステップS109では、コントローラ12は、今回の平均化処理後のBboxとなる出力Bbox(n)の位置P
X,P
Y、幅Wおよび高さHを以下の式(6)~(9)によりそれぞれ算出する。
【0073】
(6)
出力Bbox(n)の位置PX=出力Bbox(n-1)の位置PX+(入力Bbox(n)の位置PX-出力Bbox(n-1)の位置PX)*位置PXの動的係数
(7)
出力Bbox(n)の位置PY=出力Bbox(n-1)の位置PY+(入力Bbox(n)の位置PY-出力Bbox(n-1)の位置PY)*位置PYの動的係数
(8)
出力Bbox(n)の幅W=出力Bbox(n-1)の幅W+(入力Bbox(n)の幅W-出力Bbox(n-1)の幅W)*サイズの動的係数
(9)
出力Bbox(n)の高さH=出力Bbox(n-1)の高さH+(入力Bbox(n)の高さH-出力Bbox(n-1)の高さH)*サイズの動的係数
【0074】
そして、コントローラ12は、
図1にも示した「視点変換処理」を実行する(ステップS110)。視点変換処理では、コントローラ12は、ステップS109から出力される出力Bbox(n)の特定位置を透視投影変換により俯瞰視点へ変換する。そして、コントローラ12は、視点変換された出力Bbox(n)の特定位置に基づいて車間距離Dを算出する。
【0075】
そして、コントローラ12は、外部装置20へステップS110で算出した車間距離Dを出力し(ステップS111)、処理終了であるか否かを判定する(ステップS112)。処理終了を示すイベントは、例えば車両Vの起動終了等である。処理終了を示すイベントは、外挿処理が所定回数以上繰り返された場合を含んでもよい。
【0076】
処理終了でないと判定した場合(ステップS112,No)、コントローラ12は、ステップS101からの処理を繰り返す。また、処理終了であると判定した場合(ステップS112,Yes)、コントローラ12は、処理を終了する。
【0077】
次に、近傍のターゲットおよび遠方のターゲットに対し、それぞれ既存技術および本実施形態を適用した場合のイメージについて、
図10~
図13を用いて説明する。
【0078】
図10は、近傍のターゲットに対し既存技術および本実施形態を適用した場合のイメージを示す図である。また、
図11は、遠方のターゲットに対し既存技術および本実施形態を適用した場合のイメージを示す図である。また、
図12は、既存技術において遠方のターゲットを追跡する場合のイメージを示す図である。また、
図13は、本実施形態において遠方のターゲットを追跡する場合のイメージを示す図である。
【0079】
なお、
図10~
図13において、Bbox101
nは、nフレーム目(すなわち、今回)において検出された入力Bbox(n)に相当する。Bbox102
n-1は、n-1フレーム目(すなわち、前回)において平均化処理後に出力された出力Bbox(n-1)に相当する。
【0080】
Bbox102nは、nフレーム目において平均化処理後に出力される出力Bbox(n)に相当する。Bbox101n+1は、n+1フレーム目(すなわち、次回)において検出される入力Bbox(n)に相当する。
【0081】
まず、近傍のターゲットに対し既存技術および本実施形態を適用した場合、近傍ではAIによる画像認識結果は比較的安定するため、固定係数を用いた場合と動的係数を用いた場合とで目立った大きな違いはほとんど出ない。したがって、
図10に示すように、nフレーム目において平均化処理後に出力されるBbox102
nは、既存技術と本実施形態とでBbox102
n-1に対しほぼ同様に位置およびサイズが変化する。
【0082】
これに対し、遠方のターゲットに対し既存技術を適用した場合、例えば固定係数が小さいと平均化の強度が不足して、
図11の左図に示すようにBbox102
n-1に対するBbox102
nの位置およびサイズの変化量は大きなものとなる。
【0083】
一方、遠方のターゲットに対し本実施形態を適用した場合、Bbox102
n-1のサイズに応じて動的係数は大きくなるように調整される。このため、
図11の右図に示すように、Bbox102
n-1に対するBbox102
nの位置およびサイズの変化量は、既存技術を適用した場合に比べて小さくなる。これにより、出力Bbox(n)の時間方向における急激な変化を抑制することができる。また、それにより、例えば車間距離Dの測定を安定化することができる。
【0084】
また、遠方のターゲットに対し既存技術を適用した場合、
図11の左図に示したようにBbox102
n-1とBbox101
nとで重なりがなければ(すなわち、IoUが0であれば)、上述したように外挿処理が実行される。
【0085】
これに加えて、
図12に示すように、Bbox101
n+1が再度Bbox102
n-1付近で検出されたものとする。この場合、n+1フレーム目においても外挿処理が行われることとなる。外挿処理が繰り返された場合、Bboxは真のターゲットからずれていく可能性が高いため、外挿処理で補正し切れない状態となりターゲットを完全にロストしてしまうおそれがある。
【0086】
これに対し、
図13に示すように、本実施形態を適用した場合、
図12と同様にBbox101
n+1が再度Bbox102
n-1付近で検出されたとしても、Bbox102
nに対するBbox101
n+1のIoUは0以外となる可能性が高い。したがって、本実施形態を適用した場合、外挿処理が行われる機会を減らすことができ、安定したターゲットの追跡を可能にすることができる。
【0087】
上述してきたように、実施形態に係るプログラムは、カメラ画像に対する画像認識によってターゲット(「追跡対象物」の一例に相当)が存在するBbox101n(「部分領域」の一例に相当)を検出すること、Bbox101nに対し時間方向の平均化処理を行うIIRフィルタ(「フィルタ」の一例に相当)を適用すること、IIRフィルタを適用する際に前回の平均化処理後のBbox102n-1のサイズに応じてIIRフィルタの係数を変化させること、をコンピュータに実行させる。これにより、画像処理装置10は、例えばBbox102n-1のサイズに応じて、遠方のターゲットについては平均化の強度を大きくし、近傍のターゲットについては平均化の強度を小さくしつつ、ターゲットを追跡することが可能となる。すなわち、実施形態に係るプログラムを実行する画像処理装置10によれば、画像処理によるターゲットの追跡において、ターゲットの遠近に関わらず追跡の精度を安定化させることができる。
【0088】
なお、上述した実施形態では、ターゲットが前方車両である例を挙げたが、ターゲットは車両に限られない。例えばターゲットは、人物等であってもよい。
【0089】
また、上述した実施形態では、画像処理装置10が車載装置であることとしたが、画像処理装置10は車載装置に限られない。例えば、画像処理装置10は、ユーザが利用するスマートフォンやPC(Personal Computer)等のコンピュータであってもよい。
【0090】
これに伴い、実施形態に係るプログラムは、出力結果として車間距離Dを出力するものに限られず、例えばターゲットの軌跡を出力結果として出力するものであってもよい。同様に、実施形態に係るプログラムは、例えばターゲットを追跡しつつターゲットの様子を逐次表示するビューワーソフト等であってもよい。
【0091】
また、上述した実施形態では、ターゲットのBboxのサイズを示す指標値が、幅Wおよび高さHのうち例えば小さい方であることとしたが、大きい方を選択してもよい。また、この指標値は、ターゲットのBboxの面積であってもよい。
【0092】
また、上述した実施形態では、動的係数を算出する際の第1閾値および第2閾値が、幅Wおよび高さHで共通であることとしたが、幅Wおよび高さHで個別であってもよい。
【0093】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【0094】
1 ドライブレコーダ
3 カメラ
5 画像処理ECU
10 画像処理装置
11 記憶部
12 コントローラ
20 外部装置
D 車間距離
H 高さ
P 中心位置
W 幅