JP2017058817A - 情報処理装置、プログラム及び記録媒体 - Google Patents
情報処理装置、プログラム及び記録媒体 Download PDFInfo
- Publication number
- JP2017058817A JP2017058817A JP2015181577A JP2015181577A JP2017058817A JP 2017058817 A JP2017058817 A JP 2017058817A JP 2015181577 A JP2015181577 A JP 2015181577A JP 2015181577 A JP2015181577 A JP 2015181577A JP 2017058817 A JP2017058817 A JP 2017058817A
- Authority
- JP
- Japan
- Prior art keywords
- clustering
- light
- feature amount
- cluster
- information processing
- 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.)
- Pending
Links
Images
Landscapes
- Position Input By Displaying (AREA)
Abstract
【課題】盤面に対して指示動作を行う指示部により指示された座標を検出する場合において、コストを抑えつつ、両手の手指による操作の操作位置を適切に検出する。【解決手段】座標検出システム500は、ディスプレイ200の盤面に対してなされる両手の手指による指示動作の座標を検出する場合に、周辺発光部から照射されディスプレイの盤面上を進む光をコンピュータ100の検出部11a〜11dにより受光し、検出制御部131が、検出部の受光光量を入射方向と対応付けて取得し、遮断領域抽出部132が、受光光量が所定の基準を下回る遮断領域を抽出し、遮断領域特徴量算出部133が、その特徴量を算出し、遮断領域クラスタリング部134が各遮断領域の特徴量に基づきその各遮断領域をクラスタリングする。三角測量部136が、クラスタリングにより得られた各クラスタの特徴量に基づき、指示操作の座標を算出する。【選択図】図3
Description
この発明は、情報処理装置、プログラム及び記録媒体に関する。
従来から、ディスプレイ画面と座標入力装置とを一体化し、ディスプレイ画面上をタッチしながらディスプレイ画面に表示される画像を制御することができるタッチパネル付きディスプレイ装置が知られている。また、このような装置において、再帰反射部材と光学ユニットを用いて、光学的に座標入力面に対してなされた操作の位置の方向を、2つの異なる位置に設けたセンサからそれぞれ検知して、その検知結果に基づき操作位置の座標を算出する技術が知られている。
このような技術については例えば特許文献1に記載がある。
このような技術については例えば特許文献1に記載がある。
しかし、上述したような従来の光学式座標入力装置では、両手でタッチを行った場合に複数の指の影が重なり合ってしまうと、タッチを正しく検出できなかった。このため、両手を使ったジェスチャ操作の機能を設けることができないという問題があった。
この点について、操作位置を検出するための光学センサの数を増やすことにより、検出可能なタッチ点の数は増えるが、複数の指の影が重なり合ってしまった場合はタッチを正しく検出できないという問題は残る。また、コストも上がってしまう。
この点について、操作位置を検出するための光学センサの数を増やすことにより、検出可能なタッチ点の数は増えるが、複数の指の影が重なり合ってしまった場合はタッチを正しく検出できないという問題は残る。また、コストも上がってしまう。
静電容量方式のセンサを用いた場合は入力可能なタッチ点数は増え、両手でのタッチを検出することはできるが、よりいっそうコストが上がってしまう。また、アレイ状の光学センサを用いた場合、入力可能なタッチ点数は増えるが、複数の指の影の重なりによる誤検出を十分に低減することはできない。
また、特許文献1にも、2つの指示具が重なっても安定して精度劣化の少ない座標入力を行うことを目的とした技術が開示されているが、この構成であっても、両手の10本の手指のように、多数のタッチが同時になされる場合、その操作位置を正しく検出することは難しい。
また、特許文献1にも、2つの指示具が重なっても安定して精度劣化の少ない座標入力を行うことを目的とした技術が開示されているが、この構成であっても、両手の10本の手指のように、多数のタッチが同時になされる場合、その操作位置を正しく検出することは難しい。
この発明は、以上のような問題を解決し、盤面に対して指示動作を行う指示部により指示された座標を検出する場合において、コストを抑えつつ、両手の手指による操作の操作位置を適切に検出できるようにすることを目的とする。なお、全ての手指による操作位置を個別に検出できることまでは要しない。
この発明の情報処理装置は、上記の目的を達成するため、盤面に対して指示動作を行う指示部により指示された座標を検出する情報処理装置において、所定の光源から照射され上記盤面上を進む光を受光する受光手段と、上記受光手段の受光光量を、入射方向と対応付けて取得する光量取得手段と、上記光量取得手段が取得した受光光量が所定の基準を下回る遮断領域を抽出しその特徴量を算出する特徴量算出手段と、上記特徴量算出手段が算出した各遮断領域の特徴量に基づき、その各遮断領域をクラスタリングするクラスタリング手段と、上記クラスタリング手段により得られた各クラスタの特徴量に基づき、上記指示部により指示された座標を算出する座標算出手段とを設けたものである。
上記構成によれば、盤面に対して指示動作を行う指示部により指示された座標を検出する場合において、コストを抑えつつ、両手の手指による操作の操作位置を適切に検出できるようにすることができる。
以下、この発明の実施形態について、図面を参照しつつ説明する。
図1は、この発明の情報処理装置の一実施形態であるコンピュータ100を含む座標検出システムのシステム構成図の一例である。
座標検出システム500は、ディスプレイ200、4つの検出部11a〜11d(任意の1つ以上検出部を示す場合は、単に検出部11という)、4つの周辺発光部15a〜15d(任意の1つ以上検出部を示す場合は、単に周辺発光部15という)、コンピュータ100、及び、付加的な要素としてPC(Personal Computer)300を有している。
図1は、この発明の情報処理装置の一実施形態であるコンピュータ100を含む座標検出システムのシステム構成図の一例である。
座標検出システム500は、ディスプレイ200、4つの検出部11a〜11d(任意の1つ以上検出部を示す場合は、単に検出部11という)、4つの周辺発光部15a〜15d(任意の1つ以上検出部を示す場合は、単に周辺発光部15という)、コンピュータ100、及び、付加的な要素としてPC(Personal Computer)300を有している。
4つの周辺発光部15a〜15dはディスプレイ200の周囲に配置されているか、着脱可能に装着されている。コンピュータ100にはPCが接続されており、コンピュータ100はPC300が出力した映像をディスプレイ200に表示することができる。
コンピュータ100には座標検出システム500に対応したアプリケーションがインストールされており、アプリケーションは検出部11からの信号に基づきユーザが操作した位置を検出する。アプリケーションはその操作位置に基づきジェスチャを解析し、コンピュータ100を制御する。この制御を、本明細書では「ジェスチャ操作」と呼ぶ。なお、アプリケーションは、操作用のメニューをディスプレイ200に表示することができる。
コンピュータ100には座標検出システム500に対応したアプリケーションがインストールされており、アプリケーションは検出部11からの信号に基づきユーザが操作した位置を検出する。アプリケーションはその操作位置に基づきジェスチャを解析し、コンピュータ100を制御する。この制御を、本明細書では「ジェスチャ操作」と呼ぶ。なお、アプリケーションは、操作用のメニューをディスプレイ200に表示することができる。
例えば、ユーザが線を描画するメニューに触れた後、指示具13でディスプレイ200の盤面に図形を描画した場合、コンピュータ100は指示具13が触れている位置をリアルタイムに解析して、時系列の座標を作成する。コンピュータ100は時系列の座標を接続して線を作成しディスプレイ200に表示する。図ではユーザが三角形の形状に沿って指示具13を移動させたため、コンピュータ100は一連の座標を1つのストローク(三角形)として記録する。そして、PC300の画像と合成してディスプレイ200に表示する。
このように、ディスプレイ200がタッチパネル機能を有していなくても、座標検出システム500を適用することで、ユーザは指示具13でディスプレイ200に触れるだけで様々な操作が可能になる。ここでは、後述するように、ユーザは指示具13を用いなくても手指で位置を入力できる。
図2は、コンピュータ100のハードウェア構成図の一例を示す。
コンピュータ100は、市販の情報処理装置又は座標検出システム用に開発された情報処理装置である。コンピュータ100は、アドレスバスやデータバス等のバスライン118を介して電気的に接続されたCPU101、ROM102、RAM103、SSD(Solid State Drive)104、ネットワークコントローラ105、外部記憶コントローラ106、センサコントローラ114、GPU112、及び、キャプチャデバイス111を有している。
コンピュータ100は、市販の情報処理装置又は座標検出システム用に開発された情報処理装置である。コンピュータ100は、アドレスバスやデータバス等のバスライン118を介して電気的に接続されたCPU101、ROM102、RAM103、SSD(Solid State Drive)104、ネットワークコントローラ105、外部記憶コントローラ106、センサコントローラ114、GPU112、及び、キャプチャデバイス111を有している。
CPU101はアプリケーションを実行して座標検出システム500の動作全体を制御する。ROM102にはIPL(Initial Program Loader)等が記憶されており、主に起動時にCPU101が実行するプログラムが記憶されている。RAM103は、CPU101がアプリケーションを実行する際のワークエリアとなる。SSD104は、座標検出システム用のアプリケーション119や各種データが記憶された不揮発メモリである。ネットワークコントローラ105は、不図示のネットワークを介してサーバなどと通信する際に通信プロトコルに基づく処理を行う。なお、ネットワークは、LAN又は複数のLANが接続されたWAN(例えばインターネット)などである。
外部記憶コントローラ106は、着脱可能な外部メモリ117に対する書き込み又は外部メモリ117からの読み出しを行う。外部メモリ117は、例えばUSB(Universal Serial Bus)メモリ、SDカードなどである。キャプチャデバイス111は、PC300が表示装置301に表示している映像を取り込む(キャプチャする)。GPU(Graphics Processing Unit)112は、ディスプレイ200の各ピクセルの画素値を演算する描画専用のプロセッサである。ディスプレイコントローラ113は、GPU112が作成した画像をディスプレイ200に出力する。
センサコントローラ114には、4つの検出部11a〜11dが接続されており、赤外線光遮断またはペン発光方式による三角測量方式による座標の検出を行う。詳しくは後述する。
センサコントローラ114には、4つの検出部11a〜11dが接続されており、赤外線光遮断またはペン発光方式による三角測量方式による座標の検出を行う。詳しくは後述する。
なお、本実施形態では、コンピュータ100は指示具13と通信する必要はないが、通信機能を有していてもよい。この場合、図示するようにコンピュータ100は電子ペンコントローラ116を有し、指示具13から押圧信号を受信する(指示具13が通知手段を有している場合)。これにより、コンピュータ100は先端が押圧されているか否かを検出することができる。
なお、座標検出システム用のアプリケーションは、外部メモリ117に記憶された状態で流通されてもよいし、ネットワークコントローラ105を介して不図示のサーバからダウンロードされてもよい。アプリケーションは圧縮された状態でも実行形式でもよい。
なお、座標検出システム用のアプリケーションは、外部メモリ117に記憶された状態で流通されてもよいし、ネットワークコントローラ105を介して不図示のサーバからダウンロードされてもよい。アプリケーションは圧縮された状態でも実行形式でもよい。
以上の構成を備える本実施形態の座標検出システムにおいて特徴的な点は、ユーザがディスプレイ200の盤面に対して、両手の手指を指示部として用いて指示動作を行った場合でも、その指示動作により指示された座標を検出できる点である。ただし、手指全ての座標を個別に検出するとは限らず、基本的には、両手の10本の指を同時に使って指示動作がなされた場合でも、右手による指示動作の位置と左手による指示動作の位置とを区別できるようにすることに主眼を置いている。以下、この検出のための動作について詳細に説明する。
図3は、座標検出システム500が備える、各検出部11の検出信号に基づきディスプレイ200中で指示操作がなされた座標を検出するための機能の構成を示す図である。
図3において、破線Aで囲われた領域内の10箇所の丸印が、両手の10本の手指による指示動作の位置の例を示す。
図3において、破線Aで囲われた領域内の10箇所の丸印が、両手の10本の手指による指示動作の位置の例を示す。
図3に示すように、座標検出システム500は、検出制御部131、遮断領域抽出部132、遮断領域特徴量算出部133、遮断領域クラスタリング部134、クラスタリング領域特徴量算出部135、および三角測量部136の機能を備える。これらの機能は、コンピュータ100においてCPU101がアプリケーション119を実行することにより実現されるものである。
上記のうち検出制御部131は、各検出部11を制御して、周辺発光部15の光源から照射されディスプレイ200の盤面上を進み検出部11に入射する入射光の受光光量を、その入射方向と対応付けて取得する光量取得手段の機能を備える。この受光光量の取得は、各検出部11a〜11dについて個別に行う。特に断らない限り、以降に説明する各部も、各検出部11a〜11dから取得した受光光量を、検出部毎に別に処理する。また、受光方向を変化させる範囲は、指示操作がなされた座標を検出したい範囲とすればよい。受光方向を変化させるに当たり、各検出部11そのものを駆動する必要はなく、例えばイメージセンサの所定画素範囲(1画素でもよい)毎に異なる方向からの入射する光を結像させ、各所定画素範囲で検出した光量を、対応する入射方向からの入射光の受光光量とすることが考えられる。また、受光光量は、輝度値として取得してもよい。
遮断領域抽出部132は、検出制御部131が取得した各入射方向の受光光量に基づき、受光光量が所定の基準を下回る遮断領域を抽出する機能を備える。例えば、各入射方向について、盤面上に何ら障害物がない場合の光量を標準光量として予め記憶しておき、その標準光量に対する検出光量の比率が連続して40%といった所定の閾値を下回った入射方向の範囲を、遮断領域として抽出することが考えられる。また、遮断領域抽出部132は、抽出した遮断領域を相互に区別できるよう、識別番号等によりラベリングする。
従って、例えば、盤面に対して10本の手指による指示操作がなされると、各手指により光が遮られる方向が、図5に示す遮断領域R(0)〜R(6)のように、多数の遮断領域として抽出される。図5において、縦軸が受光光量(あるいは輝度値)であり、横軸が入射方向である。
なお、検出部11から見て同じ方向に複数の手指が重なる場合もあるため、指示操作に用いた手指の数が多い場合、それよりも少ない数の遮断領域が抽出されることが通常である。図5の例では、遮断領域は7つあるが、最初の4つの遮断領域R(0)〜R(3)が左手によるものであり、残りの3つの遮断領域R(4)〜R(6)が右手によるものである。また、各遮断領域は、入射角度の一方向への変化(単調増加あるいは単調減少)につれて番号が大きくなるようにラベリングし、後述のクラスタリング処理においてこの番号順でクラスタへの分類対象とするとよい。
次に、遮断領域特徴量算出部133は、遮断領域抽出部132が抽出した各遮断領域の特徴量を算出する機能を備える。算出する特徴量は、例えば、光量重心座標、遮断領域の光量軸方向の幅(縦幅)、入射方向軸方向の幅(横幅)、遮断領域のピクセル数、隣の遮断領域との距離(例えば遮断領域の光量重心間の距離として定義)、遮断領域の端点(左端点及び右端点)などが挙げられ、これらの値はクラスタリングや必要があれば外れ値の除去などに用いる。この遮断領域特徴量算出部133は、遮断領域抽出部132と合わせて特徴量算出手段として機能する。
遮断領域クラスタリング部134は、遮断領域特徴量算出部133が算出した各遮断領域の特徴量に基づき、その各遮断領域をクラスタリングするクラスタリング手段の機能を備える。このクラスタリングは、例えば各遮断領域の横幅及び隣の遮断領域との距離に基づき行うことができるが、その詳細については後述する。
クラスタリング領域特徴量算出部135は、遮断領域クラスタリング部134によるクラスタリングで得られた各クラスタが存在するクラスタリング領域の特徴量を算出する機能を備える。クラスタリング領域の特徴量は、クラスタの特徴量でもある。また、クラスタの特徴量としては、例えばクラスタリング領域の光量重心、クラスタリング領域の端点(左端点及び右端点)、クラスタリング領域間の距離(例えばクラスタリング領域の光量重心間の距離として定義)などを算出することが考えられる。しかし、クラスタリング領域特徴量算出部135は、三角測量部136に提供する特徴量のみを算出すれば足りる。
三角測量部136は、クラスタリング領域特徴量算出部135が算出した各クラスタリング領域の光量重心(図5の横軸である入射方向軸上の特定の位置、すなわち特定の入射角を示す値である)から、三角測量の要領で、盤面上で指示操作のなされた座標を算出する座標算出手段の機能を備える。また、その結果をPC300に提供し、種々の制御に使用させる機能も備える。
なお、指示操作の座標を算出するに当たっては、各クラスタリング領域の光量重心と対応する入射方向を、検出部11から見て、該当クラスタに分類された指示操作のなされた方向であるとする。従って、2対上の検出部11から取得した受光光量に基づきそれぞれ指示操作のなされた方向を特定できれば、それらに基づき三角測量の要領で、盤面上で指示操作のなされた座標を求めることができる。この座標を求めるアルゴリズムについては、例えば特開2015−56064号公報あるいは特開2015−118426号公報に記載のものを採用することができる。
クラスタが複数ある場合、必要な数の検出部11から取得した受光光量に基づきそれぞれその各クラスタと対応する指示操作の方向を特定し、それらの情報に基づいて各クラスタと対応する指示操作のなされた座標を求めればよい。従って、例えば両手の手指による指示操作で生じた遮断領域を検出し、これを左手による操作に係るクラスタと右手による操作に係るクラスタとに分離できれば、各クラスタの特徴量を用いて、左手による指示操作の座標と右手による指示操作の座標とをそれぞれ算出できることになる。
次に、図4に、図3に示した各部の機能により指示操作の座標を特定する処理のフローチャートを示す。この処理は、コンピュータ100のCPU101が定期的に実行するものである。
図4の処理において、CPU101はまず、各検出部11を制御して、検出部11に入射する入射光の受光光量を、入射方向毎に、その入射方向と対応付けて取得する(S11)。この処理は、検出制御部131の機能と対応するものである。
図4の処理において、CPU101はまず、各検出部11を制御して、検出部11に入射する入射光の受光光量を、入射方向毎に、その入射方向と対応付けて取得する(S11)。この処理は、検出制御部131の機能と対応するものである。
次に、CPU101は、ステップS11で取得した各入射方向の受光光量に基づき、受光光量が所定の基準を下回る遮断領域を抽出し、ラベリングする(S12)。この処理は、遮断領域特徴量算出部133の機能と対応するものである。
次に、CPU101は、ステップS12でラベリングした各遮断領域の特徴量を算出する(S13)。ここでは、各遮断領域の横幅及び隣の遮断領域との距離を算出すればよい。この処理は、遮断領域特徴量算出部133の機能と対応するものである。
次に、CPU101は、ステップS12でラベリングした各遮断領域の特徴量を算出する(S13)。ここでは、各遮断領域の横幅及び隣の遮断領域との距離を算出すればよい。この処理は、遮断領域特徴量算出部133の機能と対応するものである。
次に、CPU101は、ステップS13で算出した各遮断領域の特徴量に基づき、その各遮断領域をクラスタリングする(S14)。このクラスタリングのアルゴリズムとしては、例えば図6あるいは図11に示すものを採用できる。これらの処理の特性については後に詳述する。この処理は、遮断領域クラスタリング部134の機能と対応するものである。
次に、CPU101は、ステップS14のクラスタリングで得られた各クラスタの特徴量を算出する(S15)。ここでは、各クラスタが存在するクラスタリング領域の光量重心を求めればよい。この処理は、クラスタリング領域特徴量算出部135の機能と対応するものである。
次に、CPU101は、ステップS15で算出した各クラスタリング領域の光量重心から、三角測量の要領で、盤面上で指示操作のなされた座標を算出する(S16)。この処理は、三角測量部136の機能と対応する。
次に、CPU101は、ステップS15で算出した各クラスタリング領域の光量重心から、三角測量の要領で、盤面上で指示操作のなされた座標を算出する(S16)。この処理は、三角測量部136の機能と対応する。
以上の処理により、CPU101は、盤面上に両手の手指による指示操作がなされた場合でも、その指示操作がなされた座標を算出することができる。なお、以上の処理では、指示操作が1箇所のみになされた場合でもその座標を算出できるし、指示操作が全くなされていない場合には、遮断領域が抽出されないことを通じてその旨を検出できる。
次に、図6に、図4のステップS14で実行するクラスタリングの処理の一例のフローチャートを示す。
図6の処理において、CPU101はまず、変数Nと変数Mにそれぞれ0を代入する(S21)。その後、遮断領域R(N)(すなわちR(0))が存在するか否か判断する(S22)。ここでNoであれば、遮断領域が1つもないことになるので、クラスタリングを行わずに処理を終了する。この場合、図4の処理では、指示操作は行われていない、という結果になる。
図6の処理において、CPU101はまず、変数Nと変数Mにそれぞれ0を代入する(S21)。その後、遮断領域R(N)(すなわちR(0))が存在するか否か判断する(S22)。ここでNoであれば、遮断領域が1つもないことになるので、クラスタリングを行わずに処理を終了する。この場合、図4の処理では、指示操作は行われていない、という結果になる。
一方、ステップS22でYesであると、CPU101は、クラスタC(M)(すなわち1番目のクラスタC(0))のサイズを1インクリメントする(S23)。なお、クラスタの初期サイズは0であるとする。
次に、CPU101は、遮断領域R(N)(初めはR(0))を、クラスタC(M)(初めはC(0))にクラスタリングする(S24)。その後、クラスタC(M)のサイズが閾値未満であるか否か判断する(S25)。
次に、CPU101は、遮断領域R(N)(初めはR(0))を、クラスタC(M)(初めはC(0))にクラスタリングする(S24)。その後、クラスタC(M)のサイズが閾値未満であるか否か判断する(S25)。
ステップS25での閾値は、1つのクラスタに分類したい一群の指示部のうち、検出部11から見て他の指示部の後ろに隠れずに見える指示部の数に応じた値とするとよい。例えば、両手の手指を指示部とし、左手の手指と右手の手指を別々のクラスタに分類したい場合、検出部11から見て、片手の手指のうち他の手指の後ろに隠れずに見える手指の数がいくつであるかを考えればよい。発明者による実験(実測)に基づいて、この数は4であることが多いと判明しているため、ここでは閾値の値を4とする。
ステップS25でYesの場合、CPU101は次に、次の遮断領域R(N+1)が存在するか否か判断する(S26)。これが存在すれば、遮断領域R(N)と遮断領域R(N+1)との間の距離を算出する(S27)。その距離が所定の閾値よりも大きければ(S28のYes)、Mを1インクリメントする(S29)。すなわち、今までのクラスタへの遮断領域のクラスタリングを終了し、次のクラスタについてのクラスタリングを開始する。ステップS28でNoであれば、ステップS29はスキップする。
ステップS28及びS29の処理は、隣接する遮断領域間の距離が離れている場合に、同じ手の手指による遮断領域ではないと判断して、以後の遮断領域を別のクラスタに分類するためのものである。従って、ステップS28で用いる閾値は、片手の手指により生じる複数の遮断領域間の間隔として考えられない程度の値とするとよい。
次に、CPU101は、遮断領域R(N)の幅に応じてクラスタC(M)のサイズをインクリメントする(S30)。この処理は、より詳細には図7に示すものであり、遮断領域R(N)の横幅W(N)を、5つの閾値T1〜T5と比較し、クラスタC(M)のサイズを、以下のようにインクリメントするものである。
(a)W(N)<T1のとき、1インクリメント
(b)T1≦W(N)<T2のとき、2インクリメント
(c)T2≦W(N)<T3のとき、3インクリメント
(d)T3≦W(N)<T4のとき、4インクリメント
(e)T4≦W(N)<T5のとき、5インクリメント
(f)以上のいずれでもないとき、何もしない
(a)W(N)<T1のとき、1インクリメント
(b)T1≦W(N)<T2のとき、2インクリメント
(c)T2≦W(N)<T3のとき、3インクリメント
(d)T3≦W(N)<T4のとき、4インクリメント
(e)T4≦W(N)<T5のとき、5インクリメント
(f)以上のいずれでもないとき、何もしない
遮断領域は、複数本分の手指と対応する領域が1つにつながって形成される場合もある。このような場合にも遮断領域の数は1つであるが、上述したように片手の手指と対応する遮断領域を1つのクラスタに分類しようとする場合、サイズを1と数えたのでは適切なカウントとは言えない。そこで、複数本分の手指と対応する領域が1つにつながったような、横幅の広い遮断領域については、複数本文のサイズとしてカウントするようにしたのが、図7の処理である。従って、T1は1本の手指により形成される遮断領域の幅の上限を示す値、T2は2本の手指により形成される遮断領域の幅の上限を示す値、といったように上記各閾値T1〜T5を定めるとよい。
図6の説明に戻ると、CPU101は、ステップS30の後、Nを1インクリメントして(S31)、次の遮断領域を分類対象としてステップS24に戻り、処理をくり返す。
また、ステップS25でNoとなると、CPU101は、まだクラスタリングしていない遮断領域を全て、現在分類先としているものの次のクラスタC(M+1)にクラスタリングし(S32)、処理を終了する。
また、ステップS26でNoの場合、全ての遮断領域についてクラスタリングが済んだことになるので、処理を終了する。
以上で図6の説明を終了する。
また、ステップS25でNoとなると、CPU101は、まだクラスタリングしていない遮断領域を全て、現在分類先としているものの次のクラスタC(M+1)にクラスタリングし(S32)、処理を終了する。
また、ステップS26でNoの場合、全ての遮断領域についてクラスタリングが済んだことになるので、処理を終了する。
以上で図6の説明を終了する。
次に、図6の処理によるクラスタリングのいくつかの具体例について説明する。
まず、図8Aに示す、ディスプレイ200の盤面に対し、領域401に左手の手指による指示操作が、領域402に右手の手指による指示操作がなされた場合を考える。この場合、四隅のどの検出部11から見ても、左手の手指の位置と右手の手指の位置は、破線で示す対角線の左右に分かれ、重なることはない。
従って、遮断領域は例えば図8Bに示すように、左手の手指による遮断領域R(0)〜R(3)と、右手の手指による遮断領域R(4)〜R(6)とが分かれて抽出される。
まず、図8Aに示す、ディスプレイ200の盤面に対し、領域401に左手の手指による指示操作が、領域402に右手の手指による指示操作がなされた場合を考える。この場合、四隅のどの検出部11から見ても、左手の手指の位置と右手の手指の位置は、破線で示す対角線の左右に分かれ、重なることはない。
従って、遮断領域は例えば図8Bに示すように、左手の手指による遮断領域R(0)〜R(3)と、右手の手指による遮断領域R(4)〜R(6)とが分かれて抽出される。
この遮断領域に対して図6の処理を適用することを考える。全ての遮断領域の幅は、閾値T1未満であるとすると、ステップS23の後、ステップ24〜S31を3回繰り返し、さらにステップS24をもう一度実行することにより、遮断領域R(0)〜R(3)がクラスタC(0)にクラスタリングされた状態で、クラスタC(0)のサイズが4となるため、ステップS25の判断がNとなる。そこで、ステップS32に進み、残りの遮断領域R(4)〜R(7)をクラスタC(1)にクラスタリングして処理を終了する。
この手順により、図8Bに示すように、左手の手指による遮断領域R(0)〜R(3)と、右手の手指による遮断領域R(4)〜R(6)とを、別々のクラスタC(0)及びC(1)にクラスタリングすることができる。
従って、これらのクラスタの特徴量に基づき、左手による指示操作の座標と右手による指示操作の座標とを分離して求めることができる。
従って、これらのクラスタの特徴量に基づき、左手による指示操作の座標と右手による指示操作の座標とを分離して求めることができる。
図9Aに示す例では、図8Aの場合よりも、領域401と領域402の位置が近接している。しかし、四隅のどの検出部11から見ても、左手の手指の位置と右手の手指の位置が重ならないことは、図8Aの場合と同様である。
従って、図9Bのように抽出される遮断領域は、図8Bの場合と同様に、左手の手指による遮断領域R(0)〜R(3)と、右手の手指による遮断領域R(4)〜R(6)とを、別々のクラスタC(0)及びC(1)にクラスタリングすることができる。
従って、図9Bのように抽出される遮断領域は、図8Bの場合と同様に、左手の手指による遮断領域R(0)〜R(3)と、右手の手指による遮断領域R(4)〜R(6)とを、別々のクラスタC(0)及びC(1)にクラスタリングすることができる。
従って、コンピュータ100は、図8Aから図9Aに至るような、両手の間隔を縮めるジェスチャを検出することができる。そして、この検出結果をPC300に送信すれば、ユーザは、両手の手指を使ってPC300をジェスチャ操作できることになる。
この機能を実現するために必要な検出部11は、既に述べたように、所定の範囲について入射方向と対応付けて受光光量を検出する機能を備えていればよく、特段に高価なものではないため、低コストで両手の手指を使ったジェスチャの検出ができると言える。
この機能を実現するために必要な検出部11は、既に述べたように、所定の範囲について入射方向と対応付けて受光光量を検出する機能を備えていればよく、特段に高価なものではないため、低コストで両手の手指を使ったジェスチャの検出ができると言える。
ただし、図6の処理では、図10Aに示すように、領域401と領域402とが1本の対角線上に乗ってしまう場合、すなわち、ある検査部11から見て、左手の手指による遮断領域と右手の手指による遮断領域とが重なってしまう場合には、適切なクラスタリングができないことがある。
ここで、図10Aに示す位置に指示操作がなされた場合の遮断領域が図10Bに示すように抽出されたとする。図10Bに示す6つの遮断領域R(0)〜R(5)は、図10Aとの対比からわかるように、左手の手指による遮断領域と右手の手指による遮断領域とがある位置を境に分かれているわけではない。しかし、図6の処理を適用すると、図8B及び図9Bの場合と同様、初めの4つの遮断領域R(0)〜R(3)と、その他の遮断領域R(4)〜R(5)とを、別々のクラスタにクラスタリングしてしまう。
従って、必ずしも片手分の手指毎のクラスタリングとはならず、各クラスタの特徴量も、左右の手による指示操作の位置を反映したものとならない。従って、図9Aの状態から図10Aの状態になるように操作を行うとすると、その間のどこかで特徴量が離散的に変化してしまうことになる。例えば両手でズーム操作を行った場合に、両手のクラスタが重なる前後で急激に拡大縮小の量が変化してしまう等である。
図11に、この点を改善したクラスタリングの処理を示す。
図11の処理は、ステップS25でNoの場合の処理が図6と異なるのみである。そして、ステップS25でNoの場合、CPU101は、次の遮断領域R(N+1)が存在するか否か判断する(S41)。これが存在しなければ、クラスタリングは終了であるので処理を終了する。一方、存在すれば、遮断領域R(N)と遮断領域R(N+1)との間の距離を算出する(S42)。
図11の処理は、ステップS25でNoの場合の処理が図6と異なるのみである。そして、ステップS25でNoの場合、CPU101は、次の遮断領域R(N+1)が存在するか否か判断する(S41)。これが存在しなければ、クラスタリングは終了であるので処理を終了する。一方、存在すれば、遮断領域R(N)と遮断領域R(N+1)との間の距離を算出する(S42)。
その距離が所定の閾値よりも大きければ(S43のYes)、次以降の遮断領域は遮断領域R(N)までと異なる指示操作に由来するものであると考えられるため、残りの遮断領域を次のクラスタC(M+1)にクラスタリングして(S44)、処理を終了する。また、ステップS43でNoであれば、逆に、異なる指示操作に由来するものでない可能性があるため、残りの遮断領域をそれまでと同じクラスタC(M)にクラスタリングする(S44)。そして、この場合、左右の手による操作指示の座標を正しく検出することはできないため、ジェスチャ操作を一時的に無効化して(S46)、処理を終了する。この無効化は、今回のクラスタリング結果に基づき算出した指示操作の座標についてのみ適用すればよい。
以上の処理によれば、図10Bのように抽出された遮断領域は、図12に示すように、全て同じクラスタC(0)にクラスタリングされる。従って、左右の手による指示操作の座標として、誤った値が算出されることを防止できる。そして、両手を使ったジェスチャ操作の誤動作を防止できる。なお、ステップS43でNoの場合にジェスチャ操作を一時的に無効化すれば、誤動作防止を一層確実にすることができる。
なお、例えば1本の手指や1つの指示具で操作がなされた場合、遮断領域は1つのみ抽出される。従って、図6の処理でも図11の処理でも、遮断領域R(0)をクラスタC(0)にクラスタリングした直後にステップS26でNoになり、クラスタリングを終了することになる。また、この場合、クラスタC(0)の特徴量は、そこに属する唯一の遮断領域R(0)の特徴量と一致する。このため、ステップS16では、遮断領域R(0)の特徴量に従って指示操作の座標を算出することができる。従って、図6の処理でも図11の処理でも、少ない数の手指や指示具による操作の検出に不都合はない。
以上で実施形態の説明を終了するが、この発明において、装置の具体的な構成、具体的な処理の手順、データの形式等は、実施形態で説明したものに限るものではない。
例えば、上述した実施形態では、指示動作の対象となる盤面の周囲に4つの周辺発光部15a〜15d及び4つの検出部11a〜11dを設ける例について説明した。しかし、これ以外にも、再帰反射板を用いる構成を採用可能である。
例えば、上述した実施形態では、指示動作の対象となる盤面の周囲に4つの周辺発光部15a〜15d及び4つの検出部11a〜11dを設ける例について説明した。しかし、これ以外にも、再帰反射板を用いる構成を採用可能である。
図13に、この場合のディスプレイ200の構成を示す。
図13の例においては、ディスプレイ200の周囲三方に再帰反射板213を設け、検出部11と対応する構成として、光遮断用照明211及び入力装置212を、二つの頂点に設ける。
そして、光遮断用照明211に備えるレーザ等の発光手段からシリンドリカルレンズを含む光学系を介して出射された光が、ディスプレイ200の表面に沿った平行光として盤面上を進行するようにする。盤面に平行に進行した光は、ディスプレイ200を囲むように配置された再帰性反射部材である再帰反射板213で再帰的に反射され、再び同一光路を辿って戻り、入力装置212に入射する。従って、手指等で盤面に対して指示動作を行うと、盤面に平行に進行した光が遮られて入力装置212に入射する光量が変化する。光遮断用照明211が、角度が異なる多数のビームを出射し、入力装置212が各角度のビームの光量を検出するようにすれば、上述した実施形態の検出部11の場合と同様、受光光量を、その入射方向と対応付けて取得することができる。
図13の例においては、ディスプレイ200の周囲三方に再帰反射板213を設け、検出部11と対応する構成として、光遮断用照明211及び入力装置212を、二つの頂点に設ける。
そして、光遮断用照明211に備えるレーザ等の発光手段からシリンドリカルレンズを含む光学系を介して出射された光が、ディスプレイ200の表面に沿った平行光として盤面上を進行するようにする。盤面に平行に進行した光は、ディスプレイ200を囲むように配置された再帰性反射部材である再帰反射板213で再帰的に反射され、再び同一光路を辿って戻り、入力装置212に入射する。従って、手指等で盤面に対して指示動作を行うと、盤面に平行に進行した光が遮られて入力装置212に入射する光量が変化する。光遮断用照明211が、角度が異なる多数のビームを出射し、入力装置212が各角度のビームの光量を検出するようにすれば、上述した実施形態の検出部11の場合と同様、受光光量を、その入射方向と対応付けて取得することができる。
また、この発明において、盤面はディスプレイ200に限らず、任意の物体として構成してよい。また、物理的な実態のない仮想的な平面を、盤面として用いることも妨げられない。
また、この発明のプログラムの実施形態は、コンピュータに所要のハードウェアを制御させて上述した実施形態におけるコンピュータ100の機能を、実現させるためのプログラムである。
このようなプログラムは、はじめからコンピュータに備えるROMや他の不揮発性記憶媒体(フラッシュメモリ,EEPROM等)などに格納しておいてもよい。しかし、メモリカード、CD、DVD、ブルーレイディスク等の任意の不揮発性記録媒体に記録して提供することもできる。それらの記録媒体に記録されたプログラムをコンピュータにインストールして実行させることにより、上述した各機能を実現させることができる。
このようなプログラムは、はじめからコンピュータに備えるROMや他の不揮発性記憶媒体(フラッシュメモリ,EEPROM等)などに格納しておいてもよい。しかし、メモリカード、CD、DVD、ブルーレイディスク等の任意の不揮発性記録媒体に記録して提供することもできる。それらの記録媒体に記録されたプログラムをコンピュータにインストールして実行させることにより、上述した各機能を実現させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部装置あるいはプログラムを記憶手段に記憶した外部装置からダウンロードし、コンピュータにインストールして実行させることも可能である。
また、以上説明してきた各実施形態及び変形例の構成は、相互に矛盾しない限り任意に組み合わせて実施可能であることは勿論である。
また、以上説明してきた各実施形態及び変形例の構成は、相互に矛盾しない限り任意に組み合わせて実施可能であることは勿論である。
11:検出部、13:指示具、15:周辺発光部、100:コンピュータ、101:CPU、102:ROM,103:RAM、104:SSD、105:ネットワークコントローラ、106:外部記憶コントローラ、114:センサコントローラ、112:GPU、111:キャプチャデバイス、116:電子ペンコントローラ、117:外部メモリ、
118:バスライン、119:アプリケーション、131:検出制御部、132:遮断領域抽出部、133:遮断領域特徴量算出部、134:遮断領域クラスタリング部、135:クラスタリング領域特徴量算出部、136:三角測量部、200:ディスプレイ、211:光遮断用照明、212:入力装置、213:再帰反射板、300:PC、301:表示装置、401,402:領域、500:座標検出システム
118:バスライン、119:アプリケーション、131:検出制御部、132:遮断領域抽出部、133:遮断領域特徴量算出部、134:遮断領域クラスタリング部、135:クラスタリング領域特徴量算出部、136:三角測量部、200:ディスプレイ、211:光遮断用照明、212:入力装置、213:再帰反射板、300:PC、301:表示装置、401,402:領域、500:座標検出システム
Claims (6)
- 盤面に対して指示動作を行う指示部により指示された座標を検出する情報処理装置であって、
所定の光源から照射され前記盤面上を進む光を受光する受光手段と、
前記受光手段の受光光量を、入射方向と対応付けて取得する光量取得手段と、
前記光量取得手段が取得した受光光量が所定の基準を下回る遮断領域を抽出しその特徴量を算出する特徴量算出手段と、
前記特徴量算出手段が算出した各遮断領域の特徴量に基づき、該各遮断領域をクラスタリングするクラスタリング手段と、
前記クラスタリング手段により得られた各クラスタの特徴量に基づき、前記指示部により指示された座標を算出する座標算出手段とを備えることを特徴とする情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記クラスタリング手段によるクラスタリングを、各クラスタに属する遮断領域のサイズに基づき行うことを特徴とする情報処理装置。 - 請求項2に記載の情報処理装置であって、
前記クラスタリング手段によるクラスタリングにおいて、対応する入射方向が単調に変化するように順次各遮断領域を対象として1つのクラスタへの分類を行い、該1つのクラスタのサイズが所定の閾値を超えた場合に、最後に分類した遮断領域とその次に分類対象とする遮断領域との間の距離に基づき、次に分類対象とする遮断領域を別のクラスタへ分類するか、残りの全遮断領域をそれまでと同じクラスタに分類するかを決定することを特徴とする情報処理装置。 - 請求項3に記載の情報処理装置であって、
前記クラスタリング手段によるクラスタリングにおいて、最後に分類した遮断領域とその次に分類対象とする遮断領域との間の距離に基づき残りの全遮断領域を同じクラスタに分類した場合に、前記座標算出手段が算出した座標に基づく操作を一時的に無効にする手段を設けたことを特徴とする情報処理装置。 - コンピュータを、盤面に対して指示動作を行う指示部により指示された座標を検出する情報処理装置として機能させるためのプログラムであって、
前記コンピュータを、
所定の光源から照射され前記盤面上を進む光を受光する受光手段を制御する制御手段と、
前記受光手段の受光光量を、入射方向と対応付けて取得する光量取得手段と、
前記光量取得手段が取得した受光光量が所定の基準を下回る遮断領域を抽出しその特徴量を算出する特徴量算出手段と、
前記特徴量算出手段が算出した各遮断領域の特徴量に基づき、該各遮断領域をクラスタリングするクラスタリング手段と、
前記クラスタリング手段により得られた各クラスタの特徴量に基づき、前記指示部により指示された座標を算出する座標算出手段として機能させるためのプログラム。 - 請求項5に記載のプログラムを格納した、コンピュータにより読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015181577A JP2017058817A (ja) | 2015-09-15 | 2015-09-15 | 情報処理装置、プログラム及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015181577A JP2017058817A (ja) | 2015-09-15 | 2015-09-15 | 情報処理装置、プログラム及び記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017058817A true JP2017058817A (ja) | 2017-03-23 |
Family
ID=58390216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015181577A Pending JP2017058817A (ja) | 2015-09-15 | 2015-09-15 | 情報処理装置、プログラム及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017058817A (ja) |
-
2015
- 2015-09-15 JP JP2015181577A patent/JP2017058817A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10019074B2 (en) | Touchless input | |
EP3234732B1 (en) | Interaction with 3d visualization | |
EP2480955B1 (en) | Remote control of computer devices | |
JP6370893B2 (ja) | 検出されたジェスチャーに基づいてデバイス動作を実行するためのシステムおよび方法 | |
KR102347248B1 (ko) | 터치 제스쳐 인식 방법 및 장치 | |
KR20150002776A (ko) | 빠른 제스처 재접속 | |
WO2012147960A1 (ja) | 情報処理装置、情報処理方法及び記録媒体 | |
KR101794148B1 (ko) | 효율적인 자유 공간 손가락 인식 | |
JP2020067999A (ja) | ジェスチャー認識に基づく仮想ユーザー・インターフェース対話の方法および関係した装置 | |
CN104423838A (zh) | 文档划分和合并方法、设备和程序 | |
US8884904B2 (en) | Touch panel apparatus, system and operation method thereof | |
JP2017058817A (ja) | 情報処理装置、プログラム及び記録媒体 | |
US9569013B2 (en) | Coordinate detection system, information processing apparatus, and recording medium | |
CN104281381B (zh) | 控制配备有触摸屏的用户界面的装置和方法 | |
JP6264003B2 (ja) | 座標入力システム、座標指示部、座標入力部、座標入力システムの制御方法、及びプログラム | |
JP2016110492A (ja) | 光学式位置情報検出装置、プログラム、対象の紐付け方法 | |
CN103221912A (zh) | 输入命令 | |
US10175825B2 (en) | Information processing apparatus, information processing method, and program for determining contact on the basis of a change in color of an image | |
KR101312805B1 (ko) | 다중 신호 처리를 위한 적외선방식 터치스크린시스템의 신호처리 방법 | |
US20150016725A1 (en) | Retrieval method and electronic apparatus | |
CN110162233B (zh) | 屏幕图标调整方法、装置、设备及计算机可读存储介质 | |
JP2015135537A (ja) | 座標検出システム、情報処理装置、座標検出方法およびプログラム | |
JP6476626B2 (ja) | 指示体判定装置、座標入力装置、指示体判定方法、座標入力方法、及びプログラム | |
JP2016048454A (ja) | 表示体、位置算出装置、情報処理方法、プログラム及び情報処理装置 | |
JP2016110299A (ja) | 座標検出システム、座標検出方法、情報処理装置およびプログラム |