(実施形態)
図1を参照して、実施形態に係る設置位置特定システム1000の構成について説明する。設置位置特定システム1000は、識別情報により識別される照明装置300の設置位置を特定するシステムである。識別情報は、ネットワーク400上において照明装置300を識別するための情報であり、例えば、MAC(Media Access Control)アドレス、IP(Internet Protocol)アドレス等である。本実施形態では、識別情報は、MACアドレスであるものとする。
設置位置特定システム1000は、照明装置300の設置位置を特定する設置位置特定装置100と、照明装置300を含む空間を撮像する撮像装置200と、を備える。
ここで、照明装置300の設置位置とは、現実空間内における照明装置300の設置位置である。現実空間内における照明装置300の設置位置は、撮像装置200が撮像した撮像画像上の照明装置300の位置から算出される。具体的には、撮像装置200が設置される空間内の位置及び水平方向に対する角度が予め定められている。そして、設置位置特定装置100は、現実空間内における照明装置300の設置位置を算出するための計算式、座標変換テーブル等を記憶しており、この計算式、座標変換テーブル等を用いて、撮像画像上における照明装置300の位置から、現実空間内における照明装置300の設置位置を一意に算出する。
設置位置特定装置100は、撮像装置200から供給された撮像画像に基づいて、識別情報により識別される照明装置300の設置位置を特定する。設置位置特定装置100は、識別情報により識別される照明装置300と現実空間内に設置される照明装置300とを同定する装置ともいえる。
設置位置特定装置100は、ネットワーク400を介して、照明装置300と通信する。また、設置位置特定装置100は、撮像装置200と通信する。設置位置特定装置100は、例えば、パーソナルコンピュータ、スマートフォン、タブレット端末等である。以下、図2を参照して、設置位置特定装置100の構成について説明する。
図2に示すように、設置位置特定装置100は、設置位置を特定するための処理を行うCPU(Central Processing Unit)11と、プログラムを記憶するROM(Read Only Memory)12と、作業領域であるRAM(Random Access Memory)13と、データを読み書き可能なフラッシュメモリ14と、計時を行うRTC(Real Time Clock)15と、画像を表示するタッチスクリーン16と、ネットワークに接続するためのネットワークインタフェース17と、外部装置と接続するためのデバイスインタフェース18とを備える。設置位置特定装置100が備える各構成要素は、バスを介して相互に接続される。
CPU11は、設置位置特定装置100の全体の動作を制御する。なお、CPU11は、ROM12に格納されているプログラムに従って動作し、RAM13をワークエリアとして使用する。CPU11は、ネットワークインタフェース17を介して、照明装置300の発光強度を制御する。また、CPU11は、デバイスインタフェース18を介して、撮像装置200から撮像画像を取得する。また、CPU11は、設置位置を特定するための処理を行う。
ROM12は、設置位置特定装置100の全体の動作を制御するためのプログラム及びデータを記憶する。
RAM13は、CPU11のワークエリアとして機能する。つまり、CPU11は、RAM13にプログラム及びデータを一時的に書き込み、これらのプログラム及びデータを適宜参照する。
フラッシュメモリ14は、各種の情報を記憶する不揮発性メモリである。フラッシュメモリ14には、座標変換データ14aと、性能情報データ14bとが格納される。座標変換データ14aは、照明装置300の設置位置を算出するための計算式、座標変換テーブル等のデータである。性能情報データ14bは、照明装置300の、調光、調色等の性能に関する情報が記されたデータである。
RTC15は、水晶発振子による発振回路を備えた計時用のデバイスである。RTC15は、例えば、電池を内蔵し、設置位置特定装置100の電源がオフの間も計時を継続する。
タッチスクリーン16は、ユーザによりなされたタッチ操作を検知し、検知の結果を示す信号をCPU11に供給する。また、タッチスクリーン16は、CPU11から供給された画像信号に基づく画像を表示する。このように、タッチスクリーン16は、設置位置特定装置100のユーザインタフェースとして機能する。
ネットワークインタフェース17は、設置位置特定装置100を、ネットワーク400に接続するためのインタフェースである。設置位置特定装置100は、ネットワーク400を介して、照明装置300と通信する。ネットワークインタフェース17は、NIC(Network Interface Card)のようなLAN(Local Area Network)インタフェースを備える。
デバイスインタフェース18は、シリアル通信又はパラレル通信により設置位置特定装置100を撮像装置200に接続するためのインタフェースである。デバイスインタフェース18は、例えば、USB(Universal Serial Bus)インタフェース、IEEE(Institute of Electrical and Electronic Engineers)1394等の規格に準拠したインタフェースを備える。
図1の撮像装置200は、照明装置300が設置された空間を撮像し、撮像画像を生成する。撮像装置200は、全ての照明装置300が撮像範囲となる空間内の位置及び水平方向に対する角度で設置される。本実施形態では、撮像装置200は、予め定められた周期毎に、例えば、10msec毎に、撮像画像を生成するとともに、生成した撮像画像を設置位置特定装置100に供給するものとする。撮像装置200は、例えば、USBインタフェース、IEEE1394の規格に準拠したインタフェース等を備えるカメラである。なお、撮像装置200は、LANインタフェースを備え、ネットワークインタフェース17に接続する機能を有するネットワークカメラであってもよい。
照明装置300は、設置位置特定装置100による制御に従って、周囲を照明する。照明装置300は、調光機能を有する。照明装置300の発光強度は、0%(発光無し)、50%、100%(最大強度)の3段階で調節することができるものとする。
本実施形態において、現実空間内に20個の照明装置300が設置されているものとする。また、20個の照明装置は、天井に設置され、撮像装置200の撮像範囲内に配置されるものとする。20個の照明装置は、いずれも設置位置特定装置100により発光強度が制御される。照明装置300は、LANインタフェースを備え、ネットワークインタフェース17に接続する機能を有する。照明装置300は、蛍光灯、LED(Light Emitting Diode)等を備える。
ネットワーク400は、工場内、ビル内等に構築される無線LAN、有線LAN等のネットワークであり、設置位置特定装置100と20個の照明装置300とが相互に通信するためのネットワークである。
次に、図3を参照して、設置位置特定装置100の機能について説明する。設置位置特定装置100は、機能的には、識別情報を取得する識別情報取得部101と、照明装置300の制御回数を決定する決定部102と、照明装置300を制御するための制御情報を生成する生成部103と、照明装置300を制御する制御部104と、照明装置300が設置された空間の画像を取得する画像取得部105と、照明装置300の設置位置を特定する特定部106と、設置位置をユーザに提示する提示部107とを備える。
識別情報取得部101は、空間内に設置された2以上の照明装置300をネットワーク上で識別するための識別情報を取得する。なお、識別情報取得部101は、識別情報取得手段の一例である。
具体的には、識別情報取得部101は、ネットワーク400に接続された全ての照明装置300に対して、MACアドレスの送信を求めるコマンドを送信する。そして、識別情報取得部101は、ネットワーク400に接続された20個の照明装置300から、MACアドレスを含むフレームを受信することにより、20個のMACアドレスを取得する。この場合、識別情報取得部101は、CPU11とネットワークインタフェース17とが協働することにより実現される。
なお、20個のMACアドレスは、フラッシュメモリ14に予め格納されていてもよい。識別情報取得部101は、フラッシュメモリ14を参照することにより20個のMACアドレスを取得する。この場合、識別情報取得部101は、CPU11により実現される。
決定部102は、識別情報をグループ分けするためのグループの数を決定し、グループの数に基づいて、照明装置300の発光を制御する制御回数を決定する。決定部102は、CPU11により実現される。なお、決定部102は、決定手段の一例である。
ここでグループとは、識別情報をグループ分けするためのグループである。同一グループに分けられた識別情報により識別される照明装置300は、同じ内容の制御が行われる。
まず、決定部102は、グループの数を、照明装置300の性能に基づいて決定する。具体的には、決定部102は、照明装置300の調光の機能に基づいて、グループの数を決定する。照明装置300が調節可能な発光強度が0%、50%、100%であるというデータは、フラッシュメモリ14に格納された性能情報データ14bとして記憶されている。決定部102は、性能情報データ14bを参照して、照明装置300の発光強度の個数を求め、その個数をグループの数として決定する。ここで、本実施形態では、照明装置300の全てが発光している状態を比較するため、発光強度0%を除いて、グループの数を決める。後述するように、全ての照明装置300が発光している状態の画像同士を比較すると、位置合わせが容易となるためである。したがって、決定部102は、グループの数を“2”と決定する。
次に、決定部102は、制御回数を、照明装置300の数とグループの数とに基づいて決定する。具体的には、照明装置300の数がM個、グループの数がN個の場合、制御回数は、“logNM+1”以上の最小の整数で求められる。なお、“logNM+1”おける“+1”は、後述する基準画像を1枚取得するために照明装置300の発光を制御する回数を示したものである。
例えば、決定部102は、取得した識別情報の数から、照明装置300の数を“20”と求め、照明装置300の数M=20及び決定したグループの数N=2から、“log220+1”の値を求める。この場合、5<log220+1<6であるので、決定部102は、制御回数を6と決定する。
制御回数が決定されると、生成部103が、識別情報を、決定された数のグループにグループ分けする。生成部103は、グループ分けされた識別情報と識別情報により識別される照明装置300の発光の内容とが対応付けられた制御情報を、制御回数の数だけ生成する。生成部103は、CPU11により実現される。なお、生成部103は、生成手段の一例である。
ここで、生成部103は、グループ毎に発光の内容が異なる制御情報を生成し、制御回数の数だけ、グループに含まれる識別情報の組み合わせが異なるようにグループ分けを繰り返して、制御回数の数の制御情報を生成する。本実施形態において、生成部103は、20個の識別情報を2つのグループにグループ分けし、同じグループに分けられた識別情報には、同じ発光の内容を対応付ける。そして、生成部103は、グループに含まれる識別情報が毎回異なるように、このグループ分けと、識別情報と発光の内容との対応付けを、6回繰り返し、6つの制御情報を生成する。
まず、1回目の制御の時に用いられる制御情報を生成する処理について説明する。以下、制御の回数がn回目であることを「制御回数n」と表す。生成部103は、基準画像を得るための制御情報を生成する。
ここで、基準画像とは、制御部104が制御回数の数だけ発光を制御した時に撮像装置200により撮像される画像のうちの一枚の画像であって、後述するように画像同士を比較する際に基準となる画像である。どのような発光状態の画像を基準画像とするかは、ユーザが任意に決めることができる。本実施形態では、基準画像は、すべての照明装置300が発光強度50%で発光している時に撮像される画像とする。
20個の照明装置300が全て発光強度50%で発光している状態を撮像した基準画像を得るための制御情報は、次のように生成される。生成部103は、1つ目のグループに20個の識別情報、2つ目のグループには0個の識別情報、というグループ分けをする。そして、生成部103は、1つ目のグループに含まれる識別情報に、発光強度50%の発光の内容が対応付けられた制御情報を生成する。
図4に、生成された制御情報の例を示す。制御情報は、識別情報取得部101により得られたMACアドレスと、発光の内容を示す符号(ここでは、“1”又は“2”)とを含む。符号“1”は、照明装置300を発光強度50%で発光させることを示し、符号“2”は、照明装置300を発光強度100%で発光させることを示す。図4において、発光の内容の“制御回数1”の列は、制御回数1の時の発光の内容を示すものである。同様に、発光の内容“制御回数2”、“制御回数3”・・・“制御回数6”の列は、後述する制御回数2、3・・・6の時の発光の内容を示す。発光の内容“制御回数1”の列には、すべてのMACアドレスに、照明装置300を発光強度50%で発光させることを示す符号“1”が対応付けられている。
図3に戻り、生成部103は、制御回数2の制御情報を生成する。生成部103は、再度、識別情報のグループ分けを行う。生成部103は、グループに含まれる識別情報をランダムに選択するが、グループ分け毎に、グループに含まれる識別情報が異なるように選択する。例えば、制御回数2の制御情報の生成において、生成部103は、MACアドレス“11111111”〜“FFFFFFFF”を1つ目のグループに含まれる識別情報として選択し、“GGGGGGGG”〜“LLLLLLLL”を2つ目のグループに含まれる識別情報として選択する。そして、図4の発光の内容“2回目”の列に示すように、生成部103は、1つ目のグループに含まれる識別情報に、発光強度50%の発光の内容(符号“1”)が対応付けられ、2つ目のグループに含まれる識別情報に、発光強度100%の発光の内容(符号“2”)が対応付けられた制御情報を生成する。
また、生成部103は、制御回数3の制御情報を生成する。生成部103は、例えば、制御回数3の制御情報の生成において、MACアドレス“11111111”〜“77777777”、“GGGGGGGG”〜“LLLLLLLL”を1つ目のグループに含まれる識別情報として選択し、“88888888”〜“FFFFFFFF”を2つ目のグループに含まれる識別情報として選択する。そして、図4の発光の内容“3回目”の列に示すように、生成部103は、1つ目のグループに含まれる識別情報に、発光強度50%の発光の内容(符号“1”)が対応付けられ、2つ目のグループに含まれる識別情報に、発光強度100%の発光の内容(符号“2”)が対応付けられた制御情報を生成する。
上記制御回数1〜3の制御情報を生成した処理と同様に、生成部103は、残りの制御回数4〜6の制御情報を生成する。
次に、制御部104は、制御情報に基づいて、識別情報により識別される照明装置300を発光させ、制御回数の数だけ生成された制御情報を順次切り替える。制御部104は、CPU11とネットワークインタフェース17とが協働することにより実現される。なお、制御部104は、制御手段の一例である。
図5を参照して、制御部104が制御情報を切り替えることにより照明装置300の発光強度を順に切り替える手順について説明する。図5(a)〜(c)は、制御部104が制御回数1〜3の制御情報に基づく制御を行った場合に、照明装置300の発光強度が変化するタイミングを示すタイミングチャートである。図5(a)は、MACアドレスが“11111111”の照明装置300のタイミングチャートである。図5(b)は、MACアドレスが“88888888”の照明装置300のタイミングチャートである。図5(c)は、MACアドレスが“GGGGGGGG”の照明装置300のタイミングチャートである。
制御部104は、t1において、図4に示す制御回数1の制御情報に基づき、発光強度0%から発光強度を50%にするための制御信号を全ての照明装置300に送信する。制御信号を受信した照明装置300は、t1から遅延時間が経過したt2において、発光強度50%で発光する。例えば、図5(a)〜(c)に示すように、3つの照明装置300は、t2において、発光強度50%で発光する。
制御部104は、予め定められたt2からt4までの期間、照明装置300を発光させると、次に、図4に示す制御回数2の制御情報に基づいて、照明装置300の制御を行う。制御部104は、t4において、MACアドレス“GGGGGGGG”〜“LLLLLLLL”の照明装置300に、発光強度を100%にするための制御信号を送信する。発光強度を100%にする制御信号を受信した照明装置300は、t4から遅延時間が経過したt5以降、発光強度100%で発光する。一方、発光強度を100%にする制御信号を受信しなかった他の照明装置300は、継続して発光強度50%で発光する。例えば、図5(a)〜(c)に示すように、MACアドレス“GGGGGGGG”の照明装置300は、t5以降、発光強度100%で発光し、MACアドレス“11111111”及び“88888888”の照明装置300は、引き続き発光強度50%で発光する。
制御部104は、予め定められたt5からt7までの期間、照明装置300を発光させると、次に、図4に示す制御回数3の制御情報に基づいて、照明装置300の制御を行う。制御部104は、t7において、MACアドレス“88888888”〜“FFFFFFFF”の照明装置300に、発光強度を100%にするための制御信号を送信する。また、制御部104は、t7まで、発光強度100%で発光していた照明装置300(MACアドレス“GGGGGGGG”〜“LLLLLLLL”)に、発光強度を50%にする制御信号を送信する。発光強度を100%にする制御信号を受信した照明装置300は、t7から遅延時間が経過したt8以降、発光強度100%で発光し、発光強度を50%にする制御信号を受信した照明装置300は、t8以降、発光強度50%で発光する。一方、いずれの制御信号も受信しなかった他の照明装置300は、継続して発光強度50%で発光する。例えば、図5(a)〜(c)に示すように、MACアドレス“88888888”の照明装置300は、t8からt10まで、発光強度100%で発光し、MACアドレス“GGGGGGGG”の照明装置300は、t8以降、発光強度50%で発光し、MACアドレス“11111111”の照明装置300は、継続して発光強度50%で発光する。
制御回数1〜3における処理と同様に、制御部104は、図4に示す制御回数4〜6の制御情報に基づいて、照明装置300を制御する。
図3の画像取得部105は、制御情報が順次切り替えられる度に、制御情報に基づいて発光する照明装置300が設置された空間の画像を取得する。画像取得部105は、CPU11とネットワークインタフェース17とが協働することにより実現される。なお、画像取得部105は、画像取得手段の一例である。
画像取得部105は、撮像装置200により生成された撮像画像を取得する。撮像装置200は、照明装置300が設置された空間を撮像した撮像画像を、予め定められた周期毎に生成している。画像取得部105は、制御部104から照明装置300に発光強度を制御するための制御信号が送信されると、制御の遅延時間+予め定められた時間の経過後に、撮像装置200により撮像された画像を取得する。
具体的には、制御部104により、図5のt1において制御回数1の制御情報に基づく制御信号が照明装置300に送信されると、画像取得部105は、t1〜t2の遅延時間及び予め定められた時間t2〜t3の後、t3において撮像された画像を取得する。同様に、制御部104により、t4において制御回数2の制御情報に基づく制御信号が送信されると、画像取得部105は、t6において撮像された画像を取得し、制御部104により、t7において制御回数3の制御情報に基づく制御信号が送信されると、画像取得部105は、t9において撮像された画像を取得する。以下、同様に、制御回数4〜6の制御情報に基づく制御信号が送信されると、画像取得部105はその都度、画像を取得する。
図6A〜図6Fに、画像取得部105により取得された画像の例を示す。図6Aは、制御回数1の制御情報に基づいて20個の照明装置300が発光している様子を撮像した画像である。同様に、図6B〜図6Fは、制御回数2〜6の制御情報に基づいて20個の照明装置300が発光している様子を撮像した画像である。なお、図6Aに示す画像が基準画像である。
画像501〜506は、x軸方向の画素数が640、y軸方向の画素数が480の画像である。画像501〜506は、領域311,312,313,314,315,321,322,323,324,325,331,332,333,334,335,341,342,343,344,345(以下「領域311〜345」という。)を含む。
図6A〜図6Fにおいて、輝度の違いを濃淡で示す。濃い色ほど輝度が高いことを示す。例えば、図6Bは、画像502において、領域312、321,333,342,343の輝度が最も高く、領域311,313〜315,322〜325,331,332,334,335,341,344,345の輝度がその次に高く、領域311〜345の領域の輝度が最も低いことを示している。
図3の特定部106は、制御情報と取得された画像とに基づいて、識別情報により識別される照明装置300の空間内における設置位置を特定する。特定部106は、CPU11により実現される。なお、特定部106は、特定手段の一例である。
具体的には、特定部106は、基準画像(図6Aの画像501)と他の画像(図6B〜図6Fの画像502〜506)とを比較し、輝度値の差が予め定めた閾値以上の画素を求める。以下、輝度値の差が予め定めた閾値以上の画素を「輝度値変化画素」という。そして、特定部106は、隣接する輝度値変化画素が同じグループに属するように、輝度値変化画素をグループ化して、輝度値が変化した領域を求める。以下、輝度値が変化した領域を「輝度値変化候補領域」という。なお、輝度値変化候補領域の大きさは、予め定められた画素数以上であるものとする。
次に、特定部106は、輝度値変化候補領域における平均輝度値を、画像501〜506について求める。そして、特定部106は、基準画像である画像501と他の画像502〜506とにおける輝度値変化候補領域の平均輝度値の差を求める。特定部106は、他の画像502〜506における輝度値変化候補領域のうち、平均輝度値の差が予め定められた閾値を超えている輝度値変化候補領域を特定する。以下、平均輝度値の差が予め定められた閾値を超えている輝度値変化候補領域を「輝度値変化領域」という。
例えば、基準画像である画像501と画像502とを比較した場合、特定部106は、輝度値変化候補領域を、領域312,321,333,342,343と求める。そして、特定部106は、画像501の領域312,321,333,342,343における平均輝度値と、画像502の領域312,321,333,342,343における平均輝度値を求め、画像501と画像502との間で、領域312,321,333,342,343の平均輝度値を比較する。例えば、画像501の領域312の平均輝度値と画像502の領域312の平均輝度値との差が予め定められた閾値を越えている場合、特定部106は、領域312を画像502における輝度値変化領域と特定する。本実施形態では、領域321,333,342,343における平均輝度値の差も予め定められた閾値を超えており、これらの領域を画像502における輝度変化領域とする。
特定部106は、同様の比較を、画像501と画像503との間、画像501と画像504との間、画像501と画像505との間及び画像501と画像506との間で行い、輝度値変化領域を特定する。以下、領域311〜345を輝度値変化領域とする。この輝度値変化領域は、照明装置300の発光強度が50%から100%に変化したことにより、輝度値が変化した領域を示すものである。したがって、輝度値変化領域、すなわち、領域311〜345は、照明装置300が設置された位置と見なすことができる。
特定部106は、領域311〜345について、画像501〜506における、発光の時系列パターンを求める。発光の時系列パターンとは、制御回数1〜6において、領域311〜345がどのように発光したかを示すものである。ここで、領域311〜345は、発光強度を50%から100%に変更することにより検知される領域であるので、発光の時系列パターンは、発光の内容を示す符号で表すことができる。例えば、領域311における発光の時系列パターンは、図6A〜図6Fから、“111212”であることがわかる。
特定部106は、領域311〜345の発光の時系列パターンと一致する発光の内容の時系列パターンを求める。発光の内容の時系列パターンとは、図4の制御回数1〜6において発光の内容を示す符号の並びである。例えば、MACアドレス“11111111”の発光の内容の時系列パターンは、“111112”である。特定部106は、図4の制御情報を参照して、領域311が示す“111212”の発光の内容の時系列パターンと一致するMACアドレス“55555555”を求める。そして、特定部106は、MACアドレス“55555555”により識別される照明装置300の設置位置を、領域311と特定する。
特定部106は、同様に、領域312〜345について、画像501〜506から発光の時系列パターンを求め、図4の制御情報を参照して、残り19個のMACアドレスにより識別される照明装置300の設置位置を、領域312〜345から選択することにより特定する。
図7に、照明装置300の設置位置を表す情報の例を示す。図7のテーブルは、識別情報取得部101により取得されたMACアドレスと、輝度変化領域として特定された領域と、当該領域の画像上の座標(x,y)と、配列で示す照明装置300の位置(行,列)と、ユーザが任意に付するIDと、を含む。座標(x,y)は、撮像画像における、領域311〜345の中心のx座標及びy座標である。位置(行,列)は、照明装置300が天井に格子状に設置されている場合における行番号と列番号である。本実施形態では、照明装置300は、4行×5列の配列で設置されている。特定部106は、設置位置を特定すると、図7のテーブルを生成し、フラッシュメモリ14に格納する。
図7のテールブルの1行目のレコードは、MACアドレスが“11111111”、領域が“334”、座標(x,y)が(492,283)、位置(行,列)が(3,4)、IDが“14”であることを示している。つまり、この1行目のレコードは、“11111111”というMACアドレスにより識別される照明装置300は、撮像画像において、中心の座標が(492,283)である領域334に映し出され、全照明装置300のうち第3行第4列の位置に設置され、IDとして“14”が付与されることを示す。領域と座標(x,y)とは、撮像画像上において1つの照明装置300の設置位置が特定される毎に、決定される。一方、位置(行,列)とIDとは、撮像画像において全ての照明装置300の設置位置が特定された後に決定される。
図3に戻り、提示部107は、照明装置300の空間内における設置位置をユーザに提示する。提示部107は、CPU11とタッチスクリーン16とが協働することにより実現される。なお、提示部107は、提示手段の一例である。
図8に、特定された設置位置をユーザに提示するための画像600を示す。画像600は、20個の照明装置300の位置を示す領域311〜345と、照明装置300に付与されたIDを示すラベル601〜620と、を含む。なお、設置位置を示すためにユーザに提示する画像はこれに限らず、ラベルの内容をMACアドレスに置き換えたものであってもよい。
提示部107は、識別情報が取得された照明装置300の設置位置が特定されると、図8に示す画像600をユーザに提示する。ユーザは、画像600を見ることにより、取得された識別情報により識別される照明装置300が、空間内のどの位置に設置されているかを知ることができる。
次に、本実施形態に係る設置位置特定装置100が実行する設置位置特定処理を、図9のフローチャートを用いて説明する。設置位置特定装置100の電源が投入されると、図9に示す制御処理が開始される。
識別情報取得部101は、空間内に設置された2以上の照明装置300をネットワーク上で識別するための識別情報を取得する(ステップS101)。具体的には、識別情報取得部101は、ネットワーク400に接続された全ての照明装置300に対して、MACアドレスの送信を求めるコマンドを送信し、照明装置300から、MACアドレスを含むフレームを受信すると、受信したMACアドレスのデータをフラッシュメモリ14に格納する。
決定部102は、照明装置300の識別情報をグループ分けするためのグループの数を決定し、グループの数に基づいて、照明装置300の発光を制御する制御回数を決定する(ステップS102)。具体的には、決定部102は、フラッシュメモリ14に格納された照明装置300に関する性能情報データ14bを参照して、グループの数を決定する。また、決定部102は、フラッシュメモリ14に格納されたMACアドレスの数から照明装置300の数を求め、“logNM+1”(M:照明装置300の数、N:グループの数)以上の最小の整数を、制御回数として決定する。
次に、生成部103は、識別情報を決定された数のグループにグループ分けし、グループ分けされた識別情報と識別情報により識別される照明装置300の発光の内容とが対応付けられた制御情報を、制御回数の数だけ生成する(ステップS103)。例えば、前述の例で示したように、識別情報が20個、グループの数が2、照明装置300の発光強度を50%又は100%の発光をさせる制御を行う場合、生成部103は、20個の識別情報を2つのグループに分け、分けられた一方のグループに含まれる識別情報には発光強度50%、他方のグループに含まれる識別情報には発光強度100%の発光の内容が対応付けられた制御情報を生成する。生成部103は、識別情報のグループ分け及び識別情報と発光の内容との対応付けを、制御回数の6回繰り返す。
制御情報が制御回数分生成されると、制御部104は、撮像装置200に撮像を開始させる(ステップS104)。制御部104から、撮像を開始する制御信号を受信した撮像装置200は、予め定められた周期毎に撮像画像を生成し、生成した撮像画像を定期的に画像取得部105に供給する。
撮像装置200により撮像が開始されると、制御部104は、制御回数の変数iを初期化する(ステップS105)。
制御部104は、制御回数の変数iをインクリメントし(ステップS106)、制御回数iの制御情報に基づいて、照明装置300の制御を行う(ステップS107)。例えば、制御部104は、図4の制御回数1の制御情報に基づき、20個全ての照明装置300に、発光強度50%で発光する制御信号を送信する。制御信号を受信した照明装置300は、制御信号受信時から遅延時間経過後、発光強度50%で発光する。
画像取得部105は、制御情報に基づいて発光する照明装置300が設置された空間の画像を取得する(ステップS108)。具体的には、画像取得部105は、撮像装置200により定期的に供給される撮像画像の中から、照明装置300の遅延時間を考慮して、制御回数iの制御情報に対応する画像を取得する。
制御部104は、画像取得部105により画像が取得されると、変数iが決定部102により決定された制御回数と等しいか否か判断する(ステップS109)。制御部104が、変数iと制御回数とが等しいと判断すると(ステップS109;Yes)、特定部106が、制御情報と取得された画像とに基づいて、識別情報により識別される照明装置300の空間内における設置位置を特定する(ステップS110)。一方、制御部104が、変数iと制御回数とが等しくないと判断すると(ステップS109;No)、ステップS106からステップS108の処理を繰り返す。
例えば、前述の例において、変数i=2の場合、制御部104は、制御回数2の制御情報に基づいて、照明装置300を制御し、画像取得部105は、制御回数2の制御情報に基づいて発光している照明装置300を含む画像を取得する。また、例えば、変数i=6の場合、特定部106が設置位置を特定する処理を開始する。特定部106は、取得された画像501〜506から求めた輝度値変化領域における発光の時系列パターンと、図4に示す発光の内容の時系列パターンとから、照明装置300の設置位置を特定する。特定部106は、特定された設置位置を示す情報が記された図7のテーブルを生成し、フラッシュメモリ14に格納する。
そして、提示部107は、照明装置300の空間内における設置位置をユーザに提示する(ステップS111)。具体的には、提示部107は、図8に示すような、照明装置300に付与されたIDを示すラベル601〜620が含まれる画像600をユーザに提示する。
本実施形態によれば、グループ分けされた照明装置毎に発光を制御することにより、設置位置を特定するための処理の回数を抑制することができ、これにより、識別情報により識別される照明装置の設置位置を速やかに特定することができる。
また、本実施形態において、取得された画像は、全ての照明装置300が発光強度50%又は100%で点灯している期間に撮像された画像である。このため、基準画像を生成したときの撮像装置200の位置又は角度と、他の画像を生成したときの撮像装置200の位置又は角度とにずれが生じた場合であっても、基準画像と他の画像との位置合わせが容易である。
また、撮像装置200は、画像全体の輝度値に応じて、露光時間、ゲイン等のパラメータを自動で調整し、ユーザがこのパラメータを調整できない装置である場合がある。上記のパラメータが自動で調整されると、基準画像と他の画像との間で、輝度値の比較が正常にできないという不具合が生じる場合がある。しかし、このような撮像装置200を採用した場合であっても、本実施形態の基準画像と他の画像との違いは、照明装置300の発光強度が50%であるか100%であるかの違いであり、全体の輝度値は大きく異ならないため、本実施形態によればそのような不具合が生じることを防ぐことができる。
(変形例)
以上、本発明の実施形態を説明したが、本発明を実施するにあたっては、種々の形態による変形及び応用が可能である。
上記実施形態において、基準画像を、全ての照明装置300がグループに対応付けられる発光強度のうち低い発光強度で発光している場合に撮像された画像としたが、これに限らない。基準画像を、高い発光強度で発光される場合に撮像された画像としてもよい。
また、上記実施形態において、決定部102は、制御回数を“logNM+1”以上の最小の整数と決定したが、これに限らない。基準画像が予め用意されている場合は、決定部102は、制御回数を“logNM”以上の最小の整数と決定してもよい。
また、上記実施形態において、照明装置300が調光の機能を有する場合について説明したが、照明装置300は調色機能を有してもよい。この場合、決定部102は、照明装置300の調色の機能に基づいて、グループの数を決定してもよい。
例えば、照明装置300の色温度を、27000K(電球色)、65000K(昼光色)の2段階で調節できるものとすると、照明装置300が調節可能な色温度が27000K、65000Kであるというデータは、性能情報データ14bとして記憶されている。決定部102は、性能情報データ14bを参照して、照明装置300の色温度の個数“2”を求め、その個数をグループの数“2”と決定する。
調色の機能に基づいてグループの数を決定した場合、制御情報に含まれる発光の内容は、色温度を示すものとする。例えば、符号“1”は、照明装置300を色温度27000Kで発光させることを示し、符号“2”は、照明装置300を色温度65000Kで発光させることを示す。
また、決定部102は、調光及び調色の両方の機能に基づいてグループ数を決定してもよい。例えば、制御部104が、照明装置300の発光強度を50%、100%の2段階で調節でき、照明装置300の色温度を27000K、65000Kの2段階で制御できるとすると、決定部102は、グループの数を4(=2×2)と決定する。
両方の機能に基づいてグループの数を決定した場合は、制御情報に含まれる発光の内容は、発光強度及び色温度を示すものとする。例えば、生成部103は、発光強度50%を符号“1”、発光強度100%を符号“2”、色温度27000Kを符号“3”、色温度65000Kを符号“4”に対応付けた制御情報を生成する。
また、調色の機能に基づいてグループの数を決定する場合、特定部106は、輝度値に基づいて照明装置300の設置位置を特定するのではなく、色温度の差に基づいて照明装置300の設置位置を特定するようにしてもよい。また、調光及び調色の機能に基づいてグループの数を決定する場合、特定部106は、輝度値の差及び色温度の差に基づいて照明装置300の設置位置を特定するようにしてもよい。
また、上記実施形態において、照明装置300の発光強度を50%及び100%に制御する場合について説明したが、これに限らず、任意の発光強度を、任意の数だけ採用することができる。照明装置300の色温度についても、色温度は27000K及び65000Kに限らず、任意の色温度を、任意の数だけ採用することができる。グループに割り当てられる発光強度又は色温度の差を小さく設定することにより、グループの数を増加することができる。ただし、グループに割り当てられる発光強度又は色温度は、互いに予め定められた閾値以上の差があることが望ましい。閾値は、例えば、発光強度であれば数十%、色温度であれば数万K等である。なお、撮像装置200の性能により、グループに割り当てられる発光強度又は色温度の差を小さくすることができる。
また、上記実施形態において、1つの撮像装置200により撮像された画像に基づいて設置位置を特定したが、これに限らず、2以上の撮像装置200により撮像された画像に基づいて設置位置を特定することも可能である。この場合、2以上の撮像装置200により撮像された画像において、共通して撮像される照明装置300を予め特定しておけば、上記実施形態と同様の処理により設置位置の特定が可能である。このように、2以上の撮像装置200を用いることにより、照明装置300が設置される空間内に柱のような障害物が存在したり、室内の間取りにより、一枚の画像に全ての照明装置300が含まれない場合であっても、全ての照明装置300の設置位置を特定することができる。
また、実施形態に係る照明装置300は、発光機能を有する全ての装置を含む。したがって、設置位置特定装置100は、発光機能を有する装置であれば、その装置の設置位置を特定することができる。
実施形態に係る設置位置特定装置100の動作を規定する動作プログラムを既存のパーソナルコンピュータ又は情報端末装置に適用することで、当該パーソナルコンピュータ又は情報端末装置を実施形態に係る設置位置特定装置100として機能させることも可能である。
また、このようなプログラムの配布方法は任意であり、例えば、CD−ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、メモリカード等のコンピュータ読み取り可能な記録媒体に格納して配布してもよいし、インターネットのような通信ネットワークを介して配布してもよい。
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。