手の平認識
【課題】 個別コードのない、人の両手の指10本(他者も加えると10本以上)を同時に異なった座標として認識することができ、また、指が盤面に接地する面積により、指を押し付ける圧力を検知できる装置。更に、手の平全体といった広い面積も認識することができ、これらをリアルタイムに演算処理することで、コンピュータ機器のソフトウェアのコントロールを可能にする。
【解決手段】 赤外線を満たした透明な板の表面に接する指もしくは手の平の反射光をカメラで撮像し、 その原画像から2値化処理、収縮処理、膨張処理、画像の論理積取得処理、レンズ収差の補正処理を行い、精度の高い座標情報をリアルタイムに抽出する。
【解決手段】 赤外線を満たした透明な板の表面に接する指もしくは手の平の反射光をカメラで撮像し、 その原画像から2値化処理、収縮処理、膨張処理、画像の論理積取得処理、レンズ収差の補正処理を行い、精度の高い座標情報をリアルタイムに抽出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、赤外線を使い、人の指先や手の平全体の反射光をカメラで捉えることによりリアルタイムに座標やその面積を算出し、コンピュータ機器のソフトウェアのコントロールデバイスとして使う装置である。主な技術としてはカメラで撮像した画像処理ソフトウェアであり、装置を構成するシステムと合わせて可能となる画像認識システムである。
【背景技術】
【0002】
従来、タッチパネルでは、指先の座標認識のみであり、1点、もしくは2点を同時に認識することが可能である。2点の同時認識に関しては、携帯電話などの携帯型コンピュータの操作にのみ利用されているが、画面を拡縮したりといった限られた用途にのみ使われているのが現状である。こういったタッチパネル技術は、特別な知識や鍛錬を必要としない感覚的な操作を可能としているため、一般的なコンピュータの操作技術として、広く普及を果たしている。
【0003】
カードやブロックなどの立体物の表面に特殊印刷によってコードを埋め込み、カメラを真下に配した赤外線透過素材でできた盤面などに、そのカードやブロックを複数配置して行う多点同時認識システムは、ゲームなどのエンタテインメント分野で実現されているが、操作にはそのカードやブロックが必要になる。そういったコードを埋め込んだ物を所持していない使用者は、そのデバイスを操作することができない。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−191719号公報
【特許文献2】特開2008−183212号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
個別コードのない、人の両手の指10本(他者も加えると10本以上)を同時に異なった座標として認識することができ、また、指が盤面に接地する面積により、指を押し付ける圧力を検知すること。更に、手の平全体といった広い面積も認識することができ、これらをリアルタイムに演算処理することで、コンピュータ機器のソフトウェアのコントロールを可能にする装置を低コストで提供することを目的とする。
【課題を解決するための手段】
【0006】
装置として、アクリル板やガラスといった透明な板の端面に赤外線LEDを装着し、板端面から板内部に赤外線を入れる。赤外線は、透明な板内部で反射を繰り返し、表面からは外に出ることができない。赤外線は、板の端面からのみ外に漏れるだけになる。この盤面に、指もしくは手の平を接地させると、設置した面だけに赤外線が反射し、盤面の反対側からカメラでその画像を取得することができる。
【0007】
盤面に指もしくは手の平を置き、その反対側から赤外線透過フィルタを有したカメラにて撮像すると、灰色の背景に白い手の平だけが浮き上がった画像が得られる(図1)。これが、赤外線の反射光を捉えた画像である。この画像を以下の手順による画像処理手法にて処理し、指もしくは手の平が占有している領域の情報のみを抽出することができる。
【0008】
ところで、カメラから取り込まれた1枚の画像は、それを1フレームとし、2フレーム分のメモリが用意されている。2フレーム分のメモリがあるため、アプリケーションが1つのフレームを読み込んでいる間、ライブラリ(ドライバ)は次のフレームをメモリに書き込むことが出来る。アプリケーションが読み込むフレームとライブラリが書き込むフレームのメモリが順次入れ替わることで、効率的に処理を進めることができるのである。(図2)
【0009】
下記a〜eの処理を行う。(図3)
a.レンズ収差の補正
図1ではカメラのレンズの形状と材質に起因する像のゆがみが起きている。このゆがみを補正処理し、その結果が図4となる。
【0010】
b.2値化処理
手の平以外の背景の輝度は手の平の輝度に比較して暗くなる。そこで特定の輝度を閾値とし、輝度が閾値以上の画素を白、閾値より低い輝度の画素を黒に変換することで図5のような2値化画像が得られる。
【0011】
c.収縮処理
閾値となる輝度を決定する場合には外部の照明条件の影響を避ける工夫を行う。例えば晴れた日と曇りの日では室内の明るさが変わるため、撮像する指もしくは手の平の輝度も異なることが考えられる。対象物の輝度は、盤面から出た赤外線が対象物の表面で散乱した結果と考えることが出来るので、盤面から出た赤外線の強さが2倍になれば、指もしくは手の平の輝度も2倍になると考えられる。そこで画像内の全画素の輝度を調べ、最大の輝度を100%として2値化する際の閾値を%で与えることで周囲の環境からの影響を取り除くことが可能である。
【0012】
図5に戻ると、2値化画像では手の平以外に線や点状のノイズが残っている。しかし抽出対象の手の平に比べて、個々のノイズが占める領域の面積は小さい。そこで黒の画素に隣接する白の画素を黒に置き換える処理(収縮)を複数回行う。結果は図6のように白い領域が細り、ノイズ等の面積の小さい白領域が消滅している画像が得られる。
【0013】
d.膨張処理
収縮処理により手の平の領域も細ってしまっているため、今度は収縮処理とは逆に白の画素に隣接する黒の画素を白に置き換える処理(膨張)を収縮と同じ回数だけ行う。この処理により、既に消えてしまっているノイズ領域については、種となる白の画素が存在しないため、再出現することがない。
【0014】
e.画像の論理積取得処理
手の平の領域の輪郭に着目して図5と図6を比較すると、図5で尖った輪郭部分が図7では丸みを帯びている。このように収縮・膨張処理を通すと一般に白い領域の輪郭が丸みを帯びる傾向がある。輪郭をある程度(完全である必要はない)復元するため図5の2値化画像と図7の膨張画像の論理積をとる。画像の論理積は、2つの画像の同じ位置にある画素が、両方とも白の場合のみ結果画像の画素も白とする。いずれか片方の画素が黒または両方とも黒の場合は結果画像の画素は黒とする。つまり膨張画像では白の画素であっても、2値化画像で同じ位置の画素の色が黒であればその画素の色は黒となるため、膨張によって太り気味となった手の平領域の輪郭を、2値化画像上の手の平の輪郭にそって削り出すことになる。
【0015】
a〜e処理を行った結果、図8の論理積画像が手の平認識の最終結果画像となる。この画像を使用すると特定の画素(位置)が手の平に対して、内側・外側のいずれに属しているかを画素の色を見ることで即座に判定することが出来る。また隣接する画素の色が異なれば、手の平の境界線に位置していることも簡単に判定することが可能である。
【0016】
〔0011〕から〔0015〕に至る2値化画像のc.収縮処理とd.膨張処理、そして、e.画像の論理積取得処理は、手の平を手の形として整形するために有効な手段である。人の手の平は平らではなく、関節部分はアーチ形状になっているし、また、手の平面の肉のつき方によって、盤面に押し付けた手の平は、ところどころ切れ切れになった画像になってしまう。(図13)手の平全体が盤面に密着することはなく、浮いた部分ができてしまうのである。それを補正し、手の形に見えるように成形する必要があり、そのためにも、c.収縮処理とd.膨張処理、e.画像の論理積取得処理が有効なのである。これは、精密な検知装置としての役割というよりも、使い勝手に即した処理であると言える。
【0017】
次にレンズ収差の補正の原理について説明する。
図1の原画像には手を乗せている赤外線フィルタのシートも写っている。シートの本当の形状は四隅が直角の長方形であるが、図1では長方形の4辺の中央部が外側に膨らんでおり、ちょうど樽の形に見える。これを樽型歪みと呼ぶ。樽型歪みはカメラのレンズの形状と材質に起因する像のゆがみであり、近い場所から
広い視野を見ることが可能な広角のレンズでは避けるのが特に難しい。
この歪みは一般的にはレンズ収差と呼ばれる。
【0018】
(1)レンズ収差
カメラのレンズの形状と材質に起因する像のゆがみであり、長方形の4辺の中央部が外側に膨らむ樽型歪みと逆に内側に凹む糸巻型歪みがある。(図9)
【0019】
(2)レンズ収差の補正式(歪み位置から正規の位置を求める)
手の平の位置座標を決定しようとすると、レンズ収差は精度を下げる要因となる。特に手の平が画像の周辺部に位置している場合には、実際の手の平の位置と画像上での位置の差が無視出来ないほど大きくなる。そこでレンズ収差を画像処理にて補正する。レンズは円形で回転対称であるため、レンズ収差はレンズの中心線から放射状に広がる歪みとしてモデル化することが出来る。
このモデルでは位置Dにある画素が、レンズ収差により位置Sに写り、位置O、D、Sは1直線上に並ぶ(図10)。位置Oと位置Sの画像上での距離をRs、位置Oと位置Dの画像上での距離をRdとするとレンズおよびレンズ収差は回転対称であるから、距離Rdは距離Rsのみで決定される関数となる。この関数を外部から与えれば、全画素について以下の式でレンズ収差が存在しない場合の画素の位置を求めることが出来る。
【0020】
(3)定義と式
【定義】
(xo,yo)...レンズの中心線が画像上で通る画素の位置Oのxy座標
(xs,ys)...原画像上の位置Sにある画素のxy座標
(xd,yd)...位置Dの画素のxy座標(補正後の位置)
f(r)...外部から与える関数
【式】
【0021】
(4)レンズ収差の補正式(正規位置から歪み位置を求める)
実際に補正を行う場合に上記の式を使って原画像の全画素について補正後の画素の位置を求め画像を作成すると、補正後の画像上で処理されない画素が出てきてしまう。例えば仮に外部から与える関数が以下の式の場合、原画像上の画素は補正画像上では位置Oからの距離が2倍になるため、補正画像は原画像の縦横比2倍,画素数が4倍の画像になる。
f(r)=2r
この場合、原画像の全画素について処理しても補正画像上の全画素の4分の3は処理されないで残ってしまうことになる。補正画像の画素数が原画像の画素数の4倍であるためである。そこで発想を逆転し補正後の全画素について原画像の画素の位置を逆算し、補正後の画素の色を対応する原画像の画素の色にする。
【0022】
(5)定義と式
【定義】
(xo,yo)...レンズの中心線が画像上で通る画素の位置Oのxy座標
(xs,ys)...原画像上の位置Sにある画素のxy座標
(xd,yd)...位置Dの画素のxy座標(補正後の位置)
g(r)...外部から与える関数=f(r)の逆関数
【式】
【0023】
(6)補正関数g(r)を求める方法
外部から与える関数g(r)は補正後の画素位置に対して原画像の画素位置を決定する関数であるから、あらかじめ縦横に等間隔に罫線を引いた紙等の対象物を用意してカメラで撮像し、画像を調べることで実験的に決定することが出来る。例えば罫線の交点の補正後の位置をQ,原画像上での位置をPとすると以下の式でg(r)の一つの値を計算できる。
【0024】
(7)定義と式
【定義】
(xo,yo)...レンズの中心線が画像上で通る画素の位置Oのxy座標
(xp,yp)...原画像上の罫線の交点Pの画素のxy座標
(xq,yq)...補正画像上の罫線の交点Qの画素のxy座標(※求め方は後述)
【式】
最後の式から引数Rqに対するg(r)の値Rpが1つ求まる。原画像上にある全ての罫線の交点について上記の式を適用することにより、複数の引数の値についてg(r)の値を求めることが出来る。途中の関数値については線型補間により近似的に求める。精度が足りない場合は罫線間隔を十分に密にすればよい。(図11)
任意の引数に対する関数値を求める場合、任意の引数に隣接する2つの引数r1とr2に関するg(r)の関数値をもちい、引数r(r1≦r≦r2)の関数値を求める。
【0025】
(8)補正後の罫線の交点を求める方法
補正画像上の罫線の交点の位置Qを求めるには、まず解像度を求め位置Qの座標を計算する。解像度を求めるには、レンズの中心線付近ではレンズ収差が無視出来るほど小さいため、撮影する対象物の中央付近に2点A,Bをマーキングし、あらかじめ2点間の距離を定規等で計測しておく。この対象物を撮影して原画像上での2点A,Bの距離を測定すると画像の解像度を以下の式で求めることが出来る。
【0026】
(9)定義と式
【定義】
RAB...原画像上の点A,B間の距離
MAB...対象物上の点A,B間の距離(定規による実測値)
T...解像度
【式】
【0027】
(10)Qの座標
補正画像上の罫線の交点の位置Qの座標は解像度Tを使って以下の式で求められる。
(11)定義と式
【定義】
(xo,yo)...レンズの中心線が画像上で通る画素の位置Oのxy座標
(xq,yq)...補正画像上の罫線の交点Qの画素のxy座標
(xmo,ymo)...対象物の中心のxy座標→原点(定規による実測値)
(xmq,ymq)...対象物の罫線の交点のxy座標(定規による実測値)
【式】
対象物の中心については、その点が原画像上でレンズの中心線が通る点Oに写るように撮影時に対象物を配置する。罫線の交点で対象物の中央に近い点を選んで対象物の中心と定義すると、位置合わせをしやすい。
【図面の簡単な説明】
【0028】
【図1】赤外線を満たした透明板の上に手のひらを乗せた原画像である。
【図2】アプリケーション側の処理とライブラリ(ドライバ)側の処理フロー図である。
【図3】画像処理の手順を示したフロー図である。
【図4】原画像をレンズ収差補正した画像である。
【図5】輝度が閾値以上の画素を白、閾値より低い輝度の画素を黒に変換した2値化画像である。
【図6】収縮処理を行った画像である。
【図7】膨張処理を行った画像である。
【図8】論理積を取得し処理した画像である。
【図9】レンズ収差の例の説明図である。
【図10】レンズ収差による画素の移動の説明図である。
【図11】線型近似の説明図である。
【図12】装置の全体像である。
【図13】装置のカメラ画像である。
【図14】応用例としてのドーム状装置の全体像である。
【図15】ドーム状装置での手の平の2値化画像である。
【図16】ドーム状装置での指先のみの2値化画像である。
【図17】ソフトの企画例(1)である。
【図18】ソフトの企画例(2)である。
【図19】ソフトの企画例(3)である。
【図20】ソフトの企画例(4)である。
【発明を実施するための形態】
【0029】
図12は、装置の全体像の試作画像である。盤面には5mm厚のアクリル板を利用している。左右の切断面を磨き、チップ型赤外線LEDの発光面を切断面に接して配置している。アクリル板の表面には、指もしくは手の平の滑りを良くするためのシート(PCの液晶画面の保護シートが適当)が貼ってあるために、透明なアクリル板が曇っているように見える。盤面の中心奥には、赤外線透過フィルタを内蔵させたCCDカメラを配置し、これで撮像を行っている。
【0030】
図12の試作装置は、赤外線LEDを左右各辺に8個、等間隔で配置してある。左右で合わせて16個のLEDにより、アクリル盤面全域に赤外線を満たしている。
【0031】
図13は、図12の装置によるカメラの生画像である。盤面全体が樽型に歪んでいるが、これは樽型補正処理を行う前の画像だからである。盤面全体が黒く写っているのは、赤外線が漏れ出ていないことを示している。また、左右の辺が光っているのは、装着した赤外線LEDが放つ光ると、アクリル板内で反射した赤外線が、漏れ出ていることが分かる。なお、上下の辺が光っているのも同様である。
【0032】
図14は、図12の装置の応用例として、ドーム型のアクリル板の切断面に赤外線LEDを配置し、球面に沿って赤外線を封じ込めた試作である。本試作では、チップ型赤外線LEDを6個配置している。
【0033】
図15は、図14のドーム型試作による2値化画像である。手の平全体をドーム面に押し付けると、手の平全体に赤外線が反射し、白く撮像できていることが分かる。
【0034】
図16は、図14のドーム型試作による指先だけの2値化画像である。ドームに押し付ける指の圧力により、2値化された指先の白い楕円形の面積が変わるため、指先の圧力を検知することが可能である。
【0035】
本発明を使ったコンピュータ用ソフトウェアの例として、画面に表示された楽器を、指もしくは手の平で演奏できるという企画を提案する。この意図は、多点同時認識でなければ実現できない楽器演奏を実現させることと、ボタンを押すという機械的な操作ではなく、指先でなぞったり、手の平全体で払ったりといった感覚的な操作によって、ソフトウェアを操作する例を説明したかったからである。そういった理由により、楽器のデザインは、実際にはないデザインを選択している。
【0036】
a.管楽器の演奏(図17)
ツタを伸ばして絡まるタイプの植物の花の部分が、管楽器のキーに相当するデザインである。光る花を指先や手の平の先で触ると、花がアニメーションし音が出る。同時に3ヶ所を押して和音を奏でたりといった操作が可能で、これは、従来のタッチパネルでは不可能な操作である。
【0037】
b.弦楽器の演奏(図18)
ギターのような弦楽器を模したデザインである。音を鳴らす弦を右手ではじき、左手でフレットの部分を押さえることで、音程を変えることができる。多点同時認識で左右の手で役割分担が違うタイプの操作システムである。
【0038】
c.打楽器の演奏(図19)
パーカッションを模したデザインである。この企画では、主に指先の圧力検知に主眼を置いている。盤面をたたくような操作をするのであるが、その際に、検知した指先の面積を瞬時に数値化し、その大きさによって、音量を変える試みである。
【0039】
また、本発明を使ったソフトウェア例として、指もしくは手の平を使ったお絵かきツールとしての企画を提案する。(図20)盤面上を移動させた指もしくは手の平について、取得した2値化画像の履歴を残すことで、線を描いたりすることが可能である。道具を使わず身体の一部を使った、非常に感覚的に使用することができるお絵かきツールが実現可能である。
【技術分野】
【0001】
本発明は、赤外線を使い、人の指先や手の平全体の反射光をカメラで捉えることによりリアルタイムに座標やその面積を算出し、コンピュータ機器のソフトウェアのコントロールデバイスとして使う装置である。主な技術としてはカメラで撮像した画像処理ソフトウェアであり、装置を構成するシステムと合わせて可能となる画像認識システムである。
【背景技術】
【0002】
従来、タッチパネルでは、指先の座標認識のみであり、1点、もしくは2点を同時に認識することが可能である。2点の同時認識に関しては、携帯電話などの携帯型コンピュータの操作にのみ利用されているが、画面を拡縮したりといった限られた用途にのみ使われているのが現状である。こういったタッチパネル技術は、特別な知識や鍛錬を必要としない感覚的な操作を可能としているため、一般的なコンピュータの操作技術として、広く普及を果たしている。
【0003】
カードやブロックなどの立体物の表面に特殊印刷によってコードを埋め込み、カメラを真下に配した赤外線透過素材でできた盤面などに、そのカードやブロックを複数配置して行う多点同時認識システムは、ゲームなどのエンタテインメント分野で実現されているが、操作にはそのカードやブロックが必要になる。そういったコードを埋め込んだ物を所持していない使用者は、そのデバイスを操作することができない。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−191719号公報
【特許文献2】特開2008−183212号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
個別コードのない、人の両手の指10本(他者も加えると10本以上)を同時に異なった座標として認識することができ、また、指が盤面に接地する面積により、指を押し付ける圧力を検知すること。更に、手の平全体といった広い面積も認識することができ、これらをリアルタイムに演算処理することで、コンピュータ機器のソフトウェアのコントロールを可能にする装置を低コストで提供することを目的とする。
【課題を解決するための手段】
【0006】
装置として、アクリル板やガラスといった透明な板の端面に赤外線LEDを装着し、板端面から板内部に赤外線を入れる。赤外線は、透明な板内部で反射を繰り返し、表面からは外に出ることができない。赤外線は、板の端面からのみ外に漏れるだけになる。この盤面に、指もしくは手の平を接地させると、設置した面だけに赤外線が反射し、盤面の反対側からカメラでその画像を取得することができる。
【0007】
盤面に指もしくは手の平を置き、その反対側から赤外線透過フィルタを有したカメラにて撮像すると、灰色の背景に白い手の平だけが浮き上がった画像が得られる(図1)。これが、赤外線の反射光を捉えた画像である。この画像を以下の手順による画像処理手法にて処理し、指もしくは手の平が占有している領域の情報のみを抽出することができる。
【0008】
ところで、カメラから取り込まれた1枚の画像は、それを1フレームとし、2フレーム分のメモリが用意されている。2フレーム分のメモリがあるため、アプリケーションが1つのフレームを読み込んでいる間、ライブラリ(ドライバ)は次のフレームをメモリに書き込むことが出来る。アプリケーションが読み込むフレームとライブラリが書き込むフレームのメモリが順次入れ替わることで、効率的に処理を進めることができるのである。(図2)
【0009】
下記a〜eの処理を行う。(図3)
a.レンズ収差の補正
図1ではカメラのレンズの形状と材質に起因する像のゆがみが起きている。このゆがみを補正処理し、その結果が図4となる。
【0010】
b.2値化処理
手の平以外の背景の輝度は手の平の輝度に比較して暗くなる。そこで特定の輝度を閾値とし、輝度が閾値以上の画素を白、閾値より低い輝度の画素を黒に変換することで図5のような2値化画像が得られる。
【0011】
c.収縮処理
閾値となる輝度を決定する場合には外部の照明条件の影響を避ける工夫を行う。例えば晴れた日と曇りの日では室内の明るさが変わるため、撮像する指もしくは手の平の輝度も異なることが考えられる。対象物の輝度は、盤面から出た赤外線が対象物の表面で散乱した結果と考えることが出来るので、盤面から出た赤外線の強さが2倍になれば、指もしくは手の平の輝度も2倍になると考えられる。そこで画像内の全画素の輝度を調べ、最大の輝度を100%として2値化する際の閾値を%で与えることで周囲の環境からの影響を取り除くことが可能である。
【0012】
図5に戻ると、2値化画像では手の平以外に線や点状のノイズが残っている。しかし抽出対象の手の平に比べて、個々のノイズが占める領域の面積は小さい。そこで黒の画素に隣接する白の画素を黒に置き換える処理(収縮)を複数回行う。結果は図6のように白い領域が細り、ノイズ等の面積の小さい白領域が消滅している画像が得られる。
【0013】
d.膨張処理
収縮処理により手の平の領域も細ってしまっているため、今度は収縮処理とは逆に白の画素に隣接する黒の画素を白に置き換える処理(膨張)を収縮と同じ回数だけ行う。この処理により、既に消えてしまっているノイズ領域については、種となる白の画素が存在しないため、再出現することがない。
【0014】
e.画像の論理積取得処理
手の平の領域の輪郭に着目して図5と図6を比較すると、図5で尖った輪郭部分が図7では丸みを帯びている。このように収縮・膨張処理を通すと一般に白い領域の輪郭が丸みを帯びる傾向がある。輪郭をある程度(完全である必要はない)復元するため図5の2値化画像と図7の膨張画像の論理積をとる。画像の論理積は、2つの画像の同じ位置にある画素が、両方とも白の場合のみ結果画像の画素も白とする。いずれか片方の画素が黒または両方とも黒の場合は結果画像の画素は黒とする。つまり膨張画像では白の画素であっても、2値化画像で同じ位置の画素の色が黒であればその画素の色は黒となるため、膨張によって太り気味となった手の平領域の輪郭を、2値化画像上の手の平の輪郭にそって削り出すことになる。
【0015】
a〜e処理を行った結果、図8の論理積画像が手の平認識の最終結果画像となる。この画像を使用すると特定の画素(位置)が手の平に対して、内側・外側のいずれに属しているかを画素の色を見ることで即座に判定することが出来る。また隣接する画素の色が異なれば、手の平の境界線に位置していることも簡単に判定することが可能である。
【0016】
〔0011〕から〔0015〕に至る2値化画像のc.収縮処理とd.膨張処理、そして、e.画像の論理積取得処理は、手の平を手の形として整形するために有効な手段である。人の手の平は平らではなく、関節部分はアーチ形状になっているし、また、手の平面の肉のつき方によって、盤面に押し付けた手の平は、ところどころ切れ切れになった画像になってしまう。(図13)手の平全体が盤面に密着することはなく、浮いた部分ができてしまうのである。それを補正し、手の形に見えるように成形する必要があり、そのためにも、c.収縮処理とd.膨張処理、e.画像の論理積取得処理が有効なのである。これは、精密な検知装置としての役割というよりも、使い勝手に即した処理であると言える。
【0017】
次にレンズ収差の補正の原理について説明する。
図1の原画像には手を乗せている赤外線フィルタのシートも写っている。シートの本当の形状は四隅が直角の長方形であるが、図1では長方形の4辺の中央部が外側に膨らんでおり、ちょうど樽の形に見える。これを樽型歪みと呼ぶ。樽型歪みはカメラのレンズの形状と材質に起因する像のゆがみであり、近い場所から
広い視野を見ることが可能な広角のレンズでは避けるのが特に難しい。
この歪みは一般的にはレンズ収差と呼ばれる。
【0018】
(1)レンズ収差
カメラのレンズの形状と材質に起因する像のゆがみであり、長方形の4辺の中央部が外側に膨らむ樽型歪みと逆に内側に凹む糸巻型歪みがある。(図9)
【0019】
(2)レンズ収差の補正式(歪み位置から正規の位置を求める)
手の平の位置座標を決定しようとすると、レンズ収差は精度を下げる要因となる。特に手の平が画像の周辺部に位置している場合には、実際の手の平の位置と画像上での位置の差が無視出来ないほど大きくなる。そこでレンズ収差を画像処理にて補正する。レンズは円形で回転対称であるため、レンズ収差はレンズの中心線から放射状に広がる歪みとしてモデル化することが出来る。
このモデルでは位置Dにある画素が、レンズ収差により位置Sに写り、位置O、D、Sは1直線上に並ぶ(図10)。位置Oと位置Sの画像上での距離をRs、位置Oと位置Dの画像上での距離をRdとするとレンズおよびレンズ収差は回転対称であるから、距離Rdは距離Rsのみで決定される関数となる。この関数を外部から与えれば、全画素について以下の式でレンズ収差が存在しない場合の画素の位置を求めることが出来る。
【0020】
(3)定義と式
【定義】
(xo,yo)...レンズの中心線が画像上で通る画素の位置Oのxy座標
(xs,ys)...原画像上の位置Sにある画素のxy座標
(xd,yd)...位置Dの画素のxy座標(補正後の位置)
f(r)...外部から与える関数
【式】
【0021】
(4)レンズ収差の補正式(正規位置から歪み位置を求める)
実際に補正を行う場合に上記の式を使って原画像の全画素について補正後の画素の位置を求め画像を作成すると、補正後の画像上で処理されない画素が出てきてしまう。例えば仮に外部から与える関数が以下の式の場合、原画像上の画素は補正画像上では位置Oからの距離が2倍になるため、補正画像は原画像の縦横比2倍,画素数が4倍の画像になる。
f(r)=2r
この場合、原画像の全画素について処理しても補正画像上の全画素の4分の3は処理されないで残ってしまうことになる。補正画像の画素数が原画像の画素数の4倍であるためである。そこで発想を逆転し補正後の全画素について原画像の画素の位置を逆算し、補正後の画素の色を対応する原画像の画素の色にする。
【0022】
(5)定義と式
【定義】
(xo,yo)...レンズの中心線が画像上で通る画素の位置Oのxy座標
(xs,ys)...原画像上の位置Sにある画素のxy座標
(xd,yd)...位置Dの画素のxy座標(補正後の位置)
g(r)...外部から与える関数=f(r)の逆関数
【式】
【0023】
(6)補正関数g(r)を求める方法
外部から与える関数g(r)は補正後の画素位置に対して原画像の画素位置を決定する関数であるから、あらかじめ縦横に等間隔に罫線を引いた紙等の対象物を用意してカメラで撮像し、画像を調べることで実験的に決定することが出来る。例えば罫線の交点の補正後の位置をQ,原画像上での位置をPとすると以下の式でg(r)の一つの値を計算できる。
【0024】
(7)定義と式
【定義】
(xo,yo)...レンズの中心線が画像上で通る画素の位置Oのxy座標
(xp,yp)...原画像上の罫線の交点Pの画素のxy座標
(xq,yq)...補正画像上の罫線の交点Qの画素のxy座標(※求め方は後述)
【式】
最後の式から引数Rqに対するg(r)の値Rpが1つ求まる。原画像上にある全ての罫線の交点について上記の式を適用することにより、複数の引数の値についてg(r)の値を求めることが出来る。途中の関数値については線型補間により近似的に求める。精度が足りない場合は罫線間隔を十分に密にすればよい。(図11)
任意の引数に対する関数値を求める場合、任意の引数に隣接する2つの引数r1とr2に関するg(r)の関数値をもちい、引数r(r1≦r≦r2)の関数値を求める。
【0025】
(8)補正後の罫線の交点を求める方法
補正画像上の罫線の交点の位置Qを求めるには、まず解像度を求め位置Qの座標を計算する。解像度を求めるには、レンズの中心線付近ではレンズ収差が無視出来るほど小さいため、撮影する対象物の中央付近に2点A,Bをマーキングし、あらかじめ2点間の距離を定規等で計測しておく。この対象物を撮影して原画像上での2点A,Bの距離を測定すると画像の解像度を以下の式で求めることが出来る。
【0026】
(9)定義と式
【定義】
RAB...原画像上の点A,B間の距離
MAB...対象物上の点A,B間の距離(定規による実測値)
T...解像度
【式】
【0027】
(10)Qの座標
補正画像上の罫線の交点の位置Qの座標は解像度Tを使って以下の式で求められる。
(11)定義と式
【定義】
(xo,yo)...レンズの中心線が画像上で通る画素の位置Oのxy座標
(xq,yq)...補正画像上の罫線の交点Qの画素のxy座標
(xmo,ymo)...対象物の中心のxy座標→原点(定規による実測値)
(xmq,ymq)...対象物の罫線の交点のxy座標(定規による実測値)
【式】
対象物の中心については、その点が原画像上でレンズの中心線が通る点Oに写るように撮影時に対象物を配置する。罫線の交点で対象物の中央に近い点を選んで対象物の中心と定義すると、位置合わせをしやすい。
【図面の簡単な説明】
【0028】
【図1】赤外線を満たした透明板の上に手のひらを乗せた原画像である。
【図2】アプリケーション側の処理とライブラリ(ドライバ)側の処理フロー図である。
【図3】画像処理の手順を示したフロー図である。
【図4】原画像をレンズ収差補正した画像である。
【図5】輝度が閾値以上の画素を白、閾値より低い輝度の画素を黒に変換した2値化画像である。
【図6】収縮処理を行った画像である。
【図7】膨張処理を行った画像である。
【図8】論理積を取得し処理した画像である。
【図9】レンズ収差の例の説明図である。
【図10】レンズ収差による画素の移動の説明図である。
【図11】線型近似の説明図である。
【図12】装置の全体像である。
【図13】装置のカメラ画像である。
【図14】応用例としてのドーム状装置の全体像である。
【図15】ドーム状装置での手の平の2値化画像である。
【図16】ドーム状装置での指先のみの2値化画像である。
【図17】ソフトの企画例(1)である。
【図18】ソフトの企画例(2)である。
【図19】ソフトの企画例(3)である。
【図20】ソフトの企画例(4)である。
【発明を実施するための形態】
【0029】
図12は、装置の全体像の試作画像である。盤面には5mm厚のアクリル板を利用している。左右の切断面を磨き、チップ型赤外線LEDの発光面を切断面に接して配置している。アクリル板の表面には、指もしくは手の平の滑りを良くするためのシート(PCの液晶画面の保護シートが適当)が貼ってあるために、透明なアクリル板が曇っているように見える。盤面の中心奥には、赤外線透過フィルタを内蔵させたCCDカメラを配置し、これで撮像を行っている。
【0030】
図12の試作装置は、赤外線LEDを左右各辺に8個、等間隔で配置してある。左右で合わせて16個のLEDにより、アクリル盤面全域に赤外線を満たしている。
【0031】
図13は、図12の装置によるカメラの生画像である。盤面全体が樽型に歪んでいるが、これは樽型補正処理を行う前の画像だからである。盤面全体が黒く写っているのは、赤外線が漏れ出ていないことを示している。また、左右の辺が光っているのは、装着した赤外線LEDが放つ光ると、アクリル板内で反射した赤外線が、漏れ出ていることが分かる。なお、上下の辺が光っているのも同様である。
【0032】
図14は、図12の装置の応用例として、ドーム型のアクリル板の切断面に赤外線LEDを配置し、球面に沿って赤外線を封じ込めた試作である。本試作では、チップ型赤外線LEDを6個配置している。
【0033】
図15は、図14のドーム型試作による2値化画像である。手の平全体をドーム面に押し付けると、手の平全体に赤外線が反射し、白く撮像できていることが分かる。
【0034】
図16は、図14のドーム型試作による指先だけの2値化画像である。ドームに押し付ける指の圧力により、2値化された指先の白い楕円形の面積が変わるため、指先の圧力を検知することが可能である。
【0035】
本発明を使ったコンピュータ用ソフトウェアの例として、画面に表示された楽器を、指もしくは手の平で演奏できるという企画を提案する。この意図は、多点同時認識でなければ実現できない楽器演奏を実現させることと、ボタンを押すという機械的な操作ではなく、指先でなぞったり、手の平全体で払ったりといった感覚的な操作によって、ソフトウェアを操作する例を説明したかったからである。そういった理由により、楽器のデザインは、実際にはないデザインを選択している。
【0036】
a.管楽器の演奏(図17)
ツタを伸ばして絡まるタイプの植物の花の部分が、管楽器のキーに相当するデザインである。光る花を指先や手の平の先で触ると、花がアニメーションし音が出る。同時に3ヶ所を押して和音を奏でたりといった操作が可能で、これは、従来のタッチパネルでは不可能な操作である。
【0037】
b.弦楽器の演奏(図18)
ギターのような弦楽器を模したデザインである。音を鳴らす弦を右手ではじき、左手でフレットの部分を押さえることで、音程を変えることができる。多点同時認識で左右の手で役割分担が違うタイプの操作システムである。
【0038】
c.打楽器の演奏(図19)
パーカッションを模したデザインである。この企画では、主に指先の圧力検知に主眼を置いている。盤面をたたくような操作をするのであるが、その際に、検知した指先の面積を瞬時に数値化し、その大きさによって、音量を変える試みである。
【0039】
また、本発明を使ったソフトウェア例として、指もしくは手の平を使ったお絵かきツールとしての企画を提案する。(図20)盤面上を移動させた指もしくは手の平について、取得した2値化画像の履歴を残すことで、線を描いたりすることが可能である。道具を使わず身体の一部を使った、非常に感覚的に使用することができるお絵かきツールが実現可能である。
【特許請求の範囲】
【請求項1】
コンピュータ装置を用いて、赤外線透過フィルタを有したカメラにより撮像された人の指もしくは手の平の画像から、その位置を座標データとして抽出する方法であって、
撮像した画像のレンズによるゆがみを補正する段階と、
画像を2値化し、領域判定をするための準備をする段階と、
周囲の環境光による輝度の補正を自動で行う段階と、
不必要なノイズを除去する画像の収縮処理段階と、
痩せてしまった画像を、通常の状態に戻すための膨張処理の段階と、
平均化を行い、適正な画像に整える段階。
【請求項2】
適切な画像所得のための、赤外線の照射システムに関する手法。
【請求項3】
本発明の応用としてのドーム形状のタッチセンサーとしての手法。
【請求項4】
本発明を使ったソフトウェアの企画。
【請求項1】
コンピュータ装置を用いて、赤外線透過フィルタを有したカメラにより撮像された人の指もしくは手の平の画像から、その位置を座標データとして抽出する方法であって、
撮像した画像のレンズによるゆがみを補正する段階と、
画像を2値化し、領域判定をするための準備をする段階と、
周囲の環境光による輝度の補正を自動で行う段階と、
不必要なノイズを除去する画像の収縮処理段階と、
痩せてしまった画像を、通常の状態に戻すための膨張処理の段階と、
平均化を行い、適正な画像に整える段階。
【請求項2】
適切な画像所得のための、赤外線の照射システムに関する手法。
【請求項3】
本発明の応用としてのドーム形状のタッチセンサーとしての手法。
【請求項4】
本発明を使ったソフトウェアの企画。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公開番号】特開2011−150669(P2011−150669A)
【公開日】平成23年8月4日(2011.8.4)
【国際特許分類】
【出願番号】特願2010−26963(P2010−26963)
【出願日】平成22年1月22日(2010.1.22)
【出願人】(508370717)株式会社スカイワーカーズ (3)
【Fターム(参考)】
【公開日】平成23年8月4日(2011.8.4)
【国際特許分類】
【出願日】平成22年1月22日(2010.1.22)
【出願人】(508370717)株式会社スカイワーカーズ (3)
【Fターム(参考)】
[ Back to top ]