IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特許7212247目標検出プログラム、目標検出装置、及び目標検出方法
<>
  • 特許-目標検出プログラム、目標検出装置、及び目標検出方法 図1
  • 特許-目標検出プログラム、目標検出装置、及び目標検出方法 図2
  • 特許-目標検出プログラム、目標検出装置、及び目標検出方法 図3
  • 特許-目標検出プログラム、目標検出装置、及び目標検出方法 図4
  • 特許-目標検出プログラム、目標検出装置、及び目標検出方法 図5
  • 特許-目標検出プログラム、目標検出装置、及び目標検出方法 図6
  • 特許-目標検出プログラム、目標検出装置、及び目標検出方法 図7
  • 特許-目標検出プログラム、目標検出装置、及び目標検出方法 図8
  • 特許-目標検出プログラム、目標検出装置、及び目標検出方法 図9
  • 特許-目標検出プログラム、目標検出装置、及び目標検出方法 図10
  • 特許-目標検出プログラム、目標検出装置、及び目標検出方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-17
(45)【発行日】2023-01-25
(54)【発明の名称】目標検出プログラム、目標検出装置、及び目標検出方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20230118BHJP
【FI】
G06T7/00 300B
G06T7/00 350C
【請求項の数】 5
(21)【出願番号】P 2018207015
(22)【出願日】2018-11-02
(65)【公開番号】P2020071793
(43)【公開日】2020-05-07
【審査請求日】2021-07-09
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100094525
【弁理士】
【氏名又は名称】土井 健二
(74)【代理人】
【識別番号】100094514
【弁理士】
【氏名又は名称】林 恒徳
(72)【発明者】
【氏名】野村 洋
(72)【発明者】
【氏名】森本 広志
(72)【発明者】
【氏名】白木 良明
【審査官】新井 則和
(56)【参考文献】
【文献】国際公開第2011/161924(WO,A1)
【文献】特開2017-091103(JP,A)
【文献】特開平10-021389(JP,A)
【文献】小西 嘉典 外3名,累積勾配方向特徴量を用いたテクスチャレス物体検出,電子情報通信学会論文誌D Vol. J99-D No. 8,日本,一般社団法人電子情報通信学会,2016年08月01日
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
(57)【特許請求の範囲】
【請求項1】
全体画像と、前記全体画像を縮小した縮小画像を生成し、
前記縮小画像において第1の精度で目標物を探索し、
前記第1の精度で探索した結果、前記目標物の候補があると判定した場合、
前記目標物を含む領域を候補領域として抽出し、
前記第1の精度における確信度よりも高い確信度を使用する第2の精度で、縮小前の前記全体画像の前記候補領域において前記目標物を探索して、前記目標物の有無を判定する
処理をコンピュータに実行させる目標検出プログラム。
【請求項2】
前記縮小画像において第1の精度で含まれる目標物を、前記目標物の種別毎に探索し、
前記第2の精度で、縮小前の前記全体画像の前記候補領域において前記目標物を、前記目標物の種別毎に探索する
ことを特徴とする請求項1記載の目標検出プログラム。
【請求項3】
前記第1及び第2の精度で探索した結果に含まれる矩形に関する情報に基づいて、前記目標物を含む矩形を検出することで、前記目標物の有無を判定することを特徴とする請求項1記載の目標検出プログラム。
【請求項4】
全体画像と、前記全体画像を縮小した縮小画像を生成し、
前記縮小画像において第1の精度で目標物を探索し、前記第1の精度で探索した結果、前記目標物の候補があると判定した場合、
前記目標物を含む領域を候補領域として抽出し、
前記第1の精度における確信度よりも高い確信度を使用する第2の精度で、縮小前の前記全体画像の前記候補領域において前記目標物を探索して、前記目標物の有無を判定する目標検出部
を備えることを特徴とする目標検出装置。
【請求項5】
全体画像と、前記全体画像を縮小した縮小画像を生成し、
前記縮小画像において第1の精度で目標物を探索し、
前記第1の精度で探索した結果、前記目標物の候補があると判定した場合、
前記目標物を含む領域を候補領域として抽出し、
前記第1の精度における確信度よりも高い確信度を使用する第2の精度で、縮小前の前記全体画像の前記候補領域において前記目標物を探索して、前記目標物の有無を判定する
ことを特徴とする目標検出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、目標検出プログラム、目標検出装置、及び目標検出方法に関する。
【背景技術】
【0002】
近年、8K(4320ライン×7680画素)画像を超える多画素高精細な画像を用いて、目標物を検出する目標検出装置が注目されつつある。このような多画素高精細な画像を用いた目標検出装置では、精度良く、目標物を検出することが可能となる。しかし、多画素高精細な画像は、画素数が多いことから、目標検出装置においては、処理に時間がかかり、目標物検知に時間がかかる場合がある。
【0003】
一般に目標検出装置では、目標検出する画像全体に対して検出目標の画素数が小さいことから、目標検出する画像全体を検出目標のテンプレート画像などにより、スキャンすることが行われる。
【0004】
多画素画像を用いた目標検出装置として、例えば、以下のような技術がある。すなわち、多画素画像の画像信号を二値化後、局所空間相関処理とフレーム時間相関処理とを行って、その出力を用いてCPU(Central Processing Unit)により目標を検知する目標検出装置がある。この場合、局所空間相関処理では、画面毎に複数の画素からなる局所領域の各画素の信号を積算して閾値(ThP)を用いて二値化する処理が行われる。また、フレーム時間相関処理では、局所領域の代表画素の連続する複数フレームの同一位置の画素信号を積算して閾値(ThF)を用いて二値化する処理が行われる。
【0005】
この技術によれば、多画素の画像センサを使用し目標を自動的に検知する自動目標検知方法を開発することができる、とされる。
【先行技術文献】
【特許文献】
【0006】
【文献】特開平6-36033号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、上述した、目標検出する画像全体をスキャンして、繰り返し局所空間相関処理を行う方式では、処理時間が膨大になり、目標物の検知に時間がかかる場合がある。
【0008】
そこで、一開示は、より短時間で目標物を検出できるようにした目標検出プログラム、目標検出装置、及び目標検出方法を提供することにある。
【課題を解決するための手段】
【0009】
一開示は、入力画像に対して探索する領域を決定し、決定した前記領域において第1の精度で前記入力画像に含まれる目標物を探索し、前記第1の精度で探索した結果、前記目標物の候補があると判定した場合、前記第1の精度よりも高い第2の精度で、前記目標物の候補を含む領域において前記目標物を探索して、前記目標物の有無を判定する処理をコンピュータに実行させる目標検出プログラムにある。
【発明の効果】
【0010】
一開示によれば、より短時間で目標物を検出することが可能である
【図面の簡単な説明】
【0011】
図1図1は目標検出システムの構成例を表す図である。
図2図2は目標検出装置の構成例を表す図である。
図3図3は動作例を表すフローチャートである。
図4図4は「S3処理」の動作例を表すフローチャートである。
図5図5(A)と図5(B)は入力用ウィンドウの例を表す図である。
図6図6(A)は縮小画像、図6(B)は縮小画像に入力用ウィンドウを適用した場合の例を夫々表す図である。
図7図7(A)と図7(B)は検出結果の例を表す図である。
図8図8(A)は縮小画像に入力ウィンドウを適用した場合の例、図8(B)は検出結果の例を夫々表す図である。
図9図9(A)から図9(C)は矩形の関係例を表す図である。
図10図10は処理の流れを表す図である。
図11図11はハードウェア構成例を表す図である。
【発明を実施するための形態】
【0012】
以下、本発明を実施するための形態について説明する。なお、以下の実施例は開示の技術を限定するものではない。そして、各実施の形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0013】
[第1の実施の形態]
<目標検出システムの構成例>
図1は第1の実施の形態における目標検出システム10の構成例を表す図である。
【0014】
目標検出システム10は、カメラ100と目標検出装置200を備える。
【0015】
カメラ100は、複数の画素センサを備え、複数の画素センサにより多画素高精細画像の画像データを生成することが可能である。多画素高精細画像としては、例えば、12600ライン×19580画素の画像などがある。以下では、多画素構成画像のことを、単に「画像」と称する場合がある。また、画像データと画像とを区別しないで用いる場合がある。
【0016】
なお、多画素高精細画像は、例えば、カメラ100において1回の撮影で撮像された1フレーム分の画像でもよいし、1フレーム分の画像を複数回撮影して得られる画像でもよい。また、多画素高精細画像としては、例えば、4K(2160ライン×3840画素)や8Kなどの画像でもよいし、それ以外の画像でもよい。
【0017】
図1の例では、カメラ100は、船の画像を取得する例を表している。
【0018】
目標検出装置200は、カメラ100から出力された画像に対して、その画像に含まれる目標物を検出する。そして、目標検出装置200は、検出した目標物の画像などを目標類識別装置とモニタへ出力する。
【0019】
目標類識別装置では、例えば、どのような船であるか、或いはどの会社が製造した船であるかなど、目標物の画像を更に詳細に識別することが可能である。
【0020】
また、モニタでは、目標物の画像を表示することが可能である。
【0021】
<目標検出装置の構成例>
図2は目標検出装置200の構成例を表す図である。
【0022】
目標検出装置200は、縮小画像生成部210と、画像選択部220、目標検出部230、結果合成部240、及び出力情報生成部250を備える。
【0023】
縮小画像生成部210は、カメラ100から出力された画像(又は入力画像)に対して、縮小画像を生成する。縮小画像としては、例えば、カメラ100から出力された入力画像に対して、入力画像の縦方向の画素数を1倍、横方向の画素数を1倍にした画像(=入力画像=×1)がある。また、縮小画像としては、例えば、入力画像の縦方向の画素数を1/2倍、横方向の画素数を1/2倍、全部で1/4倍(=×1/4)にした縮小画像がある。さらに、縮小画像としては、例えば、入力画像に対して、縦方向に1/4倍、横方向を1/4倍、全部で1/16倍(=×1/16)にした縮小画像などがある。
【0024】
以下では、入力画像を含む一連の画像を縮小画像と称する場合がある。また、これら縮小画像の集合を、画像ピラミッドと称する場合がある。また、以下では、画素数と解像度とを区別しないで用いる場合がある。例えば、入力画像の画素数を縦方向と横方向と合わせて1/4倍にした画像と、解像度が1/4倍の画像とは同じ意味で用いる場合がある。
【0025】
また、縮小画像のうち、入力画像を解像度レベル0の画像、×1/4の縮小画像を解像度レベル1の画像、×1/16の縮小画像を解像度レベル2の画像、などとそれぞれ称する場合がある。解像度レベルは、例えば、1フレームの画像の解像度に応じたレベルを表す。縮小画像には、例えば、解像度レベルの異なる複数の縮小画像が含まれる。
【0026】
縮小画像生成部210は、生成した複数の縮小画像を画像選択部220へ出力する。
【0027】
画像選択部220は、複数の縮小画像に対して、解像度レベルが隣接するペアの縮小画像を選択する。例えば、画像選択部220は、解像度レベル0の縮小画像と、解像度レベル1の縮小画像とを1つのペアとして選択し、解像度レベル2の縮小画像と、解像度レベル3の縮小画像とを1つのペアとして選択する、などである。
【0028】
また、画像選択部220は、例えば、選択したペアのうち解像度レベルの低い縮小画像を目標検出部230へ出力する。そして、画像選択部220は、例えば、目標検出部230から、解像度レベルの低い縮小画像に対する検出結果を取得すると、解像度レベルの高い縮小画像のうち、検出結果に対応する一部の画像(例えば矩形画像)を目標検出部230へ出力する。
【0029】
さらに、画像選択部220は、入力画像(x1倍の縮小画像)を出力情報生成部250へ出力する。
【0030】
目標検出部230は、入力画像において探索する領域を決定し、決定した領域において第1の精度で入力画像に含まれる目標物を探索する。そして、目標検出部230は、第1の精度で探索した結果、目標物の候補があると判定したとき、第1の精度よりも高い第2の精度で、目標物の候補を含む領域において目標物を探索する。
【0031】
具体的には、目標検出部230は、例えば、以下の処理を行う。すなわち、目標検出部230は、ペアの縮小画像のうち、解像度レベルの低い縮小画像に対して、予め用意された入力用ウィンドウにより探索領域を決定する。そして、目標検出部230は、決定した探索領域において、縮小画像に含まれる目標物を探索する。目標検出部230は、目標物を検出すると、検出結果を画像選択部220と結果合成部240へ出力する。また、目標検出部230は、探索した結果、目標物があるときは、画像選択部220から取得した、ペアの縮小画像のうち解像度レベルの高い縮小画像の一部を、目標物を含む領域として、その領域において目標物を探索する。目標検出部230は、検出結果を結果合成部240へ出力する。
【0032】
このように、目標検出部230では、例えば、ペアの縮小画像のうち、解像度の低い画像を用いて、目標物を探索し、目標物(又は目標物の有無)を検出できると、解像度の高い画像の一部を用いて目標物を探索する。
【0033】
目標検出部230では、解像度レベルの低い画像に対しても、解像度レベルの高い画像に対しても、目標検出処理を行うことで、目標物を探索し、目標物(又は目標物の有無)を検出する。目標検出処理としては、例えば、ディープラーニングによる公知の物体検出手法が用いられてもよい。目標検出部230は、目標検出処理を行うことで、目標物を含む矩形の情報と、その目標物のクラス(又は種別)の情報などを取得することで、目標物(又は目標物の有無)の検出が可能となる。
【0034】
なお、以下において、目標検出処理に関し、解像度レベルの低い縮小画像に対する目標検出処理を「S1処理」、解像度レベルの高い縮小画像に対する目標検出処理を「S2処理」とそれぞれ称する場合がある。
【0035】
目標検出部230は、「S1処理」による検出結果と、「S2処理」による検出結果とを結果合成部240へ出力する。なお、いずれの検出結果も、例えば、画像内において目標物を含む矩形の情報が含まれる。
【0036】
結果合成部240は、第1及び第2の精度で探索した結果に基づいて、入力画像に含まれる目標物(又は目標物の有無)を検出する。具体的には、結果合成部240は、「S1処理」と「S2処理」により得た複数の矩形について、重なっているか否かを判定し、重なっていると判定したときは、いずれか一方を残し、他方を削除する。このように矩形を削除するアルゴリズムを削除アルゴリズムと称する場合がある。結果合成部240は、例えば、複数の矩形の中から、削除アルゴリズムを用いて、1つの矩形を選択する。選択した1つの矩形には、目標物が含まれるため、結果合成部240は、例えば、このような矩形を検出することで、目標物(又は目標物の有無)を検出する。結果合成部240は、このように選択した矩形に関する情報を出力情報生成部250へ出力する。
【0037】
出力情報生成部250は、結果合成部240から取得した結果に基づいて、入力画像に含まれる目標物の画像を出力する。具体的には、出力情報生成部250は、例えば、結果合成部240から取得した矩形に関する情報に基づいて、入力画像のうち、矩形内の画像を、目標物の画像として出力する。矩形内には、例えば、目標物の画像が写っているため、出力情報生成部250は、矩形の情報(中心座標、高さ、及び幅など)を利用して、入力画像から矩形内の画像を切り取ることで、目標物の画像を出力することが可能となる。出力情報生成部250は、目標物の画像と、クラスの情報などを目標類識別装置やモニタへ出力する。
【0038】
<動作例>
図3は、動作例を表すフローチャートである。
【0039】
目標検出装置200は、処理を開始すると(S10)、p=0から順番に、p=pmaxとなるまで、S12からS15までの処理を繰り返す。ここで、pは、例えば、0以上の整数を表す。解像度レベルの最大値をqとすると、q=2pmax+1(奇数)となる。
【0040】
次に、目標検出装置200は、入力画像から、縮小画像I2p,I2p+1のペアを生成する(S12)。
【0041】
縮小画像Iは、例えば、入力画像に対して、縦方向も横方向も画素数を(1/2)x倍にした画像を表す。
【0042】
例えば、縮小画像生成部210は、p=0のとき、入力画像に対して、画素数を1倍した縮小画像I(=入力画像)と、画素数を縦方向も横方向も(1/2)倍(全部で(1/4)倍)した縮小画像Iとを生成する。
【0043】
また、例えば、縮小画像生成部210は、p=1のとき、入力画像に対して、縦方向も横方向も(1/4)倍(全部で(1/16)倍)した縮小画像Iと、縦方向も横方向も(1/8)倍(全部で(1/64)倍)した縮小画像Iとを生成する。
【0044】
なお、縮小画像I2p,I2p+1のペアのうち、解像度のレベルが低い縮小画像は、I2p+1(p=0のときはI)となり、解像度のレベルが高い縮小画像は、I2p(p=0のときI)となる。
【0045】
言い換えると、縮小画像I2p+1は、入力画像に対して、入力画像の縦方向と横方向の画素をそれぞれ(1/2)2p+1倍した画像であり、縮小画像I2pは、入力画像に対して、入力画像の縦方向と横方向の画素をそれぞれ(1/2)2p倍した画像である。
【0046】
次に、目標検出装置200は、縮小画像I2p+1に対して、「S1処理」により、検出結果r2p+1を取得する(S13)。ここで、「S1処理」の詳細について説明する。
【0047】
例えば、目標検出部230は、縮小画像I2p+1に対して、予め決められた大きさの入力用ウィンドウ毎に目標検出処理を行うことで、「S1処理」を行う。
【0048】
図5(A)は、入力用ウィンドウの例を表す図である。本第1の実施の形態において利用される入力用ウィンドウのサイズは、kライン×k画素である。図5(A)に示す入力用ウィンドウのサイズは、k=512の例を表している。図5(A)において、×点は、中心画素を表す。
【0049】
ただし、目標検出部230は、例えば、図5(B)に示すように、入力用ウィンドウの一部が隣接する他の入力用ウィンドウの一部と重複させて、入力用ウィンドウ毎に目標検出処理を行う。例えば、図5(B)に示すように、実線で示す入力用ウィンドウでは、円で示された目標物の一部しか検出できないが、点線で示す入力用ウィンドウでは、目標物の全部が検出可能となる。入力用ウィンドウの一部を隣接する他の入力用ウィンドウと重複させることで、例えば、入力用ウィンドウ間に目標物が位置する場合でも目標物を検出ことが可能となる。
【0050】
なお、図5(B)では、画面上、横方向における重複範囲を表しているが、縦方向においても同様である。
【0051】
また、入力用ウィンドウの重複範囲は、図5(B)の例では、入力用ウィンドウサイズの1/2となっているが、1/2以外であってもよい。
【0052】
図6(A)は縮小画像I2p+1の例、図6(B)は縮小画像I2p+1に対して、入力用ウィンドウを適用した場合の例を表す図である。縮小画像I2p+1全体に対して入力用ウィンドウを適用すると、入力用ウィンドウの一部が縮小画像I2p+1からはみ出してしまう場合がある。そのため、例えば、縮小画像I2p+1の右端と下端については、入力用ウィンドウが縮小画像I2p+1からはみ出さないように、入力用ウィンドウの一部を切り上げるようにする。
【0053】
なお、縮小画像I2p+1のサイズは、予め把握可能であるため、そのサイズに応じて、縮小画像I2p+1に対して、どのように各入力用ウィンドウを適用するかは、例えば、目標検出部230の内部メモリなどに記憶されているものとする。例えば、縮小画像I2p+1の最も左上の画素を(0,0)として、縮小画像I2p+1の最も左上に適用される入力用ウィンドウは、中心座標は(x1,y1)、縦のサイズは512、横のサイズは512などである。このように、例えば、各入力用ウィンドウの中心座標の横と縦のサイズが内部メモリに記憶されているため、目標検出部230は、処理に際に内部メモリから読み出すことで、目標検出処理を行う範囲を把握することが可能となる。
【0054】
そして、目標検出部230は、入力用ウィンドウ毎に、入力用ウィンドウ内に含まれる縮小画像I2p+1の一部の画像に対して、目標検出処理を行う。目標検出処理は、例えば、Faster R-CNN(Regions with Convolutional Neural Networks)やYOLO v2(You Only Look Once version 2)、SSD(Single Shot Multibox Detector)などの公知のディープラーニングにより処理が行われもよい。
【0055】
Faster R-CNNは、例えば、物体検出(又は目標検出)のプロセスを1つのディープラーニングのネットワーク構造で実現した手法である。Faster R-CNNでは、最初に、入力画像に対してCNN(Convolutional Neural Network)により特徴量マップが生成され、特徴マップからRPN(Region Proposal Network)により物体候補が特定される。そして、物体候補領域の特徴量が抽出され、特徴量に対するクラス(又はカテゴリ)が分類され、一定以上の確信度(又は信頼度)の物体が検出結果として出力される。
【0056】
YOLO v2は、例えば、物体領域の推定と分類とをディープラーニングにより同時に行うことで、処理を高速化した手法である。YOLO v2では、画像全体が格子状のマスに分割され、分割された各マスを基準にして物体領域の推定とクラスの推定とが行われる。
【0057】
SSDは、例えば、YOLO v2と同様に、物体領域の推定と識別とを同時に行うCNNによる手法である。SSDでは、最初に、入力画像から所定の大きさの特徴量マップが取得され、その特徴量マップを用いて入力画像の物体領域候補が検出される。その際、SSDでは、特徴マップに対してアスペクト比の異なる複数のDefault Box(基準の矩形)を用いて物体領域の検出が行われる。そして、SSDでは、除々に小さな大きさの特徴量マップを取得して、特徴量マップ毎に、物体領域候補の検出を繰り返すことで、種々の種類の物体検出が行われる。出力結果としては、例えば、物体の位置を決定する4変数(矩形の中心座標(x,y)と、縦方向と横方向の長さh,w)と、各クラスの確信度がある。
【0058】
本第1の実施の形態では、例えば、SSDを用いて目標検出を行うものとして説明する。目標検出部230は、例えば、内部メモリにDefault Boxなどを記憶し、縮小画像I2p+1に対して、入力用ウィンドウ毎にSSD処理を行うことで、入力用ウィンドウ毎に、目標の位置を表す矩形の情報(矩形の中心座標と、矩形の横方向と縦方向の長さなど)と、その矩形の確信度(confidence)、及びその矩形内に含まれる目標物のクラスなどを出力する。なお、以下では、矩形の情報と確信度、及びクラスなどの情報をまとめて、矩形に関する情報と称する場合がある。
【0059】
入力用ウィンドウのサイズをk=512としたのは、例えば、SSDの処理のサイズが512×512であることを考慮したためである。
【0060】
そして、目標検出部230は、SSD処理を行って得た複数の矩形について、クラス毎に、各矩形の確信度が、閾値(Tsoft)(又は弱い閾値)未満の矩形を検出結果として用いないようにし、閾値以上の確信度を有する矩形を検出結果として用いるようにする。目標検出部230は、閾値以上の確信度を有する矩形に関する情報を、「S1処理」による出力結果として出力する。
【0061】
図7(A)は、縮小画像I2p+1に対して、SSD処理により「S1処理」を行ったときの出力結果r2p+1の例を表す図である。港に停泊する漁船と、橋の下を通過するタンカーに対して、複数の矩形が形成されている。これらの矩形は、全て、閾値(Tsoft)以上の確信度を有する矩形となる。具体的には、例えば、目標検出部230は、クラス毎に(「漁船」と「タンカー」毎に)、閾値(Tsoft)以上の確信度を有する矩形の情報と、その矩形のクラス(「漁船」又は「タンカー」)、及び確信度を含む出力結果r2p+1を得る。
【0062】
なお、目標検出部230は、本処理(S13)において、出力結果r2p+1のうち、「S2処理」に利用する矩形(以下では、「小さい矩形」と称する場合がある。)を抽出する。例えば、目標検出部230は、出力結果r2p+1に含まれる矩形のうち、クラス毎に、幅と高さがともにk/4以下の「小さい矩形」を抽出し、その「小さい矩形」に関する情報を、検出結果rsmallとして、画像選択部220へ出力する。
【0063】
図7(B)は、検出結果rsmallの例を表す図である。図7(B)の例では、目標検出部230は、「タンカー」のクラスにおける検出結果rsmall#1と、「漁船」のクラスにおける検出結果rsmall#2の2つの検出結果を、「小さい矩形」に関する検出結果として、画像選択部220へ出力する。
【0064】
図3に戻り、次に、目標検出装置200は、縮小画像I2pに対して、「S2処理」により、目標検出処理を行い、検出結果r2pを取得する(S14)。ここで、「S2処理」について詳細に説明する。
【0065】
「S2処理」では、最初に、画像選択部220において、縮小画像I2pに対して、目標検出処理を行う入力用ウィンドウを選択する。画像選択部220は、目標検出部230から出力された検出結果、すなわち、「小さい矩形」の検出結果を利用して、入力用ウィンドウを選択する。具体的には、画像選択部220は、例えば、「小さい矩形」を表す矩形の情報に基づいて、「小さい矩形」と重なっている入力用ウィンドウの全てを選択する。
【0066】
入力用ウィンドウは、「S1処理」と同じkライン×k画素のサイズであるが、「S2処理」では、「S1処理」と同様に、縮小画像I2pの全ての領域に対して、入力用ウィンドウを適用することはしない。
【0067】
「S2処理」で用いる縮小画像I2pは、「S1処理」で用いた縮小画像I2p+1よりも、解像度レベルが高い。このため、縮小画像I2pの全ての領域に対して、入力用ウィンドウを適用し、目標検出処理を行うと、「S1処理」よりも時間がかかってしまい、図3に示す処理全体も時間がかかる場合がある。
【0068】
そこで、本第1の実施の形態では、画像選択部220において、解像度レベルが縮小画像I2p+1よりも高い縮小画像I2pに対しては、「小さい矩形」と重なっている入力用ウィンドウを選択する。そして、目標検出部230において、選択した入力用ウィンドウに対して目標検出処理を行うようにする。このように、目標検出部230では、解像度レベルの高い縮小画像I2pの一部の領域において、目標検出処理を行うことで、より短時間で目標検出処理を行うようにしている。
【0069】
図8(A)は、検出結果rsmallと、その検出結果rsmallに対して選択された入力用ウィンドウとの例を表す図である。入力用ウィンドウ自体は、例えば、画像選択部220の内部メモリにおいて、解像度レベルに応じて予め記憶されている。そして、画像選択部220は、入力用ウィンドウの各矩形の情報及び中心座標と、「小さい矩形」の矩形の情報及び中心座標(これらは検出結果rsmallに含まれる)とを比較することで、「小さい矩形」と重なる入力用ウィンドウを選択することが可能である。「重なる」とは、例えば、「小さい矩形」を含む、或いは、「小さい矩形」と交わる入力用ウィンドウのことである。
【0070】
そして、画像選択部220は、入力用ウィンドウに含まれる縮小画像I2pの一部の画像を、目標検出部230へ出力する。
【0071】
目標検出部230では、入力用ウィンドウに含まれる縮小画像I2pの一部に対して、「S2処理」により目標検出処理を行う。「S2処理」においても、目標検出処理として、SSDが用いられる。この場合、目標検出部230は、クラス毎に、閾値(Thard)(又はい閾値)以上の確信度を有する矩形を検出結果r2pとして用い、閾値(Thard)未満の確信度を有する矩形は検出結果として用いないようにする。
【0072】
図8(B)は、検出結果r2pの例を表す図である。目標検出部230は、クラス毎に、矩形に関する情報を含む検出結果r2pを出力することになる。
【0073】
図3に戻り、次に、目標検出装置200は、p=pmaxか否かを確認する(S15)。p=pmaxでないとき(S15でNo)、S11へ移行して、上述した処理を繰り返す。
【0074】
例えば、p=0のとき、p=pmaxではないため(例えばpmax=1のとき)(S15でNo)、S11へ移行する。そして、画像選択部220は、p=1として、入力画像から、縮小画像I(入力画像を1/16にした画像)と縮小画像I(入力画像を1/64)のペアを選択する。そして、目標検出部230は、縮小画像Iに対して「S1処理」、縮小画像Iに対して「S2処理」を行う。「S2処理」の際、画像選択部220は、縮小画像Iに対する「S1処理」で得た「小さい矩形」の検出結果rsmallを利用して、入力用ウィンドウを選択する。
【0075】
このように、目標検出部230は、p=pmaxとなるまで、上述した処理を繰り返す。すなわち、目標検出部230は、p=pmaxとなるまで、縮小画像I2p,I2p+1のうち、解像度レベルの低い縮小画像I2p+1に対して「S1処理」を行い、解像度レベルの高い縮小画像I2pに対して「S2処理」を行い、ペア毎に、検出結果r2p,r2p+1を出力する。
【0076】
一方、p=pmaxのとき(S15でYes)、目標検出装置200は、「S3処理」を行う(S16)。
【0077】
図4は「S3処理」の動作例を表すフローチャートである。
【0078】
目標検出装置200は、「S3処理」を開始すると(S160)、クラス分けを行う(S161)。例えば、結果合成部240は、矩形に関する情報を、「漁船」のクラスと、「タンカー」のクラスとに分ける。
【0079】
次に、目標検出装置200は、各矩形について重なっているか否かを判定する(S162)。重なっているか否かの判定には、例えば、NMS(Non-Maximum Suppression)が用いられる。NMSは、重複した矩形を削除する手法で用いられるアルゴリズムであり、CNNを用いた物体検出方法で用いられる手法でもある。
【0080】
NMSでは、例えば、2つの矩形A,Bの重なり具合をIoU(Intersection over Union)により計算し、IoUが閾値TNMS以上である2つの矩形は(十分)重なっていると判定する。そして、NMSでは、十分重なっている2つの矩形A,Bのうち、確信度の低い矩形を削除し、これを他の矩形においても繰り返す。
【0081】
IoUは、例えば、2つの矩形の面積により表すことができる。図9(A)は2つの矩形A,Bの例を表す。各矩形A,Bは、例えば、各矩形に関する情報に含まれる中心座標と、幅と高さによるサイズとに基づいて、その位置や面積が決定される。
【0082】
図9(B)は、2つの矩形AとBの和集合の領域(Area of Union, AorB)を表す。この領域は、例えば、矩形Aにも含まれ、矩形Bにも含まれる領域の面積を表す。
【0083】
また、図9(C)は、2つの矩形AとBの積集合の領域(Area of Overlap (or Intersection), AandB)を表す。この領域は、例えば、矩形Aと矩形Bの重複した領域における面積を表す。
【0084】
IoUは、例えば、以下の式で表すことが可能である。
【0085】
IoU=(Area of Overlap)/(Area of Union) ・・・(1)
すなわち、結果合成部240は、矩形Aにも含まれ、かつ矩形Bにも含まれる領域の面積に対する、矩形Aと矩形Bの重複した領域の面積の比率が、閾値TNMS以上のとき、2つの矩形A,Bは重なっていると判定する。一方、結果合成部240は、比率が閾値TNMS未満のとき2つの矩形A,Bは重なっていないと判定する。
【0086】
例えば、結果合成部240は、検出結果r2p,r2p+1に含まれる全ての矩形に対して、クラス毎に、その中心座標と、縦方向及び横方向の長さとに基づいて、Area of OverlapとArea of Unionとを計算する。そして、結果合成部240は、その結果を式(1)に代入することで、IoUを得る。
【0087】
そして、結果合成部240は、IoUが閾値TNMS以上であるか否かを判定することで、2つの矩形が重なっているか否かを判定する(S162)。ここで、閾値TNMSとしては、例えば、「0.5」が用いられてもよいが、それ以外の値であってもよい。或いは、閾値TNMSとして、最初にある値を設定し、その結果に基づいてその値を変更するようにしてもよい。
【0088】
目標検出装置200は、2つの矩形が重なっているとき(S162でYes)、確信度が大きい矩形を残し、確信度の低い矩形を削除する(S163)。例えば、結果合成部240は、閾値TNMS以上となっている2つの矩形AとBについて、確信度の低い矩形を削除し、確信度の高い矩形を残し、これを、クラス毎に、他の矩形に対して繰り返す処理を行う。
【0089】
結果合成部240では、このようなNMS処理を繰り返すことで、「S3処理」を行い、例えば、クラス毎に、最も確信度の高い矩形を出力する。例えば、図8(B)の例では、結果合成部240は、「漁船」のクラスで最も確信度が高い矩形と、「タンカー」のクラスで最も確信度が高い矩形とに関する情報を出力情報生成部250へ出力する。
【0090】
目標検出装置200は、検出結果r2p,r2p+1に含まれる全ての矩形に対して、S161からS163までの処理を行うと、一連の処理を終了する(S164)。
【0091】
一方、目標検出装置200は、2つの矩形が重なっていないとき(S162でNo)、その2つの矩形に対して、矩形を削除する処理(S163)を行うことなく、「S3処理」を終了する(S164)。
【0092】
その後、出力情報生成部250は、画像選択部220から出力された入力画像のうち、確信度が最も高い矩形に含まれる画像を抽出する。その抽出画像が、例えば、目標物の画像として目標検出装置200から出力される。出力情報生成部250は、その画像の画像データとともに、矩形の情報、及びクラスの情報などを、モニタや目標類識別装置へ出力する。
【0093】
そして、図3に戻り、一連の処理が終了する(S17)。
【0094】
図10は、目標検出装置200において、処理の流れをまとめたものである。図10では、pmax=1の例を表している。
【0095】
目標検出装置200は、p=0のとき、解像度レベル0と1の2つの縮小画像I,Iを生成し(S12)、解像度レベル1の縮小画像Iに対して、「S1処理」を行い、例えば、目標物を含む矩形を検出する(S13)。目標検出装置200は、この検出結果を用いて、「S2処理」を行い、例えば、解像度レベル0の縮小画像Iにおいて、目標物を含む矩形を検出する(S14)。
【0096】
次に、目標検出装置200は、p=pmax=1のとき、解像度レベル2の縮小画像Iと解像度レベル3の縮小画像Iを生成する(S12)。そして、目標検出装置200は、解像度レベル2の縮小画像Iに対して「S1処理」、解像度レベル3の縮小画像Iに対して、「S2処理」を施して、それぞれ検出結果を得る。
【0097】
そして、目標検出装置200は、各検出結果を用いて、「S3処理」を行い、確信度が最も大きい矩形を取得し(S163)、入力画像のうち、その矩形内に含まれる画像を、目標画像として出力する(S16)。
【0098】
このように、本第1の実施の形態では、目標検出装置200は、解像度レベルの異なる2つの画像のうち、解像度レベルの高い画像全体の領域に対して目標検出処理を行うのではなく、解像度レベルの低い画像の検出結果を利用して、その一部に対して目標検出処理を行う。例えば、目標検出装置200は、解像度レベルが0の入力画像に対しても、その入力画像全体の領域に対して目標検出処理を行うのではなく、解像度レベル1の縮小画像の検出結果を利用して、入力画像の一部の領域において目標検出処理を行う。従って、解像度レベルの高い画像全体(又は入力画像全体)の領域を用いて目標検出処理を行う場合と比較して、本第1の実施の形態における目標検出装置200は、より短時間で目標検出を行うことが可能となる。
【0099】
とくに、入力画像が、例えば、8Kよりも解像度レベルの高い多画素高精細な画像の場合、1フレームの画像全体の領域に対して目標検出処理を行うと膨大な時間がかかる。しかし、本第1の実施の形態における目標検出装置200では、一部の領域を用いて目標検出処理を行っているため、全体の領域を用いて目標検出処理を行う場合と比較して、より短時間で目標検出が可能となる。
【0100】
なお、図10では、pmax=1の例で説明したが、pmaxは、2以上の整数であってもよい。
【0101】
[その他の実施の形態]
図11は、目標検出装置200のハードウェア構成例を表す図である。
【0102】
目標検出装置200は、IF(Interface)260、メモリ261、CPU262、ROM(Read Only Memory)263、及びRAM(Random Access Memory)264を備える。
【0103】
IF260は、例えば、カメラ100から出力された入力画像を入力し、入力画像をメモリ261へ出力したりCPU262へ出力したりする。また、IF260は、例えば、CPU262の指示により、メモリ261に記憶された目標画像の画像データを読み出して、目標類識別装置やモニタへ出力する。
【0104】
CPU262は、ROM263に記憶されたプログラムを読み出してRAM264にロードし、ロードしたプログラムを実行する。これにより、例えば、CPU262は、縮小画像生成部210、画像選択部220、目標検出部230、結果合成部240、及び出力情報生成部250の機能を実現する。従って、CPU262は、例えば、縮小画像生成部210、画像選択部220、目標検出部230、結果合成部240、及び出力情報生成部250に対応する。
【0105】
なお、CPU262に代えて、GPU(Graphics Processing Units)、GPGPU(General-purpose computing on graphics processing units)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)などのプロセッサやコントローラなどが用いられてもよい。特に、近年、GPGPUは多く用いられており、並列化による処理時間の短縮化が可能となる。
【0106】
以上まとめると、付記のようになる。
【0107】
(付記1)
入力画像に対して探索する領域を決定し、
決定した前記領域において第1の精度で前記入力画像に含まれる目標物を探索し、
前記第1の精度で探索した結果、前記目標物の候補があると判定した場合、前記第1の精度よりも高い第2の精度で、前記目標物の候補を含む領域において前記目標物を探索して、前記目標物の有無を判定する
処理をコンピュータに実行させる目標検出プログラム。
【0108】
(付記2)
更に、前記入力画像に対して第1の解像度を有する第1の画像と、前記第1の解像度より解像度の高い第2の解像度を有する第2の画像とを生成し、
前記第1の画像において探索する領域を決定し、
前記第1の精度は前記第1の解像度であり、前記第2の精度は前記第2の解像度であることを特徴とする
ことを特徴とする付記1記載の目標検出プログラム。
【0109】
(付記3)
前記第1の解像度を有する前記第1の画像において探索した結果、前記目標物があると判定した場合、前記第2の解像度を有する前記第2の画像における前記目標物を含む領域において、前記目標物を探索することを特徴とする付記2記載の目標検出プログラム。
【0110】
(付記4)
前記第1の解像度を有する前記第1の画像は、前記入力画像に対して、前記入力画像の縦方向と横方向の画素をそれぞれ(1/2)2p+1(pは0以上の整数)倍した画像であり、前記第2の解像度を有する前記第2の画像は、前記入力画像に対して、前記入力画像の縦方向と横方向の画素をそれぞれ(1/2)2p倍した画像であることを特徴とする付記2記載の目標検出プログラム。
【0111】
(付記5)
決定した前記領域において第1の精度で前記入力画像に含まれる目標物を、前記目標物の種別毎に探索し、
前記第2の精度で、前記目標物の候補を含む領域において前記目標物を、前記目標物の種別毎に探索する
ことを特徴とする付記1記載の目標検出プログラム。
【0112】
(付記6)
予め決められたサイズの入力用ウィンドウ毎に、前記第1の精度で前記入力画像に含まれる目標物を探索し、
前記入力用ウィンドウの一部は隣接する他の入力用ウィンドウの一部と重複することを特徴とする付記1記載の目標検出プログラム。
【0113】
(付記7)
前記第1の精度で探索した結果、前記目標物の候補があると判定した場合、前記目標物の候補を含む領域のうち、少なくとも一部の領域を前記第2の精度で、前記目標物を探索することを特徴とする付記1記載の目標検出プログラム。
【0114】
(付記8)
予め決められたサイズの入力用ウィンドウ毎に、前記第1の精度で前記入力画像に含まれる目標物を探索し、
前記一部の領域は、前記入力用ウィンドウのサイズをkライン×k画素としたとき、k/4ライン×k/4画素であることを特徴とする付記7記載の目標検出プログラム。
【0115】
(付記9)
決定した前記領域において、SSD(Single Shot Multibox Detector)を利用して、第1の精度で前記入力画像に含まれる目標物を探索し、
前記SSDを利用して、前記第2の精度で前記目標物の候補を含む領域において前記目標物を探索する
ことを特徴とする付記1記載の目標検出プログラム。
【0116】
(付記10)
前記第1及び第2の精度で探索した結果に含まれる矩形に関する情報に基づいて、前記目標物を含む矩形を検出することで、前記目標物の有無を判定することを特徴とする付記1記載の目標検出プログラム。
【0117】
(付記11)
前記第1及び第2の精度で探索した結果に含まれる第1の矩形に関する情報と第2の矩形に関する情報とに基づいて、前記第1の矩形と前記第2の矩形が重なっていると判定したとき、前記第1及び第2の精度で探索した結果に含まれる確信度の高い前記第1の矩形を残し、前記確信度の低い前記第2の矩形を削除することで、前記目標物を含む矩形を検出することを特徴とする付記10記載の目標検出プログラム。
【0118】
(付記12)
前記第1の矩形と前記第2の矩形が重なっているか否かは、前記第1の矩形にも含まれ、かつ前記第2の矩形にも含まれる領域の面積に対する、前記第1の矩形と前記第2の矩形の重複した領域の面積の比率が、閾値以上のとき、前記第1の矩形と前記第2の矩形は重なっていると判定し、前記比率が閾値未満のとき、前記第1の矩形と前記第2の矩形は重なっていないと判定することを特徴とする付記11記載の目標検出プログラム。
【0119】
(付記13)
入力画像に対して探索する領域を決定し、決定した前記領域において第1の精度で前記入力画像に含まれる目標物を探索し、前記第1の精度で探索した結果、前記目標物の候補があると判定した場合、前記第1の精度よりも高い第2の精度で、前記目標物の候補を含む領域において前記目標物を探索して、前記目標物の有無を判定する目標検出部
を備えることを特徴とする目標検出装置。
【0120】
(付記14)
目標検出装置における目標検出方法であって、
入力画像に対して探索する領域を決定し、決定した前記領域において第1の精度で前記入力画像に含まれる目標物を探索し、前記第1の精度で探索した結果、前記目標物の候補があると判定した場合、前記第1の精度よりも高い第2の精度で、前記目標物の候補を含む領域において前記目標物を探索して、前記目標物の有無を判定する
ことを特徴とする目標検出方法。
【符号の説明】
【0121】
10:目標検出システム 100:カメラ
200:目標検出装置 210:縮小画像生成部
220:画像選択部 230:目標検出部
240:結果合成部 250:出力情報生成部
262:CPU
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11