JP2019046472A - 画像処理装置、画像処理方法 - Google Patents

画像処理装置、画像処理方法 Download PDF

Info

Publication number
JP2019046472A
JP2019046472A JP2018160599A JP2018160599A JP2019046472A JP 2019046472 A JP2019046472 A JP 2019046472A JP 2018160599 A JP2018160599 A JP 2018160599A JP 2018160599 A JP2018160599 A JP 2018160599A JP 2019046472 A JP2019046472 A JP 2019046472A
Authority
JP
Japan
Prior art keywords
point
image
operation point
processing apparatus
image processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018160599A
Other languages
English (en)
Other versions
JP7209495B2 (ja
Inventor
貴文 渡辺
Takafumi Watanabe
貴文 渡辺
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/ja
Application granted granted Critical
Publication of JP7209495B2 publication Critical patent/JP7209495B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/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; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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)

Abstract

【課題】 画像中の対象物体をより簡便且つ安定的に検出し、該検出した対象物体に基づく処理の実行を実現するための技術を提供すること。
【解決手段】 撮像画像中の対象物体の輪郭を構成する点群のうち、規定の条件を満たす点を操作点として選択し、該操作点に基づいて処理を実行する。
【選択図】 図1

Description

本発明は、複合現実感を提示するための技術に関するものである。
近年、現実空間と仮想空間とのつなぎ目のない結合を目的とした、複合現実感(Mixed Reality:MR)システムの研究が盛んに行われている。これらのシステムにおいて提示を行う画像表示装置としては、たとえば、頭部装着型ディスプレイ(Head Mount Display:HMD)を用いることができる。MRシステム研究の進展に伴い、特許文献1や非特許文献1のように現実物体と仮想物体との合成を目的とした、マスキング技術も提案されている。
さらに、HMD装着者の視界が覆われて操作スイッチが視認できないという問題を解決するために、マスキング技術を用いてユーザの手など身体の一部を検出し、仮想オブジェクトを操作するジェスチャ操作技術の開発も進められている。特許文献2では、物体の動きを検知する検知部によって、表示要素に対応したユーザの身体の一部の所定の動きを検知し、処理を起動させる技術が公開されている。特許文献3では、仮想パネルを奥行き方向に積層配置し、手の奥行き方向位置及び動作を検知して、複数の仮想パネルから所定のパネルを選択する技術が公開されている。
特開2002-157606号 特開平8−6708号 特許第5262681号
林建一,加藤博一,西田正吾,"境界線ベースステレオマッチングを用いた実物体と仮想物体の前後判定",日本バーチャルリアリティ学会論文誌,Vol.10,No.3,pp.371−380,2005.
特許文献1、特許文献2の方法は、手や指の認識処理を実施したうえで、手や指の動作を判断するため、MRシステムに求められるリアルタイムな応答を限られた計算資源のなかで実施することが困難な場合がある。また手や指の認識を前提とするため、手や指の形状認識が不安定な状況下では、操作が困難となる。
本発明はこのような問題に鑑みてなされたものであり、画像中の対象物体をより簡便且つ安定的に検出し、該検出した対象物体に基づく処理の実行を実現するための技術を提供する。
本発明の一様態は、撮像画像中の対象物体の輪郭を構成する点群のうち、規定の条件を満たす点を操作点として選択する選択手段と、前記操作点に基づいて処理を実行する処理手段とを備えることを特徴とする。
本発明の構成によれば、画像中の対象物体をより簡便且つ安定的に検出し、該検出した対象物体に基づく処理の実行を実現することができる。
システムの構成例を示すブロック図。 情報処理装置1000が行う処理のフローチャート。 図2のフローチャートに従った処理を説明する図。 情報処理装置1000が行う処理のフローチャート。 図4のフローチャートに従った処理を説明する図。 情報処理装置1000が行う処理のフローチャート。 図6のフローチャートに従った処理を説明する図。 情報処理装置1000が行う処理のフローチャート。 図8のフローチャートに従った処理を説明する図。 情報処理装置1000が行う処理のフローチャート。 図10のフローチャートに従った処理を説明する図。 情報処理装置1000が行う処理のフローチャート。 図12のフローチャートに従った処理を説明する図。 情報処理装置1000が行う処理のフローチャート。 図14のフローチャートに従った処理を説明する図。 コンピュータ装置のハードウェア構成例を示すブロック図。 システムの構成例を示すブロック図。 情報処理装置1000が行う処理のフローチャート。 図18のフローチャートに従った処理を説明する図。 情報処理装置1000が行う処理のフローチャート。 図20のフローチャートに従った処理を説明する図。
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の1つである。
[第1の実施形態]
先ず、本実施形態に係るシステムの構成例について、図1のブロック図を用いて説明する。図1に示す如く、本実施形態に係るシステムは、PC(パーソナルコンピュータ)やタブレット端末装置などのコンピュータ装置である情報処理装置1000と、頭部装着型表示装置の一例としてのHMD1100と、を有する。情報処理装置1000とHMD1100との間は、互いにデータ通信が可能なように接続されており、例えば、LANやインターネットなどのネットワークを介して接続されている。なお、情報処理装置1000とHMD1100との間の接続形態については特定の接続形態に限らず、例えば、無線であっても良いし有線であっても良い。
先ず、HMD1100について説明する。撮像部1110はHMD1100を頭部に装着したユーザの左眼に提供する現実空間の画像(左眼用画像)を撮像する為の左眼用撮像部(左視点)と、該ユーザの右眼に提供する現実空間の画像(右眼用画像)を撮像する為の右眼用撮像部(右視点)と、を有する。左眼用撮像部及び右眼用撮像部のそれぞれは静止画像を撮像する撮像部であっても良いし、動画像を撮像する撮像部であっても良い。そして撮像部1110は、左眼用撮像部により撮像された左眼用画像と右眼用撮像部により撮像された右眼用画像とのセットをスレテオ画像として情報処理装置1000に送出する(つまりステレオ画像は、静止画像であっても良いし、動画像であっても良い)。
表示部1120は、HMD1100を頭部に装着したユーザの左眼に画像や文字を提供するための左眼用表示部と、該ユーザの右眼に画像や文字を提供するための右眼用表示部と、を有する。左眼用表示部及び右眼用表示部はそれぞれ、HMD1100を頭部に装着したユーザの左眼及び右眼の眼前に位置するようにHMD1100に取り付けられたものであり、情報処理装置1000から送出された画像や文字を表示する。
次に、情報処理装置1000について説明する。情報処理装置1000は、後述する各処理を実行可能な画像処理装置として機能する装置である。取得部1010は、撮像部1110から送出されたステレオ画像を受信する。輪郭生成部1020は、取得部1010が受信したステレオ画像中(撮像画像中)に写っている対象物体(人の手など、何らかの操作を行うためにユーザが利用する現実物体)の輪郭線を構成する各点の3次元位置を求める。
計測部1030は、取得部1010が受信した左眼用画像を用いて、世界座標系(現実空間中の1点を原点とし、該原点で互いに直交する3軸をそれぞれ、x軸、y軸、z軸とする座標系)における左視点の位置姿勢を求める。更に計測部1030は、取得部1010が受信した右眼用画像を用いて、世界座標系における右視点の位置姿勢を求める。例えば、計測部1030は、画像中に写っている特徴点(現実空間中に人が意図的に配置したマーカ、現実空間中に元来存在する自然特徴等)に基づいて、該画像を撮像した撮像部の位置姿勢を算出する。なお、世界座標系における撮像部の位置姿勢を取得するための方法には様々な方法があり、特定の方法に限らない。例えば、撮像部(左眼用撮像部及び右眼用撮像部)に対する相対的な位置姿勢が既知のセンサをHMD1100に取り付け、該センサによる計測値を該相対的な位置姿勢に基づいて変換することで、世界座標系における撮像部の位置姿勢を求めるようにしても良い。また、モーションキャプチャシステムを利用する方法、撮像画像を用いたSimultaneous Localization and Mapping(SLAM)を利用する方法等により世界座標系における撮像部の位置姿勢を求めても良い。
操作点算出部1040は、上記の輪郭線を構成する各点のうち、規定の条件を満たす点を操作点として選択する。本実施形態では操作点算出部1040は、上記の輪郭線を構成する各点のうち、Row方向において最も画像の上側に位置する点を操作点として選択する。
信号生成部1050は、操作点の3次元位置や動き、規定の仮想物体に対する相対的な操作点の位置や動き、等に基づいて、規定の処理を実行するためのトリガとなる信号を生成して信号処理部1070に対して送出する。本実施形態では、操作点の位置に配置するポインタがボタン(仮想物体)における規定の部分と接触した場合には、ボタンが押下されたと判断し、規定の処理を実行するためのトリガとなる信号を生成して信号処理部1070に送出する。しかし、規定の処理を実行するためのトリガとなる信号を生成するための条件は特定の条件に限らない。例えば操作点の時系列的な3次元位置(絶対位置でも良いし規定の仮想物体に対する相対的な3次元位置でも良い)の変化を規定のジェスチャとして認識した場合、規定の処理を実行するためのトリガとなる信号を生成して信号処理部1070に送出しても良い。信号処理部1070は、信号生成部1050から送出された信号に対応する処理を実行する。
保持部1060は、仮想空間中に配置する各仮想物体(CGモデル)の描画データが保持されている。仮想物体の描画データとは、仮想物体を描画するために必要なデータである。例えば仮想物体をポリゴンで構成する場合、該仮想物体の描画データには、ポリゴンの色や材質や法線ベクトル、ポリゴンを構成する各頂点の3次元位置、ポリゴンにマッピングするテクスチャ、仮想物体の世界座標系における位置姿勢等のデータが含まれている。仮想空間中に配置する仮想物体には、操作点の3次元位置をユーザに視認させるために該操作点の3次元位置に配置するポインタ、上記のボタン、が含まれている。
CG生成部1080は、保持部1060に保持されているそれぞれの仮想物体の描画データを用いて、仮想物体を構築して仮想空間中に配置する。そしてCG生成部1080は、計測部1030が求めた世界座標系における左視点の位置姿勢に基づき、該左視点から見た仮想空間の画像(左眼用の仮想空間画像)を生成する。更にCG生成部1080は、計測部1030が求めた世界座標系における右視点の位置姿勢に基づき、該右視点から見た仮想空間の画像(右眼用の仮想空間画像)を生成する。規定の位置姿勢を有する視点から見た仮想空間の画像を生成するための技術については周知であるため、この技術に係る説明は省略する。
合成部1090は、取得部1010が受信した左眼用画像に左眼用の仮想空間画像を重畳させた合成画像を左眼用の複合現実空間画像として生成する。更に合成部1090は、取得部1010が受信した右眼用画像に右眼用の仮想空間画像を重畳させた合成画像を右眼用の複合現実空間画像として生成する。このとき、左眼用画像及び右眼用画像のそれぞれにおいて対象物体が写っている画像領域の一部若しくは全部に仮想空間画像を重畳させる場合には、対象物体と仮想物体との奥行きを考慮して、物体同士の隠蔽関係を整合させる。つまり、対象物体の画像領域において該対象物体よりも視点に近い仮想物体が重なった部分領域については仮想空間画像の重畳を許可する。一方、対象物体の画像領域において該対象物体よりも視点から遠い仮想物体が被った部分領域については仮想空間画像の重畳を禁止する。
そして合成部1090は、左眼用の複合現実空間の画像を、HMD1100の表示部1120が有する左眼用表示部に送出すると共に、右眼用の複合現実空間の画像を、HMD1100の表示部1120が有する右眼用表示部に送出する。
次に、情報処理装置1000が1フレーム分の複合現実空間画像(左眼用の複合現実空間画像及び右眼用の複合現実空間画像)を生成して表示部1120に対して出力するために行う処理について、図2のフローチャートに従って説明する。なお、図2のフローチャートに従った処理を繰り返して行うことで、複数フレームの複合現実空間画像を生成してHMD1100に対して送出することができる。
ステップS2000では、取得部1010は、撮像部1110から送出されたステレオ画像を受信する。ステップS2100では、輪郭生成部1020は、ステレオ画像に含まれている左眼用画像及び右眼用画像のそれぞれから、該画像上における対象物体の輪郭線(2次元輪郭線)を抽出する。例えば、図3(A)に示す如く、対象物体としての人の手3010を含む画像3000から手3010の2次元輪郭線を抽出する場合、あらかじめ手を撮像した撮像画像から該手の画像領域内の色情報を抽出してテーブルに登録しておく。色情報は、RGBであっても良いし、YCbCrの輝度と色味情報で表現してもよい。2次元輪郭線を取得するための方法はこれに限定されず、グラフカットや機械学習などを利用したセグメンテーション手法を用いてよい。そして、図3(B)に示す如く、画像3000から、テーブルに登録しておいた色情報を有する画像領域の輪郭線3020を、手3010の2次元輪郭線として抽出する。
ステップS2200では、輪郭生成部1020は、左眼用画像から抽出した2次元輪郭線と右眼用画像から抽出した2次元輪郭線とでマッチングをとることで、対象物体の3次元輪郭線を生成する。3次元輪郭線の生成方法は特定の方法に限らず、例えば、非特許文献1に開示されている方法を適用することができる。すなわち、ステレオ画像に含まれている左眼用画像及び右眼用画像のうち一方の画像上の2次元輪郭線上のサンプリング点に対応するエピポーラ線を他方の画像上に投影し、エピポーラ線と2次元輪郭線とが交わる点を対応点とする。この2次元輪郭線上のサンプリング点を複数決定し、2次元輪郭線上に複数の対応点を求める。そして、2次元輪郭線上にある複数の対応点のそれぞれの奥行き値を、三角測量によって算出する。
次に、ステップS2300では、操作点算出部1040は、対応点を取得した画像において、Row方向において最も上側の座標値を有する対応点を操作点として選択する。例えば図3(C)に示す如く、図3(B)の輪郭線3020に対応する3次元輪郭線3030上の対応点(「○」で示している)のうち、Row方向において最も上側の座標値を有する対応点3040を操作点として選択する。なお、操作点を得る実空間オブジェクトが複数存在する場合に、操作点を抽出するための1つの実空間オブジェクトを選択してもよい。
本実施形態では、複数の実空間オブジェクトから得られた複数の3次元輪郭において、操作点3040の算出と同様の方法によって得られる特徴点のうち、取得画像でRow方向において最も上に存在する特徴点が属する3次元輪郭を選択する。操作点を抽出するために1つの実空間オブジェクトを選択する方法では、この他に、3次元輪郭によって形成される3次元曲面の面積や、重心点の位置、3次元輪郭の頂点数や頂点群の平均位置などのさまざまな特徴を利用してよい。
ステップS2400では、操作点算出部1040は、操作点の3次元位置、即ち、対応点を取得した画像を撮像した撮像部の位置姿勢を基準とする座標系における3次元位置を、該撮像部の位置姿勢に基づいて、世界座標系における3次元位置に変換する。
ステップS2500では、計測部1030は、左眼用画像を用いて世界座標系における左視点の位置姿勢を求めると共に、右眼用画像を用いて世界座標系における右視点の位置姿勢を求める。そしてCG生成部1080は、保持部1060に保持されているそれぞれの仮想物体の描画データを用いて、仮想物体を構築して仮想空間中に配置する。
その際、CG生成部1080は、世界座標系における操作点の3次元位置にポインタを配置する。ポインタとして用いる仮想物体は特定の仮想物体に限らない。更にCG生成部1080は、上記のボタンを規定の位置姿勢でもって仮想空間中に配置する。そしてCG生成部1080は、左視点から見た仮想空間の画像(左眼用の仮想空間画像)を生成すると共に、右視点から見た仮想空間の画像(右眼用の仮想空間画像)を生成する。
ステップS2600では、合成部1090は、左眼用画像に左眼用の仮想空間画像を重畳させた合成画像を左眼用の複合現実空間画像として生成する。更に合成部1090は、右眼用画像に右眼用の仮想空間画像を重畳させた合成画像を右眼用の複合現実空間画像として生成する。これにより、例えば、図3(D)に示す如く、画像3000上における対応点3040の位置にポインタ3050を重畳させることができる。
ステップS2700では、合成部1090は、左眼用の複合現実空間の画像を、HMD1100の表示部1120が有する左眼用表示部に送出すると共に、右眼用の複合現実空間の画像を、HMD1100の表示部1120が有する右眼用表示部に送出する。
次に、操作点とボタンとの接触判定処理について、図4のフローチャートに従って説明する。なお、図4のフローチャートに従った処理は、図2のフローチャートに従った処理の一部として行っても良いし、別のスレッドとして行っても良い。
ステップS4100では、信号生成部1050は、操作点の3次元位置に配置したポインタとボタンとが接触したか否かを判断する。ポインタとボタンとの接触判定方法には様々な方法が適用可能である。例えば、図5に示す如く、前フレームのポインタ3050の3次元位置と現フレームのポインタ3050の3次元位置とを結ぶ線分がボタン5100を構成する何れかのポリゴンと交差する場合には、ポインタ3050とボタン5100とが接触したと判断する。また、ポインタ3050の位置を含む3次元領域を設定し、該3次元領域を構成する面や線分が、ボタン5100を構成する何れかのポリゴンと交差する場合には、ポインタ3050とボタン5100とが接触したと判断する。
このような判断の結果、ポインタとボタンとが接触したと判断した場合には、処理はステップS4200に進み、接触したと判断していない場合には、処理はステップS4100に戻る。
ステップS4200では、信号生成部1050は、ボタンが押下された場合に実行する処理として予め設定された処理を実行するための信号を生成し、該生成した信号を信号処理部1070に対して送出する。ステップS4300では、信号処理部1070は、信号生成部1050から受けた信号に対応する処理を実行する。
[第2の実施形態]
本実施形態を含め、以下では、第1の実施形態との差分について説明し、以下で特に触れない限りは、第1の実施形態と同様であるものとする。第1の実施形態では、選択する操作点の数を1としていたが、選択する操作点の数は2以上であっても良い。選択可能な操作点の数を2以上とし、それぞれの操作点について、該操作点の位置や動きに応じた処理を実行可能とすることで、対象物体による操作の種類を第1の実施形態よりも増加させることができる。本実施形態では、図2のフローチャートにおいて、上記のステップS2100〜S2500の代わりに図6のフローチャートに従った処理を行う。
ステップS6100では、輪郭生成部1020は、ステレオ画像に含まれている左眼用画像及び右眼用画像のそれぞれから、該画像上における対象物体の画像領域を抽出する。例えば、図7(A)に示す如く、対象物体としての人の手3010a及び3010bを含む画像7000から、手3010a及び3010bのそれぞれの画像領域を抽出する。手の画像領域の抽出方法については、上記のステップS2100と同様、予め登録しておいた手の色情報を有する画像領域を抽出する。
ステップS6200では、輪郭生成部1020は、手の色情報を有する画素が複数存在する場合には、それぞれの画素についてラベリング処理を行う。ステップS6100で手の色情報を有する画素として抽出した抽出画素同士が隣接している場合に、これらの画素に同一のラベルを付与する。図7(A)の画像7000に対してラベリング処理を行うことで、図7(B)に示す如く、手3010aの画像領域7010に属する各画素にはラベルAが付与され、手3010bの画像領域7020に属する各画素にはラベルAとは異なるラベルBが付与される。
ステップS6300では、輪郭生成部1020は、ラベリングされた画像領域ごとに、画像領域の2次元輪郭線を上記のステップS2100と同様にして抽出する。
ステップS6400では輪郭生成部1020は、上記のステップS2200と同様の処理を行うことで、一方の画像における着目画像領域の2次元輪郭線と、他方の画像において該着目画像領域に対応する画像領域の2次元輪郭線と、を対応付ける。そして輪郭生成部1020は、対応付けた2次元輪郭線の組ごとに、該組に属する2次元輪郭線を用いて上記のステップS2200と同様の処理を行うことで、該組に対応する対象物体の3次元輪郭線を構成する点群を求める。
ステップS6500では、操作点算出部1040は、上記の組ごとに、上記のステップS2300と同様にして、該組についてステップS6400で求めた点群のうち規定の条件を満たす点を操作点として選択する。図7(C)に、画像領域7010に対応する3次元輪郭線3030を構成する点群のうち操作点として選択された対応点3040、画像領域7020に対応する3次元輪郭線3031を構成する点群のうち操作点として選択された点7030、を示す。
ステップS6600で操作点算出部1040は、それぞれの操作点について上記のステップS2400と同様の処理を行うことで、該操作点の3次元位置を、世界座標系における3次元位置に変換する。
ステップS6700では、操作点算出部1040は、前フレームにおける操作点と現フレームにおける操作点とで同じ対象物体の操作点同士を対応付けることで、連続性を確保する。例えば、前フレームについて求めたそれぞれの操作点の3次元位置と現フレームについて求めたそれぞれの操作点の3次元位置との間の距離を求める。そして、現フレームにおける着目操作点を、前フレームにおける操作点のうち該着目操作点の3次元位置に最も近い3次元位置の操作点と対応付ける。対応付けの方法として、速度情報やカルマンフィルタなどの予測情報を利用してもよい。
ステップS6800では、上記のステップS2500と同様の処理が行われるのであるが、CG生成部1080は操作点ごとに、世界座標系における該操作点の3次元位置にポインタを配置する。これにより、例えば、図7(D)に示す如く、画像3000上における対応点3040の位置にポインタ3050を重畳させ、操作点としての点7030の位置にポインタ7040を重畳させることができる。
次に、2つのポインタの位置に応じて行う処理について、図8のフローチャートに従って説明する。なお、図8のフローチャートに従った処理は、上記の処理の一部として行っても良いし、別のスレッドとして行っても良い。
ステップS8100では、信号生成部1050は、仮想空間中に2つのポインタが配置されており且つ2つのポインタ間の距離が規定距離以内である状態が連続して規定時間以上である、という条件が満たされているか否かを判断する。この判断の結果、この条件が満たされている場合には、処理はステップS8200に進み、この条件が満たされていない場合には、処理はステップS8100に戻る。
ステップS8200では、信号生成部1050は、メニューパネルを展開するモード(メニューパネル展開モード)をONにする。なお、上記の条件が満たされていない場合には、信号生成部1050は、このメニューパネル展開モードをOFFにする。メニューパネル展開モードがONになると、複合現実空間画像には図9(A)に示す如く、ポインタ3050及びポインタ7040の2つのポインタの画像上における位置を対角線の端部の位置とする矩形のオブジェクト9100が重畳される。オブジェクト9100は、メニューパネルを展開中であることを示すオブジェクトである。
然るにメニューパネル展開モードがONになると、信号生成部1050は、オブジェクト9100の生成を指示する信号を生成して信号処理部1070に送出する。信号処理部1070は、このような信号を受信すると、矩形のオブジェクト9100を生成するよう、CG生成部1080に指示する。なお、矩形のオブジェクト9100と2つのポインタとの位置関係は図9(A)に示すような位置関係に限らない。
ステップS8300では、信号生成部1050は、2つのポインタ間の距離が規定距離以上である、という条件が満たされているか否かを判断する。この判断の結果、この条件が満たされている場合には、処理はステップS8400に進み、この条件が満たされていない場合には、処理はステップS8100に戻る。
ステップS8400で信号生成部1050は、2つのポインタの位置の平均位置を中心位置とし、且つ撮像部の視線ベクトルと平行なベクトルを法線ベクトルとする面上にメニューパネルを配置するよう指示する信号を生成して信号処理部1070に送出する。ここで、撮像部の視線ベクトルとは、右眼用撮像部、左眼用撮像部の何れかの視線ベクトルであっても良いし、右眼用撮像部の視線ベクトル及び左眼用撮像部の視線ベクトルの平均ベクトルであっても良い。これにより信号処理部1070は、例えば図9(B)に示す如く、2つのポインタの位置の平均位置を中心位置とし、且つ撮像部の視線ベクトルと平行なベクトルを法線ベクトルとする面上にメニューパネル9101を配置するようCG生成部1080に指示する。
次に、2つのポインタの位置に応じて行う別の処理について、図10のフローチャートに従って説明する。なお、図10のフローチャートに従った処理は、上記の処理の一部として行っても良いし、別のスレッドとして行っても良い。図10のフローチャートに従った処理では、操作点ごとに固有の処理を割り当てておき、該操作点に対応するポインタが規定の条件を満たした場合には、該操作点に割り当てられている処理を実行する。
ステップS10100では、信号生成部1050は、それぞれの操作点に対して役割を設定する。例えば、画像の左半分に位置する操作点に対しては第1の役割を設定し、画像の右半分に位置する操作点に対しては第1の役割とは異なる第2の役割を設定する。役割の設定方法は、ユーザにGUIを介して設定させても良いし、予め設定しておいても良いし、HMD1100の使用状況に応じて設定しても良い。
本実施形態では、本処理の事前段階として、本処理に入るためにメニューを押下することを前提としており、このメニューを押下した操作点(操作点A)付近に上記のボタンを表示し、他方の操作点(操作点B)はボタンを押す側の操作点とする。然るにステップS10100では、操作点Aについては、付近にボタン表示、という役割を設定し、操作点Bについては、ボタン押下、という役割を設定することになる。
ステップS10200では、信号生成部1050は、2つの操作点の3次元位置が撮像部1110(左眼用撮像部及び右眼用撮像部)の視野内に位置している、という条件が満たされているか否かを判断する。この判断の結果、この条件が満たされている場合には、処理はステップS10300に進み、この条件が満たされていない場合には、処理はステップS10200に戻る。
ステップS10300では、信号生成部1050は、操作点Aの3次元位置の付近にボタンを配置することを指示する信号を生成して信号処理部1070に送出する。これにより信号処理部1070は、操作点Aの3次元位置の付近にボタンを配置するようCG生成部1080に指示するので、図11(A)に示す如く、複合現実空間画像上には、操作点Aに対応するポインタ3050の付近にはボタン11000が配置される。
ステップS10400では、信号生成部1050は、上記のステップS4100と同様にして、操作点Bに対応するポインタとボタンとが接触したか否かを判断する。図11(B)にポインタとボタンとが接触した様子を示す。このような判断の結果、ポインタとボタンとが接触したと判断した場合には、処理はステップS10500に進み、接触したと判断していない場合には、処理はステップS10200に戻る。
ステップS10500では、信号生成部1050は、ボタンが押下された場合に実行する処理として予め設定された処理を実行するための信号を生成し、該生成した信号を信号処理部1070に対して送出する。信号処理部1070は、信号生成部1050から受けた信号に対応する処理を実行する。
なお、本実施形態では、操作点を設定可能な対象物体としての手の数を2とした。しかし、操作点を設定可能な対象物体の数は2以上であっても良く。その場合、選択される操作点の数も2以上となる。
[第3の実施形態]
第1,2の実施形態では、1つの対象物体に対して1つの操作点を設定していたが、1つの対象物体に対して設定可能な操作点の数は2以上であっても良い。例えば、1本の指を用いる場合よりも、複数の指を用いる場合の方が、より多様な操作を実現することができるため、1つの手における複数の指に対して操作点を設定し、該設定した操作点のそれぞれの位置や動きなどに応じた処理を実行することには意義がある。本実施形態では、図2のフローチャートにおいて、上記のステップS2300〜S2500の代わりに図12のフローチャートに従った処理を行う。
ステップS12100では、操作点算出部1040は、3次元輪郭線を構成する点群中に存在する尖鋭点の凸度(尖度)を求める。例えば、図13(A)に示す如く、3次元輪郭線を構成する点群13100中に存在する尖鋭点13200の尖度を求める。尖鋭点13200は、3次元輪郭線上の点群を画像上に射影したうえで凸包処理を行い、得られた凸包の点を、射影した輪郭線の各点の共通点と定義する。なお、尖鋭点を求める方法は特定の方法に限らない。凸包生成の前処理として、射影した輪郭線に対し、ローパスフィルタを施してもよい。次に、射影した輪郭線の各点において、得られた尖鋭点を起点に両側にそれぞれ所定数番目の点を選定し、一方端の点から他方端の点までの(n−1)番目とn番目で構成される線分と、n番目と(n+1)番目で構成される線分のなす角の総和を求める。この値を尖度と定義する。なお尖度の定義は他でもよく、例えば、上記の尖度に対し、一方端の点から他方端の点までの間の隣接する点で構成する線分の集合の距離の和で割ったものを尖度としてもよい。
ステップS12200では、操作点算出部1040は、尖度が閾値以上となる尖鋭点を以下の処理の対象となる対象尖鋭点とし、尖度が閾値未満の尖鋭点を以下の処理から除外する。なお、この閾値を0とすれば、全ての尖鋭点を対象尖鋭点とすることができる。また、3次元輪郭線上の各点について尖度を求め、閾値以上の点を対象尖鋭点としても良い。
ステップS12300では、操作点算出部1040は、対象尖鋭点群から2つの対象尖鋭点を選択する。対象尖鋭点群から2つの尖鋭点を選択する選択条件については特定の条件に限らない。本実施形態では、対象尖鋭点のうち、画像(左眼用画像及び右眼用画像の何れか一方)上に射影した場合にRow方向において最も上側と2番目に上側の座標値を有する尖鋭点をそれぞれ第1の操作点、第2の操作点として選択する。例えば、図13(A)に示す如く点群13100が得られている場合には、最も上側の座標値を有する尖鋭点13300を第1の操作点として選択し、2番目に上側の座標値を有する尖鋭点13400を第2の操作点として選択する。なお、尖度が最も高い尖鋭点を第1の操作点、次に尖度が高い尖鋭点を第2の操作点、として選択するようにしても良いし、座標値と尖度の双方を考慮して操作点を決定しても良い。
ステップS12400で操作点算出部1040は、第1の操作点及び第2の操作点のそれぞれについて上記のステップS2400と同様の処理を行うことで、該第1の操作点及び第2の操作点のそれぞれの3次元位置を世界座標系における3次元位置に変換する。
ステップS12500では、上記のステップS2500と同様の処理が行われるのであるが、CG生成部1080は第1の操作点及び第2の操作点のそれぞれについて、世界座標系における該操作点の3次元位置にポインタを配置する。これにより、例えば、図13(B)に示す如く、画像上における第1の操作点の位置にポインタ13310を重畳させ、第2の操作点の位置にポインタ13410を重畳させることができる。
そして信号生成部1050は、それぞれの操作点の3次元位置や動きに応じた処理を行うためのトリガとなる信号を生成して信号処理部1070に送出し、信号処理部1070は、該信号に応じた処理を行うよう、CG生成部1080を制御する。なお、操作点の位置や動きに応じた処理に限らず、各操作点の位置や姿勢、動きの情報を利用してもよいし、複数の操作点間の相対的な位置や姿勢、動きの情報を利用してもよい。さらに、他の仮想物体との接触状態や、各操作点と仮想物体との相対的な位置や姿勢、動きの情報を利用してもよい。
<第3の実施形態の変形例1>
本変形例では、第3の実施形態において説明した複数の操作点の算出方法とは異なる別の算出方法について説明する。本変形例では、図2のフローチャートにおいて、上記のステップS2300〜S2500の代わりに図14のフローチャートに従った処理を行う。
ステップS14100では、操作点算出部1040は、3次元輪郭線上の尖鋭点のうち1つを第1の操作点として選択する。第1の操作点の選択条件については特定の選択条件に限らないが、本実施形態では第3の実施形態と同様にして第1の操作点を選択するものとする。例えば、図15(A)に示す如く、点群15100から第3の実施形態と同様にして第1の操作点15200を選択する。
ステップS14200では、操作点算出部1040は、第1の操作点を基準にして画像(左眼用画像及び右眼用画像の何れか一方)上にROI(region of interest)を設定する。例えば、図15(B)に示す如く、3次元輪郭線上の各点を画像上に投影し、そのうち第1の操作点15200の位置を上辺の中点とする矩形領域15300をROIとして設定する。
ステップS14300では、操作点算出部1040は、画像上に投影した点によって構成される輪郭線をROIの境界によって分割する。例えば図15(C)に示す如く、隣接する輪郭線の点で構成する線分が、ROIの境界を跨いだとき、ROI外の点を除外するとともに、輪郭線を分割する。
ステップS14400では、操作点算出部1040は、ROI内のそれぞれの輪郭線上の点から操作点の候補を選択する。輪郭線の候補を選択する方法については特定の方法に限らないが、本実施形態では、ROI内のそれぞれの輪郭線について、該輪郭線上の点のうち画像上でRow方向において最も上側の点を操作点の候補とする。
ステップS14500では、操作点算出部1040は、操作点の候補から第2の操作点、第3の操作点、…というように規定個数の操作点を決定する。操作点の決定方法は特定の方法に限らないが、本実施形態では、操作点の候補のうち画像上でRow方向において上側の候補から順に第2の操作点、第3の操作点、…というように規定個数の操作点を決定する。
ステップS14600で操作点算出部1040は、それぞれの操作点について上記のステップS2400と同様の処理を行うことで、該それぞれの操作点の3次元位置を、世界座標系における3次元位置に変換する。
ステップS14700では、上記のステップS2500と同様の処理が行われるのであるが、CG生成部1080はそれぞれの操作点について、世界座標系における該操作点の3次元位置にポインタを配置する。
<第3の実施形態の変形例2>
上記の各実施形態や変形例では、対象物体の3次元輪郭線をステレオ画像を用いて求めていたが、対象物体の3次元輪郭線を求めるための方法は特定の方法に限らない。例えば、図17に示す如く、HMD1100にデプスカメラ17010を搭載して、対象物体のデプス画像を撮像させる。デプスカメラ17010による対象物体のデプス画像は情報処理装置1000に対して送出される。輪郭生成部1020は、デプスカメラ17010からのデプス画像を用いて対象物体の3次元輪郭線を求める。
また、上記の実施形態や変形例では、画像上の操作点が誰のものであるのか、また、どのような物体であるのか、については全く識別していない。そのため、例えば、画像上に複数人のユーザの手が含まれている場合には、それぞれの手(や指)に対して操作点を設定することもできる。この場合、複数人のユーザの手の位置や動きによるジェスチャに応じた処理を行うことが可能となる。なお、ユーザの手は対象物体の一例に過ぎず、対象物体の特徴量(色や形状など)を予め保持しておくことで、この特徴量を用いて画像から対象物体の画像領域を検出することができ、その結果、対象物体の輪郭線を検出することができる。
また、上記の実施形態や変形例では、輪郭線上の全ての点について3次元位置を求めた後、輪郭線上の点群のうち規定の条件を満たす点を操作点としていた。しかし、輪郭線上の点群のうち規定の条件を満たす点を操作点として決定した後、この操作点の3次元位置を求めるようにしても良い。
[第4の実施形態]
第1の実施形態では、操作点となる所定の特徴は、操作状態に特に依存しないが、操作状態によって操作点を得るための特徴を切り替えることができれば、操作性が向上することが期待される。
例えば、図19(A)に示すように、実空間オブジェクトが手である場合、CGモデル19200の選択やCGボタンの押下は、指先で実施する場合が多いと想定される。このため、図19(A)に示すように、HMDの視野において最も上側の座標値を有する特徴点を、操作点19100とすることが好ましい。一方、CGモデルの操作中は、手の向きや角度が変化するため、HMDの視野における手の最上点を操作点とするよりも、図19(B)に示すように、手の領域の重心あるいは平均中心を操作点19400とした方が、操作点の意図せぬ挙動が軽減される。本実施形態では、操作状態によって操作点を得るための特徴を切り替える方法について説明する。
操作状態によって操作点となる特徴を切り替える一連の処理を、図18のフローチャートを用いて説明する。
ステップS18100−S18200は、第1の実施形態のステップS2100−S2200と同様であるため説明を省略する。
ステップS18300では、現在のアプリケーションの状態を取得し、その状態によって以後の処理を分岐する。本実施形態では、アプリケーションの状態として、CGモデルの選択モードとCGモデルの移動モードを例として以降の説明を行うが、アプリケーションの状態はこれに限らない。
ステップS18400では、アプリケーションの状態がCGモデルの選択モードのときの操作点の選択処理が実行される。本実施形態では、ステップS18200で得られた3次元輪郭線の頂点をステップS18100において取得した画像に射影した場合に、Row方向において最も上側の座標値を有する3次元輪郭線上の頂点を操作点とする。操作点を算出するための特徴はこの方法に限定されないが、ステップS18500におけるアプリケーションの状態が他のモードのときに用いられる方法とは別の方法である必要がある。
ステップS18500では、アプリケーションの状態がCGモデルの移動モードのときの操作点の選択処理が実行される。本実施形態では、ステップS18200で得られた3次元輪郭線によって形成される3次元曲面領域の重心を算出し、これを操作点とする。操作点を算出するための特徴はこれに限らず、3次元輪郭の頂点の中心位置などでもよい。
ステップS18600−S18700は、第1の実施形態のステップS2400−S2500と同様であるため説明を省略する。
[第5の実施形態]
本実施形態では、操作点を得る実空間オブジェクトが複数存在した場合に、操作点を抽出するための1つの実空間オブジェクトを選択する方法を、操作状態によって切り替える方法について説明する。
例えば、操作点を抽出するための1つの実空間オブジェクトを、HMDの視野において一番上に存在する実空間オブジェクトとすると、CGモデルを下方向に移動した際、他の実空間オブジェクトがそれまで操作点が属していた実空間オブジェクトよりも上になったときに、操作点が他の実空間オブジェクトに移ってしまい、操作性が損なわれるという問題が発生する。
そこで本実施形態では、図21(A)に示すように、CGモデルの選択状態では、操作点21100が取得画像の視野の一番上に存在する実空間オブジェクト21300、21200が選択される。また、図21(B)に示すように、CGモデル21400が移動状態のときは、CGモデル21400の移動開始時に選択した実空間オブジェクト21300をトラッキングし、その実空間オブジェクト21300を選択する。
操作点を抽出するための1つの実空間オブジェクトを選択する方法を、操作状態によって切り替える一連の処理を、図20のフローチャートを用いて説明する。
ステップS20100−S20400の処理は、第2の実施形態のステップS6100−S6400の処理と同様であるため、説明を省略する。
ステップS20500では、現在のアプリケーションの状態を取得し、その状態によって以降の処理を分岐する。本実施形態では、アプリケーションの状態がCGモデルの選択モードである場合にステップS20600に分岐し、CGモデルの操作モードである場合にステップS20700に分岐する。
ステップS20600では、ステップS20400で得られた複数の3次元輪郭線の中から、操作点を算出するための3次元輪郭を選択する処理が実行される。本実施形態では、各3次元輪郭の頂点をステップS20100において取得した画像に射影した場合に、Row方向において最も上側の座標値を有する3次元輪郭線上の頂点を比較点とする。比較点を算出するための特徴の取り方は、この方法に限定せず如何なる方法でもよい。次に、この比較点が複数の3次元輪郭の中でRow方向において最も上側の座標となる比較点が属する3次元輪郭を、操作点を算出するための3次元領域として選択する。比較点から操作点を算出するための選択方法は上述の方法に限定されないが、ステップS20700とは別の方法である必要がある。
ステップS20700では、ステップS20400で得られた複数の3次元輪郭線の中から、操作点を算出するための3次元輪郭を選択する処理が実行される。本実施形態では、移動対象となるCGモデルを選択する選択モードにおいて、CGモデルを実際に選択することによってCGモデルを移動する移動モードに遷移するイベントが発行される。移動モードでは、CGモデルを選択する際に操作点が属していた3次元輪郭をトラッキングし続け、これを、操作点を算出するための3次元輪郭として選択する。3次元輪郭のトラッキングすなわち処理フレーム間の同一性の推定方法は、如何なる方法でもよい。本実施形態では、3次元輪郭によって生成される3次元曲面領域の重心の距離が、前フレームと現フレームにおいて最も近いものを同一の3次元輪郭として取り扱う。
ステップS20800では、ステップS20600あるいはステップS20700で選択した3次元輪郭線から、操作点を算出する。具体的には、選択した3次元輪郭線を撮像画像に射影した場合に、撮像画像においてRow方向において最も上側の座標値を有する3次元輪郭線上の頂点を操作点とする。操作点を算出するための特徴はこの方法に限定せず如何なる方法でもよい。また、第4の実施形態のように、操作モードに応じてその特徴を切り替えてもよい。
ステップS20900−S20110は、第2の実施形態のステップS6700−S6800と同様であるため説明を省略する。
[第6の実施形態]
図1,17に示した情報処理装置1000の各機能部はハードウェアで実装しても良いが、保持部1060を除く他の機能部についてはソフトウェア(コンピュータプログラム)で実装しても良い。後者の場合、保持部1060として機能するメモリを有し、且つこのソフトウェアを実行可能なコンピュータ装置は、上記の情報処理装置1000に適用可能である。
情報処理装置1000に適用可能であるコンピュータ装置のハードウェア構成例について、図16のブロック図を用いて説明する。なお、図16に示したハードウェア構成は、情報処理装置1000に適用可能なコンピュータ装置のハードウェア構成の一例に過ぎない。
CPU16200は、ROM16300やRAM16400に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU16200は、コンピュータ装置全体の動作制御を行うと共に、情報処理装置1000が行うものとして上述した各処理を実行若しくは制御する。
ROM16300には、書換不要のコンピュータプログラムやデータ(例えばBIOSのコンピュータプログラムやデータ)が格納されている。RAM16400は、ROM16300や外部記憶装置16700からロードされたコンピュータプログラムやデータ、入力I/F16500を介して外部から受信したデータ、を格納するためのエリアを有する。更にRAM16400は、CPU16200が各種の処理を実行する際に用いるワークエリアを有する。このようにRAM16400は、各種のエリアを適宜提供することができる。
入力I/F16500は、外部からデータを入力するためのインターフェースとして機能するもので、例えば、上記のHMD1100から送出される撮像画像を含む様々なデータは、この入力I/F16500を介して受信する。
出力I/F16600は、データを外部の装置に対して出力するためのインターフェースとして機能するもので、例えば、上記のHMD1100に対して出力する複合現実空間画像は、この出力I/F16600を介してHMD1100に対して送信される。
外部記憶装置16700は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置16700には、OS(オペレーティングシステム)や、情報処理装置1000が行うものとして上述した各処理をCPU16200に実行させるためのコンピュータプログラムやデータが保存されている。外部記憶装置16700に保存されているコンピュータプログラムには、図1,17において保持部1060を除く各機能部の機能をCPU16200に実現させるためのコンピュータプログラムが含まれている。また、外部記憶装置16700に保存されているデータには、保持部1060が保持しているものとして説明した各種のデータや、上記の説明において既知の情報として取り扱ったもの、が含まれている。つまり、外部記憶装置16700は、上記の保持部1060としても機能する。外部記憶装置16700に保存されているコンピュータプログラムやデータは、CPU16200による制御に従って適宜RAM16400にロードされ、CPU16200による処理対象となる。
上記のCPU16200、ROM16300、RAM16400、入力I/F16500、出力I/F16600、外部記憶装置16700、は何れもバス16100に接続されている。
なお、以上説明した各実施形態や変形例の一部若しくは全部を適宜組み合わせても構わないし、以上説明した各実施形態や変形例の一部若しくは全部を選択的に使用しても構わない。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
1010:取得部 1020:輪郭生成部 1030:計測部 1040:操作点算出部 1050:信号生成部 1060:保持部 1070:信号処理部 1080:CG生成部 1090:合成部

Claims (20)

  1. 撮像画像中の対象物体の輪郭を構成する点群のうち、規定の条件を満たす点を操作点として選択する選択手段と、
    前記操作点に基づいて処理を実行する処理手段と
    を備えることを特徴とする画像処理装置。
  2. 前記選択手段は、前記点群のうち前記撮像画像において最も上側に位置する点を前記操作点として選択することを特徴とする請求項1に記載の画像処理装置。
  3. 前記処理手段は、前記操作点に仮想物体を配置し、該仮想物体が他の仮想物体と接触した場合には、対応する処理を実行することを特徴とする請求項1に記載の画像処理装置。
  4. 前記処理手段は、前記操作点の付近に仮想物体を配置することを特徴とする請求項1に記載の画像処理装置。
  5. 前記選択手段は、撮像画像中の複数の対象物体のそれぞれについて、該対象物体の輪郭を構成する点群のうち規定の条件を満たす点を操作点として選択することを特徴とする請求項1に記載の画像処理装置。
  6. 前記処理手段は、前記複数の対象物体のそれぞれについて前記選択手段が選択した操作点に基づいて処理を実行することを特徴とする請求項5に記載の画像処理装置。
  7. 前記処理手段は、前記選択手段が選択した操作点ごとに、該操作点に固有の処理を実行することを特徴とする請求項5に記載の画像処理装置。
  8. 前記選択手段は、前記点群のうち規定の条件を満たす複数の点を前記操作点として選択することを特徴とする請求項1に記載の画像処理装置。
  9. 前記選択手段は、前記点群のうち尖度が閾値以上となる点を前記操作点として選択することを特徴とする請求項8に記載の画像処理装置。
  10. 前記選択手段は、前記点群のうち規定の条件を満たす点と、該点を基準とする領域内で規定の条件を満たす点と、を前記操作点として選択することを特徴とする請求項8に記載の画像処理装置。
  11. 前記撮像画像から前記対象物体を抽出する抽出手段と、
    前記対象物体の3次元輪郭線を生成する輪郭生成手段とを備え、
    前記選択手段は、前記3次元輪郭線を構成する点群のうち規定の条件を満たす点を前記操作点として選択することを特徴とする請求項1に記載の画像処理装置。
  12. 前記輪郭生成手段は、ステレオ画像を用いて前記3次元輪郭線を生成することを特徴とする請求項11に記載の画像処理装置。
  13. 前記輪郭生成手段は、デプスカメラによる前記対象物体の画像を用いて前記3次元輪郭線を生成することを特徴とする請求項11に記載の画像処理装置。
  14. 更に、
    前記撮像画像を撮像する撮像部の位置姿勢に応じた仮想物体の画像を生成する生成手段と、
    前記撮像画像と前記仮想物体の画像との合成画像を生成し、該生成した合成画像を表示部に対して出力する手段と
    を備えることを特徴とする請求項1に記載の画像処理装置。
  15. 前記生成手段は、前記操作点に基づいて前記仮想物体の画像を生成することを特徴とする請求項14に記載の画像処理装置。
  16. 前記生成手段は、前記操作点の3次元位置に配置したポインタの画像を生成することを特徴とする請求項15に記載の画像処理装置。
  17. 前記表示部は、頭部装着型表示装置であることを特徴とする請求項14に記載の画像処理装置。
  18. 前記選択手段は、前記対象物体に対する操作状態に基づいて操作点を選択することを特徴とする請求項1に記載の画像処理装置。
  19. 画像処理装置が行う画像処理方法であって、
    撮像画像中の対象物体の輪郭を構成する点群のうち、規定の条件を満たす点を操作点として選択し、
    前記操作点に基づいて処理を実行する
    ことを特徴とする画像処理方法。
  20. コンピュータを、請求項1乃至18の何れか1項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
JP2018160599A 2017-08-31 2018-08-29 画像処理装置、画像処理方法 Active JP7209495B2 (ja)

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 true JP2019046472A (ja) 2019-03-22
JP7209495B2 JP7209495B2 (ja) 2023-01-20

Family

ID=65437625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018160599A Active JP7209495B2 (ja) 2017-08-31 2018-08-29 画像処理装置、画像処理方法

Country Status (2)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022546502A (ja) * 2019-09-27 2022-11-04 アップル インコーポレイテッド 三次元環境と相互作用するためのデバイス、方法、及びグラフィカルユーザインタフェース

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112424728A (zh) * 2018-07-20 2021-02-26 索尼公司 信息处理装置、信息处理方法和程序

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06274270A (ja) * 1993-03-10 1994-09-30 Roehm Properties Bv 仮想現実空間データ入力装置
JP2014225145A (ja) * 2013-05-16 2014-12-04 スタンレー電気株式会社 入力操作装置
JP2015046092A (ja) * 2013-08-29 2015-03-12 セイコーエプソン株式会社 画像処理装置とこれを有する頭部装着型表示装置
JP2016091457A (ja) * 2014-11-10 2016-05-23 富士通株式会社 入力装置、指先位置検出方法及び指先位置検出用コンピュータプログラム
JP2016194744A (ja) * 2015-03-31 2016-11-17 ソニー株式会社 情報処理装置及び情報処理方法、並びにコンピューター・プログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 (ja) * 2011-06-23 2017-02-01 インテル・コーポレーション 近距離動作のトラッキングのシステムおよび方法
US9934451B2 (en) * 2013-06-25 2018-04-03 Microsoft Technology Licensing, Llc Stereoscopic object detection leveraging assumed distance
JP6237000B2 (ja) * 2013-08-29 2017-11-29 セイコーエプソン株式会社 頭部装着型表示装置
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 (zh) * 2015-03-26 2018-04-03 北京小小牛创意科技有限公司 一种融合真实环境的虚实结合的交互方法及系统
US10409443B2 (en) * 2015-06-24 2019-09-10 Microsoft Technology Licensing, Llc Contextual cursor display based on hand tracking
WO2017024142A1 (en) * 2015-08-04 2017-02-09 Google Inc. 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 (ja) * 2017-02-28 2018-09-13 セイコーエプソン株式会社 頭部装着型表示装置、プログラム、及び頭部装着型表示装置の制御方法
US10481755B1 (en) * 2017-04-28 2019-11-19 Meta View, Inc. Systems and methods to present virtual content in an interactive space

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06274270A (ja) * 1993-03-10 1994-09-30 Roehm Properties Bv 仮想現実空間データ入力装置
JP2014225145A (ja) * 2013-05-16 2014-12-04 スタンレー電気株式会社 入力操作装置
JP2015046092A (ja) * 2013-08-29 2015-03-12 セイコーエプソン株式会社 画像処理装置とこれを有する頭部装着型表示装置
JP2016091457A (ja) * 2014-11-10 2016-05-23 富士通株式会社 入力装置、指先位置検出方法及び指先位置検出用コンピュータプログラム
JP2016194744A (ja) * 2015-03-31 2016-11-17 ソニー株式会社 情報処理装置及び情報処理方法、並びにコンピューター・プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
安室 喜弘他4名: "Clip−Interface:ウェアラブルPCによる3次元作業空間インタフェースの提案", 画像ラボ, JPN6022025306, 1 July 2003 (2003-07-01), JP, ISSN: 0004802163 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022546502A (ja) * 2019-09-27 2022-11-04 アップル インコーポレイテッド 三次元環境と相互作用するためのデバイス、方法、及びグラフィカルユーザインタフェース
JP7465952B2 (ja) 2019-09-27 2024-04-11 アップル インコーポレイテッド 三次元環境と相互作用するためのデバイス、方法、及びグラフィカルユーザインタフェース

Also Published As

Publication number Publication date
US20220254123A1 (en) 2022-08-11
JP7209495B2 (ja) 2023-01-20
US20190066385A1 (en) 2019-02-28

Similar Documents

Publication Publication Date Title
JP6057396B2 (ja) 3次元ユーザインタフェース装置及び3次元操作処理方法
US10082879B2 (en) Head mounted display device and control method
KR101687017B1 (ko) 머리 착용형 컬러 깊이 카메라를 활용한 손 위치 추정 장치 및 방법, 이를 이용한 맨 손 상호작용 시스템
JP5936155B2 (ja) 3次元ユーザインタフェース装置及び3次元操作方法
US10438373B2 (en) Method and system for determining a pose of camera
Lee et al. Handy AR: Markerless inspection of augmented reality objects using fingertip tracking
JP5871345B2 (ja) 3次元ユーザインタフェース装置及び3次元操作方法
JP6611501B2 (ja) 情報処理装置、仮想オブジェクトの操作方法、コンピュータプログラム、及び記憶媒体
US8998718B2 (en) Image generation system, image generation method, and information storage medium
WO2013175700A1 (ja) 情報処理装置および情報処理方法
US10453235B2 (en) Image processing apparatus displaying image of virtual object and method of displaying the same
CN102884492A (zh) 增强现实的指向装置
US10372229B2 (en) Information processing system, information processing apparatus, control method, and program
KR101892735B1 (ko) 직관적인 상호작용 장치 및 방법
JP2019096113A (ja) キーポイントデータに関する加工装置、方法及びプログラム
US20220254123A1 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
JP7162079B2 (ja) 頭部のジェスチャーを介してディスプレイ装置を遠隔制御する方法、システムおよびコンピュータプログラムを記録する記録媒体
JP2018119833A (ja) 情報処理装置、システム、推定方法、コンピュータプログラム、及び記憶媒体
JP4938748B2 (ja) 画像認識装置及びプログラム
KR101256046B1 (ko) 공간 제스처 인식을 위한 신체 트래킹 방법 및 시스템
US11520409B2 (en) Head mounted display device and operating method thereof
JP7363962B2 (ja) 処理装置、検出装置、システム及びプログラム
US11275434B2 (en) Information processing apparatus, information processing method, and storage medium
Siam et al. Human computer interaction using marker based hand gesture recognition
US20200258193A1 (en) Information processing apparatus, information processing method, and storage medium

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