(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024080249
(43)【公開日】2024-06-13
(54)【発明の名称】画像処理プログラム、画像処理方法および画像処理装置
(51)【国際特許分類】
G06T 3/00 20240101AFI20240606BHJP
G06T 1/00 20060101ALI20240606BHJP
G06T 7/00 20170101ALI20240606BHJP
【FI】
G06T3/00 775
G06T1/00 330B
G06T7/00 650B
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022193284
(22)【出願日】2022-12-02
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】山▲崎▼ 周
【テーマコード(参考)】
5B057
5L096
【Fターム(参考)】
5B057AA16
5B057CA08
5B057CA12
5B057CA16
5B057CB08
5B057CB12
5B057CB16
5B057CE09
5B057DA07
5B057DB02
5B057DB09
5B057DC40
5L096BA04
5L096EA35
5L096FA18
5L096FA32
5L096FA33
5L096FA69
5L096KA04
5L096KA15
(57)【要約】
【課題】撮像画像を基に物体検出精度が向上し得る画像を生成する。
【解決手段】画像処理装置1において、処理部2は、撮像画像10を分割した分割領域11~14のうち隣接する分割領域間で境界を挟んで互いに重なり領域が生じるように重なり領域の大きさを決定する。処理部2は、決定された重なり領域の大きさに基づいて、分割領域11~14にそれぞれ対応する部分領域21~24を決定する。処理部2は、撮像画像10から部分領域21~24にそれぞれ対応する部分画像31~34を切り出す。このような部分画像31~34から物体検出が行われることで、物体検出精度を向上させることができる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
コンピュータに、
撮像画像を分割した複数の分割領域のうち隣接する分割領域間で境界を挟んで互いに重なり領域が生じるように前記重なり領域の大きさを決定し、
決定された前記重なり領域の大きさに基づいて、前記複数の分割領域にそれぞれ対応する複数の部分領域を決定し、
前記撮像画像から前記複数の部分領域にそれぞれ対応する複数の部分画像を切り出す、
処理を実行させる画像処理プログラム。
【請求項2】
前記撮像画像には所定の物体が1以上写っており、
前記コンピュータに、前記複数の部分画像のそれぞれから前記所定の物体を検出する処理をさらに実行させる、
請求項1記載の画像処理プログラム。
【請求項3】
前記重なり領域の大きさの決定では、1以上の入力画像から前記所定の物体が検出された検出領域の大きさが記憶された記憶部を参照し、前記検出領域の大きさに基づいて前記重なり領域の大きさを決定する、
請求項2記載の画像処理プログラム。
【請求項4】
前記重なり領域の大きさの決定では、前記記憶部に記憶された前記検出領域の大きさの平均値に基づいて、前記重なり領域の大きさを決定する、
請求項3記載の画像処理プログラム。
【請求項5】
前記複重なり領域の大きさの決定では、前記複数の部分領域のうち隣接する部分領域間で重なる領域の第1の幅を、前記記憶部に記憶された前記検出領域における、前記第1の幅の方向に対する第2の幅の平均値および標準偏差に基づいて決定する、
請求項3記載の画像処理プログラム。
【請求項6】
前記コンピュータに、
前記複数の部分画像のうち第1の部分画像から前記所定の物体が検出された場合、前記第1の部分画像において前記所定の物体が検出された第1の検出領域を、前記第1の部分画像の大きさに対する、前記複数の分割領域のうち前記第1の部分画像に対応する第1の分割領域の大きさの比率で拡大し、拡大された前記第1の検出領域の大きさを前記記憶部に格納する、
処理をさらに実行させる請求項2記載の画像処理プログラム。
【請求項7】
コンピュータが、
撮像画像を分割した複数の分割領域のうち隣接する分割領域間で境界を挟んで互いに重なり領域が生じるように前記重なり領域の大きさを決定し、
決定された前記重なり領域の大きさに基づいて、前記複数の分割領域にそれぞれ対応する複数の部分領域を決定し、
前記撮像画像から前記複数の部分領域にそれぞれ対応する複数の部分画像を切り出す、
処理を実行させる画像処理方法。
【請求項8】
撮像画像を分割した複数の分割領域のうち隣接する分割領域間で境界を挟んで互いに重なり領域が生じるように前記重なり領域の大きさを決定し、決定された前記重なり領域の大きさに基づいて、前記複数の分割領域にそれぞれ対応する複数の部分領域を決定し、前記撮像画像から前記複数の部分領域にそれぞれ対応する複数の部分画像を切り出す処理部、
を有する画像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理プログラム、画像処理方法および画像処理装置に関する。
【背景技術】
【0002】
近年、カメラを用いて監視対象の領域を撮像し、撮像した画像を画像処理して所望の物体を検出する技術が普及している。また、このような物体検出技術として、機械学習手法を用いた技術も普及している。
【0003】
監視に用いられるカメラの画素数が増大する傾向にあるため、物体検出処理で取り扱い可能な画素数を大きく上回る場合がある。この場合に、例えば、物体検出処理で取り扱い可能な画素数まで撮像画像を縮小すると、元の撮像画像上に写っていた物体の大きさが縮小画像上で小さくなってしまい、縮小画像からその物体が検出されないケースが生じる。このような問題に対して、撮像画像を複数の分割画像に分割し、各分割画像から物体検出を行う技術が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2022-101321号公報
【特許文献2】特開2013-41481号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、上記のように撮像画像を分割して物体検出を行う場合には、分割画像間の境界にまたがって位置する物体を検出することが難しいという問題がある。
1つの側面では、本発明は、撮像画像を基に物体検出精度が向上し得る画像を生成可能な画像処理プログラム、画像処理方法および画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
1つの案では、コンピュータに、撮像画像を分割した複数の分割領域のうち隣接する分割領域間で境界を挟んで互いに重なり領域が生じるように重なり領域の大きさを決定し、決定された重なり領域の大きさに基づいて、複数の分割領域にそれぞれ対応する複数の部分領域を決定し、撮像画像から複数の部分領域にそれぞれ対応する複数の部分画像を切り出す、処理を実行させる画像処理プログラムが提供される。
【0007】
また、1つの案では、上記の画像処理プログラムに基づく処理と同様の処理をコンピュータが実行する画像処理方法が提供される。
さらに、1つの案では、上記の画像処理プログラムに基づく処理と同様の処理を実行する画像処理装置が提供される。
【発明の効果】
【0008】
1つの側面では、撮像画像を基に物体検出精度が向上し得る画像を生成できる。
【図面の簡単な説明】
【0009】
【
図1】第1の実施の形態に係る画像処理装置の構成例および処理例を示す図である。
【
図2】第2の実施の形態に係る車両検出システムの構成例を示す図である。
【
図3】車両検出装置のハードウェア構成例を示す図である。
【
図4】車両検出装置における車両検出処理の概要を示す図である。
【
図5】車両検出処理の第1の比較例を示す図である。
【
図6】車両検出処理の第2の比較例を示す図である。
【
図8】第2の実施の形態における車両検出処理を示す図である。
【
図10】重なり領域の大きさについて説明するための図である。
【
図11】車両検出装置が備える処理機能の構成例を示す図である。
【
図12】部分画像生成部の内部構成例を示す図である。
【
図13】車両検出処理全体の手順を示すフローチャートの例である。
【
図14】重なり幅決定処理の手順を示すフローチャートの例である。
【
図15】9分割された分割領域を基準にした部分画像の生成例を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る画像処理装置の構成例および処理例を示す図である。
図1に示す画像処理装置1は、処理部2を有する。処理部2は、例えば、プロセッサである。
【0011】
この画像処理装置1は、入力された撮像画像10を基に、この撮像画像10からの物体検出精度が向上し得る画像を生成する。
図1に示した撮像画像10には、例として、検出対象となる4つの所定の物体3a~3dが含まれている。
【0012】
ここで、例えば、入力される撮像画像10の画素数は、物体検出処理で規定された処理対象画像の画素数より大きいとする。この場合、例えば、撮像画像10の画素数を、物体検出処理の規定画素数となるように縮小し、縮小された撮像画像10から物体検出を行う方法が考えられる。しかし、この方法では、元の撮像画像10に写っていた物体の大きさが縮小画像上で小さくなってしまい、縮小画像からその物体が検出されない可能性がある。
【0013】
そこで、他の方法の例として、撮像画像10を複数の分割画像に分割し、各分割画像から物体検出を行う方法が考えられる。しかし、この方法では、分割画像間の境界にまたがって位置する物体を検出することが難しい。
図1に示した撮像画像10には、撮像画像10を4分割した場合の分割領域11~14の間の境界を破線で示している。この例では、物体3a,3dが境界にまたがって位置している。この場合、4分割された分割領域11~14の各画像から物体検出を行っても、物体3a,3dを検出できない可能性が高い。
【0014】
そこで、処理部2は、以下のような処理により、境界線上に位置する物体3a,3dも検出可能になる複数の部分画像を、撮像画像10を基に生成する。なお、以下の説明では、撮像画像10を4分割した分割領域11~14を基準にして部分画像を生成するが、基準となる分割領域の分割数は限定されるものではなく、例えば9分割や16分割とすることも可能である。
【0015】
処理部2は、撮像画像10を4つに分割した分割領域11~14を、それらのうち隣接する分割領域間で境界を挟んで互いに重なり領域が生じるように、重なり領域の大きさを決定する。処理部2は、決定された重なり領域の大きさに基づいて、分割領域11~14にそれぞれ対応する部分領域21~24を決定する。
【0016】
図1の例では、分割領域11が右方向および下方向に拡大されることで、部分領域21が決定される。また、分割領域12が左方向および下方向に拡大されることで、部分領域22が決定される。さらに、分割領域13が右方向および上方向に拡大されることで、部分領域23が決定される。また、分割領域14が左方向および上方向に拡大されることで、部分領域24が決定される。
【0017】
その結果、横方向に隣接する部分領域21,22の間、および部分領域23,24の間に重なり領域が生じる。これらのうち前者の重なり領域には、物体3aの全体が含まれている。また、縦方向に隣接する部分領域21,23の間、および部分領域22,24の間に重なり領域が生じる。これらのうち後者の重なり領域には、物体3dの全体が含まれている。
【0018】
次に、処理部2は、撮像画像10から、決定された部分領域21~24にそれぞれ対応する部分画像31~34を切り出す。切り出された部分画像31~34が、物体検出対象の画像となる。
【0019】
図1に示すように、分割領域11,12の境界に位置していた物体3aは、その全体が部分画像31に含まれている。このため、部分画像31から物体検出が行われることで、物体3aが検出される可能性が高まる。また、分割領域12,14の境界に位置していた物体3dは、その全体が部分画像34に含まれている。このため、部分画像34から物体検出が行われることで、物体3dが検出される可能性が高まる。
【0020】
このように、画像処理装置1によれば、入力された撮像画像10を基に、物体検出精度が向上し得る画像を生成できる。
〔第2の実施の形態〕
次に、物体検出処理の例として、道路を走行する車両を検出する処理について説明する。
【0021】
図2は、第2の実施の形態に係る車両検出システムの構成例を示す図である。
図2に示す車両検出システムは、カメラ50と車両検出装置100を含む。なお、車両検出装置100は、
図1に示した画像処理装置1の一例である。
【0022】
カメラ50は、車両が走行する道路を監視する監視カメラである。カメラ50は、道路を撮像し、撮像画像を車両検出装置100に送信する。車両検出装置100は、例えば、ネットワークを介してカメラ50と接続されている。車両検出装置100は、カメラ50からの撮像画像を受信し、受信した撮像画像から車両を検出する。車両の検出結果は、例えば、道路交通量や道路利用状況の観測、道路整備計画の策定などの用途に用いられる。
【0023】
図3は、車両検出装置のハードウェア構成例を示す図である。車両検出装置100は、例えば、
図3に示すようなコンピュータとして実現される。
図3に示す車両検出装置100は、プロセッサ101、RAM(Random Access Memory)102、HDD(Hard Disk Drive)103、GPU(Graphics Processing Unit)104、入力インタフェース(I/F)105、読み取り装置106および通信インタフェース(I/F)107を備える。
【0024】
プロセッサ101は、車両検出装置100全体を統括的に制御する。プロセッサ101は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)またはPLD(Programmable Logic Device)である。また、プロセッサ101は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。なお、プロセッサ101は、
図1に示した処理部2の一例である。
【0025】
RAM102は、車両検出装置100の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データが格納される。
【0026】
HDD103は、車両検出装置100の補助記憶装置として使用される。HDD103には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、SSD(Solid State Drive)などの他の種類の不揮発性記憶装置を使用することもできる。
【0027】
GPU104には、表示装置104aが接続されている。GPU104は、プロセッサ101からの命令にしたがって、画像を表示装置104aに表示させる。表示装置としては、液晶ディスプレイや有機EL(ElectroLuminescence)ディスプレイなどを用いることができる。
【0028】
入力インタフェース105には、入力装置105aが接続されている。入力インタフェース105は、入力装置105aから出力される信号をプロセッサ101に送信する。入力装置105aとしては、キーボードやポインティングデバイスなどを用いることができる。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどを用いることができる。
【0029】
読み取り装置106には、可搬型記録媒体106aが脱着される。読み取り装置106は、可搬型記録媒体106aに記録されたデータを読み取ってプロセッサ101に送信する。可搬型記録媒体106aとしては、光ディスク、半導体メモリなどを用いることができる。
【0030】
通信インタフェース107は、ネットワーク107aを介して他の装置との間でデータの送受信を行う。例えば、カメラ50がネットワーク107aを介して車両検出装置100に接続されている場合、通信インタフェース107は、カメラ50から送信された撮像画像のデータを受信する。
【0031】
以上のようなハードウェア構成によって、車両検出装置100の処理機能を実現することができる。
図4は、車両検出装置における車両検出処理の概要を示す図である。車両検出装置100は、入力画像から車両の位置を検出する車両検出部160を備える。本実施の形態では例として、車両検出部160は、機械学習による学習済みモデルとして実現される。また、車両検出部160は、車両が存在する領域を内包する矩形のバウンディングボックスを入力画像から検出し、検出されたバウンディングボックスを入力画像に重畳した画像を出力する。すなわち、車両検出部160からの出力画像には、入力画像から検出された車両の位置がバウンディングボックスの位置として検出される。
【0032】
図4では例として、カメラ50によって撮像された撮像画像200を車両検出部160に入力した場合を示している。この場合、車両検出部160からは、撮像画像200から検出された車両の位置を示すバウンディングボックスが表示された出力画像201が出力される。
図4の例では、撮像画像200から4台の車両が検出されており、出力画像201には、各車両に対応するバウンディングボックス202a~202dが表示されている。
【0033】
このような車両検出を可能にする学習済みモデルは、例えば、車両が写っている多数の画像を教師データとして用いた機械学習(例えば深層学習)によって生成される。これらの教師データには、車両の位置に対応するバウンディングボックスの位置情報が付加されており、機械学習の際にはこれらの位置情報が正解データとして用いられる。
【0034】
なお、車両検出部160は、車両の位置を検出するだけでなく、検出された車両の種類を識別可能であってもよい。この場合、学習時においては、バウンディングボックスの位置情報に加えて車両の種類を示すラベルが正解データとして用いられる。
【0035】
次に、
図5~
図7を参照して、上記のような車両検出部160を用いた車両検出処理の比較例について説明する。
図5は、車両検出処理の第1の比較例を示す図である。
【0036】
カメラ50や画像圧縮技術の性能向上、ネットワークの高速化などに伴い、車両検出装置100に入力される撮像画像の画像サイズ(画素数、解像度)は大きくなっている。例えば、カメラ50から車両検出装置100に対して、水平方向の画素数が4000画素程度のいわゆる「4K画像」を送信できるようになっている。
【0037】
一方、車両検出部160のような物体検出の学習済みモデルに関しては、入力画像の画像サイズが大きいほど、物体検出の処理負荷が増大し、処理時間が長くなる。また、車両検出部160への入力画像は、学習時に利用された教師画像の画像サイズと一致する。このため、入力画像の画像サイズが大きいほど教師画像の画像サイズも大きくなり、その結果として学習時の処理負荷も増大し、処理時間が長くなる。このような理由から、一般的に物体検出の学習済みモデルに入力可能な画像サイズは一定程度以下に抑えられていることが多い。
【0038】
このような場合、撮像画像200の画像サイズが大きくなったとしても、その撮像画像200は学習済みモデルで規定された入力サイズに合わせて縮小され、縮小された画像が学習済みモデルに入力されることになる。
図5の例では、車両検出部160への入力サイズが416×416画素と規定されているとする。この場合、カメラ50からの撮像画像200は416×416画素の縮小画像210に縮小され、縮小画像210が車両検出部160に入力される。
【0039】
ここで、車両検出部160は、入力画像において一定の検出可能サイズ以上の大きさで写っている車両を検出できるが、それより小さいサイズで写っている車両を検出することはできない。上記のように撮像画像200を縮小して車両検出部160に入力した場合には、ある車両が元の撮像画像200上では検出可能サイズ以上の大きさで写っていた場合でも、縮小画像210上ではその車両の大きさが検出可能サイズより小さくなる可能性がある。この場合、車両検出部160はその車両を検出できない。
【0040】
カメラ50からの撮像画像200の画像サイズが大きいほど、撮像画像200上で相対的に小さく写っている車両も高画質(大きな画素数)で写っている。そのため、本来であれば、そのような小さく写っている車両も車両検出部160で検出できることが期待される。しかし、車両検出の際に撮像画像200が縮小されることで、期待されるような車両検出性能を得られなくなるという問題がある。
【0041】
図6は、車両検出処理の第2の比較例を示す図である。また、
図7は、第2の比較例における課題を示す図である。
元の撮像画像200上で小さく写っている車両を車両検出部160で検出できるようにするためには、撮像画像200を縮小する際の拡大縮小率をできるだけ大きくして(100%に近づけて)、車両検出部160に入力される画像の画素数を大きくする必要がある。このような方法として、元の撮像画像200を分割し、分割された画像を縮小して車両検出部160に入力する方法が考えられる。
【0042】
図6の例では、撮像画像200は4つの同じサイズの分割画像221~224に分割されている。そして、分割画像221~224は、それぞれ車両検出部160への入力サイズの縮小画像231~234に縮小され、縮小画像231~234が車両検出部160に入力される。
【0043】
この場合、車両検出部160は、縮小画像231~234のそれぞれから車両を検出する。縮小画像231~234のそれぞれに検出可能サイズ以上の大きさの車両が1台以上写っているとすると、車両検出部160からは、縮小画像231~234のそれぞれに対してバウンディングボックスの情報が出力される。各バウンディングボックスの情報は、分割画像221~224と縮小画像231~234との間の拡大縮小率に合わせて拡大され、拡大されたバウンディングボックスが入力画像に重畳されて最終的な出力画像が生成される。
【0044】
このような方法によれば、
図5に示した方法と比較して、車両検出部160に入力される各画像の画素数が、
図5の方法と比較して大きくなる。このため、元の撮像画像200に小さく写っていた車両を車両検出部160が検出しやすくなる。換言すると、元の撮像画像200に写っている車両のうち、車両検出部160で検出可能な車両のサイズの下限値が小さくなる。そのため、車両検出精度が向上する。
【0045】
しかしながら、この方法では次のような課題がある。
図7に示すように、撮像画像200を分割する分割画像間の境界上に位置する車両は、境界を挟んで分割されてしまう。そのため、このような境界上に位置する車両を検出することが難しいという課題がある。
【0046】
図8は、第2の実施の形態における車両検出処理を示す図である。また、
図9は、部分画像の生成処理を示す図である。
図8に示すように、本実施の形態の車両検出装置100は、撮像画像200を分割した各分割領域を基にして、各分割領域に対応する部分画像241~244を生成する。部分画像241~244は、他の部分画像との間で重なり領域を有する画像であり、
図9に示す手順で生成される。
【0047】
図9に示すように、車両検出装置100は、撮像画像200を4つに分割した分割領域221a~224aを、それらのうち隣接する分割領域間で境界を挟んで互いに重なり領域が生じるように拡大する。
図9では、重なり領域にハッチングを付して示している。車両検出装置100は、拡大された各領域を撮像画像200から切り出すことで、部分画像241~244を生成する。
【0048】
例えば、横方向に隣接する部分領域の間には重なり幅Wxの重なり領域が生じ、縦方向に隣接する部分領域の間には重なり幅Wyの重なり領域が生じる。この場合、分割領域221aを右方向にWx/2だけ拡大し、下方向にWy/2だけ拡大した領域を撮像画像200から切り出すことで、部分画像241が生成される。また、分割領域222aを左方向にWx/2だけ拡大し、下方向にWy/2だけ拡大した領域を撮像画像200から切り出すことで、部分画像242が生成される。さらに、分割領域223aを右方向にWx/2だけ拡大し、上方向にWy/2だけ拡大した領域を撮像画像200から切り出すことで、部分画像243が生成される。また、分割領域224aを左方向にWx/2だけ拡大し、上方向にWy/2だけ拡大した領域を撮像画像200から切り出すことで、部分画像244が生成される。
【0049】
図8に示すように、車両検出装置100は、このようにして生成された部分画像241~244を、それぞれ車両検出部160への入力サイズの縮小画像251~254に縮小し、縮小画像251~254を車両検出部160に入力する。車両検出部160は、縮小画像251~254のそれぞれから車両を検出する。
【0050】
以上の処理によれば、撮像画像200に重なり幅以下のサイズで写っている車両であれば、その車両が分割領域の境界に位置していた場合でも、その車両全体がいずれかの部分画像に含まれることになる。このため、車両検出部160は、この車両をいずれかの部分画像から検出できるようになる。したがって、車両検出精度を向上させることができる。
【0051】
図10は、重なり領域の大きさについて説明するための図である。
図10(A)は、重なり領域が大きい場合を示し、
図10(B)は、重なり領域が小さい場合を示す。
図10では、撮像画像200から部分画像242を切り出す場合を例示している。
図10(A)に示すように、車両検出部160は、部分画像242の領域のうち、隣接する他の部分画像との間の重なり領域が大きいほど、分割領域間の境界上に位置する車両を検出しやすくなる。その反面、重なり領域が大きいほど部分画像242自体の画像サイズが大きくなるため、部分画像242を縮小して縮小画像252を生成した際に解像度が大きく低下する。このため、車両検出部160は、撮像画像200に小さく写っている車両を検出しづらくなる。
【0052】
また、
図10(B)に示すように、部分画像242の領域のうち、隣接する他の部分画像との間の重なり領域が小さいほど、部分画像242自体の画像サイズが小さくなるので、部分画像242を縮小して縮小画像252を生成した際に解像度が低下しにくい。このため、車両検出部160は、撮像画像200に小さく写っている車両を検出しやすくなる。その反面、重なり領域が小さいほど分割領域間の境界上に位置する車両を検出しにくくなる。
【0053】
このように、重なり領域は大き過ぎても小さ過ぎても問題があり、適切な重なり領域の大きさを決定することは容易でない。そこで、本実施の形態の車両検出装置100は、過去に撮像画像から検出された物体についてのバウンディングボックスの大きさを基に統計的な計算を行うことで、部分画像を生成する際の重なり領域の大きさを決定する。この統計計算により、車両検出装置100は例えば、過去に検出されたバウンディングボックスの多くが含まれるような最小限の重なり領域の大きさを算出できるようになる。その結果、車両検出装置100は、分割領域の境界上の車両の検出精度を高めつつ、部分画像の大きさを最小限にとどめ、撮像画像200上に小さく写っている車両も検出しやすくすることが可能となる。
【0054】
図11は、車両検出装置が備える処理機能の構成例を示す図である。
図11に示すように、車両検出装置100は、モデルパラメータ記憶部110、検出結果記憶部120、画像取得部130、部分画像生成部140、画像縮小部150、車両検出部160および画像結合部170を備える。
【0055】
モデルパラメータ記憶部110および検出結果記憶部120は、RAM102、HDD103など、車両検出装置100が備える記憶装置の記憶領域である。
モデルパラメータ記憶部110には、車両検出部160に対応する学習済みモデルを示すモデルパラメータが記憶される。例えば、学習済みモデルがニューラルネットワークとして形成される場合、モデルパラメータにはニューラルネットワーク上のノード間の重み係数が含まれる。
【0056】
検出結果記憶部120には、車両検出部160による車両の検出結果を示す情報が蓄積される。具体的には、検出結果記憶部120には、検出された車両の位置を示すバウンディングボックスの大きさ(横方向の長さと縦方向の長さ)が蓄積される。なお、バウンディングボックスの大きさとは、車両が検出された検出領域の大きさの一例である。
【0057】
画像取得部130、部分画像生成部140、画像縮小部150、車両検出部160および画像結合部170の処理は、例えば、プロセッサ101が所定のアプリケーションプログラムを実行することで実現される。
【0058】
画像取得部130は、カメラ50から送信された撮像画像のデータを取得する。
部分画像生成部140は、撮像画像を基に複数の部分画像を生成する。このとき、部分画像生成部140は、検出結果記憶部120に蓄積されたバウンディングボックスの大きさに基づいて、隣接する部分画像間の重なり領域の重なり幅Wx,Wyを決定する。
【0059】
画像縮小部150は、生成された各部分画像を、車両検出部160で規定された入力サイズの縮小画像に縮小する。この縮小処理における縮小率は、部分画像間の重なり領域の大きさに基づいて決定される。
【0060】
車両検出部160は、モデルパラメータ記憶部110に記憶されたモデルパラメータに基づく学習済みモデルに対して、画像縮小部150からの各縮小画像を入力する。これにより車両検出部160は、各縮小画像から車両を検出する。縮小画像から車両が検出された場合、その縮小画像における車両検出領域を示すバウンディングボックスの情報が出力される。
【0061】
画像結合部170は、車両検出部160から出力されたバウンディングボックスの情報に基づき、バウンディングボックスを元の分割画像の大きさに合わせて拡大し、拡大されたバウンディングボックスを元の分割画像に重畳する。画像結合部170は、バウンディングボックスが重畳された各分割画像を結合し、結合された画像を出力する。また、画像結合部170は、拡大されたバウンディングボックスの大きさ(横方向の幅および縦方向の幅)を検出結果記憶部120に格納する。
【0062】
図12は、部分画像生成部の内部構成例を示す図である。
図12に示すように、部分画像生成部140は、重なり幅決定部141と部分画像生成処理部142を含む。
重なり幅決定部141は、検出結果記憶部120から過去に検出されたバウンディングボックスの大きさを取得し、取得した大きさを基に統計的な計算を行うことで重なり領域の重なり幅Wx,Wyを決定する。部分画像生成処理部142は、重なり幅決定部141により決定された重なり幅Wx,Wyに基づいて各部分画像の大きさを決定し、決定した大きさの部分画像を生成する。
【0063】
ここで、重なり幅決定部141では、重なり幅Wx,Wyが次のようにして決定される。重なり幅決定部141は、例えば、検出結果記憶部120から取得したバウンディングボックスの横幅の平均値Mxおよび縦幅の平均値Myを算出する。重なり幅決定部141は、重なり幅Wxを平均値Mxに決定し、重なり幅Wyを平均値Myに決定する。あるいは、重なり幅決定部141は、平均値Mxに所定値を加算した値を重なり幅Wxに決定し、平均値Myに所定値を加算した値を重なり幅Wyに決定する。
【0064】
このように、重なり幅がバウンディングボックスの幅の平均値以上の値に決定されることで、過去に検出された車両のうち約50%以上の車両の大きさが重なり幅以下になるように、各部分画像の大きさが決定される。
【0065】
また、過去に検出されたより多くの車両の大きさが重なり幅以下になるように、次のような方法が採用されてもよい。重なり幅決定部141は、検出結果記憶部120から取得したバウンディングボックスの横幅についての平均値Mxおよび標準偏差SDxを算出する。また、重なり幅決定部141は、検出結果記憶部120から取得したバウンディングボックスの縦幅についての平均値Myおよび標準偏差SDyを算出する。重なり幅決定部141は、これらの算出値に基づいて、重なり幅Wx,Wyを次の式(1),(2)にしたがって決定する。
Wx=Mx+SDx ・・・(1)
Wy=My+SDy ・・・(2)
式(1),(2)を用いた場合には、過去に検出された車両のうち約90%の車両の大きさが重なり幅以下になるように、各部分画像の大きさが決定される。これにより、過去に検出されたほとんどの大きさの車両が分割領域間の境界上に存在した場合でも、車両検出部160がこれらの車両を検出できるようになる。
【0066】
次に、車両検出装置100の処理についてフローチャートを用いて説明する。
図13は、車両検出処理全体の手順を示すフローチャートの例である。
[ステップS11]画像取得部130は、カメラ50で撮像され、カメラ50から送信された撮像画像のデータを取得する。
【0067】
[ステップS12]部分画像生成部140において、部分画像生成処理部142は、重なり幅決定部141から直近に決定された重なり幅Wx,Wyを取得する。
[ステップS13]部分画像生成処理部142は、取得した重なり幅Wx,Wyに基づいて所定数の部分画像を生成する。すなわち、部分画像生成処理部142は、取得した重なり幅Wx,Wyに基づいて各部分画像の大きさを決定し、決定された大きさで撮像画像から各部分画像を切り出す。
【0068】
[ステップS14]画像縮小部150は、生成された各部分画像を、車両検出部160で規定された入力サイズの縮小画像に縮小する。この縮小処理では、横方向の縮小率はステップS12で取得された重なり幅Wxに応じて決定され、縦方向の縮小率はステップS12で取得された重なり幅Wyに応じて決定される。
【0069】
[ステップS15]車両検出部160は、モデルパラメータ記憶部110に記憶されたモデルパラメータに基づく学習済みモデルに対して、生成された各縮小画像を入力する。これにより車両検出部160は、各縮小画像から車両を検出する。縮小画像から車両が検出された場合、車両検出部160は、縮小画像における車両検出領域を示すバウンディングボックスの情報を出力する。
【0070】
[ステップS16]画像結合部170は、車両検出部160から出力されたバウンディングボックスの情報に基づき、バウンディングボックスを元の分割画像の大きさに合わせて拡大し、拡大されたバウンディングボックスを元の分割画像に重畳する。画像結合部170は、バウンディングボックスが重畳された各分割画像を結合し、結合された画像を出力する。
【0071】
[ステップS17]画像結合部170は、ステップS16で拡大されたバウンディングボックスの大きさ(横方向の幅および縦方向の幅)を検出結果記憶部120に格納する。
図14は、重なり幅決定処理の手順を示すフローチャートの例である。この
図14の処理は、例えば、一定時間間隔で実行される。あるいは、
図14の処理は、
図13のステップS12の実行に合わせて実行されてもよい。この場合、例えば、
図14の処理によって決定された重なり幅Wx,WyがステップS12で取得される。
【0072】
[ステップS21]部分画像生成部140の重なり幅決定部141は、検出結果記憶部120からバウンディングボックスの大きさ(横幅および縦幅)を取得する。この処理では、例えば、検出結果記憶部120に記憶されているすべてのバウンディングボックスの大きさが取得される。あるいは、直近の一定期間内に検出結果記憶部120に記憶されたバウンディングボックスの大きさのみが取得されてもよい。
【0073】
以下のステップS22,S23では、一例としてバウンディングボックスの大きさの平均値および標準偏差を用いた場合の処理手順を示す。
[ステップS22]重なり幅決定部141は、取得したバウンディングボックスの横幅についての平均値Mxおよび標準偏差SDxを算出する。また、重なり幅決定部141は、取得したバウンディングボックスの縦幅についての平均値Myおよび標準偏差SDyを算出する。
【0074】
[ステップS23]重なり幅決定部141は、横方向の重なり幅Wxを上記の式(1)にしたがって決定する。また、重なり幅決定部141は、縦方向の重なり幅Wyを上記の式(2)にしたがって決定する。
【0075】
なお、検出結果記憶部120に十分な情報が記憶されていない場合(例えば、バウンディングボックスの大きさのデータ数が所定数以下の場合)には、例えば、ステップS23では重なり幅Wx,Wyがあらかじめ決められた固定値に決定されてもよい。この固定値は、例えば、上記のカメラ50と撮影条件(道路との位置関係など)が近い他の場所での車両の検出結果を基に算出された値であってもよい。
【0076】
ここで、
図13のステップS13における部分画像の生成処理についてさらに説明する。上記の例では、撮像画像を4分割した分割領域を基準にして部分画像が生成された。しかし、撮像画像の分割数は4に限定されるものではなく、例えば9分割や16分割とすることも可能である。
【0077】
図15は、9分割された分割領域を基準にした部分画像の生成例を示す図である。
図15の例では、撮像画像200を9つに分割した分割領域261~269をそれぞれ基準として9つの部分画像271~279が生成される。
【0078】
例えば、部分画像271は、分割領域261を右方向にWx/2だけ拡大し、下方向にWy/2だけ拡大した領域を撮像画像200から切り出すことで生成される。部分画像272は、分割領域262を左方向および右方向にそれぞれWx/2だけ拡大し、下方向にWy/2だけ拡大した領域を撮像画像200から切り出すことで生成される。部分画像273は、分割領域263を左方向にWx/2だけ拡大し、下方向にWy/2だけ拡大した領域を撮像画像200から切り出すことで生成される。
【0079】
また、部分画像274は、分割領域264を右方向にWx/2だけ拡大し、上方向および下方向にそれぞれWy/2だけ拡大した領域を撮像画像200から切り出すことで生成される。部分画像275は、分割領域265を左方向および右方向にそれぞれWx/2だけ拡大し、上方向および下方向にそれぞれWy/2だけ拡大した領域を撮像画像200から切り出すことで生成される。部分画像276は、分割領域266を左方向にWx/2だけ拡大し、上方向および下方向にそれぞれWy/2だけ拡大した領域を撮像画像200から切り出すことで生成される。
【0080】
また、部分画像277は、分割領域267を右方向にWx/2だけ拡大し、上方向にWy/2だけ拡大した領域を撮像画像200から切り出すことで生成される。部分画像278は、分割領域268を左方向および右方向にそれぞれWx/2だけ拡大し、上方向にWy/2だけ拡大した領域を撮像画像200から切り出すことで生成される。部分画像279は、分割領域269を左方向にWx/2だけ拡大し、上方向にWy/2だけ拡大した領域を撮像画像200から切り出すことで生成される。
【0081】
図15の例から、
図13のステップS13において、対応する分割領域を基準とした部分画像の左右方向および上下方向の領域は、以下のように決定される。なお、
図15において、「左端部の部分画像」とは部分画像271,274,277に該当し、左右方向に対する中間部の部分画像」とは部分画像272,275,278に該当し、「右端部の部分画像」とは部分画像273,276,279に該当する。また、「上端部の部分画像」とは部分画像271~273に該当し、「上下方向に対する中間部の部分画像」とは部分画像274~276に該当し、「下端部の部分画像」とは部分画像277~279に該当する。
【0082】
<部分画像の左右方向の領域>
左端部の部分画像:対応する分割領域を右方向にWx/2だけ拡大した領域。
左右方向に対する中間部の部分画像:対応する分割領域を左方向および右方向にそれぞれWx/2だけ拡大した領域。
【0083】
右端部の部分画像:対応する分割領域を左方向にWx/2だけ拡大した領域。
<部分画像の上下方向の領域>
上端部の部分画像:対応する分割領域を下方向にWy/2だけ拡大した領域。
【0084】
上下方向に対する中間部の部分画像:対応する分割領域を上方向および下方向にそれぞれWy/2だけ拡大した領域。
下端部の部分画像:対応する分割領域を上方向にWy/2だけ拡大した領域。
【0085】
なお、上記の各実施の形態に示した装置(例えば、画像処理装置1、車両検出装置100)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、磁気テープなどがある。光ディスクには、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク(Blu-ray Disc:BD、登録商標)などがある。
【0086】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CDなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0087】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
【符号の説明】
【0088】
1 画像処理装置
2 処理部
3a~3d 物体
10 撮像画像
11~14 分割領域
21~24 部分領域
31~34 部分画像