(57)【特許請求の範囲】
【請求項１】
計測画像情報に含まれる３次元平面内の複数のエッジ画素を検出するエッジ画素検出部と、
前記検出した複数のエッジ画素間を接続する複数のエッジ線分を検出するエッジ線分検出部と、
前記検出した複数のエッジ線分の座標系を、前記３次元平面の法線方向から見た平面座標系に変換する座標系変換部と、
前記平面座標系における複数のエッジ線分の分布に基づいて、前記３次元平面内の矩形領域を検出する矩形領域検出部と、
を備える画像処理装置。
【請求項２】
前記計測画像情報には、計測点から前記３次元平面を撮像した画像情報と、前記計測点から前記３次元平面までの距離情報とが含まれる、
請求項１に記載の画像処理装置。
【請求項３】
前記計測画像情報に含まれる前記３次元平面を検出する平面検出部を備え、
前記エッジ画素検出部は、前記検出した３次元平面に基づいて前記複数のエッジ画素を検出する、
請求項１または２に記載の画像処理装置。
【請求項４】
前記計測画像情報の中から、前記検出した３次元平面領域の画像を抽出した抽出画像を生成する抽出画像生成部を備え、
前記エッジ画素検出部は、前記生成した抽出画像に対してエッジ検出処理を行い、前記複数のエッジ画素を検出する、
請求項３に記載の画像処理装置。
【請求項５】
前記エッジ線分検出部は、前記複数のエッジ画素に対して確率的ハフ変換を行い、前記複数のエッジ線分を検出する、
請求項１乃至４のいずれか一項に記載の画像処理装置。
【請求項６】
前記平面座標系における複数のエッジ線分の位置の分布を示すヒストグラムを生成するヒストグラム生成部を備え、
前記矩形領域検出部は、前記生成されたヒストグラムに基づいて、前記矩形領域を検出する、
請求項１乃至５のいずれか一項に記載の画像処理装置。
【請求項７】
前記ヒストグラムは、前記平面座標系の軸方向に対する前記複数のエッジ線分の傾きを重みとする分布である、
請求項６に記載の画像処理装置。
【請求項８】
前記ヒストグラムの重みは、前記複数のエッジ線分と前記平面座標系の軸方向の単位ベクトルとの内積である、
請求項７に記載の画像処理装置。
【請求項９】
前記ヒストグラムの複数のピーク位置を検出するピーク検出部と、
前記検出した複数のピーク位置間を、前記平面座標系の軸方向へ接続する複数のピーク線分を生成するピーク線分生成部と、を備え、
前記矩形領域検出部は、前記生成された複数のピーク線分に基づいて、前記矩形領域を検出する、
請求項６乃至８のいずれか一項に記載の画像処理装置。
【請求項１０】
前記矩形領域検出部は、前記生成された複数のピーク線分のうち、前記複数のエッジ線分に対応するピーク線分に基づいて、前記矩形領域を検出する、
請求項９に記載の画像処理装置。
【請求項１１】
前記生成された複数のピーク線分と前記複数のエッジ線分とを照合するエッジ照合部と、
前記矩形領域検出部は、前記照合が成功した前記ピーク線分に基づいて、前記矩形領域を検出する、
請求項９または１０に記載の画像処理装置。
【請求項１２】
前記複数のエッジ線分から、前記生成された複数のピーク線分近傍のエッジ線分を抽出する近傍エッジ線分抽出部を備え、
前記エッジ照合部は、前記複数のピーク線分と前記抽出されたエッジ線分とを照合する、
請求項１１に記載の画像処理装置。
【請求項１３】
前記検出された矩形領域の一辺を回転軸として回転可能な３次元モデルを生成する３次元モデル生成部を備える、
請求項１乃至１２のいずれか一項に記載の画像処理装置。
【請求項１４】
ユーザの入力操作に応じて、前記矩形領域に対して前記回転軸と回転動作を指定する動作指定部を備える、
請求項１３に記載の画像処理装置。
【請求項１５】
前記３次元モデル生成部は、前記検出された矩形領域を家具候補として認識し、前記３次元モデルとして家具モデルを生成する、
請求項１３または１４に記載の画像処理装置。
【請求項１６】
計測画像情報に含まれる３次元平面内の複数のエッジ画素を検出し、
前記検出した複数のエッジ画素間を接続する複数のエッジ線分を検出し、
前記検出した複数のエッジ線分の座標系を、前記３次元平面の法線方向から見た平面座標系に変換し、
前記平面座標系における複数のエッジ線分の分布に基づいて、前記３次元平面内の矩形領域を検出する、
画像処理方法。
【請求項１７】
計測画像情報に含まれる３次元平面内の複数のエッジ画素を検出し、
前記検出した複数のエッジ画素間を接続する複数のエッジ線分を検出し、
前記検出した複数のエッジ線分の座標系を、前記３次元平面の法線方向から見た平面座標系に変換し、
前記平面座標系における複数のエッジ線分の分布に基づいて、前記３次元平面内の矩形領域を検出する、
画像処理方法をコンピュータに実行させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及び画像処理プログラムに関し、特に、画像に含まれる所定領域を検出する画像処理装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【０００２】
対象空間を撮像した画像から所望の形状や物体等を検出する画像処理技術が知られている。例えば、特許文献１には、画像内の矩形領域を検出する技術が開示されている。特許文献１では、入力画像に含まれるエッジ画素を抽出し、エッジ画素に基づいて直線検出を行い、略直交する４本の直線から矩形領域を検出している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１０６１６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１は、画像から原稿を読み取るための技術であるため、撮像対象とカメラが略対面していることを想定し、略対面で撮像した２次元画像上で直線が略直交しているかを判定している。すなわち、図３２に示すように、特許文献１では、原稿の紙面（平面）に対向する位置から撮像した画像９００を取得し、画像９００の２次元平面における水平方向及び垂直方向の直線を検出し、これらの直線から原稿を示す矩形領域９０１を検出する。
【０００５】
しかしながら、特許文献１では、撮像対象とカメラが対面していないような３次元環境については考慮されていない。例えば、図３３の画像９１０に示すように、３次元環境における食器棚など矩形の平面（３次元平面）９１１を斜めから計測（撮像）した場合、遠近法により２次元画像（画像平面）としては、平面９１１における水平方向及び垂直方向の直線が９０度を成さず、平面９１１の角９１１ａが必ずしも直交しない（直角とならない）。このため、特許文献１などの従来技術を３次元環境へ適用し、矩形領域を検出することは困難である。すなわち、従来技術では、対象物とカメラとが対面していることが前提となっており、対面していない場合には、直線検出を行って検出された直線が他の直線と直交しないため、矩形領域を検出することが難しい。
【０００６】
また、特許文献１の実施例として直線検出に（標準的）ハフ変換を使用しているが、（標準的）ハフ変換では一般に直線として検出するか否かの閾値設定が難しい。例えば、図３３のように、略同一方向を向く複数の小さな模様９１１ｂを含む画像９１０に対しハフ変換を用いて直線を検出すると、図３４のように、矩形のエッジに対応した直線９１２に加えて、模様９１１ｂにも直線９１２ａが検出されてしまう。このため、不要な直線により複数の矩形の“角”候補が検出される恐れがあり、結果として誤検出が多くなる。すなわち、従来技術では、対象物の模様等も直線検出により直線と抽出されてしまい、対象物の形状を正確に検出することができない場合がある。
【０００７】
したがって、従来技術では、検出対象と対面しない位置から画像を取得するような３次元環境において、正確に矩形領域を検出することができないという問題があった。
【課題を解決するための手段】
【０００８】
本発明に係る画像処理装置は、計測画像情報に含まれる３次元平面内の複数のエッジ画素を検出するエッジ画素検出部と、前記検出した複数のエッジ画素間を接続する複数のエッジ線分を検出するエッジ線分検出部と、前記検出した複数のエッジ線分の座標系を、前記３次元平面の法線方向から見た平面座標系に変換する座標系変換部と、前記平面座標系における複数のエッジ線分の分布に基づいて、前記３次元平面内の矩形領域を検出する矩形領域検出部と、を備えるものである。
【０００９】
本発明に係る画像処理方法は、計測画像情報に含まれる３次元平面内の複数のエッジ画素を検出し、前記検出した複数のエッジ画素間を接続する複数のエッジ線分を検出し、前記検出した複数のエッジ線分の座標系を、前記３次元平面の法線方向から見た平面座標系に変換し、前記平面座標系における複数のエッジ線分の分布に基づいて、前記３次元平面内の矩形領域を検出するものである。
【００１０】
本発明に係る画像処理プログラムは、計測画像情報に含まれる３次元平面内の複数のエッジ画素を検出し、前記検出した複数のエッジ画素間を接続する複数のエッジ線分を検出し、前記検出した複数のエッジ線分の座標系を、前記３次元平面の法線方向から見た平面座標系に変換し、前記平面座標系における複数のエッジ線分の分布に基づいて、前記３次元平面内の矩形領域を検出する、画像処理方法をコンピュータに実行させるためのものである。
【発明の効果】
【００１１】
本発明によれば、精度良く矩形領域を検出することが可能な画像処理装置、画像処理方法及び画像処理プログラムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態に係る矩形領域検出方法の概要を示すフローチャートである。
【図２】実施の形態に係る矩形領域検出方法で処理する画像の一例を示す図である。
【図３】実施の形態に係る矩形領域検出方法で処理する画像の一例を示す図である。
【図４】実施の形態に係る矩形領域検出方法で処理する画像の一例を示す図である。
【図５】実施の形態に係る矩形領域検出方法で処理する画像の一例を示す図である。
【図６】実施の形態に係る矩形領域検出方法で処理する画像の一例を示す図である。
【図７】実施の形態に係る矩形領域検出方法で処理する画像の一例を示す図である。
【図８】実施の形態に係る矩形領域検出方法を説明するための説明図である。
【図９】実施の形態１に係る矩形領域検出装置の構成を示すブロック図である。
【図１０】実施の形態１に係る矩形領域検出装置の動作を説明するための説明図である。
【図１１】実施の形態１に係る矩形領域検出装置の動作を説明するための説明図である。
【図１２】実施の形態１に係る矩形領域検出装置の動作を説明するための説明図である。
【図１３】実施の形態１に係る矩形領域検出方法を示すフローチャートである。
【図１４】実施の形態１に係る矩形領域検出方法で処理する画像の一例を示す図である。
【図１５】実施の形態１に係る矩形領域検出方法を説明するための説明図である。
【図１６】実施の形態１に係る矩形領域検出方法を説明するための説明図である。
【図１７】実施の形態１に係る矩形領域検出方法を説明するための説明図である。
【図１８】実施の形態１に係る矩形領域検出方法を説明するための説明図である。
【図１９】実施の形態１に係る矩形領域検出方法を説明するための説明図である。
【図２０】実施の形態１に係る矩形領域検出方法を説明するための説明図である。
【図２１】実施の形態１に係る矩形領域検出方法を説明するための説明図である。
【図２２】実施の形態１に係る矩形領域検出方法を説明するための説明図である。
【図２３】実施の形態２に係る家具モデル処理システムの構成を示すブロック図である。
【図２４】実施の形態２に係る家具モデル生成方法を示すフローチャートである。
【図２５】実施の形態２に係る家具モデル生成方法を示すフローチャートである。
【図２６】実施の形態２に係る家具モデル生成方法で処理する画像の一例を示す図である。
【図２７】実施の形態２に係る家具モデル生成方法で使用するユーザインタフェースの一例を示す図である。
【図２８】実施の形態２に係る家具モデル生成方法で使用するユーザインタフェースの一例を示す図である。
【図２９】実施の形態２に係る家具モデル生成方法で使用するユーザインタフェースの一例を示す図である。
【図３０】実施の形態２に係る家具モデル生成方法で使用するユーザインタフェースの一例を示す図である。
【図３１】実施の形態２に係る家具モデル生成方法で使用するユーザインタフェースの一例を示す図である。
【図３２】従来の矩形領域検出方法を示す図である。
【図３３】従来の矩形領域検出方法を示す図である。
【図３４】従来の矩形領域検出方法を示す図である。
【発明を実施するための形態】
【００１３】
（実施の形態の概要）
実施の形態の説明に先立って、実施の形態の特徴についてその概要を説明する。実施の形態では、環境を計測した距離画像センサの情報から環境内の矩形領域を検出する。図１は、実施の形態に係る矩形領域検出方法の概要を示している。この矩形領域検出方法は、後述するように矩形領域検出装置などにより実行される。
【００１４】
図１に示すように、まず、距離画像センサにより環境を計測した距離画像から３次元注目平面を検出する（Ｓ１１）。例えば、矩形領域検出装置は、図２に示すような距離画像が入力されると、図３に示すような注目平面（図３の白地部分）を検出する。
【００１５】
続いて、Ｓ１１で検出した３次元注目平面から、平面のマスク画像を生成し（Ｓ１２）、生成したマスク画像に対しエッジ検出を行う（Ｓ１３）。例えば、矩形領域検出装置は、図２の距離画像及び図３の３次元注目平面に基づいて、距離画像から平面画像を抽出したマスク画像を生成し、図４に示すようにマスク画像のエッジを検出したエッジ画像を検出する。
【００１６】
続いて、矩形領域検出装置は、Ｓ１３で検出したエッジ画像に対し、確率的ハフ変換などの線分検出手段を用いてエッジ断片群（エッジ線分の集合）を検出する（Ｓ１４）。例えば、矩形領域検出装置は、図４のエッジ画像に確率的ハフ変換を行い、図５に示すようなエッジ断片群を検出する。図８（ａ）は、２次元計測座標系（センサから見た座標系）のエッジ断片群を模式的に示している。
【００１７】
続いて、矩形領域検出装置は、Ｓ１４で検出した２次元のエッジ断片群を３次元平面座標系（平面の法線方向から見た座標系）へ変換する（Ｓ１５）。例えば、矩形領域検出装置は、図８（ａ）の２次元計測座標系のエッジ断片群を、図８（ｂ）に示すような３次元平面座標系へ変換する。
【００１８】
続いて、矩形領域検出装置は、Ｓ１５で変換した３次元平面座標系において、Ｘ，Ｙ軸方向にエッジ存在位置ヒストグラムを作成し、平均シフト法などを使ってＸ，Ｙ軸方向のエッジ存在ピーク位置を求める（Ｓ１６）。例えば、矩形領域検出装置は、図８（ｂ）の３次元平面座標系におけるエッジ断片群について、図８（ｃ）に示すようなＸ，Ｙ軸方向のエッジ断片の分布を示すエッジ存在位置ヒストグラムを生成し、このヒストグラムのピーク位置を求める。
【００１９】
続いて、矩形領域検出装置は、Ｓ１６で求めたＸ，Ｙ軸方向のエッジ存在ピーク位置を結ぶ最小線分（ピーク線分）を求める（Ｓ１７）。例えば、矩形領域検出装置は、図８（ｃ）のエッジ存在位置ヒストグラムのピーク位置を接続し、図８（ｄ）や図６に示すような最小線分を生成する。
【００２０】
続いて、矩形領域検出装置は、Ｓ１７で求めた最小線分上に、Ｓ１４で検出したエッジ断片群が存在するか否かを照合することで、正しい矩形（長方形）領域を検出する（Ｓ１８）。例えば、矩形領域検出装置は、図８（ｄ）や図６の最小線分と図８（ａ）や図５のエッジ断片群を照合し、有効な最小線分に囲まれた領域を求めることで、図８（ｅ）や図７に示すような矩形領域を検出する。
【００２１】
このように、実施の形態では、環境を計測した距離画像センサの情報から環境内の矩形領域を検出する方法において、２次元の画像から抽出したエッジ断片群を、３次元の平面座標系へ変換し、平面座標系で直交する２軸方向に対して、エッジ存在位置の分布を示すヒストグラムを作成することで、信頼性高く矩形領域を検出することができる。
【００２２】
（実施の形態１）
以下、図面を参照して実施の形態１について説明する。図９は、本実施の形態に係る画像処理システム（矩形領域検出システム）の構成を示している。
【００２３】
図９に示すように、本実施の形態に係る画像処理システム１は、矩形領域検出装置１００と距離画像センサ２００とを備えている。なお、矩形領域検出装置１００と距離画像センサ２００は、一体の装置であってもよいし、各々独立した装置であってもよい。例えば、矩形領域検出装置１００と距離画像センサ２００は、ロボットなどに備えられている。
【００２４】
距離画像センサ（距離画像計測部）２００は、３次元環境を計測して得られる距離画像（距離画像データ、計測画像データ）を生成する。距離画像は、センサ（計測点）から計測対象を撮像した画像情報（入力画像）とセンサから計測対象までの距離情報とを含んでおり、例えば、１画素につき、“ＲＧＢＤ（カラー＋距離）”または“グレースケール（輝度値）＋距離“を含んでいる。距離画像センサ２００は、ステレオカメラ（３次元カメラ）、ＬＲＦ（レーザレンジファインダ）＋カメラ、Ｍｉｃｒｏｓｏｆｔ  Ｋｉｎｅｃｔ（登録商標）などで構成される。
【００２５】
矩形領域検出装置１００は、距離画像取得部１０１、平面検出部１０２、平面マスク画像生成部１０３、平面座標系計算部１０４、エッジ検出部１０５、エッジ断片検出部１０６、座標系変換部１０７、エッジ存在位置ヒストグラム生成部１０８、ヒストグラムピーク推定部１０９、線分生成部１１０、近傍エッジ断片抽出部１１１、エッジ照合部１１２、矩形領域検出部１１３を備えている。
【００２６】
なお、後述の本実施の形態に係る矩形領域検出方法が実現できれば、その他の機能ブロックで構成してもよい。図９の矩形領域検出装置１００における各機能（各処理）は、ハードウェア又はソフトウェア、もしくはその両方によって構成され、１つのハードウェア又はソフトウェアから構成してもよいし、複数のハードウェア又はソフトウェアから構成してもよい。矩形領域検出装置１００の各機能を、ＣＰＵ（Central Processing Unit）やメモリ等を有するコンピュータにより実現してもよい。例えば、記憶装置に後述する矩形領域検出方法を行うための矩形領域検出プログラムを格納し、矩形領域検出装置１００の各機能を、記憶装置に格納された矩形領域検出プログラムをＣＰＵで実行することにより実現してもよい。
【００２７】
距離画像取得部１０１は、距離画像センサ２００が環境を計測して生成した距離画像（距離画像データ）を取得する。平面検出部１０２は、距離画像取得部１０１が取得した距離画像に含まれる入力画像に対し、平面検出処理を行い、注目平面（３次元平面）を検出する。平面マスク画像生成部（抽出画像生成部）１０３は、平面検出部１０２が検出した注目平面の領域をマスクとして、入力画像から注目平面に対応するマスク画像（抽出画像）を抽出する。平面座標系計算部１０４は、平面検出部１０２が検出した注目平面について、平面を基準とした平面座標系を計算する。
【００２８】
エッジ検出部（エッジ画素検出部）１０５は、平面マスク画像生成部１０３が生成したマスク画像に対し、エッジ検出処理を行い、検出したエッジ画素を含むエッジ画像を生成する。エッジ断片検出部（エッジ線分検出部）１０６は、エッジ検出部１０５が検出したエッジ画像に対し、確率的ハフ変換処理を行い、エッジ画像に含まれるエッジ画素を接続するエッジ断片群（エッジ線分群）を検出する。
【００２９】
座標系変換部１０７は、エッジ断片検出部１０６が検出した２次元のエッジ断片群の座標系を、３次元の平面座標系に変換する。座標系変換部１０７は、２次元座標系を３次元座標系に変換し、また、３次元座標系を２次元座標系にも変換する。
【００３０】
座標系変換部１０７における３次元座標（Ｘ，Ｙ，Ｚ）から２次元座標（ｕ，ｖ）への変換処理は、例えば、ピンホールカメラモデルを使った透視投影変換により行われる。ピンホールカメラモデルでは、図１０に示すように、カメラ座標系（センサ座標系）、グローバル座標系（ワールド座標系）、座標系間の位置・姿勢を行列で表現した同時変換行列を使用するカメラはセンサ（距離画像センサ）に相当し、カメラ座標系はカメラを基準とした座標系である。グローバル座標系は、３次元の基準となる座標であり、計測対象（例えば注目平面）を基準とした座標系である。次の式１に、同時変換行列を用いて３次元座標を２次元座標に変換する変換式を示す。カメラ外部パラメータ行列（同時変換行列）は、カメラ座標系から見たグローバル座標系の位置・姿勢を示している。
【数１】
0006054831.tif 000002
【００３１】
また、座標系変換部１０７における２次元座標から３次元座標への変換処理についても、ピンホールカメラモデルを用いて変換が行われる。図１１に示すように、カメラから画像面までの焦点距離をｆ、カメラから物体（計測対象）までの距離をＤとすると、カメラから見た２次元座標（ｕ，ｖ）は次の式２となる。
【数２】
0006054831.tif 000003
【００３２】
本実施の形態における距離画像センサでは画素と対象物体の距離Ｄが計測でき、１ピクセルの（ｕ,ｖ,Ｄ）の値が得られるため、３次元座標（Ｘ，Ｙ，Ｚ）の値を次の式３により計算できる。
【数３】
0006054831.tif 000004
【００３３】
エッジ存在位置ヒストグラム生成部（ヒストグラム生成部）１０８は、座標系変換部１０７が変換した３次元平面座標系において、エッジ断片群の分布を示すエッジ存在位置ヒストグラムを生成する。ヒストグラムピーク推定部（ピーク検出部）１０９は、エッジ存在位置ヒストグラム生成部１０８生成したエッジ存在位置ヒストグラムにおけるエッジが存在する位置のピークを推定する。線分生成部（ピーク線分生成部）１１０は、ヒストグラムピーク推定部１０９が推定したヒストグラムのピーク位置を結ぶ最小線分（ピーク線分）を生成する。
【００３４】
近傍エッジ断片抽出部（近傍エッジ線分抽出部）１１１は、エッジ断片検出部１０６が検出したエッジ断片群を参照し、線分生成部１１０が生成した最小線分近傍のエッジ断片群を抽出する。近傍エッジ断片抽出部１１１は、最小線分をエッジ断片群のエッジ画像へ投影した距離に基づいて、最小線分近傍のエッジ断片群を抽出する。最小線分（エッジ断片群）を画像へ投影した距離は、２次元画像または３次元画像における、点から線分（直線）までの距離として求めることができる。
【００３５】
２次元画像（２次元座標系）に投影する場合、点から直線の距離は、次の式４により求まる。式４では、点Ａ（ｘ０，ｙ０）から、直線Ｌ（ａｘ＋ｂｙ＋ｃ＝０）に下ろした垂線の長さ（距離）ｄを示している。
【数４】
0006054831.tif 000005
【００３６】
点と線分の距離は、点から線分上に垂線を下ろせるかどうかで場合分けし、線分上に垂線が下ろせる場合は上記の式４で距離が計算でき、線分上に垂線が下ろせない場合は、線分の端点（始点または終点）と点との距離が線分と点との距離となる。近傍エッジ断片抽出部１１１は、この計算方法により、エッジ断片の中心位置と最小線分の距離を計算する。
【００３７】
３次元画像（３次元座標系）に投影する場合、図１２に示すように、注目点Ｐから最小線分Ｅへ下ろした垂線はＶＰ→Ｈと書くことができ、点と線分の距離｜ＶＰ→Ｈ｜は次の式５のように計算できる。
【数５】
0006054831.tif 000006
【００３８】
エッジ照合部１１２は、近傍エッジ断片抽出部１１１が抽出した近傍エッジ断片群と最小線分とを照合し、有効な最小線分かどうか（照合の成功／失敗を）判定する。エッジ照合部１１２は、３次元画像のエッジ断片群を最小線分へ射影した長さに基づいて、最小線分の有効性を判定し、無効な（照合が失敗した）最小線分は除去する。矩形領域検出部１１３は、エッジ照合部１１２が有効な最小線分であると判定した（照合が成功した）線分に囲まれた領域を矩形領域と判定する。
【００３９】
図１３は、本実施の形態に係る画像処理システム（矩形領域検出装置）で実行される矩形領域検出方法（矩形領域検出処理）を示している。
【００４０】
図１３に示すように、まず、距離画像センサ２００は、３次元環境を計測する（Ｓ１０１）。距離画像センサ２００は、３次元環境を計測することにより、図２のような入力画像と距離を含む距離画像を生成し、距離画像取得部１０１が、この距離画像を取得する。
【００４１】
続いて、平面検出部１０２は、Ｓ１０１で取得した距離画像に含まれる入力画像から注目平面を検出し、注目平面上の距離点群を特定する（Ｓ１０２）。例えば、平面検出部１０２は、図２のような入力画像に対して、ＲＡＮＳＡＣ（RANdom SAmple Consensus）等の手法を用いて、図３のように、平面パラメータ（ａｘ＋ｂｙ＋ｃｚ＋ｄ＝０のａ，ｂ，ｃ，ｄ）と平面上の距離点群（図３の白地部分）を特定する。ＲＡＮＳＡＣ法では、任意の点から平面パラメータを求め、平面パラメータ上に多くの点が含まれるものが平面であると特定する。ＲＡＮＳＡＣアルゴリズムを利用することで、ノイズの多い入力画像から精度良く平面を検出できる。
【００４２】
続いて、平面マスク画像生成部１０３は、Ｓ１０１で取得した入力画像から、Ｓ１０２で検出した注目平面領域の画像のみを抽出する（Ｓ１０３）。平面マスク画像生成部１０３は、図３のように検出した平面上に距離点群が存在する画素を“１”（図３の白地部分）、平面の距離点群が存在しない画素を“０”（図３の黒地部分）とすることで２値マスクを作成し、図２のような入力画像とこの２値マスクとのＡＮＤを取ることで（“１”の画素の色情報のみ残す）、図１４のような平面マスク画像を生成する。
【００４３】
続いて、平面座標系計算部１０４は、Ｓ１０２で検出した注目平面の平面座標系を計算する（Ｓ１０４）。平面座標系計算部１０４は、Ｓ１０２で求めた平面パラメータをもとに、図１５に示すような平面座標系を計算する。ここでは、一例として、平面の法線方向をＺ軸、垂直方向（重力方向）をＹ軸、水平方向をＸ軸とする。これら３次元の座標軸について、Ｘ，Ｙ，Ｚの順番は変えても良い。矩形領域を検出したい方向の（矩形の平面の）任意の２軸をＸ，Ｙ軸としてよい。少なくとも平面の法線は、（３軸のうちの）１軸として選択される。例えば、図２のような入力画像から家具の扉や引き出し等の矩形領域を検出する場合、垂直方向（重力方向）をＹ軸とすることが好ましい。垂直面の矩形領域を検出することで、矩形領域を家具候補と仮定することができる。
【００４４】
続いて、エッジ検出部１０５は、Ｓ１０３で生成したマスク画像に対し、エッジ画像を検出する（Ｓ１０５）。エッジ検出部１０５は、任意のエッジフィルタを使うことができ、例えばＣａｎｎｙフィルタやラプラシアンフィルタを用いてエッジを検出し、図４のようなエッジ画像を生成する。Ｃａｎｎｙフィルタでは、ガウス型の微分フィルタを用いることで、ノイズに強いエッジ画像を検出できる。図１６はエッジ画像の拡大図である。図１６のように、エッジ画像は、エッジを検出した画素（位置）をエッジ画素として示した（例えば白地）画像である。すなわち、エッジ画像では、各画素がエッジであるか否かを示している。
【００４５】
続いて、エッジ断片検出部１０６は、Ｓ１０５で生成したエッジ画像に対し、エッジ断片群を検出する（Ｓ１０６）。エッジ断片検出部１０６は、図４のようなエッジ画像に対し、確率的ハフ変換を使って、図５のようなエッジ断片群（エッジ線分の集合）を検出する。図１７は、図１６のエッジ画像（エッジ画素）に対するエッジ断片群である。図１７のように、エッジ断片は、エッジ画素を接続する線分（エッジ線分）である。すなわち、エッジ断片は、第１のエッジ画素を始点とし、第２のエッジ画素を終点とした線分（直線）である。なお、エッジ画素を接続する線分は複数存在するためエッジ断片群と称するが、この線分の１つまたは複数をエッジ断片と称する場合もある。
【００４６】
ハフ変換には、標準的ハフ変換と確率的ハフ変換があり、本実施の形態では確率的ハフ変換を用いる。確率的ハフ変換では、ランダムに選択したエッジ画素を用いて、パラメータ平面に投票し、投票結果に基づいて画像上の特徴を検出する。確率的ハフ変換を用いることにより、エッジ画像の中からエッジ画素を端点に持つ線分を検出できる。このため、従来技術の図３４のように、標準的ハフ変換を用いた場合と比べて、不要な直線の検出を防ぐことができる。なお、確率的ハフ変換に限らず、エッジ画素を接続する線分を検出するその他の線分検出方法を用いてもよい。
【００４７】
続いて、座標系変換部１０７は、Ｓ１０６で検出した（２次元の）エッジ断片群を（３次元の）平面座標系に変換する（Ｓ１０７）。座標系変換部１０７は、上記式１のようなピンホールカメラモデルを用いて、図８（ａ）のような、距離画像センサから見たエッジ断片の（２次元の）座標系（カメラ座標系）を、図８（ｂ）のような、注目平面をＺ方向（法線方向）から見た（３次元の）平面座標系（グローバル座標系）に変換する。
【００４８】
距離画像センサ２００が計測した距離画像では１画素に距離情報も含まれているため、エッジ断片の「中心位置」、「エッジ始点」、「エッジ終点」の画素に対応する３次元位置について、上記式１を次の式６として、それぞれ座標変換を行う。
【数６】
0006054831.tif 000007
式６の同時変換行列は、平面座標系計算部１０４で計算される。なお、ここでは、エッジ断片の「中心位置」、「エッジ始点」、「エッジ終点」の３点の座標を変換するが、エッジ断片を３次元座標に変換するために、少なくとも「エッジ始点」、「エッジ終点」の２点の座標を変換してもよい。本実施の形態では、次のＳ１０８で、エッジ断片の中心位置を使用するため、この中心位置の座標についても３次元座標に変換する。
【００４９】
続いて、エッジ存在位置ヒストグラム生成部１０８は、Ｓ１０７で変換した平面座標系のエッジ断片群について、エッジの存在位置を示すエッジ存在位置ヒストグラムを生成する（Ｓ１０８）。エッジ存在位置ヒストグラム生成部１０８は、図８（ｂ）のような平面座標系におけるエッジ断片群に対し、図８（ｃ）のようなエッジ存在位置ヒストグラムを生成する。
【００５０】
ここでは、エッジ断片の中心位置を３ＤＣ＝（ｘｃ，ｙｃ，ｚｃ）、その始点と終点を結ぶベクトルを３ＤＳとし、３次元の垂直軸（Ｙ軸）の単位ベクトルと、水平軸（Ｘ軸）の単位ベクトルをそれぞれ、ｎｖ、ｎｈとする。次の式７のように、エッジ断片の“始点と終点を結ぶベクトル”と、“Ｘ,Ｙ軸方向単位ベクトル”との内積をｈｗ、ｖｗとする。
【数７】
0006054831.tif 000008
【００５１】
図１８に示すように、内積ｈｗ、ｖｗを、それぞれの位置ｘｃ，ｙｃにおけるエッジ断片の重みとする。図１８の例では、エッジ断片がＸ方向（水平方向）に向いて（傾いて）いるため、Ｘ方向の重みが大きくなる。図８（ｃ）のように、内積ｈｗ、ｖｗを重みとしたＸ方向、Ｙ方向の分布を示すヒストグラムをエッジ存在位置ヒストグラムとする。すなわち、エッジ存在位置ヒストグラムは、Ｘ軸、Ｙ軸に対するエッジ断片の傾きの分布（傾きに応じた重みの分布）を示している。
【００５２】
続いて、ヒストグラムピーク推定部１０９は、Ｓ１０８で生成したエッジ存在位置ヒストグラムにおけるエッジ存在位置のピーク位置を推定する（Ｓ１０９）。ヒストグラムピーク推定部１０９は、任意のピーク検出方法を使用する。例えば、ヒストグラムピーク推定部１０９は、図８（ｃ）のようなエッジ存在位置ヒストグラムに対し、ピーク検出方法である平均シフト法を用いてＸ，Ｙ軸方向のピーク位置の集合（ｈＰ，ｖＰ）を推定する。図８（ｃ）のＸ方向、Ｙ方向の分布の山部分（頂点部分）がピーク位置である。
【００５３】
続いて、線分生成部１１０は、Ｓ１０９で推定したエッジ存在位置ヒストグラムにおけるＸ，Ｙ軸の各ピーク位置を結ぶ最小線分を生成する（Ｓ１１０）。線分生成部１１０は、図１９に示すように、エッジ存在位置ヒストグラムにおけるＸ，Ｙ軸の各ピーク位置から交点Ｉを求め、交点ＩをＸ，Ｙ軸方向に接続する最小線分の集合（ｈＬ、ｖＬ）を計算する。
【００５４】
以下、Ｓ１１０で生成したｈＬ，ｖＬ内の全ての最小線分について、順次選択し、Ｓ１１１〜Ｓ１１４の処理を繰り返す。まず、近傍エッジ断片抽出部１１１は、選択した最小線分近傍のエッジ断片群を抽出する（Ｓ１１１）。近傍エッジ断片抽出部１１１は、２次元画像または３次元画像上において、最小線分とエッジ断片との距離を求め、距離が閾値ピクセル以下に収まっているエッジ断片群Ｅを全て抽出する。
【００５５】
近傍エッジ断片抽出部１１１は、２次元画像上で距離を求める場合、最小線分（３次元）を２次元画像へ投影し、２次元画像上の最小線分からの距離が閾値ピクセル以下のエッジ断片を求める。具体的には、例えば、座標系変換部１０７により、上記式１を用いて、最小線分（始点と終点）の３次元座標を２次元座標へ変換する。次に、図２０のように、最小線分と点（エッジ断片中心）の距離を、上記式４の計算方法で計算し、その距離が閾値（例えば８ピクセル）より小さければ、そのエッジ断片を「最小線分の近傍エッジ断片」として抽出する。
【００５６】
また、近傍エッジ断片抽出部１１１は、３次元画像上で距離を求める場合、エッジ断片群（２次元）を３次元画像へ投影し、３次元画像上の最小線分からの距離が閾値ピクセル以下のエッジ断片を求める。具体的には、例えば、座標系変換部１０７により、上記式３を用いて、エッジ断片群の２次元座標を３次元座標へ変換する。次に、図２１のように、３次元へ変換したエッジ断片中心点と最小線分の距離を、上記式５の計算で求め、その距離が閾値（例えば０．０２ｍｍ）より小さければ、そのエッジ断片を「最小線分の近傍エッジ断片」として抽出する。
【００５７】
続いて、エッジ照合部１１２は、Ｓ１１１で抽出したエッジ断片群と最小線分を照合する（Ｓ１１２）。エッジ照合部１１２は、２次元画像または３次元画像上において、最小線分またはエッジ断片を射影した長さが閾値以上の最小線分を有効と判定する。２次元画像または３次元画像上のいずれにおいて最小線分とエッジ断片を照合してもよいが、３次元的なエッジの傾きも評価するため、３次元画像上において照合することが好ましい。このため、３次元画像の場合について説明する。
【００５８】
なお、Ｓ１１１において２次元画像上で距離を求めた場合には、「最小線分の近傍エッジ断片」として抽出後、エッジ断片中心位置、エッジ断片始点・終点をそれぞれ、座標系変換部１０７により上記式３の計算を用いて、２次元座標を３次元座標へ座標変換し、変換した座標をエッジ照合部１１２へ入力する。また、Ｓ１１１において３次元画像上で距離を求めた場合には、抽出した「最小線分の近傍エッジ断片」は既に３次元座標のため、そのままの座標をエッジ照合部１１２へ入力する。
【００５９】
Ｓ１１２において、エッジ照合部１１２は、図２２に示すように、３次元座標のエッジ断片を最小線分へ射影し、最小線分上のエッジ断片の“射影した長さ”を計算する。最小線分の長さに対し、射影した長さが一定閾値以上であれば、有効な最小線分（エッジが存在する線分）であると判定する。例えば、最小線分の長さを１とし、射影した長さ０．３を閾値とする。
【００６０】
続いて、エッジ照合部１１２は、Ｓ１１２の照合の結果、線分上にエッジ断片が無ければ、その最小線分を除去する（Ｓ１１３）。続いて、エッジ照合部１１２は、未照合の最小線分があるか否か判定し（Ｓ１１４）、未照合の最小線分がある場合、次の線分を選択してＳ１１１以降の処理を繰り返す。
【００６１】
続いて、全ての最小線分の照合が終了すると、矩形領域検出部１１３は、残った最小線分に基づいて、４つの最小線分に囲まれた領域を矩形領域として検出する（Ｓ１１５）。
【００６２】
以上のように、本実施の形態では、エッジ画像に基づいてエッジ断片群を検出し、エッジ断片群の分布を示すエッジ存在位置ヒストグラムを生成し、エッジ存在位置ヒストグラムのピークを結ぶ最小線分とエッジ断片群とを照合することで、３次元環境における矩形検出を可能とした。本実施の形態では、直交２軸のヒストグラムのピークを取ることで信頼性高く矩形を検出することができる。
【００６３】
すなわち、対象物を３次元座標件で表すことでエッジ断片を結ぶ線分同士が直交し合い、矩形領域が現れる。また、線分は、エッジ存在位置ヒストグラムのピーク位置を結んでいるため、対象物の模様等を直線として認識することはない。そのため、対象と対面しない位置から画像を取得するような３次元環境であっても、矩形領域を検出でき、また、模様等を直線と認識せずに正確に矩形領域を検出することができる。
【００６４】
（実施の形態２）
以下、図面を参照して実施の形態２について説明する。本実施の形態では、ロボットが家具を操作するために、実施の形態１により検出した矩形領域を家具候補として、家具候補の操作情報を設定可能とする。
【００６５】
図２３は、本実施の形態に係る家具モデル処理システムの構成を示している。図２３に示すように、本実施の形態に係る家具モデル処理システム２は、実施の形態１の矩形領域検出装置１００、距離画像センサ２００に加えて、家具モデル生成装置３００を備えている。
【００６６】
家具モデル生成装置（３次元モデル生成想定）３００は、ＨＭＩ（Human Machine Interface）部３０１、操作情報付与部３０２、操作表示部３０３、モデル記憶部３０４を備えている。例えば、家具モデル生成装置３００は、ＰＣ（パーソナルコンピュータ）、タブレットＰＣ、スマートフォンなどで構成される。家具モデル生成装置３００の各機能は、矩形領域検出装置１００と同様に、ハードウェア又はソフトウェアによって構成され、各機能を、記憶装置に格納されたプログラムをコンピュータで実行することにより実現してもよい。家具モデル生成装置３００は、１つまたは複数の装置で構成され、例えば、ＨＭＩ部３０１、操作情報付与部３０２、操作表示部３０３をユーザが操作する端末装置に備え、モデル記憶部３０４をロボットに備えてもよい。
【００６７】
ＨＭＩ部３０１は、タッチパネルやマウス等で構成されるユーザインタフェースである。ＨＭＩ部３０１は、ユーザへ情報を表示（出力）するとともに、ユーザからの入力操作を受け付ける。
【００６８】
操作情報付与部（動作指定部）３０２は、ＨＭＩ部３０１を介したユーザの操作指示に応じて、家具モデルに操作情報を付与する。操作表示部３０３は、操作情報付与部３０２が操作情報を付与した家具モデルを、ＨＭＩ部３０１を介してユーザへ表示する。
【００６９】
モデル記憶部３０４は、メモリやハードディスク等で構成される記憶部であり、家具モデルを記憶する。モデル記憶部３０４は、操作情報付与部３０２が操作情報を付与し、操作表示部３０３が表示した家具モデルを記憶する。家具モデル（家具モデル情報）には、家具（物体）の３次元の位置及び形状、操作情報等が含まれる。
【００７０】
図２４は、本実施の形態に係る家具モデル処理システム（家具モデル処理装置）で実行される家具モデル処理方法を示しており、図２５は、図２４の操作方法指示処理（Ｓ２０３）の詳細を示している。
【００７１】
図２４に示すように、まず、矩形領域検出装置１００は、実施の形態１と同様に矩形領域を特定する（Ｓ２０１）。ロボットに搭載された距離画像センサ２００が、ロボット周辺の３次元環境を計測し、例えば図２６のような距離画像を生成する。そして、矩形領域検出装置１００が、この距離画像に含まれる矩形領域を検出する。
【００７２】
続いて、Ｓ２０１で検出した矩形領域を家具候補として、ＨＭＩ部３０１へ提示する（Ｓ２０２）。３次元環境中において床面に垂直な矩形の平面は家具またはその一部を構成している可能性が高いため、検出した矩形領域を家具候補とする。例えば、矩形領域検出装置１００もしくは家具モデル生成装置３００は、複数の家具候補（家具テンプレート）を記憶しており、検出した矩形領域と一致する候補を家具候補として選択してもよい。
【００７３】
矩形領域検出装置１００は、検出した矩形領域を家具候補として特定し、ＨＭＩ部３０１は、図２７のように、特定した家具候補４００をユーザへ表示する。図２６では、矩形領域４０１、４０２が、検出された矩形領域である。例えば、矩形領域４０１は回転扉の平面であり、矩形領域４０２は引き出しの平面である。ここでは、回転扉である矩形領域４０１の操作を指定する例について説明する。
【００７４】
続いて、Ｓ２０２で表示した家具（家具候補）の操作方法を、ＨＭＩ部３０１を通してユーザが指示し、操作情報付与部３０２が操作情報を付与する（Ｓ２０３）。
【００７５】
Ｓ２０３の処理では、具体的に図２８に示すように、ユーザがＨＭＩ部３０１を通して可動軸を選択する（Ｓ２１１）。例えば、図２８のように、マウスクリックやタッチパネルに対しタッチ操作を行うことで、矩形領域４０１の端（辺）を選択し回転軸４０１ａとして指示する。図２８では、一例として、矩形領域４０１の上下左右４端（４辺）の内、右端（右辺）を選択することで、選択した端（辺）を回転軸４０１ａとして、ヒンジ周りの回転動作することを指示する。
【００７６】
次に、ユーザがＨＭＩ部３０１を通してハンドル位置を指示する（Ｓ２１２）。例えば、図２９のように、矩形領域４０１の左上部分をクリックやタッチ操作により選択することで、選択部分をハンドル位置４０１ｂとして指示する。なお、ユーザがハンドル位置４０１ｂを選択したときに、ハンドル位置４０１ｂにハンドルを表示してもよい。図２９のように、回転軸４０１ａ及びハンドル位置４０１ｂを選択すると、矩形領域４０１の回転量を指示するための回転リング４０１ｃが表示される。
【００７７】
次に、ユーザがＨＭＩ部３０１を通して回転量を指示する（Ｓ２１３）。例えば、図３０のように、表示された回転リング４０１ｃをドラッグ操作することで“矩形領域４０１の回転軸４０１ａ周りの回転量４０１ｄ“を指示する（Ｓ２１３）。
【００７８】
図２４のＳ２０３に続いて、操作量示部３０３は、Ｓ２０３における“ユーザの操作指示”によって矩形領域がどのように動くかを、ＨＭＩ部３０１を介してユーザへ表示する（Ｓ２０４）。例えば、図３１のように、ハンドル位置４０１ｂを操作すると回転軸４０１ａを軸として、指定した回転量４０１ｄで矩形領域４０１の扉が開放状態となることを表示する。
【００７９】
続いて、ユーザが操作指示を最終確定すると、モデル記憶部３０４へ“矩形領域の位置・形状”、“ユーザの操作指示情報”を記憶する（Ｓ２０５）。Ｓ２０４で表示された動作を確認したことを示す操作をユーザが行うと、矩形領域４０１の位置及び形状と、回転軸４０１ａ、ハンドル位置４０１ｂ、回転量４０１ｄを、家具モデル（３次元モデル）として記憶する。
【００８０】
その後、ロボットがこの家具モデル情報を使って家具の操作を行う。例えば、ロボットは、制御部や記憶部、アクチュエータ等を備えており、ロボットの記憶部に、生成された家具モデル情報を記憶する。制御部が家具モデル情報にしたがってアクチュエータ等の動作を制御する。例えば、ロボットは、家具モデル情報にしたがい、図３１のようにハンドル位置４０１ｂのハンドルを操作し矩形領域４０１の回転扉の開閉を行う。
【００８１】
以上のように、本実施の形態では、入力画像から検出された矩形領域を家具候補とし、ＨＭＩを介して家具候補の操作を指示することにより、家具の推定や構造を含む家具モデルの構築を簡易に行うことができる。
【００８２】
近年、社会の高齢化が急速に進んでおり、介護者等を支援するための生活支援ロボットＨＳＲ（Human Support Robot）が注目されている。例えば、一般的なロボットにおいて、生活支援のために遠隔操縦で物体操作を行うと、ロボット頭部のカメラ画像だけからでは対象物までの距離、環境物とのスペースがわかりにくいという問題や、家具を認識するためにマーカーを付ける必要があるという問題、物体操作において、ロボットの手先を目標位置に合わせることが困難であるという問題が生じる。
【００８３】
そこで、このようなロボットに本実施の形態を適用することで、家具候補により、ロボット周辺の広範囲な環境情報をわかりやすく提示することができ、矩形検出を用いることにより、マーカーを付けることなく家具を認識することができ、操作情報を付与した家具モデル（インタラクティブ家具モデル）を用いることにより、ロボットが家具を正確に認識して操作することが可能となる。
【００８４】
特に、家具の構造をモデル化するためには人間が家具を動かしてみせたりロボットで実際に動かしたりする必要があるため、家具の構造を遠隔でロボットに教示することは非常に困難である。本実施の形態をロボットに適用することにより、未知の家庭環境における家具配置の推定と構造の教示が容易になり、遠隔操縦の大幅な省力化が可能となる。
【００８５】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【００８６】
１      画像処理システム
２      家具モデル処理システム
１００  矩形領域検出装置
１０１  距離画像取得部
１０２  平面検出部
１０３  平面マスク画像生成部
１０４  平面座標系計算部
１０５  エッジ検出部
１０６  エッジ断片検出部
１０７  座標系変換部
１０８  エッジ存在位置ヒストグラム生成部
１０９  ヒストグラムピーク推定部
１１０  線分生成部
１１１  近傍エッジ断片抽出部
１１２  エッジ照合部
１１３  矩形領域検出部
２００  距離画像センサ
３００  家具モデル生成装置
３０１  ＨＭＩ部
３０２  操作情報付与部
３０３  操作表示部
３０４  モデル記憶部
【図１】
0006054831.tif 000009
【図８】
0006054831.tif 000010
【図９】
0006054831.tif 000011
【図１０】
0006054831.tif 000012
【図１１】
0006054831.tif 000013
【図１２】
0006054831.tif 000014
【図１３】
0006054831.tif 000015
【図１５】
0006054831.tif 000016
【図１６】
0006054831.tif 000017
【図１７】
0006054831.tif 000018
【図１８】
0006054831.tif 000019
【図１９】
0006054831.tif 000020
【図２０】
0006054831.tif 000021
【図２１】
0006054831.tif 000022
【図２２】
0006054831.tif 000023
【図２３】
0006054831.tif 000024
【図２４】
0006054831.tif 000025
【図２５】
0006054831.tif 000026
【図２６】
0006054831.tif 000027
【図２７】
0006054831.tif 000028
【図２８】
0006054831.tif 000029
【図２９】
0006054831.tif 000030
【図３０】
0006054831.tif 000031
【図３１】
0006054831.tif 000032
【図３２】
0006054831.tif 000033
【図３３】
0006054831.tif 000034
【図３４】
0006054831.tif 000035
【図２】
0006054831.tif 000036
【図３】
0006054831.tif 000037
【図４】
0006054831.tif 000038
【図５】
0006054831.tif 000039
【図６】
0006054831.tif 000040
【図７】
0006054831.tif 000041
【図１４】
0006054831.tif 000042