JP6732509B2 - 画像処理装置、画像処理装置の制御方法及びプログラム - Google Patents

画像処理装置、画像処理装置の制御方法及びプログラム Download PDF

Info

Publication number
JP6732509B2
JP6732509B2 JP2016082230A JP2016082230A JP6732509B2 JP 6732509 B2 JP6732509 B2 JP 6732509B2 JP 2016082230 A JP2016082230 A JP 2016082230A JP 2016082230 A JP2016082230 A JP 2016082230A JP 6732509 B2 JP6732509 B2 JP 6732509B2
Authority
JP
Japan
Prior art keywords
image
fisheye
face detection
face
coordinate system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016082230A
Other languages
English (en)
Other versions
JP2017192111A (ja
Inventor
紗央里 法田
紗央里 法田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2016082230A priority Critical patent/JP6732509B2/ja
Publication of JP2017192111A publication Critical patent/JP2017192111A/ja
Application granted granted Critical
Publication of JP6732509B2 publication Critical patent/JP6732509B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)
  • Stereoscopic And Panoramic Photography (AREA)

Description

本発明は、魚眼レンズで撮影した画像に対してオブジェクトの検出を行うための画像処理装置、画像処理装置の制御方法及びプログラムに関する。
近年、複数個のレンズや、180度以上の画角を撮影できる魚眼レンズを2個用いて、360度の画角を一度のレリーズで撮影できる全球面カメラが開発されてきている。再生時には、地球儀を回すような感覚で、撮影した画像を回転して閲覧することができるものもある。
現状の全球面カメラは静止画撮影に特化したものとなっており、いずれは動画撮影や静止画ライブビューに対しても需要が出てくると考えられる。その際、撮影した画像に含まれる被写体の顔等のオブジェクトの領域を検出し、オブジェクトの領域に対し自動露出やオートホワイトバランスのような補正を行うことが想定される。
特許文献1に記載の撮像装置は、2個の魚眼レンズを用いて撮影された2つの画像を、横軸360度、縦軸180度の球面座標系フォーマットに変換し、球面座標系フォーマットの画像を用いて顔検出を行っている。球面座標系フォーマットへの変換方法としては、地球儀を地図へ投影する投影法であるメルカトル図法等の方法が用いられている。
特開2013−198062号公報
球面座標系には、高緯度になるほど距離や面積が拡大される特徴を有するものがある。例えば、メルカトル図法により座標変換された球面座標系では、緯度60度において、距離は2倍、面積は4倍になる。したがって、魚眼レンズによる撮影画像の高緯度に相当する領域に写った被写体は、大きく歪んでしまうことになる。
したがって、特許文献1に記載の技術では、撮影者の写りこむ可能性の高い領域を限定して顔検出処理を施すようにしている。即ち、被写体の歪みが比較的少ない低緯度の領域を顔検出の対象領域としている。しかし、特許文献1に記載の技術では、撮影者以外の顔検出については考慮されておらず、歪みが大きい高緯度の領域では、オブジェクトを検出することができなかった。
そこで本発明は、魚眼レンズを用いて撮影された画像から、広範囲にわたってオブジェクトを検出できるようにすることを目的とする。
本発明の画像処理装置は、2つの魚眼レンズが互いに背中合わせに配置された撮像手段から、当該2つの魚眼レンズそれぞれにより撮影された2つの画像を平面座標系の第1の画像として取得する取得手段と、前記2つの画像を、前記第1の画像の中心を回転軸にして、設定された角度だけ互いに反対方向に回転させて第2の画像として取得する回転手段と、前記第1の画像として2つの画像を球面座標系へ変換して1つの第1の変換画像を取得、前記第2の画像として互いに反対方向に回転された2つの画像を前記球面座標系へ変換して1つの第2の変換画像を取得する変換手段と、前記第1の変換画像及び前記第2の変換画像に対してオブジェクトの検出処理を行う検出手段と、を有することを特徴とする。
本発明によれば、魚眼レンズを用いて撮影された画像から、広範囲にわたってオブジェクトを検出することができる。
撮像装置のハードウェア構成の一例を示す図である。 魚眼レンズと撮像素子との関係を説明する図である。 顔検出処理を説明する図である。 顔検出処理の一例を示すフローチャートである。 回転角度を整数回に等分した場合の顔検出処理を説明する図である。 顔検出処理の一例を示すフローチャートである。 顔の傾きの探索範囲について説明する図である。 顔検出処理の一例を示すフローチャートである。
以下、本発明の実施形態について図面に基づいて説明する。以下の説明では、オブジェクトの一例として人物の顔を検出する例について説明する。
<実施形態1>
図1を用いて、本実施形態における撮像装置100のハードウェア構成について説明する。撮像装置100は、第1の魚眼レンズ101、第2の魚眼レンズ102、撮像素子103、A/D変換回路104、信号処理回路105、バス106、DRAM107、メモリコントローラ108、及びCPU109を含む。更に、撮像装置100は、回転回路111、変換回路112、及び顔検出回路113を含む。また、撮像装置100は、各種プログラムや設定データ等を記憶するROM等の記憶装置114を含む。撮像装置100は、画像処理装置の一例である。
第1の魚眼レンズ101及び第2の魚眼レンズ102は、180度以上の画角を有する魚眼レンズである。
撮像素子103は、光学像を電気信号に変換するCCDやCMOS素子等で構成される撮像素子である。
A/D変換回路104は、撮像素子103から出力されるアナログ画像信号をデジタル画像信号に変換するA/D変換回路である。
信号処理回路105は、デジタル画像信号に補間処理や色変換処理、特定のサイズへ変倍する変倍処理等の画像処理を施す信号処理回路である。
バス106は、各モジュールを接続するバスである。信号処理回路105、メモリコントローラ108、CPU109、回転回路111、変換回路112、顔検出回路113及び記憶装置114は、バス106を介して相互に接続されており、相互に通信することができる。
DRAM107は、画像処理された画像データを一時記憶するDRAMである。
メモリコントローラ108は、各モジュールによるDRAM107へのアクセスの仲介を行うメモリコントローラである。
CPU109は、信号処理回路105、回転回路111、変換回路112、顔検出回路113等の各回路を制御するCPUである。
回転回路111は、画像に対して回転処理を施す回転回路である。
変換回路112は、メルカトル図法を用いた座標変換及び逆座標変換処理を、魚眼レンズを用いて撮影された画像に対して施すことにより、顔検出用画像や表示画像を作成する変換回路である。
顔検出回路113は、変換回路112により作成された顔検出用画像に対して顔検出処理を行い、顔の位置座標及びサイズを含む顔検出結果を得る顔検出回路である。本実施形態では、顔検出回路113は、画像中の人物の顔を検出することとするが、人物の上半身や全身、動物の全身や顔等の他のオブジェクトを検出することとしてもよい。
CPU109が、撮像装置100の記憶装置114に記憶されたプログラムを実行することで、撮像装置100の機能及び図4、6、8で後述するフローチャートの処理が実現される。
図1、図2及び図3を用いて、撮像装置100の顔検出処理について説明する。撮像装置100の顔検出処理は、CPU109が各モジュールを制御することによって実現される。
図2(a)は、第1の魚眼レンズ101及び第2の魚眼レンズ102の配置の一例を示す図である。図2(a)では、第1の魚眼レンズ101及び第2の魚眼レンズ102は、背中合わせに配置されている。図2(a)に示すように、第1の魚眼レンズ101及び第2の魚眼レンズ102は、入射する被写体の光信号を撮像素子103に結像させる。
また、図2(b)は、図2(a)のように第1の魚眼レンズ101及び第2の魚眼レンズ102が配置されたレンズユニットを一眼レフカメラに装着した様子を示す図である。図2(b)のように、レンズユニットを装着された一眼レフカメラは、撮像装置100の一例である。図2(b)のように撮像装置100を構えた状態で、撮像装置100は、被写体を撮影できる。なお、図2(b)の撮像装置100は、あくまで一例である。撮像装置100は、既存のカメラにレンズユニットを装着したもの以外にも、図2(a)のように配置された第1の魚眼レンズ101及び第2の魚眼レンズ102を内部に含む単一の撮像装置であってもよい。
図2(c)は、図2(a)のように第1の魚眼レンズ101及び第2の魚眼レンズ102が配置されたレンズユニットを装着したカメラである撮像装置100により、撮像された画像の一例を示す図である。180度以上の画角を有する第1の魚眼画像201及び第2の魚眼画像202が隣り合った画像データ203が得られる。画像データ203は、複数の人物が写っている様子を示している。第1の魚眼画像201は、第1の魚眼レンズ101により結像された画像であり、第2の魚眼画像202は、第2の魚眼レンズ102により結像された画像である。
撮像素子103は、結像した光信号を光電変換し、アナログ電気信号としてA/D変換回路104へ出力する。A/D変換回路104は、撮像素子103から出力されたアナログの電気信号をデジタル信号へ変換し、信号処理回路105に出力する。信号処理回路105は、A/D変換回路104から出力されたデジタル信号に対応する画像に対して、補間処理及び色変換処理や、動画記録サイズへの変倍処理等の画像処理を行い、画像データ203を取得する。そして、信号処理回路105は、取得した画像データ203を、メモリコントローラ108を介してDRAM107へ格納する。
回転回路111は、DRAM107に格納された画像データ203を読み出し、一方の魚眼レンズに対応する魚眼画像をある方向へ設定された角度だけ回転させ、他方の魚眼レンズに対応する魚眼画像を反対方向に同じ角度だけ回転させる。
変換回路112は、DRAM107に格納された画像データ203、及び、回転回路111によって回転された画像データを読み出し、図3等で後述する座標変換を行って球面座標画像を作成する。
CPU109は、変換回路112により座標変換された球面座標画像のうち、顔検出処理を施す領域を決定し、決定した領域を顔検出回路113へ通知する。
顔検出回路113は、変換回路112により座標変換された球面座標画像のうち、CPU109から通知された顔検出領域に対して顔検出処理を施すことにより、顔検出結果を出力する。CPU109は、複数の画像に対する顔検出結果を統合して、全球面画像全体の顔検出結果を作成する。顔検出結果の統合方法の詳細な説明は、図3及び図4を用いて後述する。
CPU109は、顔検出回路113によって出力された顔検出結果に基づいて、表示画像や記録画像の顔領域に顔検出枠を、表示部に表示させたり、表示部に表示させた画像の自動露出やオートホワイトバランス等の処理を行ったりする。なお、表示処理や記録処理については本発明の本質ではないため説明を省略する。
次に、回転回路111、変換回路112及び顔検出回路113の処理について、図3を用いて具体的に説明する。
図3(a)は、第1の魚眼レンズ101及び第2の魚眼レンズ102によって得られた第1の魚眼画像201及び第2の魚眼画像202のそれぞれに経線と緯線とが引かれた様子を示す図である。第1の魚眼画像201及び第2の魚眼画像202のそれぞれに経線と緯線とが引かれた図を、それぞれ第3の魚眼画像301、第4の魚眼画像302とする。
図3(b)は、回転回路111によって、画像の中心点を回転軸に回転された第1の魚眼画像201及び第2の魚眼画像202に経線と緯線とが引かれた様子を示す図である。回転回路111によって回転された第1の魚眼画像201及び第2の魚眼画像202に経線と緯線とが引かれた図を、それぞれ第5の魚眼画像303、第6の魚眼画像304とする。図3(b)の例では、回転回路111は、第1の魚眼画像201の中心点を回転軸とし、第1の魚眼画像201を90度回転させるものとする。回転角度は、正の値であれば反時計回りとし、負の値であれば時計回りであるものとする。
また、回転回路111は、第2の魚眼画像202を、第2の魚眼画像202の中心点を回転軸とし、−90度だけ回転させる。なお、回転回路111が第2の魚眼画像202を第1の魚眼画像201と逆方向に回転させる理由は、以下の通りである。即ち、第1の魚眼画像201及び第2の魚眼画像202を撮影した第1の魚眼レンズ101及び第2の魚眼レンズ102が背中合わせになっており、空間的にそれぞれ対称となっているためである。
図3(c)は、第3の魚眼画像301及び第4の魚眼画像302が変換回路112によって、メルカトル図法に基づいて、平面座標系フォーマットから球面座標系フォーマットに変換された画像同士を結合した第1の球面座標画像307を示す図である。変換回路112は、第3の魚眼画像301及び第4の魚眼画像302をそれぞれ、球面座標系フォーマットに変換し、変換した画像同士を結合し、第1の球面座標画像307を取得する。平面座標系は、第1の座標系の一例である。球面座標系は、第2の座標系の一例である。変換回路112により魚眼画像が球面座標系に変換された画像は、変換画像の一例である。
CPU109は、変換回路112によって取得された第1の球面座標画像307のうち、歪みの影響が軽微な緯度の領域を切り出し、切り出した領域の画像を第1の顔検出用画像308とする。撮像装置100の記憶装置114は、予め、球面座標系フォーマットに変換された画像のうち、歪みの影響が軽微である緯度の範囲の情報を、設定ファイル等の形式で記憶している。CPU109は、撮像装置100の記憶装置114からその緯度の範囲を示す情報を取得し、第1の球面座標画像307のうち、取得した情報に対応する緯度の範囲を、顔検出用の領域として切り出し、第1の顔検出用画像308を取得する。また、CPU109は、ユーザによる撮像装置100の操作部を介した操作に基づいて、撮像装置100の記憶装置114に記憶されている歪みの影響が軽微である緯度の範囲の情報の内容を更新することができる。
図3(d)は、変換回路112によって平面座標系フォーマットである第5の魚眼画像303及び第6の魚眼画像304がメルカトル図法に基づいて球面座標系フォーマットに変換された画像同士を結合した第2の球面座標画像309を示す図である。
CPU109は、変換回路112によって取得された第2の球面座標画像309のうち、歪みの影響が軽微な低緯度領域を切り出し、第2の顔検出用画像310とする。例えば、CPU109は、撮像装置100の記憶装置114から、予め記憶されている歪みの影響が軽微な緯度の範囲を示す情報を取得する。そして、CPU109は、第2の球面座標画像309のうち、取得した情報に対応する緯度の範囲を、顔検出用の領域として切り出し、第2の顔検出用画像310を取得する。
変換回路112は、画像を平面座標系フォーマットから球面座標系フォーマットへ変換する際に例えば、以下の式を利用する。
平面座標系における経度α、緯度βとしたときの座標(α、β)が、球面座標系における座標(x,y)に写されるものとする。ただし、−180度≦α≦180度、−90度≦β≦90度である。
x=α
y=log(tan(π/4+β/2))
ここで、第1の顔検出用画像308及び第2の顔検出用画像310の切り出し範囲の決定方法の例について説明する。
例えば、撮像装置100の記憶装置114は、予め、歪みの影響が軽微であるかを示す緯度の範囲として、緯度が−45度〜45度の範囲の情報を記憶することとする。CPU109は、撮像装置100の記憶装置114からその緯度の範囲を示す情報を取得し、緯度が−45度〜45度の範囲である領域を、顔検出用の領域として切り出すことで、第1の顔検出用画像308及び第2の顔検出用画像310を取得する。
このように、CPU109が予め記憶装置114に記憶された情報を利用することで、顔検出回路113は、撮像装置100の操作部を介したユーザの操作に基づいて、歪みの影響が軽微な緯度の範囲の情報の入力を受付けなくてもよい。そのため、撮像装置100は、顔検出の処理時間や処理負荷を削減することができる。
また、顔が顔検出用画像の境界をまたぐと検出できないことを考慮して、例えば、撮像装置100の記憶装置114は、予め、歪みの影響が軽微であるかを示す緯度の範囲として、緯度が−60度〜60度の範囲の情報を記憶することとしてもよい。その場合、CPU109は、撮像装置100の記憶装置114からその緯度の範囲を示す情報を取得し、緯度が−60度〜60度の範囲である領域を、顔検出用の領域として切り出すことで、第1の顔検出用画像308及び第2の顔検出用画像310を取得する。緯度が−60度〜60度の範囲である領域を切り出すことで、第1の顔検出用画像308及び第2の顔検出用画像310の画像に含まれる範囲が重複することになる。このように緯度の範囲を広げることにより、CPU109は、歪みの影響が軽微である顔をより確実に検出することができる。
また、CPU109は、処理時間や処理負荷に余裕がある等の場合は、第1の球面座標画像307及び第2の球面座標画像309の全面を顔検出用の画像としてもよい。
顔検出回路113は、CPU109から入力された第1の顔検出用画像308及び第2の顔検出用画像310に対して、顔検出を行う。図3(c)の顔枠311、312及び313は、第1の顔検出用画像308から検出された顔を示す。また、図3(d)の顔枠314、315及び316は、第2の顔検出用画像310から検出された顔を示す。
図3(d)に示すように、顔検出回路113は、第1の顔検出用画像308から検出されなかった顔枠315、316に該当する人物の顔を検出することができる。また、図3(c)に示すように、顔検出回路113は、第2の顔検出用画像310から検出されなかった顔枠312、313に該当する人物の顔を検出することができる。
次に、CPU109は、顔検出回路113による、第1の顔検出用画像308及び第2の顔検出用画像310に対する顔検出処理の結果を平面座標系にマッピングして統合する。
図3(e)は、顔枠311、312及び313を含む第1の球面座標画像307を、変換回路112により平面座標系の第3の魚眼画像301及び第4の魚眼画像302に逆変換した結果を示す図である。
図3(f)は、顔枠314、315及び316を含む第2の球面座標画像309を、変換回路112により平面座標系の第5の魚眼画像303及び第6の魚眼画像304に逆変換した結果を示す図である。
図3(g)は、図3(e)の第3の魚眼画像301及び第4の魚眼画像302と、図3(f)の第5の魚眼画像303及び第6の魚眼画像304をそれぞれ、−θ度、θ度回転させた画像と、を統合した結果を示す図である。図3(g)には、第3の魚眼画像301及び第4の魚眼画像302上に第1の顔検出用画像308及び第2の顔検出用画像310のそれぞれから検出された顔を示す顔枠が示されている。
ここで、CPU109が実行する顔検出結果を平面座標系にマッピングして統合する処理について説明する。
CPU109は、第2の顔検出用画像310から得られた球面座標系の顔検出結果の各座標(x、y)を、図3(f)の平面座標系における経度α、緯度βとしたときの座標(α、β)へ逆座標変換する。
CPU109は、この逆座標変換を以下の式を用いて行う。ただし、−180度≦α≦180度、−90度≦β≦90度である。
α=x
β=2tan-1(exp(y))−π/2
次に、CPU109は、平面座標系上の座標(α、β)を−θ回転させた座標を求める。回転後の座標を座標(α'、β')とすると、以下の式が成り立つ。
α'=αcosθ−βsinθ
β'=αsinθ+βcosθ
更に、顔枠311及び314のように、第1の顔検出用画像308及び第2の顔検出用画像310の両方に含まれる顔枠の対処について説明する。例えば、CPU109は、ある顔枠同士のサイズの差が設定された閾値以下であり、顔枠同士の座標の差が設定された閾値以下である場合、その顔枠同士を同じ顔の検出結果として、どちらか一方の情報のみを保持するようにしてもよい。CPU109は、顔枠314をθ度回転させた結果が、顔枠311と比べ、位置座標の差が設定された閾値以下で、かつ、サイズの差が設定された閾値以下であれば、顔枠314の情報を削除し、顔枠311の情報を採用する。または、CPU109は、顔枠314の情報を採用し、顔枠311の情報を削除することとしてもよいし、顔枠311と顔枠314との平均をとり、顔枠の採用情報としてもよい。また、CPU109は、設定された優先順位に基づいて、顔検出用画像308から検出された顔枠と、顔検出用画像310から検出された顔枠と、の何れを採用するかを決定してもよい。
これにより、図3(g)に示すように、撮像装置100は、第3の魚眼画像301及び第4の魚眼画像302における全領域に写りこんだ人物の顔を重複なく検出することができる。
次に、図4を用いて、顔検出処理について説明する。図4の処理は、CPU109が各モジュールによる顔検出処理を制御することによって実現される。
S401において、CPU109は、第1の魚眼レンズ101及び第2の魚眼レンズ102、撮像素子103等を介して、第1の魚眼画像及び第2の魚眼画像を撮像する。第1の魚眼レンズ101に対応する画像が第1の魚眼画像であり、第2の魚眼レンズ102に対応する画像が第2の魚眼画像である。そして、CPU109は、第1の魚眼画像及び第2の魚眼画像に経線、緯線を追加した第3の魚眼画像及び第4の魚眼画像を取得する。また、CPU109は、第1の魚眼画像及び第2の魚眼画像に経線、緯線を追加せずに、そのままの画像で、以下の処理を行うこととしてもよい。
S402において、CPU109は、回転回路111を介して、第3の魚眼画像をθの角度、また、第4の魚眼画像を−θの角度だけ回転させ、第5の魚眼画像、第6の魚眼画像を取得する。本実施形態では、θは、90度とする。
S403において、CPU109は、変換回路112を介して、第3の魚眼画像〜第6の魚眼画像を平面座標系から球面座標系へ座標変換する。そして、CPU109は、座標変換された第3の魚眼画像及び第4の魚眼画像を結合し、第1の球面座標画像を取得し、座標変換された第5の魚眼画像及び第6の魚眼画像を結合し、第2の球面座標画像を取得する。また、CPU109は、画像同士を結合せずに、それぞれの画像毎に顔検出処理を行うようにしてもよい。
S404において、CPU109は、CPU109は、第1の球面座標画像及び第2の球面座標画像から、歪の影響の軽微な領域を切り出し、第1の顔検出用画像及び第2の顔検出用画像を取得する。例えば、CPU109は、図3(c)で説明した方法で顔検出用の画像を取得する。即ち、CPU109は、撮像装置100の記憶装置114から、予め記憶されている歪みの影響が軽微な緯度の範囲を示す情報を取得する。そして、CPU109は、第1の球面座標画像及び第2の球面座標画像のうち、取得した情報に対応する緯度の範囲を、顔検出用の領域として切り出し、第1の顔検出用画像及び第2の顔検出用画像を取得する。
S405において、CPU109は、顔検出回路113を介して、第1の顔検出用画像及び第2の顔検出用画像に対して顔検出処理を行い、検出結果を得る。本実施形態では、CPU109は、顔検出結果として、検出した顔を囲む顔枠を第1の球面座標画像及び第2の球面座標画像に追加する。
S406において、CPU109で、S405で顔枠を追加された第1の球面座標画像及び第2の球面座標画像をS403で結合した前の画像に分離する。そして、CPU109は、変換回路112を介して、分離した各画像を、球面座標系から平面座標系へ逆変換する。即ち、CPU109は、S405で顔枠を追加された第1の球面座標画像から分離された画像を変換し、第3の魚眼画像及び第4の魚眼画像を取得する。また、CPU109は、S405で顔枠を追加された第2の球面座標画像から分離された画像を変換し、第5の魚眼画像及び第6の魚眼画像を取得する。
S407において、CPU109は、回転回路111を介して、S406で取得した第5の魚眼画像及び第6の魚眼画像を、S402で回転した方向と逆方向に同じ角度だけ回転させる。即ち、CPU109は、第5の魚眼画像を−θ度、第6の魚眼画像をθ度回転させる。
S408において、CPU109は、S406で取得した第3の魚眼画像とS407で回転させた第5の魚眼画像とを統合させる。より具体的には、CPU109は、第3の魚眼画像及び第5の魚眼画像内に含まれる全ての顔枠を1つの画像に含ませるようにする。例えば、CPU109は、第3の魚眼画像に、第5の魚眼画像303に存在するが第3の魚眼画像にはない顔枠を追加する。同様に、CPU109は、S406で取得した第4の魚眼画像とS407で回転させた第6の魚眼画像とを統合させる。例えば、CPU109は、第4の魚眼画像に、第6の魚眼画像に存在するが第4の魚眼画像にはない顔枠を追加する。
以上、本実施形態の処理では、撮像装置100は、魚眼レンズを用いて撮像された画像及びその画像を設定された角度回転させた画像を、球面座標系に変換し、変換した画像に対して顔検出処理を行った。魚眼レンズを用いて撮像され、球面座標系に変換された画像は、緯度が大きくなる程、歪みの影響が甚大になり、顔検出ができなくなる。しかし、撮像装置100は、撮像した画像を回転させて座標変換することで、撮像した画像の歪みの影響が甚大な部分についても顔検出を行うことができるようになる。これにより、撮像装置100は、より広範囲にわたってオブジェクトを検出することを可能にする。
本実施形態では、撮像装置100は、第1の魚眼レンズ101及び第2の魚眼レンズ102の2つのレンズを用いて2つの画像を取得することとした。しかし、撮像装置100は、1つの魚眼レンズを用いて1つの画像を取得することとしてもよい。その場合、CPU109は、撮像された画像を設定された角度回転させた画像を生成する。そして、CPU109は、撮像された画像及び生成した画像を平面座標系から球面座標系に変換し、変換した画像それぞれについて、顔検出を行う。そして、CPU109は、それぞれの画像に顔検出の結果を示す顔枠を追加し、再度、平面座標系に変換する。CPU109は、平面座標系に変換された回転された画像を、以前に回転された角度だけ逆方向に回転させる。CPU109は、一方の画像に、他方の画像の顔枠を加え、顔枠を加えた画像を出力する。
<実施形態2>
実施形態1では、回転回路111は、S402において画像を、θ=90度だけ、1回のみ回転させることとした。
実施形態1のように画像を90度、1回のみ回転させた場合、歪みの影響が中度程度である緯度の範囲に存在する顔を検出できない場合がある。
そこで、撮像装置100は、更に、画像を0度より大きく90度より小さい設定された角度だけ回転させ、回転させた画像を球面座標系に変換し、変換した画像に顔検出処理を行う。これにより、撮像装置100は、回転させない画像及び90度回転させた画像からでは、検出できない顔を検出できるようになる。
本実施形態では、回転回路111は、画像を、θ=90/Nずつ、N回回転させる場合の処理について説明する。なお、Nは、2以上の整数とする。
本実施形態の撮像装置100は、ハードウェア構成等の詳細において、実施形態1と同様である。
本実施形態においては、N=2、θ=45度とする。本実施形態の顔検出処理について、図5、6を用いて説明する。
図5(a)は、本実施形態の撮像装置100により撮像された第3の魚眼画像501及び第4の魚眼画像504を示す図である。第3の魚眼画像501は、第1の魚眼レンズ101により撮像された画像である。第4の魚眼画像504は、第2の魚眼レンズ102により撮像された画像である。
図5(b)は、回転回路111によって、第3の魚眼画像501が45度回転された第7の魚眼画像502、及び第4の魚眼画像が−45度回転された第8の魚眼画像505を示す図である。
図5(c)は、回転回路111によって、第3の魚眼画像が90度回転された第5の魚眼画像503、及び第4の魚眼画像が−90度回転された第6の魚眼画像506を示す図である。
図5(d)は、変換回路112によって平面座標系から球面座標系へ座標変換された、第3の魚眼画像501及び第4の魚眼画像504が結合された第1の球面座標画像507を示す図である。また、CPU109は、歪みの影響が軽微な領域として、第1の球面座標画像507から第1の顔検出用画像508を切り出すこととする。
図5(e)は、変換回路112によって平面座標系から球面座標系へ座標変換された、第7の魚眼画像502及び第8の魚眼画像505が結合された第3の球面座標画像509を示す図である。また、CPU109は、歪みの影響が軽微な領域として、第3の球面座標画像509から第3の顔検出用画像510を切り出すこととする。
図5(f)は、変換回路112によって平面座標系から球面座標系へ座標変換された、第5の魚眼画像503及び第6の魚眼画像506が結合された第2の球面座標画像511を示す図である。また、CPU109は、歪みの影響が軽微な領域として、第2の球面座標画像511から第2の顔検出用画像512を切り出すこととする。
図5(d)及び図5(f)に示す例のように、人物の顔が第1の顔検出用画像508及び第2の顔検出用画像512の領域外にある場合や、歪みによって検出できない場合がある。これに対して、図5(e)に示す例では、人物の顔が歪みの影響が軽微な領域に含まれるため顔検出が可能となる。
本実施形態における顔検出処理について、図5(a)〜図5(f)に示した画像を例に、図6を用いて説明する。
実施形態1と異なる点について説明する。図6の処理のうち、図4と同じ処理については同じ番号を付してある。
S401において、CPU109は、第1の魚眼レンズ101、第2の魚眼レンズ102、撮像素子103等を介して、それぞれの魚眼レンズに対応する2つの画像(第1の魚眼画像及び第2の魚眼画像)を取得する。そして、CPU109は、撮像した画像に経線、緯線を追加した第3の魚眼画像及び第4の魚眼画像を取得する。
S602において、CPU109は、回転回路111を介して、第3の魚眼画像をθの角度、第4の魚眼画像を−θの角度だけ回転させた魚眼画像を取得する。次に、CPU109は、第3の魚眼画像をθ×2の角度、第4の魚眼画像を−θ×2の角度だけ回転させた魚眼画像を取得する。以下同様に繰り返し、CPU109は、最終的に第3の魚眼画像をθ×N=90度回転させた第5の魚眼画像、及び第4の魚眼画像を−θ×N=−90度回転させた第6の魚眼画像までを取得する。図5に示す例の場合では、N=2であるため、第5の魚眼画像503、第6の魚眼画像506、第7の魚眼画像502及び第8の魚眼画像505を取得することになる。
S603において、CPU109は、変換回路112を介して、S401及びS602で取得した2×(N+1)個の魚眼画像を平面座標系から球面座標系へ座標変換する。そして、CPU109は、同時に撮影された画像同士を結合させ、球面座標系における球面座標画像を(N+1)個、生成する。図5に示す例の場合は、第1の球面座標画像507、第2の球面座標画像511及び第3の球面座標画像509の3つを生成する。
S604において、CPU109で、S603で生成した(N+1)個の球面座標画像から、歪みの影響の軽微な緯度の範囲の領域を切り出し、(N+1)個の顔検出用画像を取得する。歪みの影響の軽微な緯度の範囲の領域の切り出しの方法は、図3(c)で説明した実施形態1に係る方法と同様である。
S605において、CPU109は、顔検出回路113を介して、S604で取得した(N+1)個の顔検出用画像に対して顔検出を行い、それぞれ顔検出結果を得る。本実施形態では、CPU109は、実施形態1と同様に検出した顔を囲む顔枠をS603で生成した球面座標画像に追加することで、検出結果を出力する。
S606において、CPU109は、S605で顔枠を追加された(N+1)個の球面座標画像をS603で得られた結合前の魚眼画像に分離して、球面座標系から平面座標系へ逆変換する。
S607において、CPU109は、S606で逆変換された魚眼画像のうち、S602で得られた2×N個の魚眼画像を、S602で回転した方向と逆方向に同じ角度だけ回転させる。
S608において、CPU109は、回転していない魚眼画像から得られた顔検出結果と、回転した2×N個の魚眼画像から得られた顔検出結果とを統合する。例えば、CPU109は、回転していない魚眼画像に対して、回転した2×N個の魚眼画像に含まれる顔枠のうち、回転していない魚眼画像に含まれない顔枠を追加する。
以上、本実施形態の処理では、撮像装置100は、画像を0度から90度まで、複数回に分けて、回転し、回転した画像それぞれについて、座標変換し、顔検出を行った。これにより、撮像装置100は、0度よりも大きく90度よりも小さい角度で回転させた魚眼画像からも顔を検出することで、回転させない魚眼画像及び90度回転させた魚眼画像から検出できない顔についても検出できるようになる。
<実施形態3>
本実施形態においては、顔検出処理における顔の傾きの探索範囲を限定することにより、顔検出処理の処理時間や処理負荷の軽減を行うための方法について説明する。
本実施形態の撮像装置100は、ハードウェア構成等の詳細において、実施形態1と同様である。
本実施形態では、顔検出回路113は、検出可能な顔の傾きを設定された範囲内に限定しており、以下では、その範囲を、顔の傾きの探索範囲とする。顔の傾きとは、画像中の顔の顎と頭頂部とを通る直線と、画像内の座標軸とがなす角度である。本実施形態では、顔の傾きは、画像中の顔の顎と頭頂部とを通る直線と、画像内の緯線とがなす角度であるとするが、画像中の顔の顎と頭頂部とを通る直線と、画像内の経線とがなす角度としてもよい。
図7(a)は、本実施形態の撮像装置100により撮像された第3の魚眼画像701及び第4の魚眼画像702を示す図である。第3の魚眼画像701は、第1の魚眼レンズ101により撮像された画像である。第4の魚眼画像702は、第2の魚眼レンズ102により撮像された画像である。第3の魚眼画像701及び第4の魚眼画像702には、直立した人物がそれぞれ写っているものとする。このとき、矢印705及び矢印706に示した傾きの範囲が、顔検出回路113の顔の傾きの探索範囲であるとする。例えば、矢印705が70度〜110度の範囲を示す場合、顔検出回路113は、顔の傾きが70度〜110度である顔を検出する処理を行い、その他の傾きの顔を検出する処理を行わないことになる。矢印705、706等の検出を行う顔の傾きの範囲の情報は、予め、撮像装置100の記憶装置114に、設定ファイル等の形式で記憶されているものとする。CPU109は、撮像装置100の操作部を介したユーザの操作に基づいて、記憶装置114に記憶されている、検出を行う顔の傾きの範囲の情報の内容を更新することができる。
図7(b)は、回転回路111によって、第3の魚眼画像701が90度回転された第5の魚眼画像703、及び第4の魚眼画像702が−90度回転された第6の魚眼画像704を示す図である。顔の傾きの探索範囲も90度及び−90度それぞれ傾き、矢印707及び矢印708で示す範囲のようになる。例えば、矢印705が70度〜110度の範囲を示す場合、矢印707は、160度〜200度の範囲を示すことになる。即ち、顔検出回路113は、顔の傾きが160度〜200度である顔を検出する処理を行い、その他の傾きの顔を検出する処理を行わないことになる。
図7(c)は、変換回路112によって平面座標系から球面座標系へ座標変換された、第3の魚眼画像701及び第4の魚眼画像702が結合された第1の球面座標画像709を示す図である。顔検出領域は、第3の魚眼画像701及び第4の魚眼画像702それぞれに相当する領域毎に独立である。CPU109は、図3(c)で説明した方法と同様の方法で、第1の球面座標画像709から顔検出用画像を切り出す。そして、CPU109は、切り出した顔検出用画像のうち第3の魚眼画像701に相当する領域を第1の顔検出用画像710a、第4の魚眼画像702に相当する領域を第1の顔検出用画像710bとする。顔検出回路113は、第1の顔検出用画像710aについては顔の傾きの探索範囲を矢印705に示す範囲として顔検出を行い、第1の顔検出用画像710bについては矢印706に示す範囲で顔検出を行う。
図7(d)は、変換回路112によって平面座標系から球面座標系へ座標変換された、第5の魚眼画像703及び第6の魚眼画像704が結合された第2の球面座標画像712を示す図である。CPU109は、図3(c)で説明した方法と同様の方法で、第2の球面座標画像712から顔検出用画像を切り出す。そして、CPU109は、切り出した顔検出用画像のうち第5の魚眼画像703に相当する領域を第2の顔検出用画像713a、第6の魚眼画像704に相当する領域を第2の顔検出用画像713bとする。顔検出回路113は、第2の顔検出用画像713aについては顔の傾きの探索範囲を矢印707に示す範囲として顔検出を行い、第2の顔検出用画像713bについては矢印708に示す範囲で顔検出を行う。
ここで、本実施形態における前提条件について、図2(b)を用いて説明する。
実空間上において、図2(b)の通りに撮像装置100を鉛直方向に構えて撮影すると、撮像素子103の撮像面も鉛直方向になる。この場合、図7(a)に示すように、直立している人物は鉛直方向に写ることになる。
これに対して、撮像装置100を水平方向に構えて撮影すると、撮像素子103の撮像面も水平方向になる。この場合、図7(b)に示すように、直立している人物は90度傾いて写ることになる。即ち、撮像装置100を傾けて撮影された画像に含まれる顔の傾きが実空間と異なってしまうため、実空間を想定した顔の探索範囲と不一致となってしまう。
そのため、顔検出処理における顔の傾きの探索範囲を限定するため、撮像装置100は、撮像装置100の傾きがある場合、撮像装置100を鉛直方向に構えて撮影した場合と同様の画像になるよう、画像の傾きを補正してから顔検出処理を行う必要がある。より具体的には、撮像装置100は、画像の傾きを補正して第1の球面座標画像709及び第2の球面座標画像712を生成する必要がある。画像の傾きを補正する方法には、例えば、特開2013−214947号公報等がある。
なお、本実施形態においては、撮像装置100は、顔検出処理を行う画像に対して、鉛直方向付近の傾きの顔に対してのみを検出対象として限定することにより、顔検出処理の処理時間や処理負荷を軽減するものとする。
次に、本実施形態における顔検出処理について、図8を用いて説明する。
図8の処理のうち、実施形態1と異なる点について説明するものとし、図4と同じ処理については同じ番号を付してある。
S401において、CPU109は、第1の魚眼レンズ101、第2の魚眼レンズ102、撮像素子103等を介して、それぞれの魚眼レンズに対応する2つの画像(第1の魚眼画像及び第2の魚眼画像)を取得する。そして、CPU109は、撮像した画像に経線、緯線を追加した第3の魚眼画像及び第4の魚眼画像を取得する。
S402において、CPU109は、回転回路111を介して、第3の魚眼画像を90度、また、第4の魚眼画像を−90度だけ回転させ、第5の魚眼画像及び第6の魚眼画像を取得する。
S803において、変換回路112を介して、第3の魚眼画像〜第6の魚眼画像を平面座標系から球面座標系へ座標変換する。そして、第3の魚眼画像及び第4の魚眼画像を結合し、第1の球面座標画像を生成し、第5の魚眼画像及び第6の魚眼画像を結合し、第2の球面座標画像を生成する。そして、CPU109は、例えば、特開2013−214947号公報の方法で、撮像が行われた際の撮像装置100の傾きに応じて、第1の球面座標画像及び第2の球面座標画像の傾きを補正する。
S805において、CPU109は、1つの球面座標画像から、2つの顔検出用画像を切り出し、それぞれの顔検出用画像に対して、それぞれの顔の傾きの探索範囲を限定した顔検出処理を行う。より具体的には、まず、CPU109は、撮像装置100の記憶装置114から顔の傾きの探索範囲の情報を取得する。そして、CPU109は、2つの顔検出用画像から、取得した情報に対応する探索範囲について顔検出を行う。
以上、本実施形態の処理では、撮像装置100は、顔検出処理において顔の傾きの探索範囲を限定することにより、顔検出処理の処理時間や処理負荷を軽減することができる。
<その他の実施形態>
実施形態1〜3においては、180度の視野を持つ魚眼レンズ2個を背中合わせに撮影する構成で説明したが、魚眼レンズ1個に対しても、これらの実施形態の処理を適用できる。
また、180度の視野を持つ魚眼レンズ2個を用いた方法でなくても、図2(c)に示したような、第1の魚眼画像201と第2の魚眼画像202の全周囲の端が合致、または重なるような画像データ203を取得できれば、これらの実施形態の処理を適用できる。
以上述べたように、本発明によれば、画像を回転した画像と回転しない画像に対して顔検出することにより、魚眼画像のあらゆる位置に配置されている顔について、顔検出可能になる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100 撮像装置
109 CPU

Claims (7)

  1. 2つの魚眼レンズが互いに背中合わせに配置された撮像手段から、当該2つの魚眼レンズそれぞれにより撮影された2つの画像を平面座標系の第1の画像として取得する取得手段と、
    前記2つの画像を、前記第1の画像の中心を回転軸にして、設定された角度だけ互いに反対方向に回転させて第2の画像として取得する回転手段と、
    前記第1の画像として2つの画像を球面座標系へ変換して1つの第1の変換画像を取得、前記第2の画像として互いに反対方向に回転された2つの画像を前記球面座標系へ変換して1つの第2の変換画像を取得する変換手段と、
    前記第1の変換画像及び前記第2の変換画像に対してオブジェクトの検出処理を行う検出手段と、
    を有することを特徴とする画像処理装置。
  2. 前記検出手段は、前記第1の変換画像及び前記第2の変換画像の中の設定された領域に対して顔検出処理を行うことを特徴とする請求項1記載の画像処理装置。
  3. 前記検出手段は、前記第1の変換画像から得られた顔検出結果と、前記第2の変換画像から得られた前記顔検出結果とを統合することを特徴とする請求項1又は2記載の画像処理装置。
  4. 前記回転手段は、前記第1の画像を、前記第1の画像の中心を回転軸にして、90度、設定された方向に回転させて前記第2の画像を取得することを特徴とする請求項1乃至3何れか1項記載の画像処理装置。
  5. 前記回転手段は、更に、前記第1の画像を、前記第1の画像の中心を回転軸にして、0度より大きく90度より小さい設定された角度、設定された方向に回転させた第3の画像を取得し、
    前記変換手段は、更に、前記第3の画像を前記球面座標系へ変換して第3の変換画像を取得し、
    前記検出手段は、前記第1の変換画像、前記第2の変換画像及び前記第3の変換画像に対してオブジェクトの検出処理を行うことを特徴とする請求項4記載の画像処理装置。
  6. 2つの魚眼レンズが互いに背中合わせに配置された撮像手段から、当該2つの魚眼レンズそれぞれにより撮影された2つの画像を平面座標系の第1の画像として取得する取得ステップと、
    前記2つの画像を、前記第1の画像の中心を回転軸にして、設定された角度だけ互いに反対方向に回転させて第2の画像として取得する回転ステップと、
    前記第1の画像として2つの画像を球面座標系へ変換して1つの第1の変換画像を取得、前記第2の画像として互いに反対方向に回転された2つの画像を前記球面座標系へ変換して1つの第2の変換画像を取得する変換ステップと、
    前記第1の変換画像及び前記第2の変換画像に対してオブジェクトの検出処理を行う検出ステップと、
    を含むことを特徴とする画像処理装置の制御方法。
  7. コンピュータに、
    2つの魚眼レンズが互いに背中合わせに配置された撮像手段から、当該2つの魚眼レンズそれぞれにより撮影された2つの画像を平面座標系の第1の画像として取得する取得ステップと、
    前記2つの画像を、前記第1の画像の中心を回転軸にして、設定された角度だけ互いに反対方向に回転させて第2の画像として取得する回転ステップと、
    前記第1の画像として2つの画像を球面座標系へ変換して1つの第1の変換画像を取得するとともに、前記第2の画像として互いに反対方向に回転された2つの画像を前記球面座標系へ変換して1つの第2の変換画像を取得する変換ステップと、
    前記第1の変換画像及び前記第2の変換画像に対してオブジェクトの検出処理を行う検出ステップと、
    を実行させるためのプログラム。
JP2016082230A 2016-04-15 2016-04-15 画像処理装置、画像処理装置の制御方法及びプログラム Active JP6732509B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016082230A JP6732509B2 (ja) 2016-04-15 2016-04-15 画像処理装置、画像処理装置の制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016082230A JP6732509B2 (ja) 2016-04-15 2016-04-15 画像処理装置、画像処理装置の制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2017192111A JP2017192111A (ja) 2017-10-19
JP6732509B2 true JP6732509B2 (ja) 2020-07-29

Family

ID=60085979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016082230A Active JP6732509B2 (ja) 2016-04-15 2016-04-15 画像処理装置、画像処理装置の制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6732509B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3652577A1 (en) * 2018-09-17 2020-05-20 Google LLC. Optical arrangement for producing virtual reality stereoscopic images

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8675090B2 (en) * 2010-12-15 2014-03-18 Panasonic Corporation Image generating apparatus, image generating method, and recording medium
JP5739722B2 (ja) * 2011-04-26 2015-06-24 株式会社日立情報通信エンジニアリング 物体認識方法及び認識装置

Also Published As

Publication number Publication date
JP2017192111A (ja) 2017-10-19

Similar Documents

Publication Publication Date Title
JP6721065B2 (ja) 撮像装置、画像処理装置および方法
KR101657039B1 (ko) 화상 처리 장치, 화상 처리 방법, 및 촬상 시스템
CN110730296B (zh) 图像处理装置、图像处理方法及计算机可读介质
US20040061774A1 (en) Digital imaging system using overlapping images to formulate a seamless composite image and implemented using either a digital imaging sensor array
JP2020191650A (ja) 撮像システム、方法、プログラム、動画表示装置および画像処理装置。
JP2017208619A (ja) 画像処理装置、画像処理方法、プログラム及び撮像システム
US7224392B2 (en) Electronic imaging system having a sensor for correcting perspective projection distortion
JP2013027021A (ja) 全方位撮像装置及び全方位撮像方法
JP2017168882A5 (ja)
KR20190068618A (ko) 단말기를 위한 촬영 방법 및 단말기
JP2018152782A (ja) 画像処理システム、撮像装置、画像処理方法及びプログラム
JP2015046044A (ja) 画像処理装置、画像処理方法、プログラムおよび撮像システム
CN110278366B (zh) 一种全景图像虚化方法、终端及计算机可读存储介质
JP6222205B2 (ja) 画像処理装置
JP6665917B2 (ja) 画像処理装置
US20220230275A1 (en) Imaging system, image processing apparatus, imaging device, and recording medium
JP5796611B2 (ja) 画像処理装置、画像処理方法、プログラムおよび撮像システム
JP6732509B2 (ja) 画像処理装置、画像処理装置の制御方法及びプログラム
JP2011108028A (ja) 画像再生装置、撮像装置、画像再生方法
JP6079838B2 (ja) 画像処理装置、プログラム、画像処理方法および撮像システム
JP5847570B2 (ja) 画像処理装置及びその制御方法
JPH08305841A (ja) 歪曲収差画像補正表示装置
JP2019168999A (ja) 撮像装置、撮像方法及びプログラム
JP2019009574A (ja) 画像処理装置
JP2021145190A (ja) 画像処理装置、画像処理方法、撮像装置、画像処理システムおよびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200319

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200609

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200708

R151 Written notification of patent or utility model registration

Ref document number: 6732509

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151