(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024176758
(43)【公開日】2024-12-19
(54)【発明の名称】画像処理装置、画像処理方法および画像処理プログラム
(51)【国際特許分類】
G06T 7/70 20170101AFI20241212BHJP
H04N 7/18 20060101ALI20241212BHJP
G06T 7/60 20170101ALI20241212BHJP
【FI】
G06T7/70 Z
H04N7/18 K
G06T7/60 150Z
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023095541
(22)【出願日】2023-06-09
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】吉田 英達
(72)【発明者】
【氏名】中村 亘
【テーマコード(参考)】
5C054
5L096
【Fターム(参考)】
5C054CA04
5C054CC02
5C054FC12
5C054FC14
5C054FE13
5C054HA19
5L096AA06
5L096BA02
5L096CA04
5L096DA02
5L096EA43
5L096FA06
5L096FA59
5L096FA69
5L096HA02
5L096HA08
5L096KA04
(57)【要約】 (修正有)
【課題】画像から対象物の領域を正確に検出する画像処理装置、方法及びプログラムを提供する。
【解決手段】画像処理装置1において、処理部2は、撮像画像10から所定種類の対象物21を含む所定形状の検出領域11を検出し、検出領域11に対して輪郭検出を行うことによって検出領域11から閉領域を検出し、検出された閉領域のうち面積が最大である閉領域を、対象物21が写っている領域として特定する。これにより、対象物21に近接する位置に対象物21とは異なる種類の他の物体22が写っている場合でも、対象物21の領域を正確に検出できる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
撮像画像から所定種類の対象物を含む所定形状の検出領域を検出し、
前記検出領域に対して輪郭検出を行うことによって前記検出領域から1以上の閉領域を検出し、
前記1以上の閉領域のうち面積が最大である第1閉領域を、前記対象物が写っている領域として特定する、処理部、
を有する画像処理装置。
【請求項2】
前記処理部は、さらに、前記撮像画像のうち前記第1閉領域の第1部分画像を、前記第1閉領域の周囲の画像情報を用いた補間演算によって生成した第2部分画像で置き換える、
請求項1記載の画像処理装置。
【請求項3】
前記処理部は、さらに、
前記撮像画像における前記第1部分画像を前記第2部分画像で置き換えた第1補正画像を生成し、
前記撮像画像を第1フレームとして含む動画像のうち、前記第1フレームより前の第2フレームに基づいて生成された第2補正画像を取得し、
前記第1補正画像と前記第2補正画像との差分を計算することによって、前記第1補正画像から前記対象物とは異なる種類の物体を検出する、
請求項2記載の画像処理装置。
【請求項4】
前記処理部は、
前記撮像画像を第1フレームとして含む動画像における過去のフレームから、前記対象物が検出された前記検出領域が、前記第1フレームの前記検出領域と重複していない第2フレームを探索し、
前記第2フレームが探索された場合、前記第1フレームの前記検出領域の画像を前記第2フレームの前記検出領域の画像で置き換え、
前記第2フレームが探索されなかった場合、前記第1フレームの前記検出領域から前記1以上の閉領域を検出し、前記1以上の閉領域のうち前記第1閉領域の前記第1部分画像を前記第2部分画像で置き換える、
請求項2記載の画像処理装置。
【請求項5】
コンピュータが、
撮像画像から所定種類の対象物を含む所定形状の検出領域を検出し、
前記検出領域に対して輪郭検出を行うことによって前記検出領域から1以上の閉領域を検出し、
前記1以上の閉領域のうち面積が最大である第1閉領域を、前記対象物が写っている領域として特定する、
画像処理方法。
【請求項6】
コンピュータに、
撮像画像から所定種類の対象物を含む所定形状の検出領域を検出し、
前記検出領域に対して輪郭検出を行うことによって前記検出領域から1以上の閉領域を検出し、
前記1以上の閉領域のうち面積が最大である第1閉領域を、前記対象物が写っている領域として特定する、
処理を実行させる画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【0002】
近年、カメラを用いて監視対象の領域を撮像し、撮像した画像を画像処理して所望の対象物を検出する技術が普及している。例えば、車両や人物などの移動体を検出する技術がある。
【0003】
また、移動体の検出に関しては、例えば、入力された画像情報と、移動体が存在しない状態の背景画像との差分に基づいて画像中の変化領域を抽出し、変化領域の大きさ、明るさ、形状などに基づいて移動体の存在の有無を判定する移動体監視装置が提案されている。また、路面背景画像の作成に関しては、例えば、路面画像により作成した移動体マスク情報を基に移動体マスク画像を作成し、最初の移動体マスク画像をベースとして以後、移動体マスク画像のマスク領域以外の部分のみを更新する画像合成を繰り返す移動体除去方式が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004-208209号公報
【特許文献2】特開2003-296709号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、撮像画像から対象物を検出した場合に、その撮像画像の領域のうち、検出された対象物を含む所定形状の領域が、対象物の検出結果として出力される技術がある。この技術では、検出対象ではない、対象物とは異なる種類の他の物体が、対象物に近い位置に存在して、他の物体が上記の所定形状の領域に含まれてしまう場合に、対象物の領域と他の物体の領域とを区別できないという問題がある。
【0006】
1つの側面では、本発明は、画像から対象物の領域を正確に検出可能な画像処理装置、画像処理方法および画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
1つの案では、次のような処理部を有する画像処理装置が提供される。この画像処理装置において、処理部は、撮像画像から所定種類の対象物を含む所定形状の検出領域を検出し、検出領域に対して輪郭検出を行うことによって検出領域から1以上の閉領域を検出し、1以上の閉領域のうち面積が最大である第1閉領域を、対象物が写っている領域として特定する。
【0008】
また、1つの案では、上記の画像処理装置と同様の処理をコンピュータが実行する画像処理方法が提供される。
さらに、1つの案では、上記の画像処理装置と同様の処理をコンピュータに実行させる画像処理プログラムが提供される。
【発明の効果】
【0009】
1つの側面では、画像から対象物の領域を正確に検出できる。
【図面の簡単な説明】
【0010】
【
図1】第1の実施の形態に係る画像処理装置の構成例および処理例を示す図である。
【
図2】第2の実施の形態に係る画像処理システムの構成例を示す図である。
【
図3】画像処理装置のハードウェア構成例を示す図である。
【
図4】画像処理装置が備える処理機能の構成例を示す図である。
【
図5】画像補間を用いた移動体消去処理の第1の比較例を示す図である。
【
図6】画像補間を用いた移動体消去処理の第2の比較例を示す図である。
【
図7】第2の実施の形態における移動体消去処理例を示す図である。
【
図8】異常物体の検出処理手順を示すフローチャートの例(その1)である。
【
図9】異常物体の検出処理手順を示すフローチャートの例(その2)である。
【
図10】異常物体の検出処理手順を示すフローチャートの例(その3)である。
【
図11】バウンディングボックスの重複判定処理例を示す図である。
【
図12】画像補間による移動体消去処理の例を示すフローチャートである。
【
図13】消去済みフレームを用いた異常物体検出処理の例を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る画像処理装置の構成例および処理例を示す図である。
図1に示す画像処理装置1は、入力された撮像画像から所定種類の対象物の領域を検出する装置である。対象物としては、例えば、車両、人物などの移動体が検出される。
【0012】
画像処理装置1は、処理部2を有する。処理部2は、例えば、プロセッサである。この場合、処理部2の処理は、例えば、プロセッサが所定のプログラムを実行することで実現される。処理部2は、以下のような処理を実行する。
【0013】
処理部2は、入力された撮像画像から、上記の対象物を含む所定形状の検出領域を検出する。
図1では、撮像画像10から、対象物21を含む検出領域11が検出された場合を例示している。
図1の検出領域11は、矩形の形状をなしている。この場合、検出領域11は「バウンディングボックス」と呼ばれる場合がある。
【0014】
対象物21の検出方法としては、例えば、車両や人物などを認識する画像認識技術を利用可能である。例えば、機械学習によって生成された、画像認識のための学習済みモデルを用いて、対象物21を検出することができる。
【0015】
ここで、
図1の撮像画像10では、対象物21と近接する位置に、検出対象ではない、対象物21とは異なる種類の他の物体22が存在している。物体22と対象物21とが近いため、物体22は検出領域11の中に含まれてしまっている。この場合、対象物21だけでなく物体22の領域も検出領域11が対象物21の領域として検出されてしまい、対象物21の領域を物体22の領域とは区別して検出することができない。
【0016】
このような問題を解決するために、処理部2は、検出された検出領域11に対して輪郭検出を行うことによって、検出領域11から1以上の閉領域を検出する。閉領域が複数検出された場合、処理部2は、それらの閉領域のうち面積が最大である閉領域を、対象物21が写っている領域として特定する。
【0017】
図1に示す画像10aでは、検出領域11において検出された輪郭線が示されている。この例では、輪郭検出により検出領域11からは対象物21に対応する閉領域21aと物体22に対応する閉領域22aとが検出されている。閉領域21aの面積は、閉領域22aより大きい。このため、処理部2は、閉領域21aを対象物21が写っている領域として特定する。
図1に示す画像10bでは、特定された対象物21の領域21bが黒色で示されている。
【0018】
検出領域11は、所望の対象物21を検出した結果として生成され、対象物21が存在する領域を示すものである。このため、検出領域11には、検出対象の対象物21が大きく写っており、検出対象でない他の物体が対象物21より大きく写る可能性は低い。上記のように最大面積の閉領域21aを対象物21が写っている領域として特定することで、他の物体が対象物21と近接している場合でも、対象物21が写っている領域を他の物体とは区別して精度よく検出することが可能となる。
【0019】
ところで、上記のように撮像画像10から対象物21の領域だけを検出できることにより、撮像画像10から対象物21を正確に消去した画像を生成可能となる。撮像画像10から対象物21だけを消去した画像には、検出対象でない他の物体(例えば、本来そこにあるはずのない異常な物体)だけが写っているため、この画像を他の物体の有無を検出するための画像として利用できるようになる。
【0020】
以下の第2の実施の形態では、上記技術を用いて他の物体を検出できるようにした画像処理システムを例示する。下記の画像処理システムでは、対象物として所定種類の移動体が検出され、他の物体として、所定種類の移動体以外の異常物体が検出されるものとする。
【0021】
〔第2の実施の形態〕
図2は、第2の実施の形態に係る画像処理システムの構成例を示す図である。
図2に示す画像処理システムは、カメラ50と画像処理装置100を含む。なお、画像処理装置100は、
図1に示した画像処理装置1の一例である。
【0022】
カメラ50は、移動体が移動する領域を監視する監視カメラである。例えば、移動体が車両である場合、カメラ50は、車両が通行する道路を監視する。カメラ50は、撮像された動画像を画像処理装置100に送信する。
【0023】
画像処理装置100は、カメラ50からの動画像を受信し、受信した動画像から移動体を検出する。画像処理装置100はさらに、移動体が検出された画像フレームから移動体の画像を消去することで、移動体は写っていないがそれ以外の異常物体は写り得る画像を生成し、生成された画像から異常物体を検知する。異常物体としては、例えば、車両から落下した落下物などが検出される。
【0024】
図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を備える。
【0025】
プロセッサ101は、画像処理装置100全体を統括的に制御する。プロセッサ101は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、GPU、ASIC(Application Specific Integrated Circuit)またはPLD(Programmable Logic Device)である。また、プロセッサ101は、CPU、MPU、DSP、GPU、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
【0026】
RAM102は、画像処理装置100の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データが格納される。
【0027】
HDD103は、画像処理装置100の補助記憶装置として使用される。HDD103には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、SSD(Solid State Drive)などの他の種類の不揮発性記憶装置を使用することもできる。
【0028】
GPU104には、表示装置104aが接続されている。GPU104は、プロセッサ101からの命令にしたがって、画像を表示装置104aに表示させる。表示装置104aとしては、液晶ディスプレイや有機EL(ElectroLuminescence)ディスプレイなどを用いることができる。
【0029】
入力インタフェース105には、入力装置105aが接続されている。入力インタフェース105は、入力装置105aから出力される信号をプロセッサ101に送信する。入力装置105aとしては、キーボードやポインティングデバイスなどを用いることができる。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどを用いることができる。
【0030】
読み取り装置106には、可搬型記録媒体106aが脱着される。読み取り装置106は、可搬型記録媒体106aに記録されたデータを読み取ってプロセッサ101に送信する。可搬型記録媒体106aとしては、光ディスク、半導体メモリなどを用いることができる。
【0031】
通信インタフェース107は、ネットワーク107aを介して他の装置との間でデータの送受信を行う。例えば、カメラ50がネットワーク107aを介して画像処理装置100に接続されている場合、通信インタフェース107は、カメラ50から送信された動画像のデータを受信する。
【0032】
以上のようなハードウェア構成によって、画像処理装置100の処理機能を実現することができる。
図4は、画像処理装置が備える処理機能の構成例を示す図である。
図4に示すように、画像処理装置100は、画像記憶部111、BB(バウンディングボックス)データ記憶部112、消去済み画像記憶部113、画像取得部121、移動体検出部122、移動体消去部123および異常物体検出部124を備える。
【0033】
画像記憶部111、BBデータ記憶部112および消去済み画像記憶部113は、RAM102、HDD103など、画像処理装置100が備える記憶装置に確保される記憶領域である。
【0034】
画像記憶部111には、カメラ50から取得された動画像のデータ(すなわち、各画像フレームのデータ)が記憶される。
BBデータ記憶部112には、画像フレームから検出されたバウンディングボックスに関するBBデータが記憶される。バウンディングボックスは、移動体を内包する矩形領域であり、移動体検出部122によって検出される。BBデータは、バウンディングボックスが検出された画像フレームを示すフレーム識別情報(例えば、撮像時刻またはフレーム番号)と、検出されたバウンディングボックスの位置情報(例えば、矩形領域の左上座標、右上座標および左下座標)とを含む。
【0035】
消去済み画像記憶部113には、移動体消去部123によって移動体の消去処理が施された動画像のデータが記憶される。
画像取得部121、移動体検出部122、移動体消去部123および異常物体検出部124の処理は、例えば、プロセッサ101が所定のアプリケーションプログラムを実行することで実現される。
【0036】
画像取得部121は、カメラ50によって撮像された動画像のデータを取得する。画像取得部121は、動画像に含まれる画像フレームのデータを、移動体検出部122に順次受け渡すとともに、画像記憶部111に格納する。
【0037】
移動体検出部122は、画像フレームから移動体を検出する。移動体検出部122は、移動体が検出されると、移動体を内包するバウンディングボックスに関するBBデータを生成して、BBデータ記憶部112に格納する。
【0038】
移動体検出部122は、例えば、対象物検出用の学習済みモデルを用いて移動体を検出する。このような学習済みモデルは、例えば、対象物が写っている多数の画像を教師データとして用いた機械学習(例えば深層学習)によって生成される。これらの教師データには、対象物の位置に対応するバウンディングボックスの位置情報が付加されており、機械学習の際にはこれらの位置情報が正解データとして用いられる。このような移動体の検出技術としては、例えば、YOLO(You Only Look Once)、SSD(Single Shot Detector)、R-CNN(Region-based Convolutional Neural Network)などを用いることができる。
【0039】
移動体消去部123は、BBデータに基づいて、画像フレームから移動体を消去する。移動体消去部123は、移動体の消去処理が施された各画像フレームのデータを消去済み画像記憶部113に格納する。以下の説明では、移動体の消去処理が施された画像フレームを「消去済みフレーム」と記載する場合がある。
【0040】
異常物体検出部124は、消去済みフレーム間の差分演算によって、画像フレームから異常物体を検出する。
次に、移動体の消去処理について説明する。本実施の形態の画像処理装置100は、異常物体を検出するために移動体を検出する。すなわち、画像処理装置100は、画像フレームから移動体が検出されると、その画像フレームから移動体を消去する。このような移動体の消去処理が施された各画像フレームには、移動体は写っておらず、移動体以外の異常物体だけが写り得る。このため、移動体の消去処理が施された消去済みフレーム間の差分を計算することで、異常物体を検出可能になる。
【0041】
図5は、画像補間を用いた移動体消去処理の第1の比較例を示す図である。
図5に示す画像フレーム200には、移動体201が写っている。この例では、移動体201は道路を走行する車両である。移動体検出部122は、画像フレーム200に対する移動体の検出処理を実行する。これにより、移動体201を含むバウンディングボックス202が検出される。
図5に示す画像200aは、画像フレーム200上にバウンディングボックス202を重畳表示した画像である。
【0042】
第1の比較例では、画像補間により、画像フレーム200から移動体が消去される。具体的には、バウンディングボックス202の周囲の画素の画素値を用いて、補間演算によりバウンディングボックス202内の各画素の画素値が算出される。そして、算出された画素値によってバウンディングボックス202内の各画素の画素値が置き換えられる。補間演算の手法としては、例えば、最近傍法、バイリニア補間法などを用いることができる。このような処理により、画像フレーム200から移動体201が消去された消去済みフレーム200bが生成される。
【0043】
このような移動体の消去処理は、画像フレームから移動体が検出された場合に、その画像フレームだけを用いて移動体を消去できるというメリットがある。例えば、後述するように、画像フレームにおけるバウンディングボックス内の画像を、移動体が検出されていない過去の時刻の画像フレームにおけるバウンディングボックス内の画像によって置き換えることで、移動体を消去する方法がある。この方法は、移動体が検出されていない過去の時刻の画像フレームが存在しない場合には適用できない。例えば、移動体として多数の車両が頻繁に通る道路が撮影された場合には、車両が検出されていない画像フレームを見つけることが難しい場合がある。
図5のような画像補間を用いた移動体消去処理は、このようなケースでも移動体を消去することができる。
【0044】
しかしながら、画像補間を用いた移動体消去処理は、移動体に近接する位置に異常物体が存在する場合には、移動体だけでなく異常物体も消去され得るという問題がある。
図6は、画像補間を用いた移動体消去処理の第2の比較例を示す図である。
図6に示す画像フレーム210には、移動体211が写っているとともに、移動体211に近接する位置に異常物体212が写っている。移動体検出部122が、このような画像フレーム210から移動体211を含むバウンディングボックス213を検出したとする。
図6に示す画像210aは、画像フレーム210上にバウンディングボックス213を重畳表示した画像である。
【0045】
この例では、異常物体212が移動体211に近接しているために、バウンディングボックス213内に移動体211だけでなく異常物体212も含まれてしまっている。このような場合に、移動体消去部123によって画像補間を用いた移動体211の消去処理が行われると、消去済みフレーム210bに示すように移動体211だけでなく異常物体212も消去されてしまう。このため、異常物体検出部124は、消去済みフレーム210bを用いて異常物体212を検出することができなくなる。
【0046】
図7は、第2の実施の形態における移動体消去処理例を示す図である。上記の問題に対して、本実施の形態の移動体消去部123は、輪郭検出を用いて移動体消去処理を実行する。
【0047】
図7では、
図6と同様に、画像フレーム210から移動体211と異常物体212を含むバウンディングボックス213が検出されたとする。画像210aは、画像フレーム210上にバウンディングボックス213を重畳表示した画像である。この場合、移動体消去部123は、バウンディングボックス213内の画像に対して輪郭検出処理を実行する。移動体消去部123は、例えば、SobelフィルタやCanny法を用いてバウンディングボックス213内の画像からエッジ検出を行い、得られたエッジ情報に基づいて輪郭線を抽出する。
【0048】
このような輪郭検出処理により、画像210cに示すように、バウンディングボックス213からは、移動体211に対応する閉領域211aと、異常物体212に対応する閉領域212aが検出される。閉領域211a,212aは、輪郭線によって囲まれた領域である。
【0049】
次に、移動体消去部123は、検出された閉領域211a,212aのそれぞれの大きさを比較する。具体的には、閉領域211a,212aのそれぞれの面積、またはバウンディングボックス213に対する面積占有率を算出し、面積または面積占有率を比較する。なお、面積は、例えば、閉領域に含まれる画素数として算出することができる。
【0050】
図7の例では、バウンディングボックス213の面積が300と算出される。また、閉領域211aの面積は230と算出され、バウンディングボックス213に対する閉領域211aの面積占有率は77%と算出される。一方、閉領域212aの面積は40と算出され、バウンディングボックス213に対する閉領域212aの面積占有率は13%と算出される。
【0051】
移動体消去部123は、バウンディングボックス213から検出された閉領域のうち最大面積の領域を、移動体211の領域として特定する。
図7の例では、閉領域212aより閉領域211aの面積の方が大きいので、閉領域211aが移動体211の領域として特定される。すると、移動体消去部123は、画像フレーム210から画像補間によって閉領域211aを消去する。具体的には、移動体消去部123は、閉領域211aの周囲の画素を用いて、補間演算により閉領域211a内の各画素の画素値を算出し、算出された画素値によって閉領域211a内の各画素の画素値を置き換える。
【0052】
図7に示す消去済みフレーム210dは、元の画像フレーム210のうち、閉領域211a内の各画素の画素値が補間演算によって生成された画素値で置き換えられた画像フレームである。この消去済みフレーム210dでは、移動体211の領域が正確に消去されている一方、移動体211に近接している異常物体212は消去されずに残っている。
【0053】
バウンディングボックスは、所定種類の移動体を検出した結果として生成され、移動体が存在する領域を示すものである。このため、バウンディングボックスには、検出対象の移動体が大きく写っており、検出対象でない異常物体が移動体より大きく写る可能性は低い。上記のように最大面積の閉領域を移動体が写っている領域として特定し、この領域の画像情報だけを画像補間によって消去することで、異常物体が移動体と近接している場合でも、異常物体を消去せず、移動体だけを消去することができる。
【0054】
図8~
図10は、異常物体の検出処理手順を示すフローチャートの例である。
[ステップS11]画像取得部121は、カメラ50によって撮像された動画像における1つの画像フレームを取得し、移動体検出部122に受け渡すとともに画像記憶部111に格納する。以下、取得した画像フレームを「現フレーム」と記載する場合がある。
【0055】
[ステップS12]移動体検出部122は、現フレームから移動体を検出する。
[ステップS13]移動体検出部122は、現フレームから移動体が1つ以上検出されたかを判定する。移動体が1つ以上検出された場合、移動体検出部122は、検出された移動体ごとに、移動体を含むバウンディングボックスに関するBBデータを生成して、BBデータ記憶部112に格納する。その後、処理が
図9のステップS21に進められる。一方、移動体が1つも検出されなかった場合、処理がステップS14に進められる。
【0056】
[ステップS14]移動体消去部123は、現フレームをそのまま消去済みフレームとして消去済み画像記憶部113に格納する。その後、処理が
図10のステップS35に進められる。
【0057】
以下、
図9を参照して説明を続ける。
[ステップS21]ステップS29までの移動体消去処理ループが、バウンディングボックスの検出数の分だけ繰り返し実行される。なお、移動体消去処理ループでは、現フレームから検出された処理対象のバウンディングボックスを「対象バウンディングボックス」と記載する場合がある。
【0058】
[ステップS22]移動体消去部123は、現フレームより時間的に前の画像フレーム(過去フレーム)を1つ選択する。移動体消去処理ループ内でステップS22が実行されるたびに、現フレームの直前の画像フレームを起点として1つずつ前の画像フレームが選択される。
【0059】
[ステップS23]移動体消去部123は、ステップS22で選択された過去フレームからバウンディングボックスが1つ以上検出されているかを判定する。BBデータ記憶部112に、過去フレームに対応するBBデータが1つ以上格納されている場合に、バウンディングボックスが1つ以上検出されていると判定される。バウンディングボックスが1つ以上検出されている場合、処理がステップS24に進められ、バウンディングボックスが1つも検出されていない場合、処理がステップS26に進められる。
【0060】
[ステップS24]移動体消去部123は、過去フレームから検出されたバウンディングボックスの少なくとも一部の領域が、対象バウンディングボックスの領域と重複するかを判定する。前者の領域が後者の領域と重複する場合、処理がステップS25に進められ、重複しない場合、処理がステップS26に進められる。
【0061】
ここで、
図11を用いて、ステップS24の重複判定処理の例について説明する。
図11は、バウンディングボックスの重複判定処理例を示す図である。
図11では、現フレームから検出された対象バウンディングボックスの領域について、左上を点A、右上を点B、左下を点Cとする。また、過去フレームから検出されたバウンディングボックス(過去バウンディングボックス)の領域について、左上を点D、右上を点E、左下を点Fとする。なお、
図11中の左側から右側に向かう座標軸をX軸とし、
図11中の上側から下側に向かう座標軸をY軸とし、画像フレームの左上を座標の原点とする。
【0062】
また、
図11では、過去フレームから5つの過去バウンディングボックス231~235が検出されており、そして、移動体消去部123は、過去バウンディングボックス231~235の領域の少なくとも一部が、判定対象の対象バウンディングボックス221と重複するかを判定する。この判定では、過去バウンディングボックス231~235のうち、次の条件C1~C4をすべて満たす過去バウンディングボックスは、対象バウンディングボックス221と重複していると判定される。一方、条件C1~C4の少なくとも1つを満たさない過去バウンディングボックスは、対象バウンディングボックス221と重複していないと判定される。
【0063】
条件C1は、「対象バウンディングボックスの点AのX座標≦過去バウンディングボックスの点EのX座標」である。条件C1を満たさない過去バウンディングボックスは、対象バウンディングボックス221より左側に位置して対象バウンディングボックス221に重複しない過去バウンディングボックスである。
図11では、条件C1を満たさない過去バウンディングボックス231が重複していないと判定され、過去バウンディングボックス231が判定対象から除外される。
【0064】
条件C2は、「対象バウンディングボックスの点BのX座標≧過去バウンディングボックスの点DのX座標」である。条件C2を満たさない過去バウンディングボックスは、対象バウンディングボックス221より右側に位置して対象バウンディングボックス221に重複しない過去バウンディングボックスである。
図11では、判定対象として残った過去バウンディングボックス232~225のうち、条件C2を満たさない過去バウンディングボックス235が重複していないと判定され、過去バウンディングボックス235が判定対象から除外される。
【0065】
条件C3は、「対象バウンディングボックスの点AのY座標≦過去バウンディングボックスの点FのY座標」である。条件C3を満たさない過去バウンディングボックスは、対象バウンディングボックス221より上側に位置して対象バウンディングボックス221に重複しない過去バウンディングボックスである。
【0066】
条件C4は、「対象バウンディングボックスの点CのY座標≧過去バウンディングボックスの点DのY座標」である。条件C4を満たさない過去バウンディングボックスは、対象バウンディングボックス221より下側に位置して対象バウンディングボックス221に重複しない過去バウンディングボックスである。
【0067】
図11では、判定対象として残った過去バウンディングボックス232~234の中に、条件C3,C4を満たさない過去バウンディングボックスは存在しない。このため、残った過去バウンディングボックス232~234が、対象バウンディングボックス221と重複すると判定される。
【0068】
以下、
図9を参照して説明を続ける。
[ステップS25]移動体消去部123は、ステップS22で選択されていない過去フレームがあるかを判定する。未選択の過去フレームがある場合、処理がステップS22に進められ、未判定の過去フレームのうち最も後の(最も新しい)過去フレームが選択される。一方、すべての過去フレームを選択済みの場合、処理がステップS28に進められる。
【0069】
[ステップS26]移動体消去部123は、ステップS22で直近に選択された過去フレームから、対象バウンディングボックスと同じ領域内の画像を抽出する。
[ステップS27]移動体消去部123は、ステップS26で抽出された画像によって、対象バウンディングボックス内の画像を置き換える。
【0070】
[ステップS28]移動体消去部123は、対象バウンディングボックスについて、画像補間による移動体消去処理を実行する。
[ステップS29]移動体消去処理ループがバウンディングボックスの検出数の分だけ実行された場合には、処理が
図10のステップS31に進められる。
【0071】
図12は、画像補間による移動体消去処理の例を示すフローチャートである。
図12の処理は、
図9のステップS28の処理に対応する。
[ステップS41]移動体消去部123は、現フレームから検出された対象バウンディングボックス内の画像に対して、輪郭検出処理を実行する。この処理により、輪郭線で囲まれた閉領域が1つ以上検出される。
【0072】
[ステップS42]移動体消去部123は、ステップS41の処理により2以上の閉領域が検出されたかを判定する。2以上の閉領域が検出された場合、処理がステップS43に進められる。一方、閉領域が1つだけ検出された場合、検出された閉領域が移動体の領域として特定され、処理がステップS45に進められる。
【0073】
[ステップS43]移動体消去部123は、検出された各閉領域の面積を計算する。
[ステップS44]移動体消去部123は、検出された閉領域のうち、算出された面積が最大の閉領域を、移動体の領域として特定する。
【0074】
[ステップS45]移動体消去部123は、画像補間処理によって移動体を消去する。具体的には、移動体消去部123は、現フレームの画素のうち、移動体の領域として特定された閉領域の周囲の画素を用いて、補間演算により閉領域内の各画素の画素値を算出する。移動体消去部123は、算出された各画素の画素値によって、閉領域内の各画素の画素値を置き換える。
【0075】
以上の
図12の処理により、移動体消去部123は、移動体と近接する位置に異常物体が存在する場合でも、移動体の領域だけを異常物体の領域とは区別して特定できる。このため、移動体消去部123は、移動体と近接する異常物体を残したまま、移動体を消去することができる。
【0076】
ところで、
図9に示した移動体消去処理ループでは、対象バウンディングボックスと重複する領域からバウンディングボックスが検出されていない過去フレームが存在する場合には、その過去フレームにおける対象バウンディングボックスと同じ領域内の画像によって、対象バウンディングボックス内の画像が置き換えられる(ステップS27)。一方、上記のような過去フレームが存在しない場合には、現フレームの画像データだけを用いて、画像補間による移動体消去処理が行われる(ステップS28)。
【0077】
ステップS28の移動体消去処理は、補間演算によって生成された画像によって移動体の領域の画像が置き換えられる。置き換え後の画像は、補間演算によって生成されたものであるので、実空間において移動体を除去した場合にカメラ50に写る実際の背景画像と、完全には一致しない。置き換え後の画像と実際の背景画像との差が大きい場合には、移動体消去後の消去済みフレームを用いた異常物体の検出精度が悪化する可能性がある。
【0078】
一方、ステップS27の移動体消去処理は、対象バウンディングボックスにおける置き換え後の画像が、移動体を除去した場合の実際の背景画像と一致する可能性が高い。このため、移動体消去後の消去済みフレームを用いた異常物体の検出精度は比較的高いと考えられる。
【0079】
このような事情から、上記の移動体消去処理ループでは、対象バウンディングボックスと重複する領域からバウンディングボックスが検出されていない過去フレームが存在しない場合にのみ、画像補間による移動体消去処理が実行されるようになっている。これにより、移動体消去後の消去済みフレームを用いた異常物体の検出精度低下を抑制することができる。
【0080】
以下、
図10を参照して説明を続ける。
[ステップS31]移動体消去部123は、ステップS27またはステップS28の処理によって現フレームから移動体が消去された消去済みフレームを、消去済み画像記憶部113に格納する。
【0081】
[ステップS32]異常物体検出部124は、過去の画像フレームに対応する消去済みフレーム(過去の消去済みフレーム)を消去済み画像記憶部113から取得する。過去の消去済みフレームとしては、例えば、撮像時刻が現フレームより所定時間前の画像フレーム(例えば、1秒前の画像フレーム)に対応する消去済みフレームが取得される。異常物体検出部124は、現在の消去済みフレーム(ステップS31で格納された消去済みフレーム)と、取得された過去の消去済みフレームとの間で、同じ画素での画素値の差分を計算する。
【0082】
[ステップS33]異常物体検出部124は、ステップS32の計算で差分があったかを判定する。差分があった場合、処理がステップS34に進められ、差分がなかった場合、処理がステップS35に進められる。
【0083】
[ステップS34]異常物体検出部124は、異常物体が検出されたことを示すアラート情報を出力する。例えば、異常物体検出部124は、ステップS32で差分が発生した位置を示す位置情報を、異常物体が検出された画像フレームを示す識別番号とともにアラート情報として画像処理装置100の記憶装置に記録する。また、異常物体検出部124は、例えば、カメラ50から取得した動画像を表示装置に表示させながら、異常物体が検出された位置を矩形領域などによって示して動画像に重畳表示させてもよい。
【0084】
[ステップS35]異常物体検出部124は、異常物体の検出処理を終了するかを判定する。例えば、検出処理の終了操作がユーザによって行われた場合に、検出処理を終了すると判定される。検出処理を続行すると判定された場合、処理が
図8のステップS11に進められ、検出処理を終了すると判定された場合、
図8~
図10の処理が終了する。
【0085】
前述のように、
図12に示した移動体消去処理により、移動体と近接する位置に異常物体が存在する場合でも、移動体の領域だけを異常物体の領域とは区別して特定できる。このため、移動体と近接する異常物体を残したまま、元の画像フレームから移動体を正確に消去することができる。そして、このようにして生成された消去済みフレームを用いて異常物体を検出することで、移動体と近接する位置に異常物体が存在する場合でも、異常物体を精度よく検出できる。
【0086】
図13は、消去済みフレームを用いた異常物体検出処理の例を示す図である。
図10のステップS32において、異常物体検出部124は、例えば、現在の消去済みフレーム241と、過去の(
図13では1秒前の)消去済みフレーム242のそれぞれについて、輪郭検出を行う。
図13では、現在の消去済みフレーム241から輪郭検出によって生成された輪郭画像241aと、1秒前の消去済みフレーム242から輪郭検出によって生成された輪郭画像242aを示している。輪郭画像241a,242aは、元の画像の各画素のうち、輪郭の位置の画素の画素値を1とし、輪郭でない位置の画素の画素値を0としたものである。
【0087】
異常物体検出部124は、このようにして生成された輪郭画像241a,242aの間で、同じ画素での画素値の差分を計算する。輪郭画像241a,242aの間で画素値が異なる画素が、異常物体の領域の画素として検出される。
図13では例として、検出された異常物体の領域を含む矩形領域244を、現在の消去済みフレーム241に重畳して表示した画像243を示している。
【0088】
なお、
図10や
図13の処理では、現在の消去済みフレームと過去の消去済みフレームとの差分を基に異常物体が自動的に検出される。しかし、他の例として、異常物体検出部124は、このような異常物体の自動検出を行わずに、消去済み画像記憶部113に格納された消去済みフレームを含む動画像を出力して、表示装置に表示させてもよい。この場合、ユーザは、表示された動画像を視認することで異常物体を認識することができる。
【0089】
また、第2の実施の形態における移動体および異常物体としては、次のようなものを適用可能である。例えば、高速道路における異常物体検知に利用される場合、移動体としては、自動車やバイクなどの車両が検出され、異常物体としては、車両から落下した落下物、道路外から飛翔した物体、車両から降りた人、道路外から侵入した人などが検出される。また、車道や歩道における落下物検知に利用される場合、移動体としては、車両や人が検出され、異常物体としては、車両や人から落下した落下物が検出される。さらに、車道や公園などにおける散乱ごみや不法投棄の検知に利用される場合、移動体としては人が検出され、異常物体としては、散乱ごみや不法投棄された物体が検出される。
【0090】
また、上記の各実施の形態に示した画像処理装置1,100の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、磁気テープなどがある。光ディスクには、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク(Blu-ray Disc:BD、登録商標)などがある。
【0091】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CDなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0092】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
【符号の説明】
【0093】
1 画像処理装置
2 処理部
10 撮像画像
10a,10b 画像
11 検出領域
21 対象物
21a,22a 閉領域
21b 領域
22 物体