(57)【特許請求の範囲】
【請求項１】
画像から相互に異なる複数の大きさの物体像のそれぞれを検出可能な複数の検出部を有する検出装置であって、
入力された画像を構成する画素データを当該画像の行毎に前記複数の検出部へ出力する画像分配部と、
検出対象の物体が前記画像分配部に入力される画像中の異なる位置に撮影された場合の該画像中の当該物体像の画角と列方向の位置との関係に基づいて、前記複数の大きさのそれぞれに対して、当該大きさの物体像が存在しうる前記画像中の列方向の範囲を算出する算出部と、を有し、
前記画像分配部は、前記算出部にて算出された前記範囲のそれぞれに含まれる行の画素データを前記複数の検出部のうち当該範囲に対応する大きさの物体像を検出可能な検出部へ出力し、
前記複数の検出部のそれぞれは、前記画像分配部から出力された画素データが入力されると、該画素データで構成される画像から物体像を検出する検出装置。
【請求項２】
請求項１に記載の検出装置において、
前記算出部は、前記画像分配部に入力される画像の撮影条件に基づいて前記範囲を算出する検出装置。
【請求項３】
画像が入力される画像分配部と、画像から相互に異なる複数の大きさの物体像のそれぞれを検出可能な複数の検出部とを有する検出装置における負荷低減方法であって、
検出対象の物体が前記画像分配部に入力される画像中の異なる位置に撮影された場合の該画像中の当該物体像の画角と列方向の位置との関係に基づいて、前記複数の大きさのそれぞれに対して、当該大きさの物体像が存在しうる前記画像中の列方向の範囲を算出する算出処理と、
前記画像分配部が、前記入力された画像を構成する画素データを当該画像の行毎に前記複数の検出部へ出力する出力処理と、
前記複数の検出部のそれぞれが、前記画像分配部から出力された画素データが入力されると、該画素データで構成される画像から物体像を検出する処理と、を有し、
前記出力処理では、前記画像分配部が、前記算出処理で算出された前記範囲のそれぞれに含まれる行の画素データを前記複数の検出部のうち当該範囲に対応する大きさの物体像を検出可能な検出部へ出力する負荷低減方法。
【請求項４】
請求項３に記載の負荷低減方法において、
前記算出処理では、前記画像分配部に入力される画像の撮影条件に基づいて前記範囲を算出する負荷低減方法。
【請求項５】
画像の入力を受け付ける画像分配部と、画像から相互に異なる複数の大きさの物体像のそれぞれを検出可能な複数の検出部とを有するコンピュータを、請求項１または請求項２に記載の検出装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像から物体像を検出する検出装置、負荷低減方法およびプログラムに関する。
【背景技術】
【０００２】
近年、カメラ等によって撮影された画像から人物像等の物体像を検出するための技術が提案されている。
【０００３】
このような技術が例えば非特許文献１に開示されている。非特許文献１では、大きさが異なる複数の人物像が画像中に混在する場合、相互に異なる複数の大きさの人物像のそれぞれを検出可能な複数の検出手段を用意し、その複数の検出手段によって画像を網羅的にラスタスキャンする必要があることが指摘されている。
【０００４】
ここで、大きさがおおよそ同じである複数の物体がほぼ同一平面上に配置されている場合に、斜め上方から撮影した画像から物体像を検出する状況としては、例えば監視カメラ等、高所に設置されたカメラからフロア上の人物像を検出する場合などが考えられる。
【０００５】
この場合でも、大きさが異なる複数の物体像が画像中に混在することになるため、上述したように、複数の検出手段によって画像を網羅的にスキャンする必要がある。
【０００６】
図６は、画像中の複数の物体像のそれぞれを検出する検出装置の構成の一例を示すブロック図である。また、図７は、図６に示した検出装置１００が画像中の複数の物体像のそれぞれを検出する方法を説明するための図であり、（ａ）はほぼ同一平面上に配置された複数の物体と、画像を撮影するカメラとの位置関係一例を示す斜視図、（ｂ）は（ａ）に示すカメラが撮影した画像のイメージを示す図である。
【０００７】
なお、図７（ａ）に示す複数の物体のそれぞれは、大きさがほぼ同じであり、例えば人である。また、図７（ｂ）に示す画像中の物体像５１ａは、図７（ａ）に示す物体５１の物体像である。同様に、図７（ｂ）に示す画像中の物体像５２ａは、図７（ａ）に示す物体５２の物体像であり、図７（ｂ）に示す画像中の物体像５３ａは、図７（ａ）に示す物体５３の物体像である。
【０００８】
図６に示す検出装置１００は、画像分配部１０３と、物体像検出部１０４−１〜１０４−ｋと、検出結果統合部１０５とを備えている。
【０００９】
画像分配部１０３は、図７（ａ）に示すカメラ２００にて撮影された画像の入力を受け付ける。そして、画像分配部１０３は、受け付けた画像を物体像検出部１０４−１〜１０４−ｋの全てに出力する。
【００１０】
物体像検出部１０４−１〜１０４−ｋのそれぞれは、相互に異なる複数の大きさの物体像を検出することができる。物体像検出部１０４−１〜１０４−ｋのそれぞれは、画像分配部１０３から出力された画像を受け付ける。そして、物体像検出部１０４−１〜１０４−ｋのそれぞれは、受け付けた画像の全領域を走査することにより、当該物体像検出部が検出可能な大きさの物体像を検出する。例えば物体像検出部１０４−１は、受け付けた画像の全領域を走査することにより、物体像５３ａと同等の大きさの物体像を検出する。また、例えば物体像検出部１０４−２は、受け付けた画像の全領域を走査することにより、物体像５２ａと同様の大きさの物体像を検出する。また、例えば物体像検出部１０４−３は、受け付けた画像の全領域を走査することにより、物体像５３ａと同様の大きさの物体像を検出する。そして、物体像検出部１０４−１〜１０４−ｋのそれぞれは、検出結果を検出結果統合部１０５へ出力する。
【００１１】
検出結果統合部１０５は、物体像検出部１０４−１〜１０４−ｋのそれぞれから出力された検出結果を受け付ける。そして、検出結果統合部１０５は、受け付けた検出結果を統合する。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】松嶋ほか「人検出のためのＲｅａｌ  ＡｄａＢｏｏｓｔに基づくＨＯＧ特徴量の効率的な削減法」、情報処理学会 CVIM研究会 Vol.2009-CVIM-167 No.32 (2009/6/10)
【発明の概要】
【発明が解決しようとする課題】
【００１３】
図６および図７を参照しながら説明した検出装置１００においては、大きさが異なる複数の物体像のそれぞれを画像から検出するために、複数の物体像検出部の全てが同時に動作することになる。この場合、検出装置１００における処理負荷が著しく増大してしまうという問題点がある。
【００１４】
本発明は、大きさがおおよそ同じである複数の物体がほぼ同一平面上に配置されている場合に、それら複数の物体を撮影した画像中の複数の物体像のそれぞれを検出する際の処理負荷が著しく増大してしまうのを回避することができる検出装置、負荷低減方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記目的を達成するために本発明の検出装置は、画像から相互に異なる複数の大きさの物体像のそれぞれを検出可能な複数の検出部を有する検出装置であって、
入力された画像を構成する画素データを当該画像の行毎に前記複数の検出部へ出力する画像分配部と、
検出対象の物体が前記画像分配部に入力される画像中の異なる位置に撮影された場合の該画像中の当該物体像の画角と列方向の位置との関係に基づいて、前記複数の大きさのそれぞれに対して、当該大きさの物体像が存在しうる前記画像中の列方向の範囲を算出する算出部と、を有し、
前記画像分配部は、前記算出部にて算出された前記範囲のそれぞれに含まれる行の画素データを前記複数の検出部のうち当該範囲に対応する大きさの物体像を検出可能な検出部へ出力し、
前記複数の検出部のそれぞれは、前記画像分配部から出力された画素データが入力されると、該画素データで構成される画像から物体像を検出する。
【００１６】
また、上記目的を達成するために本発明の負荷低減方法は、画像が入力される画像分配部と、画像から相互に異なる複数の大きさの物体像のそれぞれを検出可能な複数の検出部とを有する検出装置における負荷低減方法であって、
検出対象の物体が前記画像分配部に入力される画像中の異なる位置に撮影された場合の該画像中の当該物体像の画角と列方向の位置との関係に基づいて、前記複数の大きさのそれぞれに対して、当該大きさの物体像が存在しうる前記画像中の列方向の範囲を算出する算出処理と、
前記画像分配部が、前記入力された画像を構成する画素データを当該画像の行毎に前記複数の検出部へ出力する出力処理と、
前記複数の検出部のそれぞれが、前記画像分配部から出力された画素データが入力されると、該画素データで構成される画像から物体像を検出する処理と、を有し、
前記出力処理では、前記画像分配部が、前記算出処理で算出された前記範囲のそれぞれに含まれる行の画素データを前記複数の検出部のうち当該範囲に対応する大きさの物体像を検出可能な検出部へ出力する。
【００１７】
また、上記目的を達成するために本発明のプログラムは、画像の入力を受け付ける画像分配部と、画像から相互に異なる複数の大きさの物体像のそれぞれを検出可能な複数の検出部とを有するコンピュータを、上記の検出装置として機能させる。
【発明の効果】
【００１８】
本発明は以上説明したように構成されているので、複数の物体像検出部の全てが同時に動作することがない。
【００１９】
従って、大きさがおおよそ同じである複数の物体がほぼ同一平面上に配置されている場合に、それら複数の物体を撮影した画像中の複数の物体像のそれぞれを検出する際の処理負荷が著しく増大してしまうのを回避することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の検出装置の実施の一形態の構成を示すブロック図である。
【図２】図１に示したスケール配列算出部が受け付けるパラメーターを説明するための図であり、（ａ）は画像を撮影するカメラの設置位置と物体との位置関係の一例を示す正面図であり、（ｂ）は（ａ）に示すｘ−ｘ´が鉛直方向になるように（ａ）を回転させた図である。
【図３】図１に示したスケール配列算出部が生成するスケール配列を説明するための図であり、（ａ）は生成されたスケール配列の一例を示す図、（ｂ）は図２（ａ）の（Ａ）に設置されたカメラが撮影した画像のイメージを示す図である。
【図４】図１に示したスケール配列算出部がスケール配列を生成する動作の一例を説明するためのフローチャートである。
【図５】図１に示したスケール配列算出部がスケール配列を生成する動作の他の例を説明するためのフローチャートである。
【図６】画像中の複数の物体像のそれぞれを検出する検出装置の構成の一例を示すブロック図である。
【図７】図６に示した検出装置が画像中の複数の物体像のそれぞれを検出する方法を説明するための図であり、（ａ）はほぼ同一平面上に配置された複数の物体と、画像を撮影するカメラとの位置関係一例を示す斜視図、（ｂ）は（ａ）に示すカメラが撮影した画像のイメージを示す図である。
【発明を実施するための形態】
【００２１】
以下に、本発明の実施の形態について図面を参照して説明する。
【００２２】
まず、上述した図７を参照しながら、本発明の概要について説明する。
【００２３】
図７に示した例において、例えば物体５３は物体５１よりもカメラ２００に対して遠方に存在している。従って、図７（ｂ）に示した画像中で、物体像５３ａは物体像５２ａよりも小さくなっている。つまり、複数の物体像のそれぞれの大きさは、その物体像の画像中の位置に応じて異なる。
【００２４】
本発明の検出装置は、図６に示した検出装置１００と同様に、画像分配部と複数の物体像検出部とを備えるが、画像中の位置に応じて物体像の大きさが異なることを利用した動作を行う。具体的には、本発明の検出装置の画像分配部は、複数の物体像検出部の全てへ画像を出力するのではなく、その画像の複数の行のうち、複数の物体像検出部のそれぞれが検出可能な大きさの物体像が含まれる行の画素データだけを、その物体像検出部に出力する。これにより、複数の物体像検出部の全てが同時に動作することがなくなる。
【００２５】
図１は、本発明の検出装置の実施の一形態の構成を示すブロック図である。
【００２６】
本実施形態の検出装置１０は図１に示すように、算出部であるスケール配列算出部１１と、計数部１２と、画像分配部１３と、検出部である物体像検出部１４−１〜１４−ｋと、検出結果統合部１５とを備えている。
【００２７】
スケール配列算出部１１は、画像を撮影する際の撮影条件を示すパラメーターを検出装置１０の外部から受け付ける。なお、スケール配列算出部１１は、上述したパラメーターを予め記憶しておいてもよい。
【００２８】
図２は、図１に示したスケール配列算出部１１が受け付けるパラメーターを説明するための図であり、（ａ）は画像を撮影するカメラの設置位置と物体との位置関係の一例を示す正面図であり、（ｂ）は（ａ）に示すｘ−ｘ´が鉛直方向になるように（ａ）を回転させた図である。なお、図２（ａ）において（Ａ）は、カメラが設置されている位置を示しており、（Ｂ）〜（Ｆ）はカメラが設置されている位置（Ａ）からの方向を示している。また、図２（ｂ）において（Ｂ）〜（Ｅ）は、図２（ａ）に示す（Ｂ）〜（Ｅ）と同じものである。
【００２９】
スケール配列算出部１１は、図２（ａ）に示すａc、ａr、ｈ0、ｈ1をパラメーターとして受け付ける。ａcは画像を撮影するカメラの画角であり、ａrは画角の中心の鉛直方向に対する角度であり、ｈ0はカメラを設置した高さであり、ｈ1は物体のおおよその大きさ（高さ）である。
【００３０】
なお、図２（ａ）において、ａpはカメラから物体５３の最上部への鉛直方向に対する角度であり、ａqはカメラから物体５３の最下部への鉛直方向に対する角度であり、ｄはカメラの鉛直下から物体５３までの距離である。
【００３１】
また、図２（ｂ）において、ｆ0は画角ａcの範囲の最上部から、物体が存在し得る位置までの距離であり、ｆは物体が存在し得る位置から物体５３の最上部までの距離である。
【００３２】
スケール配列算出部１１は、受け付けたパラメーターに基づいてスケール配列を生成する。
【００３３】
図３は、図１に示したスケール配列算出部１１が生成するスケール配列を説明するための図であり、（ａ）は生成されたスケール配列の一例を示す図、（ｂ）は図２（ａ）の（Ａ）に設置されたカメラが撮影した画像のイメージを示す図である。なお、図３（ｂ）において（Ｂ）〜（Ｄ）、（Ｆ）は、図２（ａ）に示す（Ｂ）〜（Ｄ）、（Ｆ）と同じものである。
【００３４】
スケール配列では、図３（ｂ）に示すｎfおよびｎhと、複数の物体像検出部のそれぞれとが対応付けられている。なお、図３（ａ）に示すスケール配列は、物体像検出部の数が７つである場合を一例として示している。スケール配列において、複数の物体像検出部のそれぞれは、変数ｊによって識別されている。以降の説明では、図３（ａ）に示したスケール配列における物体像検出部１，２，３・・・のそれぞれは、図１に示した物体像検出部１４−１，１４−２，１４−３・・・のそれぞれを示しているものとする。
【００３５】
図３（ｂ）においてｎは、画像の行数を表している。つまり、図３（ｂ）では、画像の最上位の行から数えてｎ0番目から下位の行に物体像が現れうることを示している。また、画像の最上位の行から数えて（ｎ0＋ｎf）番目の行が物体像５３の最上部となることを示している。また、ｎhは物体像５３の大きさに相当する行数を示しており、ｎcは画角ａcに相当する行数を示している。従って、スケール配列においてｎfの列とｎhの列とは、画像中の複数の物体像のそれぞれの大きさと、当該複数の物体像のそれぞれの当該画像中の列方向の位置との関係を示していることになる。
【００３６】
スケール配列算出部１１は、スケール配列の各物体像検出部の列に格納する値として０または１のいずれかを選択する。なお、スケール配列は、ｎfと同じ行数となるため、図３（ａ）では格納された値に変化のあった行だけを示している。また、スケール配列算出部１１がスケール配列を生成する動作の詳細については後述する。
【００３７】
再度、図２を参照すると、計数部１２は、例えばカメラ等の画像供給手段がラスタスキャンの順番に従って画素を走査することによって提供する画像の入力を受け付ける。なお、ここでは単純化のためプログレッシブスキャンであるものとする。そして、計数部１２は、受け付けた画像の走査線を検出することにより、その走査線に対応する画像の行数を最上位の行から計数する。
【００３８】
画像分配部１３は、計数部１２へ提供される画像と同じ画像の入力を受け付ける。そして、画像分配部１３は、受け付けた画像を構成する画素データを、その画像の行毎に物体像検出部１４−１〜１４−ｋへ出力する。このとき、画像分配部１３は、計数部１２における計数結果と、スケール配列算出部１１にて生成されたスケール配列とに基づき、物体像検出部１４−１〜１４−ｋのうち、その行の画素データを出力する物体像検出部を選択する。具体的には、スケール配列が例えば図３（ａ）に示したものであるとすると、計数部１２における計数結果が２５５である場合、画像分配部１３は、受け付けた画像の最上位の行から数えて２５５行目の画素データを、スケール配列に格納された値が１に対応する物体像検出部１４−２，１４−３へ出力する。
【００３９】
物体像検出部１４−１〜１４−ｋのそれぞれは、相互に異なる複数の大きさの物体像を検出することができる。物体像検出部１４−１〜１４−ｋのそれぞれは、画像分配部１３から出力された画素データを受け付けると、受け付けた画素データが示す画像を走査することにより、当該物体像検出部が検出可能な大きさの物体像を検出する。そして、物体像検出部１４−１〜１４−ｋのそれぞれは、検出結果を検出結果統合部１５へ出力する。
【００４０】
検出結果統合部１５は、物体像検出部１４−１〜１４−ｋのそれぞれから出力された検出結果を受け付ける。そして、検出結果統合部１５は、受け付けた検出結果を統合する。
【００４１】
以下に、上記のように構成された検出装置１０の動作について説明する。
【００４２】
まず、図１に示したスケール配列算出部１１がスケール配列を生成する動作について説明する。
【００４３】
図４は、図１に示したスケール配列算出部１１がスケール配列を生成する動作の一例を説明するためのフローチャートである。
【００４４】
まず、スケール配列算出部１１は、スケール配列を初期化する。具体的には、スケール配列算出部１１は、スケール配列において、複数の物体像検出部の列の値を全て０にする。また、スケール配列算出部１１は、変数ｊと、変数ｊの値毎に変数ｇj,0およびｇj,1とを設定し、変数ｇj,0の値を全て２ｎcにし、ｇj,1の値を全て０にする。さらに、スケール配列算出部１１は、画像の走査線の行番号に相当するｎfの値を初期値としてｎ0にする。ここで、ｎ0を算出する方法について説明する。
【００４５】
まず、図２（ｂ）に示したｆ0、ｆ、ｈはそれぞれ、以下に示す式（１）〜（３）のそれぞれにて表される。
【００４６】
【数１】
0005529784.tif 000002
【００４７】
【数２】
0005529784.tif 000003
【００４８】
【数３】
0005529784.tif 000004
【００４９】
また、図２（ａ）に示したａpおよびａqのそれぞれは、以下に示す式（４）および式（５）のそれぞれにて表される。
【００５０】
【数４】
0005529784.tif 000005
【００５１】
【数５】
0005529784.tif 000006
【００５２】
従って、上記の式（２）に示したｆ、および、式（３）に示したｈは、以下に示す式（６）および式（７）のようにｄの関数として表すことができる。
【００５３】
【数６】
0005529784.tif 000007
【００５４】
【数７】
0005529784.tif 000008
【００５５】
ここで、（ａr＋ａc）＜（π／２）である場合、上記の式（６）に示したｆ（ｄ）は以下に示す式（８）で表すことができる。
【００５６】
【数８】
0005529784.tif 000009
【００５７】
従って、ｄが大きい場合、ｆ（ｄ）＜０となる。すなわち、ｄが大きい場合、その位置にいる物体の物体像は、画角から外れて画像中に現れないことになる。この場合、物体像の検出を画像の最上位の行から開始すればよいことになる。
【００５８】
一方、（ａr＋ａc）≧（π／２）である場合には、ｄ→∞としたときｌｉｍ（ｆ（ｄ））＝０となり、画像中でｆ0＝（ｔａｎ（ａc）−ｔａｎ（（π／２）−ａr））よりも上の位置には物体像は現れない。従って、画像の最上位の行から数えて、以下に示す式（９）にて表されるｎ0番目の行から物体像の検出を開始すればよいことになる。
【００５９】
【数９】
0005529784.tif 000010
【００６０】
再度、図４を参照すると、次にスケール配列算出部１１は、ｎhとｎfとの関係を示す関数を用いてｎfからｎhを算出する（ステップＳ２）。ここで、図３（ｂ）に示したｎhとｎfとの関係を示す関数を導出する手順について説明する。
【００６１】
まず、図２（ａ）に示したｄと、図２（ｂ）に示したｆとの関係は、以下に示す式（１０）にて表される。
【００６２】
【数１０】
0005529784.tif 000011
【００６３】
上記の式（１０）を用いると、図２（ｂ）に示したｈは、以下に示すような導出過程を経て、以下の式（１１）に示すようにｆの関数として表すことができる。
【００６４】
【数１１】
0005529784.tif 000012
【００６５】
上記の式（１１）によって示されるｈとｆとの関係から、ｎhとｎfとの関係は、以下に示す式（１２）にて表される。
【００６６】
【数１２】
0005529784.tif 000013
【００６７】
スケール配列算出部１１は、ステップＳ２において上記の式（１１）および式（１２）を用いてｎhを算出する。
【００６８】
再度、図４を参照すると、次にスケール配列算出部１１は、変数ｊの値を物体像検出部の数であるｋとする（ステップＳ３）。
【００６９】
次に、スケール配列算出部１１は、ｇj,1＝０かつｎh＞ｎjが成立するかどうかを判定する（ステップＳ４）。なお、ｎjは、複数の物体像検出部のうち変数ｊが示す物体像検出部が検出可能な物体像の大きさに相当する行数である。なお、ｎjの値は、変数ｊと対応付けられており、変数ｊに対して昇順に整列されているものとする。
【００７０】
ステップＳ４における判定の結果、ｇj,1＝０かつｎh＞ｎjが成立する場合、スケール配列算出部１１は、ｇj,1＝１とし、ｇj,0＝ｎfとする（ステップＳ５）。
【００７１】
そして、スケール配列算出部１１は、ｇj,1＝１か成立するかどうかを判定する（ステップＳ６）。
【００７２】
ステップＳ６における判定の結果、ｇj,1＝１が成立する場合、スケール配列算出部１１は、スケール配列において、複数の物体像検出部のうち変数ｊが示す物体像検出部とｎfの値とに対応する値を１とする（ステップＳ７）。
【００７３】
そして、スケール配列算出部１１は、変数ｊを（ｊ−１）に更新する（ステップＳ８）。
【００７４】
次に、スケール配列算出部１１は、変数ｊ＜１が成立するかどうかを判定する（ステップＳ９）。
【００７５】
ステップＳ９における判定の結果、変数ｊ＜１が成立しない場合、ステップＳ４の動作へ遷移する。
【００７６】
一方、ステップＳ９における判定の結果、変数ｊ＜１が成立する場合、スケール配列算出部１１は、ｎfを（ｎf＋１）に更新する（ステップＳ１０）。
【００７７】
そして、スケール配列算出部１１は、ｎf＞２ｎcが成立するかどうかを判定する（ステップＳ１１）。
【００７８】
ステップＳ１１における判定の結果、ｎf＞２ｎcが成立する場合、処理を終了する。
【００７９】
一方、ステップＳ１１における判定の結果、ｎf＞２ｎcが成立しない場合には、ステップＳ２の動作へ遷移する。
【００８０】
なお、ステップＳ４における判定の結果、ｇj,1＝０かつｎh＞ｎjが成立しない場合、スケール配列算出部１１は、ｇj,1＝１かつｎf−ｇj,0＞ｎjかつ
【００８１】
【数１３】
0005529784.tif 000014
【００８２】
が成立するかどうかを判定する（ステップＳ１２）。
【００８３】
ステップＳ１２における判定の結果、ｇj,1＝１かつｎf−ｇj,0＞ｎjかつ
【００８４】
【数１４】
0005529784.tif 000015
【００８５】
が成立する場合、スケール配列算出部１１は、ｇj,1＝２とする（ステップＳ１３）。そして、ステップＳ６の動作へ遷移する。
【００８６】
一方、ステップＳ１２における判定の結果、ｇj,1＝１かつｎf−ｇj,0＞ｎjかつ
【００８７】
【数１５】
0005529784.tif 000016
【００８８】
が成立しない場合には、ステップＳ６の動作へ遷移する。
【００８９】
また、ステップＳ６における判定の結果、ｇj,1＝１が成立しない場合、スケール配列算出部１１は、スケール配列において、複数の物体像検出部のうち変数ｊが示す物体像検出部とｎfの値とに対応する値を０とする（ステップＳ１４）。そして、ステップＳ８の動作へ遷移する。
【００９０】
このように、スケール配列算出部１１は、ｎfの値を１つずつ増やしながら、また、ｎhの値とｎjの値とを比較しながら、スケール配列を生成する。
【００９１】
また、スケール配列算出部１１は、変数ｊの値をｋから１まで変化させながら、複数の物体像検出部のうち、上述したステップＳ４にてｎh＞ｎjとなっている物体像検出部が選択されるように、ｇj,1の値を１にする。つまり、上述したステップＳ４では、複数の物体像検出部のそれぞれへ画素データの出力を開始するための開始条件を満たしているかどうかを判定していることになる。
【００９２】
一方、スケール配列算出部１１は、上述したステップＳ１２において、検出可能な物体像の大きさが、変数ｊが示す物体像検出部よりも２段階高い物体像検出部への画素データの出力が開始されており、かつ、変数ｊが示す物体像検出部にｎj行以上の画素データが出力されている場合、その物体像検出部が選択されないように、ｇj,1の値を２にする。つまり、上述したステップＳ１２では、物体像検出部への画素データの出力を停止するため終了条件を満たしているかどうかを判定していることになる。
【００９３】
上述したような動作に従ってスケール配列を生成すると、複数の物体像検出部のうち概ね２〜３の物体像検出部が、物体像を検出するために同時に動作することになる。図３（ａ）に示したスケール配列において「１」を行方向に数えた数が、同時に動作する物体像検出部の数となる。
【００９４】
なお、上述したステップＳ４における開始条件、および、ステップＳ１２における終了条件は、1つの例であって他の条件としてもよい。
【００９５】
図５は、図１に示したスケール配列算出部１１がスケール配列を生成する動作の他の例を説明するためのフローチャートである。
【００９６】
図５に示すフローチャートでは、ステップＳ３２における条件が終了条件となる。具体的には、ステップＳ３２により、ｎhの値が、物体像検出部へ画素データの出力を開始した時の値の３倍よりも大きくなると、その物体像検出部への画素データの出力が終了する。
【００９７】
なお、図５に示したフローチャートのステップＳ３２以外の動作は、図４に示したフローチャートの動作と同じなので、ここでは説明を省略する。
【００９８】
次に、画像分配部１３がスケール配列を用いて物体像検出部１４−１〜１４−ｋへ画素データを出力するときの動作について説明する。ここでは、図３（ａ）に示したスケール配列が生成されているものとする。
【００９９】
なお、図３（ａ）に示したスケール配列は、図２（ａ）に示したｈ0、ｈ1、ａc、ａrのそれぞれが、ｈ0＝２、ｈ1＝１、ａc＝３０度、ａr＝７５度である場合のものである。
【０１００】
また、図３（ａ）に示したスケール配列は、物体像検出部１４−１，１４−２，１４−３のそれぞれにて検出可能な物体像の大きさに相当する行数が３６行、７２行、１０８行である場合のものであり、物体像検出部１４−１が最も小さな物体像を検出可能である。
【０１０１】
まず、図３（ａ）に示すスケール配列には、ｎfが１２８以下の行が存在しない。スケール配列がこのように設定されているのは、ｎ0＝１２９であるためである。従って、画像分配部１３は、受け付けた画像の最上位の行から数えて１２９番目よりも上位の行の画素データを物体像検出部１４−１〜１４−ｋのいずれにも出力しない。
【０１０２】
また、図３（ａ）に示すスケール配列においてｎfが１２９〜１６６に対応する値が１となっている物体像検出部がない。スケール配列がこのように設定されているのは、ｎfが１２９〜１６６の場合、ｎhが３６行未満となり、最も小さな物体像を検出可能な物体像検出部１４−１でも検出することができないためである。従って、画像分配部１３は、受け付けた画像の最上位の行から数えて１２９番目〜１６６番目の行の画素データも物体像検出部１４−１〜１４−ｋのいずれにも出力しない。
【０１０３】
但し、物体像検出部１４−１の処理によっては、３６行未満の大きさの物体像を検出することが可能な場合もある。この場合には、スケール配列を書き換えておけばよい。
【０１０４】
また、図３（ａ）に示すスケール配列において、ｎfが１６７〜２０８に対応する値が１となっているのは物体像検出部１４−１である。スケール配列がこのように設定されているのは、ｎfが１６７になると、ｎhが物体像検出部１４−１にて検出できる物体像の大きさに相当する行数（３６行）以上となり、変数ｊ＝１の場合に上述したステップＳ４の開始条件を満足するからである。従って、画像分配部１３は、受け付けた画像の最上位の行から数えて１６７番目〜２０８番目の行の画素データを物体像検出部１４−１へ出力する。
【０１０５】
また、図３（ａ）に示すスケール配列において、ｎfが２０９〜２５４に対応する値が１となっているのは物体像検出部１４−１，１４−２である。スケール配列がこのように設定されているのは、ｎfが２０９になると、ｎhが物体像検出部１４−２にて検出できる物体像の大きさに相当する行数（７２行）以上の値となり、変数ｊ＝２の場合に上述したステップＳ４の開始条件を満足するからである。また、変数ｊ＝１の場合に上述したステップＳ１２の終了条件を満足していないからである。従って、画像分配部１３は、受け付けた画像の最上位の行から数えて２０９番目〜２５４番目の行の画素データを物体像検出部１４−１，１４−２へ出力する。
【０１０６】
また、図３（ａ）に示すスケール配列において、ｎfが２５５〜３０７に対応する値が１となっているのは物体像検出部１４−２，１４−３である。スケール配列がこのように設定されているのは、ｎfが２５５になると、ｎhが物体像検出部１４−３にて検出できる物体像の大きさに相当する行数（１０８行）以上の値となり、変数ｊ＝３の場合に上述したステップＳ４の開始条件を満足するからである。また、変数ｊ＝２の場合に上述したステップＳ１２の終了条件を満足しておらず、変数ｊ＝１の場合に上述したステップＳ１２の終了条件を満足するためである。従って、画像分配部１３は、受け付けた画像の最上位の行から数えて２５５番目〜３０７番目の行の画素データを物体像検出部１４−２，１４−３へ出力する。
【０１０７】
以降、同様に、画像分配部１３は、スケール配列に従い、物体像検出部１４−１〜１４−ｋのそれぞれに選択的に画素データを出力する。
【０１０８】
このように本実施形態の検出装置１０において画像分配部１３は、受け付けた画像を構成する画素データを当該画像の行毎に物体像検出部１４−１〜１４−ｋへ出力する。このとき、画像分配部１３は、物体像検出部１４−１〜１４−ｋのうち当該行の画素データを出力する物体像検出部を、当該画像における当該行の位置に応じて選択する。
【０１０９】
そして、物体像検出部１４−１〜１４−ｋのそれぞれは、画像分配部１３から出力された画素データを受け付けると、受け付けた画素データが示す画像から物体像を検出する。
【０１１０】
これにより、物体像検出部１４−１〜１４−ｋの全てが同時に動作することがない。
【０１１１】
従って、大きさがおおよそ同じである複数の物体がほぼ同一平面上に配置されている場合に、それら複数の物体を撮影した画像中の複数の物体像のそれぞれを検出する際の処理負荷が著しく増大してしまうのを回避することができる。
【０１１２】
また、検出装置１０の消費電力を抑制することができ、物体像検出部１４−１〜１４−ｋを検出装置１０の中で使い回すようにすれば、検出装置１０の規模を小さくすることもできる。
【０１１３】
なお、本発明においては、検出装置内の処理は上述の専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムを検出装置にて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムを検出装置に読み込ませ、実行するものであっても良い。検出装置にて読取可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、ＤＶＤ、ＣＤなどの移設可能な記録媒体の他、検出装置に内蔵されたＨＤＤなどを指す。また、この記録媒体に記録されたプログラムをネットワークを介して提供することも可能である。
【符号の説明】
【０１１４】
１０    検出装置
１１    スケール配列算出部
１２    計数部
１３    画像分配部
１４−１〜１４−ｋ    物体像検出部
１５    検出結果統合部
５１〜５３    物体
５１ａ〜５３ａ    物体像
【図１】
0005529784.tif 000017
【図２】
0005529784.tif 000018
【図３】
0005529784.tif 000019
【図４】
0005529784.tif 000020
【図５】
0005529784.tif 000021
【図６】
0005529784.tif 000022
【図７】
0005529784.tif 000023