[go: up one dir, main page]

JP2012073659A - Operation determination device, fingertip detection device, operation determination method, fingertip detection method, operation determination program, and fingertip detection program - Google Patents

Operation determination device, fingertip detection device, operation determination method, fingertip detection method, operation determination program, and fingertip detection program Download PDF

Info

Publication number
JP2012073659A
JP2012073659A JP2010203748A JP2010203748A JP2012073659A JP 2012073659 A JP2012073659 A JP 2012073659A JP 2010203748 A JP2010203748 A JP 2010203748A JP 2010203748 A JP2010203748 A JP 2010203748A JP 2012073659 A JP2012073659 A JP 2012073659A
Authority
JP
Japan
Prior art keywords
fingertip
predetermined range
user
portion corresponding
pixel
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
JP2010203748A
Other languages
Japanese (ja)
Inventor
Hiroshi Uejima
拓 上島
Daisuke Kura
大輔 倉
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.)
SSD Co Ltd
Original Assignee
SSD Co Ltd
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 SSD Co Ltd filed Critical SSD Co Ltd
Priority to JP2010203748A priority Critical patent/JP2012073659A/en
Priority to PCT/JP2011/069719 priority patent/WO2012029833A1/en
Publication of JP2012073659A publication Critical patent/JP2012073659A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an operation determination device which determines that click operation is performed from a gesture which is easy for a user to make.SOLUTION: When a fingertip 50 enters a nearly stationary state, a rectangular range 52 is set which includes the latest fingertip 50 in the center (S2000). When the fingertip 50 which is as large as a predetermined past number is present within a certain distance from the latest fingertip 50, it is determined that the fingertip 50 is in the nearly stationary state. It is considered that a single click is made when the fingertip 50 disappears from the rectangular range 52 within a certain time TC after the setting of the rectangular range 52 and is not present within the rectangular range 52 (S2002), and then appears within the rectangular range 52 again and is present within the rectangular range 52 (S2004).

Description

本発明は、ジェスチャにより非接触で機器を操作する際に、クリック操作が行なわれたか否かを判定する操作判定装置及びその関連技術に関する。   The present invention relates to an operation determination device that determines whether or not a click operation has been performed when operating a device in a non-contact manner using a gesture, and a related technology.

また、本発明は、ジェスチャにより非接触で機器を操作する際に、擬似的にボタン操作が行なわれたか否かを判定する操作判定装置及びその関連技術に関する。   The present invention also relates to an operation determination device that determines whether or not a pseudo button operation has been performed when operating a device in a non-contact manner using a gesture and related technology.

さらに、本発明は、人の手を撮像して、撮像画像から指先を検出する指先検出装置及びその関連技術に関する。   Furthermore, the present invention relates to a fingertip detection apparatus that detects an image of a human hand and detects a fingertip from a captured image, and a related technology.

特許文献1のカーソル操作装置は、カメラにより三次元空間中のユーザのジェスチャを検出して、非接触で機器を操作するためのカーソルを制御する。つまり、このカーソル操作装置は、画面を指し示す指先を検出し、その指先の位置に対応する画面上の位置にカーソルを表示する。そして、カーソル操作装置は、画面に表示されたボタンの上にカーソルが一定時間滞在すると、クリック操作がなされたと判断し、そのボタンが押下されたとみなす。   The cursor operation device of Patent Document 1 detects a user gesture in a three-dimensional space with a camera, and controls a cursor for operating a device in a non-contact manner. That is, this cursor operation device detects a fingertip pointing to the screen and displays the cursor at a position on the screen corresponding to the position of the fingertip. Then, when the cursor stays on the button displayed on the screen for a certain period of time, the cursor operation device determines that a click operation has been performed and considers that the button has been pressed.

特開2004−258837JP 2004-258837 A

しかしながら、ユーザは、クリック操作のために、指先を一定時間静止させなければならず、それを三次元空間中で行なうのは、困難な場合も多い。   However, the user must keep the fingertip stationary for a certain time for the click operation, and it is often difficult to perform it in the three-dimensional space.

また、カメラによる画像の精度でしか、指先の位置を求めることができない。従って、カメラの画像が低解像度で、カーソルを表示する画面が高解像度である場合、カーソルを滑らかに動かすことができず、不連続な動きになる。   Also, the position of the fingertip can be obtained only with the accuracy of the image from the camera. Therefore, when the camera image has a low resolution and the screen on which the cursor is displayed has a high resolution, the cursor cannot be moved smoothly, resulting in discontinuous movement.

そこで、本発明は、ユーザにとって容易なジェスチャにより、クリック操作が行なわれたと判定する操作判定装置及びその関連技術を提供することを目的とする。   Therefore, an object of the present invention is to provide an operation determination device that determines that a click operation has been performed with a gesture that is easy for the user and related technology.

本発明の他の目的は、ユーザにとって容易なジェスチャにより、擬似的にボタン操作が行なわれたと判定する操作判定装置及びその関連技術を提供することである。   Another object of the present invention is to provide an operation determination device and related technology for determining that a button operation has been performed in a pseudo manner by a gesture that is easy for the user.

本発明のさらに他の目的は、人の指を撮影して得られた低解像度の画像から、高精度で指先の位置を検出することができ、かつ、記憶容量の削減と処理の高速化を図ることができる指先検出装置及びその関連技術を提供することである。   Still another object of the present invention is to detect the position of the fingertip with high accuracy from a low resolution image obtained by photographing a human finger, and to reduce the storage capacity and increase the processing speed. It is an object of the present invention to provide a fingertip detection device and related technology that can be realized.

本発明の第1の観点によれば、操作判定装置は、三次元空間中で動かされるユーザの手を撮影する撮影手段と、撮影により得られた画像から、前記ユーザの指先に相当する部分を検出する検出手段と、検出された前記指先に相当する部分を含む所定範囲を設定する設定手段と、前記設定手段が、前記所定範囲を設定した後、前記指先に相当する部分が消失したか否かを判断する第1判断手段と、前記第1判断手段が、前記指先に相当する部分が前記所定範囲から消失したと判断した後、前記指先に相当する部分が前記所定範囲に出現したか否かを判断する第2判断手段と、前記第2判断手段が、前記指先に相当する部分が前記所定範囲に出現したと判断した場合に、クリック操作が行なわれたと判定する判定手段と、を備える。   According to the first aspect of the present invention, an operation determination device includes a photographing unit that photographs a user's hand moved in a three-dimensional space, and a portion corresponding to the fingertip of the user from an image obtained by photographing. Detecting means for detecting; setting means for setting a predetermined range including a portion corresponding to the detected fingertip; and whether the portion corresponding to the fingertip has disappeared after the setting means has set the predetermined range. First judgment means for judging whether or not the part corresponding to the fingertip has appeared in the predetermined range after the first judgment means judges that the part corresponding to the fingertip has disappeared from the predetermined range Second determining means for determining whether or not the second determining means determines that a click operation has been performed when it is determined that a portion corresponding to the fingertip has appeared in the predetermined range. .

この構成によれば、ユーザは、三次元空間中で、1本指を立てた状態から、その指を折って、再び、元の立てた状態に戻すというジェスチャを行なうだけで、非接触のクリック操作を行なうことができる。このように、ユーザにとって容易なジェスチャにより、クリック操作を行なうことができる。   According to this configuration, the user can perform a non-contact click by simply performing a gesture of folding a finger from a state where one finger is raised and returning to the original state again in a three-dimensional space. The operation can be performed. In this way, a click operation can be performed with a gesture that is easy for the user.

このような人のジェスチャでは、指が曲げられた後、指先が、ほぼ元の位置に戻ることが、本願発明者の実験により検証されている。このため、このようなジェスチャを検出することにより、クリック操作が行なわれたか否かを、安定して、かつ、確実に、つまり、高い再現性をもって、判断できる。   In such a human gesture, it has been verified by experiments of the present inventor that the fingertip returns almost to its original position after the finger is bent. Therefore, by detecting such a gesture, it can be determined stably and surely, that is, with high reproducibility, whether or not a click operation has been performed.

この操作判定装置において、前記設定手段は、検出された前記指先に相当する部分の動きが一定範囲内に収まっている場合に、前記所定範囲を設定する。   In this operation determination device, the setting means sets the predetermined range when the detected movement of the portion corresponding to the fingertip is within a certain range.

この構成によれば、前記指先に相当する部分の動きが一定範囲内に収まっている場合に、ユーザがクリック操作を行なうことを意図しているとみなし、所定範囲を設定し、これをトリガとして、ユーザがクリック操作に対応するジェスチャを行ったか否かを判定できる。このため、ユーザが当該ジェスチャを行なったか否かを、常に判定する必要がなく、処理負荷を軽減できる。   According to this configuration, when the movement of the portion corresponding to the fingertip is within a certain range, it is assumed that the user intends to perform a click operation, the predetermined range is set, and this is used as a trigger. It can be determined whether or not the user has made a gesture corresponding to the click operation. For this reason, it is not always necessary to determine whether or not the user has made the gesture, and the processing load can be reduced.

上記操作判定装置において、前記設定手段は、前記所定範囲が設定されてから第1所定時間内に、前記第1判断手段が、前記指先に相当する部分が前記所定範囲から消失したと判断しない場合、前記所定範囲を解除する。   In the operation determination device, when the setting unit does not determine that the portion corresponding to the fingertip has disappeared from the predetermined range within a first predetermined time after the predetermined range is set. The predetermined range is canceled.

この構成によれば、第1所定時間内に、第1判断手段が、指先に相当する部分が所定範囲から消失したと判断しない場合、ユーザがクリック操作を行なうことを意図していないとみなして、ユーザの意図に反してクリック操作が行なわれたと判定されることを防止できる。つまり、一般にクリック操作は素早く行なわれるところ、第1所定時間を適切に設定することにより、同一の動きであっても、クリック操作を意図したジェスチャ以外の動きを除外して、誤判定を防止できる。   According to this configuration, if the first determination means does not determine that the portion corresponding to the fingertip has disappeared from the predetermined range within the first predetermined time, it is considered that the user does not intend to perform a click operation. Therefore, it can be determined that a click operation is performed against the user's intention. In other words, in general, a click operation is performed quickly, but by appropriately setting the first predetermined time, even if the movement is the same, a movement other than the gesture intended for the click operation can be excluded and erroneous determination can be prevented. .

この操作判定装置において、前記設定手段は、前記所定範囲が設定されてから前記第1所定時間内に、前記第2判断手段が、前記指先に相当する部分が前記所定範囲に出現したと判断しない場合、前記所定範囲を解除する。   In this operation determination device, the setting means does not determine that the portion corresponding to the fingertip has appeared in the predetermined range within the first predetermined time after the predetermined range is set. In the case, the predetermined range is canceled.

この構成によれば、第1所定時間内に、第2判断手段が、指先に相当する部分が所定範囲に出現したと判断しない場合、ユーザがクリック操作を行なうことを意図していないとみなして、ユーザの意図に反してクリック操作が行なわれたと判定されることを防止できる。つまり、一般にクリック操作は素早く行なわれるところ、第1所定時間を適切に設定することにより、同一の動きであっても、クリック操作を意図したジェスチャ以外の動きを除外して、誤判定を防止できる。   According to this configuration, if the second determination means does not determine that the portion corresponding to the fingertip has appeared in the predetermined range within the first predetermined time, it is considered that the user does not intend to perform a click operation. Therefore, it can be determined that a click operation is performed against the user's intention. In other words, in general, a click operation is performed quickly, but by appropriately setting the first predetermined time, even if the movement is the same, a movement other than the gesture intended for the click operation can be excluded and erroneous determination can be prevented. .

また、上記操作判定装置において、前記設定手段は、前記第1判断手段が、前記指先に相当する部分が前記所定範囲から消失したと判断した後、第2所定時間内に、前記第2判断手段が、前記指先に相当する部分が前記所定範囲に出現したと判断しない場合、前記所定範囲を解除することもできる。   Further, in the operation determination device, the setting means includes the second determination means within a second predetermined time after the first determination means determines that the portion corresponding to the fingertip has disappeared from the predetermined range. However, when it is not determined that the portion corresponding to the fingertip has appeared in the predetermined range, the predetermined range can be canceled.

この構成によれば、第2所定時間内に、第2判断手段が、指先に相当する部分が所定範囲に出現したと判断しない場合、ユーザがクリック操作を行なうことを意図していないとみなして、ユーザの意図に反してクリック操作が行なわれたと判定されることを防止できる。つまり、一般にクリック操作は素早く行なわれるところ、第2所定時間を適切に設定することにより、同一の動きであっても、クリック操作を意図したジェスチャ以外の動きを除外して、誤判定を防止できる。   According to this configuration, when the second determination unit does not determine that the portion corresponding to the fingertip has appeared in the predetermined range within the second predetermined time, it is considered that the user does not intend to perform the click operation. Therefore, it can be determined that a click operation is performed against the user's intention. That is, in general, a click operation is performed quickly, but by appropriately setting the second predetermined time, even if the movement is the same, movement other than the gesture intended for the click operation can be excluded to prevent erroneous determination. .

上記操作判定装置は、前記第2判断手段が、前記指先に相当する部分が前記所定範囲に出現したと判断した後、前記指先に相当する部分が消失したか否かを判断する第3判断手段と、前記第3判断手段が、前記指先に相当する部分が前記所定範囲から消失したと判断した後、前記指先に相当する部分が前記所定範囲に出現したか否かを判断する第4判断手段と、をさらに備え、前記判定手段は、前記第4判断手段が、前記指先に相当する部分が前記所定範囲に出現したと判断した場合に、ダブルクリック操作が行なわれたと判定する。   The operation determining apparatus is configured to determine whether the portion corresponding to the fingertip has disappeared after the second determining portion determines that the portion corresponding to the fingertip has appeared in the predetermined range. And the third determining means determines whether or not the portion corresponding to the fingertip has appeared in the predetermined range after determining that the portion corresponding to the fingertip has disappeared from the predetermined range. The determination unit determines that a double-click operation has been performed when the fourth determination unit determines that a portion corresponding to the fingertip has appeared in the predetermined range.

この構成によれば、ユーザは、三次元空間中で、1本指を立てた状態から、その指を折って、再び、元の立てた状態に戻し、さらに、再び、その指を折って、再び、元の立てた状態に戻すというジェスチャを行なうだけで、つまり、上記クリック操作(シングルクリック操作)のためのジェスチャを2回行なうだけで、非接触のダブルクリック操作を行なうことができる。このように、ユーザにとって容易なジェスチャにより、ダブルクリック操作を行なうことができる。   According to this configuration, in the three-dimensional space, the user folds the finger from the state where one finger is raised, returns it to the original state, and further folds the finger again. A non-contact double-click operation can be performed only by performing the gesture of returning to the original standing state again, that is, by performing the gesture for the click operation (single click operation) twice. In this way, a double click operation can be performed with a gesture that is easy for the user.

このようなダブルクリック操作は、上記シングルクリック操作を2回行うものであるところ、折り曲げられた指先は、2回とも、ほぼ同じ位置に戻ってくることが、本願発明者の実験により検証されている。このため、このようなジェスチャを検出することにより、ダブルクリック操作が行なわれたか否かを、安定して、かつ、確実に、つまり、高い再現性をもって、判断できる。   Such a double click operation is performed by performing the single click operation twice. However, it has been verified by experiments of the present inventor that the folded fingertip returns to almost the same position both times. Yes. For this reason, by detecting such a gesture, it can be determined stably and reliably, that is, with high reproducibility, whether or not a double-click operation has been performed.

この操作判定装置において、前記設定手段は、前記所定範囲が設定されてから前記第1所定時間内に、前記第3判断手段が、前記指先に相当する部分が前記所定範囲から消失したと判断しない場合、前記所定範囲を解除する。   In this operation determination device, the setting means does not determine that the portion corresponding to the fingertip has disappeared from the predetermined range within the first predetermined time after the predetermined range is set. In the case, the predetermined range is canceled.

この構成によれば、第1所定時間内に、第3判断手段が、指先に相当する部分が所定範囲から消失したと判断しない場合、ユーザがダブルクリック操作を行なうことを意図していないとみなして、ユーザの意図に反してダブルクリック操作が行なわれたと判定されることを防止できる。つまり、一般にダブルクリック操作は素早く行なわれるところ、第1所定時間を適切に設定することにより、同一の動きであっても、ダブルクリック操作を意図したジェスチャ以外の動きを除外して、誤判定を防止できる。   According to this configuration, if the third determination means does not determine that the portion corresponding to the fingertip has disappeared from the predetermined range within the first predetermined time, it is considered that the user does not intend to perform a double-click operation. Thus, it can be determined that a double-click operation has been performed against the user's intention. That is, in general, a double-click operation is performed quickly. However, by appropriately setting the first predetermined time, even if the movement is the same, a movement other than a gesture intended for the double-click operation is excluded, and an erroneous determination is made. Can be prevented.

この操作判定装置において、前記設定手段は、前記所定範囲が設定されてから前記第1所定時間内に、前記第4判断手段が、前記指先に相当する部分が前記所定範囲に出現したと判断しない場合、前記所定範囲を解除する。   In this operation determination device, the setting means does not determine that the portion corresponding to the fingertip has appeared in the predetermined range within the first predetermined time after the predetermined range is set. In the case, the predetermined range is canceled.

この構成によれば、第1所定時間内に、第4判断手段が、指先に相当する部分が所定範囲に出現したと判断しない場合、ユーザがダブルクリック操作を行なうことを意図していないとみなして、ユーザの意図に反してダブルクリック操作が行なわれたと判定されることを防止できる。つまり、一般にダブルクリック操作は素早く行なわれるところ、第1所定時間を適切に設定することにより、同一の動きであっても、ダブルクリック操作を意図したジェスチャ以外の動きを除外して、誤判定を防止できる。   According to this configuration, if the fourth determination unit does not determine that the portion corresponding to the fingertip has appeared in the predetermined range within the first predetermined time, it is considered that the user does not intend to perform a double click operation. Thus, it can be determined that a double-click operation has been performed against the user's intention. That is, in general, a double-click operation is performed quickly. However, by appropriately setting the first predetermined time, even if the movement is the same, a movement other than a gesture intended for the double-click operation is excluded, and an erroneous determination is made. Can be prevented.

また、上記操作判定装置において、前記設定手段は、前記第3判断手段が、前記指先に相当する部分が前記所定範囲から消失したと判断した後、第3所定時間内に、前記第4判断手段が、前記指先に相当する部分が前記所定範囲に出現したと判断しない場合、前記所定範囲を解除することもできる。   Further, in the operation determination device, the setting means includes the fourth determination means within a third predetermined time after the third determination means determines that the portion corresponding to the fingertip has disappeared from the predetermined range. However, when it is not determined that the portion corresponding to the fingertip has appeared in the predetermined range, the predetermined range can be canceled.

この構成によれば、第3所定時間内に、第4判断手段が、指先に相当する部分が所定範囲に出現したと判断しない場合、ユーザがダブルクリック操作を行なうことを意図していないとみなして、ユーザの意図に反してダブルクリック操作が行なわれたと判定されることを防止できる。つまり、一般にダブルクリック操作は素早く行なわれるところ、第3所定時間を適切に設定することにより、同一の動きであっても、ダブルクリック操作を意図したジェスチャ以外の動きを除外して、誤判定を防止できる。   According to this configuration, if the fourth determination means does not determine that the portion corresponding to the fingertip has appeared in the predetermined range within the third predetermined time, it is considered that the user does not intend to perform a double click operation. Thus, it can be determined that a double-click operation has been performed against the user's intention. In other words, in general, a double-click operation is performed quickly, but by appropriately setting the third predetermined time, even if it is the same movement, a movement other than a gesture intended for the double-click operation is excluded, and an erroneous determination is made. Can be prevented.

上記操作判定装置において、前記設定手段は、前記第2判断手段が、前記指先に相当する部分が前記所定範囲に出現したと判断してから、第4所定時間内に、前記第3判断手段が、前記指先に相当する部分が前記所定範囲から消失したと判断しない場合、前記所定範囲を解除する。   In the operation determination device, the setting means may include the third determination means within a fourth predetermined time after the second determination means determines that the portion corresponding to the fingertip has appeared in the predetermined range. If it is not determined that the part corresponding to the fingertip has disappeared from the predetermined range, the predetermined range is canceled.

この構成によれば、第4所定時間内に、第3判断手段が、指先に相当する部分が所定範囲から消失したと判断しない場合、ユーザがダブルクリック操作を行なうことを意図していないとみなして、ユーザの意図に反してダブルクリック操作が行なわれたと判定されることを防止できる。つまり、一般にダブルクリック操作は素早く行なわれるところ、第4所定時間を適切に設定することにより、同一の動きであっても、ダブルクリック操作を意図したジェスチャ以外の動きを除外して、誤判定を防止できる。   According to this configuration, if the third determination unit does not determine that the portion corresponding to the fingertip has disappeared from the predetermined range within the fourth predetermined time, it is considered that the user does not intend to perform a double-click operation. Thus, it can be determined that a double-click operation has been performed against the user's intention. That is, in general, a double-click operation is performed quickly, but by appropriately setting the fourth predetermined time, even if it is the same movement, a movement other than a gesture intended for the double-click operation is excluded, and an erroneous determination is made. Can be prevented.

この操作判定装置において、前記設定手段は、前記第4所定時間内に、前記第4判断手段が、前記指先に相当する部分が前記所定範囲に出現したと判断しない場合、前記所定範囲を解除する。   In this operation determination device, the setting unit cancels the predetermined range when the fourth determination unit does not determine that a portion corresponding to the fingertip has appeared in the predetermined range within the fourth predetermined time. .

この構成によれば、第4所定時間内に、第4判断手段が、指先に相当する部分が所定範囲に出現したと判断しない場合、ユーザがダブルクリック操作を行なうことを意図していないとみなして、ユーザの意図に反してダブルクリック操作が行なわれたと判定されることを防止できる。つまり、一般にダブルクリック操作は素早く行なわれるところ、第4所定時間を適切に設定することにより、同一の動きであっても、ダブルクリック操作を意図したジェスチャ以外の動きを除外して、誤判定を防止できる。   According to this configuration, if the fourth determination unit does not determine that the portion corresponding to the fingertip has appeared in the predetermined range within the fourth predetermined time, it is considered that the user does not intend to perform a double-click operation. Thus, it can be determined that a double-click operation has been performed against the user's intention. That is, in general, a double-click operation is performed quickly, but by appropriately setting the fourth predetermined time, even if it is the same movement, a movement other than a gesture intended for the double-click operation is excluded, and an erroneous determination is made. Can be prevented.

また、上記操作判定装置において、前記設定手段は、前記第3判断手段が、前記指先に相当する部分が前記所定範囲から消失したと判断した後、第5所定時間内に、前記第4判断手段が、前記指先に相当する部分が前記所定範囲に出現したと判断しない場合、前記所定範囲を解除することもできる。   Further, in the operation determination device, the setting means includes the fourth determination means within a fifth predetermined time after the third determination means determines that the portion corresponding to the fingertip has disappeared from the predetermined range. However, when it is not determined that the portion corresponding to the fingertip has appeared in the predetermined range, the predetermined range can be canceled.

この構成によれば、第5所定時間内に、第4判断手段が、指先に相当する部分が所定範囲に出現したと判断しない場合、ユーザがダブルクリック操作を行なうことを意図していないとみなして、ユーザの意図に反してダブルクリック操作が行なわれたと判定されることを防止できる。つまり、一般にダブルクリック操作は素早く行なわれるところ、第5所定時間を適切に設定することにより、同一の動きであっても、ダブルクリック操作を意図したジェスチャ以外の動きを除外して、誤判定を防止できる。   According to this configuration, if the fourth determination unit does not determine that the portion corresponding to the fingertip has appeared in the predetermined range within the fifth predetermined time, it is considered that the user does not intend to perform a double-click operation. Thus, it can be determined that a double-click operation has been performed against the user's intention. In other words, in general, a double-click operation is performed quickly. By appropriately setting the fifth predetermined time, even if the movement is the same, a movement other than a gesture intended for the double-click operation is excluded, and an erroneous determination is made. Can be prevented.

本発明の第2の観点によれば、操作判定装置は、三次元空間中で動かされるユーザの手を撮影する撮影手段と、撮影により得られた画像から、前記ユーザの指に相当する部分を検出する検出手段と、今回前記ユーザの指に相当する部分が1つ検出された場合において、前回前記ユーザの指に相当する部分が2つ検出されていたとき、擬似的にボタン操作が行なわれたと判定する判定手段と、を備える。   According to the second aspect of the present invention, the operation determination device includes a photographing unit that photographs the user's hand moved in the three-dimensional space, and a portion corresponding to the user's finger from the image obtained by the photographing. In the case where the detection means for detecting and one portion corresponding to the user's finger are detected this time, if two portions corresponding to the user's finger have been detected last time, a pseudo button operation is performed. Determination means for determining whether or not.

この構成によれば、ユーザは、1本指を立てた状態から、もう一本の指を立てて2本指を立てた状態にするだけで、擬似的にボタン操作を行なうことができる。このように、ユーザにとって容易なジェスチャにより、擬似的にボタン操作を行なうことができる。   According to this configuration, the user can perform a button operation in a pseudo manner only by raising another finger and raising two fingers from a state where one finger is raised. In this way, it is possible to perform a pseudo button operation with a gesture that is easy for the user.

また、擬似的なボタン操作の前後において、常に1本の指は撮影されるので、その指先に対応する画面上の位置にカーソルを表示でき、ポインティングと擬似的なボタン操作を片手で行なうことができる。   Also, since one finger is always photographed before and after the pseudo button operation, the cursor can be displayed at the position on the screen corresponding to the fingertip, and pointing and pseudo button operation can be performed with one hand. it can.

ここで、本明細書及び特許請求の範囲において、「擬似的なボタン操作」とは、ポインティングデバイス等のデバイスの実際のボタンの操作ではないが、実際のボタンを操作する場合と同等の情報ないしは命令を、三次元空間中のジェスチャにより、コンピュータに与えることを意味する。   Here, in the present specification and claims, “pseudo button operation” is not an operation of an actual button of a device such as a pointing device, but is equivalent to information or a case of operating an actual button. This means giving instructions to the computer by gestures in a three-dimensional space.

本発明の第3の観点によれば、操作判定装置は、三次元空間中で動かされるユーザの手を撮影する撮影手段と、撮影により得られた画像から、前記ユーザの指に相当する部分を検出する検出手段と、今回前記ユーザの指に相当する部分が2つ検出された場合において、前回前記ユーザの指に相当する部分が1つ検出されていたとき、擬似的にボタン操作が行なわれたと判定する判定手段と、を備える。   According to the third aspect of the present invention, the operation determination device includes a photographing unit that photographs the user's hand moved in the three-dimensional space, and a portion corresponding to the user's finger from the image obtained by the photographing. In the case where two detection parts corresponding to the user's finger are detected at this time and one part corresponding to the user's finger has been detected last time, a pseudo button operation is performed. Determination means for determining whether or not.

この構成によれば、ユーザは、2本指を立てた状態から、もう一本の指を閉じて1本指を立てた状態にするだけで、擬似的にボタン操作を行なうことができる。このように、ユーザにとって容易なジェスチャにより、擬似的にボタン操作を行なうことができる。   According to this configuration, the user can perform a button operation in a pseudo manner by simply closing another finger and raising one finger from a state where two fingers are raised. In this way, it is possible to perform a pseudo button operation with a gesture that is easy for the user.

また、擬似的なボタン操作の前後において、常に1本の指は撮影されるので、その指先に対応する画面上の位置にカーソルを表示でき、ポインティングと擬似的なボタン操作を片手で行なうことができる。   Also, since one finger is always photographed before and after the pseudo button operation, the cursor can be displayed at the position on the screen corresponding to the fingertip, and pointing and pseudo button operation can be performed with one hand. it can.

本発明の第4の観点によれば、操作判定装置は、三次元空間中で動かされるユーザの手を撮影する撮影手段と、撮影により得られた画像から、前記ユーザの指先に相当する部分を検出する検出手段と、前記ユーザの指先に相当する部分が2つ検出された場合において、その2点間の距離が所定値より小さい場合に、擬似的にボタンが行なわれたと判定する判定手段と、を備える。   According to a fourth aspect of the present invention, an operation determination device includes a photographing unit that photographs a user's hand moved in a three-dimensional space, and a portion corresponding to the fingertip of the user from an image obtained by photographing. A detecting means for detecting, and a determining means for determining that a button is simulated when two portions corresponding to the fingertip of the user are detected and the distance between the two points is smaller than a predetermined value; .

この構成によれば、ユーザは、2本の指の指先を近づけるだけで、擬似的にボタン操作を行なうことができる。このように、ユーザにとって容易なジェスチャにより、擬似的にボタン操作を行なうことができる。   According to this configuration, the user can perform a button operation in a pseudo manner only by bringing the fingertips of two fingers close to each other. In this way, it is possible to perform a pseudo button operation with a gesture that is easy for the user.

また、検出された2つの指先の間(例えば中点)にカーソルを表示することができ、ポインティングと擬似的なボタン操作を片手で行なうことができる。   In addition, a cursor can be displayed between two detected fingertips (for example, a midpoint), and pointing and pseudo button operations can be performed with one hand.

本発明の第5の観点によれば、指先検出装置は、三次元空間中で動かされるユーザの手を撮影する撮影手段と、撮影により得られた画像から、前記手の像の輪郭を検出する輪郭検出手段と、前記輪郭から、前記手の指先に相当する部分の画素(以下、「指先画素」と呼ぶ。)を検出する指先検出手段と、前記指先画素の周囲の画素(以下、「周囲画素」と呼ぶ。)の画素値及び座標を用いて、前記指先検出手段により検出された前記指先画素の座標を小数点精度で補正する補正手段と、を備える。   According to the fifth aspect of the present invention, the fingertip detection device detects the contour of the hand image from the photographing means for photographing the user's hand moved in the three-dimensional space and the image obtained by the photographing. A contour detection means; a finger detection means for detecting a pixel corresponding to the fingertip of the hand (hereinafter referred to as “fingertip pixel”) from the contour; and a pixel surrounding the fingertip pixel (hereinafter referred to as “peripheral”). Correction means for correcting the coordinates of the fingertip pixels detected by the fingertip detection means with a decimal point accuracy using pixel values and coordinates of “pixels”).

この構成によれば、輪郭から大体の指先を決定し、その周囲画素のみを用いて補正を行なうので、処理のための記憶容量の削減と処理速度の向上を図ることができる。   According to this configuration, since an approximate fingertip is determined from the contour and correction is performed using only the surrounding pixels, the storage capacity for processing can be reduced and the processing speed can be improved.

また、補正が小数点精度で実行されるので、撮像手段が比較的低解像度であっても、高精度で指先の位置を決定することができる。その結果、撮影手段より高解像度の画面上の、指先に対応する位置にカーソルを表示する場合でも、その動きを滑らかにすることができる。   Further, since the correction is executed with decimal point accuracy, the position of the fingertip can be determined with high accuracy even when the imaging means has a relatively low resolution. As a result, even when the cursor is displayed at a position corresponding to the fingertip on the screen having a higher resolution than the photographing means, the movement can be smoothed.

さらに、周囲画素の画素値により、補正を行なうので、補正後の指先を、輪郭線上ではなく、指の内部の位置に決定でき、ユーザが指先と認識する位置により近づけることができる。その結果、指先に対応する画面上の位置にカーソルを表示する場合、ユーザにとって、指先によるカーソルの制御が容易になる。なお、一般に、人は、指の腹を向けて、指を動かすときは、指の輪郭線上の凸点を指先と認識せず、指先端部の指の腹(finger pad)の中心を指先と認識するものである。   Furthermore, since the correction is performed based on the pixel values of the surrounding pixels, the corrected fingertip can be determined not at the contour line but at the position inside the finger, and closer to the position recognized by the user as the fingertip. As a result, when the cursor is displayed at a position on the screen corresponding to the fingertip, the user can easily control the cursor with the fingertip. In general, when a person moves his / her finger toward the belly of a finger, the convex point on the contour of the finger is not recognized as the fingertip, and the center of the finger pad at the tip of the finger is defined as the fingertip. Recognize.

この指先検出装置において、前記補正値算出手段は、前記指先画素及び前記周囲画素の画素値を重みとし、前記指先画素及び前記周囲画素の座標の加重平均を算出し、前記指先画素の座標を補正する。   In this fingertip detection device, the correction value calculation means calculates the weighted average of the coordinates of the fingertip pixel and the surrounding pixels by using the pixel values of the fingertip pixel and the surrounding pixels as weights, and corrects the coordinates of the fingertip pixels. To do.

上記指先検出装置において、前記補正値算出手段は、補正後の指先の位置が、前記周囲画素の範囲を超えるように、前記補正を行う。   In the fingertip detection apparatus, the correction value calculation means performs the correction so that the corrected fingertip position exceeds the range of the surrounding pixels.

この構成によれば、補正後の指先の位置を指先端部の指の腹の一定位置あるいは略一定位置に決定することができ、輪郭検出手段により検出された指先の位置が安定していない場合でも、補正後の指先の位置を極力一定させ、あるいは、指先の位置の相違を極力小さい範囲に収めることができる。その結果、指先に対応する画面上の位置にカーソルを表示する場合、カーソルを安定化できる。   According to this configuration, the position of the fingertip after correction can be determined to be a constant position or a substantially constant position of the belly of the finger tip, and the position of the fingertip detected by the contour detection means is not stable However, the position of the fingertip after correction can be made as constant as possible, or the difference in the position of the fingertip can be kept as small as possible. As a result, when the cursor is displayed at a position on the screen corresponding to the fingertip, the cursor can be stabilized.

また、補正後の指先を、ユーザが指先と認識する位置により一層近づけることができる。その結果、指先に対応する画面上の位置にカーソルを表示する場合、ユーザにとって、指先によるカーソルの制御が一層容易になる。   Further, the corrected fingertip can be made closer to the position that the user recognizes as the fingertip. As a result, when the cursor is displayed at a position on the screen corresponding to the fingertip, it becomes easier for the user to control the cursor with the fingertip.

上記指先検出装置において、前記補正値算出手段は、前記指先画素及び前記周囲画素の画素値を、前記指先画素及び前記周囲画素の座標への重みとし、重み付けされた前記指先画素及び前記周囲画素の座標の和を算出し、その和を、前記指先画素及び前記周囲画素の画素値のうちの最大値で除することにより、前記指先画素の座標を補正することもできる。   In the fingertip detection device, the correction value calculation means uses the pixel values of the fingertip pixel and the surrounding pixels as weights to the coordinates of the fingertip pixel and the surrounding pixels, and weights the fingertip pixels and the surrounding pixels. The coordinate of the fingertip pixel can also be corrected by calculating the sum of coordinates and dividing the sum by the maximum value of the pixel values of the fingertip pixel and the surrounding pixels.

上記指先検出装置において、前記補正値算出手段は、前記指先画素と前記指先画素の斜め方向に位置する前記周囲画素との間の距離と、前記指先画素と前記指先画素の水平方向又は垂直方向に位置する前記周囲画素との間の距離と、が等しくなるように、前記周囲画素の座標を定義する。   In the above fingertip detection device, the correction value calculation means includes a distance between the fingertip pixel and the surrounding pixels located in an oblique direction of the fingertip pixel, and a horizontal direction or a vertical direction of the fingertip pixel and the fingertip pixel. The coordinates of the surrounding pixels are defined such that the distance between the surrounding pixels and the surrounding pixels is equal.

この構成によれば、画素値を利用するに当って、全周囲画素の画素値が均等に扱われ、方向によって偏りのない補正を行なうことができる。   According to this configuration, when using the pixel values, the pixel values of all the surrounding pixels are treated equally, and correction can be performed without deviation depending on the direction.

本発明の第6の観点によれば、操作判定方法は、三次元空間中で動かされるユーザの手を撮影するステップと、撮影により得られた画像から、前記ユーザの指先に相当する部分を検出するステップと、検出された前記指先に相当する部分を含む所定範囲を設定するステップと、前記所定範囲を設定した後、前記指先に相当する部分が消失したか否かを判断するステップと、消失したか否かを判断する前記ステップが、前記指先に相当する部分が前記所定範囲から消失したと判断した後、前記指先に相当する部分が前記所定範囲に出現したか否かを判断するステップと、出現したか否かを判断する前記ステップが、前記指先に相当する部分が前記所定範囲に出現したと判断した場合に、クリック操作が行なわれたと判定するステップと、を含む。   According to the sixth aspect of the present invention, an operation determination method includes a step of photographing a user's hand moved in a three-dimensional space, and a portion corresponding to the user's fingertip is detected from an image obtained by the photographing. A step of setting a predetermined range including a portion corresponding to the detected fingertip, a step of determining whether or not a portion corresponding to the fingertip has disappeared after setting the predetermined range, The step of determining whether or not the portion corresponding to the fingertip has disappeared from the predetermined range and then determining whether or not the portion corresponding to the fingertip has appeared in the predetermined range; Determining whether or not an appearance has occurred includes determining that a click operation has been performed when it is determined that a portion corresponding to the fingertip has appeared in the predetermined range.

この構成によれば、上記第1の観点による操作判定装置と同様の効果を奏する。   According to this structure, there exists an effect similar to the operation determination apparatus by the said 1st viewpoint.

本発明の第7の観点によれば、操作判定方法は、三次元空間中で動かされるユーザの手を撮影するステップと、撮影により得られた画像から、前記ユーザの指に相当する部分を検出するステップと、今回前記ユーザの指に相当する部分が1つ検出された場合において、前回前記ユーザの指に相当する部分が2つ検出されていたとき、擬似的にボタン操作が行なわれたと判定するステップと、を含む。   According to a seventh aspect of the present invention, an operation determination method includes a step of photographing a user's hand moved in a three-dimensional space, and a portion corresponding to the user's finger is detected from an image obtained by the photographing. In the case where one portion corresponding to the user's finger is detected this time and two portions corresponding to the user's finger have been detected last time, it is determined that a pseudo button operation has been performed. Including the steps of:

この構成によれば、上記第2の観点による操作判定装置と同様の効果を奏する。   According to this structure, there exists an effect similar to the operation determination apparatus by the said 2nd viewpoint.

本発明の第8の観点によれば、操作判定方法は、三次元空間中で動かされるユーザの手を撮影するステップと、撮影により得られた画像から、前記ユーザの指に相当する部分を検出するステップと、今回前記ユーザの指に相当する部分が2つ検出された場合において、前回前記ユーザの指に相当する部分が1つ検出されていたとき、擬似的にボタン操作が行なわれたと判定するステップと、を含む。   According to an eighth aspect of the present invention, an operation determination method includes a step of photographing a user's hand moved in a three-dimensional space, and a portion corresponding to the user's finger is detected from an image obtained by the photographing. When two portions corresponding to the user's finger are detected this time and one portion corresponding to the user's finger has been detected last time, it is determined that a pseudo button operation has been performed. Including the steps of:

この構成によれば、上記第3の観点による操作判定装置と同様の効果を奏する。   According to this structure, there exists an effect similar to the operation determination apparatus by the said 3rd viewpoint.

本発明の第9の観点によれば、操作判定方法は、三次元空間中で動かされるユーザの手を撮影するステップと、撮影により得られた画像から、前記ユーザの指先に相当する部分を検出するステップと、前記ユーザの指先に相当する部分が2つ検出された場合において、その2点間の距離が所定値より小さい場合に、擬似的にボタン操作が行なわれたと判定するステップと、を含む。   According to a ninth aspect of the present invention, an operation determination method includes a step of photographing a user's hand moved in a three-dimensional space, and a portion corresponding to the user's fingertip is detected from the image obtained by the photographing. And, when two portions corresponding to the user's fingertips are detected, and when the distance between the two points is smaller than a predetermined value, determining that a button operation has been performed in a pseudo manner. Including.

この構成によれば、上記第4の観点による操作判定装置と同様の効果を奏する。   According to this structure, there exists an effect similar to the operation determination apparatus by the said 4th viewpoint.

本発明の第10の観点によれば、指先検出方法は、三次元空間中で動かされるユーザの手を撮影するステップと、撮影により得られた画像から、前記手の像の輪郭を検出するステップと、前記輪郭から、前記手の指先に相当する部分の画素(以下、「指先画素」と呼ぶ。)を検出するステップと、前記指先画素の周囲の画素(以下、「周囲画素」と呼ぶ。)の画素値及び座標を用いて、前記指先画素を検出する前記ステップにより検出された前記指先画素の座標を小数点精度で補正するステップと、を含む。   According to a tenth aspect of the present invention, a fingertip detection method includes a step of photographing a user's hand moved in a three-dimensional space, and a step of detecting an outline of the hand image from an image obtained by the photographing. And detecting a pixel corresponding to the fingertip of the hand (hereinafter referred to as “fingertip pixel”) from the contour, and a pixel surrounding the fingertip pixel (hereinafter referred to as “peripheral pixel”). And correcting the coordinates of the fingertip pixel detected by the step of detecting the fingertip pixel with the decimal point accuracy using the pixel value and coordinates of

この構成によれば、上記第5の観点による指先検出装置と同様の効果を奏する。   According to this structure, there exists an effect similar to the fingertip detection apparatus by the said 5th viewpoint.

本発明の第11の観点によれば、コンピュータプログラムは、上記第6の観点による操作判定方法をコンピュータに実行させる。   According to an eleventh aspect of the present invention, a computer program causes a computer to execute the operation determination method according to the sixth aspect.

本発明の第12の観点によれば、コンピュータプログラムは、上記第7の観点による操作判定方法をコンピュータに実行させる。   According to a twelfth aspect of the present invention, a computer program causes a computer to execute the operation determination method according to the seventh aspect.

本発明の第13の観点によれば、コンピュータプログラムは、上記第8の観点による操作判定方法をコンピュータに実行させる。   According to a thirteenth aspect of the present invention, a computer program causes a computer to execute the operation determination method according to the eighth aspect.

本発明の第14の観点によれば、コンピュータプログラムは、上記第9の観点による操作判定方法をコンピュータに実行させる。   According to a fourteenth aspect of the present invention, a computer program causes a computer to execute the operation determination method according to the ninth aspect.

本発明の第15の観点によれば、コンピュータプログラムは、上記第10の観点による指先検出方法をコンピュータに実行させる。   According to a fifteenth aspect of the present invention, a computer program causes a computer to execute the fingertip detection method according to the tenth aspect.

(a)本発明の実施の形態による擬似ボタン操作の説明図である。(b)本発明の実施の形態による擬似ボタン操作の第1〜第3の例の説明図である。(A) It is explanatory drawing of pseudo button operation by embodiment of this invention. (B) It is explanatory drawing of the 1st-3rd example of pseudo button operation by embodiment of this invention. 本発明の実施の形態による画像処理装置1の電気的構成を示す図である。1 is a diagram illustrating an electrical configuration of an image processing apparatus 1 according to an embodiment of the present invention. 図2のMCU3による画像解析処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of the image analysis process by MCU3 of FIG. 図3のステップS5の変曲点の検出処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of the detection process of the inflection point of FIG.3 S5. 図3のステップS7の輪郭画像の形状を判定する処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of the process which determines the shape of the outline image of step S7 of FIG. 図5のステップS161の輪郭情報を算出する処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of a process which calculates the outline information of step S161 of FIG. 図5のステップS163の指先を検出する処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of a process which detects the fingertip of step S163 of FIG. 図5のステップS165の「パー」を判定する処理の流れの一例を示すフローチャートである。6 is a flowchart illustrating an example of a flow of processing for determining “par” in step S165 of FIG. 5. 図5のステップS167の「チョキ」を判定する処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of a process which determines "pick" of step S167 of FIG. 図5のステップS169の「グー」を判定する処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of a process which determines "go" of step S169 of FIG. 図5のステップS171の一本指を判定する処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of a process which determines the one finger | toe of step S171 of FIG. (a)図9のステップS377及び図11のステップS447の指先補正値計算処理の第1の例の流れを示すフローチャートである。(b)図9のステップS377及び図11のステップS447の指先補正値計算処理の第2の例の流れを示すフローチャートである。(c)図9のステップS377及び図11のステップS447の指先補正値計算処理の第3の例の流れを示すフローチャートである。(d)図9のステップS377及び図11のステップS447の指先補正値計算処理の第4の例の流れを示すフローチャートである。(A) It is a flowchart which shows the flow of the 1st example of the fingertip correction value calculation process of step S377 of FIG. 9, and step S447 of FIG. (B) It is a flowchart which shows the flow of the 2nd example of the fingertip correction value calculation process of step S377 of FIG. 9, and step S447 of FIG. (C) It is a flowchart which shows the flow of the 3rd example of the fingertip correction value calculation process of FIG.9 S377 and FIG.11 S447. (D) It is a flowchart which shows the flow of the 4th example of the fingertip correction value calculation process of step S377 of FIG. 9, and step S447 of FIG. (a)図3のステップS9の擬似ボタン操作判定処理の第1の例の流れを示すフローチャートである。(b)図3のステップS9の擬似ボタン操作判定処理の第2の例の流れを示すフローチャートである。(c)図3のステップS9の擬似ボタン操作判定処理の第3の例の流れを示すフローチャートである。(A) It is a flowchart which shows the flow of the 1st example of the pseudo | simulation button operation determination process of FIG.3 S9. (B) It is a flowchart which shows the flow of the 2nd example of the pseudo | simulation button operation determination process of FIG.3 S9. (C) It is a flowchart which shows the flow of the 3rd example of the pseudo | simulation button operation determination process of FIG.3 S9. 図3のステップS3で検出される偏角θjの説明図である。It is explanatory drawing of the deflection angle (theta) j detected by step S3 of FIG. 図3のステップS5で検出される変曲点及び図5のステップS163で検出される指先の説明図である。It is explanatory drawing of the inflection point detected by step S5 of FIG. 3, and the fingertip detected by step S163 of FIG. (a)図12(a)及び図12(c)の指先補正値計算処理の説明図である。(b)図12(b)及び図12(d)の指先補正値計算処理の説明図である。(A) It is explanatory drawing of the fingertip correction value calculation process of Fig.12 (a) and FIG.12 (c). (B) It is explanatory drawing of the fingertip correction value calculation process of FIG.12 (b) and FIG.12 (d). 指先補正値計算処理における除数の説明図である。It is explanatory drawing of the divisor in a fingertip correction value calculation process. (a)図3のステップS9の擬似ボタン操作判定処理の第4の例の流れを示すフローチャートである。(b)図3のステップS9の擬似ボタン操作判定処理の第5の例の流れを示すフローチャートである。(c)図3のステップS9の擬似ボタン操作判定処理の第6の例の流れを示すフローチャートである。(A) It is a flowchart which shows the flow of the 4th example of the pseudo button operation determination process of FIG.3 S9. (B) It is a flowchart which shows the flow of the 5th example of the pseudo button operation determination process of FIG.3 S9. (C) It is a flowchart which shows the flow of the 6th example of the pseudo | simulation button operation determination process of FIG.3 S9. (a)本発明の実施の形態による擬似ボタン操作の第4の例(シングルクリック)の説明図である。(b)本発明の実施の形態による擬似ボタン操作の第4の例(ダブルクリック)の説明図である。(A) It is explanatory drawing of the 4th example (single click) of pseudo button operation by embodiment of this invention. (B) It is explanatory drawing of the 4th example (double-click) of pseudo button operation by embodiment of this invention. 図3のステップS9の擬似ボタン操作判定処理の第7の例の流れの一部を示すフローチャートである。It is a flowchart which shows a part of flow of the 7th example of the pseudo | simulation button operation determination process of FIG.3 S9. 図3のステップS9の擬似ボタン操作判定処理の第7の例の流れの他の一部を示すフローチャートである。It is a flowchart which shows another part of the flow of the 7th example of the pseudo | simulation button operation determination process of FIG.3 S9.

以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。また、本明細書において、数字の後尾に付した「h」は、16進数であることを示す。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals, and the description thereof is incorporated. In the present specification, “h” added to the end of a number indicates a hexadecimal number.

図1(a)及び図1(b)は、本発明の実施の形態による擬似ボタン操作の説明図である。図1(a)を参照して、後述する画像処理装置1は、ユーザ(人)の手を撮影し、得られた画像を解析することによって、指先a及びbの位置を求める。この例では、指先aは、人差し指の指先であり、指先bは、親指の指先である。   FIG. 1A and FIG. 1B are explanatory diagrams of pseudo button operations according to the embodiment of the present invention. With reference to FIG. 1A, the image processing apparatus 1 described later obtains the positions of the fingertips a and b by photographing a user's (person) hand and analyzing the obtained image. In this example, the fingertip a is the fingertip of the index finger, and the fingertip b is the fingertip of the thumb.

図1(b)を参照して、第1の例では、後述する電子機器9は、画像処理装置1から指先aの位置を受け取って、後述するモニタ13の画面上の対応する位置にカーソルを表示する。また、画像処理装置1は、撮影画像中に指先aと指先bとが存在する状態から、撮影画像中に指先aのみが存在する状態へ遷移したことを検出すると、例えば、二本の指(親指及び人差し指)が写っている状態から、カーソルの位置に関係ない一本の指(親指)が折り曲げられ、カーソルの位置を制御する他の一本の指(人差し指)のみが写っている状態に遷移したことを検出すると、ユーザが擬似的にボタン操作を行なったと判定し、擬似的にボタン操作が行なわれたことを電子機器9に通知する。すると、電子機器9は、ボタン操作に応じた処理を実行する。   Referring to FIG. 1B, in the first example, an electronic device 9 described later receives the position of the fingertip a from the image processing apparatus 1, and places the cursor at a corresponding position on the screen of the monitor 13 described later. indicate. When the image processing apparatus 1 detects a transition from a state in which the fingertip a and the fingertip b are present in the photographed image to a state in which only the fingertip a is present in the photographed image, for example, two fingers ( From the state where the thumb and index finger) are reflected, one finger (thumb) that is not related to the cursor position is folded, and only one other finger (index finger) that controls the cursor position is reflected When the transition is detected, it is determined that the user has performed a pseudo button operation, and the electronic device 9 is notified that the button operation has been performed in a pseudo manner. Then, the electronic device 9 executes processing corresponding to the button operation.

第2の例では、電子機器9は、画像処理装置1から指先aの位置を受け取って、モニタ13の画面上の対応する位置にカーソルを表示する。また、画像処理装置1は、撮影画像中に指先aのみが存在する状態から、撮影画像中に指先aと指先bとが存在する状態へ遷移したことを検出すると、例えば、カーソルの位置に関係ない一本の指(親指)が折り曲げられ、カーソルの位置を制御する他の一本の指(人差し指)のみが写っている状態から、二本の指(親指及び人差し指)が写っている状態に遷移したことを検出すると、ユーザが擬似的にボタン操作を行なったと判定し、擬似的にボタン操作が行なわれたことを電子機器9に通知する。すると、電子機器9は、ボタン操作に応じた処理を実行する。   In the second example, the electronic device 9 receives the position of the fingertip a from the image processing apparatus 1 and displays a cursor at a corresponding position on the screen of the monitor 13. Further, when the image processing apparatus 1 detects a transition from a state where only the fingertip a exists in the captured image to a state where the fingertip a and the fingertip b exist in the captured image, for example, the image processing apparatus 1 relates to the position of the cursor. One finger (thumb) is not folded and only one other finger (forefinger) that controls the cursor position is shown, and two fingers (thumb and forefinger) are shown When the transition is detected, it is determined that the user has performed a pseudo button operation, and the electronic device 9 is notified that the button operation has been performed in a pseudo manner. Then, the electronic device 9 executes processing corresponding to the button operation.

第3の例では、電子機器9は、画像処理装置1から指先aの位置と指先bの位置との中点の位置を受け取って、モニタ13の画面上の対応する位置にカーソルを表示する。また、画像処理装置1は、指先aと指先bとの間の距離を算出して、その距離が一定値以下になったことを検出すると、つまり、指先aと指先bとが近づいて、その距離が一定値以下になると、ユーザが擬似的にボタン操作を行なったと判定し、擬似的にボタン操作が行なわれたことを電子機器9に通知する。すると、電子機器9は、ボタン操作に応じた処理を実行する。   In the third example, the electronic device 9 receives the position of the midpoint between the position of the fingertip a and the position of the fingertip b from the image processing apparatus 1 and displays a cursor at a corresponding position on the screen of the monitor 13. Further, the image processing apparatus 1 calculates the distance between the fingertip a and the fingertip b, and detects that the distance is equal to or less than a certain value, that is, the fingertip a and the fingertip b approach each other. When the distance is less than or equal to a certain value, it is determined that the user has performed a pseudo button operation, and notifies the electronic device 9 that the pseudo button operation has been performed. Then, the electronic device 9 executes processing corresponding to the button operation.

ここで、上記第1〜第3の例において、擬似的にボタン操作が行われたと判定されたことを、ボタンのプレス操作(ボタンを押したままの状態)が行なわれたとみなすこともできるし、あるいは、クリック操作(ボタンを押下して放す操作)が行なわれたとみなすこともできる。   Here, in the first to third examples, it can be considered that the button operation (a state in which the button is pressed) is performed when it is determined that the button operation is performed in a pseudo manner. Alternatively, it can be considered that a click operation (operation of pressing and releasing a button) has been performed.

なお、擬似的にボタン操作が行われたと判定されたことを、ボタンのプレス操作が行なわれたとみなす場合、ボタンを放したとみなす操作は、次のようにして判定される。   When it is determined that the button operation is performed in a pseudo manner, it is determined that the button is pressed, and the operation that the button is released is determined as follows.

第1の例では、画像処理装置1は、撮影画像中に指先aのみが存在する状態から、撮影画像中に指先aと指先bとが存在する状態へ遷移したことを検出すると、ユーザが擬似的にボタンを放す操作を行なったと判定し、擬似的にボタンを話す操作が行なわれたことを電子機器9に通知する。   In the first example, when the image processing apparatus 1 detects a transition from a state where only the fingertip a is present in the captured image to a state where the fingertip a and the fingertip b are present in the captured image, the user is simulated. It is determined that the operation of releasing the button is performed, and the electronic device 9 is notified that the operation of speaking the button is performed.

第2の例では、画像処理装置1は、撮影画像中に指先aと指先bとが存在する状態から、撮影画像中に指先aのみが存在する状態へ遷移したことを検出すると、ユーザが擬似的にボタンを放す操作を行なったと判定し、擬似的にボタンを放す操作が行なわれたことを電子機器9に通知する。   In the second example, when the image processing apparatus 1 detects a transition from a state in which the fingertip a and the fingertip b exist in the captured image to a state in which only the fingertip a exists in the captured image, the user performs a simulation. It is determined that the operation of releasing the button is performed, and the electronic device 9 is notified that the operation of releasing the button is performed.

第3の例では、画像処理装置1は、指先aと指先bとの間の距離を算出して、その距離が一定値以下になった後、再び、その距離が一定値を超えたことを検出すると、ユーザが擬似的にボタンを放す操作を行なったと判定し、擬似的にボタンを放す操作が行なわれたことを電子機器9に通知する。   In the third example, the image processing apparatus 1 calculates the distance between the fingertip a and the fingertip b, and after the distance has become a certain value or less, the image processing apparatus 1 again confirms that the distance has exceeded the certain value. When detected, it is determined that the user has performed an operation of releasing the button in a pseudo manner, and the electronic device 9 is notified that the operation of releasing the button has been performed in a pseudo manner.

なお、「擬似的なボタン操作」とは、ポインティングデバイス等のデバイスの実際のボタンの操作ではないが、実際のボタンを操作する場合と同等の情報ないしは命令を、三次元空間中のジェスチャにより、コンピュータに与えることを意味する。   Note that the “pseudo button operation” is not an actual button operation of a device such as a pointing device, but the same information or command as when operating an actual button is used by a gesture in a three-dimensional space. Means to give to the computer.

図2は、本発明の実施の形態による画像処理装置1の電気的構成を示す図である。図1を参照して、この画像処理装置1は、MCU(Micro Controler Unit)3及びイメージセンサ5を含む。MCU3は、メモリ7を含む。イメージセンサ5は、カラー及びグレースケールのいずれでも使用でき、また、その画素数も任意のものを使用できるが、本実施の形態では、グレースケールで、64×64画素の比較的低解像度のものを使用する。また、イメージセンサ5としては、CMOSイメージセンサやCCDイメージセンサ等を採用できる。   FIG. 2 is a diagram showing an electrical configuration of the image processing apparatus 1 according to the embodiment of the present invention. With reference to FIG. 1, the image processing apparatus 1 includes an MCU (Micro Controller Unit) 3 and an image sensor 5. The MCU 3 includes a memory 7. The image sensor 5 can be used in either color or gray scale, and any number of pixels can be used. In the present embodiment, the image sensor 5 is gray scale and has a relatively low resolution of 64 × 64 pixels. Is used. As the image sensor 5, a CMOS image sensor, a CCD image sensor, or the like can be employed.

MCU3のメモリ7は、RAM、ROM、及びフラッシュメモリ等の半導体メモリであり、プログラム格納領域、データ格納領域、作業領域、及び一時格納領域等として利用される。MCU3は、メモリ7に格納されたコンピュータプログラムに従って、後述のフローチャートで示される各種処理を実行する。なお、仕様に応じて、記録媒体として、メモリ7の他、CD(CD−ROM、Video−CDを含む)やDVD(DVD−Video、DVD−ROM、DVD−RAMを含む)等の光ディスク、半導体メモリを搭載したメモリカード・メモリカートリッジ・USBメモリ、ハードディスク、光磁気ディスク、磁気テープ、及び、フレキシブルディスク等を、MCU3に接続することもできる。そして、これらにコンピュータプログラムやデータなどを格納することもできる。   The memory 7 of the MCU 3 is a semiconductor memory such as a RAM, a ROM, and a flash memory, and is used as a program storage area, a data storage area, a work area, a temporary storage area, and the like. The MCU 3 executes various processes shown in the flowcharts described later in accordance with the computer program stored in the memory 7. Depending on the specifications, as a recording medium, in addition to the memory 7, an optical disc such as a CD (including CD-ROM, Video-CD) and a DVD (including DVD-Video, DVD-ROM, DVD-RAM), a semiconductor A memory card, a memory cartridge, a USB memory, a hard disk, a magneto-optical disk, a magnetic tape, a flexible disk, and the like equipped with a memory can be connected to the MCU 3. In addition, computer programs and data can be stored in these.

画像処理装置1は、電子機器9と接続されて使用される。電子機器9は、コンピュータ11及びその処理結果を表示するモニタ13を含む。電子機器9は、例えば、テレビジョン、ビデオゲーム機、カーナビゲーション、及び、パーソナルコンピュータ等であるが、特に限定されるものではない。なお、本実施の形態では、イメージセンサ5よりも高解像度のモニタ13を使用するものとする。   The image processing apparatus 1 is used by being connected to an electronic device 9. The electronic device 9 includes a computer 11 and a monitor 13 that displays the processing result. The electronic device 9 is, for example, a television, a video game machine, a car navigation, a personal computer, or the like, but is not particularly limited. In the present embodiment, it is assumed that a monitor 13 having a higher resolution than that of the image sensor 5 is used.

MCU3は、メモリ7に格納されたプログラムに従って、イメージセンサ5を制御する。イメージセンサ5は、MCU3の制御により、三次元空間中で動くあるいは動かされる被写体(本実施の形態では人の手)を撮影し、得られた画像をMCU3に出力する。MCU3は、メモリ7に格納されたプログラムに従って、イメージセンサ5から受け取った画像を解析して、指先を検出して、その位置や擬似的なボタン操作の有無の情報等を、電子機器9のコンピュータ11に出力する。すると、電子機器9のコンピュータ11は、指先の位置に対応するモニタ13の画面上の位置にカーソルを表示し、また、ボタン操作が行なわれたことが通知されると、それに応じた処理を実行する。その他、コンピュータ11は、電子機器9の仕様に応じて、画像処理装置1から受け取った他の情報を処理し、また、独自の情報処理を実行する。   The MCU 3 controls the image sensor 5 according to a program stored in the memory 7. The image sensor 5 shoots a subject (in this embodiment, a human hand) that moves or is moved in a three-dimensional space under the control of the MCU 3, and outputs the obtained image to the MCU 3. The MCU 3 analyzes the image received from the image sensor 5 according to the program stored in the memory 7, detects the fingertip, and indicates the position, information on the presence / absence of a pseudo button operation, etc. 11 is output. Then, the computer 11 of the electronic device 9 displays a cursor at a position on the screen of the monitor 13 corresponding to the position of the fingertip, and when notified that a button operation has been performed, executes a process corresponding thereto. To do. In addition, the computer 11 processes other information received from the image processing apparatus 1 in accordance with the specifications of the electronic device 9, and executes unique information processing.

次に、フローチャートを用いて画像処理装置1のMCU3の処理の詳細を説明する。   Next, details of the processing of the MCU 3 of the image processing apparatus 1 will be described using a flowchart.

図3は、図2のMCU3による画像解析処理の流れの一例を示すフローチャートである。図3を参照して、ステップS1にて、MCU3は、イメージセンサ5が出力した画像データから被写体(本実施の形態では手)の像の輪郭線を抽出する。この処理では、輪郭線上の各画素Pj(j=0〜J−1)の座標(XO[j],YO[j])を求める。   FIG. 3 is a flowchart showing an example of the flow of image analysis processing by the MCU 3 of FIG. Referring to FIG. 3, in step S <b> 1, MCU 3 extracts the contour line of the image of the subject (a hand in the present embodiment) from the image data output from image sensor 5. In this process, the coordinates (XO [j], YO [j]) of each pixel Pj (j = 0 to J−1) on the contour line are obtained.

ここで、本実施の形態では、値Jは、輪郭線上の画素Pjの総数を示す。また、反時計回りに輪郭線の抽出処理が実行されるものとする。   Here, in the present embodiment, the value J indicates the total number of pixels Pj on the contour line. Further, it is assumed that the contour line extraction process is executed counterclockwise.

輪郭線を抽出するためのアルゴリズムは、周知のものを使用できる。例えば、3×3の小画素領域からなるマスクを用いる方法で、このマスクの中心を輪郭線上にたえずおきならが、順次、マスクを移動して、輪郭線を抽出する。   As an algorithm for extracting the contour line, a known algorithm can be used. For example, in a method using a mask made up of 3 × 3 small pixel regions, the mask is sequentially moved to extract the contour line, although the center of the mask is always kept on the contour line.

ステップS3にて、MCU3は、抽出した輪郭線上の各画素PjのベクトルVjの偏角θjを算出する。   In step S3, the MCU 3 calculates the deflection angle θj of the vector Vj of each pixel Pj on the extracted contour line.

図14は、図3のステップS3で検出される偏角θjの説明図である。図4を参照して、今、被写体の輪郭線上の3つの画素Pj−1,Pj,及びPj+1に注目する。また、輪郭線を反時計回りにスキャンするものとする。画素PjのベクトルVjは、画素Pjから次の画素Pj+1に向かうベクトルとして定義される。画素PjのベクトルVjの偏角θjは、画素Pjの1つ前の画素Pj−1のベクトルVj−1に対してベクトルVjがなす角度として定義される。反時計回りの偏角θjの符号は正であり、時計回りの偏角θjの符号は負である。   FIG. 14 is an explanatory diagram of the deviation angle θj detected in step S3 of FIG. With reference to FIG. 4, attention is now focused on the three pixels Pj-1, Pj, and Pj + 1 on the contour line of the subject. Also, the contour line is scanned counterclockwise. A vector Vj of the pixel Pj is defined as a vector from the pixel Pj toward the next pixel Pj + 1. The deflection angle θj of the vector Vj of the pixel Pj is defined as an angle formed by the vector Vj with respect to the vector Vj−1 of the pixel Pj−1 immediately before the pixel Pj. The sign of the counterclockwise deflection angle θj is positive, and the sign of the clockwise deflection angle θj is negative.

図3に戻って、ステップS5にて、MCU3は、抽出した輪郭線の変曲点を検出する。変曲点は、輪郭線の向きが変化する点であり、凸点と凹点とが定義される。   Returning to FIG. 3, in step S5, the MCU 3 detects the inflection point of the extracted contour line. The inflection point is a point where the direction of the outline changes, and a convex point and a concave point are defined.

図15は、図3のステップS5で検出される変曲点の説明図である。図15を参照して、抽出した輪郭線21の向きが変化する点として、変曲点I0〜I8が挙げられる。変曲点I0,I2,I4,I6及びI8は凸点である。変曲点I1,I3,I5及びI7は凹点である。   FIG. 15 is an explanatory diagram of the inflection point detected in step S5 of FIG. Referring to FIG. 15, inflection points I0 to I8 are given as points at which the direction of the extracted outline 21 changes. Inflection points I0, I2, I4, I6 and I8 are convex points. Inflection points I1, I3, I5 and I7 are concave points.

図3に戻って、ステップS7にて、MCU3は、抽出した輪郭線(輪郭画像)の形状(グー、チョキ、パー、一本指、不定)を判定する。ステップS9にて、MCU3は、擬似的にボタン操作が行なわれたか否かを判定する。ステップS11にて、MCU3は、ステップS7の結果(輪郭画像の重心座標、面積、形状の情報(後述のフラグSH)、補正後の指先の座標、並びに、二つの指先の中点座標)及びステップS9の結果(後述の擬似ボタンフラグないしは後述のシングルクリックフラグ及びダブルクリックフラグ)を電子機器9のコンピュータ11に送信する。なお、MCU3は、イメージセンサ5から1フレームの画像データを受け取るたびに、ステップS1〜S11を繰り返す。   Returning to FIG. 3, in step S <b> 7, the MCU 3 determines the shape (goo, choki, par, one finger, indefinite) of the extracted contour line (contour image). In step S9, the MCU 3 determines whether or not a pseudo button operation has been performed. In step S11, the MCU 3 determines the result of step S7 (the barycentric coordinates, area, and shape information of the contour image (flag SH described later), the corrected fingertip coordinates, and the midpoint coordinates of the two fingertips) and the step. The result of S9 (a pseudo button flag described later or a single click flag and a double click flag described later) is transmitted to the computer 11 of the electronic device 9. The MCU 3 repeats steps S1 to S11 each time it receives one frame of image data from the image sensor 5.

図4は、図3のステップS5の変曲点の検出処理の流れの一例を示すフローチャートである。図4を参照して、ステップS21にて、MCU3は、変数DA,ADA,j,及びCF[]に0を代入する。ステップS23にて、MCU3は、図3のステップS1で検出された輪郭線上の画素Pjの偏角θjをメモリ7から取得する。ステップS25にて、MCU3は、変数DAの現在の値に偏角θjを加算して、変数DAに代入する。ステップS27にて、MCU3は、変数DAの絶対値を求めて、変数ADAに代入する。   FIG. 4 is a flowchart showing an example of the flow of the inflection point detection process in step S5 of FIG. Referring to FIG. 4, in step S21, MCU 3 substitutes 0 for variables DA, ADA, j, and CF []. In step S23, the MCU 3 acquires from the memory 7 the deviation angle θj of the pixel Pj on the contour detected in step S1 of FIG. In step S25, the MCU 3 adds the deviation angle θj to the current value of the variable DA and substitutes it for the variable DA. In step S27, the MCU 3 obtains the absolute value of the variable DA and assigns it to the variable ADA.

ステップS29にて、MCU3は、変数ADAの値が135度になったか否かを判断し、135度の場合輪郭線の向きが変わったと判断して、画素Pjを変曲点とみなしてステップS31に進み、それ以外はステップS39に進む。ステップS31では、MCU3は、変数DAの符号が正か否かを判断し、正の場合ステップS33に進み、負の場合ステップS35に進む。ステップS33では、MCU3は、凸凹フラグCF[j]に、変曲点が凸点であることを示す01を代入する。一方、ステップS35では、MCU3は、凸凹フラグCF[j]に、変曲点が凹点であることを示す10を代入する。   In step S29, the MCU 3 determines whether or not the value of the variable ADA has become 135 degrees. If the value is 135 degrees, the MCU 3 determines that the direction of the contour has changed, regards the pixel Pj as an inflection point, and performs step S31. Otherwise, go to step S39. In step S31, the MCU 3 determines whether or not the sign of the variable DA is positive. If it is positive, the process proceeds to step S33, and if negative, the process proceeds to step S35. In step S33, the MCU 3 assigns 01 indicating that the inflection point is a convex point to the convex / concave flag CF [j]. On the other hand, in step S35, the MCU 3 assigns 10 indicating that the inflection point is a concave point to the convex / concave flag CF [j].

ステップS37にて、MCU3は、変数DAに0を代入する。ステップS39にて、MCU3は、変数jを1つインクリメントする。ステップS41にて、MCU3は、変数jの値が、値Jと等しくなったか否かを判断し、j=Jの場合リターンし、それ以外はステップS23に進む。   In step S37, the MCU 3 substitutes 0 for the variable DA. In step S39, the MCU 3 increments the variable j by one. In step S41, the MCU 3 determines whether or not the value of the variable j is equal to the value J. If j = J, the process returns. Otherwise, the process proceeds to step S23.

図5は、図3のステップS7の輪郭画像の形状を判定する処理の流れの一例を示すフローチャートである。図5を参照して、ステップS161にて、MCU3は、輪郭線に関する情報を算出する。ステップS163にて、MCU3は、輪郭画像から手の指先に相当する画素を検出する。   FIG. 5 is a flowchart showing an example of the processing flow for determining the shape of the contour image in step S7 of FIG. With reference to FIG. 5, MCU3 calculates the information regarding an outline in step S161. In step S163, the MCU 3 detects a pixel corresponding to the fingertip of the hand from the contour image.

再び、図15を参照して、凸点I0,I2,I4,I6及びI8を総称して、凸点As(s=0,1,…,S)と表記し、凹点I1,I3,I5及びI7を総称して、凹点Bt(t=0,1,…,T)と表記する。MCU3は、凸点Asから一定画素数Npだけ離れて位置する2つの画素を結ぶ線分23を求め、凸点Asから線分23に下ろした垂線25の長さLvを算出する。MCU3は、長さLvが、所定値CLを超えている場合に、その凸点Asを指先の候補とする。   Again referring to FIG. 15, convex points I0, I2, I4, I6 and I8 are collectively referred to as convex points As (s = 0, 1,..., S), and concave points I1, I3, I5. And I7 are collectively referred to as concave points Bt (t = 0, 1,..., T). The MCU 3 obtains a line segment 23 that connects two pixels located a certain number of pixels Np away from the convex point As, and calculates the length Lv of the perpendicular line 25 drawn from the convex point As to the line segment 23. When the length Lv exceeds the predetermined value CL, the MCU 3 sets the convex point As as a candidate for the fingertip.

そして、MCU3は、指先の候補とした凸点Asの両側又は一方側に凹点Btが存在するか否かを判断し、存在する場合、その凸点Asを指先とみなす。   Then, the MCU 3 determines whether or not there is a concave point Bt on both sides or one side of the convex point As that is a fingertip candidate, and if it exists, regards the convex point As as the fingertip.

また、MCU3は、「パー」及び「グー」を判定するのに必要な傾角θvを算出する。傾角θvは、指先とみなされた凸点Asから線分23に下ろした垂線25が、差分画像のX軸と平行な線27となす角である。   Also, the MCU 3 calculates the tilt angle θv necessary for determining “par” and “goo”. The inclination angle θv is an angle formed by a perpendicular line 25 drawn from the convex point As regarded as the fingertip to the line segment 23 with a line 27 parallel to the X axis of the difference image.

図5に戻って、ステップS165にて、MCU3は、輪郭画像の形状が「パー」をした手の形状であるか否かを判定する。ステップS167にて、MCU3は、輪郭画像の形状が「チョキ」をした手の形状であるか否かを判定する。ステップS169にて、MCU3は、輪郭画像の形状が「グー」をした手の形状であるか否かを判定する。ステップS171にて、MCU3は、輪郭画像の形状が一本指を立てた手の形状であるか否かを判定してリターンする。   Returning to FIG. 5, in step S <b> 165, the MCU 3 determines whether or not the shape of the contour image is a “par” hand shape. In step S167, the MCU 3 determines whether or not the shape of the contour image is the shape of a hand that is “stiff”. In step S169, the MCU 3 determines whether or not the shape of the contour image is a “goo” hand shape. In step S171, the MCU 3 determines whether or not the shape of the contour image is the shape of a hand with one finger raised, and returns.

図6は、図5のステップS161の輪郭情報を算出する処理の流れの一例を示すフローチャートである。図6を参照して、ステップS191にて、MCU3は、変数XG,YG及びjに0を代入する。ステップS193にて、MCU3は、変数XGの現在の値に輪郭線上の画素PjのX座標XO[j]を加算したものを、変数XGに代入する。また、MCU3は、変数YGの現在の値に輪郭線上の画素PjのY座標YO[j]を加算したものを、変数XGに代入する。ステップS195にて、MCU3は、変数jを1つインクリメントする。ステップS197にて、MCU3は、変数jの値が値Jになったか否かを判断し、値Jになった場合ステップS199に進み、それ以外はステップS193に進む。   FIG. 6 is a flowchart illustrating an example of a flow of processing for calculating the contour information in step S161 in FIG. Referring to FIG. 6, in step S191, MCU 3 substitutes 0 for variables XG, YG, and j. In step S193, the MCU 3 substitutes the variable XG for the value obtained by adding the X coordinate XO [j] of the pixel Pj on the contour line to the current value of the variable XG. Also, the MCU 3 substitutes the variable XG for the value obtained by adding the Y coordinate YO [j] of the pixel Pj on the contour line to the current value of the variable YG. In step S195, the MCU 3 increments the variable j by one. In step S197, the MCU 3 determines whether or not the value of the variable j has become the value J. If the value has become the value J, the process proceeds to step S199. Otherwise, the process proceeds to step S193.

ステップS199にて、MCU3は、変数XGの値を値Jで除したものを、変数Xgに代入する。また、MCU3は、変数YGの値を値Jで除したものを、変数Ygに代入する。座標(Xg,Yg)は、輪郭画像の重心座標を示す。   In step S199, the MCU 3 assigns the value obtained by dividing the value of the variable XG by the value J to the variable Xg. Further, the MCU 3 substitutes the value of the variable YG divided by the value J for the variable Yg. The coordinates (Xg, Yg) indicate the barycentric coordinates of the contour image.

ステップS201にて、MCU3は、変数j,LS及びL[]に0を代入する。ステップS203にて、MCU3は、次式により、重心座標(Xg,Yg)と輪郭線上の各画素Pjの座標(XO[j],YO[j])との間の距離L[j]を算出する。   In step S201, the MCU 3 substitutes 0 for variables j, LS, and L []. In step S203, the MCU 3 calculates a distance L [j] between the barycentric coordinates (Xg, Yg) and the coordinates (XO [j], YO [j]) of each pixel Pj on the contour line by the following equation. To do.

L[j]←√((Xg−XO[j])+(Yg−YO[j])L [j] ← √ ((Xg−XO [j]) 2 + (Yg−YO [j]) 2 )

ステップS205にて、MCU3は、変数LSの現在の値に変数L[j]の値を加算したものを、変数LSに代入する。ステップS207にて、MCU3は、変数jを1つインクリメントする。ステップS209にて、MCU3は、変数jの値が値Jになったか否かを判断し、値Jになった場合ステップS211に進み、それ以外はステップS203に進む。   In step S205, the MCU 3 substitutes a value obtained by adding the value of the variable L [j] to the current value of the variable LS for the variable LS. In step S207, the MCU 3 increments the variable j by one. In step S209, the MCU 3 determines whether or not the value of the variable j has become the value J. If the value has become the value J, the process proceeds to step S211. Otherwise, the process proceeds to step S203.

ステップS211にて、MCU3は、変数LSの値を値Jで除することにより、距離L[j]の平均値AVLを算出する。ステップS213にて、MCU3は、輪郭線及び輪郭線内の画素を計数して、輪郭画像の面積を算出してリターンする。   In step S211, the MCU 3 calculates the average value AVL of the distance L [j] by dividing the value of the variable LS by the value J. In step S213, the MCU 3 counts the contour line and the pixels in the contour line, calculates the area of the contour image, and returns.

図7は、図5のステップS163の指先を検出する処理の流れの一例を示すフローチャートである。図7を参照して、ステップS241にて、MCU3は、変数j及びFP[]に0を代入する。ステップS243にて、MCU3は、フラグCF[j]が凸点を示す01にセットされているか否かを判断し、肯定的判断の場合ステップS245に進み、否定的判断の場合ステップS249に進む。   FIG. 7 is a flowchart illustrating an example of a flow of processing for detecting a fingertip in step S163 of FIG. Referring to FIG. 7, in step S241, MCU 3 substitutes 0 for variables j and FP []. In step S243, the MCU 3 determines whether or not the flag CF [j] is set to 01 indicating a convex point. If the determination is affirmative, the process proceeds to step S245. If the determination is negative, the process proceeds to step S249.

ステップS245にて、MCU3は、凸点である画素Pjの両側又は一方側に、フラグCF[j]に凹点を示す10がセットされている画素が存在するか否かを判断し、存在する場合画素Pjを指先候補とみなしてステップS247に進み、存在しない場合ステップS249に進む。ステップS247にて、MCU3は、フラグFP[j]に画素Pjが指先候補であることを示す1をセットする。   In step S245, the MCU 3 determines whether or not there is a pixel in which 10 indicating the concave point is set in the flag CF [j] on both sides or one side of the pixel Pj that is the convex point. If the case pixel Pj is regarded as a fingertip candidate, the process proceeds to step S247, and if not, the process proceeds to step S249. In step S247, the MCU 3 sets 1 indicating that the pixel Pj is a fingertip candidate to the flag FP [j].

ステップS249にて、MCU3は、変数jを1つインクリメントする。ステップS251にて、MCU3は、変数jの値が値Jになったか否かを判断し、値Jになった場合ステップS253に進み、それ以外はステップS243に進む。   In step S249, the MCU 3 increments the variable j by one. In step S251, the MCU 3 determines whether or not the value of the variable j has become the value J. When the value becomes the value J, the MCU 3 proceeds to step S253, otherwise proceeds to step S243.

ステップS253にて、MCU3は、変数j,q,TF[],θv[],XT,YT,Q及びθvに0を代入する。ステップS255にて、MCU3は、フラグFP[j]に指先候補を示す1がセットされているか否かを判断し、肯定的判断の場合ステップS257に進み、それ以外はステップS271に進む。   In step S253, the MCU 3 assigns 0 to variables j, q, TF [], θv [], XT, YT, Q, and θv. In step S255, the MCU 3 determines whether or not 1 indicating a fingertip candidate is set in the flag FP [j]. If the determination is affirmative, the process proceeds to step S257; otherwise, the process proceeds to step S271.

ステップS257にて、MCU3は、画素Pj+Npと画素Pj−Npとを結ぶ線分23に画素Pjから下ろした垂線25の長さLvを算出する(図15参照)。ステップS259にて、MCU3は、長さLvが所定値CLを超えているか否かを判断し、超えている場合画素Pjを指先とみなしてステップS261に進み、それ以外はステップS271に進む。   In step S257, the MCU 3 calculates the length Lv of the perpendicular 25 drawn from the pixel Pj to the line segment 23 connecting the pixel Pj + Np and the pixel Pj−Np (see FIG. 15). In step S259, the MCU 3 determines whether or not the length Lv exceeds the predetermined value CL. If the length Lv exceeds, the MCU 3 regards the pixel Pj as a fingertip and proceeds to step S261. Otherwise, the process proceeds to step S271.

ステップS261にて、MCU3は、指先フラグTF[j]に画素Pjが指先であることを示す1をセットする。ステップS263にて、MCU3は、変数XT[q]に画素PjのX座標を代入する。また、MCU3は、変数YT[q]に画素PjのY座標を代入する。座標(XT[q],YT[q])は、指先の座標である。ステップS265にて、MCU3は、垂線25の傾角θvを算出する(図15参照)。ステップS267にて、MCU3は、変数θv[q]に傾角θvを代入する。傾角θv[q]は、座標(XT[q],YT[q])で示される指先に対応する指の傾角である。ステップS269にて、MCU3は、変数qを1つインクリメントする。   In step S261, the MCU 3 sets 1 indicating that the pixel Pj is the fingertip to the fingertip flag TF [j]. In step S263, the MCU 3 substitutes the X coordinate of the pixel Pj for the variable XT [q]. Further, the MCU 3 substitutes the Y coordinate of the pixel Pj for the variable YT [q]. The coordinates (XT [q], YT [q]) are the coordinates of the fingertip. In step S265, the MCU 3 calculates the inclination angle θv of the perpendicular 25 (see FIG. 15). In step S267, the MCU 3 substitutes the tilt angle θv for the variable θv [q]. The tilt angle θv [q] is the tilt angle of the finger corresponding to the fingertip indicated by the coordinates (XT [q], YT [q]). In step S269, the MCU 3 increments the variable q by one.

ステップS271にて、MCU3は、変数jを1つインクリメントする。ステップS273にて、MCU3は、変数jの値が値Jになったか否かを判断し、値Jになった場合ステップS275に進み、それ以外はステップS255に進む。ステップS275にて、MCU3は、変数Qに変数qの値を代入してリターンする。変数Qの値は、検出された指先の数を表す。   In step S271, the MCU 3 increments the variable j by one. In step S273, the MCU 3 determines whether or not the value of the variable j has become the value J. If the value has become the value J, the process proceeds to step S275. Otherwise, the process proceeds to step S255. In step S275, the MCU 3 assigns the value of the variable q to the variable Q and returns. The value of variable Q represents the number of detected fingertips.

図8は、図5のステップS165の「パー」を判定する処理の流れの一例を示すフローチャートである。図3を参照して、ステップS301にて、MCU3は、変数Qの値(指先の数)が3以上か否かを判断し、3以上の場合ステップS303に進み、それ以外はリターンする。ステップS303にて、MCU3は、変数q及びmに0を代入する。ステップS305にて、MCU3は、配列θv[q]と配列θv[q+1]との差の絶対値を算出し、変数θdに代入する。変数θdは、隣り合う指と指とがなす角度を表す。   FIG. 8 is a flowchart showing an example of a process flow for determining “par” in step S165 of FIG. With reference to FIG. 3, in step S301, the MCU 3 determines whether or not the value of the variable Q (number of fingertips) is 3 or more, the process proceeds to step S303 if it is 3 or more, and otherwise returns. In step S303, the MCU 3 substitutes 0 for the variables q and m. In step S305, the MCU 3 calculates the absolute value of the difference between the array θv [q] and the array θv [q + 1], and substitutes it for the variable θd. The variable θd represents the angle formed between adjacent fingers.

ステップS307にて、MCU3は、変数θdの値が100度未満か否かを判断し、肯定的判断の場合ステップS309に進み、否定的判断の場合ステップS311に進む。ステップS309にて、MCU3は、変数mを1つインクリメントする。ステップS311にて、MCU3は、変数qを1つインクリメントする。   In step S307, the MCU 3 determines whether or not the value of the variable θd is less than 100 degrees. If the determination is affirmative, the process proceeds to step S309. If the determination is negative, the process proceeds to step S311. In step S309, the MCU 3 increments the variable m by one. In step S311, the MCU 3 increments the variable q by one.

ステップS313にて、MCU3は、変数qの値が値Qになったか否かを判断し、値Qになった場合ステップS315に進み、それ以外はステップS305に進む。   In step S313, the MCU 3 determines whether or not the value of the variable q has reached the value Q. If the value has become the value Q, the process proceeds to step S315, otherwise the process proceeds to step S305.

ステップS315では、MCU3は、変数mの値が、6以下3以上であるか否かを判断し、肯定的判断の場合手の形状が「パー」であると判断してステップS317に進み、否定的判断の場合リターンする。変数mの値は、隣り合う指と指とがなす角度θdが100度未満のケースの発生回数である。ステップS317では、MCU3は、フラグSHを「パー」を示す10hにセットして、図3のステップS9に進む。   In step S315, the MCU 3 determines whether the value of the variable m is 6 or less and 3 or more. If the determination is affirmative, the MCU 3 determines that the shape of the hand is “par” and proceeds to step S317. Return in case of judgment. The value of the variable m is the number of occurrences of the case where the angle θd formed by the adjacent fingers is less than 100 degrees. In step S317, the MCU 3 sets the flag SH to 10h indicating “par”, and proceeds to step S9 in FIG.

図9は、図5のステップS167の「チョキ」を判定する処理の流れの一例を示すフローチャートである。図9を参照して、ステップS341にて、MCU3は、変数Qの値(指先の数)が2又は3の場合ステップS343に進み、それ以外はリターンする。   FIG. 9 is a flowchart illustrating an example of a process flow for determining “pick” in step S167 of FIG. Referring to FIG. 9, in step S341, MCU 3 proceeds to step S343 if the value of variable Q (number of fingertips) is 2 or 3, and otherwise returns.

ステップS343にて、MCU3は、変数q,p,SH,XL,YL,XS及びYSに0を代入する。ステップS345にて、MCU3は、輪郭画像の重心座標(Xg,Yg)と指先の座標(XT[q],YT[q])との間の距離Lgt0を算出する。ステップS347にて、MCU3は、距離Lgt0が平均値AVL(図6のステップS211参照)に1.1を乗じたもの以上か否かを判断し、つまり、距離Lgt0が平均値AVLの110%以上か否かを判断し、肯定的判断の場合ステップS349に進み、否定的判断の場合ステップS359に進む。   In step S343, the MCU 3 substitutes 0 for the variables q, p, SH, XL, YL, XS, and YS. In step S345, the MCU 3 calculates a distance Lgt0 between the center-of-gravity coordinates (Xg, Yg) of the contour image and the fingertip coordinates (XT [q], YT [q]). In step S347, the MCU 3 determines whether or not the distance Lgt0 is equal to or larger than the average value AVL (see step S211 in FIG. 6) multiplied by 1.1, that is, the distance Lgt0 is 110% or more of the average value AVL. If the determination is affirmative, the process proceeds to step S349. If the determination is negative, the process proceeds to step S359.

ステップS349にて、MCU3は、輪郭画像の重心座標(Xg,Yg)と指先の座標(XT[q+1],YT[q+1])との間の距離Lgt1を算出する。座標(XT[q+1],YT[q+1])の指先は、座標(XT[q],YT[q])の指先の隣の指先である。ステップS351にて、MCU3は、距離Lgt1が値AVLに1.1を乗じたもの以上か否かを判断し、つまり、距離Lgt1が平均値AVLの110%以上か否かを判断し、肯定的判断の場合ステップS353に進み、否定的判断の場合ステップS359に進む。   In step S349, the MCU 3 calculates a distance Lgt1 between the center-of-gravity coordinates (Xg, Yg) of the contour image and the fingertip coordinates (XT [q + 1], YT [q + 1]). The fingertip of coordinates (XT [q + 1], YT [q + 1]) is the fingertip next to the fingertip of coordinates (XT [q], YT [q]). In step S351, the MCU 3 determines whether or not the distance Lgt1 is greater than or equal to the value AVL multiplied by 1.1, that is, determines whether or not the distance Lgt1 is 110% or more of the average value AVL. In the case of determination, the process proceeds to step S353, and in the case of negative determination, the process proceeds to step S359.

ステップS353では、MCU3は、配列θv[q]と配列θv[q+1]との差の絶対値(つまり、隣あう指と指とがなす角度)を算出し、変数θdに代入する。ステップS355にて、MCU3は、変数θdの値が90度未満か否かを判断し、肯定的判断の場合ステップS357に進み、否定的判断の場合ステップS359に進む。ステップS357にて、MCU3は、変数pを1つインクリメントする。   In step S353, the MCU 3 calculates the absolute value of the difference between the array θv [q] and the array θv [q + 1] (that is, the angle formed by the adjacent finger and the finger) and substitutes it in the variable θd. In step S355, the MCU 3 determines whether or not the value of the variable θd is less than 90 degrees. If the determination is affirmative, the process proceeds to step S357. If the determination is negative, the process proceeds to step S359. In step S357, the MCU 3 increments the variable p by one.

ステップS359にて、MCU3は、変数qを1つインクリメントする。ステップS361にて、MCU3は、変数qの値が値Qになったか否かを判断し、値Qになった場合ステップS363に進み、それ以外はステップS345に進む。ステップS363にて、MCU3は、変数pの値が1又は2の場合手の形状が「チョキ」と判断してステップS365に進み、それ以外はリターンする。   In step S359, the MCU 3 increments the variable q by one. In step S361, the MCU 3 determines whether or not the value of the variable q has become the value Q. If the value has become the value Q, the process proceeds to step S363, otherwise the process proceeds to step S345. In step S363, the MCU 3 determines that the shape of the hand is “pick” when the value of the variable p is 1 or 2, proceeds to step S365, and returns otherwise.

ステップS365にて、MCU3は、変数Qの値が2か否かを判断し、2の場合、つまり、検出された指が2本の場合、ステップS369に進み、それ以外はステップS367に進む。ステップS367では、MCU3は、フラグSHを「チョキ」を示す21hにセットして、図3のステップS9に進む。なお、値21hは、3本の指が検出されたことになっているが、そのうち1本は指ではないノイズであることを示している。   In step S365, the MCU 3 determines whether or not the value of the variable Q is 2, in the case of 2, that is, in the case where two fingers are detected, the process proceeds to step S369, otherwise the process proceeds to step S367. In step S367, the MCU 3 sets the flag SH to 21h indicating “pick”, and proceeds to step S9 in FIG. Note that the value 21h indicates that three fingers are detected, but one of them is noise that is not a finger.

ステップS369では、MCU3は、フラグSHを「チョキ」を示す20hにセットする。なお、値20hは、2本の指が検出され、ステップS367のようなノイズを含まないことを示している。ステップS371にて、MCU3は、距離Lgt0が距離Lgt1より大きいか否かを判断し、つまり、検出された2本の指のどちらが長いか否かを判断し、距離Ltg0が大きい場合ステップS373に進み、それ以外はステップS375に進む。   In step S369, the MCU 3 sets the flag SH to 20h indicating “pick”. Note that the value 20h indicates that two fingers are detected and does not include noise as in step S367. In step S371, the MCU 3 determines whether or not the distance Lgt0 is greater than the distance Lgt1, that is, determines which of the detected two fingers is longer. If the distance Ltg0 is large, the process proceeds to step S373. Otherwise, the process proceeds to step S375.

ステップS373では、MCU3は、座標XL及びYLにそれぞれ座標XT[0]及びYT[0]を代入する。また、MCU3は、座標XS及びYSにそれぞれ座標XT[1]及びYT[1]を代入する。一方、ステップS375では、MCU3は、座標XL及びYLにそれぞれ座標XT[1]及びYT[1]を代入する。また、MCU3は、座標XS及びYSにそれぞれ座標XT[0]及びYT[0]を代入する。ここで、座標(XL,YL)は、長い指の指先の座標であり、座標(XS,YS)は、短い指の指先の座標である。   In step S373, the MCU 3 substitutes coordinates XT [0] and YT [0] for the coordinates XL and YL, respectively. Also, the MCU 3 substitutes coordinates XT [1] and YT [1] for the coordinates XS and YS, respectively. On the other hand, in step S375, the MCU 3 substitutes coordinates XT [1] and YT [1] for the coordinates XL and YL, respectively. Also, the MCU 3 substitutes coordinates XT [0] and YT [0] for the coordinates XS and YS, respectively. Here, the coordinates (XL, YL) are the coordinates of the fingertip of the long finger, and the coordinates (XS, YS) are the coordinates of the fingertip of the short finger.

ステップS377にて、MCU3は、座標(XL,YL)及び座標(XS,YS)のそれぞれに対して、補正値を算出する。ステップS379にて、MCU3は、座標(XL,YL)に、その補正値を加算して、補正後座標を求める。また、MCU3は、座標(XS,YS)に、その補正値を加算して、補正後座標を求める。ステップS381にて、MCU3は、座標(XL,YL)の補正後座標と座標(XS,YS)の補正後座標との中点座標を算出する。そして、MCU3は、図3のステップS9に進む。   In step S377, the MCU 3 calculates a correction value for each of the coordinates (XL, YL) and the coordinates (XS, YS). In step S379, the MCU 3 adds the correction value to the coordinates (XL, YL) to obtain the corrected coordinates. The MCU 3 adds the correction value to the coordinates (XS, YS) to obtain the corrected coordinates. In step S381, the MCU 3 calculates the midpoint coordinates of the corrected coordinates of the coordinates (XL, YL) and the corrected coordinates of the coordinates (XS, YS). Then, the MCU 3 proceeds to step S9 in FIG.

図10は、図5のステップS169の「グー」を判定する処理の流れの一例を示すフローチャートである。図10を参照して、ステップS391にて、MCU3は、変数Qの値(指先の数)が2以上か否かを判断して、肯定的判断の場合ステップS393に進み、否定的判断の場合リターンする。   FIG. 10 is a flowchart illustrating an example of a process flow for determining “go” in step S169 of FIG. Referring to FIG. 10, in step S391, the MCU 3 determines whether or not the value of the variable Q (number of fingertips) is 2 or more, and proceeds to step S393 in the case of a positive determination, and in the case of a negative determination. Return.

ステップS393にて、MCU3は、変数jに0を代入する。ステップS395にて、MCU3は、距離L[j](図6のステップS203参照)が、平均値AVL(図6のステップS211参照)に0.6を乗じたもの以上であり、かつ、値AVLに1.4を乗じたもの以下であるか否かを判断し、つまり、距離L[j]が、平均値AVLの60%以上であり、かつ、平均値AVLの140%以下であるか否かを判断し、肯定的判断の場合ステップS397に進み、否定的判断の場合リターンする。   In step S393, the MCU 3 substitutes 0 for the variable j. In step S395, the MCU 3 determines that the distance L [j] (see step S203 in FIG. 6) is equal to or greater than the average value AVL (see step S211 in FIG. 6) multiplied by 0.6, and the value AVL. Whether or not the distance L [j] is 60% or more of the average value AVL and 140% or less of the average value AVL. If the determination is affirmative, the process proceeds to step S397. If the determination is negative, the process returns.

ステップS397にて、MCU3は、変数jを1つインクリメントする。ステップS399にて、MCU3は、変数jの値が値Jになったか否かを判断し、値Jになった場合手の形状が「グー」と判断しステップS401に進み、それ以外はステップS395に進む。ステップS401にて、MCU3は、フラグSHを「グー」を示す30hにセットして、図3のステップS9に進む。   In step S397, the MCU 3 increments the variable j by one. In step S399, the MCU 3 determines whether or not the value of the variable j has become the value J. If the value J has reached the value J, the hand shape is determined to be “Goo”, and the process proceeds to step S401. Otherwise, the process proceeds to step S395. Proceed to In step S401, the MCU 3 sets the flag SH to 30h indicating “Goo”, and proceeds to step S9 in FIG.

図11は、図5のステップS171の一本指を判定する処理の流れの一例を示すフローチャートである。図11を参照して、ステップS421にて、MCU3は、変数Qの値(指先の数)が1以下か否かを判断して、肯定的判断の場合ステップS423に進み、否定的判断の場合ステップS447に進む。ステップS447では、MCU3は、フラグSHを「不定」を示す00hにセットしてリターンする。   FIG. 11 is a flowchart illustrating an example of a process flow for determining one finger of step S171 in FIG. Referring to FIG. 11, in step S421, MCU 3 determines whether or not the value of variable Q (number of fingertips) is 1 or less, and proceeds to step S423 if affirmative determination is made, and if negative determination is performed. The process proceeds to step S447. In step S447, the MCU 3 sets the flag SH to 00h indicating “indefinite” and returns.

一方、ステップS423では、MCU3は、変数j,s,Dc[],Dca及びDcmに0を代入する。ステップS425にて、MCU3は、フラグFP[j]に指先候補(つまり凸点)を示す1がセットされているか否かを判断し、肯定的判断の場合ステップS427に進み、それ以外はステップS433に進む。   On the other hand, in step S423, the MCU 3 substitutes 0 for the variables j, s, Dc [], Dca, and Dcm. In step S425, the MCU 3 determines whether or not 1 indicating a fingertip candidate (that is, a convex point) is set in the flag FP [j]. If the determination is affirmative, the process proceeds to step S427. Otherwise, the MCU 3 proceeds to step S433. Proceed to

ステップS427では、MCU3は、重心座標(Xg,Yg)と凸点の画素Pjとの間の距離Dを算出する。ステップS429にて、MCU3は、配列Dc[s]に距離Dを代入する。ステップS431にて、MCU3は、変数sを1つインクリメントする。ステップS433にて、MCU3は、変数jを1つインクリメントする。ステップS435にて、MCU3は、変数jの値が値Jになったか否かを判断し、値Jになった場合ステップS437に進み、それ以外はステップS425に進む。   In step S427, the MCU 3 calculates a distance D between the barycentric coordinates (Xg, Yg) and the convex pixel Pj. In step S429, the MCU 3 substitutes the distance D into the array Dc [s]. In step S431, the MCU 3 increments the variable s by one. In step S433, the MCU 3 increments the variable j by one. In step S435, the MCU 3 determines whether or not the value of the variable j has become the value J. If the value has become the value J, the process proceeds to step S437. Otherwise, the process proceeds to step S425.

ステップS437にて、距離Dc[s]の平均値Dcaを算出する。つまり、平均値Dcaは、重心から各凸点までの距離の平均値である。ステップS439にて、距離Dc[s]から、最大値Dcmを検出する。つまり、最大値Dcmは、重心から各凸点までの距離のうち、最大のものである。ステップS441にて、MCU3は、最大値Dcmが、平均値Dcaに1.3を乗じた値以上か否かを判断し、肯定判断の場合一本の指が立った状態であるとみなしてステップS443に進み、否定判断の場合ステップS447に進む。   In step S437, an average value Dca of the distance Dc [s] is calculated. That is, the average value Dca is the average value of the distances from the center of gravity to each convex point. In step S439, the maximum value Dcm is detected from the distance Dc [s]. That is, the maximum value Dcm is the maximum of the distances from the center of gravity to each convex point. In step S441, the MCU 3 determines whether or not the maximum value Dcm is equal to or greater than a value obtained by multiplying the average value Dca by 1.3. If the determination is affirmative, the MCU 3 regards that one finger is standing. The process proceeds to S443, and in the case of a negative determination, the process proceeds to Step S447.

ステップS443では、MCU3は、フラグSHを「1本の指が立った状態」を示す40hにセットする。ステップS445では、MCU3は、座標XHに、最大値Dcmに対応する凸点の画素PjのX座標を代入する。また、MCU3は、座標YHに、最大値Dcmに対応する凸点の画素PjのY座標を代入する。座標(XH,YH)は、立った状態の1本指の指先の座標である。ステップS447にて、MCU3は、座標(XH,YH)の補正値(Xc,Yc)を計算する。ステップS449にて、MCU3は、座標(XH,YH)に、その補正値(Xc,Yc)を加算し、補正後座標(Xf,Yf)を求める。そして、MCU3は、リターンする。   In step S443, the MCU 3 sets the flag SH to 40h indicating “a state where one finger is standing”. In step S445, the MCU 3 substitutes the X coordinate of the pixel Pj of the convex point corresponding to the maximum value Dcm for the coordinate XH. Further, the MCU 3 substitutes the Y coordinate of the pixel Pj of the convex point corresponding to the maximum value Dcm for the coordinate YH. The coordinates (XH, YH) are the coordinates of one fingertip in a standing state. In step S447, the MCU 3 calculates a correction value (Xc, Yc) of the coordinates (XH, YH). In step S449, the MCU 3 adds the correction value (Xc, Yc) to the coordinate (XH, YH) to obtain the corrected coordinate (Xf, Yf). Then, the MCU 3 returns.

さて、次に、図9のステップS373及びS375で求めた指先を示す画素の座標(XL,YL)及び(XS,YS)、並びに、図11のステップS445で求めた指先を示す画素の座標(XH,YH)を、イメージセンサ5の解像度を超える高精度で再計算する方法を説明する。以下では、再計算前の指先を示す画素P4の座標を、座標(Xb,Yb)と表記する。そして、下記のようにして、座標(Xb,Yb)の補正値(Xc,Yc)を求める。本実施の形態では、補正値の算出方法として、第1〜第4の例を挙げる。   Next, the coordinates (XL, YL) and (XS, YS) of the pixel indicating the fingertip obtained in steps S373 and S375 of FIG. 9, and the coordinates of the pixel indicating the fingertip obtained in step S445 of FIG. A method of recalculating XH, YH) with high accuracy exceeding the resolution of the image sensor 5 will be described. Hereinafter, the coordinates of the pixel P4 indicating the fingertip before recalculation are expressed as coordinates (Xb, Yb). Then, the correction value (Xc, Yc) of the coordinates (Xb, Yb) is obtained as follows. In the present embodiment, first to fourth examples will be given as correction value calculation methods.

図12(a)は、図9のステップS377及び図11のステップS447の指先補正値計算処理の第1の例の流れを示すフローチャートである。図12(b)は、図9のステップS377及び図11のステップS447の指先補正値計算処理の第2の例の流れを示すフローチャートである。図12(c)は、図9のステップS377及び図11のステップS447の指先補正値計算処理の第3の例の流れを示すフローチャートである。図12(d)は、図9のステップS377及び図11のステップS447の指先補正値計算処理の第4の例の流れを示すフローチャートである。   FIG. 12A is a flowchart showing a flow of a first example of the fingertip correction value calculation process in step S377 in FIG. 9 and step S447 in FIG. FIG. 12B is a flowchart showing the flow of the second example of the fingertip correction value calculation process in step S377 in FIG. 9 and step S447 in FIG. FIG. 12C is a flowchart showing the flow of the third example of the fingertip correction value calculation process in step S377 in FIG. 9 and step S447 in FIG. FIG. 12D is a flowchart showing the flow of the fourth example of the fingertip correction value calculation process in step S377 in FIG. 9 and step S447 in FIG.

図16(a)は、図12(a)及び図12(c)の指先補正値計算処理の説明図である。図16(b)は、図12(b)及び図12(d)の指先補正値計算処理の説明図である。   FIG. 16A is an explanatory diagram of the fingertip correction value calculation process of FIGS. 12A and 12C. FIG. 16B is an explanatory diagram of the fingertip correction value calculation process of FIGS. 12B and 12D.

図16(a)及び図16(b)を参照して、補正前(再計算前)の指先画素P4の座標(Xb,Yb)を原点(0,0)とする。図中、水平右方向をx軸の正とし、垂直下方向をy軸の正とする。そして、補正前の指先画素P4を取り囲む8個の画素P0,P1,P2,P5,P6,P7及びP8を利用する。また、画素P0〜P8は、それぞれ、画素値(つまり輝度値)p0〜p8を有する。   With reference to FIGS. 16A and 16B, the coordinates (Xb, Yb) of the fingertip pixel P4 before correction (before recalculation) are set as the origin (0, 0). In the figure, the horizontal right direction is positive on the x axis, and the vertical downward direction is positive on the y axis. Then, eight pixels P0, P1, P2, P5, P6, P7 and P8 surrounding the fingertip pixel P4 before correction are used. The pixels P0 to P8 have pixel values (that is, luminance values) p0 to p8, respectively.

図16(a)に示すように、第1及び第3の例では、原点(0,0)の指先画素P4の上下左右の画素P1,P7,P3及びP5の座標は、それぞれ、座標(0,−1),(0,1),(−1,0)及び(1,0)である。また、指先画素P4の左上画素P0、右上画素P2、左下画素P6及び右下画素P8の座標は、それぞれ、座標(−√2/2,−√2/2),(√2/2,−√2/2),(−√2/2,√2/2)及び(√2/2,√2/2)である。   As shown in FIG. 16A, in the first and third examples, the coordinates of the pixels P1, P7, P3, and P5 on the top, bottom, left, and right of the fingertip pixel P4 at the origin (0, 0) are coordinates (0 , -1), (0, 1), (-1, 0) and (1, 0). The coordinates of the upper left pixel P0, upper right pixel P2, lower left pixel P6, and lower right pixel P8 of the fingertip pixel P4 are coordinates (−√2 / 2, −√2 / 2), (√2 / 2, − √2 / 2), (−√2 / 2, √2 / 2) and (√2 / 2, √2 / 2).

一方、図16(b)に示すように、第2及び第4の例では、原点(0,0)の指先画素P4の周囲画素P0,P1,P2,P5,P6,P7及びP8の座標は、それぞれ、座標(−1,−1)、(0,−1)、(1,−1)、(−1,0)、(1,0)、(−1,1)、(0,1)及び(1,1)である。   On the other hand, as shown in FIG. 16B, in the second and fourth examples, the coordinates of the surrounding pixels P0, P1, P2, P5, P6, P7 and P8 of the fingertip pixel P4 at the origin (0, 0) are , Coordinates (-1, -1), (0, -1), (1, -1), (-1, 0), (1, 0), (-1, 1), (0, 1), respectively. ) And (1,1).

なお、下記の数式中シンボル“*”及び“/”は、それぞれ、乗算及び除算を示す。   In the following formulas, symbols “*” and “/” indicate multiplication and division, respectively.

図12(a)を参照して、第1の例では、ステップS361及びS363にて、MCU3は、次式により、X座標Xbの補正値Xc及びY座標Ybの補正値Ycを算出する。値Csは定数である。定数Csは1より大きい値である。   With reference to FIG. 12A, in the first example, in steps S361 and S363, the MCU 3 calculates the correction value Xc of the X coordinate Xb and the correction value Yc of the Y coordinate Yb by the following equations. The value Cs is a constant. The constant Cs is a value greater than 1.

Xc=(A/C)*Cs
Yc=(B/C)*Cs
Xc = (A / C) * Cs
Yc = (B / C) * Cs

A=−R*p0+0*p1+R*p2+(−1)*p3+0*p4+1*p5+(−R)*p6+0*p7+R*p8
B=−R*p0+(−1)*p1+(−R)*p2+0*p3+0*p4+0*p5+R*p6+1*p7+R*p8
C=p0+p1+p2+P3+p4+p5+p6+p7+p8
R=√2/2
A = −R * p0 + 0 * p1 + R * p2 + (− 1) * p3 + 0 * p4 + 1 * p5 + (− R) * p6 + 0 * p7 + R * p8
B = −R * p0 + (− 1) * p1 + (− R) * p2 + 0 * p3 + 0 * p4 + 0 * p5 + R * p6 + 1 * p7 + R * p8
C = p0 + p1 + p2 + P3 + p4 + p5 + p6 + p7 + p8
R = √2 / 2

よって、補正後の指先のX座標Xf及びY座標Yfは、次のようになる。   Therefore, the corrected X coordinate Xf and Y coordinate Yf of the fingertip are as follows.

Xf=Xb+Xc
Yf=Yb+Yc
Xf = Xb + Xc
Yf = Yb + Yc

図12(b)を参照して、第2の例では、ステップS371及びS373にて、MCU3は、次式により、X座標Xbの補正値Xc及びY座標Ybの補正値Ycを算出する。値Csは定数である。   Referring to FIG. 12B, in the second example, in steps S371 and S373, the MCU 3 calculates the correction value Xc of the X coordinate Xb and the correction value Yc of the Y coordinate Yb by the following equations. The value Cs is a constant.

Xc=(D/C)*Cs
Yc=(E/C)*Cs
Xc = (D / C) * Cs
Yc = (E / C) * Cs

D=−1*p0+0*p1+1*p2+(−1)*p3+0*p4+1*p5+(−1)*p6+0*p7+1*p8
E=−1*p0+(−1)*p1+(−1)*p2+0*p3+0*p4+0*p5+1*p6+1*p7+1*p8
C=p0+p1+p2+P3+p4+p5+p6+p7+p8
D = -1 * p0 + 0 * p1 + 1 * p2 + (-1) * p3 + 0 * p4 + 1 * p5 + (-1) * p6 + 0 * p7 + 1 * p8
E = -1 * p0 + (-1) * p1 + (-1) * p2 + 0 * p3 + 0 * p4 + 0 * p5 + 1 * p6 + 1 * p7 + 1 * p8
C = p0 + p1 + p2 + P3 + p4 + p5 + p6 + p7 + p8

よって、補正後の指先のX座標Xf及びY座標Yfは、次のようになる。   Therefore, the corrected X coordinate Xf and Y coordinate Yf of the fingertip are as follows.

Xf=Xb+Xc
Yf=Yb+Yc
Xf = Xb + Xc
Yf = Yb + Yc

図12(c)を参照して、第3の例では、ステップS381及びS383にて、MCU3は、次式により、X座標Xbの補正値Xc及びY座標Ybの補正値Ycを算出する。値pmaxは、画素値p0〜p8のうちの最大値を示す。   Referring to FIG. 12C, in the third example, in steps S381 and S383, the MCU 3 calculates the correction value Xc of the X coordinate Xb and the correction value Yc of the Y coordinate Yb by the following equations. The value pmax indicates the maximum value among the pixel values p0 to p8.

Xc=A/pmax
Yc=B/pmax
Xc = A / pmax
Yc = B / pmax

A=−R*p0+0*p1+R*p2+(−1)*p3+0*p4+1*p5+(−R)*p6+0*p7+R*p8
B=−R*p0+(−1)*p1+(−R)*p2+0*p3+0*p4+0*p5+R*p6+1*p7+R*p8
R=√2/2
A = −R * p0 + 0 * p1 + R * p2 + (− 1) * p3 + 0 * p4 + 1 * p5 + (− R) * p6 + 0 * p7 + R * p8
B = −R * p0 + (− 1) * p1 + (− R) * p2 + 0 * p3 + 0 * p4 + 0 * p5 + R * p6 + 1 * p7 + R * p8
R = √2 / 2

よって、補正後の指先のX座標Xf及びY座標Yfは、次のようになる。   Therefore, the corrected X coordinate Xf and Y coordinate Yf of the fingertip are as follows.

Xf=Xb+Xc
Yf=Yb+Yc
Xf = Xb + Xc
Yf = Yb + Yc

図12(d)を参照して、第4の例では、ステップS391及びS393にて、MCU3は、次式により、X座標Xbの補正値Xc及びY座標Ybの補正値Ycを算出する。値pmaxは、画素値p0〜p8のうちの最大値を示す。   Referring to FIG. 12D, in the fourth example, in steps S391 and S393, the MCU 3 calculates the correction value Xc of the X coordinate Xb and the correction value Yc of the Y coordinate Yb by the following equations. The value pmax indicates the maximum value among the pixel values p0 to p8.

Xc=D/pmax
Yc=E/pmax
Xc = D / pmax
Yc = E / pmax

D=−1*p0+0*p1+1*p2+(−1)*p3+0*p4+1*p5+(−1)*p6+0*p7+1*p8
E=−1*p0+(−1)*p1+(−1)*p2+0*p3+0*p4+0*p5+1*p6+1*p7+1*p8
D = -1 * p0 + 0 * p1 + 1 * p2 + (-1) * p3 + 0 * p4 + 1 * p5 + (-1) * p6 + 0 * p7 + 1 * p8
E = -1 * p0 + (-1) * p1 + (-1) * p2 + 0 * p3 + 0 * p4 + 0 * p5 + 1 * p6 + 1 * p7 + 1 * p8

よって、補正後の指先のX座標Xf及びY座標Yfは、次のようになる。   Therefore, the corrected X coordinate Xf and Y coordinate Yf of the fingertip are as follows.

Xf=Xb+Xc
Yf=Yb+Yc
Xf = Xb + Xc
Yf = Yb + Yc

ここで、図9のステップS377の指先補正値算出処理では、MCU3は、座標(XL,YL)及び(XS,YS)のそれぞれを指先P4の座標(Xb,Yb)として、それぞれの補正値を算出する。また、図11のステップS447の指先補正値算出処理では、座標(XH,YH)を指先P4の座標(Xb,Yb)として、その補正値を算出する。   Here, in the fingertip correction value calculation process in step S377 of FIG. 9, the MCU 3 sets the coordinates (XL, YL) and (XS, YS) as the coordinates (Xb, Yb) of the fingertip P4, and sets the correction values. calculate. In the fingertip correction value calculation process in step S447 in FIG. 11, the correction value is calculated using the coordinates (XH, YH) as the coordinates (Xb, Yb) of the fingertip P4.

図16(b)を参照しながら、上記第4の例について補足説明する。   The fourth example will be supplementarily described with reference to FIG.

第4の例の上記式では、指先画素P4並びに周囲画素P0,P1,P2,P5,P6,P7及びP8の座標(0,0)、(−1,−1)、(0,−1)、(1,−1)、(−1,0)、(1,0)、(−1,1)、(0,1)及び(1,1)に、対応する画素値p4,p0,p1,p2,P3,p5,p6,p7及びp8で重み付けをし、それらの和Dが算出される。そして、和Dを値pmaxで除することにより、補正値Xcを求める。   In the above formula of the fourth example, the coordinates (0, 0), (-1, -1), (0, -1) of the fingertip pixel P4 and the surrounding pixels P0, P1, P2, P5, P6, P7 and P8. , (1, -1), (-1, 0), (1, 0), (-1, 1), (0, 1) and (1, 1) corresponding pixel values p4, p0, p1 , P2, P3, p5, p6, p7 and p8, and the sum D thereof is calculated. Then, the correction value Xc is obtained by dividing the sum D by the value pmax.

このようにして、小数点を持った精度の補正値Xcが得られる。なお、座標Xbは、画素単位で求められるので、整数値である。従って、座標Xbに補正値Xcを加えることにより、小数点精度の座標値を得ることができる。これらのことは同様にY座標についても言える。   In this way, a correction value Xc with accuracy having a decimal point is obtained. Note that the coordinate Xb is an integer value because it is obtained in units of pixels. Therefore, by adding the correction value Xc to the coordinate Xb, a coordinate value with decimal point precision can be obtained. These are also true for the Y coordinate.

また、画素値による重み付けを行うことにより得られた補正値Xcを、補正前のX座標Xbに加えることにより、画素値(輝度値)の大きい側に、X座標Xbを補正できる(画素値による重み付け)。このことは同様にY座標についても言える。つまり、偏角θjから変曲点を求めることによって、手の輪郭線上の画素から、指先に相当する画素を特定し(図9のステップS373及びS375並びに図11のステップS445)、さらに、画素値を加味することによって、輪郭線上で特定された画素の周囲で、より画素値の大きい位置に、指先の座標を補正している。なぜなら、画像に写り込んだ指の像のうち、その先端部分であって、さらに、画素値(輝度値)の大きい位置を、指先とみなすことにより、より適切に指先を特定できるからである。   In addition, by adding the correction value Xc obtained by weighting with the pixel value to the X coordinate Xb before correction, the X coordinate Xb can be corrected to the larger pixel value (luminance value) (depending on the pixel value). Weight). This is also true for the Y coordinate. That is, by obtaining the inflection point from the declination angle θj, the pixel corresponding to the fingertip is specified from the pixels on the contour line of the hand (Steps S373 and S375 in FIG. 9 and Step S445 in FIG. 11), and further, the pixel value By adding the above, the coordinates of the fingertip are corrected at a position having a larger pixel value around the pixel specified on the contour line. This is because it is possible to more appropriately specify the fingertip by regarding the position of the tip portion of the image of the finger reflected in the image and having a larger pixel value (luminance value) as the fingertip.

さらに、和Dを、画素値p0〜p8のうちの最大値pmaxで除している。つまり、除数を、固定値とするのではなく、変動値としている。これは、イメージセンサ5から手までの距離は、一定ではないからである。つまり、イメージセンサ5から手までの距離が近い場合は、画像に指は大きく写り込み、一方、イメージセンサ5から手までの距離が遠い場合は、画像には指は小さく写り込むので、補正値Xcを、イメージセンサ5から手までの遠近に応じて、適切な値に設定するためである。補正値Ycについても同様である。   Further, the sum D is divided by the maximum value pmax among the pixel values p0 to p8. That is, the divisor is not a fixed value but a variable value. This is because the distance from the image sensor 5 to the hand is not constant. That is, when the distance from the image sensor 5 to the hand is short, the finger appears large in the image, while when the distance from the image sensor 5 to the hand is long, the finger appears small in the image, the correction value This is because Xc is set to an appropriate value according to the distance from the image sensor 5 to the hand. The same applies to the correction value Yc.

例えば、除数を固定値とする場合、その固定値が小さすぎると、イメージセンサ5から手までの距離が遠い場合は比較的妥当な値になるかもしれないが、近い場合は、補正値が大きくなりすぎてしまう。また、逆に、除数を固定値とする場合、その固定値が大きすぎると、イメージセンサ5から手までの距離が近い場合は比較的妥当な値になるかもしれないが、遠い場合は、補正値が小さくなりすぎてしまう。また、イメージセンサ5から手までの距離が遠い場合と近い場合の双方に適切な除数を、固定値として設定することは困難である。なぜなら、同じ距離で同じ指を撮影する場合であっても、イメージセンサ5が設置される環境(照明や外光など)によって、画素値(輝度値)は異なってくるし、また、指の色彩、輪郭、及び表面の形状等も人によって異なるからである。   For example, when the divisor is a fixed value, if the fixed value is too small, it may be a relatively reasonable value if the distance from the image sensor 5 to the hand is long, but if it is close, the correction value is large. It becomes too much. On the other hand, when the divisor is a fixed value, if the fixed value is too large, it may be a relatively reasonable value when the distance from the image sensor 5 to the hand is short, but if it is far, it is corrected. The value becomes too small. In addition, it is difficult to set a proper divisor as a fixed value for both cases where the distance from the image sensor 5 to the hand is long and close. This is because even when the same finger is photographed at the same distance, the pixel value (luminance value) varies depending on the environment (lighting, outside light, etc.) in which the image sensor 5 is installed, and the finger color, This is because the contour, the shape of the surface, and the like vary from person to person.

また、値C(=p0+p1+p2+P3+p4+p5+p6+p7+p8)で除することにより、加重平均をとることもできる。しかし、次の理由により、除数は、値Cではなく、最大値pmaxとするほうが好ましい。   A weighted average can be obtained by dividing by the value C (= p0 + p1 + p2 + P3 + p4 + p5 + p6 + p7 + p8). However, for the following reason, it is preferable that the divisor is not the value C but the maximum value pmax.

図17を参照して、一般的に、実際の人間の指先30は、平面視において、ある点を頂点(「実頂点」と呼ぶ。)32として、円弧状となっている。一方、本実施の形態のように、比較的低解像度の画像から指の輪郭を検出し、指先を決定する場合、常に実頂点32を指先として検出することは困難である。従って、検出される指先は、実頂点32であったり、実頂点32の左の点34になったり、右の点36になったりする。   Referring to FIG. 17, an actual human fingertip 30 generally has an arc shape with a certain point being a vertex (referred to as “real vertex”) 32 in plan view. On the other hand, when detecting the fingertip from a relatively low resolution image and determining the fingertip as in the present embodiment, it is difficult to always detect the actual vertex 32 as the fingertip. Therefore, the detected fingertip is the actual vertex 32, the left point 34 of the actual vertex 32, or the right point 36.

この場合、和Dを値Cで除して補正値とすると、その補正値は、図16(b)の画素P4を中心とした9×9画素の範囲を超えることができない。和Eについても同様である。このため、例えば、図17の実頂点32の補正後の位置は点38、点34の補正後の位置は点40、点36の補正後の位置は点42となる。このように、補正後の指先の位置は、これら3つの点で異なっている。同じ指先を検出するのに、異なった部分を指先と認識したのでは、検出された指先位置に配置されるカーソルが安定しない。   In this case, when the sum D is divided by the value C to obtain a correction value, the correction value cannot exceed the range of 9 × 9 pixels centered on the pixel P4 in FIG. The same applies to the sum E. Therefore, for example, the corrected position of the real vertex 32 in FIG. 17 is the point 38, the corrected position of the point 34 is the point 40, and the corrected position of the point 36 is the point 42. Thus, the corrected fingertip position is different in these three points. If a different part is recognized as a fingertip to detect the same fingertip, the cursor placed at the detected fingertip position is not stable.

そこで、輪郭から求めた指先が、一定していな場合でも、補正後の位置を極力一定させるため、あるいは、指先の位置の相違を極力小さい範囲に収めるため、最大値pmaxで和D及びEを除して、補正値を、9×9画素の範囲を越えるようにし、補正後の位置が、図17の点44、つまり、指先端部30の腹の中心付近に集まるようにした。   Therefore, even when the fingertip obtained from the contour is not constant, the sums D and E are calculated with the maximum value pmax in order to make the corrected position as constant as possible, or to keep the difference in the fingertip position in the smallest possible range. In other words, the correction value exceeds the range of 9 × 9 pixels, and the corrected position is gathered near the point 44 in FIG. 17, that is, near the center of the belly of the finger tip 30.

図16(a)を参照しながら、上記第1の例について補足説明する。この例では、第4の例と異なり、画素P0,P2,P6及びP8の重み付けの対象を、それぞれ、座標(−√2/2,−√2/2),(√2/2,−√2/2),(−√2/2,√2/2)及び(√2/2,√2/2)とした。これは次の理由による。   The first example will be supplementarily described with reference to FIG. In this example, unlike the fourth example, the weighting targets of the pixels P0, P2, P6, and P8 are coordinates (−√2 / 2, −√2 / 2), (√2 / 2, −√, respectively. 2/2), (−√2 / 2, √2 / 2) and (√2 / 2, √2 / 2). This is due to the following reason.

補正前の指先画素P4の中心からの距離を、全周囲画素で同じ値として、画素値を重みとするに当って、全画素値を均等に扱うためである。例えば、画素P4と画素P5との間の距離は「1」であるが、画素P2の座標を(1,−1)として計算すると、画素P4と画素P2との間の距離は、「√2」となってしまい、周囲画素の位置によって不均衡が発生する。補正前の指先画素P4の中心からの距離を、全周囲画素で同じ値とすることにより、補正値を方向によって偏りのないものとすることができる。   This is because all pixel values are treated equally when the distance from the center of the fingertip pixel P4 before correction is set to the same value for all surrounding pixels and the pixel values are weighted. For example, the distance between the pixel P4 and the pixel P5 is “1”, but when the coordinates of the pixel P2 are calculated as (1, −1), the distance between the pixel P4 and the pixel P2 is “√2”. And an imbalance occurs depending on the positions of surrounding pixels. By setting the distance from the center of the fingertip pixel P4 before correction to the same value for all the surrounding pixels, the correction value can be made uneven depending on the direction.

また、この例では、A/C及びB/Cに定数Csを乗じている。これは、第4の例で、除数を値Cとせず、加重平均をとらなかった理由と同じである。つまり、輪郭から求めた指先が、一定していな場合でも、補正後の位置を極力一定させるため、あるいは、指先の位置の相違を極力小さい範囲に収めるため、定数Csを乗じて、補正値を、9×9画素の範囲を越えるようにし、補正後の位置が、図17の点44に集まるようにしたのである。なお、定数Csを乗ずることなしにA/C及びB/Cを補正値とすることもできる。   In this example, A / C and B / C are multiplied by a constant Cs. This is the same as the reason that the divisor is not set to the value C and the weighted average is not taken in the fourth example. In other words, even when the fingertip obtained from the contour is not constant, the correction value is multiplied by a constant Cs in order to make the corrected position as constant as possible, or to keep the difference in the fingertip position in the smallest possible range. The range of 9 × 9 pixels is exceeded, and the corrected positions are gathered at point 44 in FIG. Note that A / C and B / C can also be used as correction values without multiplying by the constant Cs.

ここで、定数Csは、実験及び試行錯誤等により決定される。また、定数Csを、検出された指の幅に応じて動的に変更することもできる。例えば、画像から指の幅を算出し、その幅に所定数(小数値)を乗じることにより、定数Csを決定する。この所定数は、実験及び試行錯誤等により決定される。例えばこの所定数は2/3である。なお、例えば、補正前の指先画素の左右それぞれに一定画素数離れた左右の画素間の距離を求め、それを指の幅とする。   Here, the constant Cs is determined by experiments and trial and error. The constant Cs can also be dynamically changed according to the detected finger width. For example, the constant Cs is determined by calculating the width of the finger from the image and multiplying the width by a predetermined number (decimal value). This predetermined number is determined by experiments and trial and error. For example, this predetermined number is 2/3. Note that, for example, a distance between left and right pixels that are a fixed number of pixels away from each other on the left and right of the fingertip pixel before correction is obtained and used as the finger width.

また、和A及びBをそれぞれ値Cで除して加重平均をとるのは、小数点を持った精度の補正値Xc及びYcを得るためである。なお、座標Xbは、画素単位で求められるので、整数値である。従って、座標Xbに補正値Xcを加えることにより、小数点精度の座標値を得ることができる。これらのことは同様にY座標についても言える。   The reason why the weighted average is obtained by dividing the sums A and B by the value C is to obtain accuracy correction values Xc and Yc having decimal points. Note that the coordinate Xb is an integer value because it is obtained in units of pixels. Therefore, by adding the correction value Xc to the coordinate Xb, a coordinate value with decimal point precision can be obtained. These are also true for the Y coordinate.

さらに、画素値による重み付けを行う理由は、第4の例と同様である。   Further, the reason for performing weighting by the pixel value is the same as in the fourth example.

上記第2の例について補足説明する。定数Csを乗じる理由、加重平均をとる理由、及び、画素値による重み付けを行なう理由は、第1の例と同じである。   A supplementary explanation will be given of the second example. The reason for multiplying by the constant Cs, the reason for taking the weighted average, and the reason for weighting by the pixel value are the same as in the first example.

上記第3の例について補足説明する。和A及びBをそれぞれ最大値pmaxで除して加重平均をとるのは、小数点を持った精度の補正値Xc及びYcを得るためである。なお、座標Xbは、画素単位で求められるので、整数値である。従って、座標Xbに補正値Xcを加えることにより、小数点精度の座標値を得ることができる。これらのことは同様にY座標についても言える。   A supplementary explanation will be given of the third example. The reason for taking the weighted average by dividing the sums A and B by the maximum value pmax is to obtain precision correction values Xc and Yc having decimal points. Note that the coordinate Xb is an integer value because it is obtained in units of pixels. Therefore, by adding the correction value Xc to the coordinate Xb, a coordinate value with decimal point precision can be obtained. These are also true for the Y coordinate.

また、画素P0,P2,P6及びP8の重み付けの対象を、それぞれ、座標(−√2/2,−√2/2),(√2/2,−√2/2),(−√2/2,√2/2)及び(√2/2,√2/2)とした理由は、第1の例と同じである。   Also, the weighting targets of the pixels P0, P2, P6, and P8 are coordinates (−√2 / 2, −√2 / 2), (√2 / 2, −√2 / 2), and (−√2), respectively. / 2, √2 / 2) and (√2 / 2, √2 / 2) are the same as in the first example.

さらに、画素値による重み付けを行う理由、除数を変動値とした理由、及び、最大値pmaxで除し加重平均をとらない理由は、第4の例と同様である。   Further, the reason why the pixel value is weighted, the reason why the divisor is a variation value, and the reason why the weighted average is not obtained by dividing by the maximum value pmax are the same as in the fourth example.

図13(a)は、図3のステップS9の擬似ボタン操作判定処理の第1の例の流れを示すフローチャートである(図1(b)の第1の例に対応)。図13(a)を参照して、ステップS621にて、MCU3は、擬似的なボタン操作の有無を示す擬似ボタンフラグをオフにする。ステップS623にて、MCU3は、手の形状を示す今回のフラグSHに40hがセットされているか否かを判断し、40hがセットされている場合(つまり、「1本指」の状態)、ステップS627に進み、それ以外はリターンする。   FIG. 13A is a flowchart showing the flow of a first example of the pseudo button operation determination process in step S9 of FIG. 3 (corresponding to the first example of FIG. 1B). Referring to FIG. 13A, in step S621, the MCU 3 turns off a pseudo button flag indicating whether or not a pseudo button operation has been performed. In step S623, the MCU 3 determines whether or not 40h is set in the current flag SH indicating the shape of the hand, and if 40h is set (that is, the state of “one finger”), the step Proceed to S627, otherwise return.

ステップS627では、MCU3は、手の形状を示す前回のフラグSHに20hがセットされているか否かを判断し、20hがセットされている場合(つまり、「チョキ」の状態)、ステップS629に進み、それ以外はリターンする。ステップS629では、MCU3は、擬似的にボタン操作が行なわれたことを示すため、擬似ボタンフラグをオンにする。   In step S627, the MCU 3 determines whether or not 20h is set in the previous flag SH indicating the shape of the hand, and when 20h is set (that is, in the “shrink” state), the process proceeds to step S629. Otherwise, return. In step S629, the MCU 3 turns on the pseudo button flag to indicate that the button operation has been performed in a pseudo manner.

図13(b)は、図3のステップS9の擬似ボタン操作判定処理の第2の例の流れを示すフローチャートである(図1(b)の第2の例に対応)。図13(b)を参照して、ステップS601にて、MCU3は、擬似的なボタン操作の有無を示す擬似ボタンフラグをオフにする。ステップS603にて、MCU3は、手の形状を示す今回のフラグSHに20hがセットされているか否かを判断し、20hがセットされている場合(つまり、「チョキ」の状態)、ステップS607に進み、それ以外はリターンする。   FIG. 13B is a flowchart showing the flow of the second example of the pseudo button operation determination process in step S9 of FIG. 3 (corresponding to the second example of FIG. 1B). Referring to FIG. 13B, in step S601, the MCU 3 turns off a pseudo button flag indicating whether or not a pseudo button operation has been performed. In step S603, the MCU 3 determines whether or not 20h is set in the current flag SH indicating the shape of the hand. If 20h is set (that is, the state of “shrink”), the process proceeds to step S607. Proceed, otherwise return.

ステップS607では、MCU3は、手の形状を示す前回のフラグSHに40hがセットされているか否かを判断し、40hがセットされている場合(つまり、「1本指」の状態)、ステップS609に進み、それ以外はリターンする。ステップS609では、MCU3は、擬似的にボタン操作が行なわれたことを示すため、擬似ボタンフラグをオンにする。   In step S607, the MCU 3 determines whether or not 40h is set in the previous flag SH indicating the shape of the hand. If 40h is set (that is, the state of “one finger”), step S609 is performed. Proceed to, otherwise return. In step S609, the MCU 3 turns on the pseudo button flag to indicate that the button operation has been performed in a pseudo manner.

図13(c)は、図3のステップS9の擬似ボタン操作判定処理の第3の例の流れを示すフローチャートである(図1(b)の第3の例に対応)。図13(c)を参照して、ステップS641にて、MCU3は、擬似的なボタン操作の有無を示す擬似ボタンフラグをオフにする。ステップS643にて、MCU3は、手の形状を示す今回のフラグSHに20hがセットされているか否かを判断し、20hがセットされている場合(つまり、「チョキ」の状態)、ステップS645に進み、それ以外はリターンする。   FIG. 13C is a flowchart showing the flow of the third example of the pseudo button operation determination process in step S9 of FIG. 3 (corresponding to the third example of FIG. 1B). With reference to FIG.13 (c), MCU3 turns off the pseudo button flag which shows the presence or absence of pseudo button operation in step S641. In step S643, the MCU 3 determines whether or not 20h is set in the current flag SH indicating the shape of the hand. If 20h is set (that is, the state of “shrink”), the process proceeds to step S645. Proceed, otherwise return.

ステップS645では、MCU3は、補正後の一方の指先の座標と、補正後の他方の指先の座標と、の間の距離DCを算出する。ステップS647にて、MCU3は、距離DCが一定値CCより小さいか否かを判断し、小さい場合一方指先が他方指先に近づいたと判断してステップS649に進み、それ以外はリターンする。ステップS649にて、MCU3は、擬似的にボタン操作が行なわれたことを示すため、擬似ボタンフラグをオンにする。   In step S645, the MCU 3 calculates a distance DC between the coordinate of one fingertip after correction and the coordinate of the other fingertip after correction. In step S647, the MCU 3 determines whether or not the distance DC is smaller than the certain value CC. If the distance DC is smaller, the MCU 3 determines that one fingertip has approached the other fingertip, and proceeds to step S649. Otherwise, the MCU 3 returns. In step S649, MCU 3 turns on the pseudo button flag to indicate that the button operation has been performed in a pseudo manner.

ここで、図13(a)〜図13(c)及び後述の図18(a)〜図18(c)において、今回のフラグSHとは、イメージセンサ5から今回受け取った1フレームの画像データに基づき設定されたフラグを意味する。また、前回のフラグSHとは、イメージセンサ5から前回受け取った1フレームの画像データに基づき設定されたフラグを意味する。   Here, in FIGS. 13A to 13C and FIGS. 18A to 18C, which will be described later, the current flag SH refers to one frame of image data received from the image sensor 5 this time. It means the flag set based on the above. The previous flag SH means a flag set based on one frame of image data received from the image sensor 5 last time.

また、図13(a)〜図13(c)は、擬似的にボタン操作が行われたと判定されたこと(つまり、擬似ボタンフラグのオン)を、クリック操作(ボタンを押下して放す操作)が行なわれたとみなす場合の処理例を示している。   13 (a) to 13 (c), a click operation (an operation for pressing and releasing a button) is performed when it is determined that a button operation has been performed in a pseudo manner (that is, the pseudo button flag is turned on). 4 shows an example of processing when it is assumed that has been performed.

次に、図18(a)〜図18(c)を参照して、擬似的にボタン操作が行われたと判定されたこと(つまり、擬似ボタンフラグのオン)を、ボタンのプレス操作(ボタンを押したままの状態)が行なわれたとみなす処理例を説明する。なお、擬似ボタンフラグのオフは、ボタンを放した状態とみなされる。   Next, referring to FIG. 18A to FIG. 18C, it is determined that the button operation has been performed in a pseudo manner (that is, the pseudo button flag is turned on). An example of processing that is considered to have been performed) will be described. Note that turning off the pseudo button flag is regarded as a state in which the button is released.

図18(a)は、図3のステップS9の擬似ボタン操作判定処理の第4の例の流れを示すフローチャートである(図1(b)の第1の例に対応)。図18(a)を参照して、ステップS701にて、MCU3は、擬似的なボタン操作の有無を示す擬似ボタンフラグがオンか否かを判断し、オンの場合ステップS709に進み、オフの場合ステップS703に進む。なお、擬似ボタンフラグは、システム初期化時にオフにセットされるものとする。   FIG. 18A is a flowchart showing the flow of a fourth example of the pseudo button operation determination process in step S9 of FIG. 3 (corresponding to the first example of FIG. 1B). Referring to FIG. 18A, in step S701, the MCU 3 determines whether or not a pseudo button flag indicating whether or not a pseudo button operation has been performed, the process proceeds to step S709 if it is on, and if it is off. The process proceeds to step S703. Note that the pseudo button flag is set to off at the time of system initialization.

ステップS703にて、MCU3は、手の形状を示す今回のフラグSHに40hがセットされているか否かを判断し、40hがセットされている場合(つまり、「1本指」の状態)、ステップS705に進み、それ以外はリターンする。   In step S703, the MCU 3 determines whether or not the current flag SH indicating the shape of the hand is set to 40h, and if 40h is set (that is, the state of “one finger”), the step Proceed to S705, otherwise return.

ステップS705では、MCU3は、手の形状を示す前回のフラグSHに20hがセットされているか否かを判断し、20hがセットされている場合(つまり、「チョキ」の状態)、ステップS707に進み、それ以外はリターンする。ステップS707では、MCU3は、擬似的にボタンがプレスされたことを示すため、擬似ボタンフラグをオンにする。   In step S705, the MCU 3 determines whether or not 20h is set in the previous flag SH indicating the shape of the hand. If 20h is set (that is, the state of “shrink”), the process proceeds to step S707. Otherwise, return. In step S707, the MCU 3 turns on the pseudo button flag to indicate that the button has been pseudo-pressed.

一方、ステップS709では、MCU3は、今回のフラグSHに20hがセットされているか否かを判断し、20hがセットされている場合(つまり、「チョキ」の状態)、ステップS711に進み、それ以外はボタンプレスの状態が維持されているとみなしリターンする。ステップS711では、MCU3は、擬似的にボタンが放されたことを示すため、擬似ボタンフラグをオフにする。   On the other hand, in step S709, the MCU 3 determines whether or not 20h is set in the current flag SH, and when 20h is set (that is, in the “shock” state), the process proceeds to step S711, otherwise Assumes that the button press state is maintained and returns. In step S711, the MCU 3 turns off the pseudo button flag to indicate that the button has been released in a pseudo manner.

図18(b)は、図3のステップS9の擬似ボタン操作判定処理の第5の例の流れを示すフローチャートである(図1(b)の第2の例に対応)。図18(b)を参照して、ステップS731にて、MCU3は、擬似的なボタン操作の有無を示す擬似ボタンフラグがオンか否かを判断し、オンの場合ステップS739に進み、オフの場合ステップS733に進む。なお、擬似ボタンフラグは、システム初期化時にオフにセットされるものとする。   FIG. 18B is a flowchart showing the flow of the fifth example of the pseudo button operation determination process in step S9 of FIG. 3 (corresponding to the second example of FIG. 1B). Referring to FIG. 18B, in step S731, the MCU 3 determines whether or not a pseudo button flag indicating whether or not a pseudo button operation is performed is on. If it is on, the MCU 3 proceeds to step S739, and if it is off. The process proceeds to step S733. Note that the pseudo button flag is set to off at the time of system initialization.

ステップS733にて、MCU3は、手の形状を示す今回のフラグSHに20hがセットされているか否かを判断し、20hがセットされている場合(つまり、「チョキ」の状態)、ステップS735に進み、それ以外はリターンする。   In step S733, the MCU 3 determines whether or not the current flag SH indicating the shape of the hand is set to 20h. If 20h is set (that is, the state of “shrink”), the process proceeds to step S735. Proceed, otherwise return.

ステップS735では、MCU3は、手の形状を示す前回のフラグSHに40hがセットされているか否かを判断し、40hがセットされている場合(つまり、「1本指」の状態)、ステップS737に進み、それ以外はリターンする。ステップS737では、MCU3は、擬似的にボタンがプレスされたことを示すため、擬似ボタンフラグをオンにする。   In step S735, the MCU 3 determines whether or not 40h is set in the previous flag SH indicating the shape of the hand. If 40h is set (that is, the state of “one finger”), step S737 is performed. Proceed to, otherwise return. In step S737, the MCU 3 turns on the pseudo button flag to indicate that the button has been pseudo-pressed.

一方、ステップS739では、MCU3は、今回のフラグSHに40hがセットされているか否かを判断し、40hがセットされている場合(つまり、「一本指」の状態)、ステップS741に進み、それ以外はボタンプレスの状態が維持されているとみなしリターンする。ステップS741では、MCU3は、擬似的にボタンが放されたことを示すため、擬似ボタンフラグをオフにする。   On the other hand, in step S739, the MCU 3 determines whether or not the current flag SH is set to 40h. If 40h is set (that is, “one finger” state), the process proceeds to step S741. Otherwise, the button press state is assumed to be maintained and the process returns. In step S741, the MCU 3 turns off the pseudo button flag to indicate that the button has been pseudo released.

図18(c)は、図3のステップS9の擬似ボタン操作判定処理の第6の例の流れを示すフローチャートである(図1(b)の第3の例に対応)。図18(c)を参照して、ステップS761にて、MCU3は、擬似的なボタン操作の有無を示す擬似ボタンフラグがオンか否かを判断し、オンの場合ステップS771に進み、オフの場合ステップS763に進む。なお、擬似ボタンフラグは、システム初期化時にオフにセットされるものとする。   FIG. 18C is a flowchart showing the flow of the sixth example of the pseudo button operation determination process in step S9 of FIG. 3 (corresponding to the third example of FIG. 1B). Referring to FIG. 18C, in step S761, the MCU 3 determines whether or not a pseudo button flag indicating whether or not a pseudo button operation is performed is on. If it is on, the MCU 3 proceeds to step S771, and if it is off. The process proceeds to step S763. Note that the pseudo button flag is set to off at the time of system initialization.

ステップS763にて、MCU3は、手の形状を示す今回のフラグSHに20hがセットされているか否かを判断し、20hがセットされている場合(つまり、「チョキ」の状態)、ステップS765に進み、それ以外はリターンする。   In step S763, the MCU 3 determines whether or not 20h is set in the current flag SH indicating the shape of the hand. If 20h is set (that is, the state of “shrink”), the process proceeds to step S765. Proceed, otherwise return.

ステップS765では、MCU3は、補正後の一方の指先の座標と、補正後の他方の指先の座標と、の間の距離DCを算出する。ステップS767にて、MCU3は、距離DCが一定値CCより小さいか否かを判断し、小さい場合一方指先が他方指先に近づいたと判断してステップS769に進み、それ以外はリターンする。ステップS769にて、MCU3は、擬似的にボタンのプレスが行なわれたことを示すため、擬似ボタンフラグをオンにする。   In step S765, the MCU 3 calculates a distance DC between the coordinate of one fingertip after correction and the coordinate of the other fingertip after correction. In step S767, the MCU 3 determines whether or not the distance DC is smaller than the certain value CC. If the distance DC is smaller, the MCU 3 determines that one fingertip has approached the other fingertip, and proceeds to step S769, and otherwise returns. In step S769, the MCU 3 turns on the pseudo button flag to indicate that the button has been pressed in a pseudo manner.

一方、ステップS771にて、MCU3は、今回のフラグSHに20hがセットされているか否かを判断し、20hがセットされている場合(つまり、「チョキ」の状態)、ステップS773に進み、それ以外はボタンプレスの状態が維持されているとみなしリターンする。   On the other hand, in step S771, the MCU 3 determines whether or not 20h is set in the current flag SH. If 20h is set (that is, the state of “pick”), the process proceeds to step S773. Otherwise, the button press state is assumed to be maintained and the process returns.

ステップS773では、MCU3は、補正後の一方の指先の座標と、補正後の他方の指先の座標と、の間の距離DCを算出する。ステップS775にて、MCU3は、距離DCが一定値CC以上か否かを判断し、CC以上の場合擬似的にボタンが放されたとみなしてステップS777に進み、それ以外はボタンプレスの状態が維持されているとみなしリターンする。ステップS777にて、MCU3は、擬似的にボタンが放されたことを示すため、擬似ボタンフラグをオフにする。   In step S <b> 773, the MCU 3 calculates a distance DC between the coordinate of one fingertip after correction and the coordinate of the other fingertip after correction. In step S775, the MCU 3 determines whether or not the distance DC is equal to or greater than a certain value CC. If the distance DC is equal to or greater than CC, the MCU 3 assumes that the button has been released in a pseudo manner, and proceeds to step S777. It is assumed that it has been done and returns. In step S777, the MCU 3 turns off the pseudo button flag to indicate that the button has been pseudo released.

ところで、上記では、図1(b)を参照して、擬似ボタン操作の第1〜第3の例を説明した。以下では、擬似ボタン操作の第4の例を説明する。この第4の例では、シングルクリック及びダブルクリックの判定を行なう。   By the way, in the above, the 1st-3rd example of pseudo button operation was demonstrated with reference to FIG.1 (b). Hereinafter, a fourth example of the pseudo button operation will be described. In the fourth example, single click and double click are determined.

図19(a)は、本発明の実施の形態による擬似ボタン操作の第4の例(シングルクリック)の説明図である。図19(a)を参照して、一定時間TC以内に、ステップS2000〜S2004の変化が検出された場合に、シングルクリックが行なわれたとみなす。   FIG. 19A is an explanatory diagram of a fourth example (single click) of the pseudo button operation according to the embodiment of the present invention. Referring to FIG. 19A, when a change in steps S2000 to S2004 is detected within a certain time TC, it is considered that a single click has been performed.

具体的には、指先50が大体静止した状態になった場合に、最新の指先50を中心とした矩形範囲(例えば3画素×3画素)52を設定する(ステップS2000)。例えば、最新の指先50から一定距離RD内に過去所定数分の指先50が存在する場合に、指先50が大体静止した状態であると判断される。   Specifically, when the fingertip 50 is almost stationary, a rectangular range (for example, 3 pixels × 3 pixels) 52 around the latest fingertip 50 is set (step S2000). For example, when there are a predetermined number of fingertips 50 within a certain distance RD from the latest fingertip 50, it is determined that the fingertips 50 are substantially stationary.

この矩形範囲52の設定から一定時間TC以内に、矩形範囲52から指先50が消失し(出て)、矩形範囲52に指先50が存在しない状態になり(ステップS2002)、そして、再び、矩形範囲52に指先50が出現し(入って)、矩形範囲52に指先50が存在する状態になった時に(ステップS2004)、シングルクリックが行なわれたとみなす。例えば、矩形範囲52内の画素値(輝度値)の合計値を、所定の閾値と比較して、合計値が閾値を超えていれば矩形範囲52に指先50が存在すると判断し、一方、合計値が閾値以下の場合に矩形範囲52に指先50が存在しないと判断する。   Within a predetermined time TC from the setting of the rectangular range 52, the fingertip 50 disappears (exits) from the rectangular range 52, and the fingertip 50 does not exist in the rectangular range 52 (step S2002). When the fingertip 50 appears (enters) at 52 and the fingertip 50 is present in the rectangular area 52 (step S2004), it is considered that a single click has been performed. For example, the total value of the pixel values (luminance values) in the rectangular range 52 is compared with a predetermined threshold, and if the total value exceeds the threshold, it is determined that the fingertip 50 exists in the rectangular range 52, while the total When the value is equal to or smaller than the threshold value, it is determined that the fingertip 50 does not exist in the rectangular range 52.

なお、例えば、ユーザが、一定時間TC以内に、人差し指を伸ばした状態から、人差し指の第3関節(付け根の関節)を曲げて指を折り、再び、元の状態(人差し指を伸ばした状態)に戻すというジェスチャを行なった時に、シングルクリックが行なわれたとみなされる。この場合、第1及び第2関節の状態は任意である。また、例えば、ユーザが、一定時間TC以内に、人差し指を伸ばした状態から、人差し指の第2関節を曲げて指を折り(第3関節は固定)、再び、元の状態(人差し指を伸ばした状態)に戻すというジェスチャを行なった時に、シングルクリックが行なわれたとみなされる。この場合、第1関節の状態は任意である。ここで、指先に一番近い関節を第1関節、その次の関節を第2関節、さらにその次の関節を第3関節と呼んでいる。   In addition, for example, within a certain time TC, the user bends the third joint (joint of the base) of the index finger, folds the finger from the state where the index finger is extended, and returns to the original state (state where the index finger is extended). It is considered that a single click has been made when making the gesture of returning. In this case, the states of the first and second joints are arbitrary. Also, for example, within a certain time TC, the user bends the second joint of the index finger and folds the finger (the third joint is fixed) from the state in which the index finger is extended, and again the original state (state in which the index finger is extended) ), It is considered that a single click has been made. In this case, the state of the first joint is arbitrary. Here, the joint closest to the fingertip is called the first joint, the next joint is called the second joint, and the next joint is called the third joint.

この例のような人のジェスチャでは、指が曲げられた後、指先が、ほぼ元の位置に戻ることが、本願発明者の実験により検証されている。このため、図19(a)で説明した手法により、シングルクリックが行なわれたか否かを、安定して、かつ、確実に、つまり、高い再現性をもって、判断できるのである。   In the human gesture as in this example, it has been verified by experiments of the present inventor that the fingertip returns almost to the original position after the finger is bent. For this reason, it is possible to determine whether a single click has been performed stably and reliably, that is, with high reproducibility, by the method described with reference to FIG.

図19(b)は、本発明の実施の形態による擬似ボタン操作の第4の例(ダブルクリック)の説明図である。図19(b)を参照して、一定時間TC以内に、ステップS2100〜S2108の変化が検出された場合に、ダブルクリックが行なわれたとみなす。この場合の一定時間TCは、シングルクリックを判定するときの一定時間TCと同じである。   FIG. 19B is an explanatory diagram of a fourth example (double click) of the pseudo button operation according to the embodiment of the present invention. Referring to FIG. 19B, when a change in steps S2100 to S2108 is detected within a certain time TC, it is considered that a double click has been performed. The fixed time TC in this case is the same as the fixed time TC when determining a single click.

具体的には、指先50が大体静止した状態になった場合に、最新の指先50を中心とした矩形範囲(例えば3画素×3画素)52を設定する(ステップS2100)。指先50が大体静止した状態の判断方法は、シングルクリックの場合と同じである。   Specifically, when the fingertip 50 is almost stationary, a rectangular range (for example, 3 pixels × 3 pixels) 52 around the latest fingertip 50 is set (step S2100). The determination method of the state in which the fingertip 50 is substantially stationary is the same as in the case of single click.

この矩形範囲52の設定から一定時間TC以内に、矩形範囲52から指先50が消失し(出て)、矩形範囲52に指先50が存在しない状態になり(ステップS2102)、そして、再び、矩形範囲52に指先50が出現し(入って)、矩形範囲52に指先50が存在する状態になり(ステップS2104)、再び、矩形範囲52から指先50が消失し(出て)、矩形範囲52に指先50が存在しない状態になり(ステップS2106)、そして、再び、矩形範囲52に指先50が出現し(入って)、矩形範囲52に指先50が存在する状態になった時に(ステップS2108)、ダブルクリックが行なわれたとみなす。矩形範囲52に指先50が存在するか否かの判断は、シングルクリックの場合と同じである。   Within a predetermined time TC from the setting of the rectangular range 52, the fingertip 50 disappears (exits) from the rectangular range 52, and the fingertip 50 does not exist in the rectangular range 52 (step S2102). The fingertip 50 appears (enters) in 52, the fingertip 50 exists in the rectangular range 52 (step S2104), the fingertip 50 disappears (exits) from the rectangular range 52 again, and the fingertip 50 enters the rectangular range 52. 50 is not present (step S2106), and when the fingertip 50 again appears (enters) in the rectangular area 52 and the fingertip 50 is present in the rectangular area 52 (step S2108), double Assume that a click has been made. The determination of whether or not the fingertip 50 is present in the rectangular area 52 is the same as in the case of single click.

なお、ダブルクリックは、上記のシングルクリックのジェスチャをユーザが2回行なうことで実行される。また、ダブルクリックは、シングルクリックを2回行なうものであり、それ故、折り曲げられた指先は、2回とも、ほぼ同じ位置に戻ってくる。この点も本願発明者により検証されている。このため、図19(b)で説明した手法により、ダブルクリックが行なわれたか否かを、安定して、かつ、確実に、つまり、高い再現性をもって、判断できるのである。   The double click is executed by the user performing the single click gesture twice. In addition, the double click is a single click performed twice, and therefore the folded fingertip returns to almost the same position both times. This point has also been verified by the present inventors. For this reason, it is possible to determine whether double-clicking has been performed stably and reliably, that is, with high reproducibility, by the method described with reference to FIG.

図20及び図21は、図3のステップS9の擬似ボタン操作判定処理の第7の例の流れを示すフローチャートである(図19(a)及び図19(b)の第4の例に対応)。図20を参照して、ステップS1200にて、MCU3は、シングルクリックが行なわれたとみなす時にオンにセットされるシングルクリックフラグと、ダブルクリックが行なわれたとみなす時にオンにセットされるダブルクリックフラグと、をオフにする。   20 and 21 are flowcharts showing the flow of the seventh example of the pseudo button operation determination process in step S9 of FIG. 3 (corresponding to the fourth example of FIGS. 19A and 19B). . Referring to FIG. 20, in step S1200, MCU 3 sets a single click flag that is set to ON when it is determined that a single click has been performed, and a double click flag that is set to ON when it is determined that a double click has been performed. , Turn off.

ステップS1202にて、MCU3は、滞在フラグがオンか否かを判断し、オンの場合図21のステップS1250に進み、オフの場合ステップS1204に進む。滞在フラグは、指先50が大体静止した状態になったと判断された時に、つまり、図19(a)及び図19(b)の矩形範囲52が設定された時にオンにセットされるフラグである。従って、ステップS1202で否定判断がされた後のステップS1204〜S1220の処理は、矩形範囲52を設定するための処理である。一方、ステップS1202で肯定判断がされた後のステップS1250〜S1284の処理は、図19(a)及び図19(b)のステップS2002,S2004,S2102〜S2108の状態を判断するための処理である。   In step S1202, the MCU 3 determines whether or not the stay flag is on. If the stay flag is on, the MCU 3 proceeds to step S1250 in FIG. 21, and if it is off, the MCU 3 proceeds to step S1204. The stay flag is a flag that is set to ON when it is determined that the fingertip 50 is substantially stationary, that is, when the rectangular range 52 in FIGS. 19A and 19B is set. Accordingly, the processing in steps S1204 to S1220 after the negative determination is made in step S1202 is processing for setting the rectangular range 52. On the other hand, the processing of steps S1250 to S1284 after the affirmative determination is made in step S1202 is processing for determining the states of steps S2002, S2004, and S2102 to S2108 in FIGS. 19A and 19B. .

ステップS1204にて、MCU3は、変数kに0をセットする。ステップS1206にて、MCU3は、最新の指先50と、過去の指先50と、の間の距離DISを算出する。距離DISは次式により算出される。   In step S1204, the MCU 3 sets 0 to the variable k. In step S1206, the MCU 3 calculates a distance DIS between the latest fingertip 50 and the past fingertip 50. The distance DIS is calculated by the following equation.

DIS=√(XD+YD
XD=Xf[0]−Xf[k+1]
YD=Yf[0]−Yf[k+1]
DIS = √ (XD 2 + YD 2 )
XD = Xf [0] −Xf [k + 1]
YD = Yf [0] −Yf [k + 1]

ここで、図11のステップS449では、補正後の指先50の座標(Xf,Yf)を計算する。この場合、補正後の指先50の座標(Xf,Yf)は、キューに格納され、現在及び過去の計N個のデータが保存される(Nは2以上の整数。本実施の形態ではN=10)。キューは、X座標Xfを代入する配列Xf[0]〜Xf[9]及びY座標Yfを代入する配列Yf[0]〜Yf[9]により構成される。配列Xf[0]及びYf[0]に常に最新の座標(Xf,Yf)が格納される。   Here, in step S449 of FIG. 11, the coordinates (Xf, Yf) of the corrected fingertip 50 are calculated. In this case, the corrected coordinates (Xf, Yf) of the fingertip 50 are stored in the queue, and a total of N pieces of current and past data are stored (N is an integer of 2 or more. In this embodiment, N = 10). The queue is composed of arrays Xf [0] to Xf [9] for substituting X coordinates Xf and arrays Yf [0] to Yf [9] for substituting Y coordinates Yf. The latest coordinates (Xf, Yf) are always stored in the arrays Xf [0] and Yf [0].

従って、ステップS1206では、最新の指先50の座標(Xf[0],Yf[0])と、それより(k+1)個だけ過去の指先50の座標(Xf[k+1],Yf[k+1])と、の間の距離DISが計算される。   Therefore, in step S1206, the latest fingertip 50 coordinates (Xf [0], Yf [0]) and (k + 1) past fingertip 50 coordinates (Xf [k + 1], Yf [k + 1]) The distance DIS between is calculated.

そして、ステップS1208にて、MCU3は、距離DISが、一定距離RDより小さいか否かを判断し、小さい場合ステップS1210に進み、それ以外は指先50が静止した状態にないと判断してステップS1220に進む。ステップS1210にて、MCU3は、変数kを1つインクリメントする。ステップS1212にて、MCU3は、変数kの値が9になったか否かを判断し、9になった場合ステップS1214に進み、それ以外はステップS1206に戻る。   In step S1208, the MCU 3 determines whether or not the distance DIS is smaller than the fixed distance RD. If the distance DIS is smaller, the process proceeds to step S1210. Otherwise, the MCU 3 determines that the fingertip 50 is not stationary. Proceed to In step S1210, the MCU 3 increments the variable k by one. In step S1212, the MCU 3 determines whether or not the value of the variable k has become 9, the process proceeds to step S1214 if it has reached 9, otherwise the process returns to step S1206.

ステップS1212でk=9が判断されたことは、最新の指先50と過去9個の指先50それぞれとの間の距離全てが、一定距離RD内に存在することを意味する。つまり、指先50が大体静止した状態にあることを意味する。このため、ステップS1214では、MCU3は、滞在フラグをオンにする。一方、距離DISが一定距離RD内にない過去の指先50が1つでも存在する場合は、指先50が静止した状態にないと判断する。このため、ステップS1220では、MCU3は、滞在フラグをオフにしてリターンする。   The determination of k = 9 in step S1212 means that all the distances between the latest fingertip 50 and the past nine fingertips 50 exist within a certain distance RD. That is, it means that the fingertip 50 is almost stationary. For this reason, in step S1214, the MCU 3 turns on the stay flag. On the other hand, if there is even one past fingertip 50 whose distance DIS is not within the fixed distance RD, it is determined that the fingertip 50 is not stationary. Therefore, in step S1220, the MCU 3 turns off the stay flag and returns.

ステップS1214の次のステップS1216にて、MCU3は、最新の指先50の座標(Xf[0],Yf[0])を中心とした矩形範囲52を設定する(図19(a)のステップS2000及び図19(b)のステップS2100に相当)。そして、ステップS1218にて、MCU3は、タイマTMをセットしてリターンする。このタイマTMは、上記一定時間TC(図19(a)及び図19(b)参照)を計測するためのものである。この一定時間TCは、実験及び試行錯誤等により、決定される。   In step S1216 following step S1214, the MCU 3 sets a rectangular range 52 centered on the coordinates (Xf [0], Yf [0]) of the latest fingertip 50 (steps S2000 and S2000 in FIG. 19A). This corresponds to step S2100 in FIG. In step S1218, the MCU 3 sets the timer TM and returns. This timer TM is for measuring the above-mentioned fixed time TC (see FIGS. 19A and 19B). This fixed time TC is determined by experiments and trial and error.

図21を参照して、ステップS1250にて、MCU3は、タイマTMの値が一定時間TCになったか否かを判断し、一定時間TCになった場合ステップS1278に進み、一定時間になっていない場合ステップS1252に進む。   Referring to FIG. 21, in step S1250, the MCU 3 determines whether or not the value of the timer TM has reached a certain time TC. If the certain time TC has been reached, the MCU 3 proceeds to step S1278 and has not reached the certain time. If yes, go to Step S1252.

ステップS1252にて、MCU3は、消失フラグがオンか否かを判断し、オンの場合ステップS1262に進み、オフの場合ステップS1254に進む。消失フラグは、矩形範囲52に指先50が存在する状態から存在しない状態に変化したときにオンにされるフラグである。   In step S1252, the MCU 3 determines whether or not the disappearance flag is on. If the flag is on, the process proceeds to step S1262. If the flag is off, the process proceeds to step S1254. The disappearance flag is a flag that is turned on when the state in which the fingertip 50 is present in the rectangular range 52 is changed to a state in which the fingertip 50 does not exist.

ステップS1254では、MCU3は、矩形範囲52に指先50が不存在か否かを判断し、存在する場合リターンし、不存在の場合ステップS1256に進む。ステップS1256にて、MCU3は、消失フラグをオンにしてリターンする(図19(a)のステップS2002並びに図19(b)のステップS2102及びS2106に相当)。   In step S1254, the MCU 3 determines whether or not the fingertip 50 is not present in the rectangular range 52, returns if it exists, and proceeds to step S1256 if it does not exist. In step S1256, the MCU 3 returns with the disappearance flag turned on (corresponding to steps S2002 in FIG. 19A and steps S2102 and S2106 in FIG. 19B).

消失フラグがオンの場合、ステップS1262にて、MCU3は、矩形範囲52に指先50が存在するか否かを判断し、存在しない場合リターンし、存在する場合ステップS1264に進む(図19(a)のステップS2004並びに図19(b)のステップS2104及びS2108に相当)。   If the disappearance flag is on, in step S1262, the MCU 3 determines whether or not the fingertip 50 exists in the rectangular range 52, returns if not, and proceeds to step S1264 if it exists (FIG. 19A). Step S2004 and steps S2104 and S2108 in FIG. 19B).

ステップS1264では、MCU3は、仮クリックフラグがオンか否かを判断し、オンの場合ステップS1272に進み、オフの場合ステップS1266に進む。仮クリックフラグは、ユーザのジェスチャがシングルクリックの条件(図19(a)のステップS2000〜S2004)を満たしたときにオンにされるフラグである。ただし、ダブルクリックはシングルクリックの動作を含むので(図19(b)のステップS2100〜S2104)、一定時間TCが経過するまでは、ダブルクリックが行なわれる可能性もある。このため、一定時間TCの経過後に、シングルクリックかダブルクリックかを最終決定する必要がある。それ故、シングルクリックの条件が満たされた時、仮クリックフラグにより、最終決定まで、その事実を保持しておくのである。   In step S1264, the MCU 3 determines whether or not the temporary click flag is on. If the temporary click flag is on, the process proceeds to step S1272, and if it is off, the process proceeds to step S1266. The temporary click flag is a flag that is turned on when the user's gesture satisfies a single click condition (steps S2000 to S2004 in FIG. 19A). However, since the double click includes a single click operation (steps S2100 to S2104 in FIG. 19B), there is a possibility that the double click is performed until a predetermined time TC elapses. For this reason, it is necessary to finally determine whether single-clicking or double-clicking after a certain time TC has elapsed. Therefore, when the single click condition is satisfied, the fact is held until the final decision by the temporary click flag.

ステップS1266では、MCU3は、シングルクリックの条件が満足されたので、仮クリックフラグをオンにする。そして、ステップS1268にて、MCU3は、消失フラグをオフにしてリターンする。なぜなら、ステップS1262で肯定判断がされているからである。   In step S1266, the MCU 3 turns on the temporary click flag because the single click condition is satisfied. In step S1268, the MCU 3 turns off the disappearance flag and returns. This is because an affirmative determination is made in step S1262.

一方、ステップS1272にて、MCU3は、ダブルクリックフラグをオンにする。なぜなら、仮クリックフラグがオンである状態において、さらに、図19(b)のステップS2106,S2108の変化が検出されたからである(ステップS1264にて肯定判断、ステップS1252にて肯定判断、ステップS1262にて肯定判断)。ステップS1274にて、MCU3は、タイマTMを解除する。ステップS1276にて、MCU3は、滞在フラグ、消失フラグ及び仮クリックフラグをオフにしてリターンする。なぜなら、ダブルクリックが決定されているため、これが最終決定だからである。なお、滞在フラグのオフは、矩形範囲52の解除、つまり、クリック操作判定のリセットに相当する。   On the other hand, in step S1272, the MCU 3 turns on the double click flag. This is because the change in steps S2106 and S2108 of FIG. 19B is further detected in the state where the temporary click flag is on (positive determination in step S1264, positive determination in step S1252, and step S1262). Affirmative). In step S1274, the MCU 3 releases the timer TM. In step S1276, the MCU 3 turns off the stay flag, the disappearance flag, and the temporary click flag, and returns. Because double-clicking has been decided, this is the final decision. Note that turning off the stay flag corresponds to releasing the rectangular range 52, that is, resetting the click operation determination.

さて、ステップS1250にて肯定判断がされた後、MCU3は、最終決定を行なうべく、ステップS1278に進む。ステップS1278にて、MCU3は、仮クリックフラグがオンか否かを判断し、オンの場合ステップS1280に進み、オフの場合シングルクリックもダブルクリックも行なわれていないためステップS1282に進む。ステップS1280では、MCU3は、シングルクリックフラグをオンにしてステップS1282に進む。   Now, after a positive determination is made in step S1250, the MCU 3 proceeds to step S1278 to make a final decision. In step S1278, the MCU 3 determines whether or not the temporary click flag is on. If the temporary click flag is on, the process proceeds to step S1280. If the temporary click flag is off, the MCU 3 proceeds to step S1282. In step S1280, the MCU 3 turns on the single click flag and proceeds to step S1282.

ステップS1282にて、MCU3は、タイマTMを解除する。ステップS1284にて、MCU3は、滞在フラグ、消失フラグ及び仮クリックフラグをオフにしてリターンする。なお、滞在フラグのオフは、矩形範囲52の解除、つまり、クリック操作判定のリセットに相当する。   In step S1282, the MCU 3 releases the timer TM. In step S1284, the MCU 3 turns off the stay flag, the disappearance flag, and the temporary click flag, and returns. Note that turning off the stay flag corresponds to releasing the rectangular range 52, that is, resetting the click operation determination.

なお、シングルクリックフラグ及びダブルクリックフラグは、図3のステップS11にて、コンピュータ11に送信される。   The single click flag and the double click flag are transmitted to the computer 11 in step S11 of FIG.

さて、以上のように、本実施の形態によれば、ユーザは、1本指を立てた状態から、もう一本の指を立てて2本指を立てた状態にするだけで、擬似的にボタン操作を行なうことができる。このように、ユーザにとって容易なジェスチャにより、擬似的にボタン操作を行なうことができる(図1(b)の第1の例)。   As described above, according to the present embodiment, the user can artificially change the state where one finger is raised to another state where the other finger is raised and the two fingers are raised. Button operation can be performed. In this manner, a button operation can be performed in a pseudo manner by a gesture that is easy for the user (first example in FIG. 1B).

また、擬似的なボタン操作の前後において、常に1本の指は撮影されるので、その指先に対応する画面上の位置にカーソルを表示でき、ポインティングと擬似的なボタン操作を片手で行なうことができる(図1(b)の第1の例)。   Also, since one finger is always photographed before and after the pseudo button operation, the cursor can be displayed at the position on the screen corresponding to the fingertip, and pointing and pseudo button operation can be performed with one hand. Yes (first example of FIG. 1B).

また、本実施の形態によれば、ユーザは、2本指を立てた状態から、もう一本の指を閉じて1本指を立てた状態にするだけで、擬似的にボタン操作を行なうことができる。このように、ユーザにとって容易なジェスチャにより、擬似的にボタン操作を行なうことができる(図1(b)の第2の例)。   In addition, according to the present embodiment, the user can perform a button operation in a pseudo manner by simply closing another finger and raising one finger from a state where two fingers are raised. Can do. In this way, it is possible to perform a pseudo button operation with a gesture that is easy for the user (second example in FIG. 1B).

また、擬似的なボタン操作の前後において、常に1本の指は撮影されるので、その指先に対応する画面上の位置にカーソルを表示でき、ポインティングと擬似的なボタン操作を片手で行なうことができる(図1(b)の第2の例)。   Also, since one finger is always photographed before and after the pseudo button operation, the cursor can be displayed at the position on the screen corresponding to the fingertip, and pointing and pseudo button operation can be performed with one hand. Yes (second example in FIG. 1B).

さらに、本実施の形態によれば、ユーザは、2本の指の指先を近づけるだけで、擬似的なボタン操作を行なうことができる。このように、ユーザにとって容易なジェスチャにより、擬似的にボタン操作を行なうことができる(図1(b)の第3の例)。   Furthermore, according to the present embodiment, the user can perform a pseudo button operation only by bringing the fingertips of two fingers close to each other. In this manner, a button operation can be performed in a pseudo manner with a gesture that is easy for the user (third example in FIG. 1B).

また、検出された2つの指先の間(例えば中点)にカーソルを表示することができ、ポインティングと擬似的なボタン操作を片手で行なうことができる(図1(b)の第3の例)。   In addition, a cursor can be displayed between two detected fingertips (for example, the middle point), and pointing and pseudo button operations can be performed with one hand (third example in FIG. 1B). .

さらに、本実施の形態によれば、ユーザは、三次元空間中で、1本指を立てた状態から、その指を折って、再び、元の立てた状態に戻すというジェスチャを行なうだけで、非接触のクリック操作を行なうことができる。このように、ユーザにとって容易なジェスチャにより、クリック操作を行なうことができる(図19(a)の第4の例)。   Furthermore, according to the present embodiment, the user simply performs a gesture in which the finger is folded from the state in which the finger is raised in the three-dimensional space, and then returned to the original state. A non-contact click operation can be performed. Thus, a click operation can be performed with a gesture that is easy for the user (fourth example in FIG. 19A).

このような人のジェスチャでは、指が曲げられた後、指先が、ほぼ元の位置に戻ることが、本願発明者の実験により検証されている。このため、このようなジェスチャを検出することにより、クリック操作が行なわれたか否かを、安定して、かつ、確実に、つまり、高い再現性をもって、判断できる。   In such a human gesture, it has been verified by experiments of the present inventor that the fingertip returns almost to its original position after the finger is bent. Therefore, by detecting such a gesture, it can be determined stably and surely, that is, with high reproducibility, whether or not a click operation has been performed.

さらに、本実施の形態によれば、ユーザは、三次元空間中で、1本指を立てた状態から、その指を折って、再び、元の立てた状態に戻し、さらに、再び、その指を折って、再び、元の立てた状態に戻すというジェスチャを行なうだけで、つまり、シングルクリック操作のためのジェスチャを2回行なうだけで、非接触のダブルクリック操作を行なうことができる。このように、ユーザにとって容易なジェスチャにより、ダブルクリック操作を行なうことができる(図19(b)の第4の例)。   Further, according to the present embodiment, the user folds his / her finger from the state where one finger is raised in the three-dimensional space, returns the finger to the original state, and again, the finger again. The contactless double-click operation can be performed only by performing the gesture of returning to the original standing state again, that is, by performing the gesture for single-click operation twice. In this way, a double-click operation can be performed with a gesture that is easy for the user (fourth example in FIG. 19B).

このようなダブルクリック操作は、シングルクリック操作を2回行うものであるところ、折り曲げられた指先は、2回とも、ほぼ同じ位置に戻ってくることが、本願発明者の実験により検証されている。このため、このようなジェスチャを検出することにより、ダブルクリック操作が行なわれたか否かを、安定して、かつ、確実に、つまり、高い再現性をもって、判断できる。   Such a double click operation is a single click operation performed twice, and it has been verified by experiments of the present inventor that the folded fingertip returns to almost the same position both times. . For this reason, by detecting such a gesture, it can be determined stably and reliably, that is, with high reproducibility, whether or not a double-click operation has been performed.

また、本実施の形態では、MCU3は、指先50の動きが一定範囲DIS内に収まっている場合に(図20のステップS1208及びS1212で肯定判断)、ユーザがクリック操作(シングルクリック又はダブルクリック)を行なうことを意図しているとみなし、矩形範囲52を設定し(図20のステップS1216)、これをトリガとして、ユーザがクリック操作に対応するジェスチャを行ったか否かを判定できる。このため、ユーザが当該ジェスチャを行なったか否かを、常に判定する必要がなく、処理負荷を軽減できる。   Further, in the present embodiment, the MCU 3 performs a click operation (single click or double click) by the user when the movement of the fingertip 50 is within the certain range DIS (positive determination in steps S1208 and S1212 in FIG. 20). The rectangular range 52 is set (step S1216 in FIG. 20), and using this as a trigger, it can be determined whether or not the user has made a gesture corresponding to the click operation. For this reason, it is not always necessary to determine whether or not the user has made the gesture, and the processing load can be reduced.

さらに、MCU3は、矩形範囲52が設定されてから所定時間TC内に、指先50が矩形範囲52から消失したと判断しない場合(図21のステップS1254)、又は、矩形範囲52に指先が出現したと判断しない場合(図21のステップS1262)、滞在フラグをオフにして、矩形範囲52を解除する(図21のステップS1284)。   Furthermore, the MCU 3 does not determine that the fingertip 50 has disappeared from the rectangular range 52 within a predetermined time TC after the rectangular range 52 is set (step S1254 in FIG. 21), or the fingertip has appeared in the rectangular range 52. Is not determined (step S1262 in FIG. 21), the stay flag is turned off and the rectangular range 52 is released (step S1284 in FIG. 21).

このように、所定時間TC内に、指先50が矩形範囲52から消失したと判断しない場合、又は、矩形範囲52に指先が出現したと判断しない場合、ユーザがクリック操作(シングルクリック又はダブルクリック)を行なうことを意図していないとみなして、ユーザの意図に反してクリック操作が行なわれたと判定されることを防止できる。つまり、一般にクリック操作は素早く行なわれるところ、所定時間TCを適切に設定することにより、同一の動きであっても、クリック操作を意図したジェスチャ以外の動きを除外して、誤判定を防止できる。   Thus, when it is not determined that the fingertip 50 has disappeared from the rectangular range 52 within the predetermined time TC, or when it is not determined that the fingertip has appeared in the rectangular range 52, the user performs a click operation (single click or double click). Therefore, it can be determined that the click operation has been performed against the user's intention. That is, in general, a click operation is performed quickly. However, by appropriately setting the predetermined time TC, a motion other than a gesture intended for the click operation can be excluded even if the motion is the same, thereby preventing erroneous determination.

さらに、本実施の形態によれば、輪郭から大体の指先を決定し(図9のステップS373,S375、図11のステップS445)、その周囲画素のみを用いて補正を行なうので(図12(a)〜図12(d))、処理のための記憶容量の削減と処理速度の向上を図ることができる。   Furthermore, according to the present embodiment, an approximate fingertip is determined from the contour (steps S373 and S375 in FIG. 9 and step S445 in FIG. 11), and correction is performed using only the surrounding pixels (FIG. 12A). ) To FIG. 12 (d)), the storage capacity for processing can be reduced and the processing speed can be improved.

また、補正が小数点精度で実行されるので、イメージセンサ5が比較的低解像度であっても、高精度で指先の位置を決定することができる。その結果、イメージセンサ5より高解像度のモニタ13の画面上の、指先に対応する位置にカーソルを表示する場合でも、その動きを滑らかにすることができる。   Further, since the correction is performed with decimal point accuracy, the position of the fingertip can be determined with high accuracy even when the image sensor 5 has a relatively low resolution. As a result, even when the cursor is displayed at a position corresponding to the fingertip on the screen of the monitor 13 having a resolution higher than that of the image sensor 5, the movement can be made smooth.

さらに、周囲画素の画素値により、補正を行なうので、補正後の指先を、輪郭線上ではなく、指の内部の位置に決定でき、ユーザが指先と認識する位置により近づけることができる。その結果、指先に対応するモニタ13の画面上の位置にカーソルを表示する場合、ユーザにとって、指先によるカーソルの制御が容易になる。なお、一般に、人は、指の腹を向けて、指を動かすときは、指の輪郭線上の凸点を指先と認識せず、指先端部の指の腹(finger pad)の中心を指先と認識するものである。   Furthermore, since the correction is performed based on the pixel values of the surrounding pixels, the corrected fingertip can be determined not at the contour line but at the position inside the finger, and closer to the position recognized by the user as the fingertip. As a result, when the cursor is displayed at a position on the screen of the monitor 13 corresponding to the fingertip, the user can easily control the cursor with the fingertip. In general, when a person moves his / her finger toward the belly of a finger, the convex point on the contour of the finger is not recognized as the fingertip, and the center of the finger pad at the tip of the finger is defined as the fingertip. Recognize.

さらに、本実施の形態では、補正後の指先の位置が、周囲画素の範囲(9×9画素の範囲)を超えるように、補正を行う。このため、補正後の指先の位置を指先端部の指の腹の一定位置あるいは略一定位置に決定することができ、図9のステップS373,S375、及び図11のステップS445により検出された指先の位置が安定していない場合でも、補正後の指先の位置を極力一定させ、あるいは、指先の位置の相違を極力小さい範囲に収めることができる。その結果、指先に対応するモニタ13の画面上の位置にカーソルを表示する場合、カーソルを安定化できる。   Further, in the present embodiment, correction is performed so that the corrected fingertip position exceeds the range of surrounding pixels (9 × 9 pixel range). For this reason, the position of the fingertip after correction can be determined as a constant position or a substantially constant position of the belly of the finger tip, and the fingertip detected in steps S373 and S375 in FIG. 9 and step S445 in FIG. Even when the position of the fingertip is not stable, the corrected fingertip position can be made as constant as possible, or the difference in fingertip position can be kept as small as possible. As a result, when the cursor is displayed at a position on the screen of the monitor 13 corresponding to the fingertip, the cursor can be stabilized.

また、補正後の指先を、ユーザが指先と認識する位置により一層近づけることができる。その結果、指先に対応するモニタ13の画面上の位置にカーソルを表示する場合、ユーザにとって、指先によるカーソルの制御が一層容易になる。   Further, the corrected fingertip can be made closer to the position that the user recognizes as the fingertip. As a result, when the cursor is displayed at a position on the screen of the monitor 13 corresponding to the fingertip, it is easier for the user to control the cursor with the fingertip.

さらに、本実施の形態では、指先画素P4と指先画素P4の斜め方向に位置する周囲画素(P0,P2,P6,P8)との間の距離と、指先画素P4と指先画素P4の水平方向又は垂直方向に位置する周囲画素(P1,P3,P5,P7)との間の距離と、が等しくなるように、周囲画素(P0,P2,P6,P8)の座標を定義する(図16(a)参照)。その結果、重みとして画素値を利用するに当って、全周囲画素の画素値が均等に扱われ、方向によって偏りのない補正を行なうことができる。   Furthermore, in the present embodiment, the distance between the fingertip pixel P4 and the surrounding pixels (P0, P2, P6, P8) located in the diagonal direction of the fingertip pixel P4, the horizontal direction of the fingertip pixel P4 and the fingertip pixel P4, or The coordinates of the surrounding pixels (P0, P2, P6, P8) are defined so that the distances to the surrounding pixels (P1, P3, P5, P7) positioned in the vertical direction are equal (FIG. 16A )reference). As a result, when using pixel values as weights, the pixel values of all surrounding pixels are treated equally, and correction can be performed without deviation depending on the direction.

さらに、本実施の形態によれば、電子機器9は、被写体の形状(グー、チョキ、パー、1本指)を入力とした情報処理を実行することができる。   Furthermore, according to the present embodiment, the electronic device 9 can execute information processing using the shape of the subject (goo, choki, par, one finger) as an input.

さらに、本実施の形態によれば、指先と水かきとの間の画素に基づいて指を特定し(図7のステップS257及びS259、図15参照)、輪郭画像の重心により指を特定しないので、重心により指を特定する場合と比較して、精度良く指を特定でき(図7)、ひいてはより精度良く手の形状を判定できる(図8、図9)。一般に、輪郭画像の重心と、被写体の重心と、は一致しない場合も多く、この場合に、重心により指を特定すると、認識の精度が低くなる。   Furthermore, according to the present embodiment, the finger is specified based on the pixel between the fingertip and the web (see steps S257 and S259 in FIG. 7 and FIG. 15), and the finger is not specified by the center of gravity of the contour image. Compared with the case where the finger is specified by the center of gravity, the finger can be specified with high accuracy (FIG. 7), and the shape of the hand can be determined with higher accuracy (FIGS. 8 and 9). In general, the center of gravity of the contour image and the center of gravity of the subject often do not match. In this case, if a finger is specified by the center of gravity, the accuracy of recognition is lowered.

また、指先と水かきとの間の画素に基づいて得られた、隣り合う指と指とがなす角度だけでなく、重心から指先に相当する画素までの距離に基づいて、手の形状を判断するので(図9のステップS345〜S351)、より多様な手の形状を判定できる(図9)。例えば、手の形状が「チョキ」であることを判定できる。   In addition, the shape of the hand is determined based on the distance from the center of gravity to the pixel corresponding to the fingertip, as well as the angle between the adjacent finger and the finger obtained based on the pixel between the fingertip and the web. Therefore (steps S345 to S351 in FIG. 9), more various hand shapes can be determined (FIG. 9). For example, it can be determined that the shape of the hand is “pick”.

また、重心から輪郭線上の画素までの距離を求めるといった簡単な計算で(図6のステップS203)、手の形状を判定できる(図10)。例えば、重心から輪郭線上の画素までの距離が、一定範囲内の場合に、手の形状が「グー」であることを判定できる。   Further, the shape of the hand can be determined (FIG. 10) by a simple calculation such as obtaining the distance from the center of gravity to the pixel on the contour line (step S203 in FIG. 6). For example, when the distance from the center of gravity to the pixel on the contour line is within a certain range, it can be determined that the shape of the hand is “Goo”.

さらに、本実施の形態によれば、図7のステップS275の結果だけに基づいて、検出された指先の数を判断するのではなく、さらに、重心座標(Xg,Yg)と凸点(図4のステップS33)の画素Pjの座標との間の距離Dを加味して(図11のステップS427,S441)、指が1本だけ立っている状態か否かを判定する。このため、より精度よく、指が1本だけ立っている状態を検出できる。   Furthermore, according to the present embodiment, the number of detected fingertips is not determined based only on the result of step S275 in FIG. 7, but the barycentric coordinates (Xg, Yg) and the convex point (FIG. 4) are further determined. In step S33), the distance D to the coordinates of the pixel Pj is taken into account (steps S427 and S441 in FIG. 11), and it is determined whether or not only one finger is standing. For this reason, the state where only one finger stands can be detected with higher accuracy.

さらに、本実施の形態によれば、画像上の被写体の面積は(図6のステップS213)、イメージセンサ5と被写体との間の距離に相関するので、面積により、イメージセンサ5と被写体との間の距離を容易に判断できる。   Furthermore, according to the present embodiment, the area of the subject on the image (step S213 in FIG. 6) correlates with the distance between the image sensor 5 and the subject. The distance between them can be easily determined.

なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。   The present invention is not limited to the above-described embodiment, and can be implemented in various modes without departing from the gist thereof. For example, the following modifications are possible.

(1)上記では、「グー」、「チョキ」、「パー」、及び「1本指」の形状を認識したが、これに限定されない。   (1) In the above description, the shapes of “goo”, “choki”, “par”, and “one finger” are recognized, but the present invention is not limited to this.

(2)画像処理装置1は、間欠的に点滅する赤外発光ダイオードを搭載することもできる。この場合、イメージセンサ5は、赤外光発光時及び消灯時のそれぞれにおいて撮影処理を実行し、発光時画像と消灯時画像との差分画像を生成して、MCU3に出力する。MCU3は、その差分画像から手を検出する。このように、差分といった簡易な処理で、背景画像を容易に除去できる。   (2) The image processing apparatus 1 can also include an infrared light emitting diode that blinks intermittently. In this case, the image sensor 5 executes a photographing process at the time of emitting the infrared light and at the time of turning off, generates a difference image between the image at the time of emitting light and the image at the time of turning off, and outputs the difference image to the MCU 3. The MCU 3 detects a hand from the difference image. Thus, the background image can be easily removed by a simple process such as difference.

この場合、イメージセンサ5は、差分画像の各画素(例えばグレースケール)をシリアルに出力するところ、MCU3は、イメージセンサ5から受け取った画素を、順次、所定の閾値と比較して、2値化し、メモリ7に格納する。そして、MCU3は、2値化後の差分画像に基づいて、上述した各種処理を実行する。また、図12(a)〜図12(d)に示す指先補正値計算処理を実行する場合は、MCU3は、画素値p0〜p8を、イメージセンサ5から順次取得し、計算式に代入して、補正値(Xc,Yc)を算出する。なお、イメージセンサ5は、MCU3による2値化のために差分画像を出力した後でも、一定時間は(次の撮影処理までは)、差分画像データを保持しているので、指先補正値計算処理では、そこから必要な画素を取得することができる。   In this case, when the image sensor 5 serially outputs each pixel (for example, gray scale) of the difference image, the MCU 3 binarizes the pixels received from the image sensor 5 by sequentially comparing with a predetermined threshold value. And stored in the memory 7. And MCU3 performs the various processes mentioned above based on the difference image after binarization. When executing the fingertip correction value calculation processing shown in FIGS. 12A to 12D, the MCU 3 sequentially acquires the pixel values p0 to p8 from the image sensor 5 and substitutes them in the calculation formula. The correction value (Xc, Yc) is calculated. Note that the image sensor 5 holds the difference image data for a certain period of time (until the next shooting process) even after outputting the difference image for binarization by the MCU 3, so that the fingertip correction value calculation process Then, necessary pixels can be acquired therefrom.

以上のように、2値化された差分画像をメモリ7に格納することで、メモリ容量を削減できる。また、指先補正値計算処理においても、メモリ7に格納した3×3画素(例えばグレースケール)を処理するのではなく、イメージセンサ5からの出力画素を順次処理しており、これもまたメモリ容量を削減できる。もちろん、イメージセンサ5が出力した差分画像をそのままメモリ7に格納して処理することもできる。   As described above, the memory capacity can be reduced by storing the binarized difference image in the memory 7. Also, in the fingertip correction value calculation processing, instead of processing 3 × 3 pixels (for example, gray scale) stored in the memory 7, output pixels from the image sensor 5 are sequentially processed, which also has a memory capacity. Can be reduced. Of course, the difference image output from the image sensor 5 can be stored in the memory 7 as it is and processed.

(3)上記では、指先画素P4を原点(0,0)として、周囲画素の座標値を設定し、補正値(Xc,Yc)を算出し、それを指先画素P4の座標(Xb,Yb)に加算することで、補正座標(Xf,Yf)を得た(図16(a)及び図16(b))。ただし、図12の第1〜第4の例の各式で使用する座標の原点は、これに限定されない。例えば、図9のステップS373,S375、及び図11のステップS445で求められた座標を、そのまま、指先画素P4の座標として使用して、周囲画素の座標を定め、補正座標(Xf,Yf)を求めることもできる。この場合は、図12(a)〜図12(d)の各ステップで得られた値(Xc,Yc)が、補正座標(Xf,Yf)そのものであり、加算は不要である。   (3) In the above, with the fingertip pixel P4 as the origin (0, 0), the coordinate values of the surrounding pixels are set, the correction value (Xc, Yc) is calculated, and the coordinate value (Xb, Yb) of the fingertip pixel P4 is calculated. To obtain corrected coordinates (Xf, Yf) (FIG. 16 (a) and FIG. 16 (b)). However, the origin of the coordinates used in the equations of the first to fourth examples in FIG. 12 is not limited to this. For example, the coordinates obtained in steps S373 and S375 in FIG. 9 and the coordinates obtained in step S445 in FIG. 11 are used as they are as the coordinates of the fingertip pixel P4 to determine the coordinates of the surrounding pixels, and the correction coordinates (Xf, Yf) are determined. You can ask for it. In this case, the values (Xc, Yc) obtained in the steps of FIGS. 12A to 12D are the correction coordinates (Xf, Yf) themselves, and no addition is necessary.

(4)図19(a)の第4の例では、所定時間TC内に、シングルクリック操作に対応するジェスチャが検出されない場合は、矩形範囲52が解除されシングルクリック操作判定がリセットされた(図21のステップS1284)。   (4) In the fourth example of FIG. 19A, when a gesture corresponding to a single click operation is not detected within a predetermined time TC, the rectangular range 52 is canceled and the single click operation determination is reset (FIG. 19). 21 step S1284).

ただし、MCU3が、指先50が矩形範囲52から消失したと判断した後(ステップS1254で肯定判断)の所定時間TC2内に、指先50が矩形範囲52に出現したと判断しない場合、矩形範囲52を解除し、シングルクリック操作判定をリセットしてもよい。なお、MCU3が、矩形範囲52設定後所定時間TC内に、指先50が矩形範囲52から消失したと判断しない場合に、矩形範囲52を解除する点は、図21と同じである。   However, if the MCU 3 does not determine that the fingertip 50 has appeared in the rectangular range 52 within the predetermined time TC2 after determining that the fingertip 50 has disappeared from the rectangular range 52 (Yes in step S1254), the rectangular range 52 is set. It may be canceled and the single click operation determination may be reset. It is the same as FIG. 21 in that the MCU 3 releases the rectangular range 52 when it is not determined that the fingertip 50 has disappeared from the rectangular range 52 within a predetermined time TC after the rectangular range 52 is set.

このように、所定時間TC2内に、MCU3が、指先50が矩形範囲52に出現したと判断しない場合、ユーザがクリック操作を行なうことを意図していないとみなして、ユーザの意図に反してクリック操作が行なわれたと判定されることを防止できる。つまり、一般にクリック操作は素早く行なわれるところ、所定時間TC2を適切に設定することにより、同一の動きであっても、クリック操作を意図したジェスチャ以外の動きを除外して、誤判定を防止できる。   As described above, if the MCU 3 does not determine that the fingertip 50 has appeared in the rectangular range 52 within the predetermined time TC2, it is considered that the user does not intend to perform the click operation, and the user clicks against the user's intention. It is possible to prevent the operation from being determined. That is, in general, a click operation is performed quickly. However, by appropriately setting the predetermined time TC2, even if the movement is the same, movement other than the gesture intended for the click operation can be excluded, and erroneous determination can be prevented.

また、図19(b)の第4の例では、所定時間TC内に、ダブルクリック操作に対応するジェスチャが検出されない場合は、ダブルクリック操作判定がリセットされた(図21のステップS1284)。   Further, in the fourth example of FIG. 19B, when the gesture corresponding to the double click operation is not detected within the predetermined time TC, the double click operation determination is reset (step S1284 in FIG. 21).

ただし、仮クリックフラグがオンになった後において、MCU3が、指先50が矩形範囲52から消失したと判断した後の所定時間TC3内に、指先50が矩形範囲52に出現したと判断しない場合、矩形範囲52を解除し、ダブルクリック操作判定をリセットしてもよい。なお、仮クリックフラグがオンになった後において、MCU3が、矩形範囲52の設定後所定時間TC内に、指先50が矩形範囲52から消失したと判断しない場合に、矩形範囲52を解除する点は、図21と同じである。また、仮クリックフラグがオンになるまでの判定(シングルクリックの判定)は図21又は上記変形と同じである。   However, if the MCU 3 does not determine that the fingertip 50 has appeared in the rectangular range 52 within a predetermined time TC3 after determining that the fingertip 50 has disappeared from the rectangular range 52 after the temporary click flag is turned on, The rectangular range 52 may be canceled and the double-click operation determination may be reset. Note that the MCU 3 releases the rectangular range 52 when the MCU 3 does not determine that the fingertip 50 has disappeared from the rectangular range 52 within a predetermined time TC after setting the rectangular range 52 after the temporary click flag is turned on. Is the same as FIG. The determination until the temporary click flag is turned on (single click determination) is the same as in FIG. 21 or the above modification.

このように、所定時間TC3内に、MCU3が、指先50が矩形範囲52に出現したと判断しない場合、ユーザがダブルクリック操作を行なうことを意図していないとみなして、ユーザの意図に反してダブルクリック操作が行なわれたと判定されることを防止できる。つまり、一般にダブルクリック操作は素早く行なわれるところ、所定時間TC3を適切に設定することにより、同一の動きであっても、ダブルクリック操作を意図したジェスチャ以外の動きを除外して、誤判定を防止できる。   In this way, if the MCU 3 does not determine that the fingertip 50 has appeared in the rectangular range 52 within the predetermined time TC3, it is considered that the user does not intend to perform a double-click operation, contrary to the user's intention. It can be determined that a double-click operation has been performed. In other words, in general, a double-click operation is performed quickly, but by setting the predetermined time TC3 appropriately, even if the movement is the same, movements other than the gesture intended for the double-click operation are excluded, and erroneous determination is prevented. it can.

また、MCU3が、指先50が矩形範囲に出現したと判断してから、つまり、仮クリックフラグをオンにしてから所定時間TC4内に、指先50が矩形範囲52から消失したと判断しない場合、矩形範囲52を解除し、ダブルクリック操作判定をリセットしてもよい。なお、仮クリックフラグがオンになるまでの判定(シングルクリックの判定)は図21又は上記変形と同じである。   If the MCU 3 determines that the fingertip 50 has appeared in the rectangular range, that is, if the fingertip 50 does not determine that the fingertip 50 has disappeared from the rectangular range 52 within a predetermined time TC4 after the provisional click flag is turned on, The range 52 may be canceled and the double-click operation determination may be reset. The determination until the temporary click flag is turned on (single click determination) is the same as in FIG. 21 or the above modification.

このように、所定時間TC4内に、MCU3が、指先50が矩形範囲52から消失したと判断しない場合、ユーザがダブルクリック操作を行なうことを意図していないとみなして、ユーザの意図に反してダブルクリック操作が行なわれたと判定されることを防止できる。つまり、一般にダブルクリック操作は素早く行なわれるところ、所定時間TC4を適切に設定することにより、同一の動きであっても、ダブルクリック操作を意図したジェスチャ以外の動きを除外して、誤判定を防止できる。   In this way, if the MCU 3 does not determine that the fingertip 50 has disappeared from the rectangular range 52 within the predetermined time TC4, it is considered that the user does not intend to perform a double-click operation, contrary to the user's intention. It can be determined that a double-click operation has been performed. In other words, in general, the double-click operation is performed quickly, but by setting the predetermined time TC4 appropriately, even if the movement is the same, the movement other than the gesture intended for the double-click operation is excluded to prevent erroneous determination. it can.

さらに、この場合、MCU3が、仮クリックフラグをオンにしてから所定時間TC4内に、指先50の消失の後、再び指先50が矩形範囲52に出現したと判断しない場合、矩形範囲52を解除し、ダブルクリック操作判定をリセットしてもよい。   Further, in this case, if the MCU 3 does not determine that the fingertip 50 has appeared again in the rectangular area 52 after the disappearance of the fingertip 50 within the predetermined time TC4 after turning on the temporary click flag, the rectangular area 52 is canceled. The double-click operation determination may be reset.

このように、所定時間TC4内に、MCU3が、指先50が矩形範囲52に出現したと判断しない場合、ユーザがダブルクリック操作を行なうことを意図していないとみなして、ユーザの意図に反してダブルクリック操作が行なわれたと判定されることを防止できる。つまり、一般にダブルクリック操作は素早く行なわれるところ、所定時間TC4を適切に設定することにより、同一の動きであっても、ダブルクリック操作を意図したジェスチャ以外の動きを除外して、誤判定を防止できる。   In this way, if the MCU 3 does not determine that the fingertip 50 has appeared in the rectangular range 52 within the predetermined time TC4, it is considered that the user does not intend to perform a double-click operation, contrary to the user's intention. It can be determined that a double-click operation has been performed. In other words, in general, the double-click operation is performed quickly, but by setting the predetermined time TC4 appropriately, even if the movement is the same, the movement other than the gesture intended for the double-click operation is excluded to prevent erroneous determination. it can.

また、このような判定に代えて、MCU3が、仮クリックフラグをオンにしてから所定時間TC4内の指先50の消失の後の所定時間TC5内に、指先50が矩形範囲52に出現したと判断しない場合、矩形範囲52を解除し、ダブルクリック操作判定をリセットすることもできる。   Instead of such determination, the MCU 3 determines that the fingertip 50 has appeared in the rectangular range 52 within the predetermined time TC5 after the disappearance of the fingertip 50 within the predetermined time TC4 after turning on the temporary click flag. If not, the rectangular range 52 can be canceled and the double-click operation determination can be reset.

このように、所定時間TC5内に、MCU3が、指先50が矩形範囲52に出現したと判断しない場合、ユーザがダブルクリック操作を行なうことを意図していないとみなして、ユーザの意図に反してダブルクリック操作が行なわれたと判定されることを防止できる。つまり、一般にダブルクリック操作は素早く行なわれるところ、所定時間TC5を適切に設定することにより、同一の動きであっても、ダブルクリック操作を意図したジェスチャ以外の動きを除外して、誤判定を防止できる。   In this way, if the MCU 3 does not determine that the fingertip 50 has appeared in the rectangular range 52 within the predetermined time TC5, it is considered that the user does not intend to perform a double-click operation, contrary to the user's intention. It can be determined that a double-click operation has been performed. In other words, in general, a double-click operation is performed quickly, but by setting the predetermined time TC5 appropriately, even if the movement is the same, the movement other than the gesture intended for the double-click operation is excluded to prevent erroneous determination. it can.

ここで、上記の所定時間TC2〜TC5は、実験及び試行錯誤等により決定される。   Here, the predetermined times TC2 to TC5 are determined by experiments, trial and error, and the like.

(5)MCU3が行なう処理の全部又は一部をコンピュータ11が行なうこともできる。要するに、どちらがどの処理を行なうかは、仕様に応じて、任意に決定できる。   (5) The computer 11 can also perform all or part of the processing performed by the MCU 3. In short, which process is to be performed can be arbitrarily determined according to the specification.

(6)MCU3に各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、また、並列的あるいは個別に実行される処理も含むものである。   (6) Processing steps that describe a program for causing the MCU 3 to perform various processes do not necessarily have to be processed in time series in the order described in the flowchart, and are executed in parallel or individually. It also includes processing.

(7)本明細書及び請求の範囲において、手段とは必ずしも物理的手段を意味するものではなく、各手段の機能がソフトウェアによって実現される場合も含む。さらに、1つの手段の機能が2つ以上の物理的手段により実現されても、もしくは2つ以上の手段の機能が1つの物理的手段により実現されてもよい。   (7) In the present specification and claims, the means does not necessarily mean a physical means, but includes a case where the function of each means is realized by software. Further, the function of one means may be realized by two or more physical means, or the functions of two or more means may be realized by one physical means.

本発明は、表示装置にカーソルを表示してポインティングを行なうポインティングデバイスの分野に利用可能である。   The present invention is applicable to the field of pointing devices that perform pointing by displaying a cursor on a display device.

また、本発明は、画像解析により指先を検出する画像解析の分野に利用可能である。   The present invention can also be used in the field of image analysis in which a fingertip is detected by image analysis.

1…画像処理装置、3…MCU、5…イメージセンサ、7…メモリ、9…電子機器、11…コンピュータ、13…モニタ。 DESCRIPTION OF SYMBOLS 1 ... Image processing apparatus, 3 ... MCU, 5 ... Image sensor, 7 ... Memory, 9 ... Electronic device, 11 ... Computer, 13 ... Monitor.

Claims (30)

三次元空間中で動かされるユーザの手を撮影する撮影手段と、
撮影により得られた画像から、前記ユーザの指先に相当する部分を検出する検出手段と、
検出された前記指先に相当する部分を含む所定範囲を設定する設定手段と、
前記設定手段が、前記所定範囲を設定した後、前記指先に相当する部分が消失したか否かを判断する第1判断手段と、
前記第1判断手段が、前記指先に相当する部分が前記所定範囲から消失したと判断した後、前記指先に相当する部分が前記所定範囲に出現したか否かを判断する第2判断手段と、
前記第2判断手段が、前記指先に相当する部分が前記所定範囲に出現したと判断した場合に、クリック操作が行なわれたと判定する判定手段と、を備える操作判定装置。
Photographing means for photographing a user's hand moved in a three-dimensional space;
Detecting means for detecting a portion corresponding to the fingertip of the user from an image obtained by photographing;
Setting means for setting a predetermined range including a portion corresponding to the detected fingertip;
First setting means for determining whether or not a portion corresponding to the fingertip has disappeared after the setting means has set the predetermined range;
Second determining means for determining whether or not a portion corresponding to the fingertip has appeared in the predetermined range after the first determining means determines that the portion corresponding to the fingertip has disappeared from the predetermined range;
An operation determination apparatus comprising: determination means for determining that a click operation has been performed when the second determination means determines that a portion corresponding to the fingertip has appeared in the predetermined range.
前記設定手段は、検出された前記指先に相当する部分の動きが一定範囲内に収まっている場合に、前記所定範囲を設定する、請求項1記載の操作判定装置。
この構成によれば、前記指先に相当する部分の動きが一定範囲内に収まっている場合に、ユーザがクリック操作を行なうことを意図しているとみなし、所定範囲を設定し、これをトリガとして、ユーザがクリック操作に対応するジェスチャを行ったか否かを判定できる。このため、ユーザが当該ジェスチャを行なったか否かを、常に判定する必要がなく、処理負荷を軽減できる。
The operation determination device according to claim 1, wherein the setting unit sets the predetermined range when a motion of a portion corresponding to the detected fingertip is within a certain range.
According to this configuration, when the movement of the portion corresponding to the fingertip is within a certain range, it is assumed that the user intends to perform a click operation, the predetermined range is set, and this is used as a trigger. It can be determined whether or not the user has made a gesture corresponding to the click operation. For this reason, it is not always necessary to determine whether or not the user has made the gesture, and the processing load can be reduced.
前記設定手段は、前記所定範囲が設定されてから第1所定時間内に、前記第1判断手段が、前記指先に相当する部分が前記所定範囲から消失したと判断しない場合、前記所定範囲を解除する、請求項1又は2記載の操作判定装置。   The setting means cancels the predetermined range when the first determination means does not determine that the portion corresponding to the fingertip has disappeared from the predetermined range within a first predetermined time after the predetermined range is set. The operation determination device according to claim 1 or 2. 前記設定手段は、前記所定範囲が設定されてから前記第1所定時間内に、前記第2判断手段が、前記指先に相当する部分が前記所定範囲に出現したと判断しない場合、前記所定範囲を解除する、請求項3記載の操作判定装置。   The setting means determines the predetermined range when the second determination means does not determine that a portion corresponding to the fingertip has appeared in the predetermined range within the first predetermined time after the predetermined range is set. The operation determination device according to claim 3, wherein the operation determination device is released. 前記設定手段は、前記第1判断手段が、前記指先に相当する部分が前記所定範囲から消失したと判断した後、第2所定時間内に、前記第2判断手段が、前記指先に相当する部分が前記所定範囲に出現したと判断しない場合、前記所定範囲を解除する、請求項3記載の操作判定装置。   The setting means includes: a portion corresponding to the fingertip within a second predetermined time after the first determining means determines that the portion corresponding to the fingertip has disappeared from the predetermined range. The operation determination device according to claim 3, wherein when the predetermined range is not determined to have appeared, the predetermined range is canceled. 前記第2判断手段が、前記指先に相当する部分が前記所定範囲に出現したと判断した後、前記指先に相当する部分が消失したか否かを判断する第3判断手段と、
前記第3判断手段が、前記指先に相当する部分が前記所定範囲から消失したと判断した後、前記指先に相当する部分が前記所定範囲に出現したか否かを判断する第4判断手段と、をさらに備え、
前記判定手段は、前記第4判断手段が、前記指先に相当する部分が前記所定範囲に出現したと判断した場合に、ダブルクリック操作が行なわれたと判定する、請求項1又は2記載の操作判定装置。
Third determination means for determining whether or not the portion corresponding to the fingertip has disappeared after the second determination means determines that the portion corresponding to the fingertip has appeared in the predetermined range;
Fourth determining means for determining whether or not a portion corresponding to the fingertip has appeared in the predetermined range after the third determining means determines that the portion corresponding to the fingertip has disappeared from the predetermined range; Further comprising
The operation determination according to claim 1 or 2, wherein the determination unit determines that a double-click operation has been performed when the fourth determination unit determines that a portion corresponding to the fingertip has appeared in the predetermined range. apparatus.
前記設定手段は、前記所定範囲が設定されてから前記第1所定時間内に、前記第3判断手段が、前記指先に相当する部分が前記所定範囲から消失したと判断しない場合、前記所定範囲を解除する、請求項6記載の操作判定装置。   The setting means determines the predetermined range when the third determination means does not determine that the portion corresponding to the fingertip has disappeared from the predetermined range within the first predetermined time after the predetermined range is set. The operation determination device according to claim 6, wherein the operation determination device is released. 前記設定手段は、前記所定範囲が設定されてから前記第1所定時間内に、前記第4判断手段が、前記指先に相当する部分が前記所定範囲に出現したと判断しない場合、前記所定範囲を解除する、請求項7記載の操作判定装置。   The setting means determines the predetermined range when the fourth determination means does not determine that a portion corresponding to the fingertip has appeared in the predetermined range within the first predetermined time after the predetermined range is set. The operation determination device according to claim 7, wherein the operation determination device is released. 前記設定手段は、前記第3判断手段が、前記指先に相当する部分が前記所定範囲から消失したと判断した後、第3所定時間内に、前記第4判断手段が、前記指先に相当する部分が前記所定範囲に出現したと判断しない場合、前記所定範囲を解除する、請求項7記載の操作判定装置。   The setting means includes a portion in which the fourth determination means corresponds to the fingertip within a third predetermined time after the third determination means determines that the portion corresponding to the fingertip has disappeared from the predetermined range. The operation determination device according to claim 7, wherein when the predetermined range is not determined to have appeared, the predetermined range is canceled. 前記設定手段は、前記第2判断手段が、前記指先に相当する部分が前記所定範囲に出現したと判断してから、第4所定時間内に、前記第3判断手段が、前記指先に相当する部分が前記所定範囲から消失したと判断しない場合、前記所定範囲を解除する、請求項6記載の操作判定装置。   In the setting means, the third determination means corresponds to the fingertip within a fourth predetermined time after the second determination means determines that the portion corresponding to the fingertip has appeared in the predetermined range. The operation determination device according to claim 6, wherein the predetermined range is canceled when it is not determined that the portion has disappeared from the predetermined range. 前記設定手段は、前記第4所定時間内に、前記第4判断手段が、前記指先に相当する部分が前記所定範囲に出現したと判断しない場合、前記所定範囲を解除する、請求項10記載の操作判定装置。   The said setting means cancels the said predetermined range, when the said 4th determination means does not judge that the part corresponded to the said fingertip appeared in the said predetermined range within the said 4 predetermined time. Operation determination device. 前記設定手段は、前記第3判断手段が、前記指先に相当する部分が前記所定範囲から消失したと判断した後、第5所定時間内に、前記第4判断手段が、前記指先に相当する部分が前記所定範囲に出現したと判断しない場合、前記所定範囲を解除する、請求項10記載の操作判定装置。   The setting means includes: a part corresponding to the fingertip within the fifth predetermined time after the third determining means determines that the part corresponding to the fingertip has disappeared from the predetermined range. The operation determination device according to claim 10, wherein when the predetermined range is not determined to have appeared, the predetermined range is canceled. 三次元空間中で動かされるユーザの手を撮影する撮影手段と、
撮影により得られた画像から、前記ユーザの指に相当する部分を検出する検出手段と、
今回前記ユーザの指に相当する部分が1つ検出された場合において、前回前記ユーザの指に相当する部分が2つ検出されていたとき、擬似的にボタン操作が行なわれたと判定する判定手段と、を備える操作判定装置。
Photographing means for photographing a user's hand moved in a three-dimensional space;
Detecting means for detecting a portion corresponding to the user's finger from an image obtained by photographing;
A determination means for determining that a button operation has been performed in a pseudo manner when two portions corresponding to the user's finger were detected last time when one portion corresponding to the user's finger was detected this time; An operation determination apparatus comprising:
三次元空間中で動かされるユーザの手を撮影する撮影手段と、
撮影により得られた画像から、前記ユーザの指に相当する部分を検出する検出手段と、
今回前記ユーザの指に相当する部分が2つ検出された場合において、前回前記ユーザの指に相当する部分が1つ検出されていたとき、擬似的にボタン操作が行なわれたと判定する判定手段と、を備える操作判定装置。
Photographing means for photographing a user's hand moved in a three-dimensional space;
Detecting means for detecting a portion corresponding to the user's finger from an image obtained by photographing;
A determination means for determining that a button operation has been performed in a pseudo manner when one portion corresponding to the user's finger was detected last time when two portions corresponding to the user's finger were detected this time; An operation determination apparatus comprising:
三次元空間中で動かされるユーザの手を撮影する撮影手段と、
撮影により得られた画像から、前記ユーザの指先に相当する部分を検出する検出手段と、
前記ユーザの指先に相当する部分が2つ検出された場合において、その2点間の距離が所定値より小さい場合に、擬似的にボタンが行なわれたと判定する判定手段と、を備える操作判定装置。
Photographing means for photographing a user's hand moved in a three-dimensional space;
Detecting means for detecting a portion corresponding to the fingertip of the user from an image obtained by photographing;
An operation determination device comprising: a determination unit that determines that a button is simulated when two portions corresponding to the fingertip of the user are detected and a distance between the two points is smaller than a predetermined value .
三次元空間中で動かされるユーザの手を撮影する撮影手段と、
撮影により得られた画像から、前記手の像の輪郭を検出する輪郭検出手段と、
前記輪郭から、前記手の指先に相当する部分の画素(以下、「指先画素」と呼ぶ。)を検出する指先検出手段と、
前記指先画素の周囲の画素(以下、「周囲画素」と呼ぶ。)の画素値及び座標を用いて、前記指先検出手段により検出された前記指先画素の座標を小数点精度で補正する補正手段と、を備える指先検出装置。
Photographing means for photographing a user's hand moved in a three-dimensional space;
Contour detecting means for detecting the contour of the hand image from an image obtained by photographing;
Fingertip detection means for detecting a pixel of a part corresponding to the fingertip of the hand (hereinafter referred to as “fingertip pixel”) from the contour;
Correction means for correcting the coordinates of the fingertip pixels detected by the fingertip detection means with decimal point accuracy using pixel values and coordinates of pixels around the fingertip pixels (hereinafter referred to as “peripheral pixels”); A fingertip detection device comprising:
前記補正値算出手段は、前記指先画素及び前記周囲画素の画素値を重みとし、前記指先画素及び前記周囲画素の座標の加重平均を算出し、前記指先画素の座標を補正する、請求項16記載の指先検出装置。   The correction value calculation means calculates the weighted average of the coordinates of the fingertip pixel and the surrounding pixels using the pixel values of the fingertip pixel and the surrounding pixels as weights, and corrects the coordinates of the fingertip pixels. Fingertip detection device. 前記補正値算出手段は、補正後の指先の位置が、前記周囲画素の範囲を超えるように、前記補正を行う、請求項16又は17記載の指先検出装置。   The fingertip detection device according to claim 16 or 17, wherein the correction value calculation means performs the correction so that a corrected fingertip position exceeds a range of the surrounding pixels. 前記補正値算出手段は、前記指先画素及び前記周囲画素の画素値を、前記指先画素及び前記周囲画素の座標への重みとし、重み付けされた前記指先画素及び前記周囲画素の座標の和を算出し、その和を、前記指先画素及び前記周囲画素の画素値のうちの最大値で除することにより、前記指先画素の座標を補正する、請求項16記載の指先検出装置。   The correction value calculating means calculates the sum of the weighted coordinates of the fingertip pixel and the surrounding pixels by using the pixel values of the fingertip pixel and the surrounding pixels as weights to the coordinates of the fingertip pixel and the surrounding pixels. The fingertip detection device according to claim 16, wherein the coordinate of the fingertip pixel is corrected by dividing the sum by a maximum value of pixel values of the fingertip pixel and the surrounding pixels. 前記補正値算出手段は、前記指先画素と前記指先画素の斜め方向に位置する前記周囲画素との間の距離と、前記指先画素と前記指先画素の水平方向又は垂直方向に位置する前記周囲画素との間の距離と、が等しくなるように、前記周囲画素の座標を定義する、請求項16から19のいずれかに記載の指先検出装置。   The correction value calculating means includes a distance between the fingertip pixel and the surrounding pixel located in an oblique direction of the fingertip pixel, and the surrounding pixel located in a horizontal direction or a vertical direction of the fingertip pixel and the fingertip pixel. The fingertip detection device according to any one of claims 16 to 19, wherein the coordinates of the surrounding pixels are defined so that the distance between them is equal. 三次元空間中で動かされるユーザの手を撮影するステップと、
撮影により得られた画像から、前記ユーザの指先に相当する部分を検出するステップと、
検出された前記指先に相当する部分を含む所定範囲を設定するステップと、
前記所定範囲を設定した後、前記指先に相当する部分が消失したか否かを判断するステップと、
消失したか否かを判断する前記ステップが、前記指先に相当する部分が前記所定範囲から消失したと判断した後、前記指先に相当する部分が前記所定範囲に出現したか否かを判断するステップと、
出現したか否かを判断する前記ステップが、前記指先に相当する部分が前記所定範囲に出現したと判断した場合に、クリック操作が行なわれたと判定するステップと、を含む操作判定方法。
Photographing a user's hand moved in three-dimensional space;
Detecting a portion corresponding to the fingertip of the user from an image obtained by photographing;
Setting a predetermined range including a portion corresponding to the detected fingertip;
Determining whether the portion corresponding to the fingertip has disappeared after setting the predetermined range;
The step of determining whether or not the portion corresponding to the fingertip has disappeared from the predetermined range, and then determining whether or not the portion corresponding to the fingertip has appeared in the predetermined range. When,
The step of determining whether or not the operation includes a step of determining that a click operation has been performed when it is determined that a portion corresponding to the fingertip has appeared in the predetermined range.
三次元空間中で動かされるユーザの手を撮影するステップと、
撮影により得られた画像から、前記ユーザの指に相当する部分を検出するステップと、
今回前記ユーザの指に相当する部分が1つ検出された場合において、前回前記ユーザの指に相当する部分が2つ検出されていたとき、擬似的にボタン操作が行なわれたと判定するステップと、を含む操作判定方法。
Photographing a user's hand moved in three-dimensional space;
Detecting a portion corresponding to the user's finger from an image obtained by photographing;
In the case where one portion corresponding to the user's finger is detected this time, when two portions corresponding to the user's finger were detected last time, it is determined that a button operation has been performed in a pseudo manner; Operation determination method including
三次元空間中で動かされるユーザの手を撮影するステップと、
撮影により得られた画像から、前記ユーザの指に相当する部分を検出するステップと、
今回前記ユーザの指に相当する部分が2つ検出された場合において、前回前記ユーザの指に相当する部分が1つ検出されていたとき、擬似的にボタン操作が行なわれたと判定するステップと、を含む操作判定方法。
Photographing a user's hand moved in three-dimensional space;
Detecting a portion corresponding to the user's finger from an image obtained by photographing;
In the case where two portions corresponding to the user's finger are detected this time, when one portion corresponding to the user's finger has been detected last time, it is determined that a pseudo button operation has been performed; Operation determination method including
三次元空間中で動かされるユーザの手を撮影するステップと、
撮影により得られた画像から、前記ユーザの指先に相当する部分を検出するステップと、
前記ユーザの指先に相当する部分が2つ検出された場合において、その2点間の距離が所定値より小さい場合に、擬似的にボタン操作が行なわれたと判定するステップと、を含む操作判定方法。
Photographing a user's hand moved in three-dimensional space;
Detecting a portion corresponding to the fingertip of the user from an image obtained by photographing;
A step of determining that a button operation has been performed in a pseudo manner when two portions corresponding to the fingertip of the user are detected and the distance between the two points is smaller than a predetermined value. .
三次元空間中で動かされるユーザの手を撮影するステップと、
撮影により得られた画像から、前記手の像の輪郭を検出するステップと、
前記輪郭から、前記手の指先に相当する部分の画素(以下、「指先画素」と呼ぶ。)を検出するステップと、
前記指先画素の周囲の画素(以下、「周囲画素」と呼ぶ。)の画素値及び座標を用いて、前記指先画素を検出する前記ステップにより検出された前記指先画素の座標を小数点精度で補正するステップと、を含む指先検出方法。
Photographing a user's hand moved in three-dimensional space;
Detecting an outline of the hand image from an image obtained by photographing;
Detecting a pixel corresponding to the fingertip of the hand (hereinafter referred to as “fingertip pixel”) from the contour;
The coordinates of the fingertip pixel detected by the step of detecting the fingertip pixel are corrected with decimal point accuracy using pixel values and coordinates of pixels around the fingertip pixel (hereinafter referred to as “ambient pixels”). And a fingertip detection method.
請求項21記載の操作判定方法をコンピュータに実行させるためのコンピュータプログラム。   A computer program for causing a computer to execute the operation determination method according to claim 21. 請求項22記載の操作判定方法をコンピュータに実行させるためのコンピュータプログラム。   A computer program for causing a computer to execute the operation determination method according to claim 22. 請求項23記載の操作判定方法をコンピュータに実行させるためのコンピュータプログラム。   A computer program for causing a computer to execute the operation determination method according to claim 23. 請求項24記載の操作判定方法をコンピュータに実行させるためのコンピュータプログラム。   A computer program for causing a computer to execute the operation determination method according to claim 24. 請求項25記載の指先検出方法をコンピュータに実行させるためのコンピュータプログラム。   A computer program for causing a computer to execute the fingertip detection method according to claim 25.
JP2010203748A 2010-09-01 2010-09-10 Operation determination device, fingertip detection device, operation determination method, fingertip detection method, operation determination program, and fingertip detection program Pending JP2012073659A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010203748A JP2012073659A (en) 2010-09-01 2010-09-10 Operation determination device, fingertip detection device, operation determination method, fingertip detection method, operation determination program, and fingertip detection program
PCT/JP2011/069719 WO2012029833A1 (en) 2010-09-01 2011-08-31 Operation assessment device, operation assessment method, and operation assessment program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010195766 2010-09-01
JP2010195766 2010-09-01
JP2010203748A JP2012073659A (en) 2010-09-01 2010-09-10 Operation determination device, fingertip detection device, operation determination method, fingertip detection method, operation determination program, and fingertip detection program

Publications (1)

Publication Number Publication Date
JP2012073659A true JP2012073659A (en) 2012-04-12

Family

ID=46169797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010203748A Pending JP2012073659A (en) 2010-09-01 2010-09-10 Operation determination device, fingertip detection device, operation determination method, fingertip detection method, operation determination program, and fingertip detection program

Country Status (1)

Country Link
JP (1) JP2012073659A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013242889A (en) * 2012-04-26 2013-12-05 Bank Of Tokyo-Mitsubishi Ufj Ltd Information processing device
JP2014182662A (en) * 2013-03-19 2014-09-29 Stanley Electric Co Ltd Operation apparatus and operation method
WO2015037273A1 (en) * 2013-09-12 2015-03-19 三菱電機株式会社 Manipulation input device and method, program, and recording medium
JP2017068317A (en) * 2015-09-28 2017-04-06 富士通株式会社 Generation method, determination method, program, and information processing apparatus
US9652086B2 (en) 2013-07-25 2017-05-16 Hyundai Motor Company Touch point recognition method of touch screen and system performing the same
JPWO2019171635A1 (en) * 2018-03-07 2021-02-12 Necソリューションイノベータ株式会社 Operation input device, operation input method, and program
JP2022125570A (en) * 2021-02-17 2022-08-29 株式会社日立製作所 Pointing object detection device, pointing object detection method, and pointing object detection system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013242889A (en) * 2012-04-26 2013-12-05 Bank Of Tokyo-Mitsubishi Ufj Ltd Information processing device
JP2014182662A (en) * 2013-03-19 2014-09-29 Stanley Electric Co Ltd Operation apparatus and operation method
US9652086B2 (en) 2013-07-25 2017-05-16 Hyundai Motor Company Touch point recognition method of touch screen and system performing the same
WO2015037273A1 (en) * 2013-09-12 2015-03-19 三菱電機株式会社 Manipulation input device and method, program, and recording medium
JP5989251B2 (en) * 2013-09-12 2016-09-07 三菱電機株式会社 Operation input device and method, program, and recording medium
US9939909B2 (en) 2013-09-12 2018-04-10 Mitsubishi Electric Corporation Gesture manipulation device and method, program, and recording medium
JP2017068317A (en) * 2015-09-28 2017-04-06 富士通株式会社 Generation method, determination method, program, and information processing apparatus
JPWO2019171635A1 (en) * 2018-03-07 2021-02-12 Necソリューションイノベータ株式会社 Operation input device, operation input method, and program
JP2022125570A (en) * 2021-02-17 2022-08-29 株式会社日立製作所 Pointing object detection device, pointing object detection method, and pointing object detection system
JP7470069B2 (en) 2021-02-17 2024-04-17 株式会社日立製作所 Pointing object detection device, pointing object detection method, and pointing object detection system

Similar Documents

Publication Publication Date Title
JP2012073659A (en) Operation determination device, fingertip detection device, operation determination method, fingertip detection method, operation determination program, and fingertip detection program
JP2012073658A (en) Computer system
US20240272723A1 (en) Hand gesture input for wearable system
US9207773B1 (en) Two-dimensional method and system enabling three-dimensional user interaction with a device
US8624932B2 (en) Video-based image control system
US8395620B2 (en) Method and system for tracking of a subject
EP2463751A2 (en) Gesture recognition apparatus, gesture recognition method, control program, and recording medium
US9594455B2 (en) Projector and control method
CN109550247A (en) Virtual scene method of adjustment, device, electronic equipment and storage medium in game
EP1900407A2 (en) Storage medium storing a game program, game apparatus, and game controlling method
KR102689863B1 (en) Electronic apparatus and method for controlling thereof
WO2013103410A1 (en) Imaging surround systems for touch-free display control
JP2009148466A (en) GAME PROGRAM AND GAME DEVICE
US12361660B2 (en) Information processing apparatus, information processing method, and program
JP6618276B2 (en) Information processing apparatus, control method therefor, program, and storage medium
US11833421B2 (en) Program, game control method, and information processing apparatus
KR20120068253A (en) Method and apparatus for providing response of user interface
WO2003079179A1 (en) Motion mouse system
JP5510907B2 (en) Touch position input device and touch position input method
US10606342B2 (en) Handsfree user input method for controlling an immersive virtual environment application
US20180173302A1 (en) Virtual space moving apparatus and method
JP5945297B2 (en) GAME PROGRAM AND GAME DEVICE
KR102410654B1 (en) Input Device For Virtual Reality And Augmented Reality
WO2012029833A1 (en) Operation assessment device, operation assessment method, and operation assessment program
CN113467625B (en) Control device, helmet and interaction method for virtual reality