(57)【要約】【課題】自己位置を精度よく推定できる画像処理装置及びこの画像処理装置を備えた電気掃除機を提供する。【解決手段】一実施形態に係る画像処理装置は、抽出部と、特定部と、パラメータ算出部と、距離算出部と、を備える。抽出部は、入力画像から、所定の特徴量を有する特徴点を抽出する。特定部は、特徴点の特徴量に基づいて、特徴点と対応する全周囲画像の対応点を特定する。パラメータ算出部は、特徴点と対応点とに基づいて、入力画像を全周囲画像上に投影変換する関数のパラメータを算出する。距離算出部は、パラメータに基づいて、全周囲画像の撮影位置から入力画像の撮影位置までの距離を算出する。【選択図】図１
2017027417.tif 000002
【特許請求の範囲】
【請求項１】
入力画像から、所定の特徴量を有する特徴点を抽出する抽出部と、
前記特徴点の前記特徴量に基づいて、前記特徴点と対応する全周囲画像の対応点を特定する特定部と、
前記特徴点と前記対応点とに基づいて、前記入力画像を前記全周囲画像上に投影変換する関数のパラメータを算出するパラメータ算出部と、
前記パラメータに基づいて、前記全周囲画像の撮影位置から前記入力画像の撮影位置までの距離を算出する距離算出部と、
を備える画像処理装置。
【請求項２】
前記距離に基づいて、前記入力画像の前記撮影位置を推定する推定部を備える
請求項１に記載の画像処理装置。
【請求項３】
前記パラメータ算出部は、前記入力画像の前記特徴点を前記全周囲画像上に投影した投影点と、前記対応点と、の誤差が小さくなるように前記パラメータを算出する
請求項１又は請求項２に記載の画像処理装置。
【請求項４】
前記パラメータは、前記入力画像を射影変換するための射影変換関数の変換係数を含む
請求項１乃至請求項３のいずれか１項に記載の画像処理装置。
【請求項５】
全周囲を離散的な間隔で撮影された複数の画像から前記全周囲画像を生成する撮影部を備える
請求項１乃至請求項４のいずれか１項に記載の画像処理装置。
【請求項６】
前記撮影部は、前記複数の画像を、円筒面座標系上で合成することにより前記全周囲画像を生成する
請求項５に記載の画像処理装置。
【請求項７】
前記全周囲画像から特徴点を抽出する登録部を備える
請求項１乃至請求項６のいずれか１項に記載の画像処理装置。
【請求項８】
請求項１乃至請求項７のいずれか１項に記載の画像処理装置を備える
電気掃除機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像処理装置及び電気掃除器に関する。
【背景技術】
【０００２】
カメラで撮影した画像から、その画像が撮影された位置（自己位置）を推定する技術は、コンピュータビジョンやロボティクスにおいて重要な技術である。この技術は、例えば、自律移動ロボットの自己位置推定、車や人のナビゲーションシステム、及びＡＲ（拡張現実）技術などに応用されている。
【０００３】
従来、自己位置と周辺の被写体の３次元構造を同時に推定する技術として、ＳＬＡＭ（Simultaneous Localization and Mapping）やＳｆＭ（Structure from Motion）と呼ばれる技術が研究されている。これらの技術を用いることで、上記のような応用が可能となる。しかしながら、ＳＬＡＭやＳｆＭは、計算コストが大きいという問題があった。
【０００４】
そこで、小さい計算コストで自己位置を推定する方法として、登録された複数の全周囲画像と、入力画像と、それぞれマッチングし、入力画像とマッチングした全周囲画像の撮影位置を、自己位置として推定する方法が提案されている。この方法では、被写体の３次元構造を推定する必要がないため、小さい計算コストで自己位置を推定できる。
【０００５】
しかしながら、上記従来の方法では、マッチングの成否のみによって自己位置が推定されるため、マッチングした全周囲画像の撮影位置と、自己位置と、の距離がわからなかった。このため、自己位置の推定精度が低いという問題があった。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Hideaki Uchiyama, Hideo Saito, Myriam Servieres, Guillaume Moreau, "Image Based View Localization System Retrieving from a Panorama Database by SURF", MVA 2009, pp.118-121, 2009
【発明の概要】
【発明が解決しようとする課題】
【０００７】
自己位置を精度よく推定できる画像処理装置及びこの画像処理装置を備えた電気掃除機を提供する。
【課題を解決するための手段】
【０００８】
一実施形態に係る画像処理装置は、抽出部と、特定部と、パラメータ算出部と、距離算出部と、を備える。抽出部は、入力画像から、所定の特徴量を有する特徴点を抽出する。特定部は、特徴点の特徴量に基づいて、特徴点と対応する全周囲画像の対応点を特定する。パラメータ算出部は、特徴点と対応点とに基づいて、入力画像を全周囲画像上に投影変換する関数のパラメータを算出する。距離算出部は、パラメータに基づいて、全周囲画像の撮影位置から入力画像の撮影位置までの距離を算出する。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係る画像処理装置の機能構成を示す図。
【図２】第１実施形態に係る画像処理装置のハードウェア構成の一例を示す図。
【図３】第１実施形態に係る画像処理装置の動作を示すフローチャート。
【図４】入力画像と全周囲画像との関係を示す図。
【図５】自己位置と登録位置との関係を示す図。
【図６】第２実施形態に係る画像処理装置の機能構成を示す図。
【図７】第２実施形態に係る画像処理装置の動作を示すフローチャート。
【図８】第３実施形態に係る電気掃除機の一例を示す図。
【図９】第３実施形態に係る電気掃除機の一例を示す斜視図。
【図１０】第３実施形態に係る電気掃除機の一例を示す底面図。
【図１１】第３実施形態に係る電気掃除機が構成するネットワークの一例を示す図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面を参照して説明する。
【００１１】
（第１実施形態）
第１実施形態に係る画像処理装置について、図１〜図５を参照して説明する。本実施形態に係る画像処理装置は、入力画像と、予め撮影された全周囲画像と、をマッチングすることにより、入力画像の撮影位置（以下、「自己位置」という）を推定する。本実施形態において、自己位置は、全周囲画像の撮影位置（以下、「登録位置」という）に対する相対位置として推定される。
【００１２】
図１は、本実施形態に係る画像処理装置の機能構成を示す図である。図１に示すように、画像処理装置は、特徴点抽出部１と、特徴点ＤＢ２と、対応点特定部３と、パラメータ算出部４と、距離算出部５と、位置推定部６と、を備える。
【００１３】
特徴点抽出部１（以下、「抽出部１」という）は、入力画像から複数の特徴点を抽出する。特徴点とは、入力画像を構成する画素のうち、所定の特徴量を有するものである。特徴点は、例えば、入力画像におけるエッジやコーナーであるが、これに限られない。例えば、抽出したいエッジやコーナーである確からしさが高い程、特徴量が大きくなる場合、抽出部１は、特徴量が所定の値を超えた画素を特徴点として抽出する。
【００１４】
抽出部１は、まず、各画素の特徴量を算出する。各画素の特徴量は、各画素の画素値（輝度や色など）及びその周辺の所定領域内の画素の画素値を用いて求められる。例えば、ＳＩＦＴ（Scale-Invariant Feature Transform）、ＳＵＲＦ（Speeded Up Robust Features）、ＫＡＺＥ特徴量、及びＡＫＡＺＥ特徴量が特徴量として用いられるが、特徴量は、これに限られない。
【００１５】
次に、抽出部１は、算出された特徴量が所定の条件を満たす画素を、特徴点として抽出する。所定の条件は、算出される特徴量の種類や要求される特徴点の数に応じて決まる。
【００１６】
なお、抽出部１は、入力画像から直接的に特徴点を抽出してもよいし、入力画像を後述する全周囲画像の座標系に合わせて変形してから特徴点を抽出してもよい。例えば、全周囲画像の座標系が円筒面座標系の場合、抽出部１は、入力画像を円筒面座標系に座標変換し、座標変換された入力画像から特徴点を抽出する。座標系は、円筒面座標系に限られず、球面座標系や極座標系であってもよい。
【００１７】
特徴量ＤＢ２は、全周囲画像から抽出された特徴点及び特徴量の組を、複数記憶している。全周囲画像とは、登録位置に対する全周囲の画像である。本実施形態において、全周囲画像は予め撮影され、全周囲画像の特徴点は、予め特徴量ＤＢ２に記憶される。全周囲画像の座標系は、例えば、円筒面座標系、球面座標系、極座標系であるが、これに限られない。
【００１８】
特徴量ＤＢ２に記憶された特徴点と、抽出部１が入力画像から抽出する特徴点と、は同一の方法で抽出される。例えば、特徴量ＤＢ２に記憶された特徴点が、ＫＡＺＥ特徴量に基づいて抽出されている場合、抽出部１は、入力画像の特徴点を、ＫＡＺＥ特徴量に基づいて抽出する。
【００１９】
対応点特定部３（以下、「特定部３」という）は、入力画像の特徴点と、全周囲画像の特徴点と、に基づいて、対応点を特定する。対応点とは、特徴量ＤＢ２に記憶された全周囲画像の特徴点のうち、入力画像の特徴点と対応するもののことである。
【００２０】
具体的には、特定部３は、入力画像の特徴点の特徴量と、全周囲画像の各特徴点の特徴量と、の相関値を計算し、相関値が閾値以上となる全周囲画像の特徴点を探索する。特定部３は、相関値が閾値以上となる全周囲画像の特徴点が見つかった場合、その特徴点を、入力画像の特徴点の対応点として特定する。
【００２１】
特定部３は、上記の方法により、入力画像の各特徴点について対応点を探索する。特定部３は、入力画像の全ての特徴点について対応点を探索してもよいし、所定数の対応点が特定された時点で探索を終了してもよい。また、特定部３は、相関値が閾値以上となる全周囲画像の特徴点が複数見つかった場合、相関値が最大の特徴点を対応点として特定してもよい。
【００２２】
パラメータ算出部４は、入力画像の特徴点と、全周囲画像の対応点と、に基づいて、入力画像を全周囲画像上に投影変換するための関数（以下、「投影変換関数」という）のパラメータを算出する。
【００２３】
具体的には、パラメータ算出部４は、入力画像の特徴点を全周囲画像上に投影した投影点と、全周囲画像の対応点と、の誤差が小さくなる投影変換関数のパラメータを算出する。投影点と対応点との誤差は、最小になるのが好ましい。パラメータの算出方法について、詳しくは後述する。
【００２４】
距離算出部５は、投影変換関数のパラメータに基づいて、登録位置から自己位置までの距離を算出する。距離の算出方法について、詳しくは後述する。
【００２５】
位置推定部６（以下、「推定部６」という）は、投影変換関数のパラメータと、登録位置から自己位置までの距離と、に基づいて、自己位置を推定する。自己位置の推定方法について、詳しくは後述する。
【００２６】
次に、本実施形態に係る画像処理装置のハードウェア構成について、図２を参照して説明する。図２は、本実施形態に係る画像処理装置のハードウェア構成の一例を示す図である。図２に示すように、画像処理装置は、コンピュータ１００により構成される。コンピュータ１００は、ＣＰＵ（中央演算装置）１０１と、入力装置１０２と、表示装置１０３と、通信装置１０４と、記憶装置１０５と、を備える。各構成は、バス１０６により相互に接続されている。
【００２７】
ＣＰＵ１０１は、コンピュータ１００の制御装置及び演算装置を含む電子回路である。ＣＰＵ１０１は、バス１０６を介して接続された各装置（例えば、入力装置１０２、通信装置１０４、記憶装置１０５）から入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を、バス１０６を介して接続された各装置（例えば、表示装置１０３、通信装置１０４、記憶装置１０５）に出力する。具体的には、ＣＰＵ１０１は、コンピュータ１００のＯＳ（オペレーティングシステム）や、画像処理プログラムなどを実行し、コンピュータ１００を構成する各装置を制御する。
【００２８】
画像処理プログラムとは、コンピュータ１００に、画像処理装置の上述の各機能構成を実現させるプログラムである。画像処理プログラムは、一時的でない有形のコンピュータ読み取り可能な記憶媒体に記憶される。上記の記憶媒体は、例えば、光ディスク、光磁気ディスク、磁気ディスク、磁気テープ、フラッシュメモリ、半導体メモリであるが、これに限られない。ＣＰＵ１０１が画像処理プログラムを実行することにより、コンピュータ１００が画像処理装置として機能する。
【００２９】
入力装置１０２は、コンピュータ１００に情報を入力するための装置である。入力装置１０２は、例えば、キーボード、マウス、及びタッチパネルであるが、これに限られない。
【００３０】
表示装置１０３は、画像や映像を表示するための装置である。表示装置１０３は、例えば、ＬＣＤ（液晶ディスプレイ）、ＣＲＴ（ブラウン管）、及びＰＤＰ（プラズマディスプレイ）であるが、これに限られない。表示装置１０３は、入力画像、全周囲画像、及びこれらの特徴点を表示してもよいし、登録位置や推定された自己位置をマップ上に表示してもよい。
【００３１】
通信装置１０４は、コンピュータ１００が外部装置と無線又は有線で通信するための装置である。通信装置１０４は、例えば、モデム、ハブ、及びルータであるが、これに限られない。入力画像や全周囲画像は、通信装置１０４を介して外部装置から入力されてもよい。
【００３２】
記憶装置１０５は、コンピュータ１００のＯＳや、画像処理プログラム、画像処理プログラムの実行に必要なデータ、及び画像処理プログラムの実行により生成されたデータなどを記憶する記憶媒体である。記憶装置１０５には、主記憶装置と外部記憶装置とが含まれる。主記憶装置は、例えば、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭであるが、これに限られない。また、外部記憶装置は、例えば、ハードディスク、光ディスク、フラッシュメモリ、及び磁気テープであるが、これに限られない。特徴量ＤＢ２は、記憶装置１０５上に構築されてもよいし、外部のサーバ上に構築されてもよい。
【００３３】
なお、コンピュータ１００は、ＣＰＵ１０１、入力装置１０２、表示装置１０３、通信装置１０４、及び記憶装置１０５を、それぞれ１つ又は複数備えてもよいし、プリンタやスキャナなどの周辺機器を接続されていてもよいし、入力画像や全周囲画像を撮影するための撮影装置を接続されていてもよい。撮影装置は、例えば、レンズと、ＣＭＯＳやＣＣＤなどの撮像素子と、を備えるデジタルカメラである。撮影装置を備える場合、全周囲画像及び入力画像は、撮影装置から入力することができる。
【００３４】
また、画像処理装置は、単一のコンピュータ１００により構成されてもよいし、相互に接続された複数のコンピュータ１００からなるシステムとして構成されてもよい。
【００３５】
さらに、画像処理プログラムは、コンピュータ１００の記憶装置１０５に予め記憶されていてもよいし、コンピュータ１００の外部の記憶媒体に記憶されていてもよいし、インターネット上にアップロードされていてもよい。いずれの場合も、画像処理プログラムをコンピュータ１００にインストールして実行することにより、画像処理装置の機能が実現される。
【００３６】
次に、本実施形態に係る画像処理装置の動作について、図３及び図４を参照して具体的に説明する。図３は、画像処理装置の動作を示すフローチャートである。以下では、全周囲画像の座標系は円筒面座標系であり、全周囲画像の特徴点は、特徴点ＤＢ２に予め記憶されているものとする。
【００３７】
画像処理装置は、自己位置を推定する際、まず、入力画像を入力される（ステップＳ１）。入力画像は、通信装置１０４を介して外部装置から入力されてもよいし、コンピュータ１００に接続された撮影装置から入力されてもよい。
【００３８】
次に、抽出部１が入力画像を取得し、取得した入力画像を、円筒面座標系に座標変換する。ここで、図４は、入力画像と全周囲画像との関係を示す図である。図４において、Ｃは、入力画像を円筒面座標系に座標変換するための関数（以下、「変換関数Ｃ」という）である。全周囲画像の座標系が円筒面座標系である場合、変換関数Ｃは、例えば、以下の式で表される。
【００３９】
【数１】
2017027417.tif 000003
【００４０】
式（１），（２）において、ｒは円筒面の半径、ｔは水平方向に対する撮影装置のチルト量、ｃｘは投影中心のｘ座標、ｃｙは投影中心のｙ座標である。これらの値は、撮影装置の配置や光学系によって一意に決まるため、予め設定される。また、ｐｘは入力画像上のｘ座標、ｐｙは入力画像上のｙ座標、ｐは入力画像上の位置ベクトルである。位置ベクトルｐは、入力画像の各画素に対応する。以下では、位置ベクトルｐを有する画素を、画素ｐという。
【００４１】
抽出部１は、入力画像を座標変換して得られた円筒面投影画像から、複数の特徴点ｐｓを抽出する（ステップＳ２）。すなわち、抽出部１は、各画素ｐの特徴量を算出し、特徴量が所定の条件を満たす画素ｐを、特徴点ｐｓとして抽出する。図４の例では、特徴点ｐｓは５つ抽出されている。以下では、抽出されたｉ番目の特徴点ｐｓを特徴点ｐｓｉという。また、特徴点ｐｓｉの位置ベクトルをｐｓｉで表す。
【００４２】
次に、特定部３が、抽出部１により抽出された特徴点ｐｓｉ及びその特徴量と、特徴点ＤＢ２に記憶された全周囲画像の特徴点及び特徴量と、を取得する。そして、特定部３は、各特徴点ｐｓｉの対応点を特定する（ステップＳ３）。対応点の特定方法は、上述の通りである。
【００４３】
図４の例では、５つの特徴点ｐｓｉは、それぞれ対応点を特定されている。図４において、特徴点ｐｓｉと、対応点と、の対応関係は、点線で示されている。以下では、特徴点ｐｓｉの対応点を、対応点ｐｄｉという。また、対応点ｐｄｉの位置ベクトルをｐｄｉで表す。
【００４４】
続いて、パラメータ算出部４が、特定部３から特徴点ｐｓｉ及び対応点ｐｄｉを取得する。パラメータ算出部４は、特徴点ｐｓｉ及び対応点ｐｄｉに基づいて、投影変換関数のパラメータを算出する（ステップＳ４）。具体的には、パラメータ算出部４は、以下の評価関数Ｅを最小化するパラメータを算出する。
【００４５】
【数２】
2017027417.tif 000004
【００４６】
式（３）において、θは投影変換関数のパラメータを要素とするベクトル、ｐｔｉは特徴点ｐｓｉを投影変換によって全周囲画像上に投影した投影点ｐｔｉの位置ベクトルである。図４において、投影点ｐｔｉは、破線で示されている。評価関数Ｅは、対応点ｐｄｉと投影点ｐｔｉとの誤差（再投影誤差）を評価する関数である。ｐｔｉは、以下の式により算出される。
【００４７】
【数３】
2017027417.tif 000005
【００４８】
式（４）において、Ｃ′は変換関数Ｃの逆変換関数、Ｇは入力画像を射影変換するための関数（以下、「射影変換関数」という）、Ｗは全周囲画像上における配置を変換する関数（以下、「配置変換関数」という）である。
【００４９】
逆変換関数Ｃ′、射影変換関数Ｇ、配置変換関数Ｗは、それぞれ以下の式で表される。
【００５０】
【数４】
2017027417.tif 000006
【００５１】
式（６）において、ｈｉｊ（ｉ，ｊ＝１，２，３）は、入力画像を全周囲画像に射影変換するための変換係数である。また、式（７）において、ｄは円筒座標系における周方向の基準位置からの平行移動量である。式（７）では、ｘ軸方向が円筒座標系の周方向であるため、平行移動量ｄは、基準位置からのｘ軸方向の平行移動量となる。図４の例では、基準位置は、全周囲画像の左端であるが、任意に設定可能である。
【００５２】
以上説明した通り、入力画像を全周囲画像上に投影変換するための投影変換関数には、変換関数Ｃ、逆変換関数Ｃ′、射影変換関数Ｇ、及び配置変換関数Ｗが含まれる。そして、投影変換関数のパラメータのうち、未定のパラメータは、変換係数ｈｉｊ及び平行移動量ｄである。したがって、パラメータ算出部４が求めるパラメータは、変換係数ｈｉｊ及び平行移動量ｄとなる。上述のθには変換係数ｈｉｊ及び平行移動量ｄが含まれる。
【００５３】
すなわち、パラメータ算出部４は、ステップＳ４において、以下の処理を行なう。まず、パラメータ算出部４は、各特徴点ｐｓｉを逆変換関数Ｃ′により円筒面座標系から元の座標系に逆変換し、射影変換関数Ｇにより射影変換（Homography）画像上に射影変換し、変換関数Ｃにより円筒面座標系に再び座標変換し、配置変換関数Ｗにより全周囲画像上における配置を変換する。これにより、パラメータ算出部４は、各特徴点ｐｓｉの投影点ｐｔｉを算出する。
【００５４】
次に、パラメータ算出部４は、投影点ｐｔｉと対応点ｐｄｉとの誤差の和を、評価関数Ｅにより算出する。算出された評価値は、投影点ｐｔｉを算出するための投影変換関数のパラメータ、すなわち、変換係数ｈｉｊ及び平行移動量ｄの評価値となる。
【００５５】
パラメータ算出部４は、投影変換関数のパラメータを変えながら上記の計算を繰り返し、評価値が最小となったパラメータを、投影変換関数のパラメータとして決定する。パラメータ算出部４は、ニュートン法、準ニュートン法、及びLevenberg-Marquardt法などを用いることにより、評価関数Ｅを最小化することができる。これにより、変換係数ｈｉｊ及び平行移動量ｄが算出される。
【００５６】
パラメータ算出部４は、上記の最小化方法と共に、ＲＡＮＳＡＣ（Random sample Consensus）法を用いてパラメータを算出してもよい。これにより、パラメータを、特徴点ｐｓｉと対応点ｐｄｉとの誤対応に対して、ロバスト化することができる。すなわち、複数の特徴点ｐｓｉの中に、対応点ｐｄｉとの対応付けが間違っている特徴点ｐｓｉが含まれた場合であっても、精度よくパラメータを算出することができる。これは、ＲＡＮＳＡＣ法を用いることで、パラメータを算出するために利用される特徴点ｐｓｉの中から、対応点ｐｄｉと誤対応している特徴点ｐｓｉが除去されるためである。
【００５７】
次に、距離算出部５が、パラメータ算出部４により算出されたパラメータを取得する。距離算出部５は、取得したパラメータに基づいて、登録位置から自己位置までの距離ｚを算出する（ステップＳ５）。距離ｚは、例えば、以下の式により算出される。
【００５８】
【数５】
2017027417.tif 000007
【００５９】
式（９）において、Ｈは変換係数ｈｉｊを要素とする３行３列の射影行列、Ｉは単位行列である。式（８），（９）からわかるように、距離ｚは、変換係数ｈｉｊから算出することができる。
【００６０】
なお、距離算出部５は、他の方法で距離ｚを算出してもよい。他の方法として、例えば、射影行列Ｈを特異値分解する方法が考えられる。
【００６１】
その後、推定部６が、パラメータ算出部４から平行移動量ｄを取得し、距離算出部５から距離ｚを取得する。推定部６は、取得した平行移動量ｄ及び距離ｚに基づいて、自己位置を推定する。
【００６２】
ここで、図５は、自己位置と登録位置との関係を示す図である。図５に示すように、自己位置は、登録位置から距離ｚであり、かつ、全周囲画像の基準位置から平行移動量ｄだけ周方向に平行移動した位置となる。図５からわかるように、平行移動量ｄは、基準位置に対する回転角に相当する。
【００６３】
以上説明した通り、本実施形態に係る画像処理装置は、入力画像を全周囲画像上に投影変換するための投影変換関数のパラメータに基づいて、登録位置から自己位置までの距離ｚを算出し、距離ｚを用いて自己位置を推定する。したがって、本実施形態に係る画像処理装置は、自己位置を精度よく推定することができる。
【００６４】
なお、画像処理装置は、複数の全周囲画像を用いて自己位置を推定することも可能である。画像処理装置は、入力画像と、各全周囲画像と、に基づいて、上記の方法で自己位置を推定し、推定された複数の自己位置の平均や重心を、最終的な自己位置として推定すればよい。これにより、自己位置の推定精度を向上させることができる。
【００６５】
（第２実施形態）
第２実施形態に係る画像処理装置について、図６及び図７を参照して説明する。本実施形態に係る画像処理装置は、全周囲画像を自ら撮影し、全周囲画像の特徴点を特徴点ＤＢ２に記憶する。したがって、画像処理装置は、撮影装置を備える。
【００６６】
図６は、本実施形態に係る画像処理装置の機能構成を示す図である。図６に示すように、この画像処理装置は、撮影制御部７と、登録部８と、を備える。他の構成は、第１実施形態と同様である。
【００６７】
撮影制御部７は、画像処理装置の動作モードに応じて、撮影装置による撮影を制御する。本実施形態において、画像処理装置は、動作モードとして、推定モードと、登録モードと、を有する。
【００６８】
推定モードとは、第１実施形態で説明した自己位置の推定を行なう動作モードである。推定モードにおいて、撮影制御部７は、自己位置を推定するために撮影装置に撮影させ、得られた画像を入力画像として抽出部１に入力する。
【００６９】
登録モードとは、全周囲画像を撮影し、撮影された全周囲画像の特徴点及び特徴量を特徴点ＤＢ２に記憶する動作モードである。登録モードにおいて、撮影制御部７は、撮影装置に全周囲画像を撮影させ、得られた画像を登録部８に入力する。
【００７０】
撮影制御部７は、撮影装置が全周囲画像を１度に撮影可能な場合、撮影装置に全周囲画像を撮影させ、得られた全周囲画像を登録部８に入力する。全周囲画像を１度に撮影可能な撮影装置は、例えば、全天カメラや全天球カメラである。
【００７１】
また、撮影制御部７は、撮影装置が全周囲画像を一度に撮影できない場合、撮影装置に全周囲を離散的な間隔で複数回撮影させ、得られた複数の画像を所定の座標系（円筒面座標系、球面座標系、及び極座標系など）上で合成することにより全周囲画像を生成し、生成された全周囲画像を登録部８に入力する。
【００７２】
撮影装置は、全周囲を撮影可能なように、画像処理装置上で回転可能に構成されてもよい。また、撮影装置が全周囲を撮影可能なように、画像処理装置が回転可能に構成されてもよい。このような構成は、電気掃除機や巡回警備ロボットなどの自律移動体に画像処理装置を搭載することにより可能となる。画像処理装置を搭載した電気掃除機については、第３実施形態において説明する。
【００７３】
なお、動作モードは、ユーザからの入力により切替えられてもよいし、所定の時間間隔やイベントに応じて自律的に切替えられてもよい。また、登録モードが実行される登録位置（全周囲画像の撮影位置）は、任意であってもよいし、ユーザにより指定されてもよい。
【００７４】
登録部８は、撮影制御部７より入力された全周囲画像から、複数の特徴点を抽出する。登録部８による特徴点の抽出方法は、抽出部１と同様である。登録部８は、抽出した特徴点及びその特徴量を、特徴点ＤＢ２に記憶させる。
【００７５】
次に、本実施形態に係る画像処理装置の動作について、図７を参照して具体的に説明する。推定モードにおける動作は第１実施形態と同様であるため、説明を省略する。図７は、登録モードにおける動作を示すフローチャートである。
【００７６】
まず、撮影制御部７は、撮影装置に全周囲を離散的な間隔で複数回撮影させる（ステップＳ７）。撮影制御部７は、撮影により得られた複数の画像を、円筒面座標系などの座標系上で合成し、全周囲画像を生成する（ステップＳ８）。撮影制御部７は、生成した全周囲画像を、登録部８に入力する。
【００７７】
全周囲画像を入力された登録部８は、全周囲画像から複数の特徴点を抽出する（ステップＳ９）。すなわち、登録部８は、全周囲画像の各画素の特徴量を算出し、特徴量が所定の条件を満たす画素を、特徴点として抽出する。登録部８は、抽出した特徴点及びその特徴量を特徴点ＤＢ２に入力する。
【００７８】
特徴点ＤＢ２は、登録部８から入力された特徴点及び特徴量を記憶する（ステップＳ１０）。こうして特徴点ＤＢ２に記憶された全周囲画像の特徴点及び特徴量は、推定モードにおける自己位置の推定に用いられる。
【００７９】
以上説明した通り、本実施形態に係る画像処理装置は、自ら全周囲画像を撮影又は生成し、その特徴点及び特徴量を記憶する。したがって、本実施形態によれば、画像処理装置は、全周囲画像の特徴点及び特徴量を予め記憶していなくても、自己位置を推定することができる。
【００８０】
（第３実施形態）
第３実施形態に係る電気掃除装置について、図８〜図１１を参照して説明する。本実施形態に係る電気掃除装置は、電気掃除機１１と、充電装置１２と、を備える。電気掃除機１１は、上述の画像処理装置を備える。
【００８１】
図８〜図１１において、１１は電気掃除機である。電気掃除機１１は、電気掃除機１１の充電用の基地部となる充電装置（充電台）１２とともに、電気掃除装置（電気掃除システム）を構成する。電気掃除機１１は、本実施形態において、走行面（被掃除面）である床面上を自律走行（自走）しつつ床面を掃除する、いわゆる自走式のロボットクリーナ（掃除ロボット）である。
【００８２】
電気掃除機１１は、例えば掃除領域内などに配置された中継手段（中継部）であるホームゲートウェイ（ルータ）１４との間で、有線通信あるいはＷｉ−Ｆｉ（登録商標）やＢｌｕｅｔｏｏｔｈ（登録商標）などの無線通信を用いて通信（送受信）する。これにより、電気掃除機１１は、インターネットなどの（外部）ネットワーク１５を介して、データ格納手段（データ格納部）である汎用のサーバ１６や、表示手段（表示部）である汎用の外部装置１７などと、有線あるいは無線通信可能となる。
【００８３】
また、この電気掃除機１１は、中空状の本体ケース２０と、この本体ケース２０を床面上で走行させる走行部２１と、床面などの塵埃を掃除する掃除部２２と、充電装置１２を含む外部装置と通信する通信部２３と、画像を撮影する撮影部２５と、センサ部２６と、制御部２７と、二次電池２８と、を備えている。
【００８４】
制御部２７は、走行部２１、掃除部２２、通信部２３、及び、撮影部２５などを制御する。二次電池２８は、走行部２１、掃除部２２、通信部２３、撮影部２５、センサ部２６、及び制御部２７などに給電する。
【００８５】
なお、以下、電気掃除機１１（本体ケース２０）の走行方向に沿った方向を前後方向（図９に示す矢印ＦＲ，ＲＲ方向）とし、この前後方向に対して交差（直交）する左右方向（両側方向）を幅方向として説明する。
【００８６】
本体ケース２０は、例えば合成樹脂などにより平な円柱状（円盤状）などに形成されている。すなわち、この本体ケース２０は、側面部２０ａと、この側面部２０ａの上部及び下部にそれぞれ連続する上面部２０ｂ及び下面部２０ｃとを備えている。
【００８７】
本体ケース２０の側面部２０ａは、上面部２０ｂと下面部２０ｃとを連続するもので、略円筒面状に形成されている。この側面部２０ａには、例えば、撮影部２５などが配置されている。また、本体ケース２０の上面部２０ｂ及び下面部２０ｃは、それぞれ略円形状に形成されている。床面に対向する下面部２０ｃには、集塵口である吸込口３１、及び、排気口３２などがそれぞれ開口されている。
【００８８】
走行部２１は、複数（一対）の駆動部である駆動輪３４、これら駆動輪３４をそれぞれ駆動させる駆動手段である２つのモータ３５、旋回用の旋回輪３６などを備えている。
【００８９】
各駆動輪３４は、電気掃除機１１（本体ケース２０）を床面上で前進方向及び後退方向に走行（自律走行）させる走行用のものである。各駆動輪３４は、左右幅方向に沿って図示しない回転軸を有し、幅方向に対称に配置されている。
【００９０】
各モータ３５は、例えば、駆動輪３４のそれぞれに対応して配置されており、各駆動輪３４を独立して駆動させることが可能となっている。
【００９１】
旋回輪３６は、本体ケース２０の下面の幅方向の略中央部で、かつ、前部に位置しており、床面に沿って旋回可能な従動輪である。
【００９２】
掃除部２２は、例えば、本体ケース２０内に位置して塵埃を吸込口３１から空気とともに吸い込み排気口３２から排気する電動送風機４１、吸込口３１に回転可能に取り付けられて塵埃を掻き上げる回転清掃体である回転ブラシ４２、回転ブラシ４２を回転駆動させるブラシモータ４３、本体ケース２０の前側などの両側に回転可能に取り付けられて塵埃を掻き集める補助掃除部であるサイドブラシ４４、サイドブラシ４４をそれぞれ駆動させるサイドブラシモータ４５、及び吸込口３１と連通して塵埃を溜める集塵部４６などを備えている。なお、電動送風機４１と、回転ブラシ４２及びブラシモータ４３と、サイドブラシ４４及びサイドブラシモータ４５とは、少なくともいずれかを備えていればよい。
【００９３】
通信部２３は、ホームゲートウェイ１４及びネットワーク１５を介して外部装置１７と無線通信をするための無線通信部及び掃除機信号受信部である。通信部２３は、無線ＬＡＮデバイス４７、充電装置１２などへと無線信号（赤外線信号）を送信する赤外線発光素子などの送信部、及び、充電装置１２やリモコンなどからの無線信号（赤外線信号）を受信するフォトトランジスタなどの受信部などを備えている。通信部２３は、通信装置１０４に相当する。
【００９４】
無線ＬＡＮデバイス４７は、電気掃除機１１からホームゲートウェイ１４を介してネットワーク１５に対して各種情報を送受信するものであり、例えば本体ケース２０に内蔵されている。
【００９５】
撮影部２５は、撮影装置であるカメラ５１、及びカメラ５１に照明を付与する照明部であるＬＥＤなどのランプ５３を備えている。
【００９６】
カメラ５１は、本体ケース２０の側面部２０ａにおいて、前部に配置されている。カメラ５１は、本体ケース２０の走行方向である前方を、所定の水平画角（例えば１０５°など）で撮影するデジタルカメラである。カメラ５１は、例えば、所定時間毎、例えば数十ミリ秒毎などの微小時間毎、あるいは数秒毎などに、画像を撮影する。本実施形態では、カメラ５１は、例えば可視光領域の画像を撮影するものとする。なお、カメラ５１により撮影した画像は、画像処理回路などにより、所定のデータ形式に圧縮することもできる。
【００９７】
ランプ５３は、カメラ５１により画像を撮影する際の照明用の光を出力する。本実施形態では、このランプ５３は、可視光領域を含む光を照明する。
【００９８】
センサ部２６は、例えば各駆動輪３４（各モータ３５）の回転数を検出する光エンコーダなどの回転数センサ５５を備えている。この回転数センサ５５は、測定した駆動輪３４（モータ３５）の回転数によって、電気掃除機１１（本体ケース２０）の旋回角度や進行距離を検出する。したがって、この回転数センサ５５は、例えば充電装置１２などの基準位置からの電気掃除機１１（本体ケース２０）の相対位置を検出する、位置検出センサである。
【００９９】
制御部２７は、例えば、マイコンである。制御部２７は、ＣＰＵ１０１及び記憶装置１０５に相当する。制御部２７の動作により、上述の画像処理装置の機能構成が実現される。
【０１００】
より詳細には、制御部２７は、例えば、カメラ５１で撮影した画像のデータなどを記憶する記憶部であるメモリ６１、及びカメラ５１で撮影した画像（入力画像）に基づいて自己位置を推定する自己位置推定部６２などを備えている。本実施形態において、特徴点ＤＢ２は、メモリ６１上に構築される。
【０１０１】
また、制御部２７は、走行制御部６６、掃除制御部６７、撮影制御部６８、及び照明制御部６９などを備えている。走行制御部６６は、走行部２１のモータ３５（駆動輪３４）の動作を制御する。掃除制御部６７は、掃除部２２の電動送風機４１、ブラシモータ４３及びサイドブラシモータ４５の動作を制御する。撮影制御部６８は、撮影部２５のカメラ５１を制御する。照明制御部６９は、撮影部２５のランプ５３を制御する。
【０１０２】
そして、制御部２７は、例えば駆動輪３４（モータ３５）を駆動して電気掃除機１１（本体ケース２０）を自律走行させる走行モードと、充電装置１２を介して二次電池２８を充電する充電モードと、動作待機中の待機モードと、を有している。走行モードには、推定モードと、登録モードと、が含まれる。
【０１０３】
メモリ６１は、電気掃除機１１の電源のオンオフに拘らず記憶した各種データを保持する。メモリ６１は、例えば、フラッシュメモリなどの不揮発性のメモリである。
【０１０４】
自己位置推定部６２は、第１実施形態に係る画像処理装置に相当する。自己位置推定部６２は、カメラ５１が撮影した画像（入力画像）と、全周囲画像と、に基づいて、自己位置（本体ケース２０の位置）を推定する。本実施形態において、全周囲画像、全周囲画像の特徴点、及び特徴点の特徴量は、メモリ６１に記憶される。電気掃除機１１は、自己位置推定部６２が推定した自己位置に基づいて、自律走行する。なお、第２実施形態に係る登録部８の機能は、自己位置推定部６２により実現されてもよい。
【０１０５】
走行制御部６６は、モータ３５に流れる電流の大きさ及び向きを制御することにより、モータ３５を正転、あるいは逆転させることで、モータ３５の駆動を制御する。これにより、走行制御部６６は、モータ３５の駆動を制御することで駆動輪３４の駆動を制御している。
【０１０６】
掃除制御部６７は、電動送風機４１、ブラシモータ４３、及び、サイドブラシモータ４５をそれぞれ別個に導通角制御する。これにより、掃除制御部６７は、電動送風機４１、ブラシモータ４３（回転ブラシ４２）、及び、サイドブラシモータ４５（サイドブラシ４４）の駆動を制御している。なお、これら電動送風機４１、ブラシモータ４３、及び、サイドブラシモータ４５のそれぞれに対応して制御部を別個に設けてもよい。
【０１０７】
撮影制御部６８は、カメラ５１のシャッタの動作を制御する制御回路を備え、このシャッタを所定時間毎に動作させることで、所定時間毎にカメラ５１により画像を撮影させるように制御する。撮影制御部６８は、第２実施形態における撮影制御部７の機能が実現される。
【０１０８】
照明制御部６９は、スイッチなどを介してランプ５３のオンオフを制御している。この照明制御部６９は、本実施形態では、電気掃除機１１の周囲の明るさを検出するセンサを備えており、このセンサにより検出した明るさが所定以下の場合にランプ５３を点灯させ、その他のときにはランプ５３を点灯させないようにするものである。
【０１０９】
また、二次電池２８は、例えば本体ケース２０の下面の後部の両側に露出する接続部としての充電端子７１と電気的に接続されており、これら充電端子７１が充電装置１２と電気的及び機械的に接続されることで、充電装置１２を介して充電されるようになっている。
【０１１０】
ホームゲートウェイ１４は、アクセスポイントなどとも呼ばれ、建物内に設置され、ネットワーク１５に対して例えば有線により接続されている。
【０１１１】
サーバ１６は、ネットワーク１５に接続されたコンピュータ（クラウドサーバ）であり、各種データを保存可能である。
【０１１２】
外部装置１７は、建物の内部では例えばホームゲートウェイ１４を介してネットワーク１５に対して有線あるいは無線通信可能であるとともに、建物の外部ではネットワーク１５に対して有線あるいは無線通信可能な、例えばＰＣ（タブレット端末（タブレットＰＣ））１７ａやスマートフォン（携帯電話）１７ｂなどの汎用のデバイスである。この外部装置１７は、少なくとも画像を表示する表示機能を有している。
【０１１３】
次に、本実施形態に係る電気掃除装置の動作を説明する。
【０１１４】
一般に、電気掃除装置は、電気掃除機１１によって掃除をする掃除作業と、充電装置１２によって二次電池２８を充電する充電作業とに大別される。充電作業は、充電装置１２に内蔵された定電流回路などの充電回路を用いる既知の方法が用いられるため、掃除作業についてのみ説明する。また、外部装置１７などからの指令に応じてカメラ５１の少なくともいずれかにより所定の対象物を撮影する撮影作業を別途備えていてもよい。
【０１１５】
電気掃除機１１は、例えば予め設定された掃除開始時刻となったときや、リモコンまたは外部装置１７によって送信された掃除開始の指令信号を受信したときなどのタイミングで、制御部２７が待機モードから走行モードに切り換わり、走行制御部６６がモータ３５を駆動させ充電装置１２から所定距離離脱する。
【０１１６】
次いで、電気掃除機１１は、掃除領域内を自律走行しつつ掃除をする。この自律走行の際には、制御部２７（撮影制御部６８）により駆動させたカメラ５１により走行方向前方を撮影する。撮影した画像は、メモリ６１に記憶される。
【０１１７】
動作モードが推定モードの場合、自己位置推定部６２は、カメラ５１により撮影された入力画像に基づいて、自己位置を推定する。電気掃除機１１は、推定された自己位置に基づいて、掃除領域内を自律走行する。
【０１１８】
自己位置を推定するための全周囲画像は、予めメモリ６１に記憶されていてもよいし、電気掃除機１１の走行中に撮影され、メモリ６１に記憶されてもよい。いずれの場合も、自己位置推定部６２が、メモリ６１に記憶された全周囲画像から特徴点を抽出し、抽出された特徴点及び特徴量をメモリ６１に記憶させる。すなわち、自己位置推定部６２は、登録部８の機能を実現する。
【０１１９】
一方、動作モードが登録モードの場合、走行制御部６６が所定の位置（登録位置）でモータ３５を駆動させて電気掃除機１１を旋回させながら、撮影制御部６８がカメラ５１により全周囲の画像を撮影させる。これにより、全周囲画像を撮影することができる。撮影された全周囲画像は、メモリ６１に記憶される。登録モードが実行される登録位置は、電気掃除機１１の走行中における任意の位置であってもよいし、ユーザにより設定された位置であってもよい。
【０１２０】
掃除部２２は、掃除制御部６７が駆動された電動送風機４１、回転ブラシ４２、あるいはサイドブラシ４４により床面の塵埃を、吸込口３１を介して集塵部４６へと捕集する。そして、掃除領域の掃除が完了した場合、あるいは掃除作業中に二次電池２８の容量が所定量まで低下して掃除や撮影を完了させるのに不足している（二次電池２８の電圧が放電終止電圧近傍まで低下している）などの所定条件時には、電気掃除機１１は、充電装置１２に帰還する。その後、充電端子７１と充電装置１２の充電用端子とが接続されると、電気掃除機１１は、掃除作業を終了し、制御部２７が待機モード、あるいは充電モードに移行する。
【０１２１】
なお、メモリ６１に記憶された画像のデータは、例えば電気掃除機１１が充電装置１２に帰還したとき、掃除作業中に随時、所定時間毎、あるいは外部装置１７からの要求があったときなどに、無線ＬＡＮデバイス４７を介してホームゲートウェイ１４及びネットワーク１５を経由してサーバ１６に送信されてもよい。送信が終了したデータを、メモリ６１から消去、あるいは新たなデータを記憶する際に上書きすることで、メモリ６１の容量を効率よく使用できる。
【０１２２】
サーバ１６では、電気掃除機１１から送信された画像のデータを保存し、外部装置１７からの要求（アクセス）に応じてそれら画像のデータをダウンロード可能となっている。
【０１２３】
そして、外部装置１７では、サーバ１６からダウンロードされた画像が表示される。
【０１２４】
このように、本実施形態に係る電気掃除機１１は、第１実施形態に係る画像処理装置（自己位置推定部６２）により精度よく推定された自己位置に基づいて自律走行する。したがって、本実施形態によれば、電気掃除機１１は、自律走行の精度が向上し、効率よく掃除ができる。
【０１２５】
また、本実施形態に係る電気掃除機１１は、撮影制御部６８が第２実施形態における撮影制御部７の機能を実現する。したがって、電気掃除機１１は、自己位置を推定するための全周囲画像を自ら撮影することができる。
【０１２６】
さらに、カメラ５１が可視光領域の画像を撮影するので、撮影した画像の画質が良好で、複雑な画像処理を施すことなく、ユーザが目視可能に容易に表示できるとともに、ランプ５３により可視光領域を含む光を照明することで、暗い場所や夜間などであっても、カメラ５１により確実に画像を撮影できる。
【０１２７】
なお、本実施形態において、カメラ５１を、赤外領域の画像を撮影する、赤外線カメラとすることもできる。この場合には、ランプ５３によって、赤外領域を含む光を照明することで、昼夜を問わず、安定した画像を得ることができるとともに、暗い場所や夜間であっても周囲を明るくすることなくその暗さのまま画像を撮影できる。
【０１２８】
また、画像の表示は、制御部２７によって外部装置１７で表示可能となるように処理する構成の他に、例えばそれぞれ外部装置１７にインストールされた専用のプログラム（アプリケーション）により外部装置１７で表示するように処理することもできるし、制御部２７、あるいはサーバ１６で予め処理をしておき、外部装置１７のブラウザなどの汎用のプログラムにより表示することもできる。すなわち、表示制御手段（表示制御部）としては、サーバ１６に保存されたプログラムや、外部装置１７にインストールされたプログラムなどにより画像を表示させる構成とすることもできる。
【０１２９】
さらに、メモリ６１に一時記憶した画像などのデータは、サーバ１６に送信してサーバ１６に記憶するようにしたが、メモリ６１にそのまま記憶しておいてもよいし、外部装置１７に記憶しておいてもよい。
【０１３０】
また、カメラ５１で撮影した画像は、外部装置１７に限らず、例えば電気掃除機１１自体に設けた表示部（表示装置１０３）などに表示することもできる。この場合には、メモリ６１からサーバ１６へとホームゲートウェイ１４及びネットワーク１５経由でデータを送信しなくてもよく、電気掃除機１１の構成や制御をより簡略化することもできる。
【０１３１】
さらに、例えば、本体ケース２０の後部など、カメラ５１の視野外の位置での障害物検出用の接触センサなどのセンサを別途設けたり、本体ケース２０の下面部２０ｃに、床面の段差などを検出する赤外線センサなどの段差検出手段（段差検出部）を設けたりしてもよい。
【０１３２】
また、自己位置推定部６２、走行制御部６６、掃除制御部６７、撮影制御部６８、及び照明制御部６９は、それぞれ制御部２７中に備えたが、それぞれ互いに別構成としてもよいし、いずれか２つ以上を任意に組み合わせてもよい。
【０１３３】
なお、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、各実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１３４】
１：特徴点抽出部、２：特徴点ＤＢ、３：対応点特定部、４：パラメータ算出部、５：距離算出部、６：位置推定部、７：撮影制御部、８：登録部、１１：電気掃除機、１２：充電装置、１４：ホームゲートウェイ、１５：ネットワーク、１６：サーバ、１７：外部装置、２０：本体ケース、２１：走行部、２３：通信部、２５：撮影部、２６：センサ部、２７：制御部、２８：二次電池、３１：吸込口、３２：排気口、３４：駆動輪、３５：モータ、３６：旋回輪、４１：電動送風機、４２：回転ブラシ、４３：ブラシモータ、４４：サイドブラシ、４５：サイドブラシモータ、集塵部４６、４７：無線ＬＡＮデバイス、５１カメラ、５３：ランプ、５５：回転数センサ、６１：メモリ、６２：自己位置推定部、６６：走行制御部、６７：掃除制御部、６８：撮影制御部、６９：照明制御部、７１：充電端子
【図１】
2017027417.tif 000008
【図２】
2017027417.tif 000009
【図３】
2017027417.tif 000010
【図５】
2017027417.tif 000011
【図６】
2017027417.tif 000012
【図７】
2017027417.tif 000013
【図８】
2017027417.tif 000014
【図９】
2017027417.tif 000015
【図１１】
2017027417.tif 000016
【図４】
2017027417.tif 000017
【図１０】
2017027417.tif 000018