(57)【要約】【課題】メモリ容量の増加の抑制および画像処理の高速化を図ること。【解決手段】実施形態にかかる特徴量生成装置は、入力画像の垂直方向におけるサイズを変更する処理を行う垂直処理部を備える。垂直処理部は、ラインメモリと、複数の読出制御部と、複数のフィルタ処理部とを備える。ラインメモリは、入力画像における１行分の画素の画素値を含むラインデータを複数行分記憶する。複数の読出制御部は、複数のリサイズ率にそれぞれ対応し、対応するリサイズ率に応じてラインメモリからラインデータを読み出す。複数のフィルタ処理部は、複数のリサイズ率にそれぞれ対応し、同一のリサイズ率に対応する読出制御部によって読み出された複数行分のラインデータを用いてフィルタ処理を行うことにより、注目行のラインデータを出力する。【選択図】図５
2019047350.tif 000002
【特許請求の範囲】
【請求項１】
入力画像の垂直方向におけるサイズを変更する処理を行う垂直処理部
を備え、
前記垂直処理部は、
前記入力画像における１行分の画素の画素値を含むラインデータを複数行分記憶するラインメモリと、
複数のリサイズ率にそれぞれ対応し、対応するリサイズ率に応じて前記ラインメモリから前記ラインデータを読み出す複数の読出制御部と、
前記複数のリサイズ率にそれぞれ対応し、同一のリサイズ率に対応する前記読出制御部によって読み出された複数行分の前記ラインデータを用いてフィルタ処理を行うことにより、注目行のラインデータを出力する複数のフィルタ処理部と
を備える、特徴量生成装置。
【請求項２】
前記垂直処理部は、
前記複数のリサイズ率にそれぞれ対応し、同一のリサイズ率に対応するスケーリングフィルタのカーネルにエッジフィルタのカーネルを合成することによって合成カーネルを生成する複数のフィルタ合成部
をさらに備え、
前記フィルタ処理部は、
同一のリサイズ率に対応する前記読出制御部によって読み出された複数行分の前記ラインデータと、同一のリサイズ率に対応する前記フィルタ合成部によって生成された合成カーネルとを用いて前記フィルタ処理を行う、
請求項１に記載の特徴量生成装置。
【請求項３】
前記複数のリサイズ率にそれぞれ対応し、同一のリサイズ率に対応する前記フィルタ処理部から出力される前記注目行のラインデータに対し、水平方向のサイズを変更する処理を行う複数の水平処理部
をさらに備える、請求項１または２に記載の特徴量生成装置。
【請求項４】
前記複数のリサイズ率にそれぞれ対応し、同一のリサイズ率に対応する前記水平処理部から出力される複数の画素値に基づき、画素値の勾配方向および勾配強度を算出する複数の勾配算出部と、
前記複数のリサイズ率にそれぞれ対応し、同一のリサイズ率に対応する前記勾配算出部によって算出された複数の前記勾配方向および前記勾配強度に基づき、局所領域における勾配方向ヒストグラムを生成する複数のヒストグラム生成部と
を備える、請求項３に記載の特徴量生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、特徴量生成装置に関する。
【背景技術】
【０００２】
従来、カメラ等によって撮像された画像の特徴量を生成し、生成した特徴量を用いて画像から人等の対象物体を検出する手法が知られている。
【０００３】
特徴量を生成する手法として、たとえばＨＯＧ（Histograms  of  Orientation  Gradients）特徴量が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１８１６６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特徴量を生成する特徴量生成装置においては、一例として、メモリ容量の増加を抑制すること、画像処理の高速化が望まれる場合があった。
【課題を解決するための手段】
【０００６】
本発明の実施形態にかかる特徴量生成装置は、一例として、入力画像の垂直方向におけるサイズを変更する処理を行う垂直処理部を備え、前記垂直処理部は、前記入力画像における１行分の画素の画素値を含むラインデータを複数行分記憶するラインメモリと、複数のリサイズ率にそれぞれ対応し、対応するリサイズ率に応じて前記ラインメモリから前記ラインデータを読み出す複数の読出制御部と、前記複数のリサイズ率にそれぞれ対応し、同一のリサイズ率に対応する前記読出制御部によって読み出された複数行分の前記ラインデータを用いてフィルタ処理を行うことにより、注目行のラインデータを出力する複数のフィルタ処理部とを備える。
【０００７】
よって、一例としては、複数のリサイズ率にそれぞれ対応する複数の読出制御部が、共通のラインメモリにアクセスしてラインデータを読み出すようにしたため、リサイズ処理の並列化に伴うメモリ容量の増加を抑制することができる。また、リサイズ処理の並列化を行うことにより、演算負荷の削減が可能となり画像処理の高速化が図れる。
【０００８】
上記特徴量生成装置では、一例として、前記垂直処理部は、前記複数のリサイズ率にそれぞれ対応し、同一のリサイズ率に対応するスケーリングフィルタのカーネルにエッジフィルタのカーネルを合成することによって合成カーネルを生成する複数のフィルタ合成部をさらに備え、前記フィルタ処理部は、同一のリサイズ率に対応する前記読出制御部によって読み出された複数行分の前記ラインデータと、同一のリサイズ率に対応する前記フィルタ合成部によって生成された合成カーネルとを用いて前記フィルタ処理を行う。
【０００９】
よって、一例としては、スケーリングフィルタによるフィルタ処理とエッジフィルタによるフィルタ処理とを合成フィルタにより同時に実行することができる。これにより、たとえば、スケーリングフィルタによるフィルタ処理後にエッジフィルタによるフィルタ処理を行う場合と比較して、スケーリングフィルタによるフィルタ処理後のラインデータを記憶しておくためのメモリが不要となる。したがって、リサイズ処理の並列化に伴うメモリ容量の増加をさらに抑制することができる。
【００１０】
上記特徴量生成装置では、一例として、前記複数のリサイズ率にそれぞれ対応し、同一のリサイズ率に対応する前記フィルタ処理部から出力される前記注目行のラインデータに対し、水平方向のサイズを変更する処理を行う複数の水平処理部をさらに備える。
【００１１】
よって、一例としては、垂直方向および水平方向のサイズがそれぞれ変更された複数のリサイズ画像を同時に生成することができる。
【００１２】
上記特徴量生成装置では、一例として、前記複数のリサイズ率にそれぞれ対応し、同一のリサイズ率に対応する前記水平処理部から出力される複数の画素値に基づき、画素値の勾配方向および勾配強度を算出する複数の勾配算出部と、前記複数のリサイズ率にそれぞれ対応し、同一のリサイズ率に対応する前記勾配算出部によって算出された複数の前記勾配方向および前記勾配強度に基づき、局所領域における勾配方向ヒストグラムを生成する複数のヒストグラム生成部とを備える。
【００１３】
よって、一例としては、複数のリサイズ画像の特徴量を同時に得ることができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施形態に係る物体検出装置の構成例を示す図である。
【図２】図２は、特徴量生成部の構成例を示す図である。
【図３】図３は、リサイズ処理の説明図である。
【図４】図４は、画像ピラミッドの説明図である。
【図５】図５は、垂直処理部の構成例を示す図である。
【図６】図６は、水平処理部の構成例を示す図である。
【発明を実施するための形態】
【００１５】
以下に、本願に係る特徴量生成装置を実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る特徴量生成装置が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１６】
〔１．物体検出装置１の構成〕
まず、図１を用いて、実施形態に係る物体検出装置１の構成について説明する。図１は、実施形態に係る物体検出装置の構成例を示す図である。
【００１７】
図１に示すように、実施形態に係る物体検出装置１は、デジタルカメラ等の撮像装置２から入力される画像（以下、「入力画像」と記載する）を取得し、取得した入力画像から人等の対象物体を検出して、検出結果を外部装置３へ出力する装置である。
【００１８】
物体検出装置１は、取得部１０と、特徴量生成部２０（特徴量生成装置の一例）と、特徴量記憶部３０と、照合部４０と、出力部５０とを備える。
【００１９】
（取得部１０について）
取得部１０は、入力画像の画像データを取得し、取得した画像データを特徴量生成部２０へ出力する。
【００２０】
画像データは、行方向および列方向に並べられた複数の画素の画素値（輝度値）のデータを含んでいる。取得部１０は、画像データに含まれる複数の画像値を行単位で取得して特徴量生成部２０へ出力する。
【００２１】
以下では、画像データにおける１行分の画素の画素値を含むデータを「ラインデータ」と記載する。
【００２２】
（特徴量生成部２０について）
特徴量生成部２０は、取得部１０から入力された画像データに基づき、入力画像の特徴量を生成して特徴量記憶部３０へ格納する。
【００２３】
特徴量生成部２０は、１つの入力画像をリサイズすることによってサイズ（解像度）の異なる複数のリサイズ画像を生成し、元画像（リサイズされていない入力画像）および複数のリサイズ画像の各々について特徴量を生成する。特徴量生成部２０の構成については、後述する。
【００２４】
（特徴量記憶部３０について）
特徴量記憶部３０は、たとえば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ等の半導体メモリ素子、または、ＨＤＤ（Hard  Disk  Drive）、光ディスク等の記憶装置であり、特徴量生成部２０によって生成された特徴量を記憶する。
【００２５】
（照合部４０について）
照合部４０は、特徴量記憶部３０に記憶された特徴量と予め登録された特徴量モデルとを照合し、これらの類似度を算出する。そして、照合部４０は、算出した類似度が閾値以上である場合に対象物体を検出する。
【００２６】
照合部４０は、上記の照合処理を入力画像の元画像および複数のリサイズ画像の各々について実行する。このように、サイズの異なる複数の入力画像について、特徴量を用いた対象物体の検出を行うことで、入力画像中の対象物体の大きさによらず、入力画像から対象物体を検出することができる。
【００２７】
（出力部５０について）
出力部５０は、照合部４０による対象物体の検出結果を外部装置３へ出力する。
【００２８】
〔２．特徴量生成部２０の構成〕
次に、実施形態に係る特徴量生成部２０の構成について図２を参照して説明する。図２は、特徴量生成部２０の構成例を示す図である。
【００２９】
なお、以下では、ＨＯＧ特徴量を生成する場合における特徴量生成部２０の構成について説明する。ＨＯＧ特徴量は、画像の局所領域内における輝度の勾配をヒストグラム化した特徴量のことである。
【００３０】
図２に示すように、実施形態に係る特徴量生成部２０は、画像処理部１０１と、複数の勾配算出部１０２と、複数のヒストグラム生成部１０３とを備える。また、画像処理部１０１は、垂直処理部１１０と、複数の水平処理部１２０とを備える。
【００３１】
（画像処理部１０１について）
画像処理部１０１は、入力画像のサイズを変更するリサイズ処理を行う。ここで、画像処理部１０１によるリサイズ処理の概要について図３および図４を参照して説明する。図３は、リサイズ処理の説明図である。また、図４は、画像ピラミッドの説明図である。
【００３２】
なお、ここでは、入力画像を縮小する処理をリサイズ処理として実行するものとするが、リサイズ処理は、入力画像を縮小する処理に限定されるものではなく、入力画像を拡大する処理であってもよい。
【００３３】
図３に示すように、画像処理部１０１は、垂直方向と水平方向の２段階に分けて入力画像の縮小を行う。具体的には、画像処理部１０１は、まず、入力画像を垂直方向すなわち列方向に縮小する垂直処理を行い、その後、垂直処理後の入力画像を水平方向すなわち行方向に縮小する水平処理を行う。
【００３４】
画像処理部１０１は、上記垂直処理および水平処理を複数の異なる縮小率で行うことで、１つの元画像からサイズの異なる複数のリサイズ画像を生成する。
【００３５】
図４に示すように、元画像および複数のリサイズ画像をサイズ順に並べたものを画像ピラミッドと呼ぶ。たとえば、１個の元画像とＮ−１個のリサイズ画像からなる画像ピラミッドは、Ｎ階層ピラミッドと呼ばれる。最もサイズの大きい（解像度の高い）元画像が第１階層であり、最もサイズの小さいリサイズ画像が第Ｎ階層となる。
【００３６】
本実施形態において、画像処理部１０１は、上記リサイズ処理を複数の異なる縮小率で並列的に実行することで、１回のラスタスキャンでサイズの異なる複数のリサイズ画像を生成することとしている。このように、リサイズ処理を並列化することにより、演算負荷の削減が可能となり画像処理の高速化が図れる。また、画像処理部１０１では、上記のようにリサイズ処理を並列化しつつも、入力画像のラインデータを記憶するメモリについては共用化することで、リサイズ処理の並列化に伴うメモリ容量の増加を抑制することとしている。これらの点については、後述する。
【００３７】
（勾配算出部１０２について）
複数の勾配算出部１０２は、画像ピラミッドの各階層に対応して設けられる。勾配算出部１０２は、画像処理部１０１から入力される複数の画素値に基づき、対応する階層の入力画像（元画像またはリサイズ画像）の各画素について画素値の勾配方向および勾配強度を算出する。また、勾配算出部１０２は、算出した勾配方向および勾配強度を、同一の階層に対応するヒストグラム生成部１０３に出力する。
【００３８】
（ヒストグラム生成部１０３について）
複数のヒストグラム生成部１０３は、画像ピラミッドの各階層に対応して設けられる。ヒストグラム生成部１０３は、同一の階層に対応する勾配算出部１０２から入力される勾配方向および勾配強度に基づき、複数の画素（たとえば、５×５画素）を含む局所領域（セル）についての勾配方向ヒストグラムを生成する。
【００３９】
そして、ヒストグラム生成部１０３は、生成した複数の勾配方向ヒストグラムをブロック（たとえば、３×３セル）単位で正規化することにより、各局所領域の特徴量を生成する。ヒストグラム生成部１０３は、生成した特徴量を特徴量記憶部３０（図１参照）に格納する。
【００４０】
〔３．垂直処理部１１０の構成〕
次に、画像処理部１０１の具体的な構成について説明する。まず、垂直処理部１１０の構成について説明する。
【００４１】
垂直処理部１１０は、入力画像の垂直方向におけるサイズを縮小する。かかる垂直処理部１１０の構成について図５を参照して説明する。図５は、垂直処理部１１０の構成例を示す図である。
【００４２】
図５に示すように、垂直処理部１１０は、メモリインタフェース１１１と、ラインメモリ１１２と、フィルタメモリ１１３とを備える。また、垂直処理部１１０は、複数のリサイズ率演算部１１４と、複数の読出制御部１１５と、複数のフィルタ合成部１１６と、複数のフィルタ処理部１１７とを備える。
【００４３】
複数のリサイズ率演算部１１４、複数の読出制御部１１５、複数のフィルタ合成部１１６および複数のフィルタ処理部１１７は、画像ピラミッドの各階層に対応して設けられる。
【００４４】
（メモリインタフェース１１１について）
メモリインタフェース１１１は、ラインメモリ１１２にアクセスするためのインタフェースである。メモリインタフェース１１１は、取得部１０（図１参照）から入力されるラインデータ１１２ａをラインメモリ１１２へ格納する処理を行う。また、メモリインタフェース１１１は、読出制御部１１５による制御に従ってラインメモリ１１２からラインデータ１１２ａを読み出し、読み出したラインデータ１１２ａをフィルタ処理部１１７へ出力する処理を行う。
【００４５】
なお、ラインメモリ１１２からメモリインタフェース１１１へのラインデータ１１２ａの読出経路は複数設けられてもよい。複数の読出経路を設けることで、複数の読出制御部１１５から同時に読出要求を受けた場合における読出速度の低下を抑制することができる。また、読出経路が１つしかない場合には、メモリインタフェース１１１において読み出しの調停が行われてもよい。
【００４６】
（ラインメモリ１１２について）
ラインメモリ１１２は、たとえば、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子である。ラインメモリ１１２は、複数行分のラインデータ１１２ａを記憶する。
【００４７】
（フィルタメモリ１１３について）
フィルタメモリ１１３は、たとえば、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子である。フィルタメモリ１１３は、画像ピラミッドの各階層に対応する複数のスケーリングカーネル１１３ａと、エッジカーネル１１３ｂとを記憶する。
【００４８】
スケーリングカーネル１１３ａは、スケーリングフィルタの対象範囲と重みを示す情報であり、スケーリングカーネル１１３ａにおける各カーネル要素の値は、スケーリングフィルタのフィルタ係数を示す。垂直処理部１１０では、スケーリングフィルタを用いたフィルタ処理として、対象となる画素の画素値に対して垂直方向における周囲の画素の画素値を反映させることによって新たな画素値を生成する処理が行われる。
【００４９】
エッジカーネル１１３ｂは、エッジフィルタの対象範囲と重みを示す情報であり、エッジカーネル１１３ｂにおける各カーネル要素の値は、エッジフィルタのフィルタ係数の値を示す。垂直処理部１１０では、エッジフィルタを用いたフィルタ処理として、横線を抽出する処理が行われる。エッジカーネル１１３ｂとしては、たとえばソーベルフィルタの垂直方向カーネルが用いられる。
【００５０】
（リサイズ率演算部１１４）
リサイズ率演算部１１４は、入力画像のサイズと出力すべきリサイズ画像のサイズとに基づいて入力画像の垂直方向における縮小率を演算する。ここで、「出力すべきリサイズ画像のサイズ」とは、画像ピラミッドにおける各階層のうち対応する階層のリサイズ画像のサイズのことであり、複数のリサイズ率演算部１１４ごとに予め決められている。
【００５１】
リサイズ率演算部１１４は、演算した縮小率に基づき、後述する読出制御部１１５による読出処理（ここでは、ラインデータ１１２ａの間引き処理）の基準となる信号を同一の階層に対応する読出制御部１１５へ出力する。
【００５２】
なお、リサイズ率演算部１１４は、縮小率が変化した場合に、演算した縮小率に基づき、フィルタメモリ１１３に記憶されているスケーリングカーネル１１３ａを更新する処理を行う。
【００５３】
（読出制御部１１５について）
読出制御部１１５は、後段のフィルタ処理部１１７によるフィルタ処理に必要な数のラインデータ１１２ａがラインメモリ１１２に記憶された場合に、メモリインタフェース１１１を制御してラインメモリ１１２に記憶された複数のラインデータ１１２ａをフィルタ処理部１１７へ出力させる。
【００５４】
読出制御部１１５は、対応する縮小率に応じた態様でラインメモリ１１２からラインデータ１１２ａを読み出す。具体的には、入力画像を縮小する場合には、画素数を減らすために画素を間引く必要がある。そこで、垂直処理部１１０では、ラインデータ１１２ａを間引く処理が行われるが、間引かれるラインデータ１１２ａは、入力画像の縮小率によって異なる。このため、読出制御部１１５は、同一の階層に対応するリサイズ率演算部１１４から入力される信号に基づいてメモリインタフェース１１１を制御することで、必要なラインデータ１１２ａだけをラインメモリ１１２から選択的に読み出すこととしている。
【００５５】
このように、複数の読出制御部１１５は、複数の異なる縮小率にそれぞれ対応し、対応する縮小率に応じて、ラインメモリ１１２に記憶された複数行分のラインデータ１１２ａを一部のラインデータ１１２ａを間引きながら読み出す。
【００５６】
（フィルタ合成部１１６について）
フィルタ合成部１１６は、複数のスケーリングカーネル１１３ａのうち同一の階層に対応するスケーリングカーネル１１３ａと、エッジカーネル１１３ｂとをフィルタメモリ１１３から取り出して合成する。具体的には、フィルタ合成部１１６は、スケーリングカーネル１１３ａおよびエッジカーネル１１３ｂのフィルタ係数同士を掛け合わせることによって合成カーネルを生成する。
【００５７】
このように、複数のフィルタ合成部１１６は、複数の異なる縮小率にそれぞれ対応し、同一の縮小率に対応するスケーリングフィルタのカーネル（スケーリングカーネル１１３ａ）にエッジフィルタのカーネル（エッジカーネル１１３ｂ）を合成することによって合成カーネルを生成する。
【００５８】
フィルタ合成部１１６は、生成した合成カーネルを同一の階層に対応するフィルタ処理部１１７へ出力する。
【００５９】
（フィルタ処理部１１７について）
フィルタ処理部１１７は、メモリインタフェース１１１から入力される複数のラインデータ１１２ａに対し、フィルタ合成部１１６から入力される合成カーネルを用いてフィルタ処理（畳み込み演算）を行う。上述したように、合成カーネルは、スケーリングカーネル１１３ａとエッジカーネル１１３ｂとを合成したものである。したがって、かかる合成カーネルを用いてフィルタ処理を行うことにより、垂直方向におけるスケーリングフィルタ処理および垂直方向におけるエッジフィルタ処理が施されたラインデータが生成される。フィルタ処理部１１７は、フィルタ処理後のラインデータを同一の階層に対応する水平処理部１２０へ出力する。
【００６０】
このように、複数のフィルタ処理部１１７は、複数の異なる縮小率にそれぞれ対応し、同一の縮小率に対応する読出制御部１１５によって読み出された複数行分のラインデータ１１２ａと、同一の縮小率に対応するフィルタ合成部１１６によって生成された合成カーネルとを用いてフィルタ処理を行うことにより、注目行のラインデータを出力する。
【００６１】
〔４．水平処理部１２０の構成について〕
複数の水平処理部１２０は、画像ピラミッドの各階層に対応して設けられ、同一の階層に対応するフィルタ処理部１１７から出力される注目行のラインデータに対し、水平方向のサイズを変更する処理を行う。かかる水平処理部１２０の構成について図６を参照して説明する。図６は、水平処理部１２０の構成例を示す図である。
【００６２】
図６に示すように、水平処理部１２０は、メモリインタフェース１２１と、ラインメモリ１２２と、フィルタメモリ１２３とを備える。また、水平処理部１２０は、リサイズ率演算部１２４と、読出制御部１２５と、フィルタ合成部１２６と、フィルタ処理部１２７とを備える。
【００６３】
（メモリインタフェース１２１について）
メモリインタフェース１２１は、ラインメモリ１２２にアクセスするためのインタフェースである。メモリインタフェース１２１は、垂直処理部１１０のフィルタ処理部１１７（図５参照）から入力されるフィルタ処理後のラインデータ１２２ａをラインメモリ１２２へ格納する処理を行う。また、メモリインタフェース１２１は、読出制御部１２５による制御に従ってラインメモリ１２２からラインデータ１２２ａにおける１画素分の画素値のデータを読み出してフィルタ処理部１２７へ出力する処理を行う。
【００６４】
（ラインメモリ１２２について）
ラインメモリ１２２は、たとえば、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子である。水平処理部１２０が備えるラインメモリ１２２は、１行分のラインデータ１２２ａを記憶する。
【００６５】
（フィルタメモリ１２３について）
フィルタメモリ１２３は、たとえば、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子である。フィルタメモリ１２３は、スケーリングカーネル１２３ａとエッジカーネル１２３ｂとを記憶する。
【００６６】
スケーリングカーネル１２３ａは、スケーリングフィルタの対象範囲と重みを示す情報であり、スケーリングカーネル１２３ａにおける各カーネル要素の値は、スケーリングフィルタのフィルタ係数を示す。水平処理部１２０では、スケーリングフィルタを用いたフィルタ処理として、対象となる画素の画素値に対して水平方向における周囲の画素の画素値を反映させることによって新たな画素値を生成する処理が行われる。
【００６７】
エッジカーネル１２３ｂは、エッジフィルタの対象範囲と重みを示す情報であり、エッジカーネル１２３ｂにおける各カーネル要素の値は、エッジフィルタのフィルタ係数の値を示す。水平処理部１２０では、エッジフィルタを用いたフィルタ処理として、縦線を抽出する処理が行われる。エッジカーネル１２３ｂとしては、たとえばソーベルフィルタの水平方向カーネルが用いられる。
【００６８】
（リサイズ率演算部１２４）
リサイズ率演算部１２４は、入力画像のサイズと出力すべきリサイズ画像のサイズとに基づいて入力画像の水平方向における縮小率を演算する。ここで、「出力すべきリサイズ画像のサイズ」とは、画像ピラミッドにおける各階層のうち対応する階層のリサイズ画像のサイズのことであり、複数の水平処理部１２０ごとに予め決められている。
【００６９】
リサイズ率演算部１２４は、演算した縮小率に基づき、後述する読出制御部１２５による読出処理（ここでは、画素の間引き処理）の基準となる信号を読出制御部１２５へ出力する。
【００７０】
なお、リサイズ率演算部１２４は、縮小率が変化した場合に、演算した縮小率に基づき、フィルタメモリ１２３に記憶されているスケーリングカーネル１２３ａを更新する処理も行う。
【００７１】
（読出制御部１２５について）
読出制御部１２５は、垂直処理部１１０のフィルタ処理部１１７によるフィルタ処理後のラインデータ１２２ａがラインメモリ１２２に格納されるごとに、メモリインタフェース１２１を制御してラインメモリ１２２に記憶されたラインデータ１２２ａを１画素分ごとにフィルタ処理部１１７へ出力させる。
【００７２】
読出制御部１２５は、ラインデータ１２２ａから画素値のデータ（以下、「画素データ」と記載する）を間引く。間引かれる画素データは、入力画像の縮小率によって異なる。そこで、読出制御部１２５は、リサイズ率演算部１２４から入力される縮小率に応じた信号に基づいてメモリインタフェース１２１を制御することで、フィルタ処理部１２７のフィルタ処理に用いられる画素データだけをラインメモリ１２２から選択的に読み出させる。
【００７３】
なお、水平処理部１２０は、必ずしもメモリインタフェース１２１およびラインメモリ１２２を備えることを要しない。この場合、水平処理部１２０の読出制御部１２５が、垂直処理部１１０のフィルタ処理部１１７からラインデータ１２２ａを取得し、取得したラインデータ１２２ａから画素データを間引いて、フィルタ処理部１２７のフィルタ処理に用いられる画素データだけをフィルタ処理部１２７へ出力すればよい。
【００７４】
（フィルタ合成部１２６について）
フィルタ合成部１２６は、フィルタメモリ１２３に記憶されたスケーリングカーネル１２３ａとエッジカーネル１２３ｂとを合成することによって合成カーネルを生成し、生成した合成カーネルをフィルタ処理部１２７へ出力する。
【００７５】
（フィルタ処理部１２７について）
フィルタ処理部１２７は、メモリインタフェース１２１から入力される複数の画素データに対し、フィルタ合成部１２６から入力される合成カーネルを用いてフィルタ処理（畳み込み演算）を行う。これにより、垂直方向および水平方向におけるスケーリングフィルタ処理ならびに垂直方向および水平方向におけるエッジフィルタ処理が施された画素データが生成される。フィルタ処理部１２７は、フィルタ処理後の画素データを同一の階層に対応する勾配算出部１０２（図２参照）へ出力する。
【００７６】
このように、実施形態に係る特徴量生成部２０によれば、リサイズ処理を並列化することで、１回のラスタスキャンで複数のリサイズ画像を得ることができる。たとえば、Ｎ階層の画像ピラミッドを生成する場合には、Ｎ−１個のリサイズ画像を１回のラスタスキャンで得ることができる。したがって、リサイズ処理に要する時間を短縮することが可能である。
【００７７】
また、リサイズ処理を単純に並列化した場合、それぞれのリサイズ処理について入力画像のデータを記憶するメモリが必要となるため、メモリ容量が増加するおそれがある。
【００７８】
これに対し、実施形態に係る特徴量生成部２０では、画像ピラミッドの各階層に対応する複数の読出制御部１１５が、共通のラインメモリ１１２にアクセスして、ラインメモリ１１２に記憶された入力画像のデータであるラインデータ１１２ａを、縮小率に応じて間引きながら取り出すこととした。したがって、実施形態に係る特徴量生成部２０によれば、リサイズ処理を単純に並列化した場合と比較して、リサイズ処理の並列化に伴うメモリ容量の増加を抑制することができる。メモリ容量の増加が抑制されることで、メモリの大型化が抑制される。したがって、特徴量生成部２０の大型化を抑制することが可能となる。
【００７９】
また、実施形態に係る特徴量生成部２０は、スケーリングカーネル１１３ａ，１２３ａとエッジカーネル１１３ｂ，１２３ｂとを合成することにより、スケーリングフィルタを用いたフィルタ処理とエッジフィルタを用いたフィルタ処理とを同時に実行することとした。これにより、スケーリングフィルタを用いたフィルタ処理とエッジフィルタを用いたフィルタ処理とを１回のラスタスキャンで完了することができるため、これらを別々に実行する場合と比較してフィルタ処理に要する時間を短縮することができる。
【００８０】
また、スケーリングフィルタを用いたフィルタ処理とエッジフィルタを用いたフィルタ処理とを別々に実行することとした場合、エッジフィルタを用いたフィルタ処理を行う複数のフィルタ処理部が複数の水平処理部の後段に設けられることとなるが、各フィルタ処理部には、リサイズ処理後のデータを記憶するためのメモリが必要となる。これに対し、実施形態に係る特徴量生成部２０によれば、スケーリングフィルタを用いたフィルタ処理とエッジフィルタを用いたフィルタ処理とを同時に実行することとしたため、リサイズ処理後のデータを記憶するメモリが不要となる。したがって、メモリ容量の増加をさらに抑制することができる。
【００８１】
上述してきたように、実施形態に係る特徴量生成部２０（特徴量生成装置の一例）は、入力画像の垂直方向におけるサイズを変更する処理を行う垂直処理部１１０を備える。垂直処理部１１０は、ラインメモリ１１２と、複数の読出制御部１１５と、複数のフィルタ処理部１１７とを備える。ラインメモリ１１２は、入力画像における１行分の画素の画素値を含むラインデータ１１２ａを複数行分記憶する。複数の読出制御部１１５は、複数のリサイズ率にそれぞれ対応し、対応するリサイズ率に応じてラインメモリ１１２からラインデータ１１２ａを読み出す。複数のフィルタ処理部１１７は、複数のリサイズ率にそれぞれ対応し、同一のリサイズ率に対応する読出制御部１１５によって読み出された複数行分のラインデータ１１２ａを用いてフィルタ処理を行うことにより、注目行のラインデータ１２２ａを出力する。
【００８２】
したがって、実施形態に係る特徴量生成部２０によれば、メモリ容量の増加を抑制することができる。また、リサイズ処理の並列化を行うことにより、演算負荷の削減が可能となり画像処理の高速化が図れる。
【００８３】
〔５．その他の実施形態〕
上述した実施形態では、画像処理部１０１において、リサイズ処理およびエッジ抽出処理を行うこととしたが、画像処理部１０１は、リサイズ処理のみを行ってもよい。この場合、垂直処理部１１０のフィルタ合成部１１６および水平処理部１２０のフィルタ合成部１２６は、フィルタの合成を行うことなく、フィルタメモリ１１３，１２３に記憶されたスケーリングカーネル１１３ａ，１２３ａをフィルタ処理部１１７，１２７へ出力すればよい。
【００８４】
また、画像処理部１０１は、エッジ抽出処理を垂直処理部１１０および水平処理部１２０のいずれか一方においてのみ行ってもよい。たとえば、エッジ抽出処理を垂直処理部１１０においてのみ行うことで横線が強調されたエッジ画像を得ることができる。また、エッジ抽出処理を水平処理部１２０においてのみ行うことで縦線が強調されたエッジ画像を得ることができる。
【００８５】
また、上述した実施形態では、リサイズ処理の一例として、入力画像を縮小する場合の例について説明したが、リサイズ処理は、入力画像を拡大する処理であってもよい。入力画像を拡大する場合、読出制御部１１５，１２５は、リサイズ率演算部１１４，１２４によって演算された拡大率に応じて、ラインメモリ１１２，１２２からラインデータ１１２ａまたは画素データを重複して読み出すようにすればよい。
【００８６】
また、上述した実施形態では、物体検出装置１の一部である特徴量生成部２０を特徴量生成装置の一例として挙げたが、特徴量生成装置は必ずしも物体検出装置１の一部であることを要しない。単体としての特徴量生成装置は、たとえば、取得部１０と特徴量生成部２０とを備えた構成とすることができる。
【００８７】
以上、本発明の実施形態を例示したが、上記実施形態および変形例はあくまで一例であって、発明の範囲を限定することは意図していない。上記実施形態や変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、組み合わせ、変更を行うことができる。また、各実施形態や各変形例の構成や形状は、部分的に入れ替えて実施することも可能である。
【符号の説明】
【００８８】
１…物体検出装置、２…撮像装置、３…外部装置、１０…取得部、２０…特徴量生成部、３０…特徴量記憶部、４０…照合部、５０…出力部、１０１…画像処理部、１０２…勾配算出部、１０３…ヒストグラム生成部、１１０…垂直処理部、１２０…水平処理部、１１１…メモリインタフェース、１１２…ラインメモリ、１１３…フィルタメモリ、１１４…リサイズ率演算部、１１５…読出制御部、１１６…フィルタ合成部、１１７…フィルタ処理部。
【図１】
2019047350.tif 000003
【図２】
2019047350.tif 000004
【図３】
2019047350.tif 000005
【図４】
2019047350.tif 000006
【図５】
2019047350.tif 000007
【図６】
2019047350.tif 000008