JP2023165361A - コンピュータプログラム、画像処理装置、画像処理方法及び車載インタフェース装置 - Google Patents

コンピュータプログラム、画像処理装置、画像処理方法及び車載インタフェース装置 Download PDF

Info

Publication number
JP2023165361A
JP2023165361A JP2022076295A JP2022076295A JP2023165361A JP 2023165361 A JP2023165361 A JP 2023165361A JP 2022076295 A JP2022076295 A JP 2022076295A JP 2022076295 A JP2022076295 A JP 2022076295A JP 2023165361 A JP2023165361 A JP 2023165361A
Authority
JP
Japan
Prior art keywords
fingertip
finger
pointer
image
computer program
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
Application number
JP2022076295A
Other languages
English (en)
Inventor
竜一 小島
Ryuichi Kojima
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Deep Insight Inc
Original Assignee
Deep Insight Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Deep Insight Inc filed Critical Deep Insight Inc
Priority to JP2022076295A priority Critical patent/JP2023165361A/ja
Priority to PCT/JP2023/016793 priority patent/WO2023214542A1/ja
Publication of JP2023165361A publication Critical patent/JP2023165361A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis

Abstract

【課題】ユーザの主観に合わせた非接触ユーザインタフェースを実現できるコンピュータプログラム、画像処理装置、画像処理方法及び車載インタフェース装置を提供する。【解決手段】コンピュータプログラムは、コンピュータに、複数の指示体が撮影された画像を取得し、取得した画像に基づき特定される第1の指示体の端部と第2の指示体の端部との間の位置に、第1の指示体及び第2の指示体の端部によって代表される位置を指定するポインタを設定する、処理を実行させる。【選択図】図1

Description

本発明は、コンピュータプログラム、画像処理装置、画像処理方法及び車載インタフェース装置に関する。
近年、人間の手や体を使った動作に対応して応答する非接触ユーザインタフェースの研究・開発が活発化している。特許文献1には、ユーザが指をディスプレイに接近させた場合にカメラで撮影し、撮影した画像に基づいて、ディスプレイに接近するユーザの手指のジェスチャーやディスプレイに対する指の位置に基づいてユーザの操作意図を推測し、推測した操作意図に応じて表示画像を変更するように画像出力手段を制御する装置が開示されている。
特開2011-133942号公報
特許文献1の装置は、非接触ユーザインタフェース機能を提供するものの、ユーザは指をディスプレイに近づける動作をする必要があり、ディスプレイに触れる程度の近くにいなければならないという制限がある。また、手指のジェスチャーやディスプレイに対する指の位置に基づいてユーザの操作意図が推測される際に、手指の動作や指の位置がユーザの主観に合わない場合があり、ユーザにとって違和感が生じる可能性がある。
本発明は、斯かる事情に鑑みてなされたものであり、ユーザの主観に合わせた非接触ユーザインタフェースを実現できるコンピュータプログラム、画像処理装置、画像処理方法及び車載インタフェース装置を提供することを目的とする。
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、コンピュータプログラムは、コンピュータに、複数の指示体が撮影された画像を取得し、取得した画像に基づき特定される第1の指示体の端部と第2の指示体の端部との間の位置に、前記第1の指示体及び第2の指示体の端部によって代表される位置を指定するポインタを設定する、処理を実行させる。
本発明によれば、ユーザの主観に合わせた非接触ユーザインタフェースを実現できる。
非接触ユーザインタフェースシステムの構成の一例を示す図である。 手指の動作の一例を示す図である。 画像処理装置の構成の一例を示す図である。 画像処理部の構成の一例を示す図である。 手指の画像の一例を示す図である。 右手の指先を探索する方法を示す図である。 左手の指先を探索する方法を示す図である。 手指の形態のクラス分類の一例を示す図である。 指先位置とポインタ位置の組み合わせの一例を示す図である。 実施形態2の対象検出部の構成の一例を示す図である。 2本の指の中点を決定する方法を示す図である。 実施形態2の画像処理部の処理手順の一例を示す図である。 実施形態3の対象検出部の構成の一例を示す図である。 親指の腹部分を決定する方法を示す図である。 実施形態3の画像処理部の処理手順の一例を示す図である。 実施形態3の応用形態1の指先位置の設定を示す図である。 実施形態3の応用形態2の親指の選択を示す図である。 実施形態2又は3の応用形態3の指先位置の調整を示す図である。 実施形態4の対象検出部の構成の一例を示す図である。 実施形態5のポインタ情報生成部の構成の一例を示す図である。 移動平均のレンジ調整の一例を示す図である。 実施形態5の画像処理部の処理手順の一例を示す図である。 実施形態6の画像処理部の構成の一例を示す図である。 サーチ軸補正部の構成の一例を示す図である。 サーチ軸の補正方法を示す図である。 実施形態7の画像処理部の構成の一例を示す図である。 追跡検出部の構成の一例を示す図である。 指先先端の検出漏れの一例を示す図である。 実施形態8の対象先端検出部の構成の一例を示す図である。 指先先端の検出方法を示す図である。 車載インタフェース装置の一例を示す図である。
以下、本発明の実施の形態について図面を用いて説明する。
(実施形態1)
図1は非接触ユーザインタフェースシステム100の構成の一例を示す図である。非接触ユーザインタフェースシステム100は、カメラ10、表示画面を有する表示装置20、及び画像処理装置50を備える。画像処理装置50は、非接触ユーザインタフェース装置としての機能を有する画像処理部60を備える。画像処理装置50は、例えば、パーソナルコンピュータ等で構成することができる。画像処理部60は、画像処理装置50に内蔵される構成に限定されるものではなく、画像処理装置50とは別の装置で構成してもよい。カメラ10は、可視光や赤外光によって得られる一般的な画像に限定されるものではなく、距離も計測できるTOF(Time Of Flight)カメラでもよい。
カメラ10は、黒色プレートを撮影できる位置に配置されている。カメラ10の位置は、黒色プレートを撮影できる位置であれば適宜設定できる。カメラ10と黒色プレートとの間の適宜の位置で、ユーザは、例えば、親指と人差し指とを接触させてつまむ動作、あるいは親指と人差し指とを離す動作をする。カメラ10は、ユーザの手指の動作や状態を撮影することができる。黒色プレートは、手指を撮影した画像の手指以外の背景となる部分に対応するが、本実施形態では、黒色プレートは必須ではない。また、プレートの色も黒色に限定されるものではなく、任意の色であってもよい。しかし、手指を撮影した画像の手指に相当する部分を背景に対して目立つようにするためには、プレートは単色であって、複雑な模様を含まないものがよい。
画像処理装置50は、カメラ10で撮影された手指の画像をそのまま、あるいは手指の画像を加工した画像を表示装置20の表示画面に表示することができる。ユーザが黒色プレートに対して手指を水平方向に移動させると、表示画面に表示される手指も表示画面上を水平方向(縦横)に移動させることができる。また、ユーザが黒色プレートに対して手指を垂直方向に移動させると、表示画面に表示される手指も表示画面に対して仮想的に垂直方向に移動するように手指が変化する。手指の画像を加工した画像は、例えば、手指の代わりに点や円などの記号を表示する画像である。
図1に示すように、ユーザが入力したい数字キー上で、親指と人差し指とをピンチする(つまむ)ことで、画像処理装置50は、親指と人差し指とのピンチで数字キーが選択されたと判断して、表示装置20の表示画面の数字入力欄に数字を表示する。図1に示すようにテンキーには、0~9の数字キーの他に「DEL」で示される削除キー、「CLR」で示されるクリアキーがある。
図2は手指の動作の一例を示す図である。図2は親指と人差し指とのピンチで数字キーを選択する動作を示す。親指と人差し指とを離した状態において、親指と人差し指との間にポインタ位置(例えば緑色の指示点)が表示される。ポインタ位置を、選択しようとするキー(図では削除キー)上に置き、親指と人差し指とをピンチすることで、削除キーが選択され、図1の表示画面にある数字入力欄の数字「9632」の内「2」を消すことができる。親指と人差し指との間にポインタ位置を設けることで、キーが小さくとも選択が容易となる。
図2では右手で親指と人差し指とをピンチすることで、表示装置20の表示画面の数字入力欄に数字を表示する例を示しているが、左手で親指と人差し指とをピンチすることで、表示装置20の表示画面の数字入力欄に数字を表示してもよい。
親指と人差し指とを接触させて指先でつまむ動作は、誰でもなじみのある動作であり、選択操作に好適な動作であるため、本実施形態は親指と人差し指とを用いて、指先でつまむ動作を選択動作として用いる。本実施形態では、指先で代表されるものを指示体と称し、指示体の一例として手指を例に挙げ、特に親指と人差し指(第1の指及び第2の指)を例として説明する。この場合、指示体の端部に相当する親指の指先及び人差し指の指先の両方の指先を、ひとまとまりの指先として指先を代表する位置を表す指先位置とし、指先位置を基準としてポインタ位置を決定する。
ポインタ位置は、指先位置を基準として決定することができる。ポインタ位置は、例えば、2本の指(例えば、親指と人差し指)の先端から第一関節までの範囲内で決定してもよく、より好適な範囲としては、例えば、2本の指の内側であって爪の付け根までの範囲内で決定してもよく、2本の指は、親指と人差し指以外の指でもよい。以下では、ポインタ位置を具体的に説明する。
図3は画像処理装置50の構成の一例を示す図である。画像処理装置50は、装置全体を制御する制御部51、通信部52、メモリ53、操作部54、記憶部55、記録媒体読取部58、及び画像処理部60を備える。記憶部55は、例えば、ハードディスク又は半導体メモリ等で構成することができ、コンピュータプログラム56、学習モデル57、及び所要の情報を記憶する。なお、画像処理装置50は、処理機能を分散させて、複数の装置で構成してもよい。
制御部51は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等が所要数組み込まれて構成されている。制御部51は、コンピュータプログラム56で定められた処理を実行することができる。すなわち、制御部51による処理は、コンピュータプログラム56による処理でもある。制御部51は、コンピュータプログラム56を実行することにより、画像処理部60の機能を実行することができる。画像処理部60は、ハードウエアで構成してもよく、ソフトウエアで実現する構成としてもよく、あるいはハードウエアとソフトウエアとの組み合わせで実現してもよい。制御部51及び画像処理部60は、学習モデル57を用いた処理を行うことができる。
通信部52は、例えば、通信モジュールを備え、表示装置20との間で通信を行うことができる。通信部52は、カメラ10や他のインタフェース装置との通信インタフェース機能を備えてもよい。
メモリ53は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリ等の半導体メモリで構成することができる。コンピュータプログラム56をメモリ53に展開することにより、制御部51は、コンピュータプログラム56を実行することができる。
コンピュータプログラム56を記録した記録媒体59を記録媒体読取部58によって読み取ることができる。なお、コンピュータプログラム56は、通信部52を介して、外部の装置からダウンロードして記憶部55に格納してもよい。
操作部54は、マウス、キーボードなどの入力装置とのインタフェース機能を備える。
図4は画像処理部60の構成の一例を示す図である。画像処理部60は、非接触ユーザインタフェースの機能を実現するための機能を備え、具体的には、対象検出部61、画像切り出し部62、形態認識部63、ポインタ選択部64、ポインタ情報生成部65、及びポインタ情報送信部66を備える。画像処理部60による処理は、可視光や赤外光によって得られる一般的な画像に対しても、あるいはTOFカメラによって得られた距離画像に対しても同様に行われる。
対象検出部61は、カメラ10で撮影された、手指の画像(複数の指示体が撮影された画像)を取得する。対象検出部61は、手指の画像に基づいて対象部位である親指と人差し指を検出し、指先の画像上の位置と指先を含む領域のサイズを出力する。
図5は手指の画像の一例を示す図である。図5は右手の画像を例示しているが、左手の画像でもよい。手指以外の領域は背景であり、黒色プレートを用いた場合には黒色となっている。プレートを用いない場合には、手指以外の部分が単色(例えば、白、灰色など)になるように画像処理してもよい。
対象検出部61は、手指の画像の上で、指先を検出するために方向が異なる、斜め2方向の2つのサーチ軸に沿って探索を行う。2つのサーチ軸を使って探索することで、右手には右下方向に、左手には左下方向に走査して探索し、最初に検出する点を指先とみなすことができる。
図6は右手の指先を探索する方法を示す図であり、図7は左手の指先を探索する方法を示す図である。第1サーチ軸は、右斜め下に向かう軸であり、画像上の縦方向と角度θ1の角度を有する。第2サーチ軸は、左斜め下に向かう軸であり、画像上の縦方向と角度θ2の角度を有する。図6に示すように、右手の画像を第1サーチ軸で探索する場合、第1サーチ軸のサーチ点に垂直な方向に沿って指先が存在するか否かを判定し、指先が存在しない場合には、第1サージ軸に沿ってサーチ点を移動し、同様の処理を繰り返すと、右手の指先を検出できる。また、図7に示すように、左手の画像を第2サーチ軸で探索する場合、第2サーチ軸のサーチ点に垂直な方向に沿って指先が存在するか否かを判定し、指先が存在しない場合には、第2サージ軸に沿ってサーチ点を移動し、同様の処理を繰り返すと、左手の指先を検出できる。このように2つのサーチ軸で探索を行うと、右手及び左手のいずれであっても指先を検出することできる(図6及び図7において、指先の検出位置を黒点で示す)。
一方で、右手の画像を第2サーチ軸で探索し、あるいは左手の画像を第1サーチ軸で探索すると、指先ではない箇所(検出位置を黒点で示す)を検出する(誤検出)。しかし、後述するポインタ選択部64の処理によって、指先以外の箇所を除外できる。サーチ軸に沿って指先を探索するには、サーチ軸の角度θ1、θ2を60°を含む所要の範囲(例えば、45°~75°程度)に設定すればよい。
対象検出部61は、第1サーチ軸と第2サーチ軸の2つのサーチ軸で探索して検出した、画像上の指先の検出位置と指先を含む領域のサイズを画像切り出し部62へ出力する。サイズは所定値であり、画像切り出し部62で切り出しを行う領域を規定する。図6及び図7に示す、第1切り出し矩形領域及び第2切り出し矩形領域は、画像切り出し部62で切り出しを行う領域に対応している。なお、サーチ軸は3つ以上としてもよく、例えば、左右からの60°に真上からの0°を加えた3つのサーチ軸としてもよい。
画像切り出し部62は、対象検出部61から出力される、指先の検出位置及び指先を含む領域のサイズに基づいて、カメラ10から出力される手指の画像から、指先を含む部分画像を切り出す。切り出した2つの部分画像は、図6又は図7の第1切り出し矩形領域及び第2切り出し矩形領域それぞれを含む部分画像である。画像切り出し部62は、部分画像を形態認識部63へ出力する。
形態認識部63は、学習モデル57を用いて形態認識処理を行う。形態認識部63は、部分画像が入力されると、部分画像に写っている手指の形態をクラス分けし、クラス分けした形態、及び指先の検出位置を出力する。学習モデル57は、機械学習されたアルゴリズムを用いたモデルであり、例えば、SVM(サポート・ベクター・マシン)、決定木、ランダムフォレスト、ニューラルネットワークなどを用いることができる。深層学習を用いるものとして、例えば、CNN(畳み込みニューラルネットワーク)を用いることができ、例えば、AlexNet、VGG、GoogLeNet、ResNetなどの構造が含まれる。
図8は手指の形態のクラス分類の一例を示す図である。図8は形態認識部63による形態のクラス分けを示す。図8に示すように、形態はクラス0、1、2、…、12の如く13のクラスに分類できる。なお、クラスの分類の数及び形態の内容は図8の例に限定されるものではない。
クラス0では、手指の形態は、親指と人差し指とが離れた状態であり、クラス0は、ポインタが非選択状態であることを示す。クラス1では、手指の形態は、親指の指先と人差し指の指先とが接触した状態であり、クラス1は、ポインタが選択状態であることを示す。なお、親指と人差し指とは指示体であり、非選択状態が指示前の形態、選択状態が指示の形態となる。
クラス2、3では、手指の形態は、親指又は人差し指の一本の状態であり、ポインタでない状態(非ポインタ)であることを示す。クラス4、5では、手指の形態は、人差し指と中指との二本の状態であり、ポインタでない状態であることを示す。なお、クラス4では日本の指に隙間があり、クラス5では二本の指に隙間がない状態である。クラス6、7では、手指の形態は、人差し指と中指と薬指の三本の状態であり、ポインタでない状態であることを示す。クラス6では三本の指に隙間があり、クラス7では、三本の指に隙間がない状態である。クラス8では、手指の形態は、人差し指と中指と薬指と小指の四本の状態であり、ポインタでない状態であることを示す。クラス9では、指の付け根の横からのアングルであり、ポインタでない状態(非ポインタ)にある。クラス10では、手指の形態は、手を握ったげんこつの状態であり、ポインタでない状態であることを示す。クラス11では、クラス0~10以外の手指の形態を示し、ポインタでない状態であることを示す。クラス12では、手指以外の形態を示し、ポインタでない状態であることを示す。なお、図8ではクラス0、クラス1は右手の親指と人差し指の部分画像を示しているが、左手の親指と人差し指の部分画像も同様にクラス分けできる。
ポインタ選択部64は、形態認識部63が出力する、クラス分けした形態、及び指先の検出位置に基づいて、部分画像の中から、形態がポインタ形状に該当するものだけを抽出し、ポインタに該当するクラス、及び指先の位置を出力する。本実施形態で、ポインタとして使用するのは、クラス0とクラス1のみであり、形態認識部63から他のクラスの形態が出力された場合は、ポインタ選択部64は、形態認識部63の出力を無視して、何も出力しない。これにより、対象検出部61で誤検出された指先は、全て除外できる。
ポインタ情報生成部65は、ポインタ選択部64から出力されたクラスが、クラス0かクラス1かにより、ポインタが選択状態にあるか、非選択状態にあるかを示す情報(ポインタの状態を示す情報)を生成し、指先の位置(検出位置)に基づくポインタの位置、及びポインタの状態を示す情報を出力する。図2に例示したポインタ位置(親指と人差し指との間の緑色の指示点の位置)は、ポインタ情報生成部65によって決定することができる。ポインタ情報送信部66は、ポインタの位置及びポインタの状態を示すポインタ情報を制御部51へ出力する。制御部51は、ポインタの状態を示す情報をアプリケーション等に提供する。これにより、記号などの表示情報が生成される。あるいは制御部51は、ポインタ情報を非接触ユーザインタフェースの外部のホストデバイス等に出力することができる。
上述のように、制御部51(又は画像処理部60)は、手指の画像を入力した場合に、第1の指と第2の指とが接触する第1の形態(クラス1)か、または、第1の指と第2の指とが離れる第2の形態(クラス0)かを含む分類情報を出力するように生成された学習モデル(形態認識部63)に、手指の画像を入力し、当該学習モデルが出力する分類情報に応じて、第1の指の指先と第2の指の指先との間に位置するポインタの表示態様を切り替えることができる。
(実施形態2)
前述の実施形態1では、対象検出部61で検出した指先の先端を指先位置と定めてポインタ位置を決定していた。実施形態2では、ユーザ(人間)の主観に合わせた指先位置の検出について説明する。
図9は指先位置とポインタ位置の組み合わせの一例を示す図である。図9Aは、親指と人差し指とを離した状態であり、図9Bは、親指と人差し指とを接触した状態であり、図9A及びBは、いずれも、2本の指先のうちの一方の先端を指先位置とし、そこにポインタを重ねた状態(ポインタ位置とする)を示す。図9A及びBの場合、一方の指先の先端にポインタ位置があり、ユーザにとって違和感を生じる。また、2本の指のどちらの先端を指先位置として選択するかでポインタの位置が比較的大きく変わってしまうので、さらにユーザに違和感を与えることになる。
一方、図9C及び図9Dのように、指先位置を2本の指の間の置くことで、ポインタの位置が比較的大きく変わってしまうという問題を解消してユーザの違和感を取り除くことができる。また、2本の指先のうちの一方の先端を指先位置とする場合に比べて、違和感が生じることが極めて少なく、ユーザの主観に合わせた指先位置とすることができる。以下、具体的に説明する。
図10は実施形態2の対象検出部61の構成の一例を示す図であり、図11は2本の指の中点を決定する方法を示す図である。対象検出部61は、対象先端検出部611、オフセット算出部612、指先領域両端検出部613、領域中点算出部614、及び指先位置算出部615を備える。
対象先端検出部611は、カメラ10から取得した手指の画像上をサーチ軸方向に探索し、画像上で複数の指先が存在する場合、サーチ軸の最も上流側に相当する指先を指先先端として検出し、検出した指先先端位置(画像上の座標)を指先領域両端検出部613に出力する。図11の例では、親指と人差し指の2本の指先が存在し、そのうち、サーチ軸の最も上流側の人差し指の指先を指先先端として検出している。
オフセット算出部612は、対象先端検出部611で使用したサーチ軸方向の情報を元に、サーチ軸方向の単位ベクトルに所定の係数を乗じてオフセットベクトル(図11の「オフセット」で示すベクトル)を算出する。
指先領域両端検出部613は、指先先端位置を始点としてオフセットベクトルを加算した終点位置を通り、サーチ軸と直交する方向(垂直方向)に、垂直方向軸を設定し、設定した垂直方向軸上で、親指及び人差し指それぞれの外側境界(親指及び人差し指を含む指領域の両端境界)を検出する。図11では、親指の外側境界、及び人差し指の外側境界が垂直方向軸上で検出されている。
領域中点算出部614は、外側境界(両端境界)の中点の位置(座標)を算出する。
指先位置算出部615は、取得した画像に基づき特定される第1の指示体の端部と第2の指示体の端部との間の位置に、第1の指示体及び第2の指示体の端部によって代表される位置を指定位置として定める。この指先位置を基準にしてポインタを設定することができる。
具体的には、指先位置算出部615は、領域中点算出部614が算出した中点を始点として、オフセット算出部612が算出したオフセットベクトルを減算して終点を指先位置として算出する。図11では、親指の指先と人差し指の指先との間の位置に指先位置が設定されている。具体的には、親指の指先と人差し指の指先との間の中間位置に指先位置が設定されている。設定された指先位置にポインタの位置を設定してもよい。
前述のように、制御部51(又は画像処理部60)は、複数の指示体が撮影された画像を取得し、取得した画像に基づき特定される第1の指示体の端部と第2の指示体の端部との間の位置に、第1の指示体及び第2の指示体の端部によって代表される位置を指定するポインタを設定することができる。この場合、複数の指示体が撮影された画像は、TOFカメラによって撮影された画像でもよい。
より具体的には、複数の指示体が撮影された画像は、手指の画像であり、第1の指示体の端部及び第2の指示体の端部は、第1の指の指先及び第2の指の指先であり、制御部51(又は画像処理部60)は、第1の指の指先と第2の指の指先との中間位置にポインタを設定することができる。
指先位置を2本の指の間の置くことで、複数の指のうちのいずれか1本の指先をポインタとして選択するかによってポインタの位置が比較的大きく変わってしまうという問題を解消してユーザの違和感を取り除くことができる。また、2本の指先のうちの一方の先端を指先位置とする場合に比べて、違和感が生じることが極めて少なく、ユーザの主観に合わせた指先位置とすることができる。
また、制御部51(又は画像処理部60)は、取得した手指の画像に対して、所定方向のサーチ軸に沿って探索して指先の先端を検出し、検出した先端から所定距離だけ離隔しサーチ軸と直交する直交軸を設定し、設定した直交軸に沿って探索して第1の指及び第2の指それぞれの外側境界を検出し、検出した外側境界の中点を特定し、特定した中点に基づいてポインタを設定することができる。
例えば、制御部51(又は画像処理部60)は、特定した中点からサーチ軸と平行な方向に所定距離だけオフセットした位置にポインタを設定してもよい。これにより、ユーザにとって、より自然と感じるポインタ位置を設定できる。
制御部51(又は画像処理部60)は、設定された指先位置を、表示装置20で表示されるアプリケーション画面上に表示することができる。この場合、指先位置は、カメラ10から取得した画像の指先部分の画像に指先位置を表す点や円などの記号を合成表示してアプリケーション画面上に表示してもよく、あるいは、指先位置を表す点や円などの記号だけをアプリケーション画面上に表示してもよい。また、カメラ10から取得した手指の画像全体を半透明で透けるようにしてオーバレイ表示してもよい。オーバレイする画像は、カメラ10から取得した手指の画像ではなく、予め準備した代表的な指先画像(実写又は図)を認識した指先の形状に応じて選定して表示してもよい。カメラ10から取得した手指の画像は、ワイプ画像として表示画面の一部に小さく表示してもよい。
図12は実施形態2の画像処理部60の処理手順の一例を示す図である。以下では、処理の主体を便宜上、画像処理部60として説明する。画像処理部60は、カメラ10から手指の画像を取得し(S11)、取得した画像上をサーチ軸方向に探索して指先先端を検出する(S12)。画像処理部60は、サーチ軸方向に沿ったオフセットベクトルを算定する(S13)。画像処理部60は、指先先端位置にオフセットベクトルを加算した位置からサーチ軸と垂直方向に垂直方向軸を設定する(S14)。
画像処理部60は、設定した垂直方向軸に沿って探索して指(例えば、親指と人差し指の2本の指)の外側境界(両端境界)を検出する(S15)。画像処理部60は、2本の指の外側境界の中点を特定して指先位置を算出する(S16)。画像処理部60は、手指の画像から指先位置の部分画像を切り出す(S17)。
画像処理部60は、部分画像をクラス分類し(S18)、クラス分けされた形態が、ポインタ形状(形態)に該当するか否かを判定する(S19)。ポインタ形状に該当しない場合(S19でNO)、画像処理部60は、ステップS11以降の処理を続ける。ポインタ形状に該当する場合(S19でYES)、画像処理部60は、ポインタの状態を示す情報(ポインタの位置、ポインタの状態を示す情報)を生成し(S20)、生成したポインタ情報を出力し(S21)、処理を終了する。
上述のように、実施形態2によれば、2本の指が接触せずに接近してる状態(離れている状態)において、2本の指の指先を代表する指先位置を2本の指の間の位置、例えば、2本の指の中間に設定することで、ユーザの主観に合わせた指先位置とすることができる。これにより、ユーザの主観に合わせた非接触ユーザインタフェースを実現できる。
(実施形態3)
ピンチ動作をする際、2本の指の動きは、親指よりも人差し指の方が大きくなる傾向がある。手指を動かすユーザの感覚に合わせるには、ピンチ動作の前後で指先位置が大きく変動しないのが望ましい。そこで、実施形態3では、実施形態2のように、指先位置を2本の指の間に設定する構成に代えて、相対的に動きが小さい親指に指先位置を設定する構成について説明する。
図13は実施形態3の対象検出部61の構成の一例を示す図であり、図14は親指の腹部分を決定する方法を示す図である。実施形態3と実施形態2とを対比すると、対象検出部61は、指先領域両端検出部613及び領域中点算出部614に代えて、指先両端検出部616、親指選択部617及び親指腹位置算出部618を備える。対象先端検出部611、オフセット算出部612、及び指先位置算出部615は、実施形態2と同様である。
指先両端検出部616は、垂直方向軸を所定の幅だけ両方向に向かって走査して、2本の指(親指と人差し指)それぞれの両端境界を検出する。図14に示すように、指先両端検出部616は、一方の本の指(親指)の両端境界P1、P2を検出し、他方の指(人差し指)の両端境界P3、P4を検出している。
親指選択部617は、2本の指それぞれの両端境界間の距離を比較し、距離が長い方の指を親指として選択する。一般に人差し指よりも親指の方が太いので、指の両端境界の距離によって親指を選定することが可能である。図14の例では、両端境界P1~P2間の距が、両端境界P3~P4間の距離よりも長いので、両端境界P1~P2側の指を親指として選択できる。
親指腹位置算出部618は、指先両端検出部616で検出した両側境界の中から、親指に相当する側の指の両端境界のうち、他方の指に近い側の両端境界(図14の例では、P2)を親指の腹位置とする。
指先位置算出部615は、親指の腹位置(図14の例では、P2)から、オフセットベクトルを減算することで、指先位置を算出する。
制御部51(又は画像処理部60)は、親指の腹にポインタを設定することができる。相対的に動きが小さい親指に指先位置を設定することにより、手指を動かすユーザの感覚に合わせることができる。
図15は実施形態3の画像処理部60の処理手順の一例を示す図である。以下では、処理の主体を便宜上、画像処理部60として説明する。画像処理部60は、カメラ10から手指の画像を取得し(S31)、取得した画像上をサーチ軸方向に探索して指先先端を検出する(S32)。画像処理部60は、サーチ軸方向に沿ったオフセットベクトルを算定する(S33)。画像処理部60は、指先先端位置にオフセットベクトルを加算した位置からサーチ軸と垂直方向に垂直方向軸を設定する(S34)。
画像処理部60は、設定した垂直方向軸に沿って探索して、2本の指それぞれの両端境界位置を検出する(S35)。画像処理部60は、2本の指それぞれの両端境界間の距離を比較して、距離が長い方の指を親指として選択し、親指に相当する側の指の両端境界のうち、他方の指に近い側の両端境界を親指の腹位置として算出し、親指の腹位置から、オフセットベクトルを減算することで、指先位置を算出する(S36)。画像処理部60は、手指の画像から指先位置の部分画像を切り出す(S37)。
画像処理部60は、部分画像をクラス分類し(S38)、クラス分けされた形態が、ポインタ形状(形態)に該当するか否かを判定する(S39)。ポインタ形状に該当しない場合(S39でNO)、画像処理部60は、ステップS31以降の処理を続ける。ポインタ形状に該当する場合(S39でYES)、画像処理部60は、ポインタの状態を示す情報(ポインタの位置、ポインタの状態を示す情報)を生成し(S40)、生成したポインタ情報を出力し(S41)、処理を終了する。
上述のように、実施形態3によれば、2本の指が接触せずに接近してる状態(離れている状態)において、2本の指の指先を代表する指先位置を、親指の腹位置を基準として設定することで、ピンチ動作の前後で指先位置の変動を相対的に小さくすることができ、ユーザの主観に合わせた指先位置とすることができる。これにより、ユーザの主観に合わせた非接触ユーザインタフェースを実現できる。
(実施形態2、3の応用形態)
図16は実施形態3の応用形態1の指先位置の設定を示す図である。図14に示す、指先位置の設定方法は、親指の腹位置(図14の例では、P2)から、オフセットベクトルを減算することで、指先位置を算出する構成であった。図16に示す例では、親指の両端境界P1と人差し指の両端境界P3との垂直方向軸上の中点と、親指の腹位置P2との間の、指先位置の配置区間の所望の位置から、オフセットベクトルを減算することで、指先位置を算出する。これにより、ユーザの主観に合わせて、親指の腹位置と、中点との間でバランスを取りながら指先位置を設定できる。
図17は実施形態3の応用形態2の親指の選択を示す図である。図14に示す、親指選択方法は、2本の指の太さ(両端境界間の距離)を比較する構成であった。図17に示す例では、2本の指の先端の曲率を比較し、曲率(曲率半径)の大きい方の指を親指として選択する。
親指選択部617は、学習モデルを用いて構成できる。当該学習モデルは、親指先端の画像、人差し指先端の画像、画像が親指であるか人差し指であるかを示す教師データを用いて当該学習モデルを機械学習させることで学習モデルを生成する。また、手のひら全体の骨格認識をした上で、親指を選択するようにしてもよい。
図18は実施形態2又は3の応用形態3の指先位置の調整を示す図である。当初の指先位置を始点として、サーチ軸方向に所要距離だけ位置をオフセットさせる調整ベクトル(オフセットベクトル)を加えた終点位置をオフセットした指先位置とすることができる。指先位置を当初の指先位置から所要距離だけオフセットすることにより、ユーザにとって、より自然と感じるポインタ位置を設定できる。なお、オフセットさせる所要距離は、予め定めた固定値でもよいが、指の太さ、あるいは切り出し画像(部分画像)のサイズに応じて増減させてもよい。また、ユーザの好みを反映させるため、所要距離をユーザが設定する操作を受け付けるようにしてもよい。
制御部51(又は画像処理部60)は、設定したポインタの位置を所要の位置に移動させるための移動量を設定する操作を受け付けてもよい。これにより、ユーザにとって、より自然と感じるポインタ位置を設定できる。
また、図示していないが、制御部51(又は画像処理部60)は、ポインタの複数の位置を候補位置として選択可能に表示し、表示された候補位置の中からポインタの位置を選定する操作を受け付けてもよい。これにより、ユーザそれぞれの好みに応じて、より自然と感じるポインタ位置を設定できる。
指先位置を調整する際、調整ベクトルの加算処理は、対象検出部61で行ってもよく、あるいはポインタ情報生成部65で行ってもよい。この場合、対象検出部61は、サーチ軸の方向に関する情報をポインタ情報生成部65へ出力する。ポインタ情報生成部65は、手指の形態がクラス0であるかクラス1であるかのクラス分類結果を取得しているので、例えば、親指と人差し指とが接触している形態の場合、調整量(移動距離)を減ずる等の、形態に応じた指先位置の微調整が可能となる。
(実施形態4)
前述の実施形態では、手指の形態を認識するために用いる学習モデルに対して、認識した指先位置を含む切り出し画像(部分画像)を入力している。入力される部分画像のサイズは、学習モデルの学習で使用した学習用の部分画像のサイズと同等であることが認識精度を向上させる観点から望ましい。例えば、極度に範囲が狭く、写っている手指の全体が捉えられていないと、指先であることの判別が困難になる。また、逆に範囲が広すぎても、認識対象である手指(特に指先)が小さく写ってしまい、訓練データに用いた部分画像のパターンと異なってしまう。一方、カメラに映る指先は、指先とカメラとの位置関係により大きく変化する。切り出し画像のサイズを固定にすると、カメラと指先(手指)との位置関係によって、認識できる指先の空間的な範囲が変動する可能性がある。実施形態4では、指先の形態認識の精度を改善する方法について説明する。
図19は実施形態4の対象検出部61の構成の一例を示す図である。図10に示す実施形態2の対象検出部61との相違点は、先端距離検出部619及びサイズ算出部610を備える点である。先端距離検出部619は、TOFカメラ(カメラ10)から距離画像を取得する。距離画像は、ピクセル毎に距離に関する情報を有している。TOFカメラを使用する場合には、形態認識部63が使用する学習モデルは、手指の画像に代えて、距離画像を用いて機械学習すればよい。なお、TOFカメラに代えて、距離を計測できるものであれば、レーザや音波等を用いる測距センサを用いてもよい。ただしそれらを使用する場合は、手指の像を得るためのカメラを併用する必要がある。
先端距離検出部619は、対象先端検出部611で検出した先端位置に関する情報を取得する。先端距離検出部619は、距離画像上の先端位置の近傍の領域での各ピクセルの距離の総和を計算し、計算した総和を当該領域内のピクセル数で除算することにより、当該領域の距離の平均値を算出し、算出した平均値を先端距離としてサイズ算出部610へ出力する。
サイズ算出部610は、先端距離検出部619から取得した先端距離に基づいて、切出し画像サイズを算出する。切り出し画像サイズは、例えば、先端距離の逆数に所定値を乗算して算出できる。切り出し画像のサイズは、カメラからの距離に反比例させることにより、カメラからの手指の遠近により見かけのサイズが変わっても、指先の形態の認識精度を高く保つことができる。なお、切出し画像のサイズを距離に反比例させる構成に代えて、直線で近似しても指先の形態認識の精度を改善できる。
上述のように、制御部51(又は画像処理部60)は、手指までの距離を特定し、特定した距離に基づいて学習モデル(形態認識部63)に入力する画像のサイズを調整し、調整後の画像を当該学習モデルに入力することができる。これにより、指先の形態認識の精度を改善させることができる。
オフセット算出部612は、サイズ算出部610から切り出し画像サイズを取得し、対象先端検出部611で使用したサーチ軸の方向に関する情報を元に、切り出し画像サイズ
と所定の係数を乗じてオフセットベクトルを算出する。以降の処理は、実施形態2と同様であるので説明は省略する。
指先位置算出部615は、領域中点算出部614で算出した中点から、オフセットベクトルを減算し、さらにサーチ軸方向に、切り出し画像サイズと所定の係数を乗じた調整ベクトルを加算して、指先位置を算出してもよい。
(実施形態5)
指先位置は、認識誤差により手指画像(カメラ画像)のフレームごとにばらつきやすく、表示画面に表示されるポインタが小刻みに震える(微小変動する)場合がある。対策として、ポインタ位置の移動平均を算出してポインタ位置を補正することが考えられる。しかし、移動平均を算出する過程で過去のフレームでの指先位置が反映されるため、ポインタの表示が実際の指の動きよりも遅れ、ユーザにとって違和感を生じる場合がある。かかる違和感は、指先の移動が速いほど顕著である。実施形態5では、ポインタが微小変動して違和感が生じる要因を除外する方法について説明する。
図20は実施形態5のポインタ情報生成部65の構成の一例を示す図である。ポインタ情報生成部65は、座標記憶部651、指先速度算出部652、移動平均レンジ調整部653、移動平均算出部654、及びポインタ状態情報生成部655を備える。ポインタ情報生成部65は、ポインタの移動を滑らかなものとするため、過去のポインタ座標の履歴を用いて、ポインタ位置の移動平均を算出してポインタの位置(座標)を補正する。また、ポインタ情報生成部65は、移動平均を算出する際に、指先の移動速度に応じて、移動平均のレンジを調整することで、ポインタの位置の微小変動の抑制と、ポインタの移動遅れの軽減を両立する。以下、具体的に説明する。
ポインタ情報生成部65には、ポインタ選択部64から出力される、指先の位置、及びポインタの形態(ポインタに該当するクラス)が入力される。
座標記憶部651は、ポインタ選択部64から出力される、指先の位置を、ポインタ座標の履歴として順次記憶する。
指先速度算出部652は、座標記憶部651に記憶されたフレーム毎の指先の位置に基づいて、異なるフレーム間での指先の位置の変化に基づいて指先の速度をフレーム毎に算出する。
移動平均レンジ調整部653は、移動平均のレンジを保持するとともに、入力された指先速度に基づいて、レンジを調整する。レンジは、移動平均を算出する際のフレーム数である。レンジの調整は、例えば、指先の速度が所定の閾値よりも大きい場合には、前のフレームで用いたレンジの数から1を減算して新たなレンジ数とし、指先の速度が所定の閾値よりも小さい場合には、前のフレームで用いたレンジの数に1を加算して新たなレンジ数とする。また、移動平均を算出する際のレンジには、上限値と下限値を設けてもよい。なお、調整するレンジは、±1としているが、指先の速度の変化が大きい場合には、調整するレンジを±1に限定しなくてもよく、例えば、調整するレンジを±2としてもよい。
移動平均算出部654は、ポインタ選択部64からポインタ(指先)の位置(現在の座標)が入力されると、移動平均レンジ調整部653から調整後のレンジを取得するとともに、座標記憶部651に記憶されたポインタ座標の履歴を読み出し、移動平均を算出し、補正後のポインタ(指先)の座標を出力する。
ポインタ状態情報生成部655は、ポインタ選択部64から出力されたポインタの形態(分類されたクラスがクラス0かクラス1か)に基づいて、ポインタが選択状態にあるか、非選択状態にあるかを示す情報(ポインタの状態情報)を生成して、ポインタ情報送信部66に出力する。
図21は移動平均のレンジ調整の一例を示す図である。前のフレーム(フレーム3)での移動平均算出のレンジを3とし、フレーム3から遡ってフレーム3、2、1の3つのフレームについて、それぞれの指先の位置に基づいて指先位置の移動平均を算出したとする。次のフレーム(フレーム4)における指先速度が閾値より大きい場合、前のフレームで用いたレンジから1を減算するので、レンジ数は2(=3-1)となり、フレーム4、3それぞれの指先の位置に基づいて指先位置の移動平均を算出する。また、次のフレームにおける指先速度が閾値より小さい場合、前のフレームで用いたレンジに1を加算するので、レンジ数は4(=3+1)となり、フレーム4、3、2、1それぞれの指先の位置に基づいて指先位置の移動平均を算出する。
上述のように、制御部51(又は画像処理部60)は、設定したポインタの位置の履歴をフレームに対応付けて記憶し、指先(指示体の端部)の移動速度に応じて移動平均を算出するためのフレーム数を調整し、調整したフレーム数分のフレームでのポインタの位置の移動平均を算出し、算出した移動平均に基づいてポインタの位置を設定してもよい。これにより、ポインタの位置の微小変動や、ポインタの移動の遅れによる違和感が生じる要因を除外することができる。
図22は実施形態5の画像処理部60の処理手順の一例を示す図である。以下では、処理の主体を便宜上、画像処理部60として説明する。画像処理部60は、ポインタの位置及び形態を取得し(S51)、ポインタの位置を履歴情報として記憶する(S52)。画像処理部60は、指先(ポインタ)の速度を算出し(S53)、指先の速度に応じて、ポインタ位置(指先位置)の移動平均算出のためのレンジを調整する(S54)。
画像処理部60は、調整したレンジでポインタ位置の移動平均を算出する(S55)。画像処理部60は、算出したポインタの位置、状態を示す情報を出力し(S56)、処理を終了する。
上述のように、指先速度に応じて、指先位置の移動平均を算出する際のレンジを調整するので、ポインタの表示が実際の指の動きよりも遅れ、ユーザに違和感を生じる要因を除外できる。また、フレーム毎にレンジの調整を±1としているので、ポインタ位置が不連続に変化することを抑制できる。
(実施形態6)
指先位置を検出する際に用いるサーチ軸の方向と指先が向いている方向とがずれていると、検出した指先位置がユーザの主観からずれたものになりやすい。実施形態6では、指先が向いている方向にサーチ軸の方向を補正する方法について説明する。
図23は実施形態6の画像処理部60の構成の一例を示す図である。前述の実施形態との相違点は、サーチ軸補正部67を備える点である。サーチ軸補正部67は、対象検出部61から初期サーチ軸方向(補正前のサーチ軸の方向に関する情報)を取得し、サーチ軸方向(補正後のサーチ軸の方向に関する情報)を対象検出部61へ出力する。
図24はサーチ軸補正部67の構成の一例を示す図であり、図25はサーチ軸の補正方法を示す図である。図24に示すように、サーチ軸補正部67は、対象先端検出部671、オフセット算出部672、指先領域両端検出部673、接線検出部674、及び二等分方向算出部675を備える。対象先端検出部671、オフセット算出部672、及び指先領域両端検出部673は、実施形態2の対象検出部61の対象先端検出部611、オフセット算出部612、及び指先領域両端検出部613と同様である。
対象先端検出部671は、カメラ10から取得した手指の画像上を初期サーチ軸方向に探索し、画像上で複数の指先が存在する場合、初期サーチ軸の最も上流側に相当する指先を指先先端として検出し、検出した指先先端位置(画像上の座標)を指先領域両端検出部673に出力する。
オフセット算出部672は、対象先端検出部671で使用した当初サーチ軸方向の情報を元に、当初サーチ軸方向の単位ベクトルに所定の係数を乗じてオフセットベクトルを算出する。
指先領域両端検出部673は、指先先端位置を始点としてオフセットベクトルを加算した終点位置を通り、当初サーチ軸と直交する方向(垂直方向)に、垂直方向軸を設定し、設定した垂直方向軸上で、親指及び人差し指それぞれの両端境界(図25の境界点)を検出する。
接線検出部674は、両端境界(境界点)のそれぞれに対して近傍の指のエッジをトレースし、境界点におけるエッジの接線を検出する。図25では、親指の境界点(人差し指と反対側の指のエッジ)を通る指エッジの接線と、人差し指の境界点(親指と反対側の指のエッジ)を通る指エッジの接線とが検出されている。
二等分方向算出部675は、検出した2つの接線がなす角を2等分する直線を導出し、導出した直線の指先の方向と反対方向の単位ベクトルを補正したサーチ軸方向として算出する。二等分方向算出部675は、補正したサーチ軸の方向に関する情報を対象検出部61へ出力する。
初期サーチ軸方向と指先の方向とが大きくずれている場合には、上述の手続きを一度実行しただけではサーチ軸方向と指先の方向のずれが残ることがある。その場合でも、補正したサーチ軸方向を当初サーチ軸方向として、上述の各処理を繰り返して、サーチ軸を順次更新することで、サーチ軸の方向を指先の方向に近づけることができる。
上述のように、制御部51(又は画像処理部60)は、取得した手指の画像に対して、所定方向のサーチ軸に沿って探索して指先の先端を検出し、検出した先端から所定距離だけ離隔し、サーチ軸と直交する直交軸(垂直方向軸)を設定し、設定した直交軸に沿って探索して第1の指(例えば、親指)及び第2の指(例えば、人差し指)それぞれの第1の外側境界点及び第2の外側境界点を検出し、検出した第1の外側境界点で第1の指の境界に接する第1の接線(例えば、親指エッジの接線)と、検出した第2の外側境界点で第2の指の境界に接する第2の接線(例えば、人差し指エッジの接線)とに基づいて、サーチ軸の方向を補正してもよい。これにより、検出した指先位置がユーザの主観からずれることを抑制できる。
実施形態6によれば、指先位置の検出前に、サーチ軸の方向を指先が向いている方向に近づけることができ、ユーザの主観からのずれを抑制することができる。
(実施形態7)
実施形態6は、指先の方向に基づいてサーチ軸の方向を補正する構成であったが、サーチ軸は、他の方法でも設定することができる。例えば、カメラ10のフレームレートが高い(大きい)場合、隣接するフレームの画像変化は小さく、指先の方向はほとんど変化しないことが期待される。実施形態7では、前フレームの情報を利用してサーチ軸を設定する方法について説明する。
図26は実施形態7の画像処理部60の構成の一例を示す図である。図23に示す実施形態6の画像処理部60との相違点は、追跡検出部68及びサーチ設定記憶部69を備える点である。
サーチ設定記憶部69は、前フレームで検出された指先毎の指先位置、前フレームで使用したサーチ軸方向(サーチ軸の方向に関する情報)を記録する。ただし、サーチ設定記憶部69は、ポインタ選択部64からポインタに該当しないクラスを取得した場合には、対応する指先の指先位置とサーチ軸方向の記録を削除する。サーチ設定記憶部69は、記録した前フレームで検出された指先毎の指先位置、前フレームで使用したサーチ軸方向を、次のフレームで追跡検出部68へ出力する。なお、指先毎の指先位置、サーチ軸方向が記録されていない場合には、追跡検出部68は動作しない。すなわち、追跡検出部68は、前フレームの情報(指先位置、サーチ軸方向)が存在する場合には動作し、存在しない場合には動作しない。
図27は追跡検出部68の構成の一例を示す図である。追跡検出部68は、対象先端検出部681、オフセット算出部682、指先領域両端検出部683、領域中点算出部684、及び指先位置算出部685を備える。対象先端検出部681、オフセット算出部682、指先領域両端検出部683、領域中点算出部684、及び指先位置算出部685は、対象検出部61の対象先端検出部611、オフセット算出部612、指先領域両端検出部613、領域中点算出部614、及び指先位置算出部615と同様である。
追跡検出部68は、前フレームで検出した指先位置と前フレームで使用したサーチ軸方向を参照して現フレームにおいて指先位置を検出する。具体的には、前フレームで認識した指先の方向で指先の先端を探索する際には、前フレームで検出した指先位置の近傍に探索範囲を限定する。探索する際には、前フレームで使用したサーチ軸方向を使用することができる。指先位置の近傍に探索範囲を限定するのは、隣接するフレーム間で指先の位置や方向はあまり変わらないと考えられるからである。
サーチ設定記憶部69に前フレームの情報(指先位置、サーチ軸方向)が記録されていない場合には、追跡検出部68に代わって対象検出部61が指先位置を検出する。
上述のように、制御部51(又は画像処理部60)は、ポインタの位置を設定した際に特定した指先の位置及びサーチ軸の方向をフレームに対応付けて記憶し、直近のフレームに対応付けられた指先の位置及びサーチ軸の方向が記憶されている場合、指先の位置を基準にしてサーチ軸に沿って探索して指先の先端を検出することにより、ポインタの位置を設定してもよい。
実施形態7によれば、右手又は左手に限らず、サーチ軸は1つのみでよく、前述の実施形態のように2つのサーチ軸を用いて探索する必要がなく、探索に要する処理時間や処理労力を低減できる。
なお、カメラの視野に新たに現れる指先を検出するために、2つ以上のサーチ軸を使用する探索も併用する必要がある。この場合、前フレームの情報を使用した探索をまず行い、次に2方向以上のサーチ軸を使った探索を行うことができる。2方向以上のサーチ軸を使った探索では、前フレームの情報を使用した探索で検出した指先位置を重複して検出しないように、その近傍の領域を探索対象から除外すればよい。
(実施形態8)
図28は指先先端の検出漏れの一例を示す図である。前述の実施形態の対象先端検出部611は、カメラ10から取得した手指の画像上をサーチ軸方向に探索し、画像上で複数の指先が存在する場合、サーチ軸の最も上流側に相当する指先を指先先端として検出し、検出した指先先端位置を指先領域両端検出部613に出力する。しかし、図28に示すように、手指の画像内に複数の指先が写っている場合があり、複数の指先の状態(ユーザによる手指の動作や姿勢など)によっては、サーチ軸方向の最上流の点を検出できるが、つまんだ形態などの必要な個所を見落とす可能性がある。実施形態8では、複数の指先先端を検出する方法について説明する。
図29は実施形態8の対象先端検出部611の構成の一例を示す図であり、図30は指先先端の検出方法を示す図である。図29に示すように、対象先端検出部611は、輪郭抽出部6111、サーチ軸投影部6112、及び局所上流点検出部6113を備える。
輪郭抽出部6111は、カメラ画像(手指の画像)に存在する対象物(手指)の輪郭を抽出し、抽出した輪郭の各画素(手指の外周上の画素)の座標リストを生成する。輪郭抽出部6111は、生成した座標リストをサーチ軸投影部6112へ出力する。
サーチ軸投影部6112は、取得した座標リストにある各画素をサーチ軸上に投影して、サーチ軸上の座標に変換する。サーチ軸上への投影は、サーチ軸に対して垂直方向に投影する。輪郭上(外周上)の座標をサーチ軸に投影することにより、図30に示すように、手指の外周上の位置とサーチ軸方向の位置とが関数によって対応付けられる。図30では、横軸が外周上位置を示し、縦軸がサーチ軸方向の位置を示す2次元座標系で関数を表すグラフが描かれている。
局所上流点検出部6113は、外周上位置を探索して、サーチ軸方向の位置を求め、予め設定した閾値以上の差分が存在する谷部分を指先先端の位置として検出する。図30に示すように、関数を表すグラフにおいて、指先を示す上流点には谷部分が相当する。適切な閾値を設定して、谷部分の両側に閾値以上の山部分があるような谷部分のすべてを局所的な上流点として検出する。
図30に示すように、親指の先端に対応する谷部Pは、その両側に閾値以上の山部分が存在するので、局所上流点として検出される。また、人差し指の先端(A点)は、親指の谷部分と一体化しているので、局所的上流点から除外する。ここで、親指の先端ではなく人差し指の先端が除外されるのは、親指の先端の方がサーチ軸方向のより上流側にあるからである。中指の先端(B点)に対応する谷部分P′は、その両側に閾値以上の山部分が存在するので、局所上流点として検出される。また、薬指の先端に対応する谷部は、その両側に閾値以上の山部分が存在しないので、局所的上流点から除外する。
上述のように、制御部51(又は画像処理部60)は、取得した手指の画像に基づいて手指の輪郭を特定し、特定した輪郭上の各点と所定方向のサーチ軸との距離とを対応付け、対応付けられた距離の極小点(局所的上流点)に対応する輪郭上の点を指先先端として特定してもよい。
実施形態8によれば、つまんだ形態などの必要な個所がサーチ軸方向の最上流にない場合でも確実に指先として検出できる。さらに、A点のような別の指先と一体化しているような箇所や、ノイズで偶発的に生じる微小な突起を検出することを抑制できる。
前述の各実施形態で説明した非接触ユーザインタフェースは、様々な分野における非接触ユーザインタフェースとして用いることができる。このような分野として一例を挙げれば、情報処理装置、車載機器、医療機器などで使用されるアプリケーションや操作装置が含まれる。以下では、車載機器で使用されるケースについて説明する。
図31は車載インタフェース装置の一例を示す図である。車載インタフェース装置は、ナビゲーション画面を非接触で操作する非接触ユーザインタフェース機能を備える。車載インタフェース装置は、前述の画像処理装置50、カメラ10を備えてもよい。
図31に示すように、ユーザ(運転者)は、ステアリングと自身との間の位置で親指と人差し指とを動かすと、不図示のカメラ10で撮影した手指の画像が画像処理装置50に送信される。カメラ10は、車内の適切な個所に設置すればよい。画像処理装置50は、ナビゲーション画面上に手指の画像を重畳表示する。この場合、手指の画像は、例えば、半透明にすることにより、ナビゲーション画面上の文字などの記号の視認性を維持できる。例えば、ユーザが、親指と人差し指とを離した状態で、親指と人差し指とを移動させることにより、ナビゲーション画面上の手指の画像を「履歴」アイコンの上に移動させることができる。そして、ユーザが親指と人差し指とをピンチする(つまむ)ことで、「履歴」アイコンを操作することができる。ナビゲーション画面上の他のアイコンも同様である。
手指の画像は、カメラ10で撮影された画像そのものでもよく、手指の画像を加工した画像を表示してもよい。加工した画像は、例えば、予め準備した代表的な手指像(実写でもよく、図でもよい)、ポインタを表す記号を含む。また、手指の画像を半透明で重畳表示する構成に代えて、ワイプ画像としてナビゲーション画面の一部に小さく表示してもよい。
制御部51(又は画像処理部60)は、取得した画像(手指の画像)又は取得した画像を加工した画像と、ポインタを表す記号とを表示画面に合成表示してもよい。
制御部51(又は画像処理部60)は、第1の指と第2の指とが離れた状態の手指の画像を表示画面に表示し、第1の指の指先と第2の指の指先との間にポインタを表示し、第1の指の指先と第2の指の指先とを接触させる動作を受け付けた場合、ポインタによって指示される表示画面上の操作を実行してもよい。手指の画像は、例えば、半透明で表示画面上に表示してもよい。これにより、表示画面上の各種操作アイコンの視認性を高めることができる。
上述のように、車載インタフェース装置は、制御部を備え、制御部は、手指が撮影された画像を取得し、取得した画像に基づき特定される第1の指の指先と第2の指の指先との間の位置に、第1の指の指先と第2の指の指先によって代表される位置を指定するポインタを設定し、車載機器操作用画面上に表示されたポインタによる操作を受け付ける。
なお、手指の画像が「履歴」アイコン上に移動した時点で、例えば、音声で「ピンチ動作をすれば、履歴を選択できます。」の如く出力することで、ユーザは、車両前方から視界を逸らすことなくナビゲーションを操作することができ、安全運転に寄与する。図31の例では、ナビゲーション画面を例に挙げて説明したが、車載機器はナビゲーション装置に限定されるものではなく、AV機器など他の車載機器でもよい。
上述の実施形態では、指示体として手指を例に挙げて説明したが、指示体は手指に限定されるものではない。例えば、鉗子などの手術用具、手指を模擬するロボットハンドなどであってもよい。また、手指に関しても、手袋をした状態などの裸の手指ではない状態であっても同様の効果を得ることができる。
(付記1)コンピュータプログラムは、コンピュータに、複数の指示体が撮影された画像を取得し、取得した画像に基づき特定される第1の指示体の端部と第2の指示体の端部との間の位置に、前記第1の指示体及び第2の指示体の端部によって代表される位置を指定するポインタを設定する、処理を実行させる。
(付記2)コンピュータプログラムは、付記1のコンピュータプログラムにおいて、前記複数の指示体が撮影された画像は、手指の画像であり、前記第1の指示体の端部及び前記第2の指示体の端部は、第1の指の指先及び第2の指の指先であり、コンピュータに、前記第1の指の指先と前記第2の指の指先との中間位置に前記ポインタを設定する、処理を実行させる。
(付記3)コンピュータプログラムは、付記2のコンピュータプログラムにおいて、前記第1の指及び前記第2の指のいずれか一方は、親指であり、コンピュータに、前記親指の腹に前記ポインタを設定する、処理を実行させる。
(付記4)コンピュータプログラムは、付記2又は付記3のコンピュータプログラムにおいて、コンピュータに、取得した手指の画像に対して、所定方向のサーチ軸に沿って探索して指先の先端を検出し、前記先端から所定距離だけ離隔し前記サーチ軸と直交する直交軸を設定し、設定した直交軸に沿って探索して第1の指及び第2の指それぞれの外側境界を検出し、検出した外側境界の中点を特定し、特定した中点に基づいて前記ポインタを設定する、処理を実行させる。
(付記5)コンピュータプログラムは、付記4のコンピュータプログラムにおいて、コンピュータに、前記中点から前記サーチ軸と平行な方向に所定距離だけオフセットした位置に前記ポインタを設定する、処理を実行させる。
(付記6)コンピュータプログラムは、付記1から付記5のいずれかのコンピュータプログラムにおいて、コンピュータに、設定したポインタの位置を所要の位置に移動させるための移動量を設定する操作を受け付ける、処理を実行させる。
(付記7)コンピュータプログラムは、付記1から付記6のいずれかのコンピュータプログラムにおいて、コンピュータに、前記ポインタの複数の位置を候補位置として選択可能に表示し、表示された候補位置の中からポインタの位置を選定する操作を受け付ける、処理を実行させる。
(付記8)コンピュータプログラムは、付記2から付記5のいずれかのコンピュータプログラムにおいて、コンピュータに、手指の画像を入力した場合に、第1の指と第2の指とが接触する第1の形態か、または、第1の指と第2の指とが離れる第2の形態かを含む分類情報を出力するように生成された学習モデルに、手指の画像を入力し、前記学習モデルが出力する分類情報に応じて、前記第1の指の指先と前記第2の指の指先との間に位置するポインタの表示態様を切り替える、処理を実行させる。
(付記9)コンピュータプログラムは、付記8のコンピュータプログラムにおいて、コンピュータに、手指までの距離を特定し、特定した距離に基づいて前記学習モデルに入力する画像のサイズを調整し、調整後の画像を前記学習モデルに入力する、処理を実行させる。
(付記10)コンピュータプログラムは、付記1から付記9のいずれかのコンピュータプログラムにおいて、コンピュータに、取得した画像又は前記画像を加工した画像と、前記ポインタを表す記号とを表示画面に合成表示する、処理を実行させる。
(付記11)コンピュータプログラムは、付記2から付記10のいずれかのコンピュータプログラムにおいて、コンピュータに、第1の指と第2の指とが離れた状態の手指の画像を表示画面に表示し、前記第1の指の指先と前記第2の指の指先との間にポインタを表示し、前記第1の指の指先と前記第2の指の指先とを接触させる動作を受け付けた場合、前記ポインタによって指示される前記表示画面上の操作を実行する、処理を実行させる。
(付記12)コンピュータプログラムは、付記1から付記11のいずれかのコンピュータプログラムにおいて、コンピュータに、設定したポインタの位置の履歴をフレームに対応付けて記憶し、前記指示体の端部の移動速度に応じて移動平均を算出するためのフレーム数を調整し、調整したフレーム数分のフレームでのポインタの位置の移動平均を算出し、算出した移動平均に基づいて前記ポインタの位置を設定する、処理を実行させる。
(付記13)コンピュータプログラムは、付記2から付記5のいずれかのコンピュータプログラムにおいて、コンピュータに、取得した手指の画像に対して、所定方向のサーチ軸に沿って探索して指先の先端を検出し、前記先端から所定距離だけ離隔し、前記サーチ軸と直交する直交軸を設定し、設定した直交軸に沿って探索して第1の指及び第2の指それぞれの第1の外側境界点及び第2の外側境界点を検出し、検出した第1の外側境界点で前記第1の指の境界に接する第1の接線と、検出した第2の外側境界点で前記第2の指の境界に接する第2の接線とに基づいて前記サーチ軸の方向を補正する、処理を実行させる。
(付記14)コンピュータプログラムは、付記2から付記5のいずれかのコンピュータプログラムにおいて、コンピュータに、ポインタの位置を設定した際に特定した指先の位置及びサーチ軸の方向をフレームに対応付けて記憶し、直近のフレームに対応付けられた指先の位置及びサーチ軸の方向が記憶されている場合、前記指先の位置を基準にして前記サーチ軸に沿って探索して指先の先端を検出することにより、前記ポインタの位置を設定する、処理を実行させる。
(付記15)コンピュータプログラムは、付記2から付記5のいずれかのコンピュータプログラムにおいて、コンピュータに、取得した手指の画像に基づいて手指の輪郭を特定し、特定した輪郭上の各点と所定方向のサーチ軸との距離とを対応付け、前記距離の極小点に対応する前記輪郭上の点を指先先端として特定する、処理を実行させる。
(付記16)画像処理装置は、制御部を備え、前記制御部は、複数の指示体が撮影された画像を取得し、取得した画像に基づき特定される第1の指示体の端部と第2の指示体の端部との間の位置に、前記第1の指示体及び第2の指示体の端部によって代表される位置を指定するポインタを設定する。
(付記17)画像処理装置は、付記16の画像処理装置において、前記制御部は、前記複数の指示体がTOFカメラで撮影された画像を取得する。
(付記18)画像処理方法は、複数の指示体が撮影された画像を取得し、取得した画像に基づき特定される第1の指示体の端部と第2の指示体の端部との間の位置に、前記第1の指示体及び第2の指示体の端部によって代表される位置を指定するポインタを設定する。
(付記19)車載インタフェース装置は、制御部を備え、前記制御部は、複数の指示体が撮影された画像を取得し、取得した画像に基づき特定される第1の指示体の端部と第2の指示体の端部との間の位置に、前記第1の指示体及び第2の指示体の端部によって代表される位置を指定するポインタを設定し、車載機器操作用画面上に表示された前記ポインタによる操作を受け付ける。
各実施形態に記載した事項は相互に組み合わせることが可能である。また、特許請求の範囲に記載した独立請求項及び従属請求項は、引用形式に関わらず全てのあらゆる組み合わせにおいて、相互に組み合わせることが可能である。さらに、特許請求の範囲には他の2以上のクレームを引用するクレームを記載する形式(マルチクレーム形式)を用いているが、これに限るものではない。マルチクレームを少なくとも一つ引用するマルチクレーム(マルチマルチクレーム)を記載する形式を用いて記載してもよい。
10 カメラ
20 表示装置
50 画像処理装置
51 制御部
52 通信部
53 メモリ
54 操作部
55 記憶部
56 コンピュータプログラム
57 学習モデル
58 記録媒体読取部
59 記録媒体
60 画像処理部
61 対象検出部
610 サイズ算出部
611 対象先端検出部
6111 輪郭抽出部
6112 サーチ軸投影部
6113 局所上流点検出部
612 オフセット算出部
613 指先領域両端検出部
614 領域中点算出部
615 指先位置算出部
616 指先両端検出部
617 親指選択部
618 親指腹位置算出部
619 先端距離検出部
62 画像切り出し部
63 形態認識部
64 ポインタ選択部
65 ポインタ情報生成部
651 座標記憶部
652 指先速度算出部
653 移動平均レンジ調整部
654 移動平均算出部
655 ポインタ状態情報生成部
66 ポインタ情報送信部
67 サーチ軸補正部
671 対象先端検出部
672 オフセット算出部
673 指先領域両端検出部
674 接線検出部
675 二等分方向算出部
68 追跡検出部
681 対象先端検出部
682 オフセット算出部
683 指先領域両端検出部
684 領域中点算出部
685 指先位置算出部
69 サーチ設定記憶部
100 非接触ユーザインタフェースシステム

Claims (19)

  1. コンピュータに、
    複数の指示体が撮影された画像を取得し、
    取得した画像に基づき特定される第1の指示体の端部と第2の指示体の端部との間の位置に、前記第1の指示体及び第2の指示体の端部によって代表される位置を指定するポインタを設定する、
    処理を実行させるコンピュータプログラム。
  2. 前記複数の指示体が撮影された画像は、手指の画像であり、
    前記第1の指示体の端部及び前記第2の指示体の端部は、第1の指の指先及び第2の指の指先であり、
    コンピュータに、
    前記第1の指の指先と前記第2の指の指先との中間位置に前記ポインタを設定する、
    処理を実行させる請求項1に記載のコンピュータプログラム。
  3. 前記第1の指及び前記第2の指のいずれか一方は、親指であり、
    コンピュータに、
    前記親指の腹に前記ポインタを設定する、
    処理を実行させる請求項2に記載のコンピュータプログラム。
  4. コンピュータに、
    取得した手指の画像に対して、所定方向のサーチ軸に沿って探索して指先の先端を検出し、
    前記先端から所定距離だけ離隔し前記サーチ軸と直交する直交軸を設定し、
    設定した直交軸に沿って探索して第1の指及び第2の指それぞれの外側境界を検出し、
    検出した外側境界の中点を特定し、
    特定した中点に基づいて前記ポインタを設定する、
    処理を実行させる請求項2に記載のコンピュータプログラム。
  5. コンピュータに、
    前記中点から前記サーチ軸と平行な方向に所定距離だけオフセットした位置に前記ポインタを設定する、
    処理を実行させる請求項4に記載のコンピュータプログラム。
  6. コンピュータに、
    設定したポインタの位置を所要の位置に移動させるための移動量を設定する操作を受け付ける、
    処理を実行させる請求項1から請求項5のいずれか一項に記載のコンピュータプログラム。
  7. コンピュータに、
    前記ポインタの複数の位置を候補位置として選択可能に表示し、
    表示された候補位置の中からポインタの位置を選定する操作を受け付ける、
    処理を実行させる請求項1から請求項5のいずれか一項に記載のコンピュータプログラム。
  8. コンピュータに、
    手指の画像を入力した場合に、第1の指と第2の指とが接触する第1の形態か、または、第1の指と第2の指とが離れる第2の形態かを含む分類情報を出力するように生成された学習モデルに、手指の画像を入力し、
    前記学習モデルが出力する分類情報に応じて、前記第1の指の指先と前記第2の指の指先との間に位置するポインタの表示態様を切り替える、
    処理を実行させる請求項2に記載のコンピュータプログラム。
  9. コンピュータに、
    手指までの距離を特定し、
    特定した距離に基づいて前記学習モデルに入力する画像のサイズを調整し、
    調整後の画像を前記学習モデルに入力する、
    処理を実行させる請求項8に記載のコンピュータプログラム。
  10. コンピュータに、
    取得した画像又は前記画像を加工した画像と、前記ポインタを表す記号とを表示画面に合成表示する、
    処理を実行させる請求項1から請求項5のいずれか一項に記載のコンピュータプログラム。
  11. コンピュータに、
    第1の指と第2の指とが離れた状態の手指の画像を表示画面に表示し、
    前記第1の指の指先と前記第2の指の指先との間にポインタを表示し、
    前記第1の指の指先と前記第2の指の指先とを接触させる動作を受け付けた場合、前記ポインタによって指示される前記表示画面上の操作を実行する、
    処理を実行させる請求項2から請求項5のいずれか一項に記載のコンピュータプログラム。
  12. コンピュータに、
    設定したポインタの位置の履歴をフレームに対応付けて記憶し、
    前記指示体の端部の移動速度に応じて移動平均を算出するためのフレーム数を調整し、
    調整したフレーム数分のフレームでのポインタの位置の移動平均を算出し、
    算出した移動平均に基づいて前記ポインタの位置を設定する、
    処理を実行させる請求項1から請求項5のいずれか一項に記載のコンピュータプログラム。
  13. コンピュータに、
    取得した手指の画像に対して、所定方向のサーチ軸に沿って探索して指先の先端を検出し、
    前記先端から所定距離だけ離隔し、前記サーチ軸と直交する直交軸を設定し、
    設定した直交軸に沿って探索して第1の指及び第2の指それぞれの第1の外側境界点及び第2の外側境界点を検出し、
    検出した第1の外側境界点で前記第1の指の境界に接する第1の接線と、検出した第2の外側境界点で前記第2の指の境界に接する第2の接線とに基づいて前記サーチ軸の方向を補正する、
    処理を実行させる請求項2に記載のコンピュータプログラム。
  14. コンピュータに、
    ポインタの位置を設定した際に特定した指先の位置及びサーチ軸の方向をフレームに対応付けて記憶し、
    直近のフレームに対応付けられた指先の位置及びサーチ軸の方向が記憶されている場合、前記指先の位置を基準にして前記サーチ軸に沿って探索して指先の先端を検出することにより、前記ポインタの位置を設定する、
    処理を実行させる請求項2に記載のコンピュータプログラム。
  15. コンピュータに、
    取得した手指の画像に基づいて手指の輪郭を特定し、
    特定した輪郭上の各点と所定方向のサーチ軸との距離とを対応付け、
    前記距離の極小点に対応する前記輪郭上の点を指先先端として特定する、
    処理を実行させる請求項2に記載のコンピュータプログラム。
  16. 制御部を備え、
    前記制御部は、
    複数の指示体が撮影された画像を取得し、
    取得した画像に基づき特定される第1の指示体の端部と第2の指示体の端部との間の位置に、前記第1の指示体及び第2の指示体の端部によって代表される位置を指定するポインタを設定する、
    画像処理装置。
  17. 前記制御部は、
    前記複数の指示体がTOFカメラで撮影された画像を取得する、
    請求項16に記載の画像処理装置。
  18. 複数の指示体が撮影された画像を取得し、
    取得した画像に基づき特定される第1の指示体の端部と第2の指示体の端部との間の位置に、前記第1の指示体及び第2の指示体の端部によって代表される位置を指定するポインタを設定する、
    画像処理方法。
  19. 制御部を備え、
    前記制御部は、
    複数の指示体が撮影された画像を取得し、
    取得した画像に基づき特定される第1の指示体の端部と第2の指示体の端部との間の位置に、前記第1の指示体及び第2の指示体の端部によって代表される位置を指定するポインタを設定し、
    車載機器操作用画面上に表示された前記ポインタによる操作を受け付ける、
    車載インタフェース装置。
JP2022076295A 2022-05-02 2022-05-02 コンピュータプログラム、画像処理装置、画像処理方法及び車載インタフェース装置 Pending JP2023165361A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022076295A JP2023165361A (ja) 2022-05-02 2022-05-02 コンピュータプログラム、画像処理装置、画像処理方法及び車載インタフェース装置
PCT/JP2023/016793 WO2023214542A1 (ja) 2022-05-02 2023-04-28 コンピュータプログラム、画像処理装置、画像処理方法及び車載インタフェース装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022076295A JP2023165361A (ja) 2022-05-02 2022-05-02 コンピュータプログラム、画像処理装置、画像処理方法及び車載インタフェース装置

Publications (1)

Publication Number Publication Date
JP2023165361A true JP2023165361A (ja) 2023-11-15

Family

ID=88646480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022076295A Pending JP2023165361A (ja) 2022-05-02 2022-05-02 コンピュータプログラム、画像処理装置、画像処理方法及び車載インタフェース装置

Country Status (2)

Country Link
JP (1) JP2023165361A (ja)
WO (1) WO2023214542A1 (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012248067A (ja) * 2011-05-30 2012-12-13 Canon Inc 情報入力装置、その制御方法、および制御プログラム
US20150035746A1 (en) * 2011-12-27 2015-02-05 Andy Cockburn User Interface Device
US8902198B1 (en) * 2012-01-27 2014-12-02 Amazon Technologies, Inc. Feature tracking for device input
US20150220149A1 (en) * 2012-02-14 2015-08-06 Google Inc. Systems and methods for a virtual grasping user interface
EP2891950B1 (en) * 2014-01-07 2018-08-15 Sony Depthsensing Solutions Human-to-computer natural three-dimensional hand gesture based navigation method
WO2019178114A1 (en) * 2018-03-13 2019-09-19 Magic Leap, Inc. Gesture recognition system and method of using same
US10802600B1 (en) * 2019-09-20 2020-10-13 Facebook Technologies, Llc Virtual interactions at a distance
US11256336B2 (en) * 2020-06-29 2022-02-22 Facebook Technologies, Llc Integration of artificial reality interaction modes

Also Published As

Publication number Publication date
WO2023214542A1 (ja) 2023-11-09

Similar Documents

Publication Publication Date Title
US11314335B2 (en) Systems and methods of direct pointing detection for interaction with a digital device
US10732725B2 (en) Method and apparatus of interactive display based on gesture recognition
US8345008B2 (en) Apparatus and method for providing adaptive on-screen keyboard
US9477874B2 (en) Method using a touchpad for controlling a computerized system with epidermal print information
US20130069867A1 (en) Information processing apparatus and method and program
JP5604279B2 (ja) ジェスチャー認識装置、方法、プログラム、および該プログラムを格納したコンピュータ可読媒体
US20230152902A1 (en) Gesture recognition system and method of using same
US10678342B2 (en) Method of virtual user interface interaction based on gesture recognition and related device
US9916043B2 (en) Information processing apparatus for recognizing user operation based on an image
US20100245245A1 (en) Spatial input operation display apparatus
US20150363038A1 (en) Method for orienting a hand on a touchpad of a computerized system
CN107273869B (zh) 手势识别控制方法和电子设备
US7999957B2 (en) Input position setting method, input position setting device, input position setting program, and information input system
US10331333B2 (en) Touch digital ruler
WO2023214542A1 (ja) コンピュータプログラム、画像処理装置、画像処理方法及び車載インタフェース装置
US11017258B2 (en) Alignment of user input on a screen
US20220050528A1 (en) Electronic device for simulating a mouse
JP2021009552A (ja) 情報処理装置、情報処理方法およびプログラム
JP2015191250A (ja) 情報処理装置、及びその制御方法、プログラム、記録媒体
US11789543B2 (en) Information processing apparatus and information processing method
US20230229380A1 (en) Input display control device, input display control method, and input display system
WO2021161769A1 (ja) 情報処理装置、情報処理方法、およびプログラム
US20230419733A1 (en) Devices and methods for single or multi-user gesture detection using computer vision
Ahn et al. A VR/AR Interface Design based on Unaligned Hand Position and Gaze Direction
KR101629737B1 (ko) 문자 입력 장치, 문자 입력 방법, 문자 입력을 위한 컴퓨터 판독가능 기록매체 및 컴퓨터 프로그램