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

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

▶ オムロン株式会社の特許一覧

<>
  • 特許-情報処理装置および情報処理方法 図1
  • 特許-情報処理装置および情報処理方法 図2
  • 特許-情報処理装置および情報処理方法 図3
  • 特許-情報処理装置および情報処理方法 図4
  • 特許-情報処理装置および情報処理方法 図5
  • 特許-情報処理装置および情報処理方法 図6
  • 特許-情報処理装置および情報処理方法 図7
  • 特許-情報処理装置および情報処理方法 図8
  • 特許-情報処理装置および情報処理方法 図9
  • 特許-情報処理装置および情報処理方法 図10
  • 特許-情報処理装置および情報処理方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-15
(45)【発行日】2024-01-23
(54)【発明の名称】情報処理装置および情報処理方法
(51)【国際特許分類】
   G06T 7/20 20170101AFI20240116BHJP
   G06T 7/254 20170101ALI20240116BHJP
【FI】
G06T7/20 300Z
G06T7/254
【請求項の数】 8
(21)【出願番号】P 2020121087
(22)【出願日】2020-07-15
(65)【公開番号】P2022018173
(43)【公開日】2022-01-27
【審査請求日】2023-02-16
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】新川 大生
【審査官】堀井 啓明
(56)【参考文献】
【文献】特開2019-159739(JP,A)
【文献】特開2020-086844(JP,A)
【文献】特開2015-187880(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/00,350
G06T 7/00,600-7/90
G06V 10/00-20/90
G06V 30/418
G06V 40/16
G06V 40/20
(57)【特許請求の範囲】
【請求項1】
魚眼カメラにより撮影された撮像画像から動体を検知する動体検知部と、
前記動体を含む動体領域の輪郭上の所定の2点間の距離を、前記撮像画像内での前記動体の位置で計測された人体の身長に基づいて設定された閾値の範囲と比較することにより、前記動体が人体であるか否かを判定する人体判定部と、
前記人体判定部が人体であると判定した前記動体を含む前記動体領域から人体を検出する人体検出部と、
を備え
前記動体を含む動体領域の輪郭上の所定の2点間の距離は、前記動体領域の重心座標と前記撮像画像の中心座標とを通る直線が、前記動体領域の輪郭と交わる2点間の距離である
情報処理装置。
【請求項2】
前記閾値の範囲は、前記撮像画像を複数に分割した領域ごとに設定される
請求項1に記載の情報処理装置。
【請求項3】
前記動体検知部は、背景差分法、またはフレーム間差分法により、前記動体を検知する請求項1または2に記載の情報処理装置。
【請求項4】
前記動体検知部は、前記撮像画像の連続するフレーム内で共通して写る物体の動作および移動方向に基づいて、前記動体を検知する
請求項1または2に記載の情報処理装置。
【請求項5】
前記人体検出部が検出した人体の情報を出力する出力部をさらに備える
請求項1からのいずれか1項に記載の情報処理装置。
【請求項6】
前記撮像画像を撮影する撮像部をさらに備える
請求項1からのいずれか1項に記載の情報処理装置。
【請求項7】
コンピュータが、
魚眼カメラにより撮影された撮像画像から動体を検知する動体検知ステップと、
前記動体を含む動体領域の輪郭上の所定の2点間の距離を、前記撮像画像内での前記動体の位置で計測された人体の身長に基づいて設定された閾値の範囲と比較することにより、前記動体が人体であるか否かを判定する人体判定ステップと、
前記人体判定ステップで人体であると判定した前記動体を含む前記動体領域から人体を検出する人体検出部ステップと、
を含み、
前記動体を含む動体領域の輪郭上の所定の2点間の距離は、前記動体領域の重心座標と前記撮像画像の中心座標とを通る直線が、前記動体領域の輪郭と交わる2点間の距離である
情報処理方法。
【請求項8】
請求項に記載の方法の各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置および情報処理方法に関する。
【背景技術】
【0002】
近年、ファクトリーオートメーション(FA)市場では、画像センサで検出された人体情報を用いて、工場内作業者の作業時間を分析したり動線を解析したりすることにより、工場内の最適化および安全性向上を実現するアプリケーションが利用されている。人体検出にはディープラーニング技術を利用することができるが、検出に時間がかかるため、リアルタイムの解析は困難な場合がある。特許文献1は、動画像を構成するフレーム間で変化が生じる動体領域を検出対象領域とすることで、動画像から対象物を検出する際の処理負荷を低減する技術を開示する。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2018-128885号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
検出対象領域を動体領域に限定しても、人体以外の動体、例えば、工場ではコンベア上の段ボールなど人体以外の動体も解析対象に含まれてしまうため、人体検出の処理負荷は充分には低減されない。また、物体の形状情報を用いて検出する場合、姿勢によって形状が変化する人体は精度良く検出されない可能性がある。
【0005】
本発明は、一側面では、人体をリアルタイムで精度良く検出する技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、上記目的を達成するために、以下の構成を採用する。
【0007】
本開示の第一側面は、魚眼カメラにより撮影された撮像画像から動体を検知する動体検知部と、動体を含む動体領域の輪郭上の所定の2点間の距離を、撮像画像内での動体の位置で計測された人体の身長に基づいて設定された閾値の範囲と比較することにより、動体が人体であるか否かを判定する人体判定部と、人体判定部が人体であると判定した動体を含む動体領域から人体を検出する人体検出部とを備える情報処理装置である。
【0008】
「動体を含む動体領域の輪郭上の所定の2点間の距離」は、動体が人体である場合、人体の身長に相当する距離である。以下、動体の長さとも称する。「閾値の範囲」は、人体を撮影した場合に、撮像画像内での位置において人体の身長がとりうる値の範囲とすることができる。情報処理装置は、動体検知によって人体を検出する対象領域を限定し、さらに、動体が人体である場合に限定して人体を検出する。このため、人体検出による処理の負荷が軽減され、情報処理装置は、人体をリアルタイムで精度良く検出することができる。
【0009】
動体を含む動体領域の輪郭上の所定の2点間の距離は、動体領域で撮像画像の中心座標から最も近い点または最も遠い点である第1座標と、中心座標および第1座標を通る直線と動体領域の輪郭との交点であって第1座標とは異なる第2座標との距離であってもよい。情報処理装置は、簡易な方法により動体の長さを算出することができる。
【0010】
動体を含む動体領域の輪郭上の所定の2点間の距離は、動体領域の重心座標と撮像画像の中心座標とを通る直線が、動体領域の輪郭と交わる2点間の距離であってもよい。人が手を伸ばすなど、姿勢を変えることによって人体である動体領域の形状が変化しても、人の手は胴体に比べて細いため、動体領域の重心は、人の胴体上に存在する。このため、情報処理装置は、重心座標と撮像画像の中心座標とを通る直線が、動体領域の輪郭と交わる2点間の距離を算出することで、人体の身長を精度良く取得することができる。
【0011】
閾値の範囲は、撮像画像を複数に分割した領域ごとに設定されるものであってもよい。情報処理装置は、撮像画像内の位置によって人体の写り方は異なるため、分割した領域ごとに想定される人体の長さを、閾値の範囲として設定する。これにより、情報処理装置は、検知された動体が人体であるか否かを精度良く判定することができる。
【0012】
動体検知部は、背景差分法、またはフレーム間差分法により、動体を検知してもよい。また、動体検知部は、撮像画像の連続するフレーム内で共通して写る物体の動作および移動方向に基づいて、動体を検知してもよい。情報処理装置は、動体を検知し、人体検出の対象領域を検知された動体を含む動体領域に限定するため、不要な人体検出による負荷を低減することができる。
【0013】
情報処理装置は、人体検出部が検出した人体の情報を出力する出力部をさらに備えるものであってもよい。情報処理装置は、人体検出部による人体の検出結果を、リアルタイムでディスプレイ等に出力し、ユーザに提示することができる。
【0014】
情報処理装置は、撮像画像を撮影する撮像部を、さらに備えるものであってもよい。情報処理装置は、撮像部と一体に構成されることにより、簡易な構成とすることができる。
【0015】
本発明の第二側面は、コンピュータが、魚眼カメラにより撮影された撮像画像から動体を検知する動体検知ステップと、動体を含む動体領域の輪郭上の所定の2点間の距離を、撮像画像内での動体の位置で計測された人体の身長に基づいて設定された閾値の範囲と比較することにより、動体が人体であるか否かを判定する人体判定ステップと、人体判定ステップで人体であると判定した動体を含む動体領域から人体を検出する人体検出部ステップとを含む情報処理方法である。
【発明の効果】
【0016】
本発明によれば、人体をリアルタイムで精度良く検出することができる。
【図面の簡単な説明】
【0017】
図1図1は、実施形態に係る情報処理装置の適用例を説明する図である。
図2図2は、情報処理装置のハードウェア構成を例示する図である。
図3図3は、情報処理装置の機能構成を例示する図である。
図4図4は、人体検出処理を例示するフローチャートである。
図5図5は、動体検知について説明する図である。
図6図6は、動体の長さを算出する第1の例を説明する図である。
図7図7は、動体の長さを算出する第2の例を説明する図である。
図8図8は、中心からの距離に応じた人体の長さを示すグラフである。
図9図9は、撮像範囲の領域ごとに設定される閾値の例を示す図である。
図10図10は、動体が人体か否かの判定例を示す図である。
図11図11は、動体領域から人体を検出する方法について説明する図である。
【発明を実施するための形態】
【0018】
以下、本発明の一側面に係る実施の形態を、図面に基づいて説明する。
【0019】
<適用例>
図1は、実施形態に係る情報処理装置の適用例を説明する図である。情報処理装置1は、カメラ10(撮像部)で撮影されたカメラ画像(撮像画像)を取得する。カメラ10は、例えば、広範囲の画像情報を取得することが可能な魚眼レンズを搭載した超広角のカメラである。魚眼レンズを搭載したカメラは、魚眼カメラ、全方位カメラ、全天球カメラなどとも呼ばれるが、本明細書では「魚眼カメラ」の語を用いる。
【0020】
魚眼カメラで撮影した画像は、撮像画像内の位置によって撮影対象の見た目に歪みが生じる。例えば、魚眼カメラが天井から床面を見下ろすように配置された場合、撮影された人物の画像は、足元が中心を向き、頭頂部は外側を向いている。人体は、撮像画像の周辺では正面像、背面像または側面像となり、撮像画像の中央では上面像となる。
【0021】
情報処理装置1は、カメラ10から取得した撮像画像から動体を検知し、人体であるか否かを判定する。魚眼カメラで撮影した人体には歪みが生じることから、人体の足元と頭頂部との距離(人体の身長)は、撮像画像内の位置によって異なる。
【0022】
情報処理装置1は、撮像画像内の位置に応じて想定される足元と頭頂部との距離を、検知した動体が人体であるか否かを判定するための閾値の範囲として予め格納する。情報処理装置1は、検知した動体を含む動体領域の輪郭上の所定の2点間の距離(動体の長さ)を、撮像画像内の位置に対応して予め設定された閾値の範囲と比較することにより、動体が人体であるか否かを判定することができる。
【0023】
情報処理装置1は、人体であると判定した動体領域を解析し、人体を検出する。情報処理装置1は、一般的な物体認識のアルゴリズムを用いて、人体を検出することができる。例えば、人体検出のアルゴリズムは、HoGまたはHaar-likeなどの画像特徴とブースティングとを組み合わせた識別器を用いたものとすることができる。また、人体検出のアルゴリズムは、ディープラーニング(例えば、R-CNN、Faster R-CNN、YOLO、SSDなど)による人体認識を用いたものであってもよい。
【0024】
以上のように、情報処理装置1は、撮像画像から動体を検知し、撮像画像内の位置に対応して予め設定された閾値の範囲と比較することにより、人体らしさを判定することができる。情報処理装置1は、撮像画像のうち、人体であると判定された動体を含む動体領域に限定して人体を検出する。このため、人体検出処理による負荷は軽減される。
【0025】
<実施形態>
(ハードウェア構成)
図2を参照して、情報処理装置1のハードウェア構成の一例について説明する。図2は、情報処理装置1のハードウェア構成を例示する図である。情報処理装置1は、プロセッサ101、主記憶装置102、補助記憶装置103、通信インタフェース(I/F)104、出力装置105を備える。プロセッサ101は、補助記憶装置103に記憶されたプログラムを主記憶装置102に読み出して実行することにより、図3で説明する各機能構成としての機能を実現する。通信インタフェース104は、有線または無線通信を行うためのインタフェースである。出力装置105は、例えば、ディスプレイ等の出力を行うための装置である。
【0026】
情報処理装置1は、パーソナルコンピュータ、サーバコンピュータ、タブレット端末、スマートフォンのような汎用的なコンピュータでもよく、オンボードコンピュータのように組み込み型のコンピュータでもよい。情報処理装置1は、例えば、複数台のコンピュー
タ装置による分散コンピューティングにより実現されてもよく、各機能部の一部をクラウドサーバにより実現されてもよい。また、情報処理装置1の各機能部の一部は、FPGAまたはASICなどの専用のハードウェア装置によって実現されてもよい。
【0027】
情報処理装置1は、有線(USBケーブル、LANケーブルなど)または無線(WiFiなど)でカメラ10に接続され、カメラ10で撮影された画像データを受信する。カメラ10は、レンズを含む光学系および撮像素子(CCDやCMOSなどのイメージセンサ)を有する撮像装置である。
【0028】
なお、情報処理装置1は、カメラ10(撮像部)と一体に構成されてもよい。また、撮像画像に対する動体検出、人体判定処理等、情報処理装置1の処理の一部は、カメラ10で実行されてもよい。さらに、情報処理装置1による人体検出の結果は、外部の装置に送信されユーザに提示されるようにしてもよい。
【0029】
(機能構成)
図3を参照して、情報処理装置1の機能構成の一例について説明する。図3は、情報処理装置1の機能構成を例示する図である。情報処理装置1は、動体検知部11、人体判定部12、人体検出部13、出力部14および判定情報データベース15(判定情報DB15)を含む。
【0030】
動体検知部11は、カメラ10から取得した撮像画像から動体を検知する。動体検知部11は、例えば、撮像画像と予め用意した背景画像との間で変化した箇所を検出する背景差分法、フレーム間で変化した箇所を検出するフレーム間差分法を利用して、動体を検知することができる。背景差分とフレーム間差分の両方の差分を基に動体を検知してもよい。また、動体を検知する方法は、連続するフレーム内で共通して写っている部分から、物体の動作および移動方向を推定するオプティカルフロー(Optical Flow)を利用した手法であってもよい。
【0031】
人体判定部12は、動体検知部11が検知した動体が、人体であるか否かを判定する。人体判定部12は、例えば、検知した動体の長さを、動体の位置で計測された人体の身長に基づいて設定された閾値の範囲と比較することにより、動体が人体であるか否かを判定することができる。
【0032】
人体検出部13は、人体判定部12が人体であると判定した動体の領域から人体を検出(認識)する。人体の検出は、ディープラーニングなどの一般的な物体認識の技術により実現することができる。
【0033】
出力部14は、検出した人体の情報をディスプレイ等の出力装置105に出力(表示)する。出力部14は、人体検出部13によって検出された人体を、枠で囲んで表示したり、撮像画像から抜き出して表示したりすることができる。
【0034】
判定情報データベース15は、人体判定部12が、撮像画像から検知した動体が人体であるか否かを判定するために用いる情報を格納する。動体が人体であるか否かを判定するための情報は、例えば、カメラ10による撮像画像内で、中心からの距離に応じて想定される人体の長さ(身長)である。人体判定部12は、動体の長さを、閾値の範囲として判定情報データベース15に格納された人体の長さと比較することにより、動体が人体か否かの判定をすることができる。
【0035】
(人体検出処理)
図4を参照して、人体検出処理の全体的な流れを説明する。図4は、人体検出処理を例
示するフローチャートである。人体検出処理は、例えば、カメラ10の電源が入り、情報処理装置1がカメラ10から撮像画像を受信することにより開始される。なお、図4に示す人体検出処理は、撮像画像のフレームごとに実行される処理である。図4のフローチャートでは、「撮像画像」は、撮像画像に含まれる1フレームであるものとして説明される。
【0036】
S101では、動体検知部11は、撮像画像を取得する。動体検知部11は、通信インタフェース104を介して、カメラ10から撮像画像を取得する。なお、情報処理装置1がカメラ(撮像部)と一体に構成されている場合には、動体検知部11は、撮像部により撮影された撮像画像を取得する。
【0037】
S102では、動体検知部11は、S101で取得した撮像画像内の動体を検知する。ここで、図5を参照して、撮像画像内の動体の検知について説明する。情報処理装置1は、人体等の動体がない状態で撮影された背景画像501を、補助記憶装置103等に保持しているものとする。動体検知部11は、撮像画像502と背景画像501との差分の領域を動体領域として抽出する。図5に示す出力画像503では、抽出された動体領域は、枠で囲んで示される。出力画像503は、人体以外の棚が、場所の移動または誤認識等により、動体として検出された例を示す
【0038】
なお、動体検知の方法は、図5で説明した例に限られず、連続するフレーム内で共通して写っている部分から、物体の動作および移動方向を推定するオプティカルフローを利用した手法であってもよい。
【0039】
S102で複数の動体が検知された場合、各動体に対しS103からS105の処理が繰り返される。
【0040】
S103では、人体判定部12は、判定対象の動体の長さを算出する。ここで、図6および図7を参照して、魚眼カメラ(カメラ10)で撮影した画像で検知された動体の長さを算出する2つの例を説明する。
【0041】
図6の例では、人体判定部12は、動体が人である場合に、足元と想定される位置の座標と頭頂部と想定される位置との距離を、動体の長さとして算出する。図7(A)の例では、人体判定部12は、動体の重心の座標と撮像画像の中心の座標とを結ぶ直線が、動体領域の輪郭と交わる2点間の距離を、動体の長さとして算出する。
【0042】
図6は、動体の長さを算出する第1の例を説明する図である。画像600Aは、S102で検知された動体を含む動体領域601~動体領域605を示す。撮像画像の中心は、×印で示される。画像600Aで示されるように、魚眼カメラで人体を撮影すると、足元は中心を向き、頭頂部は外側を向く。
【0043】
画像600Bは、動体が人である場合に、足元と想定される位置の座標(以下、足元座標と称する)を丸印で示す。人体判定部12は、例えば、動体領域のうち撮像画像の中心の座標(以下、中心座標と称する)から最も近い座標を取得して、足元座標とすることができる。
【0044】
画像600Cは、動体が人である場合に、頭頂部と想定される位置の座標(以下、頭頂部座標と称する)を三角印で示す。人体判定部12は、例えば、足元座標および中心座標を通る直線と動体領域の輪郭とのもう1つの交点の座標を取得して、頭頂部座標とすることができる。また、人体判定部12は、動体領域のうち中心座標から最も遠い座標を取得して、頭頂部座標としてもよい。
【0045】
人体判定部12は、取得した足元座標と頭頂部座標との距離を、動体の長さ(人体の身長)として算出する。なお、図6の例では、足元座標を先に取得する方法を例示するが、人体判定部12は、頭頂部座標を先に取得するようにしてもよい。即ち、人体判定部12は、動体領域のうち中心座標から最も遠い座標を頭頂部座標として取得し、頭頂部座標および中心座標を通る直線と動体領域の輪郭とのもう1つの交点の座標を取得して、足元座標とすることができる。
【0046】
図7(A)および図7(B)は、動体の長さを算出する第2の例を説明する図である。図7(A)の画像700は、S102で検知された動体を含む動体領域601~動体領域605を示す。撮像画像の中心は、×印で示される。画像700は、動体領域の重心の座標(以下、重心座標と称する)を星印で示す。
【0047】
人体判定部12は、重心座標と中心座標とを通る直線が動体領域の輪郭と交わる2点間の距離を、動体の長さ(人体の身長)として算出することができる。第2の例では、人が手を伸ばしている場合でも、人体判定部12は、人体の身長をより精度良く算出することができる。
【0048】
例えば、図7(B)に示すように、手の先端が撮像画像の中心に最も近い場合、第1の例による方法では、手の先端が足元であると誤認識される可能性がある。この場合、中心座標と手の先端の座標とを結ぶ直線は、点線701で示すように、人体の頭頂部を通らない可能性がある。
【0049】
これに対し、動体領域の重心は、人が手を伸ばしている状態であっても、手および腕の部分は胴体部分よりも細いため、通常胴体部分に存在する。この場合、中心座標と動体領域の重心座標とを結ぶ直線702は、人体の頭頂部を通る。したがって、人体判定部12は、動体領域の重心を用いた第2の例による方法では、人がどのような姿勢であるかに関わらず、精度良く人体の身長を算出することができる。
【0050】
図4のS104では、人体判定部12は、S103で取得した動体の長さを、撮像画像内での動体の位置に対応して予め設定された閾値の範囲と比較することにより、動体が人体であるか否かを判定する。ここで、図8から図10を参照して、動体が人体であるか否かを判定するための閾値の範囲について説明する。
【0051】
図8を参照して、魚眼カメラによる撮像画像に写る人体の長さについて説明する。図8は、中心からの距離に応じた人体の長さを示すグラフである。横軸は、撮像画像の中心からの距離である。中心から動体までの距離は、例えば動体領域の重心と撮像画像の中心との距離とすることができる。縦軸は、撮像画像内での人体の長さ(身長)である。
【0052】
天井に設置された魚眼カメラの真下に立った人体は、足元と頭頂部とが撮像範囲の中心に位置し、撮像画像中の人体の長さは0となる。人体が撮像範囲の中心から離れるにしたがって、人体の長さは大きくなっていく。図8に示す例では、人体の中心からの距離がrを超えると、人体の長さは小さくなっていく。このように、魚眼カメラによる撮像画像では、人体の長さは、中心から離れるにしたがって一旦大きくなるが、中心からの距離がある値を超えると徐々に小さくなるという傾向がある。
【0053】
図9を参照して、撮像画像内での動体の位置に対応して予め設定される、人体の長さの閾値の範囲について説明する。図9は、撮像範囲の領域ごとに設定される閾値の例を示す図である。図9(A)の例に示す撮像範囲は、魚眼カメラによる全天球の撮像範囲を平面展開した例である。撮像範囲は、複数の領域に分割され、中心からの距離に応じてグルー
プ1からグループ5に分類される。各グループに対し、想定される人体の長さの範囲が設定される。
【0054】
図9(A)に示す閾値の範囲は、高さ3mの位置に魚眼カメラを設定して撮影した1600×1200ピクセル(px)の画像で、人体の長さを計測したデータに基づいて設定された閾値の例である。
【0055】
撮像範囲の中心にあるグループ1の領域では、人体の長さは、0px~100pxであると想定される。グループ1の領域に隣接するグループ2の領域では、人体の長さは、グループ1よりも大きく100px~200pxであると想定される。グループ2の領域に隣接し、さらに外側にあるグループ3の領域では、人体の長さは、グループ2よりも大きく200px~300pxであると想定される。
【0056】
人体の長さは、グループ3の領域を境に小さくなっていく。グループ3の領域に隣接し、さらに外側にあるグループ4の領域では、人体の長さは、グループ3よりも小さく100px~200pxであると想定される。グループ4の領域に隣接し、さらに外側にあるグループ5の領域では、人体の長さは、グループ4よりも小さく10px~100pxであると想定される。
【0057】
このように、撮像範囲は、複数に分割され、それぞれの領域で想定される人体の長さの情報が、カメラ10の設置位置および撮像画像の画素数等に応じて予め設定される。設定された人体の長さ(閾値の範囲)の情報は、判定情報データベース15に予め格納される。人体判定部12は、判定情報データベース15に格納された閾値の範囲の情報と、S103で取得した動体の長さとを比較することにより、検知された動体が人体であるか否かを判定することができる。
【0058】
なお、撮像範囲内に人体より大きい物体がない場合には、各グループに対する閾値の範囲は、上限値を設定しないようにしてもよい。この場合、人体判定部12は、図9(A)に例示する閾値の範囲の下限値より大きい動体を、人体であると判定することができる。
【0059】
また、図9(A)は、撮像範囲を矩形として複数に分割し、それぞれの領域に閾値の範囲を設定する例を示すが、これに限られない。図9(B)に示すように、円形で表された撮像範囲を複数の同心円で分割し、それぞれの領域で人体の長さについての閾値の範囲が設定されるようにしてもよい。
【0060】
図10を参照して、図9(A)で説明した閾値の範囲を用いて、動体が人体であるか否かを判定する方法について説明する。図10は、動体が人体か否かの判定例を示す図である。人体判定部12は、図6の画像600Cで説明したように、検知した動体領域について、足元座標および頭頂部座標を取得して動体の長さを算出する。
【0061】
また、人体判定部12は、動体領域が撮像範囲内のどのグループの領域に属するかを判定する。例えば、人体判定部12は、動体領域の頭頂部座標に基づいて、どのグループの領域に属するかを決定することができる。なお、人体判定部12は、頭頂部座標に限られず、足元座標、重心座標、足元座標と頭頂部座標との中点等の位置に基づいて、動体がどのグループの領域に属するかを決定してもよい。
【0062】
人体判定部12は、動体領域が属するグループの閾値の範囲を判定情報データベース15から取得する。人体判定部12は、S103で算出した動体の長さを、判定情報データベース15から取得した閾値の範囲と比較する。人体判定部12は、動体の長さが閾値の範囲内である場合には、検知した動体が人体であると判定する。
【0063】
図10の例では、画像600Cの動体領域605は、算出した動体の長さが閾値の範囲に含まれず、人体でないと判定される。画像1000は、動体領域605が人体と判定されなかったことを×印によって示している。また、画像1000は、動体領域601~動体領域604を矩形で囲み、これらの動体領域が人体であると判定されたことを示す。
【0064】
図4のS104で、検知された動体が人体であると判定された場合(S104:Yes)、処理はS105に進む。検知された動体が人体であると判定されなかった場合(S104:No)、処理はS106に進む。
【0065】
S105では、人体検出部13は、S104で人体であると判定された動体領域から人体を認識し検出する。人体検出部13は、一般的な物体認識のアルゴリズムを用いて、人体を検出することができる。
【0066】
ここで、図11(A)および図11(B)を参照し、CNNを使用して動体領域から人体を検出する方法について説明する。図11(A)は、S102で複数フレーム間の動体差分から動体を検知した場合の例を示す。人体検出部13は、動体差分から検知した動体領域をそのままCNNに入力することで人体を検出することができる。
【0067】
ただし、動体差分により動体を検知する場合、検知される動体領域は、複数フレーム分の領域から検知されるため、人体は、図11(A)に示すように実際よりも大きく検出される場合がある。そこで、人体検出部13は、図11(B)に示すように、動体領域内でウィンドウを順にあてて得られる分割領域をCNNに入力することで、人体を検出するようにしてもよい。ウィンドウによって動体領域をサーチすることにより、人体検出部13は、人体の長さに合った精度の良い検出をすることができる。
【0068】
なお、人体検出部13は、HoGまたはHaar-likeなどの画像特徴とブースティングとを組み合わせた識別器によって動体領域から人体の認識を行ってもよい。この場合も、動体領域全体に対して人体か否かの判定を行ってもよいし、図11(B)に示したものと同じように、ウィンドウによって動体領域をサーチすることにより、動体領域内に含まれる任意の長さの人体を検出・認識するようにしてもよい。
【0069】
図4のステップS106では、人体判定部12は、S102で検知した動体のうち、人体であるか否かの判定をしていない他の動体があるか否かを判定する。未判定の他の動体がある場合(S106:Yes)、処理はS103に戻る。未判定の他の動体がない場合(S106:No)、図4に示す人体検出処理は終了する。
【0070】
人体検出処理が終了すると、出力部14は、撮像画像に対して、検出した人体を示す矩形等を重畳表示して、ディスプレイ等に出力する。
【0071】
(作用効果)
上記の実施形態において、情報処理装置1は、撮像画像から動体を検知し、検知した動体が人体であるか否かを判定する。情報処理装置1は、動体が人体であると判定された場合に、検知した動体を含む動体領域から、ディープラーニング等の手法により人体を検出する。このように、情報処理装置1は、人体を検出する対象となる領域を、人体であると判定された動体領域に限定することで、ディープラーニング等による人体認識の負荷を軽減し、人体をリアルタイムで精度良く検出することができる。
【0072】
また、情報処理装置1は、検知した動体が人体であるか否かを判定する際、動体の長さを、撮像画像内での動体の位置に応じて予め設定された閾値の範囲と比較する。魚眼カメ
ラで撮影された画像では、撮影された人体は、撮像画像内の位置によって歪みが生じる。撮像画像内の位置に応じて想定される人体の長さが異なるため、人体であるか否か判定するための閾値の範囲は、撮像画像内の位置に応じた範囲に設定される。このように、魚眼カメラによる撮像画像の特性を考慮して、撮像画像内の位置または領域に応じた閾値の範囲が設定されるため、情報処理装置1は、人体であるか否かを精度よく判定することができる。
【0073】
<その他>
上記実施形態は、本発明の構成例を例示的に説明するものに過ぎない。本発明は上記の具体的な形態には限定されることはなく、その技術的思想の範囲内で種々の変形が可能である。
【0074】
上記の実施形態では、人体であるか否か判定するための閾値の範囲は、撮像範囲を複数の領域に分割し、領域ごとに予め設定する例を示したが、これに限られない。例えば、人体であるか否か判定するための閾値の範囲は、撮像画像の中心から動体領域の重心までの距離に応じて、所定の計算式により算出されるようにしてもよい。
【0075】
また、人体であるか否か判定するための閾値の範囲は、主な撮影対象となる人体の性別または年齢層に応じて異なる値の範囲が設定されてもよい。
【0076】
<付記1>
(1)魚眼カメラにより撮影された撮像画像から動体を検知する動体検知部(11)と、
前記動体を含む動体領域の輪郭上の所定の2点間の距離を、前記撮像画像内での前記動体の位置で計測された人体の身長に基づいて設定された閾値の範囲と比較することにより、前記動体が人体であるか否かを判定する人体判定部(12)と、
前記人体判定部が人体であると判定した前記動体を含む前記動体領域から人体を検出する人体検出部(13)と、
を備える情報処理装置(1)。
【0077】
(2)コンピュータが、
魚眼カメラにより撮影された撮像画像から動体を検知する動体検知ステップ(S102)と、
前記動体を含む動体領域の輪郭上の所定の2点間の距離を、前記撮像画像内での前記動体の位置で計測された人体の身長に基づいて設定された閾値の範囲と比較することにより、前記動体が人体であるか否かを判定する人体判定ステップ(S103、S104)と、
前記人体判定ステップで人体であると判定した前記動体を含む前記動体領域から人体を検出する人体検出部ステップ(S105)と、
を含む情報処理方法。
【符号の説明】
【0078】
1:情報処理装置、10:カメラ、11:動体検知部、12:人体判定部、13:人体検出部、14:出力部、15:判定情報データベース
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11