Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7209495B2 - Image processing device, image processing method - Google Patents
[go: Go Back, main page]

JP7209495B2 - Image processing device, image processing method - Google Patents

Image processing device, image processing method Download PDF

Info

Publication number
JP7209495B2
JP7209495B2 JP2018160599A JP2018160599A JP7209495B2 JP 7209495 B2 JP7209495 B2 JP 7209495B2 JP 2018160599 A JP2018160599 A JP 2018160599A JP 2018160599 A JP2018160599 A JP 2018160599A JP 7209495 B2 JP7209495 B2 JP 7209495B2
Authority
JP
Japan
Prior art keywords
point
image
points
image processing
contour
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.)
Active
Application number
JP2018160599A
Other languages
Japanese (ja)
Other versions
JP2019046472A (en
Inventor
貴文 渡辺
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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of JP2019046472A publication Critical patent/JP2019046472A/en
Application granted granted Critical
Publication of JP7209495B2 publication Critical patent/JP7209495B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating three-dimensional [3D] models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Psychiatry (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、複合現実感を提示するための技術に関するものである。 The present invention relates to technology for presenting mixed reality.

近年、現実空間と仮想空間とのつなぎ目のない結合を目的とした、複合現実感(Mixed Reality:MR)システムの研究が盛んに行われている。これらのシステムにおいて提示を行う画像表示装置としては、たとえば、頭部装着型ディスプレイ(Head Mount Display:HMD)を用いることができる。MRシステム研究の進展に伴い、特許文献1や非特許文献1のように現実物体と仮想物体との合成を目的とした、マスキング技術も提案されている。 2. Description of the Related Art In recent years, much research has been conducted on a mixed reality (MR) system for the purpose of seamlessly connecting a real space and a virtual space. As an image display device for presentation in these systems, for example, a head mounted display (HMD) can be used. With the progress of MR system research, masking techniques have also been proposed for the purpose of synthesizing a real object and a virtual object, as in Patent Document 1 and Non-Patent Document 1.

さらに、HMD装着者の視界が覆われて操作スイッチが視認できないという問題を解決するために、マスキング技術を用いてユーザの手など身体の一部を検出し、仮想オブジェクトを操作するジェスチャ操作技術の開発も進められている。特許文献2では、物体の動きを検知する検知部によって、表示要素に対応したユーザの身体の一部の所定の動きを検知し、処理を起動させる技術が公開されている。特許文献3では、仮想パネルを奥行き方向に積層配置し、手の奥行き方向位置及び動作を検知して、複数の仮想パネルから所定のパネルを選択する技術が公開されている。 Furthermore, in order to solve the problem that the HMD wearer's field of vision is covered and the operation switches cannot be seen, masking technology is used to detect a part of the user's body such as the user's hand, and gesture operation technology that manipulates virtual objects has been developed. Development is also underway. Japanese Patent Laid-Open No. 2002-200003 discloses a technique for detecting a predetermined movement of a part of the user's body corresponding to a display element by a detection unit that detects movement of an object, and activating processing. Japanese Patent Application Laid-Open No. 2002-200001 discloses a technique of stacking virtual panels in the depth direction, detecting the depth direction position and movement of a hand, and selecting a predetermined panel from a plurality of virtual panels.

特開2002-157606号Japanese Patent Application Laid-Open No. 2002-157606 特開平8-6708号JP-A-8-6708 特許第5262681号Patent No. 5262681

林建一,加藤博一,西田正吾,“境界線ベースステレオマッチングを用いた実物体と仮想物体の前後判定”,日本バーチャルリアリティ学会論文誌,Vol.10,No.3,pp.371-380,2005.Kenichi Hayashi, Hirokazu Kato, Shogo Nishida, “Front/back determination of real and virtual objects using boundary line-based stereo matching”, Transactions of the Virtual Reality Society of Japan, Vol. 10, No. 3, pp. 371-380, 2005.

特許文献1、特許文献2の方法は、手や指の認識処理を実施したうえで、手や指の動作を判断するため、MRシステムに求められるリアルタイムな応答を限られた計算資源のなかで実施することが困難な場合がある。また手や指の認識を前提とするため、手や指の形状認識が不安定な状況下では、操作が困難となる。 In the methods of Patent Documents 1 and 2, hand and finger recognition processing is performed and then hand and finger motions are determined. May be difficult to implement. In addition, since recognition of hands and fingers is assumed, operation becomes difficult under conditions in which shape recognition of hands and fingers is unstable.

本発明はこのような問題に鑑みてなされたものであり、画像中の対象物体をより簡便且つ安定的に検出し、該検出した対象物体に基づく処理の実行を実現するための技術を提供する。 The present invention has been made in view of such problems, and provides a technique for detecting a target object in an image more simply and stably and executing processing based on the detected target object. .

本発明の一様態は、撮像部を有する頭部装着型表示装置に対して画像を出力する画像処理装置であって、
前記撮像部により撮像された撮像画像中の対象物体の輪郭を構成する点群のうち、規定の条件を満たす点を操作点として選択する選択手段と、
前記操作点に基づいて処理を実行する処理手段と
を備え
前記選択手段は、前記点群のうち前記頭部装着型表示装置の視野において最も上側に位置する点を前記操作点として選択することを特徴とする。
One aspect of the present invention is an image processing device that outputs an image to a head-mounted display device having an imaging unit,
a selection means for selecting, as an operation point, a point that satisfies a prescribed condition from among a group of points forming the contour of the target object in the captured image captured by the imaging unit;
and processing means for executing processing based on the operating point ,
The selection means selects, as the operation point, the uppermost point in the visual field of the head-mounted display device from the point group .

本発明の構成によれば、画像中の対象物体をより簡便且つ安定的に検出し、該検出した対象物体に基づく処理の実行を実現することができる。 According to the configuration of the present invention, it is possible to more easily and stably detect a target object in an image, and execute processing based on the detected target object.

システムの構成例を示すブロック図。FIG. 2 is a block diagram showing a system configuration example; 情報処理装置1000が行う処理のフローチャート。4 is a flowchart of processing performed by the information processing apparatus 1000; 図2のフローチャートに従った処理を説明する図。FIG. 3 is a diagram for explaining processing according to the flowchart of FIG. 2; 情報処理装置1000が行う処理のフローチャート。4 is a flowchart of processing performed by the information processing apparatus 1000; 図4のフローチャートに従った処理を説明する図。FIG. 5 is a view for explaining processing according to the flowchart of FIG. 4; 情報処理装置1000が行う処理のフローチャート。4 is a flowchart of processing performed by the information processing apparatus 1000; 図6のフローチャートに従った処理を説明する図。FIG. 7 is a diagram for explaining processing according to the flowchart of FIG. 6; 情報処理装置1000が行う処理のフローチャート。4 is a flowchart of processing performed by the information processing apparatus 1000; 図8のフローチャートに従った処理を説明する図。FIG. 9 is a diagram for explaining processing according to the flowchart of FIG. 8; 情報処理装置1000が行う処理のフローチャート。4 is a flowchart of processing performed by the information processing apparatus 1000; 図10のフローチャートに従った処理を説明する図。FIG. 11 is a diagram for explaining processing according to the flowchart of FIG. 10; 情報処理装置1000が行う処理のフローチャート。4 is a flowchart of processing performed by the information processing apparatus 1000; 図12のフローチャートに従った処理を説明する図。FIG. 13 is a diagram for explaining processing according to the flowchart of FIG. 12; 情報処理装置1000が行う処理のフローチャート。4 is a flowchart of processing performed by the information processing apparatus 1000; 図14のフローチャートに従った処理を説明する図。FIG. 15 is a diagram for explaining processing according to the flowchart of FIG. 14; コンピュータ装置のハードウェア構成例を示すブロック図。FIG. 2 is a block diagram showing a hardware configuration example of a computer device; システムの構成例を示すブロック図。FIG. 2 is a block diagram showing a system configuration example; 情報処理装置1000が行う処理のフローチャート。4 is a flowchart of processing performed by the information processing apparatus 1000; 図18のフローチャートに従った処理を説明する図。FIG. 19 is a diagram for explaining processing according to the flowchart of FIG. 18; 情報処理装置1000が行う処理のフローチャート。4 is a flowchart of processing performed by the information processing apparatus 1000; 図20のフローチャートに従った処理を説明する図。FIG. 21 is a diagram for explaining processing according to the flowchart of FIG. 20;

以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の1つである。 BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. It should be noted that the embodiment described below is an example of a specific implementation of the present invention, and is one of specific examples of the configuration described in the claims.

[第1の実施形態]
先ず、本実施形態に係るシステムの構成例について、図1のブロック図を用いて説明する。図1に示す如く、本実施形態に係るシステムは、PC(パーソナルコンピュータ)やタブレット端末装置などのコンピュータ装置である情報処理装置1000と、頭部装着型表示装置の一例としてのHMD1100と、を有する。情報処理装置1000とHMD1100との間は、互いにデータ通信が可能なように接続されており、例えば、LANやインターネットなどのネットワークを介して接続されている。なお、情報処理装置1000とHMD1100との間の接続形態については特定の接続形態に限らず、例えば、無線であっても良いし有線であっても良い。
[First Embodiment]
First, a configuration example of a system according to this embodiment will be described using the block diagram of FIG. As shown in FIG. 1, the system according to the present embodiment includes an information processing device 1000, which is a computer device such as a PC (personal computer) or a tablet terminal device, and an HMD 1100 as an example of a head-mounted display device. . The information processing apparatus 1000 and the HMD 1100 are connected so as to be able to perform data communication with each other, for example, via a network such as a LAN or the Internet. Note that the form of connection between the information processing apparatus 1000 and the HMD 1100 is not limited to a specific form of connection, and may be, for example, wireless or wired.

先ず、HMD1100について説明する。撮像部1110はHMD1100を頭部に装着したユーザの左眼に提供する現実空間の画像(左眼用画像)を撮像する為の左眼用撮像部(左視点)と、該ユーザの右眼に提供する現実空間の画像(右眼用画像)を撮像する為の右眼用撮像部(右視点)と、を有する。左眼用撮像部及び右眼用撮像部のそれぞれは静止画像を撮像する撮像部であっても良いし、動画像を撮像する撮像部であっても良い。そして撮像部1110は、左眼用撮像部により撮像された左眼用画像と右眼用撮像部により撮像された右眼用画像とのセットをスレテオ画像として情報処理装置1000に送出する(つまりステレオ画像は、静止画像であっても良いし、動画像であっても良い)。 First, the HMD 1100 will be explained. The image capturing unit 1110 includes a left eye image capturing unit (left viewpoint) for capturing a real space image (left eye image) to be provided to the left eye of the user wearing the HMD 1100 on the head, and and a right-eye imaging unit (right viewpoint) for capturing an image of the physical space to be provided (right-eye image). Each of the left-eye imaging section and the right-eye imaging section may be an imaging section that captures a still image, or may be an imaging section that captures a moving image. Then, the imaging unit 1110 transmits a set of the left-eye image captured by the left-eye imaging unit and the right-eye image captured by the right-eye imaging unit to the information processing apparatus 1000 as a stereo image (that is, a stereo image). The image may be a still image or a moving image).

表示部1120は、HMD1100を頭部に装着したユーザの左眼に画像や文字を提供するための左眼用表示部と、該ユーザの右眼に画像や文字を提供するための右眼用表示部と、を有する。左眼用表示部及び右眼用表示部はそれぞれ、HMD1100を頭部に装着したユーザの左眼及び右眼の眼前に位置するようにHMD1100に取り付けられたものであり、情報処理装置1000から送出された画像や文字を表示する。 The display unit 1120 includes a left-eye display unit for providing images and characters to the left eye of the user wearing the HMD 1100 on the head, and a right-eye display unit for providing images and characters to the right eye of the user. and The display unit for the left eye and the display unit for the right eye are attached to the HMD 1100 so as to be positioned in front of the left and right eyes of the user wearing the HMD 1100 on the head, respectively. display the image or text that has been displayed.

次に、情報処理装置1000について説明する。情報処理装置1000は、後述する各処理を実行可能な画像処理装置として機能する装置である。取得部1010は、撮像部1110から送出されたステレオ画像を受信する。輪郭生成部1020は、取得部1010が受信したステレオ画像中(撮像画像中)に写っている対象物体(人の手など、何らかの操作を行うためにユーザが利用する現実物体)の輪郭線を構成する各点の3次元位置を求める。 Next, the information processing device 1000 will be described. The information processing device 1000 is a device that functions as an image processing device capable of executing each process described later. Acquisition unit 1010 receives the stereo image sent from imaging unit 1110 . The contour generation unit 1020 forms the contour of a target object (a real object such as a human hand that the user uses to perform some operation) shown in the stereo image (in the captured image) received by the acquisition unit 1010. Find the 3D position of each point.

計測部1030は、取得部1010が受信した左眼用画像を用いて、世界座標系(現実空間中の1点を原点とし、該原点で互いに直交する3軸をそれぞれ、x軸、y軸、z軸とする座標系)における左視点の位置姿勢を求める。更に計測部1030は、取得部1010が受信した右眼用画像を用いて、世界座標系における右視点の位置姿勢を求める。例えば、計測部1030は、画像中に写っている特徴点(現実空間中に人が意図的に配置したマーカ、現実空間中に元来存在する自然特徴等)に基づいて、該画像を撮像した撮像部の位置姿勢を算出する。なお、世界座標系における撮像部の位置姿勢を取得するための方法には様々な方法があり、特定の方法に限らない。例えば、撮像部(左眼用撮像部及び右眼用撮像部)に対する相対的な位置姿勢が既知のセンサをHMD1100に取り付け、該センサによる計測値を該相対的な位置姿勢に基づいて変換することで、世界座標系における撮像部の位置姿勢を求めるようにしても良い。また、モーションキャプチャシステムを利用する方法、撮像画像を用いたSimultaneous Localization and Mapping(SLAM)を利用する方法等により世界座標系における撮像部の位置姿勢を求めても良い。 Using the image for the left eye received by the acquisition unit 1010, the measurement unit 1030 sets the world coordinate system (one point in the physical space as the origin, and the three axes orthogonal to each other at the origin as the x-axis, the y-axis, and the y-axis). The position and orientation of the left viewpoint in the coordinate system with the z-axis is obtained. Further, the measurement unit 1030 uses the right-eye image received by the acquisition unit 1010 to obtain the position and orientation of the right viewpoint in the world coordinate system. For example, the measurement unit 1030 captures the image based on feature points (markers intentionally placed by a person in the real space, natural features that originally exist in the real space, etc.) appearing in the image. Calculate the position and orientation of the imaging unit. Note that there are various methods for acquiring the position and orientation of the imaging unit in the world coordinate system, and the method is not limited to a specific method. For example, a sensor whose position and orientation relative to the imaging units (left-eye imaging unit and right-eye imaging unit) are known is attached to the HMD 1100, and the measured value by the sensor is converted based on the relative position and orientation. , the position and orientation of the imaging unit in the world coordinate system may be obtained. Alternatively, the position and orientation of the imaging unit in the world coordinate system may be obtained by a method using a motion capture system, a method using Simultaneous Localization and Mapping (SLAM) using captured images, or the like.

操作点算出部1040は、上記の輪郭線を構成する各点のうち、規定の条件を満たす点を操作点として選択する。本実施形態では操作点算出部1040は、上記の輪郭線を構成する各点のうち、Row方向において最も画像の上側に位置する点を操作点として選択する。 The operating point calculation unit 1040 selects, as operating points, points that satisfy a prescribed condition from among the points that form the contour line. In the present embodiment, the operating point calculation unit 1040 selects, as an operating point, the point located on the uppermost side of the image in the row direction among the points forming the contour line.

信号生成部1050は、操作点の3次元位置や動き、規定の仮想物体に対する相対的な操作点の位置や動き、等に基づいて、規定の処理を実行するためのトリガとなる信号を生成して信号処理部1070に対して送出する。本実施形態では、操作点の位置に配置するポインタがボタン(仮想物体)における規定の部分と接触した場合には、ボタンが押下されたと判断し、規定の処理を実行するためのトリガとなる信号を生成して信号処理部1070に送出する。しかし、規定の処理を実行するためのトリガとなる信号を生成するための条件は特定の条件に限らない。例えば操作点の時系列的な3次元位置(絶対位置でも良いし規定の仮想物体に対する相対的な3次元位置でも良い)の変化を規定のジェスチャとして認識した場合、規定の処理を実行するためのトリガとなる信号を生成して信号処理部1070に送出しても良い。信号処理部1070は、信号生成部1050から送出された信号に対応する処理を実行する。 The signal generator 1050 generates a trigger signal for executing prescribed processing based on the three-dimensional position and movement of the operating point, the position and movement of the operating point relative to the prescribed virtual object, and the like. and sent to the signal processing unit 1070 . In this embodiment, when the pointer placed at the position of the operation point touches a prescribed portion of the button (virtual object), it is determined that the button has been pressed, and a signal serving as a trigger for executing prescribed processing. is generated and sent to the signal processing unit 1070 . However, the conditions for generating a trigger signal for executing prescribed processing are not limited to specific conditions. For example, when recognizing a change in the time-series 3D position of an operating point (either an absolute position or a 3D position relative to a specified virtual object) as a specified gesture, A trigger signal may be generated and sent to the signal processing unit 1070 . Signal processing section 1070 executes processing corresponding to the signal sent from signal generating section 1050 .

保持部1060は、仮想空間中に配置する各仮想物体(CGモデル)の描画データが保持されている。仮想物体の描画データとは、仮想物体を描画するために必要なデータである。例えば仮想物体をポリゴンで構成する場合、該仮想物体の描画データには、ポリゴンの色や材質や法線ベクトル、ポリゴンを構成する各頂点の3次元位置、ポリゴンにマッピングするテクスチャ、仮想物体の世界座標系における位置姿勢等のデータが含まれている。仮想空間中に配置する仮想物体には、操作点の3次元位置をユーザに視認させるために該操作点の3次元位置に配置するポインタ、上記のボタン、が含まれている。 The holding unit 1060 holds drawing data of each virtual object (CG model) placed in the virtual space. The drawing data of the virtual object is data necessary for drawing the virtual object. For example, when a virtual object is composed of polygons, the rendering data of the virtual object includes the color, material, and normal vector of the polygon, the three-dimensional position of each vertex that constitutes the polygon, the texture mapped to the polygon, and the world of the virtual object. It contains data such as position and orientation in the coordinate system. The virtual object placed in the virtual space includes a pointer placed at the three-dimensional position of the operation point to allow the user to visually recognize the three-dimensional position of the operation point, and the button described above.

CG生成部1080は、保持部1060に保持されているそれぞれの仮想物体の描画データを用いて、仮想物体を構築して仮想空間中に配置する。そしてCG生成部1080は、計測部1030が求めた世界座標系における左視点の位置姿勢に基づき、該左視点から見た仮想空間の画像(左眼用の仮想空間画像)を生成する。更にCG生成部1080は、計測部1030が求めた世界座標系における右視点の位置姿勢に基づき、該右視点から見た仮想空間の画像(右眼用の仮想空間画像)を生成する。規定の位置姿勢を有する視点から見た仮想空間の画像を生成するための技術については周知であるため、この技術に係る説明は省略する。 The CG generation unit 1080 uses the drawing data of each virtual object held in the holding unit 1060 to construct a virtual object and place it in the virtual space. Based on the position and orientation of the left viewpoint in the world coordinate system obtained by the measurement unit 1030, the CG generation unit 1080 generates an image of the virtual space seen from the left viewpoint (virtual space image for the left eye). Furthermore, the CG generation unit 1080 generates a virtual space image (right eye virtual space image) viewed from the right viewpoint based on the position and orientation of the right viewpoint in the world coordinate system obtained by the measurement unit 1030 . Techniques for generating an image of a virtual space viewed from a viewpoint having a prescribed position and orientation are well known, and therefore descriptions of these techniques will be omitted.

合成部1090は、取得部1010が受信した左眼用画像に左眼用の仮想空間画像を重畳させた合成画像を左眼用の複合現実空間画像として生成する。更に合成部1090は、取得部1010が受信した右眼用画像に右眼用の仮想空間画像を重畳させた合成画像を右眼用の複合現実空間画像として生成する。このとき、左眼用画像及び右眼用画像のそれぞれにおいて対象物体が写っている画像領域の一部若しくは全部に仮想空間画像を重畳させる場合には、対象物体と仮想物体との奥行きを考慮して、物体同士の隠蔽関係を整合させる。つまり、対象物体の画像領域において該対象物体よりも視点に近い仮想物体が重なった部分領域については仮想空間画像の重畳を許可する。一方、対象物体の画像領域において該対象物体よりも視点から遠い仮想物体が被った部分領域については仮想空間画像の重畳を禁止する。 The synthesizing unit 1090 generates a synthetic image obtained by superimposing the virtual space image for the left eye on the image for the left eye received by the acquiring unit 1010 as the mixed reality space image for the left eye. Further, the synthesizing unit 1090 generates a synthesized image by superimposing the virtual space image for the right eye on the image for the right eye received by the acquiring unit 1010 as the mixed reality space image for the right eye. At this time, when the virtual space image is superimposed on part or all of the image area in which the target object is shown in each of the image for the left eye and the image for the right eye, the depth between the target object and the virtual object should be considered. to match the obscurance relationships between objects. In other words, superimposition of a virtual space image is permitted for a partial area in which a virtual object closer to the viewpoint than the target object overlaps in the image area of the target object. On the other hand, superimposition of a virtual space image is prohibited for a partial area covered by a virtual object farther from the viewpoint than the target object in the image area of the target object.

そして合成部1090は、左眼用の複合現実空間の画像を、HMD1100の表示部1120が有する左眼用表示部に送出すると共に、右眼用の複合現実空間の画像を、HMD1100の表示部1120が有する右眼用表示部に送出する。 The synthesizing unit 1090 sends the left-eye mixed reality space image to the left-eye display unit of the display unit 1120 of the HMD 1100 , and sends the right-eye mixed reality space image to the display unit 1120 of the HMD 1100 . is sent to the display unit for the right eye.

次に、情報処理装置1000が1フレーム分の複合現実空間画像(左眼用の複合現実空間画像及び右眼用の複合現実空間画像)を生成して表示部1120に対して出力するために行う処理について、図2のフローチャートに従って説明する。なお、図2のフローチャートに従った処理を繰り返して行うことで、複数フレームの複合現実空間画像を生成してHMD1100に対して送出することができる。 Next, the information processing apparatus 1000 generates a mixed reality space image for one frame (a mixed reality space image for the left eye and a mixed reality space image for the right eye) and outputs the mixed reality space image to the display unit 1120 . Processing will be described according to the flowchart of FIG. By repeatedly performing the processing according to the flowchart of FIG. 2, it is possible to generate multiple frames of mixed reality space images and send them to the HMD 1100 .

ステップS2000では、取得部1010は、撮像部1110から送出されたステレオ画像を受信する。ステップS2100では、輪郭生成部1020は、ステレオ画像に含まれている左眼用画像及び右眼用画像のそれぞれから、該画像上における対象物体の輪郭線(2次元輪郭線)を抽出する。例えば、図3(A)に示す如く、対象物体としての人の手3010を含む画像3000から手3010の2次元輪郭線を抽出する場合、あらかじめ手を撮像した撮像画像から該手の画像領域内の色情報を抽出してテーブルに登録しておく。色情報は、RGBであっても良いし、YCbCrの輝度と色味情報で表現してもよい。2次元輪郭線を取得するための方法はこれに限定されず、グラフカットや機械学習などを利用したセグメンテーション手法を用いてよい。そして、図3(B)に示す如く、画像3000から、テーブルに登録しておいた色情報を有する画像領域の輪郭線3020を、手3010の2次元輪郭線として抽出する。 In step S<b>2000 , acquisition section 1010 receives the stereo image sent from imaging section 1110 . In step S2100, contour generation section 1020 extracts the contour lines (two-dimensional contour lines) of the target object on each of the left-eye image and the right-eye image included in the stereo image. For example, as shown in FIG. 3A, when extracting a two-dimensional contour line of a hand 3010 from an image 3000 including a human hand 3010 as a target object, the image area of the hand is extracted from the captured image of the hand in advance. is extracted and registered in the table. The color information may be RGB, or may be represented by YCbCr luminance and tint information. The method for acquiring the two-dimensional outline is not limited to this, and a segmentation method using graph cutting, machine learning, or the like may be used. Then, as shown in FIG. 3B, the outline 3020 of the image area having the color information registered in the table is extracted as the two-dimensional outline of the hand 3010 from the image 3000 .

ステップS2200では、輪郭生成部1020は、左眼用画像から抽出した2次元輪郭線と右眼用画像から抽出した2次元輪郭線とでマッチングをとることで、対象物体の3次元輪郭線を生成する。3次元輪郭線の生成方法は特定の方法に限らず、例えば、非特許文献1に開示されている方法を適用することができる。すなわち、ステレオ画像に含まれている左眼用画像及び右眼用画像のうち一方の画像上の2次元輪郭線上のサンプリング点に対応するエピポーラ線を他方の画像上に投影し、エピポーラ線と2次元輪郭線とが交わる点を対応点とする。この2次元輪郭線上のサンプリング点を複数決定し、2次元輪郭線上に複数の対応点を求める。そして、2次元輪郭線上にある複数の対応点のそれぞれの奥行き値を、三角測量によって算出する。 In step S2200, contour generating section 1020 generates a 3D contour of the target object by matching the 2D contour extracted from the image for left eye and the 2D contour extracted from the image for right eye. do. The method of generating the three-dimensional outline is not limited to a specific method, and for example, the method disclosed in Non-Patent Document 1 can be applied. That is, the epipolar line corresponding to the sampling points on the two-dimensional contour line on one of the images for the left eye and the image for the right eye included in the stereo image is projected onto the other image. A point at which the dimensional contour line intersects is defined as a corresponding point. A plurality of sampling points on the two-dimensional contour are determined to obtain a plurality of corresponding points on the two-dimensional contour. Then, the depth value of each of the plurality of corresponding points on the two-dimensional contour is calculated by triangulation.

次に、ステップS2300では、操作点算出部1040は、対応点を取得した画像において、Row方向において最も上側の座標値を有する対応点を操作点として選択する。例えば図3(C)に示す如く、図3(B)の輪郭線3020に対応する3次元輪郭線3030上の対応点(「○」で示している)のうち、Row方向において最も上側の座標値を有する対応点3040を操作点として選択する。なお、操作点を得る実空間オブジェクトが複数存在する場合に、操作点を抽出するための1つの実空間オブジェクトを選択してもよい。 Next, in step S2300, operating point calculation section 1040 selects, as an operating point, the corresponding point having the uppermost coordinate value in the row direction in the image from which the corresponding points have been acquired. For example, as shown in FIG. 3C, among the corresponding points (indicated by "○") on the three-dimensional contour 3030 corresponding to the contour 3020 in FIG. A corresponding point 3040 with a value is selected as the operating point. Note that if there are a plurality of real space objects from which the operating points are obtained, one real space object may be selected for extracting the operating points.

本実施形態では、複数の実空間オブジェクトから得られた複数の3次元輪郭において、操作点3040の算出と同様の方法によって得られる特徴点のうち、取得画像でRow方向において最も上に存在する特徴点が属する3次元輪郭を選択する。操作点を抽出するために1つの実空間オブジェクトを選択する方法では、この他に、3次元輪郭によって形成される3次元曲面の面積や、重心点の位置、3次元輪郭の頂点数や頂点群の平均位置などのさまざまな特徴を利用してよい。 In this embodiment, among a plurality of three-dimensional contours obtained from a plurality of real space objects, among the feature points obtained by the same method as the calculation of the operating point 3040, the uppermost feature in the row direction in the acquired image Select the 3D contour to which the point belongs. In the method of selecting one real space object for extracting operation points, in addition to this, the area of the three-dimensional curved surface formed by the three-dimensional contour, the position of the center of gravity, the number of vertices of the three-dimensional contour, and the vertex group Various features may be used, such as the average position of .

ステップS2400では、操作点算出部1040は、操作点の3次元位置、即ち、対応点を取得した画像を撮像した撮像部の位置姿勢を基準とする座標系における3次元位置を、該撮像部の位置姿勢に基づいて、世界座標系における3次元位置に変換する。 In step S2400, operation point calculation section 1040 calculates the three-dimensional position of the operation point, that is, the three-dimensional position in a coordinate system based on the position and orientation of the imaging section that captured the image that acquired the corresponding points. Based on the position and orientation, it is transformed into a three-dimensional position in the world coordinate system.

ステップS2500では、計測部1030は、左眼用画像を用いて世界座標系における左視点の位置姿勢を求めると共に、右眼用画像を用いて世界座標系における右視点の位置姿勢を求める。そしてCG生成部1080は、保持部1060に保持されているそれぞれの仮想物体の描画データを用いて、仮想物体を構築して仮想空間中に配置する。 In step S2500, measurement section 1030 uses the left-eye image to obtain the position and orientation of the left viewpoint in the world coordinate system, and uses the right-eye image to obtain the position and orientation of the right viewpoint in the world coordinate system. Then, the CG generation unit 1080 uses the drawing data of each virtual object held in the holding unit 1060 to construct a virtual object and place it in the virtual space.

その際、CG生成部1080は、世界座標系における操作点の3次元位置にポインタを配置する。ポインタとして用いる仮想物体は特定の仮想物体に限らない。更にCG生成部1080は、上記のボタンを規定の位置姿勢でもって仮想空間中に配置する。そしてCG生成部1080は、左視点から見た仮想空間の画像(左眼用の仮想空間画像)を生成すると共に、右視点から見た仮想空間の画像(右眼用の仮想空間画像)を生成する。 At that time, the CG generation unit 1080 places a pointer at the three-dimensional position of the operating point in the world coordinate system. A virtual object used as a pointer is not limited to a specific virtual object. Furthermore, the CG generation unit 1080 arranges the above buttons in the virtual space with a prescribed position and orientation. The CG generation unit 1080 generates an image of the virtual space viewed from the left viewpoint (virtual space image for the left eye), and generates an image of the virtual space viewed from the right viewpoint (virtual space image for the right eye). do.

ステップS2600では、合成部1090は、左眼用画像に左眼用の仮想空間画像を重畳させた合成画像を左眼用の複合現実空間画像として生成する。更に合成部1090は、右眼用画像に右眼用の仮想空間画像を重畳させた合成画像を右眼用の複合現実空間画像として生成する。これにより、例えば、図3(D)に示す如く、画像3000上における対応点3040の位置にポインタ3050を重畳させることができる。 In step S2600, synthesizing section 1090 generates, as a left-eye mixed reality space image, a synthesized image in which a left-eye virtual space image is superimposed on a left-eye image. Further, the synthesizing unit 1090 generates a synthetic image obtained by superimposing the virtual space image for the right eye on the image for the right eye as the mixed reality space image for the right eye. Thereby, for example, as shown in FIG. 3D, a pointer 3050 can be superimposed on the position of the corresponding point 3040 on the image 3000.

ステップS2700では、合成部1090は、左眼用の複合現実空間の画像を、HMD1100の表示部1120が有する左眼用表示部に送出すると共に、右眼用の複合現実空間の画像を、HMD1100の表示部1120が有する右眼用表示部に送出する。 In step S<b>2700 , synthesizing section 1090 outputs the left-eye mixed reality space image to the left-eye display section of display section 1120 of HMD 1100 , and transmits the right-eye mixed reality space image to HMD 1100 . It is sent to the right-eye display unit of the display unit 1120 .

次に、操作点とボタンとの接触判定処理について、図4のフローチャートに従って説明する。なお、図4のフローチャートに従った処理は、図2のフローチャートに従った処理の一部として行っても良いし、別のスレッドとして行っても良い。 Next, contact determination processing between an operation point and a button will be described with reference to the flowchart of FIG. The processing according to the flowchart of FIG. 4 may be performed as part of the processing according to the flowchart of FIG. 2, or may be performed as a separate thread.

ステップS4100では、信号生成部1050は、操作点の3次元位置に配置したポインタとボタンとが接触したか否かを判断する。ポインタとボタンとの接触判定方法には様々な方法が適用可能である。例えば、図5に示す如く、前フレームのポインタ3050の3次元位置と現フレームのポインタ3050の3次元位置とを結ぶ線分がボタン5100を構成する何れかのポリゴンと交差する場合には、ポインタ3050とボタン5100とが接触したと判断する。また、ポインタ3050の位置を含む3次元領域を設定し、該3次元領域を構成する面や線分が、ボタン5100を構成する何れかのポリゴンと交差する場合には、ポインタ3050とボタン5100とが接触したと判断する。 In step S4100, signal generation section 1050 determines whether or not the pointer placed at the three-dimensional position of the operation point has come into contact with the button. Various methods can be applied to the contact determination method between the pointer and the button. For example, as shown in FIG. 5, when a line segment connecting the three-dimensional position of the pointer 3050 in the previous frame and the three-dimensional position of the pointer 3050 in the current frame intersects with any of the polygons forming the button 5100, the pointer It is determined that 3050 and button 5100 have come into contact. In addition, when a three-dimensional area including the position of the pointer 3050 is set, and a plane or line segment making up the three-dimensional area intersects with any of the polygons making up the button 5100, the pointer 3050 and the button 5100 is determined to have come into contact with

このような判断の結果、ポインタとボタンとが接触したと判断した場合には、処理はステップS4200に進み、接触したと判断していない場合には、処理はステップS4100に戻る。 As a result of such determination, if it is determined that the pointer and the button have come into contact with each other, the process proceeds to step S4200; otherwise, the process returns to step S4100.

ステップS4200では、信号生成部1050は、ボタンが押下された場合に実行する処理として予め設定された処理を実行するための信号を生成し、該生成した信号を信号処理部1070に対して送出する。ステップS4300では、信号処理部1070は、信号生成部1050から受けた信号に対応する処理を実行する。 In step S4200, signal generating section 1050 generates a signal for executing a process preset as a process to be executed when a button is pressed, and sends the generated signal to signal processing section 1070. . In step S 4300 , signal processing section 1070 executes processing corresponding to the signal received from signal generating section 1050 .

[第2の実施形態]
本実施形態を含め、以下では、第1の実施形態との差分について説明し、以下で特に触れない限りは、第1の実施形態と同様であるものとする。第1の実施形態では、選択する操作点の数を1としていたが、選択する操作点の数は2以上であっても良い。選択可能な操作点の数を2以上とし、それぞれの操作点について、該操作点の位置や動きに応じた処理を実行可能とすることで、対象物体による操作の種類を第1の実施形態よりも増加させることができる。本実施形態では、図2のフローチャートにおいて、上記のステップS2100~S2500の代わりに図6のフローチャートに従った処理を行う。
[Second embodiment]
Differences from the first embodiment, including this embodiment, will be described below, and the same as the first embodiment unless otherwise specified. Although the number of operation points to be selected is one in the first embodiment, the number of operation points to be selected may be two or more. By setting the number of selectable operation points to two or more, and making it possible to execute processing according to the position and movement of each operation point for each operation point, the type of operation by the target object can be changed from the first embodiment. can also be increased. In this embodiment, in the flowchart of FIG. 2, the process according to the flowchart of FIG. 6 is performed instead of the above steps S2100 to S2500.

ステップS6100では、輪郭生成部1020は、ステレオ画像に含まれている左眼用画像及び右眼用画像のそれぞれから、該画像上における対象物体の画像領域を抽出する。例えば、図7(A)に示す如く、対象物体としての人の手3010a及び3010bを含む画像7000から、手3010a及び3010bのそれぞれの画像領域を抽出する。手の画像領域の抽出方法については、上記のステップS2100と同様、予め登録しておいた手の色情報を有する画像領域を抽出する。 In step S6100, contour generation section 1020 extracts the image area of the target object on each of the left-eye image and the right-eye image included in the stereo image. For example, as shown in FIG. 7A, image regions of hands 3010a and 3010b are extracted from an image 7000 including human hands 3010a and 3010b as target objects. As for the method of extracting the hand image area, an image area having pre-registered hand color information is extracted in the same manner as in step S2100 described above.

ステップS6200では、輪郭生成部1020は、手の色情報を有する画素が複数存在する場合には、それぞれの画素についてラベリング処理を行う。ステップS6100で手の色情報を有する画素として抽出した抽出画素同士が隣接している場合に、これらの画素に同一のラベルを付与する。図7(A)の画像7000に対してラベリング処理を行うことで、図7(B)に示す如く、手3010aの画像領域7010に属する各画素にはラベルAが付与され、手3010bの画像領域7020に属する各画素にはラベルAとは異なるラベルBが付与される。 In step S6200, contour generation section 1020 performs labeling processing on each pixel if there are a plurality of pixels having hand color information. If the pixels extracted as pixels having hand color information in step S6100 are adjacent to each other, the same label is given to these pixels. By performing the labeling process on the image 7000 of FIG. 7A, each pixel belonging to the image area 7010 of the hand 3010a is given the label A, and the image area of the hand 3010b is assigned as shown in FIG. 7B. Each pixel belonging to 7020 is given a label B different from the label A. FIG.

ステップS6300では、輪郭生成部1020は、ラベリングされた画像領域ごとに、画像領域の2次元輪郭線を上記のステップS2100と同様にして抽出する。 In step S6300, contour generator 1020 extracts the two-dimensional contour lines of the image regions for each labeled image region in the same manner as in step S2100 described above.

ステップS6400では輪郭生成部1020は、上記のステップS2200と同様の処理を行うことで、一方の画像における着目画像領域の2次元輪郭線と、他方の画像において該着目画像領域に対応する画像領域の2次元輪郭線と、を対応付ける。そして輪郭生成部1020は、対応付けた2次元輪郭線の組ごとに、該組に属する2次元輪郭線を用いて上記のステップS2200と同様の処理を行うことで、該組に対応する対象物体の3次元輪郭線を構成する点群を求める。 In step S6400, contour generation section 1020 performs the same processing as in step S2200 described above to generate a two-dimensional contour line of the image region of interest in one image and an image region corresponding to the image region of interest in the other image. and two-dimensional contour lines are associated with each other. Then, for each set of associated two-dimensional contour lines, contour generation section 1020 performs the same processing as in step S2200 using the two-dimensional contour lines belonging to the set, thereby generating the target object corresponding to the set. Obtain a point group that constitutes the three-dimensional contour of .

ステップS6500では、操作点算出部1040は、上記の組ごとに、上記のステップS2300と同様にして、該組についてステップS6400で求めた点群のうち規定の条件を満たす点を操作点として選択する。図7(C)に、画像領域7010に対応する3次元輪郭線3030を構成する点群のうち操作点として選択された対応点3040、画像領域7020に対応する3次元輪郭線3031を構成する点群のうち操作点として選択された点7030、を示す。 In step S6500, for each pair, operating point calculation section 1040 selects, as an operating point, a point that satisfies a specified condition from the point group obtained in step S6400 for that pair, in the same manner as in step S2300. . FIG. 7C shows corresponding points 3040 selected as operation points from the point group forming the three-dimensional contour 3030 corresponding to the image region 7010, and points forming the three-dimensional contour 3031 corresponding to the image region 7020. A point 7030, selected as an operating point of the group, is shown.

ステップS6600で操作点算出部1040は、それぞれの操作点について上記のステップS2400と同様の処理を行うことで、該操作点の3次元位置を、世界座標系における3次元位置に変換する。 In step S6600, operating point calculation section 1040 converts the three-dimensional position of each operating point into a three-dimensional position in the world coordinate system by performing the same processing as in step S2400 above for each operating point.

ステップS6700では、操作点算出部1040は、前フレームにおける操作点と現フレームにおける操作点とで同じ対象物体の操作点同士を対応付けることで、連続性を確保する。例えば、前フレームについて求めたそれぞれの操作点の3次元位置と現フレームについて求めたそれぞれの操作点の3次元位置との間の距離を求める。そして、現フレームにおける着目操作点を、前フレームにおける操作点のうち該着目操作点の3次元位置に最も近い3次元位置の操作点と対応付ける。対応付けの方法として、速度情報やカルマンフィルタなどの予測情報を利用してもよい。 In step S6700, operating point calculation section 1040 ensures continuity by associating the operating points of the same target object between the operating points in the previous frame and the operating points in the current frame. For example, the distance between the three-dimensional position of each operating point obtained for the previous frame and the three-dimensional position of each operating point obtained for the current frame is obtained. Then, the operating point of interest in the current frame is associated with the operating point at the three-dimensional position closest to the operating point of interest among the operating points in the previous frame. Prediction information such as velocity information or a Kalman filter may be used as a method of association.

ステップS6800では、上記のステップS2500と同様の処理が行われるのであるが、CG生成部1080は操作点ごとに、世界座標系における該操作点の3次元位置にポインタを配置する。これにより、例えば、図7(D)に示す如く、画像3000上における対応点3040の位置にポインタ3050を重畳させ、操作点としての点7030の位置にポインタ7040を重畳させることができる。 In step S6800, the same processing as in step S2500 is performed, but CG generation section 1080 arranges a pointer at the three-dimensional position of the operation point in the world coordinate system for each operation point. As a result, for example, as shown in FIG. 7D, the pointer 3050 can be superimposed on the position of the corresponding point 3040 on the image 3000, and the pointer 7040 can be superimposed on the position of the point 7030 as the operation point.

次に、2つのポインタの位置に応じて行う処理について、図8のフローチャートに従って説明する。なお、図8のフローチャートに従った処理は、上記の処理の一部として行っても良いし、別のスレッドとして行っても良い。 Next, the processing performed according to the positions of the two pointers will be described with reference to the flowchart of FIG. Note that the processing according to the flowchart of FIG. 8 may be performed as part of the above processing, or may be performed as a separate thread.

ステップS8100では、信号生成部1050は、仮想空間中に2つのポインタが配置されており且つ2つのポインタ間の距離が規定距離以内である状態が連続して規定時間以上である、という条件が満たされているか否かを判断する。この判断の結果、この条件が満たされている場合には、処理はステップS8200に進み、この条件が満たされていない場合には、処理はステップS8100に戻る。 In step S8100, signal generating section 1050 satisfies the condition that two pointers are arranged in the virtual space and the distance between the two pointers is within a prescribed distance continuously for a prescribed time or longer. Determine whether or not As a result of this determination, if this condition is satisfied, the process proceeds to step S8200; otherwise, the process returns to step S8100.

ステップS8200では、信号生成部1050は、メニューパネルを展開するモード(メニューパネル展開モード)をONにする。なお、上記の条件が満たされていない場合には、信号生成部1050は、このメニューパネル展開モードをOFFにする。メニューパネル展開モードがONになると、複合現実空間画像には図9(A)に示す如く、ポインタ3050及びポインタ7040の2つのポインタの画像上における位置を対角線の端部の位置とする矩形のオブジェクト9100が重畳される。オブジェクト9100は、メニューパネルを展開中であることを示すオブジェクトである。 In step S8200, signal generation section 1050 turns on the mode for expanding the menu panel (menu panel expansion mode). If the above condition is not satisfied, the signal generator 1050 turns off the menu panel expansion mode. When the menu panel deployment mode is turned on, the mixed reality space image is a rectangular object having two pointers, a pointer 3050 and a pointer 7040, at the ends of the diagonal line, as shown in FIG. 9A. 9100 is superimposed. Object 9100 is an object indicating that the menu panel is being expanded.

然るにメニューパネル展開モードがONになると、信号生成部1050は、オブジェクト9100の生成を指示する信号を生成して信号処理部1070に送出する。信号処理部1070は、このような信号を受信すると、矩形のオブジェクト9100を生成するよう、CG生成部1080に指示する。なお、矩形のオブジェクト9100と2つのポインタとの位置関係は図9(A)に示すような位置関係に限らない。 However, when the menu panel expansion mode is turned ON, signal generation section 1050 generates a signal instructing generation of object 9100 and sends it to signal processing section 1070 . Upon receiving such a signal, the signal processing section 1070 instructs the CG generation section 1080 to generate a rectangular object 9100 . Note that the positional relationship between the rectangular object 9100 and the two pointers is not limited to the positional relationship shown in FIG. 9A.

ステップS8300では、信号生成部1050は、2つのポインタ間の距離が規定距離以上である、という条件が満たされているか否かを判断する。この判断の結果、この条件が満たされている場合には、処理はステップS8400に進み、この条件が満たされていない場合には、処理はステップS8100に戻る。 In step S8300, signal generation section 1050 determines whether or not the condition that the distance between the two pointers is equal to or greater than a specified distance is satisfied. As a result of this determination, if this condition is satisfied, the process proceeds to step S8400; otherwise, the process returns to step S8100.

ステップS8400で信号生成部1050は、2つのポインタの位置の平均位置を中心位置とし、且つ撮像部の視線ベクトルと平行なベクトルを法線ベクトルとする面上にメニューパネルを配置するよう指示する信号を生成して信号処理部1070に送出する。ここで、撮像部の視線ベクトルとは、右眼用撮像部、左眼用撮像部の何れかの視線ベクトルであっても良いし、右眼用撮像部の視線ベクトル及び左眼用撮像部の視線ベクトルの平均ベクトルであっても良い。これにより信号処理部1070は、例えば図9(B)に示す如く、2つのポインタの位置の平均位置を中心位置とし、且つ撮像部の視線ベクトルと平行なベクトルを法線ベクトルとする面上にメニューパネル9101を配置するようCG生成部1080に指示する。 In step S8400, the signal generation unit 1050 generates a signal instructing to place the menu panel on a plane whose center position is the average position of the two pointers and whose normal vector is a vector parallel to the line-of-sight vector of the imaging unit. is generated and sent to the signal processing unit 1070 . Here, the line-of-sight vector of the imaging section may be either the line-of-sight vector of the right-eye imaging section or the left-eye imaging section, or the line-of-sight vector of the right-eye imaging section and the line-of-sight vector of the left-eye imaging section. It may be an average vector of line-of-sight vectors. As a result, the signal processing unit 1070, for example, as shown in FIG. 9(B), has the average position of the two pointers as the center position, and the normal vector is a vector parallel to the line-of-sight vector of the imaging unit. The CG generation unit 1080 is instructed to arrange the menu panel 9101 .

次に、2つのポインタの位置に応じて行う別の処理について、図10のフローチャートに従って説明する。なお、図10のフローチャートに従った処理は、上記の処理の一部として行っても良いし、別のスレッドとして行っても良い。図10のフローチャートに従った処理では、操作点ごとに固有の処理を割り当てておき、該操作点に対応するポインタが規定の条件を満たした場合には、該操作点に割り当てられている処理を実行する。 Another process performed according to the positions of the two pointers will now be described with reference to the flowchart of FIG. Note that the processing according to the flowchart of FIG. 10 may be performed as part of the above processing, or may be performed as a separate thread. In the process according to the flowchart of FIG. 10, a unique process is assigned to each operating point, and when the pointer corresponding to the operating point satisfies a prescribed condition, the process assigned to the operating point is executed. Run.

ステップS10100では、信号生成部1050は、それぞれの操作点に対して役割を設定する。例えば、画像の左半分に位置する操作点に対しては第1の役割を設定し、画像の右半分に位置する操作点に対しては第1の役割とは異なる第2の役割を設定する。役割の設定方法は、ユーザにGUIを介して設定させても良いし、予め設定しておいても良いし、HMD1100の使用状況に応じて設定しても良い。 In step S10100, signal generation section 1050 sets a role for each operating point. For example, the first role is set for the operation point located in the left half of the image, and the second role different from the first role is set for the operation point located in the right half of the image. . The method of setting the role may be set by the user via the GUI, may be set in advance, or may be set according to the usage status of the HMD 1100 .

本実施形態では、本処理の事前段階として、本処理に入るためにメニューを押下することを前提としており、このメニューを押下した操作点(操作点A)付近に上記のボタンを表示し、他方の操作点(操作点B)はボタンを押す側の操作点とする。然るにステップS10100では、操作点Aについては、付近にボタン表示、という役割を設定し、操作点Bについては、ボタン押下、という役割を設定することになる。 In this embodiment, as a preliminary stage of this process, it is assumed that a menu is pressed to enter this process. (operation point B) is the operation point on the side where the button is pressed. Accordingly, in step S10100, the role of operation point A is set to display a button nearby, and the role of operation point B is set to press a button.

ステップS10200では、信号生成部1050は、2つの操作点の3次元位置が撮像部1110(左眼用撮像部及び右眼用撮像部)の視野内に位置している、という条件が満たされているか否かを判断する。この判断の結果、この条件が満たされている場合には、処理はステップS10300に進み、この条件が満たされていない場合には、処理はステップS10200に戻る。 In step S10200, signal generation section 1050 satisfies the condition that the three-dimensional positions of the two operation points are within the field of view of imaging section 1110 (left-eye imaging section and right-eye imaging section). determine whether there is As a result of this determination, if this condition is satisfied, the process proceeds to step S10300, and if this condition is not satisfied, the process returns to step S10200.

ステップS10300では、信号生成部1050は、操作点Aの3次元位置の付近にボタンを配置することを指示する信号を生成して信号処理部1070に送出する。これにより信号処理部1070は、操作点Aの3次元位置の付近にボタンを配置するようCG生成部1080に指示するので、図11(A)に示す如く、複合現実空間画像上には、操作点Aに対応するポインタ3050の付近にはボタン11000が配置される。 In step S 10300 , signal generating section 1050 generates a signal instructing placement of a button near the three-dimensional position of operation point A, and sends the signal to signal processing section 1070 . As a result, the signal processing unit 1070 instructs the CG generation unit 1080 to place a button near the three-dimensional position of the operation point A. Therefore, as shown in FIG. A button 11000 is arranged near the pointer 3050 corresponding to the point A. FIG.

ステップS10400では、信号生成部1050は、上記のステップS4100と同様にして、操作点Bに対応するポインタとボタンとが接触したか否かを判断する。図11(B)にポインタとボタンとが接触した様子を示す。このような判断の結果、ポインタとボタンとが接触したと判断した場合には、処理はステップS10500に進み、接触したと判断していない場合には、処理はステップS10200に戻る。 In step S10400, signal generation section 1050 determines whether or not the pointer corresponding to operation point B has come into contact with the button in the same manner as in step S4100 described above. FIG. 11(B) shows how the pointer and the button are in contact with each other. As a result of such determination, if it is determined that the pointer and the button have come into contact with each other, the process advances to step S10500; otherwise, the process returns to step S10200.

ステップS10500では、信号生成部1050は、ボタンが押下された場合に実行する処理として予め設定された処理を実行するための信号を生成し、該生成した信号を信号処理部1070に対して送出する。信号処理部1070は、信号生成部1050から受けた信号に対応する処理を実行する。 In step S10500, signal generating section 1050 generates a signal for executing a process preset as a process to be executed when a button is pressed, and sends the generated signal to signal processing section 1070. . Signal processing section 1070 executes processing corresponding to the signal received from signal generating section 1050 .

なお、本実施形態では、操作点を設定可能な対象物体としての手の数を2とした。しかし、操作点を設定可能な対象物体の数は2以上であっても良く。その場合、選択される操作点の数も2以上となる。 In this embodiment, two hands are used as target objects for which operation points can be set. However, the number of target objects for which operation points can be set may be two or more. In that case, the number of selected operating points is also two or more.

[第3の実施形態]
第1,2の実施形態では、1つの対象物体に対して1つの操作点を設定していたが、1つの対象物体に対して設定可能な操作点の数は2以上であっても良い。例えば、1本の指を用いる場合よりも、複数の指を用いる場合の方が、より多様な操作を実現することができるため、1つの手における複数の指に対して操作点を設定し、該設定した操作点のそれぞれの位置や動きなどに応じた処理を実行することには意義がある。本実施形態では、図2のフローチャートにおいて、上記のステップS2300~S2500の代わりに図12のフローチャートに従った処理を行う。
[Third Embodiment]
In the first and second embodiments, one operation point is set for one target object, but the number of operation points that can be set for one target object may be two or more. For example, when using a plurality of fingers than when using a single finger, more diverse operations can be realized. It is significant to execute processing according to the positions and movements of the set operating points. In this embodiment, in the flowchart of FIG. 2, the process according to the flowchart of FIG. 12 is performed instead of the above steps S2300 to S2500.

ステップS12100では、操作点算出部1040は、3次元輪郭線を構成する点群中に存在する尖鋭点の凸度(尖度)を求める。例えば、図13(A)に示す如く、3次元輪郭線を構成する点群13100中に存在する尖鋭点13200の尖度を求める。尖鋭点13200は、3次元輪郭線上の点群を画像上に射影したうえで凸包処理を行い、得られた凸包の点を、射影した輪郭線の各点の共通点と定義する。なお、尖鋭点を求める方法は特定の方法に限らない。凸包生成の前処理として、射影した輪郭線に対し、ローパスフィルタを施してもよい。次に、射影した輪郭線の各点において、得られた尖鋭点を起点に両側にそれぞれ所定数番目の点を選定し、一方端の点から他方端の点までの(n-1)番目とn番目で構成される線分と、n番目と(n+1)番目で構成される線分のなす角の総和を求める。この値を尖度と定義する。なお尖度の定義は他でもよく、例えば、上記の尖度に対し、一方端の点から他方端の点までの間の隣接する点で構成する線分の集合の距離の和で割ったものを尖度としてもよい。 In step S12100, operating point calculation section 1040 obtains the degree of convexity (kurtosis) of a sharp point existing in the point group forming the three-dimensional contour. For example, as shown in FIG. 13A, the kurtosis of a sharp point 13200 existing in a point group 13100 forming a three-dimensional outline is obtained. A sharp point 13200 is obtained by projecting a group of points on a three-dimensional contour onto an image and performing convex hull processing, and defining the points of the obtained convex hull as common points of the projected contours. Note that the method for obtaining the sharp point is not limited to a specific method. As preprocessing for generating the convex hull, a low-pass filter may be applied to the projected contour. Next, at each point of the projected contour line, a predetermined number of points are selected on both sides of the obtained sharp point, and the (n-1)-th point from one end point to the other end point is selected. The sum of the angles formed by the n-th line segment and the n-th and (n+1)-th line segments is calculated. This value is defined as kurtosis. Note that the definition of kurtosis may be different, for example, the above kurtosis divided by the sum of the distances of the set of line segments composed of adjacent points from one end point to the other end point can be taken as the kurtosis.

ステップS12200では、操作点算出部1040は、尖度が閾値以上となる尖鋭点を以下の処理の対象となる対象尖鋭点とし、尖度が閾値未満の尖鋭点を以下の処理から除外する。なお、この閾値を0とすれば、全ての尖鋭点を対象尖鋭点とすることができる。また、3次元輪郭線上の各点について尖度を求め、閾値以上の点を対象尖鋭点としても良い。 In step S12200, operating point calculation section 1040 treats sharp points with kurtosis equal to or greater than the threshold as target sharp points to be processed below, and excludes sharp points with kurtosis below the threshold from the following processes. If this threshold value is set to 0, all sharp points can be set as target sharp points. Alternatively, the kurtosis may be obtained for each point on the three-dimensional contour line, and points having a threshold value or more may be set as target sharp points.

ステップS12300では、操作点算出部1040は、対象尖鋭点群から2つの対象尖鋭点を選択する。対象尖鋭点群から2つの尖鋭点を選択する選択条件については特定の条件に限らない。本実施形態では、対象尖鋭点のうち、画像(左眼用画像及び右眼用画像の何れか一方)上に射影した場合にRow方向において最も上側と2番目に上側の座標値を有する尖鋭点をそれぞれ第1の操作点、第2の操作点として選択する。例えば、図13(A)に示す如く点群13100が得られている場合には、最も上側の座標値を有する尖鋭点13300を第1の操作点として選択し、2番目に上側の座標値を有する尖鋭点13400を第2の操作点として選択する。なお、尖度が最も高い尖鋭点を第1の操作点、次に尖度が高い尖鋭点を第2の操作点、として選択するようにしても良いし、座標値と尖度の双方を考慮して操作点を決定しても良い。 In step S12300, operating point calculation section 1040 selects two target sharp points from the target sharp point group. The selection condition for selecting two sharp points from the target sharp point group is not limited to a specific condition. In the present embodiment, among the target sharp points, a sharp point having coordinate values that are the uppermost and the second uppermost in the row direction when projected onto an image (one of the image for the left eye and the image for the right eye) are selected as the first and second operating points, respectively. For example, when a point group 13100 is obtained as shown in FIG. 13400 is selected as the second operating point. Note that the sharp point with the highest kurtosis may be selected as the first operating point, and the sharp point with the second highest kurtosis may be selected as the second operating point. to determine the operating point.

ステップS12400で操作点算出部1040は、第1の操作点及び第2の操作点のそれぞれについて上記のステップS2400と同様の処理を行うことで、該第1の操作点及び第2の操作点のそれぞれの3次元位置を世界座標系における3次元位置に変換する。 In step S12400, operating point calculation section 1040 performs the same processing as in step S2400 for each of the first operating point and the second operating point, thereby calculating the first operating point and the second operating point. Each 3D position is transformed into a 3D position in the world coordinate system.

ステップS12500では、上記のステップS2500と同様の処理が行われるのであるが、CG生成部1080は第1の操作点及び第2の操作点のそれぞれについて、世界座標系における該操作点の3次元位置にポインタを配置する。これにより、例えば、図13(B)に示す如く、画像上における第1の操作点の位置にポインタ13310を重畳させ、第2の操作点の位置にポインタ13410を重畳させることができる。 In step S12500, the same processing as in step S2500 is performed, but CG generation section 1080 calculates the three-dimensional position of each of the first and second operating points in the world coordinate system. Place the pointer in the As a result, for example, as shown in FIG. 13B, a pointer 13310 can be superimposed on the position of the first operation point on the image, and a pointer 13410 can be superimposed on the position of the second operation point.

そして信号生成部1050は、それぞれの操作点の3次元位置や動きに応じた処理を行うためのトリガとなる信号を生成して信号処理部1070に送出し、信号処理部1070は、該信号に応じた処理を行うよう、CG生成部1080を制御する。なお、操作点の位置や動きに応じた処理に限らず、各操作点の位置や姿勢、動きの情報を利用してもよいし、複数の操作点間の相対的な位置や姿勢、動きの情報を利用してもよい。さらに、他の仮想物体との接触状態や、各操作点と仮想物体との相対的な位置や姿勢、動きの情報を利用してもよい。 Then, the signal generation unit 1050 generates a trigger signal for performing processing according to the three-dimensional position and movement of each operation point and sends it to the signal processing unit 1070. The signal processing unit 1070 receives the signal The CG generation unit 1080 is controlled so as to perform corresponding processing. In addition to processing according to the position and movement of operation points, information on the position, orientation, and movement of each operation point may be used, and information on the relative positions, orientations, and movements of multiple operation points may be used. You may use the information. Furthermore, information on the contact state with other virtual objects and the relative position, orientation, and movement between each operation point and the virtual object may be used.

<第3の実施形態の変形例1>
本変形例では、第3の実施形態において説明した複数の操作点の算出方法とは異なる別の算出方法について説明する。本変形例では、図2のフローチャートにおいて、上記のステップS2300~S2500の代わりに図14のフローチャートに従った処理を行う。
<Modification 1 of Third Embodiment>
In this modified example, another calculation method different from the method of calculating the plurality of operating points described in the third embodiment will be described. In this modified example, in the flowchart of FIG. 2, the processing according to the flowchart of FIG. 14 is performed instead of steps S2300 to S2500 described above.

ステップS14100では、操作点算出部1040は、3次元輪郭線上の尖鋭点のうち1つを第1の操作点として選択する。第1の操作点の選択条件については特定の選択条件に限らないが、本実施形態では第3の実施形態と同様にして第1の操作点を選択するものとする。例えば、図15(A)に示す如く、点群15100から第3の実施形態と同様にして第1の操作点15200を選択する。 In step S14100, operating point calculation section 1040 selects one of the sharp points on the three-dimensional contour as the first operating point. The selection condition for the first operating point is not limited to a specific selection condition, but in this embodiment the first operating point is selected in the same manner as in the third embodiment. For example, as shown in FIG. 15A, a first operating point 15200 is selected from a point group 15100 in the same manner as in the third embodiment.

ステップS14200では、操作点算出部1040は、第1の操作点を基準にして画像(左眼用画像及び右眼用画像の何れか一方)上にROI(region of interest)を設定する。例えば、図15(B)に示す如く、3次元輪郭線上の各点を画像上に投影し、そのうち第1の操作点15200の位置を上辺の中点とする矩形領域15300をROIとして設定する。 In step S14200, operating point calculation section 1040 sets a ROI (region of interest) on the image (one of the left-eye image and the right-eye image) based on the first operating point. For example, as shown in FIG. 15B, each point on the three-dimensional contour is projected onto the image, and a rectangular area 15300 having the position of the first operating point 15200 as the midpoint of the upper side is set as the ROI.

ステップS14300では、操作点算出部1040は、画像上に投影した点によって構成される輪郭線をROIの境界によって分割する。例えば図15(C)に示す如く、隣接する輪郭線の点で構成する線分が、ROIの境界を跨いだとき、ROI外の点を除外するとともに、輪郭線を分割する。 In step S14300, operating point calculation section 1040 divides the contour formed by the points projected onto the image by the boundaries of the ROI. For example, as shown in FIG. 15(C), when a line segment formed by adjacent contour points straddles the boundary of the ROI, points outside the ROI are excluded and the contour is divided.

ステップS14400では、操作点算出部1040は、ROI内のそれぞれの輪郭線上の点から操作点の候補を選択する。輪郭線の候補を選択する方法については特定の方法に限らないが、本実施形態では、ROI内のそれぞれの輪郭線について、該輪郭線上の点のうち画像上でRow方向において最も上側の点を操作点の候補とする。 In step S14400, operating point calculation section 1040 selects operating point candidates from points on respective contour lines within the ROI. The method for selecting contour line candidates is not limited to a particular method, but in this embodiment, for each contour line in the ROI, the uppermost point in the row direction on the image among the points on the contour line is Make it a candidate for the operating point.

ステップS14500では、操作点算出部1040は、操作点の候補から第2の操作点、第3の操作点、…というように規定個数の操作点を決定する。操作点の決定方法は特定の方法に限らないが、本実施形態では、操作点の候補のうち画像上でRow方向において上側の候補から順に第2の操作点、第3の操作点、…というように規定個数の操作点を決定する。 In step S14500, operating point calculation section 1040 determines a specified number of operating points such as a second operating point, a third operating point, . . . from the candidate operating points. Although the method of determining the operating point is not limited to a specific method, in this embodiment, among the candidates for the operating point, the second operating point, the third operating point, . A specified number of operating points are determined as follows.

ステップS14600で操作点算出部1040は、それぞれの操作点について上記のステップS2400と同様の処理を行うことで、該それぞれの操作点の3次元位置を、世界座標系における3次元位置に変換する。 In step S14600, operating point calculation section 1040 converts the three-dimensional position of each operating point into a three-dimensional position in the world coordinate system by performing the same processing as in step S2400 for each operating point.

ステップS14700では、上記のステップS2500と同様の処理が行われるのであるが、CG生成部1080はそれぞれの操作点について、世界座標系における該操作点の3次元位置にポインタを配置する。 In step S14700, the same processing as in step S2500 is performed, but CG generation section 1080 places a pointer at the three-dimensional position of each operating point in the world coordinate system.

<第3の実施形態の変形例2>
上記の各実施形態や変形例では、対象物体の3次元輪郭線をステレオ画像を用いて求めていたが、対象物体の3次元輪郭線を求めるための方法は特定の方法に限らない。例えば、図17に示す如く、HMD1100にデプスカメラ17010を搭載して、対象物体のデプス画像を撮像させる。デプスカメラ17010による対象物体のデプス画像は情報処理装置1000に対して送出される。輪郭生成部1020は、デプスカメラ17010からのデプス画像を用いて対象物体の3次元輪郭線を求める。
<Modification 2 of Third Embodiment>
In each of the above embodiments and modifications, the three-dimensional outline of the target object is obtained using stereo images, but the method for obtaining the three-dimensional outline of the target object is not limited to a specific method. For example, as shown in FIG. 17, an HMD 1100 is equipped with a depth camera 17010 to capture a depth image of a target object. A depth image of the target object obtained by the depth camera 17010 is sent to the information processing apparatus 1000 . The contour generator 1020 uses the depth image from the depth camera 17010 to find the three-dimensional contour of the target object.

また、上記の実施形態や変形例では、画像上の操作点が誰のものであるのか、また、どのような物体であるのか、については全く識別していない。そのため、例えば、画像上に複数人のユーザの手が含まれている場合には、それぞれの手(や指)に対して操作点を設定することもできる。この場合、複数人のユーザの手の位置や動きによるジェスチャに応じた処理を行うことが可能となる。なお、ユーザの手は対象物体の一例に過ぎず、対象物体の特徴量(色や形状など)を予め保持しておくことで、この特徴量を用いて画像から対象物体の画像領域を検出することができ、その結果、対象物体の輪郭線を検出することができる。 Further, in the above embodiments and modified examples, it is not identified at all who the operation point on the image belongs to or what kind of object it is. Therefore, for example, when the hands of a plurality of users are included in the image, it is also possible to set an operation point for each hand (or finger). In this case, it is possible to perform processing according to gestures based on the positions and movements of the hands of a plurality of users. Note that the user's hand is just an example of the target object, and by pre-holding the feature amount (color, shape, etc.) of the target object, the image area of the target object is detected from the image using this feature amount. As a result, the contour of the target object can be detected.

また、上記の実施形態や変形例では、輪郭線上の全ての点について3次元位置を求めた後、輪郭線上の点群のうち規定の条件を満たす点を操作点としていた。しかし、輪郭線上の点群のうち規定の条件を満たす点を操作点として決定した後、この操作点の3次元位置を求めるようにしても良い。 Further, in the above embodiments and modified examples, after obtaining the three-dimensional positions of all the points on the contour, the points satisfying the prescribed conditions among the point group on the contour are used as the operating points. However, it is also possible to determine the three-dimensional positions of the operating points after determining the points satisfying the specified conditions among the points on the contour line as the operating points.

[第4の実施形態]
第1の実施形態では、操作点となる所定の特徴は、操作状態に特に依存しないが、操作状態によって操作点を得るための特徴を切り替えることができれば、操作性が向上することが期待される。
[Fourth embodiment]
In the first embodiment, the predetermined feature that becomes the operation point does not particularly depend on the operation state, but if the feature for obtaining the operation point can be switched depending on the operation state, it is expected that the operability will be improved. .

例えば、図19(A)に示すように、実空間オブジェクトが手である場合、CGモデル19200の選択やCGボタンの押下は、指先で実施する場合が多いと想定される。このため、図19(A)に示すように、HMDの視野において最も上側の座標値を有する特徴点を、操作点19100とすることが好ましい。一方、CGモデルの操作中は、手の向きや角度が変化するため、HMDの視野における手の最上点を操作点とするよりも、図19(B)に示すように、手の領域の重心あるいは平均中心を操作点19400とした方が、操作点の意図せぬ挙動が軽減される。本実施形態では、操作状態によって操作点を得るための特徴を切り替える方法について説明する。 For example, as shown in FIG. 19A, when the real space object is a hand, it is assumed that the selection of the CG model 19200 and the pressing of the CG button are often performed with the tip of the finger. Therefore, as shown in FIG. 19A, it is preferable to set the feature point having the uppermost coordinate value in the visual field of the HMD as the operating point 19100 . On the other hand, since the orientation and angle of the hand change during operation of the CG model, rather than setting the top point of the hand in the field of view of the HMD as the operation point, the center of gravity of the hand region is set as shown in FIG. Alternatively, setting the average center to the operating point 19400 reduces unintended behavior of the operating point. In this embodiment, a method of switching features for obtaining an operation point according to an operation state will be described.

操作状態によって操作点となる特徴を切り替える一連の処理を、図18のフローチャートを用いて説明する。 A series of processes for switching the feature that becomes the operation point depending on the operation state will be described with reference to the flowchart of FIG. 18 .

ステップS18100-S18200は、第1の実施形態のステップS2100-S2200と同様であるため説明を省略する。 Steps S18100-S18200 are the same as steps S2100-S2200 of the first embodiment, so description thereof will be omitted.

ステップS18300では、現在のアプリケーションの状態を取得し、その状態によって以後の処理を分岐する。本実施形態では、アプリケーションの状態として、CGモデルの選択モードとCGモデルの移動モードを例として以降の説明を行うが、アプリケーションの状態はこれに限らない。 In step S18300, the current application state is obtained, and the subsequent processing branches depending on the state. In the present embodiment, the application state is described below using the CG model selection mode and the CG model movement mode as examples, but the application state is not limited to this.

ステップS18400では、アプリケーションの状態がCGモデルの選択モードのときの操作点の選択処理が実行される。本実施形態では、ステップS18200で得られた3次元輪郭線の頂点をステップS18100において取得した画像に射影した場合に、Row方向において最も上側の座標値を有する3次元輪郭線上の頂点を操作点とする。操作点を算出するための特徴はこの方法に限定されないが、ステップS18500におけるアプリケーションの状態が他のモードのときに用いられる方法とは別の方法である必要がある。 In step S18400, operation point selection processing is executed when the application is in the CG model selection mode. In this embodiment, when the vertices of the three-dimensional contour obtained in step S18200 are projected onto the image obtained in step S18100, the vertex on the three-dimensional contour having the uppermost coordinate value in the Row direction is used as the operating point. do. The feature for calculating the operating point is not limited to this method, but it should be a method different from the method used when the application state in step S18500 is in another mode.

ステップS18500では、アプリケーションの状態がCGモデルの移動モードのときの操作点の選択処理が実行される。本実施形態では、ステップS18200で得られた3次元輪郭線によって形成される3次元曲面領域の重心を算出し、これを操作点とする。操作点を算出するための特徴はこれに限らず、3次元輪郭の頂点の中心位置などでもよい。 In step S18500, operation point selection processing is executed when the application state is the CG model movement mode. In this embodiment, the center of gravity of the three-dimensional curved surface area formed by the three-dimensional outline obtained in step S18200 is calculated and used as the operating point. The feature for calculating the operating point is not limited to this, and may be the center position of the vertex of the three-dimensional contour.

ステップS18600-S18700は、第1の実施形態のステップS2400-S2500と同様であるため説明を省略する。 Steps S18600-S18700 are the same as steps S2400-S2500 of the first embodiment, so description thereof will be omitted.

[第5の実施形態]
本実施形態では、操作点を得る実空間オブジェクトが複数存在した場合に、操作点を抽出するための1つの実空間オブジェクトを選択する方法を、操作状態によって切り替える方法について説明する。
[Fifth Embodiment]
In this embodiment, when there are a plurality of real space objects from which operation points are to be obtained, a method of selecting one real space object for extracting an operation point will be described, according to an operation state.

例えば、操作点を抽出するための1つの実空間オブジェクトを、HMDの視野において一番上に存在する実空間オブジェクトとすると、CGモデルを下方向に移動した際、他の実空間オブジェクトがそれまで操作点が属していた実空間オブジェクトよりも上になったときに、操作点が他の実空間オブジェクトに移ってしまい、操作性が損なわれるという問題が発生する。 For example, if one real space object for extracting operation points is the real space object that exists at the top in the field of view of the HMD, when the CG model is moved downward, other real space objects When the operation point is above the real space object to which the operation point belongs, the operation point moves to another real space object, which impairs the operability.

そこで本実施形態では、図21(A)に示すように、CGモデルの選択状態では、操作点21100が取得画像の視野の一番上に存在する実空間オブジェクト21300、21200が選択される。また、図21(B)に示すように、CGモデル21400が移動状態のときは、CGモデル21400の移動開始時に選択した実空間オブジェクト21300をトラッキングし、その実空間オブジェクト21300を選択する。 Therefore, in this embodiment, as shown in FIG. 21A, real space objects 21300 and 21200 whose operating point 21100 is at the top of the field of view of the acquired image are selected in the CG model selection state. Also, as shown in FIG. 21B, when the CG model 21400 is in a moving state, the real space object 21300 selected at the start of movement of the CG model 21400 is tracked, and the real space object 21300 is selected.

操作点を抽出するための1つの実空間オブジェクトを選択する方法を、操作状態によって切り替える一連の処理を、図20のフローチャートを用いて説明する。 A series of processes for switching the method of selecting one real space object for extracting an operation point according to the operation state will be described with reference to the flowchart of FIG. 20 .

ステップS20100-S20400の処理は、第2の実施形態のステップS6100-S6400の処理と同様であるため、説明を省略する。 The processing of steps S20100-S20400 is the same as the processing of steps S6100-S6400 of the second embodiment, so description thereof will be omitted.

ステップS20500では、現在のアプリケーションの状態を取得し、その状態によって以降の処理を分岐する。本実施形態では、アプリケーションの状態がCGモデルの選択モードである場合にステップS20600に分岐し、CGモデルの操作モードである場合にステップS20700に分岐する。 In step S20500, the current application state is obtained, and the subsequent processing branches depending on the state. In this embodiment, if the application state is the CG model selection mode, the process branches to step S20600, and if it is the CG model operation mode, the process branches to step S20700.

ステップS20600では、ステップS20400で得られた複数の3次元輪郭線の中から、操作点を算出するための3次元輪郭を選択する処理が実行される。本実施形態では、各3次元輪郭の頂点をステップS20100において取得した画像に射影した場合に、Row方向において最も上側の座標値を有する3次元輪郭線上の頂点を比較点とする。比較点を算出するための特徴の取り方は、この方法に限定せず如何なる方法でもよい。次に、この比較点が複数の3次元輪郭の中でRow方向において最も上側の座標となる比較点が属する3次元輪郭を、操作点を算出するための3次元領域として選択する。比較点から操作点を算出するための選択方法は上述の方法に限定されないが、ステップS20700とは別の方法である必要がある。 In step S20600, a process of selecting a three-dimensional contour for calculating operating points from among the plurality of three-dimensional contours obtained in step S20400 is executed. In this embodiment, when the vertices of each 3D contour are projected onto the image acquired in step S20100, the vertex on the 3D contour having the uppermost coordinate value in the Row direction is set as the comparison point. The method of taking features for calculating a comparison point is not limited to this method, and any method may be used. Next, the three-dimensional contour to which the comparison point having the uppermost coordinates in the row direction among the plurality of three-dimensional contours belongs is selected as the three-dimensional region for calculating the operating point. The selection method for calculating the operating point from the comparison points is not limited to the method described above, but must be a different method from step S20700.

ステップS20700では、ステップS20400で得られた複数の3次元輪郭線の中から、操作点を算出するための3次元輪郭を選択する処理が実行される。本実施形態では、移動対象となるCGモデルを選択する選択モードにおいて、CGモデルを実際に選択することによってCGモデルを移動する移動モードに遷移するイベントが発行される。移動モードでは、CGモデルを選択する際に操作点が属していた3次元輪郭をトラッキングし続け、これを、操作点を算出するための3次元輪郭として選択する。3次元輪郭のトラッキングすなわち処理フレーム間の同一性の推定方法は、如何なる方法でもよい。本実施形態では、3次元輪郭によって生成される3次元曲面領域の重心の距離が、前フレームと現フレームにおいて最も近いものを同一の3次元輪郭として取り扱う。 In step S20700, a process of selecting a three-dimensional contour for calculating operating points from among the plurality of three-dimensional contours obtained in step S20400 is executed. In this embodiment, in the selection mode for selecting a CG model to be moved, an event is issued for transitioning to the move mode for moving the CG model by actually selecting the CG model. In the move mode, the 3D contour to which the operating point belongs when selecting the CG model is continuously tracked, and this is selected as the 3D contour for calculating the operating point. Any method may be used for 3D contour tracking, that is, for estimating the identity between processing frames. In this embodiment, the distance of the center of gravity of the three-dimensional curved surface region generated by the three-dimensional contour is the closest between the previous frame and the current frame, and is treated as the same three-dimensional contour.

ステップS20800では、ステップS20600あるいはステップS20700で選択した3次元輪郭線から、操作点を算出する。具体的には、選択した3次元輪郭線を撮像画像に射影した場合に、撮像画像においてRow方向において最も上側の座標値を有する3次元輪郭線上の頂点を操作点とする。操作点を算出するための特徴はこの方法に限定せず如何なる方法でもよい。また、第4の実施形態のように、操作モードに応じてその特徴を切り替えてもよい。 In step S20800, operating points are calculated from the three-dimensional contour line selected in step S20600 or S20700. Specifically, when the selected three-dimensional contour is projected onto the captured image, the vertex on the three-dimensional contour having the uppermost coordinate value in the row direction in the captured image is set as the operating point. The feature for calculating the operating point is not limited to this method, and any method may be used. Also, as in the fourth embodiment, the feature may be switched according to the operation mode.

ステップS20900-S20110は、第2の実施形態のステップS6700-S6800と同様であるため説明を省略する。 Steps S20900-S20110 are the same as steps S6700-S6800 of the second embodiment, so description thereof will be omitted.

[第6の実施形態]
図1,17に示した情報処理装置1000の各機能部はハードウェアで実装しても良いが、保持部1060を除く他の機能部についてはソフトウェア(コンピュータプログラム)で実装しても良い。後者の場合、保持部1060として機能するメモリを有し、且つこのソフトウェアを実行可能なコンピュータ装置は、上記の情報処理装置1000に適用可能である。
[Sixth Embodiment]
Each functional unit of the information processing apparatus 1000 shown in FIGS. 1 and 17 may be implemented by hardware, but functional units other than the holding unit 1060 may be implemented by software (computer program). In the latter case, a computer device having a memory functioning as the holding unit 1060 and capable of executing this software is applicable to the information processing device 1000 described above.

情報処理装置1000に適用可能であるコンピュータ装置のハードウェア構成例について、図16のブロック図を用いて説明する。なお、図16に示したハードウェア構成は、情報処理装置1000に適用可能なコンピュータ装置のハードウェア構成の一例に過ぎない。 A hardware configuration example of a computer device applicable to the information processing device 1000 will be described with reference to the block diagram of FIG. 16 . Note that the hardware configuration shown in FIG. 16 is merely an example of the hardware configuration of a computer device that can be applied to the information processing device 1000 .

CPU16200は、ROM16300やRAM16400に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU16200は、コンピュータ装置全体の動作制御を行うと共に、情報処理装置1000が行うものとして上述した各処理を実行若しくは制御する。 CPU 16200 executes various processes using computer programs and data stored in ROM 16300 and RAM 16400 . As a result, the CPU 16200 controls the operation of the entire computer apparatus and executes or controls each of the processes described above as those performed by the information processing apparatus 1000 .

ROM16300には、書換不要のコンピュータプログラムやデータ(例えばBIOSのコンピュータプログラムやデータ)が格納されている。RAM16400は、ROM16300や外部記憶装置16700からロードされたコンピュータプログラムやデータ、入力I/F16500を介して外部から受信したデータ、を格納するためのエリアを有する。更にRAM16400は、CPU16200が各種の処理を実行する際に用いるワークエリアを有する。このようにRAM16400は、各種のエリアを適宜提供することができる。 The ROM 16300 stores computer programs and data that do not need to be rewritten (for example, BIOS computer programs and data). RAM 16400 has an area for storing computer programs and data loaded from ROM 16300 and external storage device 16700 and data received from the outside via input I/F 16500 . Furthermore, the RAM 16400 has a work area used when the CPU 16200 executes various processes. Thus, the RAM 16400 can appropriately provide various areas.

入力I/F16500は、外部からデータを入力するためのインターフェースとして機能するもので、例えば、上記のHMD1100から送出される撮像画像を含む様々なデータは、この入力I/F16500を介して受信する。 The input I/F 16500 functions as an interface for inputting data from the outside.

出力I/F16600は、データを外部の装置に対して出力するためのインターフェースとして機能するもので、例えば、上記のHMD1100に対して出力する複合現実空間画像は、この出力I/F16600を介してHMD1100に対して送信される。 The output I/F 16600 functions as an interface for outputting data to an external device. sent to.

外部記憶装置16700は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置16700には、OS(オペレーティングシステム)や、情報処理装置1000が行うものとして上述した各処理をCPU16200に実行させるためのコンピュータプログラムやデータが保存されている。外部記憶装置16700に保存されているコンピュータプログラムには、図1,17において保持部1060を除く各機能部の機能をCPU16200に実現させるためのコンピュータプログラムが含まれている。また、外部記憶装置16700に保存されているデータには、保持部1060が保持しているものとして説明した各種のデータや、上記の説明において既知の情報として取り扱ったもの、が含まれている。つまり、外部記憶装置16700は、上記の保持部1060としても機能する。外部記憶装置16700に保存されているコンピュータプログラムやデータは、CPU16200による制御に従って適宜RAM16400にロードされ、CPU16200による処理対象となる。 The external storage device 16700 is a large-capacity information storage device represented by a hard disk drive. The external storage device 16700 stores an OS (Operating System), computer programs and data for causing the CPU 16200 to execute the above-described processes performed by the information processing apparatus 1000 . The computer programs stored in the external storage device 16700 include computer programs for causing the CPU 16200 to implement the functions of the functional units other than the holding unit 1060 in FIGS. In addition, the data stored in the external storage device 16700 includes various data described as held by the holding unit 1060 and known information in the above explanation. In other words, the external storage device 16700 also functions as the holding unit 1060 described above. Computer programs and data stored in the external storage device 16700 are appropriately loaded into the RAM 16400 under the control of the CPU 16200 and are processed by the CPU 16200 .

上記のCPU16200、ROM16300、RAM16400、入力I/F16500、出力I/F16600、外部記憶装置16700、は何れもバス16100に接続されている。 The above CPU 16200 , ROM 16300 , RAM 16400 , input I/F 16500 , output I/F 16600 and external storage device 16700 are all connected to bus 16100 .

なお、以上説明した各実施形態や変形例の一部若しくは全部を適宜組み合わせても構わないし、以上説明した各実施形態や変形例の一部若しくは全部を選択的に使用しても構わない。 Some or all of the embodiments and modifications described above may be combined as appropriate, and some or all of the embodiments and modifications described above may be selectively used.

(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other examples)
The present invention supplies a program that implements one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in the computer of the system or apparatus reads and executes the program. It can also be realized by processing to It can also be implemented by a circuit (for example, ASIC) that implements one or more functions.

1010:取得部 1020:輪郭生成部 1030:計測部 1040:操作点算出部 1050:信号生成部 1060:保持部 1070:信号処理部 1080:CG生成部 1090:合成部 1010: Acquisition unit 1020: Contour generation unit 1030: Measurement unit 1040: Operating point calculation unit 1050: Signal generation unit 1060: Holding unit 1070: Signal processing unit 1080: CG generation unit 1090: Synthesis unit

Claims (20)

撮像部を有する頭部装着型表示装置に対して画像を出力する画像処理装置であって、
前記撮像部により撮像された撮像画像中の対象物体の輪郭を構成する点群のうち、規定の条件を満たす点を操作点として選択する選択手段と、
前記操作点に基づいて処理を実行する処理手段と
を備え
前記選択手段は、前記点群のうち前記頭部装着型表示装置の視野において最も上側に位置する点を前記操作点として選択することを特徴とする画像処理装置。
An image processing device that outputs an image to a head-mounted display device having an imaging unit,
a selection means for selecting, as an operation point, a point that satisfies a prescribed condition from among a group of points forming the contour of the target object in the captured image captured by the imaging unit;
and processing means for executing processing based on the operating point ,
The image processing apparatus , wherein the selecting means selects, as the operation point, the uppermost point in the visual field of the head-mounted display device from the point group .
撮像画像中の複数の対象物体について、該複数の対象物体の輪郭を構成する点群のうち規定の条件を満たす点を操作点として選択する選択手段と、
前記操作点に基づいて処理を実行する処理手段と
を備え、
前記選択手段は、
前記操作点によって仮想物体を選択する選択モードの場合、前記複数の対象物体の輪郭を構成する点群から前記操作点を選択し、
前記操作点によって前記仮想物体を移動する移動モードの場合、前記複数の対象物体のうち前記仮想物体の選択時に前記操作点が属していた対象物体の輪郭を構成する点群から前記操作点を選択する
ことを特徴とする画像処理装置。
selection means for selecting, as operation points, points satisfying prescribed conditions from among point groups forming contours of the plurality of target objects in the captured image;
a processing means for executing processing based on the operating point;
with
The selection means is
In the case of a selection mode in which a virtual object is selected by the operating point, selecting the operating point from a group of points forming the contours of the plurality of target objects;
In the case of a movement mode in which the virtual object is moved by the operation point, the operation point is selected from a point group forming the contour of the target object to which the operation point belonged when the virtual object was selected from among the plurality of target objects. do
An image processing apparatus characterized by:
前記処理手段は、前記操作点に仮想物体を配置し、該仮想物体が他の仮想物体と接触した場合には、対応する処理を実行することを特徴とする請求項1または2に記載の画像処理装置。3. The image according to claim 1, wherein said processing means arranges a virtual object at said operation point, and executes corresponding processing when said virtual object comes into contact with another virtual object. processing equipment. 前記処理手段は、前記操作点の付近に仮想物体を配置することを特徴とする請求項1または2に記載の画像処理装置。3. The image processing apparatus according to claim 1, wherein said processing means arranges a virtual object near said operation point. 前記処理手段は、前記複数の対象物体のそれぞれについて前記選択手段が選択した操作点に基づいて処理を実行することを特徴とする請求項に記載の画像処理装置。 3. The image processing apparatus according to claim 2 , wherein said processing means executes processing based on the operation point selected by said selection means for each of said plurality of target objects. 前記処理手段は、前記選択手段が選択した操作点ごとに、該操作点に固有の処理を実行することを特徴とする請求項に記載の画像処理装置。 3. The image processing apparatus according to claim 2 , wherein said processing means executes, for each operation point selected by said selection means, a process peculiar to said operation point. 前記選択手段は、前記点群のうち規定の条件を満たす複数の点を前記操作点として選択することを特徴とする請求項に記載の画像処理装置。 3. The image processing apparatus according to claim 2 , wherein said selection means selects a plurality of points satisfying prescribed conditions from said point group as said operation points. 前記選択手段は、前記点群のうち尖度が閾値以上となる点を前記操作点として選択することを特徴とする請求項に記載の画像処理装置。 8. The image processing apparatus according to claim 7 , wherein said selection means selects, from said point group, points whose kurtosis is equal to or greater than a threshold as said operation points. 前記選択手段は、前記点群のうち規定の条件を満たす点と、該点を基準とする領域内で規定の条件を満たす点と、を前記操作点として選択することを特徴とする請求項に記載の画像処理装置。 8. The selection means selects, as the operation points, points satisfying a prescribed condition from the point group and points satisfying the prescribed condition within an area based on the point, as the operating points. The image processing device according to . 前記撮像画像から前記対象物体を抽出する抽出手段と、
前記対象物体の3次元輪郭線を生成する輪郭生成手段とを備え、
前記選択手段は、前記3次元輪郭線を構成する点群のうち規定の条件を満たす点を前記操作点として選択することを特徴とする請求項1または2に記載の画像処理装置。
extraction means for extracting the target object from the captured image;
a contour generating means for generating a three-dimensional contour of the target object;
3. The image processing apparatus according to claim 1 , wherein said selection means selects, as said operation points, points satisfying prescribed conditions from among points forming said three-dimensional outline.
前記輪郭生成手段は、ステレオ画像を用いて前記3次元輪郭線を生成することを特徴とする請求項10に記載の画像処理装置。 11. The image processing apparatus according to claim 10 , wherein said contour generating means generates said three-dimensional contour using stereo images. 前記輪郭生成手段は、デプスカメラによる前記対象物体の画像を用いて前記3次元輪郭線を生成することを特徴とする請求項10に記載の画像処理装置。 11. The image processing apparatus according to claim 10 , wherein said contour generating means generates said three-dimensional contour using an image of said target object obtained by a depth camera. 更に、
前記撮像画像を撮像する撮像部の位置姿勢に応じた仮想物体の画像を生成する生成手段と、
前記撮像画像と前記仮想物体の画像との合成画像を生成し、該生成した合成画像を表示部に対して出力する手段と
を備えることを特徴とする請求項に記載の画像処理装置。
Furthermore,
generating means for generating an image of a virtual object according to the position and orientation of an imaging unit that captures the captured image;
3. The image processing apparatus according to claim 2 , further comprising means for generating a composite image of said captured image and said virtual object image, and for outputting said generated composite image to a display unit.
前記生成手段は、前記操作点に基づいて前記仮想物体の画像を生成することを特徴とする請求項13に記載の画像処理装置。 14. The image processing apparatus according to claim 13 , wherein said generating means generates an image of said virtual object based on said operating point. 前記生成手段は、前記操作点の3次元位置に配置したポインタの画像を生成することを特徴とする請求項14に記載の画像処理装置。 15. The image processing apparatus according to claim 14 , wherein said generating means generates an image of a pointer arranged at a three-dimensional position of said operating point. 前記表示部は、頭部装着型表示装置であることを特徴とする請求項13に記載の画像処理装置。 14. The image processing apparatus according to claim 13 , wherein the display unit is a head-mounted display device. 前記選択手段は、前記対象物体に対する操作状態に基づいて操作点を選択することを特徴とする請求項1に記載の画像処理装置。 2. The image processing apparatus according to claim 1, wherein said selection means selects an operation point based on an operation state of said target object. 撮像部を有する頭部装着型表示装置に対して画像を出力する画像処理装置が行う画像処理方法であって、
前記撮像部により撮像された撮像画像中の対象物体の輪郭を構成する点群のうち、規定の条件を満たす点を操作点として選択し、
前記操作点に基づいて処理を実行し、
前記選択では、前記点群のうち前記頭部装着型表示装置の視野において最も上側に位置する点を前記操作点として選択する
ことを特徴とする画像処理方法。
An image processing method performed by an image processing device that outputs an image to a head-mounted display device having an imaging unit ,
Selecting, as an operation point, a point that satisfies a prescribed condition from among a group of points forming the contour of the target object in the captured image captured by the imaging unit ;
performing a process based on the operating point ;
The image processing method , wherein, in the selection, a point located at the uppermost position in the field of view of the head-mounted display device from among the point group is selected as the operation point .
画像処理装置が行う画像処理方法であって、
撮像画像中の複数の対象物体について、該複数の対象物体の輪郭を構成する点群のうち規定の条件を満たす点を操作点として選択し、
前記操作点に基づいて処理を実行し、
前記選択では、
前記操作点によって仮想物体を選択する選択モードの場合、前記複数の対象物体の輪郭を構成する点群から前記操作点を選択し、
前記操作点によって前記仮想物体を移動する移動モードの場合、前記複数の対象物体のうち前記仮想物体の選択時に前記操作点が属していた対象物体の輪郭を構成する点群から前記操作点を選択する
ことを特徴とする画像処理方法。
An image processing method performed by an image processing device,
For a plurality of target objects in a captured image, selecting, as operation points, points satisfying prescribed conditions from point groups forming the contours of the plurality of target objects,
performing a process based on the operating point;
In said selection,
In the case of a selection mode in which a virtual object is selected by the operating point, selecting the operating point from a group of points forming the contours of the plurality of target objects;
In the case of a movement mode in which the virtual object is moved by the operation point, the operation point is selected from a point group forming the contour of the target object to which the operation point belonged when the virtual object was selected from among the plurality of target objects. An image processing method characterized by:
コンピュータを、請求項1乃至17の何れか1項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。 A computer program for causing a computer to function as each means of the image processing apparatus according to any one of claims 1 to 17.
JP2018160599A 2017-08-31 2018-08-29 Image processing device, image processing method Active JP7209495B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017167664 2017-08-31
JP2017167664 2017-08-31

Publications (2)

Publication Number Publication Date
JP2019046472A JP2019046472A (en) 2019-03-22
JP7209495B2 true JP7209495B2 (en) 2023-01-20

Family

ID=65437625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018160599A Active JP7209495B2 (en) 2017-08-31 2018-08-29 Image processing device, image processing method

Country Status (2)

Country Link
US (2) US20190066385A1 (en)
JP (1) JP7209495B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020017261A1 (en) * 2018-07-20 2020-01-23 ソニー株式会社 Information processing device, information processing method, and program
US11340756B2 (en) * 2019-09-27 2022-05-24 Apple Inc. Devices, methods, and graphical user interfaces for interacting with three-dimensional environments
US20250095286A1 (en) * 2023-09-15 2025-03-20 Carnegie Robotics, Llc A method and a system for generating 3d information relating to a scene or area comprising an object

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014225145A (en) 2013-05-16 2014-12-04 スタンレー電気株式会社 Input operation device
JP2015046092A (en) 2013-08-29 2015-03-12 セイコーエプソン株式会社 Image processing device and head-mounted type display device having the same
JP2016091457A (en) 2014-11-10 2016-05-23 富士通株式会社 Input device, fingertip position detection method, and fingertip position detection computer program
JP2016194744A (en) 2015-03-31 2016-11-17 ソニー株式会社 Information processing apparatus and information processing method, and computer program

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06274270A (en) * 1993-03-10 1994-09-30 Roehm Properties Bv Virtual reality space data input device
US7774075B2 (en) * 2002-11-06 2010-08-10 Lin Julius J Y Audio-visual three-dimensional input/output
US20120117514A1 (en) * 2010-11-04 2012-05-10 Microsoft Corporation Three-Dimensional User Interaction
JP6074170B2 (en) * 2011-06-23 2017-02-01 インテル・コーポレーション Short range motion tracking system and method
US9934451B2 (en) * 2013-06-25 2018-04-03 Microsoft Technology Licensing, Llc Stereoscopic object detection leveraging assumed distance
JP6237000B2 (en) * 2013-08-29 2017-11-29 セイコーエプソン株式会社 Head-mounted display device
US20150205358A1 (en) * 2014-01-20 2015-07-23 Philip Scott Lyren Electronic Device with Touchless User Interface
US10310675B2 (en) * 2014-08-25 2019-06-04 Canon Kabushiki Kaisha User interface apparatus and control method
CN104740869B (en) * 2015-03-26 2018-04-03 北京小小牛创意科技有限公司 The exchange method and system that a kind of actual situation for merging true environment combines
US10409443B2 (en) * 2015-06-24 2019-09-10 Microsoft Technology Licensing, Llc Contextual cursor display based on hand tracking
EP4374942A3 (en) * 2015-08-04 2024-07-10 Google LLC Input via context sensitive collisions of hands with objects in virtual reality
US10353478B2 (en) * 2016-06-29 2019-07-16 Google Llc Hover touch input compensation in augmented and/or virtual reality
JP2018142168A (en) * 2017-02-28 2018-09-13 セイコーエプソン株式会社 Head-mounted display device, program, and control method for head-mounted display device
US10481755B1 (en) * 2017-04-28 2019-11-19 Meta View, Inc. Systems and methods to present virtual content in an interactive space

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014225145A (en) 2013-05-16 2014-12-04 スタンレー電気株式会社 Input operation device
JP2015046092A (en) 2013-08-29 2015-03-12 セイコーエプソン株式会社 Image processing device and head-mounted type display device having the same
JP2016091457A (en) 2014-11-10 2016-05-23 富士通株式会社 Input device, fingertip position detection method, and fingertip position detection computer program
JP2016194744A (en) 2015-03-31 2016-11-17 ソニー株式会社 Information processing apparatus and information processing method, and computer program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
安室 喜弘他4名,Clip-Interface:ウェアラブルPCによる3次元作業空間インタフェースの提案,画像ラボ,日本,2003年07月01日

Also Published As

Publication number Publication date
JP2019046472A (en) 2019-03-22
US20220254123A1 (en) 2022-08-11
US20190066385A1 (en) 2019-02-28

Similar Documents

Publication Publication Date Title
JP6598617B2 (en) Information processing apparatus, information processing method, and program
US11308347B2 (en) Method of determining a similarity transformation between first and second coordinates of 3D features
JP6057396B2 (en) 3D user interface device and 3D operation processing method
JP5936155B2 (en) 3D user interface device and 3D operation method
KR101711736B1 (en) Feature extraction method for motion recognition in image and motion recognition method using skeleton information
JP5709440B2 (en) Information processing apparatus and information processing method
US20180075620A1 (en) Method and system for determining a pose of camera
US20200133388A1 (en) Information processing apparatus, information processing method, and storage medium
US9779699B2 (en) Image processing device, image processing method, computer readable medium
JP4938748B2 (en) Image recognition apparatus and program
US20220254123A1 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
JP2018119833A (en) Information processing apparatus, system, estimation method, computer program, and storage medium
US20200258193A1 (en) Information processing apparatus, information processing method, and storage medium
Moeslund et al. Multiple cues used in model-based human motion capture
KR101256046B1 (en) Method and system for body tracking for spatial gesture recognition
JP5597064B2 (en) Information processing apparatus and method
JP7363962B2 (en) Processing equipment, detection equipment, systems and programs
Siam et al. Human computer interaction using marker based hand gesture recognition
CN111857364B (en) Interaction device, virtual content processing method and device and terminal equipment
JP7321029B2 (en) CALIBRATION DEVICE AND ITS CONTROL METHOD, PROGRAM AND STORAGE MEDIUM
JP2023091481A (en) Information processing device, information processing method and program
JPH08263629A (en) Detection device for shape and attitude of object
Leim et al. Using Watershed Transform for Vision-based Two-Hand Occlusion in an Interactive AR Environment

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210827

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220801

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230110

R151 Written notification of patent or utility model registration

Ref document number: 7209495

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151