JP6464889B2 - 画像処理装置、画像処理プログラム、及び画像処理方法 - Google Patents

画像処理装置、画像処理プログラム、及び画像処理方法 Download PDF

Info

Publication number
JP6464889B2
JP6464889B2 JP2015073837A JP2015073837A JP6464889B2 JP 6464889 B2 JP6464889 B2 JP 6464889B2 JP 2015073837 A JP2015073837 A JP 2015073837A JP 2015073837 A JP2015073837 A JP 2015073837A JP 6464889 B2 JP6464889 B2 JP 6464889B2
Authority
JP
Japan
Prior art keywords
image processing
image
hand
designated
region
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
JP2015073837A
Other languages
English (en)
Other versions
JP2016194763A (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015073837A priority Critical patent/JP6464889B2/ja
Priority to US15/050,900 priority patent/US10185399B2/en
Publication of JP2016194763A publication Critical patent/JP2016194763A/ja
Application granted granted Critical
Publication of JP6464889B2 publication Critical patent/JP6464889B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • 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
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0141Head-up displays characterised by optical features characterised by the informative content of the display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Multimedia (AREA)
  • Psychiatry (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、画像処理装置、画像処理プログラム、及び画像処理方法に関する。
撮影装置で撮影して得られた撮影画像からユーザの操作を認識し、認識した操作に応じた制御や処理を行う技術が知られている。このような技術として、ユーザの頭部に装着されて眼部の前方に配置される表示装置を使用する場合の入力インターフェースとして、ユーザがジェスチャにより行った各種操作を、撮影装置で撮影して得られた画像からユーザの操作を認識する技術が知られている。
また、ユーザの操作が失敗したか否かや、ユーザの操作の認識を失敗したりしたか否かを判断する技術が知られている。さらに、ユーザの操作が失敗したと判断した場合等に、正しい操作を提示する技術が知られている。
特開2011−215856号公報 特開2011−209787号公報 特開2001−216069号公報 特開2000−259307号公報
しかしながら、ユーザの頭部に装着された表示装置を使用する場合の入力インターフェースとしてユーザがジェスチャにより操作を行う場合、ユーザが操作に不慣れなために適切な操作が行われない場合がある。そのため、ユーザの操作を適切に認識できない場合がある。
本発明は一つの側面として、ユーザが操作に不慣れな場合にも、ユーザの操作を適切に認識することができることを目的とする。
1つの態様では、特定部及び制御部を備える。特定部は、撮影装置によって撮影された撮影画像上で、領域を指定する指定操作に対応する第1特定形状の手領域を検出した場合に、前記手領域が静止している時間の計測を開始する。そして特定部は、前記指定領域が静止している時間が予め設定された時間に達した場合に、前記指定操作による指定領域を特定する。制御部は、前記特定部によって前記指定領域が特定された後に継続して、以下の検出を行った場合に、前記指定領域に対して前記所定の画像処理を行った画像を、装着された状態で頭部の前方に配置される表示装置に表示させる。上記検出は、前記撮影装置によって撮影された撮影画像上で前記指定領域に対する所定の画像処理の実行を指示する指示操作に対応する、第2特定形状の手領域及び手領域の特定の動きの少なくとも一方を検出した場合である。
一つの側面として、ユーザが操作に不慣れな場合にも、ユーザの操作を適切に認識することができる、という効果を有する。
第1実施形態に係る画像処理システムの概略構成を示す図である。 第1実施形態に係るHMD及び撮影装置の具体例を示す図である。 第1実施形態に係る画像処理装置の一例の概略構成を示す機能ブロック図である。 第1実施形態に係る画像処理装置として機能するコンピュータの概略構成を示すブロック図である。 第1実施形態の具体例としてユーザが現場作業において離れた位置に設けられたメータの読取を行う場合を説明する図である。 第1実施形態に係る撮影装置により撮影され、HMDに表示される撮影画像の具体例を示す図である。 第1実施形態に係る画像処理装置で行われる画像処理の一例のフローチャートである。 第1実施形態に係る画像処理システムにおけるユーザの操作及びHMDに表示される画像を説明するための図である。 第1実施形態に係る指定領域特定部で実行される領域特定処理の一例のフローチャートである。 第1実施形態に係る描画拡大部で実行される拡大率特定処理の一例のフローチャートである。 第2実施形態に係る画像処理装置の一例の概略構成を示す機能ブロック図である。 第2実施形態に係る画像処理装置として機能するコンピュータの概略構成を示すブロック図である。 第2実施形態に係る画像処理装置で行われる画像処理の一例のフローチャートである。 第2実施形態に係る失敗操作検出部で行われる失敗操作検出処理の一例のフローチャートである。 失敗操作1に対応する失敗パターンとの照合を行うための失敗パターン照合処理の一例のフローチャートである。 失敗操作2に対応する失敗パターンとの照合を行うための失敗パターン照合処理の一例のフローチャートである。 失敗操作3に対応する失敗パターンとの照合を行うための失敗パターン照合処理の一例のフローチャートである。 失敗操作1に対応する操作意図判断処理の一例のフローチャートである。 失敗操作2に対応する操作意図判断処理の一例のフローチャートである。 失敗操作3に対応する操作意図判断処理の一例のフローチャートである。 ユーザの意図する操作が、指定領域を指定する指定操作であったと判断した場合に提示する操作方法の具体例を示す図である。 ユーザの意図する操作が、拡大したい指定領域を固定する指定操作であったと判断した場合に提示する操作方法の具体例を示す図である。 ユーザの意図する操作が、指定領域の拡大率を指示する指示操作であったと判断した場合に提示する操作方法の具体例を示す図である。 第4実施形態の具体例として、ユーザが現場作業において道路下に埋設された配管の位置を確認する場合を説明する図である。 第4実施形態に係る画像処理装置の一例の概略構成を示す機能ブロック図である。 第4実施形態に係る画像処理装置として機能するコンピュータの概略構成を示すブロック図である。 第4実施形態に係る画像処理装置で行われる画像処理の一例のフローチャートである。 第5実施形態の具体例として、ユーザが現場作業において道路下に埋設された配管の位置を確認する場合を説明する図である。 第5実施形態に係る画像処理装置の一例の概略構成を示す機能ブロック図である。 第5実施形態に係る画像処理装置として機能するコンピュータの概略構成を示すブロック図である。 第5実施形態に係る画像処理装置で行われる画像処理の一例のフローチャートである。 第6実施形態に係る画像処理装置の一例の概略構成を示す機能ブロック図である。 第6実施形態に係る画像処理装置として機能するコンピュータの概略構成を示すブロック図である。 第5実施形態に係る画像処理装置で行われる画像処理の一例のフローチャートである。 第5実施形態に係る画像処理システムにおけるユーザの操作及びHMDに表示される画像を説明するための図である。 第6実施形態に係る指定領域特定部で実行される領域特定処理の一例のフローチャートである。 ユーザの他の操作について説明する説明図である。 ユーザの他の操作について説明する説明図である。 ユーザの他の操作について説明する説明図である。
以下、図面を参照して開示の技術の一例を詳細に説明する。
[第1実施形態]
図1には、本実施形態に係る画像処理システム10の概略構成図を示す。図1に示すように、本実施形態の画像処理システム10は、HMD(Head Mounted Display)12、撮影装置14、及び画像処理装置16を備える。本実施形態の画像処理システム10では、撮影装置14がHMD12と一体化されている。本実施形態の画像処理システム10では、HMD12及び撮影装置14と、画像処理装置16と、がネットワーク18を介して接続されている。
本実施形態の画像処理システム10は、図1に示すようにユーザ8の頭部8Aに装着可能で、頭部8Aに装着された状態でユーザ8の眼部の前方に配置される表示装置、いわゆるHMD12を用いている。画像処理システム10は、撮影装置14で撮影された現実空間の撮影画像に、画像処理装置16で画像処理を行った画像を重畳して表示する、いわゆるAR(拡張現実:Augmented Reality)と呼ばれる表示を行う機能を有する。
ところで、例えば、表示装置としてHMDではなくて、タブレット端末を用いて、工場等の現場作業における作業指示を、タブレット端末を介して行うことを可能とするシステムがある。この種のシステムでは、タブレット端末等で撮影した撮影映像に支援情報が重畳されて、タブレットの画面上に表示されることでユーザの作業が支援される。しかしながら、上記システムでは、支援情報を確認する際にタブレット端末をユーザが手に把持する必要があるので、実作業時には支援情報が見られないことがある。また、タブレット端末をユーザが手で持つ場合は少なくともユーザの片手が占有される。さらには、ユーザは、タブレット端末に提示された支援情報を確認するために作業対象から目を離さなければならない等、実作業上効率が良くないことがある。
これに対して、表示装置としてHMDを用いた場合、ユーザはHMDに表示された情報を常に手ぶらの状態で閲覧することが可能となる。そのため、HMDを用いることで、場所や状況に関わらずに情報の閲覧が可能となり、例えば、何らかの作業を行う場合には作業の業務効率を大きく向上させることができる。
しかしながら、HMDは、ユーザが手ぶらの状態で情報閲覧が可能である一方で、一般に入力インターフェースが貧弱である。上述した例に挙げた現場作業の支援を例に、HMDにおける入力インターフェースについて説明する。現場作業において、現場でユーザが確認したい情報は、その場での実作業の対象物に関連付いたものである場合が多い。
例えば、保守点検業務において、天井や容易に近づけない装置等に取付けられたメータ等、近付くのが困難な位置に設けられた小さなメータを拡大表示させて読取りを行う場合が挙げられる。また例えば、道路工事において、道路を掘り起こす際に、水道管・ガス管などの破損事故を防ぐため地下に埋設された配管の位置を可視表示させて確認を行う場合が挙げられる。
現場作業へのHMDの適用を実現するには、現実世界上で例えば、拡大表示させたいメータや、配管を可視表示させたい道路の領域を指定する操作をユーザが行う。また、指定した領域に対する支援情報の提示を指示する操作をユーザが行う。この例では、メータの拡大表示画像や、配管の可視表示画像が支援情報として提示される。
しかしながら、HMD付属の専用コントローラを用いた操作では、煩雑な操作が必要となり、これらの操作をユーザが直感的に行うことが困難な場合がある。
そこで、直感的な操作としてユーザがジェスチャにより操作を行い、撮影装置で撮影した撮影画像から当該ジェスチャを認識する場合がある。しかしながら、適切なユーザインターフェースを実現することが困難である。既存のジェスチャを用いた方法として、タッチパネルデバイスでの領域選択や拡大操作をHMDに適用する方法が考えられる。タッチパネルデバイスでは、通常、ピンチイン・ピンチアウト(親指と人差し指の距離を広げたり縮めたりすること)によって領域を拡大する。しかしながら、HMDの場合、タッチパネルデバイスとは異なり、空中で(物体に触れることなく)ジェスチャを実施する必要がある。そのため、ユーザがピンチイン・ピンチアウトのような指の動きをする際に、指が震えるように細かく動いてしまい、指を固定することが困難であり、操作を正確に行うことは容易ではない。
このように、タッチパネルデバイス等の場合は、固定された物に触れた状態で操作を行うためユーザは操作を行い易いが、空中で操作を行う場合は、ユーザが操作を行い難い場合がある。
また、ユーザのジェスチャによる操作を認識する側にとっても、ピンチイン・ピンチアウトのような細かな指の動きを頑健に検出するのが困難な場合がある。例えば、ユーザの手や指の形状が全く変化していない場合でも、ユーザの手とカメラの角度が若干変化するだけで、カメラからは、指間の距離は異なって見え、ピンチイン・ピンチアウトを実施したと誤って判定してしまうことがある。また例えば、ユーザのジェスチャを撮影する撮影装置をユーザに装着させる場合、ユーザがジェスチャを適切に行ったとしても、撮影装置が動いてしまうことにより誤認識することがある。
さらには、ユーザインターフェースに不慣れなユーザにおいては、操作を正確に行うことが容易ではない場合がある。例えば、新規なユーザインターフェースを用いる場合、当該ユーザインターフェースが操作し易いものであっても、ユーザが不慣れな場合は、操作を正確に行うことは容易ではない。
これに対して、本実施形態の画像処理システム10の画像処理装置16は、HMD12を使用した場合に、空間におけるユーザの直感的な操作を、ユーザが操作に不慣れな場合でも適切に認識することができる。
本実施形態の画像処理システム10では、HMD12として、撮影装置14で撮影された画像を表示するビデオシースルー型のHMDを用いている。撮影装置14は、いわゆるカメラであり、ユーザ8の前方を撮影する機能を有する。撮影装置14は、動画像を撮影して順次、画像処理装置16に送信し、画像処理装置16から撮影装置14に出力された動画像がHMD12に表示される。なお、以下では、「動画像」及び「静止画像」のいずれかに限定されない場合は、総称して「画像」という。
図2には、本実施形態のHMD12及び撮影装置14の具体例を表す。本実施形態のHMD12は、頭部8Aに倣って円弧状に湾曲された基部13Aの一端部に取り付けられ、基部13Aの内周面には接触部13Bが間隔を空けて複数個設けられている。HMD12は、基部13Aがユーザ8の頭部8Aに装着された状態で、接触部13Bが、頭部8Aと接触することで、ユーザ8の眼部と間隔を空けて対向する位置に配置される。
撮影装置14は、HMD12の中央部付近、ユーザの両目の間に対応する位置に設けられている。なお、撮影装置14の配置は、図2に示した位置に限らない。例えば、ユーザ8の頭部の左右何れか側に偏倚した位置に配置してもよいし、ユーザ8の頭頂部付近に配置してもよい。また、撮影装置14は、HMD12と別体であってもよいが、撮影装置14の位置としては、ユーザの視野と同様の画像を撮影することができる位置が好ましい。
一方、画像処理装置16は、撮影装置14が撮影した撮影画像からユーザの操作を認識し、ユーザの操作に応じた画像処理を行った画像(コンテンツ)をHMD12に表示させる。
図3には、本実施形態の画像処理装置16の一例の概略構成を示す機能ブロック図を示す。
図3に示すように本実施形態の画像処理装置16は、画像取得部20、手形状分析部22、カメラ位置推定部24、指定領域特定部26、描画拡大部28、描画領域固定部30、及び画像出力部32を備える。
画像取得部20は、撮影装置14が撮影した撮影画像を取得する機能を有する。また、本実施形態の画像取得部20は、取得した撮影画像(動画像)をフレーム毎の画像(静止画像)に変換する。
手形状分析部22は、画像取得部20が変換した静止画像である撮影画像に、ユーザ8の手に相当する画像が含まれているか否かを分析する。なお、本実施形態では、ユーザの操作の種類に応じた特定形状の手形状が予め定められており、当該特定形状の手画像(手領域)が撮影画像に含まれているか否かを分析する。撮像画像に特定形状の手領域が含まれているか否かを分析する技術は特に限定されず、例えば、以下の非特許文献1に記載の技術を適用することができる。
非特許文献1:Raheja, J.L., Das, K., Chaudhary, a. “An Efficient Real Time Method of Fingertip Detection”。 Proceedings of 7th International Conference on Trends in Industrial Measurements and Automation (TIMA 2011), CSIR Complex, Chennai, India, 6-8 Jan, 2011, pp. 447-450.
カメラ位置推定部24は、撮影装置14の位置を推定する。一般的に、HMDを用いたARでは、撮影装置14の位置を推定し、生成したコンテンツの表示位置について、ユーザ8の位置及び姿勢に合わせて現実空間の特定の場所に正確かつリアルタイムに位置合わせを行う。カメラ位置推定部24が撮影装置14の位置を推定する機能は特に限定されず、例えば、マーカ(ARマーカ等)を読み取って、読み取った情報に基づいて位置合わせを行ってもよい。具体例としては、以下の非特許文献2に記載の技術を適用することができる。
非特許文献2:加藤ら、マーカー追跡に基づく拡張現実感システムとそのキャリブレーション、日本バーチャルリアリティ学会論文誌、4(4)、pp.607-616、1999年12月。
指定領域特定部26は、手形状分析部22の分析結果に基づいて、ユーザ8が指定した領域を特定する。
描画拡大部28は、指定領域特定部26が特定した指定領域の画像を拡大する。具体的には、描画拡大部28は、撮像画像中の指定領域の画像を拡大した拡大画像をコンテンツとして生成する。なお、描画拡大部28は、指定領域を、カメラ位置推定部24が推定したカメラ位置に基づいて、現実世界座標系に変換することで、撮影装置14の視野にあった形でコンテンツを生成する。生成されたコンテンツは、撮影装置14が撮影した撮影画像に重畳されてHMD12に表示される。
なお、本実施形態では、縮小を拡大率が1未満の拡大を行うものとみなし、実際には縮小する場合も「拡大」と称する。
描画領域固定部30は、指定領域特定部26が特定した指定領域や、描画拡大部28が生成したコンテンツを現実空間上の座標に紐付けて固定する。
画像出力部32は、指定領域特定部26、描画拡大部28、及び描画領域固定部30により生成されたコンテンツを含む画像をHMD12に出力する。
なお、画像処理装置16は、例えば図4に示すコンピュータ40で実現することができる。より具体的には、画像処理装置16はサーバとして機能するコンピュータ40で実現することができる。コンピュータ40は、CPU(Central Processing Unit)42、メモリ44、不揮発性の記憶部46、及びネットワークI/F48を備える。CPU42、メモリ44、記憶部46、及びネットワークI/F48は、バス49を介して互いに接続されている。ネットワークI/F48は、ネットワーク18に接続される。
記憶部46はHDD(Hard Disk Drive)やフラッシュメモリ等によって実現できる。記憶媒体としての記憶部46には、コンピュータ40を画像処理装置16として機能させるための画像処理プログラム50が記憶されている。CPU42は、画像処理プログラム50を記憶部46から読み出してメモリ44に展開し、画像処理プログラム50が有する各プロセスを順次実行する。
画像処理プログラム50は、画像取得プロセス52、手形状分析プロセス54、カメラ位置推定プロセス56、指定領域特定プロセス58、描画拡大プロセス60、描画領域固定プロセス62、画像出力プロセス64及び通信プロセス90を有する。
CPU42は、画像取得プロセス52を実行することで、画像取得部20として動作する。また、CPU42は、手形状分析プロセス54を実行することで、手形状分析部22として動作する。また、CPU42は、カメラ位置推定プロセス56を実行することで、カメラ位置推定部24として動作する。また、CPU42は、指定領域特定プロセス58を実行することで、指定領域特定部26として動作する。また、CPU42は、描画拡大プロセス60を実行することで、描画拡大部28として動作する。また、CPU42は、描画領域固定プロセス62を実行することで描画領域固定部30として動作する。さらに、CPU42は、画像出力プロセス64を実行することで、画像出力部32として動作する。
これにより、画像処理プログラム50を実行したコンピュータ40が、画像処理装置16として機能する。
なお、コンピュータ40は、いわゆるデスクトップ型のパーソナルコンピュータに限定されない。コンピュータ40は、ラップトップ型のパーソナルコンピュータであってもよいし、タブレット端末やスマートフォンに代表されるPDA(Personal Digital Assistants:携帯情報端末装置)等であってもよい。
なお、画像処理装置16は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)等で実現することも可能である。
次に、本実施形態に係る画像処理システム10の作用について説明する。以下では、具体例として、図5に示すように、ユーザ8が現場作業において離れた位置に設けられたメータ68の読取を行う場合について説明する。図6には、撮影装置14により撮影され、HMD12に表示される撮影画像の具体例を示す。
図7には、画像処理装置16で行われる画像処理の一例のフローチャートを示す。図7に示した画像処理は、例えば、HMD12の電源(図示省略)が投入された場合は、撮影装置14から撮影画像が送信されてきた場合等に実行される。
本実施形態の画像処理装置16で行われる画像処理には、ユーザ8の操作に応じて複数のモードが設けられており、具体例として、予め4つのモードが設けられている。
モード1は、ユーザ8が指定した指定領域の特定を行うモードである。本実施形態の画像処理システム10では、モード1の場合は、ユーザ8が両手の一本指(より具体的には、人差し指)だけを伸ばして他の指を握った形状を特定形状とする。特定形状の両手の手の画像(手領域)を検出した場合は、領域の特定を開始する。所定の時間T1以上、手領域が同じ位置に有る場合は、領域の特定を完了して、両手の一本指の先端により指定された位置を直径とした円の内部を指定領域として特定する。
また、モード2は、ユーザ8が指定領域の画像の拡大を指示する操作を行う場合に、特定した指定領域を拡大した拡大画像をコンテンツとして生成するモードである。モード2の場合、ユーザ8が上記モード1と同様の特定形状の片手(より具体的には、右手)を指示された方向に動かした距離に応じて拡大率を指示する。
なお、拡大率を指示するにあたって、両手の一本指を用いて指示する方法が適さないことを本発明者らは実験により得た。具体的には、複数人での実験の結果、両手一本指で拡大率を指示する場合、ユーザの手が高速かつ大きく広がってしまう傾向が強くある。広角カメラ(130度程度)を使用した場合でも、指がカメラの画角から外れてしまう(拡大率を決定できない)ことを本発明者らは確認している。そのため、本実施形態の画像処理システム10では、拡大率の指示には、片手一本指を用いている。これにより、ユーザは快適に拡大率を指示でき、また、画像処理装置16は、頑健に(指が画角から外れること等なく)拡大率を検出することができる。
また、モード3は、ユーザ8が指定した指定領域の画像や、HMD12に表示されたコンテンツの位置を、現実空間上の位置に固定したままとするモードである。
また、モード4は、ユーザ8がHMD12に表示されているコンテンツの削除を指示する操作を行う場合のモードである。モード4の場合は、掌を広げた状態に類する形状を特定形状とする。さらに、特定形状の手領域が動いている(より具体的には振っている)ことを検出した場合は、表示されているコンテンツの削除を行う。
なお、画像処理装置16は、画像処理の実行を開始した初期状態では、図示を省略した設定部にモード1が設定されている。
ステップS100で画像取得部20は、撮影装置14が送信した動画像である撮像画像をフレーム毎の画像(静止画像)に変換した1フレームの画像を取得する。
次のステップS102で手形状分析部22は、現在のモードがモード3か否かを判断する。上述したように、初期状態の場合は、モード1が設定されているため、否定判定となりステップS104へ移行する。
ステップS104で手形状分析部22は、撮影画像70に特定形状として一本指形状(一本指を伸ばした手形状)の手領域を検出したか否かを判断する。手形状分析部22は、撮影画像70から両手か片手かに限らず、一本指形状の手領域を検出したか否かを判断する。
図8(1)には、領域の指定を行うためにユーザ8が両手の一本指で領域の指定を行っている場合のHMD12に表示される撮影画像70の具体例を示している。撮影画像70には、ユーザ8の右手の一本指形状の手領域76R及び左手の一本指形状の手領域76Lが写っている。そのため、手形状分析部22は、撮影画像70から両手の一本指形状を検出する。
手形状分析部22が一本指形状を検出しなかった場合は否定判定となり、ステップS140へ移行する。この場合、ステップS140で画像出力部32は、撮影画像70をそのままHMD12に出力する。そのため、HMD12には図6に示したように、撮影画像70のみがそのまま表示された状態となる。
一方、一本指形状を検出した場合は、ステップS110で肯定判定となり、ステップS106へ移行する。ステップS106でカメラ位置推定部24は、撮影装置14の位置を上述したように推定する。
次のステップS108でカメラ位置推定部24は、現在のモードがモード1か否かを判断する。上述したように、初期状態の場合は、モード1が設定されているため、肯定判定となりステップS110へ移行する。
次のステップS110で指定領域特定部26は、手形状分析部22が検出して一本指形状が両手の一本指であったか否かを判断する。両手ではなかった場合は、否定判定となり、ステップS140へ移行する。一方、両手であった場合は、肯定判定となり、ステップS112へ移行する。
現在のモードがモード1で、両手の一本指形状が検出されている場合は、モード1に応じた画像処理を行うため、ステップS112で指定領域特定部26は、領域特定処理を行う。
図9には、本実施形態の指定領域特定部26で実行される領域特定処理の一例のフローチャートを示す。
ステップS200で指定領域特定部26は、両手一本指形状の指先の位置(x1,y1)及び(x2,y2)を算出する。
次のステップS202で指定領域特定部26は、((x1+x2)/2,(y1+y2)/2)を中心として(x1,y1)及び(x2,y2)を結ぶ直線を直径とする円の内部を指定領域として特定した後、本処理を終了する。
なお、上述した指定領域の位置、形状、大きさは単なる一例で有り、上記に限定されるものではない。
図8(1)に示した具体例では、指定領域を表す円画像74がコンテンツとして生成されて、撮影画像70に重畳された状態を示している。また、指定領域の画像72は、撮影画像70と同等の画像である。
また、図8(2)に示した具体例では、さらに、指先の位置の座標が同じ位置にある時間の計測時間を表すインジケータ画像73が撮影画像70に重畳された状態を示している。なお、本明細書では、空中で指を静止させようとした場合の指先の位置の揺らぎを考慮して設定した誤差範囲にあることを「同じ位置」と称する。本実施形態の指定領域特定部26は、下記のステップにおいて後述するように、指先の位置の座標が同じである時間が所定の時間T1に達した場合に、ユーザ8が拡大表示を行いたい指定領域の特定が完了する。そのため、指先の位置の座標が同じである時間の計測を行うので、計測した時間に応じたインジケータ画像73をこのように撮影画像70に重畳させる。これにより、ユーザ8は、指先を同じ位置に固定し始めてからの経過時間、及び指先を動かしてはいけない時間(同じ位置とする残り時間)を認識することができる。
次のステップS114で指定領域特定部26は、指定された領域に応じたコンテンツを生成し、撮影画像70に重畳させる。
次のステップS116で指定領域特定部26は、上記ステップで上述したように、両手の一本指形状の指先の位置が所定の時間T1の間、同じであるか否かを判断する。具体的には、指定領域特定部26は、指先の位置の座標が同じである時間を計測する。計測方法は特に限定されず、例えば、図示を省略したカウンタを用いて計測を行ってもよいし、指先の位置の座標が同じである撮影画像70のフレーム数により計測を行ってもよい。
所定の時間T1が経過する前に指先が動いた(前述の誤差範囲から外れた)場合は、否定判定となりステップS140へ移行する。この場合、ステップS140で画像出力部32は、図8(1)及び(2)で示した具体例のように、撮影画像70に、ユーザ8が指定する指定領域を表す円画像74やインジケータ画像73が重畳された画像をHMD12に出力する。
一方、所定の時間T1の間、同じ位置にある場合は、肯定判定となりステップS118へ移行する。
この場合、ユーザ8が拡大表示を行いたい指定領域の特定が完了し、モード1に対応する画像処理が終了したため、ステップS118で描画領域固定部30は、画像処理のモードをモード2に切り替えた後、ステップS140へ移行する。なお、モード2に切り替わる際には、特定した指定領域の位置(具体例として中心位置)が固定される。そのため、この後、ユーザにより継続して処理が行われるまで、ユーザ8が両手を動かしても、指定領域は、指定領域特定部26が特定した位置に固定されたままとなる。
この場合、ステップS140で画像出力部32は、所定時間T1に達したことを表すインジケータ画像73を撮影画像70に重畳した画像をHMD12に出力する。
一方、ステップS108で現在のモードがモード1でないと判断した場合は、ステップS120へ移行する。本実施形態では、ステップS118の処理によりモード2に設定が切り替えられた後は、ステップS120へ移行する。
ステップS120で描画拡大部28は、拡大率特定処理を行う。
図10には、本実施形態の描画拡大部28で実行される拡大率特定処理の一例のフローチャートを示す。
ステップS250で描画拡大部28は、片手一本指形状の指先の位置(x1,y1)を算出する。なお、本実施形態の画像処理装置16では、具体例として予め左右いずれかのうち、右手で拡大率を指示することが予め定められている。そのため、ユーザ8は、指定領域の指定が終わった後、継続して、右手をそのままの形状(一本指を伸ばした形状)のまま所定の方向に移動させることにより拡大率の指示を行うことができる。
次のステップS252で描画拡大部28は、指定領域の中心座標を(xc,yc)とし、また、指定領域固定時の手領域の指先の位置を(x0,y0)とした場合の拡大率Rを下記(1)式から算出した後、本処理を終了する。
R=(x1−xc)/(x0−xc) ・・・(1)
このようにして描画拡大部28により拡大率が算出されると、次のステップS122で描画拡大部28は、拡大率に応じたコンテンツを生成し、撮影画像70に重畳させる。本実施形態の描画拡大部28は、拡大率を指示する際に指(手)を動かす所定の方向を表す情報をユーザに提示するために、拡大方向を表すコンテンツを生成して、撮影画像70に重畳させる。また、指定領域に対応する画像は、撮影画像70そのままではなく、上記ステップで算出された拡大率に応じて拡大した画像をコンテンツとして生成する。
図8(3)に示した具体例では、モード2に切り替わった直後に、実行されたステップS122で生成され、HMD12に表示された画像を表している。図8(3)に示すように、上記所定の方向を表す情報75が撮影画像70にさらに重畳された状態を示している。
また、図8(4)に示した具体例では、ユーザ8により指示された拡大率に応じて拡大した拡大画像77が撮影画像70に重畳された状態を示している。
また、図8(5)に示した具体例では、さらに、指先の位置の座標が同じ位置にある時間の計測時間を表すインジケータ画像73が撮影画像70に重畳された状態を示している。下記のステップにおいて後述するように、本実施形態の描画拡大部28は、指先の位置の座標が同じである時間が所定の時間T2に達した場合に、ユーザ8による拡大率の指示が完了する。そのため、指先の位置の座標が同じである時間の計測を行うので、上記インジケータ画像73を計測した時間に合わせて表示させる。例えば、ユーザ8が指定領域を指定する際と異なる色でインジケータ画像73を表示させてもよい。これにより、ユーザ8は、指先を同じ位置に固定し始めてからの経過時間、及び指先を動かしてはいけない時間(同じ位置とする残り時間)を認識することができる。
次のステップS124で描画拡大部28は、片手の一本指形状の指先の位置が所定の時間T2の間、同じであるか否かを判断する。具体的には、描画拡大部28は、右手の指先の位置の座標が同じである時間を上記ステップS116で説明したように計測する。なお、所定の時間T2は、上記所定の時間T1と同じであってもよいし、異なっていてもよい。
所定の時間T2の間、同じ位置に無い場合は、否定判定となりステップS140へ移行する。
一方、所定の時間T2の間、同じ位置にある場合は、肯定判定となりステップS126へ移行する。
この場合、ユーザ8による拡大率の指示が完了し、モード2に対応する画像処理が終了したため、ステップS126で描画領域固定部30は、画像処理のモードをモード3に切り替えた後、ステップS140へ移行する。なお、モード3に切り替わる際には、拡大画像77の位置(現実世界上の位置)が固定される。そのため、この後、ユーザにより継続して処理が行われるまで、ユーザ8が片手または両手を動かしても、拡大画像77は、現実世界上の位置に固定されたままとなる。
図8(6)には、モード3に切り替わった後に、HMD12に表示される画像の具体例を示している。図8(6)に示すようにユーザ8が手を動かした場合でも、現実世界上の固定された位置に拡大画像77が固定された状態で表示される。
なお、本実施形態の画像処理装置16では、モード1が終了し、モード2に切り替わった後、ユーザ8が右手の指(手)をそのまま動かさない場合は、拡大率が1の拡大画像77が生成される。すなわち、撮影画像70と同様の拡大画像77が撮影画像70の固定された位置に重畳される。
一方、ステップS102で肯定判定となった場合は、ステップS128へ移行する。上述のようにモード3に切り替わった後では、肯定判定となるため、ステップS128へ移行する。
ステップS128で手形状分析部22は、撮影画像70に特定形状として掌(指を広げた)形状の手領域が動いている(振っている)状態を検出したか否かを判断する。手形状分析部22は、撮影画像から左右何れかに限らず、掌を振っている状態を検出したか否かを判断する。なお、本実施形態の手形状分析部22は。動いているか否かは、連続する数フレームにおける手領域の位置の変化により判断している。
図8(7)には、拡大画像77の削除の指示を行うためにユーザ8が掌が動いている場合のHMD12に表示される撮影画像70の具体例を示している。撮影画像70には、ユーザ8の右掌の手領域76R及び拡大画像77が写っている。そのため、手形状分析部22は、撮影画像70から掌が動いている状態を検出する。
掌が動いていない場合は否定判定となり、ステップS130へ移行する。ステップS130でカメラ位置推定部24は、撮影装置14の位置を上述したように推定する。
次のステップS132で描画領域固定部30は、上記ステップS126で固定した撮影画像70の現実空間に対応した位置に拡大画像77を重畳させた後、ステップS140へ移行する。ステップS140で画像出力部32は、撮影画像70の現実空間に対応した位置に拡大画像77を重畳させた画像をHMD12に出力する。
なお、この状態でユーザ8が顔を動かす等、ユーザ8の視野(撮影装置14の撮影範囲)から拡大画像77を固定した現実空間上の位置が外れた場合、HMD12に表示される撮影画像70からは拡大画像77が一端、見えなくなる。その後、ユーザ8の視野に拡大画像77を固定した現実空間上の位置が含まれると再び、当該位置に拡大画像77が表示される。
一方、ステップS128で肯定判定となった場合は、ステップS134へ移行する。
ステップS134で描画領域固定部30は、ユーザ8が掌を動かしている状態が所定の時間T3の間、続いているかを判断する。具体的には、描画領域固定部30は、掌形状の位置の座標が連続して変化する時間を上記ステップS116で説明したように計測する。なお、所定の時間T3は、上記所定の時間T1及び時間T2と同じであってもよいし、異なっていてもよい。
所定の時間T3の間、掌が動き続けていない場合は、否定判定となりステップS140へ移行する。
一方、所定の時間T3の間、掌が動き続けている場合は、肯定判定となりステップS136へ移行する。
この場合、ユーザ8による拡大画像77の削除の指示が行われたため、ステップS136で描画領域固定部30は、拡大画像77を含む生成して撮影画像70に重畳させた全てのコンテンツの表示を削除する。
図8(8)に示した具体例では、拡大画像77を含むコンテンツの表示が全て削除された状態を示している。この場合、HMD12には、撮影画像70そのままが表示される。
次のステップS138で描画領域固定部30は、画像処理のモードをモード1に切り替えた後、ステップS140へ移行する。
ステップS140で画像出力部32は、上述したように撮影画像70そのものや、生成したコンテンツが重畳された撮影画像70をHMD12に出力する。
次のステップS142で画像取得部20は、本画像処理を終了するか否かを判断する。終了しない場合は、ステップS100に戻り、次のフレームの画像に対して本画像処理を繰り返す。
このように、本実施形態の画像処理装置16によれば、画像処理装置16が認識する操作は、ユーザ8が空間中で領域を指定し指定した領域に対して所定の画像処理の実行を指示するための操作として直感的に理解できる操作である。そのため、操作に不慣れなユーザであっても画像処理装置16は、容易に正しく操作することができ、操作の認識率が向上する。
[第2実施形態]
図11には、本実施形態の画像処理装置の一例の概略構成を示す機能ブロック図を示す。
第1実施形態の画像処理装置16では、ユーザ8の直感的なジャスチャにより行った操作を撮影装置14で撮影した撮影画像70から検出することにより、ユーザ8が行った操作を認識していた。上述したように、ユーザ8は、空中でジェスチャを行わねばならない。また、画像処理装置16は、撮影装置14で撮影された撮影画像70から操作を認識する。そのため、不慣れなユーザ8による操作(ジェスチャ)では、ユーザ8の意図した操作と異なるジェスチャ(動き)を画像処理装置16が検出してしまう場合がある。
そこで、本実施形態の画像処理システム10A(画像処理装置16A)は、意図した操作と異なるジェスチャをユーザ8がしてしまった場合でも、ユーザ8の意図した操作を判断し、判断した操作に応じた処理を行う。
そのため、本実施形態の画像処理装置16Aは、さらに、失敗操作検出部33、失敗パターンDB(データベース)34、及び操作意図判断部35を備えている点で、第1実施形態の画像処理装置16と異なっている。なお、失敗パターンDB34は、画像処理装置16Aが備えているものに限らず、画像処理装置16Aの外部の装置に設けられているものを使用してもよい。
失敗操作検出部33は、失敗パターンDB34に格納されている失敗パターンに基づいて、撮影画像70から検出したユーザ8の動きが所定の操作を失敗したものであるか否かを検出する。
本実施形態の失敗パターンDB34には、第1実施形態で上述した各種のユーザ8の所定の操作の各々について、想定される失敗操作を情報化した失敗パターンが格納されている。
ユーザが所定の操作を失敗する例として、本実施形態では3つの具体例を挙げて説明する。なお、以下では、ユーザ8が所定の操作を行おうとしたにもかかわらず、画像処理装置16は通常の処理(第1実施形態で説明した画像処理)では認識できなかった操作を「失敗操作」という。以下では、具体例として3つの失敗操作(失敗操作1〜3)について説明する。なお失敗操作は、所定の操作が相違すれば想定される失敗操作も相違するので、失敗操作1〜3に限定されないことはいうまでもない。
失敗操作1は、ユーザ8が指定領域を指定する指定操作に対して想定される失敗操作の一例である。失敗操作1は、指定操作を行う際に、特定形状が一本指形状であるが、ユーザ8が指を倒しすぎており、かつ小刻みに動いている場合である。この場合、撮影画像70に指先が撮影画像70に写っていたり写っていなかったりすることになり、指先の検出が不安定になる。
失敗操作2は、ユーザ8が拡大したい指定領域を固定する指定操作に対して想定される失敗操作の一例である。失敗操作2は、指定操作を行う際に、ユーザ8が所定時間T1に達する前に指先を動かすので、拡大表示を行う指定領域の特定が完了せず、モード2に切り替えられない場合である。
失敗操作3は、ユーザ8が指定領域の拡大率を指示する指示操作に対して想定される失敗操作の一例である。失敗操作3は、指示操作を行う際に、ユーザ8の手が下に下がってしまい、操作が途中で止まる場合である。第1実施形態で上述したように、拡大率を指示するためには、右手の指をユーザ8の右方向に横(許容範囲を含み水平とみなせる方向)に移動させるが、ユーザ8の手が下に下がるために正しく認識できない。さらに操作が途中で止まるので拡大率が低いまま固定される。
本実施形態の画像処理装置16Aの失敗パターンDB34には、失敗操作1〜3のそれぞれを情報化した失敗パターンが格納されている。具体的には、失敗パターンは、ユーザ8の失敗操作(動き)を、手領域の指先の位置、及び手領域の重心の位置の軌跡を用いて表している。
操作意図判断部35は、失敗操作検出部33が検出した失敗パターンに応じてユーザ8の意図した操作を判断する。また、本実施形態の操作意図判断部35は、判断した操作について、正しい操作方法を提示する。
また、画像処理装置16Aは、例えば図12に示すコンピュータ40Aで実現することができる。より具体的には、画像処理装置16Aはサーバとして機能するコンピュータ40Aで実現することができる。コンピュータ40Aは、第1実施形態のコンピュータ40の記憶部46に代わり記憶部46Aを備えている。
記憶部46Aには、コンピュータ40Aを画像処理装置16Aとして機能させるための画像処理プログラム50Aが記憶されている。画像処理プログラム50Aは、第1実施形態の画像処理プログラム50が有する各プロセスに加えて失敗操作検出プロセス57及び操作意図判断プロセス59を有する。
CPU42は、失敗操作検出プロセス57を実行することで、失敗操作検出部33として動作する。また、CPU42は、操作意図判断プロセス59を実行することで、操作意図判断部35として動作する。
また、記憶部46Aの失敗パターンDB記憶領域65は、失敗パターンDB34が記憶される記憶領域として機能する。
これにより、画像処理プログラム50Aを実行したコンピュータ40Aが、画像処理装置16Aとして機能する。
次に、本実施形態に係る画像処理システム10Aの作用について説明する。図13には、画像処理装置16Aで行われる画像処理の一例のフローチャートを示す。なお、本実施形態の画像処理装置16Aで行われる画像処理は、第1実施形態の画像処理装置16で行われる画像処理(図7参照)と同様の処理を含むため、同様の処理についてはその旨を記し、詳細な説明を省略する。
次のステップS300で失敗操作検出部33は、現在のモードが通常モードか否かを判断する。本実施形態の画像処理装置16Aは、初期状態では通常モードが設定されている。また、画像処理装置16Aでは、失敗操作検出部33が失敗操作を検出した場合は、ユーザ8に対して操作の補助を行うための補助モードに設定が切り替えられる。
通常モードが設定されている場合は、ステップS300が肯定判定となりステップS302へ移行する。
ステップS204で失敗操作検出部33は、失敗操作検出処理を行う。図14には、失敗操作検出部33で行われる失敗操作検出処理の一例のフローチャートを示す。
本実施形態の失敗操作検出部33は、直近の過去の所定のフレーム数の撮影画像70に基づいて失敗操作の検出を行う。なお、所定のフレーム数は特に限定されないが、複数のユーザの操作結果等により予め実験的に得られた値を用いることが好ましい。
ステップS350で失敗操作検出部33は、失敗パターン照合処理を行う。失敗操作検出部33は、失敗パターンDB34に格納されている失敗パターンを1つ取り出し、当該失敗パターンと、撮影画像70から検出したユーザ8の動きや手領域とを照合する。
失敗パターン照合処理における具体的処理を説明する。図15には、失敗操作1に対応する失敗パターンとの照合を行うための失敗パターン照合処理の一例のフローチャートを示す。
ステップS400で失敗操作検出部33は、時間T4以上の間、両手について、手領域の重心が固定位置にあり、かつ、その間に手領域の指先位置の検出、未検出の状態変化が所定の回数であるN1回以上繰り返されたか否かを確認する。具体的には、失敗操作検出部33は、連続する所定のフレーム数の撮影画像70において手形状分析部22が検出した手領域の検出結果に基づいて、状態変化がN1回以上繰り返されたか否かを確認する。なお、時間T4及び所定の回数N1は、複数のユーザの操作結果等により予め実験的に得られた値を用いている。
次のステップS402で失敗操作検出部33は、失敗パターンを満たすか否かを判断する。上記ステップS400で状態変化がN1回以上繰り返されたことを確認した場合は、肯定判定となりステップS404へ移行する。ステップS404で失敗操作検出部33は、失敗操作1と判定した後、失敗パターン1との照合処理を終了する。一方、ステップS402で否定判定となった場合は、失敗パターン1との照合処理を終了する。
また、失敗パターン照合処理におけるその他の具体的処理として、図16には、失敗操作2に対応する失敗パターンとの照合を行うための失敗パターン照合処理の一例のフローチャートを示す。
ステップS420で失敗操作検出部33は、時間T5以上かつ時間T1未満の間、右手の指先の位置が同じであった後、時間T6が経過するまでの間に、指先の位置が距離D1以上、右方向(所定の方向)に移動したか否かを確認する。
なお、時間T1は、第1実施形態の画像処理のモード1(固定)で、拡大表示したい指定領域を固定するまでに要する時間である。また、時間T5及び距離D1は、複数のユーザの操作結果等により予め実験的に得られた値を用いている。
次のステップS422で失敗操作検出部33は、失敗パターンを満たすか否かを判断する。上記ステップS420で上述したように右手の指先の位置が同じ位置であった後、移動したことを確認した場合は、肯定判定となりステップS404へ移行する。ステップS424で失敗操作検出部33は失敗操作2と判定した後、失敗パターン2との照合処理を終了する。一方、ステップS422で否定判定となった場合は、失敗パターン2との照合処理を終了する。
さらに、失敗パターン照合処理におけるその他の具体的処理として、図17には、失敗操作3に対応する失敗パターンとの照合を行うための失敗パターン照合処理の一例のフローチャートを示す。
ステップS440で失敗操作検出部33は、指定領域が固定された後、時間T7以内の間に、右手の指先の位置が所定の閾値以上の角度で所定方向(右下方向及び右上方向)に移動したか否かを確認する。
なお、時間T7及び所定の閾値距離は、複数のユーザの操作結果等により予め実験的に得られた値を用いている。
次のステップS444で失敗操作検出部33は、失敗パターンを満たすか否かを判断する。上記ステップS440で上述したように右手の指先の位置が移動したことを確認した場合は、肯定判定となりステップS444へ移行する。ステップS444では、失敗操作検出部33は失敗操作3と判定した後、失敗パターン3との照合処理を終了する。一方、ステップS442で否定判定となった場合は、失敗パターン4との照合処理を終了する。
このようにして、失敗パターン照合処理が終了すると、次のステップS352で、失敗操作検出部33は、照合処理の結果が失敗パターンを満たすと判定されたか否かを判断する。肯定判定となった場合は、ステップS354へ移行する。
ステップS354で失敗操作検出部33は、照合処理の結果に基づいて、失敗操作であると判定した後、本失敗操作検出処理を終了する。
一方、ステップS352で否定判定となった場合は、ステップS356へ移行する。ステップS356で失敗操作検出部33は、失敗パターンDB34に格納されている全失敗パターンと照合したか否かを判断する。
否定判定となった場合はステップS350に戻り、失敗パターン照合処理を繰り返す。例えば、失敗操作1との照合処理(図15参照)が終わった後は、失敗操作2との照合処理(図16参照)等、未だ照合処理を行っていない他の失敗パターンについて照合処理を行う。
一方、ステップS356で肯定判定となった場合は、ステップS358へ移行する。ステップS358で失敗操作検出部33は、失敗操作ではないと判定した後、本処理を終了する。ユーザ8が、指定操作または指示操作を正確に行った場合や、ユーザ8が何らかの操作以外の動作を行っている場合は、失敗操作ではないと判定される。
このようにして失敗操作検出部33による失敗操作検出処理が終了すると画像処理のステップS304へ移行する。
ステップS304で失敗操作検出部33は、上記失敗操作検出処理において失敗操作が検出されたか否かを判断する。検出されなかった場合は、ステップS306へ移行する。
ステップS306では、通常操作処理を行った後、ステップS318へ移行する。本実施形態において通常操作処理とは、第1実施形態において上述した画像処理(図7参照)のステップS140、及びS142を除いた処理である。そのため、通常操作処理については、詳細な説明を省略する。
一方、ステップS304で否定判定となった場合は、ステップS308へ移行する。ステップS308で失敗操作検出部33は、設定されているモードを通常モードから補助モードに切り替えた後、ステップS318へ移行する。
このようにして補助モードに設定が切り替えられると、上記ステップS300では、否定判定となりステップS310へ移行する。
ステップS310で操作意図判断部35は、ユーザ8の意図した操作を判断する。具体的には、操作意図判断部35は、検出した失敗操作に応じた操作意図判断処理を行う。
操作意図判断処理における具体的処理について説明する。図18には、失敗操作1に対応する操作意図判断処理の一例のフローチャートを示す。
ステップS500で操作意図判断部35は、両手について、手領域の重心位置が大きく移動したか否かを判断する。操作意図判断部35は、手形状分析部22が検出した手領域の検出結果に基づいて、重心位置の移動量を算出し、算出した移動量に基づいて判定を行う。なお、重心位置の移動量については、予め定めた左右何れかの手領域の重心位置の移動量であってもよいし、左右の手領域の距離の変化を移動量としてもよい。
否定判定となった場合は、ステップS502へ移行する。ステップS502で操作意図判断部35は、手形状分析部22が検出した手領域の検出結果に基づいて、両手の指先を検出したか否かを判断する。肯定判定となった場合は、ステップS504へ移行する。
ステップS504で操作意図判断部35は、両手の指先の位置から算出される領域を指定領域として特定した後、本操作意図判断処理を終了する。指定領域の特定方法は、第1実施形態の画像処理装置16で行われる領域特定処理(図9参照)と同様に行えばよい。
一方、ステップS502で否定判定となった場合は、ステップS506へ移行する。ステップS504で操作意図判断部35は、手形状分析部22が両手の指先を検出した検出結果のうち、最後(直近)の検出結果に基づいて両手の指先の位置から指定領域を算出して特定した後、本操作意図判断処理を終了する。
また、ステップS500で肯定判定となった場合は、ステップS508へ移行する。ステップS508で操作意図判断部35は、操作が完了したと判断して本操作意図判断処理を終了する。
なお、操作意図判断部35は、このように失敗操作1に対応する操作意図判断処理を行った場合は、ユーザ8の意図する操作が、指定領域を指定する指定操作であったと判断している。
また、操作意図判断処理のその他の具体的処理として、図19には、失敗操作2に対応する操作意図判断処理の一例のフローチャートを示す。
ステップS520で操作意図判断部35は、手形状分析部22の分析結果に基づいて、右手の指先が所定のフレーム数以上検出されたか否かを判断する。所定のフレーム数以上検出された場合は否定判定となり、ステップS522へ移行する。ステップS522で操作意図判断部35は、所定の時間T1を短くして、拡大率の指示操作を認識した後、本操作意図判断処理を終了する。どの程度短くするかは、複数のユーザの操作結果等により予め実験的に得られた値を用いればよいが、上記所定のフレーム数よりも長くすることが好ましい。
一方、ステップS520で否定判定となった場合は、ステップS524へ移行する。ステップS524で操作意図判断部35は、操作が完了したと判断して本操作意図判断処理を終了する。
なお、操作意図判断部35は、このように失敗操作2に対応する操作意図判断処理を行った場合は、ユーザ8の意図する操作が、拡大したい指定領域を固定する指定操作であったと判断している。
さらに、操作意図判断処理のその他の具体的処理として、図20には、失敗操作3に対応する操作意図判断処理の一例のフローチャートを示す。
ステップS540で操作意図判断部35は、手形状分析部22の分析結果に基づいて、右手の指先が所定のフレーム数以上検出されたか否かを判断する。所定のフレーム数以上検出された場合は否定判定となり、ステップS542へ移行する。
ステップS542で操作意図判断部35は、手形状分析部22の分析結果に基づいて、右手の指先が検出されたか否かを判断した後、本操作意図判断処理を終了する。肯定判定となった場合は、ステップS544へ移行する。ステップS544で操作意図判断部35は、検出された指先位置から拡大率を算出する。拡大率の算出方法は、第1実施形態の画像処理装置16で行われる拡大率特定処理(図10参照)と同様に行えばよい。
一方、ステップS542で否定判定となった場合は、ステップS546へ移行する。ステップS546で操作意図判断部35は、手形状分析部22が右手の指先を検出した検出結果のうち、最後(直近)の検出結果に基づいて右手の指先の位置から拡大率を算出した後、本操作意図判断処理を終了する。
また、ステップS540で肯定判定となった場合は、ステップS548へ移行する。ステップS548で35は、操作が完了したと判断して本操作意図判断処理を終了する。
なお、操作意図判断部35は、このように失敗操作3に対応する操作意図判断処理を行った場合は、ユーザ8の意図する操作が、指定領域の拡大率を指示する指示操作であったと判断している。
本実施形態の画像処理では、このようにして失敗操作に応じた操作意図判断処理が終了すると、ステップS312へ移行する。
ステップS312で操作意図判断部35は、操作意図判断処理の判断結果に応じたコンテンツを生成して撮影画像70に重畳する。また、正しい操作方法を支援する情報を撮影画像70上に提示する。
判断結果に応じたコンテンツの生成方法は、第1実施形態の画像処理(図7参照)と同様の方法(例えば、ステップS114やステップS122等において上述した方法)を用いればよい。
本実施形態の画像処理装置16Aにおける正しい操作方法を支援する情報の提示は、ステップS310で判断したユーザ8の意図する操作に対応する正しい操作方法(ジェスチャ)を表す画像、及びメッセージを撮影画像70上に表示することで行う。なお、正しい操作方法を支援する情報の提示がこれらに限定されるものではないことはいうまでもない。
操作方法の提示の具体例を説明する。図21には、ユーザ8の意図する操作が、指定領域を指定する指定操作であったと判断した場合(失敗操作1に対応する操作意図判断処理を行った場合)に提示する操作方法の具体例を示す。図21に示すように、撮影画像70に正しい操作方法を表す画像80及びメッセージ82が表示される。
図22には、ユーザ8の意図する操作が、拡大したい指定領域を固定する指定操作であったと判断した場合(失敗操作2に対応する操作意図判断処理を行った場合)に提示する操作方法の具体例を示す。図22に示すように、撮影画像70に正しい操作方法を表す画像84及びメッセージ86が表示される。
図23には、ユーザ8の意図する操作が、指定領域の拡大率を指示する指示操作であったと判断した場合(失敗操作3に対応する操作意図判断処理を行った場合)に提示する操作方法の具体例を示す。図23に示すように、撮影画像70に正しい操作方法を表す画像88及びメッセージ90が表示される。
なお、図21〜23では、操作意図判断部35により生成されるコンテンツの表示は省略している。
図21〜23に示したように、画像処理装置16Aによれば、正しい操作方法や正しい操作方法を示唆するメッセージが、ユーザ8が認識しやすいようにHMD12に表示される。そのため、ユーザ8は、正しい操作を行い易くなり、特に次回以降の操作において正しい操作を行えるようになる。
次のステップS314で操作意図判断部35は、操作が完了したか否かを判断する。上記ステップA310の操作意図判断処理で操作が完了したと判断されるまで否定判定となり、ステップS318へ移行する。すなわち、操作が完了したと判断されるまで、補助モードを繰り返す。
一方、操作が完了したと判断した場合はステップS314で肯定判定となり、ステップS316へ移行する。ステップS316で操作意図判断部35は、設定されているモードを通常モードに切り替えた後、ステップS318へ移行する。
ステップS318及びS320の各処理は、第1実施形態の画像処理(図7参照)のステップS140及びS42とそれぞれ同様であるため説明を省略する。
このように本実施形態の画像処理装置16Aでは、ユーザ8が意図する操作に失敗した場合でも、操作の失敗を失敗操作検出部33により検出することができる。また、ユーザ8が意図する操作に失敗した場合は、補助モードに移行する。補助モードに移行することにより、操作意図判断部35が検出した失敗操作に応じてユーザ8の意図する操作を判断し、判断した操作に応じたコンテンツの表示、及び正しい操作を支援する情報をHMD12に表示する。
これにより、画像処理装置16によれば、ユーザ8は、実際には意図する操作に失敗した場合でも、継続して操作を行えるようになる。
[第3実施形態]
上記実施形態では、具体例として、画像処理システム10、10Aが撮影画像70の指定領域を固定表示したり、拡大表示させたりする場合について説明した。本実施形態ではその他の具体例について説明する。
本実施形態では具体例として、図24に示すように、ユーザ8が現場作業において道路下に埋設された配管の位置を確認する場合について説明する。図24は、道路上で指定された指定領域内に、道路下に埋設された配管の画像79が表示された状態のHMD12の表示の具体例を示している。
図25には、本実施形態の画像処理装置の一例の概略構成を示す機能ブロック図を示す。
図25に示すように、本実施形態の画像処理システム10Bの画像処理装置16Bは、配管DB36及び現在位置取得部36をさらに備えている点で、第1実施形態の画像処理装置16と異なっている。
配管DB36には、配管の画像79を生成するための情報が格納されている。具体例としては、ガスの配管図や水道管の配管図等の画像データ等が挙げられる。なお、配管DB36は、画像処理装置16Bが備えているものに限らず、画像処理装置16Bの外部の装置に設けられているものを使用してもよい。
現在位置取得部36は、画像処理装置16Bの現在位置を取得するための機能を有している。現在位置取得部37は、HMD12の現在位置を取得する。なお、本実施形態の画像処理装置16Bは、HMD12近辺に配置された状態でユーザ8により利用されることを想定しているため画像処理装置16B自身の位置をHMD12の位置としてみなしている。現在位置取得部37の具体例としては、GPS(Global Positioning System)や、ARのマーカを読み取って現在位置を取得するもの等があげられる。
また、画像処理装置16Bは、例えば図26に示すコンピュータ40Bで実現することができる。より具体的には、画像処理装置16Bはサーバとして機能するコンピュータ40Bで実現することができる。コンピュータ40Bは、第1実施形態のコンピュータ40の記憶部46に代わり記憶部46Bを備えている。
記憶部46Bには、コンピュータ40Bを画像処理装置16Bとして機能させるための画像処理プログラム50Bが記憶されている。画像処理プログラム50Bは、第1実施形態の画像処理プログラム50が有する各プロセスに加えて現在位置取得プロセス90を有する。
CPU42は、失敗操作検出プロセス57を実行することで、失敗操作検出部33として動作する。
また、記憶部46Bの配管DB記憶領域92は、配管DB36が記憶される記憶領域として機能する。
これにより、画像処理プログラム50Bを実行したコンピュータ40Bが、画像処理装置16Bとして機能する。
次に、本実施形態に係る画像処理システム10Bの作用について説明する。図27には、画像処理装置16Bで行われる画像処理の一例のフローチャートを示す。なお、本実施形態の画像処理装置16Bで行われる画像処理は、第1実施形態の画像処理装置16で行われる画像処理(図7参照)と同様の処理を含むため、同様の処理についてはその旨を記し、詳細な説明を省略する。
図27に示すように、本実施形態の画像処理装置16Bで行われる画像処理は、第1実施形態の画像処理装置16(図7参照)のステップS106に代わりステップS106Bが設けられている。また、ステップS114、S122、及びS132に代わり、ステップS114B、S122B、及びS132Bがそれぞれ設けられている。
本実施形態の画像処理のステップS106Bでは、第1実施形態の画像処理のステップS106で行われるカメラ位置推定部24による撮影装置14の位置の推定に加えて、現在位置取得部37が現実世界上の現在位置を取得する。
また、本実施形態の画像処理のステップS114Bで指定領域特定部26は、コンテンツとして現在位置取得部37が取得した現在位置に対応する配管の画像79を配管DB36に格納されている情報に基づいて生成する。指定領域特定部26は、生成した配管の画像79を撮影画像70に重畳させる。また、ステップS122B及びS132BについてもステップS114Bと同様にコンテンツを生成して撮影画像70に重畳させる。
このように本実施形態の画像処理装置16Bにおいても、HMD12に、配管の画像79を表示させることによりユーザ8の現場作業を支援することができる。
[第4実施形態]
第3実施形態に続き、本実施形態ではさらにその他の具体例について説明する。
本実施形態では具体例として、図28に示すように、ユーザ8が現場作業において隣室等の様子を、隣室に設置されたカメラの映像により確認する場合について説明する。図28は、ユーザ8により指定された指定領域内に、壁の向こう側(隣室)に設置された撮影装置15の撮影画像99が表示された状態のHMD12の表示の具体例を示している。
図29には、本実施形態の画像処理装置の一例の概略構成を示す機能ブロック図を示す。
図29に示すように、本実施形態の画像処理システム10Cの画像処理装置16Cは、通信部39をさらに備えている点で、第1実施形態の画像処理装置16と異なっている。
通信部39は、隣室に設置された撮影装置15が撮影した撮影画像99を受信する。なお、画像処理装置16は、撮影装置15と現実世界との位置関係を予めキャリブレーションしておく。なお、通信部39と撮影装置15とは、ネットワーク18(図1参照)を介して接続されていてもよいし、その他の回線等を介して接続されていてもよい。また、通信部39と撮影装置15との接続は、有線接続及び無線接続のいずれであってもよい。
また、画像処理装置16Cは、例えば図30に示すコンピュータ40Cで実現することができる。より具体的には、画像処理装置16Cはサーバとして機能するコンピュータ40Cで実現することができる。コンピュータ40Cは、第1実施形態のコンピュータ40の記憶部46に代わり記憶部46Cを備えている。
記憶部46Cには、コンピュータ40Cを画像処理装置16Cとして機能させるための画像処理プログラム50Cが記憶されている。画像処理プログラム50Cは、第1実施形態の画像処理プログラム50が有する各プロセスに加えて通信プロセス94を有する。
CPU42は、通信プロセス94を実行することで、通信部39として動作する。
これにより、画像処理プログラム50Cを実行したコンピュータ40Cが、画像処理装置16Cとして機能する。
次に、本実施形態に係る画像処理システム10Cの作用について説明する。図31には、画像処理装置16Cで行われる画像処理の一例のフローチャートを示す。なお、本実施形態の画像処理装置16Cで行われる画像処理は、第1実施形態の画像処理装置16で行われる画像処理(図7参照)と同様の処理を含むため、同様の処理についてはその旨を記し、詳細な説明を省略する。
図31に示すように、本実施形態の画像処理装置16Cで行われる画像処理は、第1実施形態の画像処理装置16(図7参照)のステップS114、S122、及びS132に代わり、ステップS114C、S122C、及びS132Cがそれぞれ設けられている。
また、本実施形態の画像処理のステップS114Cで指定領域特定部26は、通信部39を介して撮影装置15の撮影画像99を取得してコンテンツを生成する。指定領域特定部26は、撮影画像79を含む生成したコンテンツを撮影装置14が撮影した撮影画像70に重畳させる。また、ステップS122B及びS132BについてもステップS114Cと同様にコンテンツを生成して撮影画像70に重畳させる。
このように本実施形態の画像処理装置16Cにおいても、HMD12に、撮影装置15の撮影画像99を表示させることによりユーザ8の現場作業を支援することができる。
なお、本実施形態では、撮影装置15が一つの場合について説明したが通信部39と接続される撮影装置15の数は一つに限定されない。例えば、第3実施形態で説明したように、HMD12に配管の画像を表示させる場合、複数の撮影装置15で撮影した配管の撮影画像99を表示させてもよい。この場合、道路下に複数の撮影装置15を配置し、ユーザ8の指定領域に応じた現実位置に対応する配管を撮影する撮影装置15の撮影画像99を画像処理装置16Cが通信部39を介して取得し、HMD12に表示させればよい。
[第5実施形態]
上記実施形態では、具体例として、指定領域を指定する指定操作として、両手を使用したジェスチャについて説明したが、本実施形態では、片手を使用したジェスチャにより指定操作を行う場合について説明する。
本実施形態の画像処理システム10D(図32参照)においてユーザ8は、片手の一本指を用いた操作(ジェスチャ)により、まず、指定領域の中心位置の指定操作を行った後、継続して指定領域の大きさを指定する指定操作を行う。そのため、本実施形態の画像処理システム10Dでは、第1実施形態で説明したモード1〜モード4に加えて、中心位置を指定するモード0が設けられている。また、画像処理装置16の初期状態では、モード0が設定されている。
図32には、本実施形態の画像処理装置の一例の概略構成を示す機能ブロック図を示す。
図32に示すように、本実施形態の画像処理システム10Dの画像処理装置16Dは、第1実施形態の画像処理装置16が備えていた指定領域特定部26に代えて指定領域特定部26Dが備えられている点で異なっている。
指定領域特定部26Dは、手形状分析部22の分析結果に基づいて、まず、指定領域の中心位置を特定し、その後、指定領域の大きさを特定する。
また、画像処理装置16Dは、例えば図33に示すコンピュータ40Dで実現することができる。より具体的には、画像処理装置16Dはサーバとして機能するコンピュータ40Dで実現することができる。コンピュータ40Dは、第1実施形態のコンピュータ40の記憶部46Dに代わり記憶部46Dを備えている。
記憶部46Dには、コンピュータ40Dを画像処理装置16Dとして機能させるための画像処理プログラム50Dが記憶されている。画像処理プログラム50Dは、第1実施形態の画像処理プログラム50が有する描画領域特定プロセス58に代えて描画領域特定プロセス58Dを有する。
CPU42は、描画領域特定プロセス58Dを実行することで、指定領域特定部26Dとして動作する。
これにより、画像処理プログラム50Dを実行したコンピュータ40Dが、画像処理装置16Dとして機能する。
次に、本実施形態に係る画像処理システム10Dの作用について説明する。図34には、画像処理装置16Dで行われる画像処理の一例のフローチャートを示す。なお、本実施形態の画像処理装置16Dで行われる画像処理は、第1実施形態の画像処理装置16で行われる画像処理(図7参照)と同様の処理を含むため、同様の処理についてはその旨を記し、詳細な説明を省略する。
本実施形態の画像処理は、
図34に示すように、本実施形態の画像処理装置16Dで行われる画像処理は、第1実施形態の画像処理装置16(図7参照)のステップS106の後に、S107A〜107Eが設けられている。また、ステップS112に代わりステップS113が設けられ、ステップS138に代わりステップS139が設けられている。
本実施形態の画像処理では、ステップS106の後に、ステップS107Aへ移行する。
ステップS107Aでカメラ位置推定部24は、現在のモードがモード0か否かを判断する。肯定判定となった場合はステップS107Bへ移行する。
ステップS107Bで指定領域特定部26Dは、中心位置を特定する。具体的には、指定領域特定部26Dは、手形状分析部22の分析結果に基づいて、手領域(図35(1)の手領域76R参照)の右手一本指形状の指先の位置(x0,y0)を中心位置として特定する。
次のステップS107Cで指定領域特定部26Dは、指定された中心に応じたコンテンツを生成し、撮影画像70に重畳させる。図35(1)に示した具体例では、指定領域の中心を表す中心画像100がコンテンツとして生成されて、撮影画像70に重畳された状態を示している。
次のステップS107Dで指定領域特定部26Dは、右手の一本指形状の指先の位置が所定の時間T0の間、同じであるか否かを判断する。具体的には、指定領域特定部26Dは、指先の位置の座標が同じである時間を計測する。計測方法は特に限定されず、第1実施形態の画像処理における時間の計測と同様に行えばよい。なお、モード0が設定されている場合は、中心画像100の色を計測時間に応じて異ならせることにより、インジケータ画像73と同等の機能をもたせることが好ましい。
所定の時間T0が経過する前に指先が動いた場合は、否定判定となりステップS140へ移行する。
一方、所定の時間T0の間、同じ位置にある場合は、肯定判定となりステップS107Eへ移行する。
この場合、ユーザ8が指定したい指定領域の中心の特定が完了し、モード0に対応する画像処理が終了したため、ステップS107Eで指定領域特定部26Dは、画像処理のモードをモード1に切り替えた後、ステップS140へ移行する。
このように本実施形態の画像処理装置16Dでは、現在のモードがモード0の場合は、ユーザ8の指定操作により指定された指定領域の中心位置を特定した後、設定をモード1に切り替える。
モード1において行われる画像処理のステップS113で指定領域特定部26Dにより行われる領域特定処理について説明する。図36には、本実施形態の指定領域特定部26Dで実行される領域特定処理の一例のフローチャートを示す。
ステップS600で指定領域特定部26Dは、右手一本指形状の指先の位置(x1,y1)を算出する。
次のステップS602で指定領域特定部26Dは、中心位置を(x0,y0)、半径をx1とする円の内部を指定領域として特定した後、本処理を終了する。
図35(2)に示した具体例では、指定領域を表す円画像74がコンテンツとして生成されて、撮影画像70に重畳された状態を示している。また、指定領域の画像72は、撮影画像70と同等の画像である。
このようにして領域特定処理が行われた後のステップS114〜S118は、第1実施形態の画像処理(図7参照)と同様である。なお、本実施形態の画像処理のステップS116では、右手の手領域の指先について同じ位置に有るか否かを判断することはいうまでもない。
また、モード4において行われる画像処理のステップS139では、描画領域固定部30が画像処理のモードをモード0に切り替えた後、ステップS140へ移行する。
このように本実施形態の画像処理システム10Dの画像処理装置16Dによれば、ユーザ8は、右手のみで指定操作及び指示操作の全てを行うことができる。そのため、本実施形態の画像処理システム10D(画像処理装置16D)によれば、より直感的な操作を行うことができる。
以上説明したように、上記各実施形態では、手形状分析部22が、撮影装置14によって撮影された撮影画像70上で、領域を指定する指定操作に対応する第1特定形状の一例として、両手または右手の一本指形状の手領域を検出する。
そして、指定領域特定部26、26Dは、手領域が静止している時間の計測を開始し、手領域が静止している時間が予め設定された時間に達した場合に、指定操作による指定領域を特定する。
また、手形状分析部22が、指定領域が特定された後に継続して、撮影装置14によって撮影された撮影画像70上で第2特定形状の一例として右手の一本指、または右掌の手領域及び手領域の特定の動きの少なくとも一方を検出する。
描画拡大部28は、手形状分析部22が右手の一本指を検出した場合は、指定領域に対する所定の画像処理の一例として拡大処理の実行を指示する指示操作であるため、前記指定領域を拡大した拡大画像77を、HMD12に表示させる。
また、描画拡大部28は、手形状分析部22が掌が動いていることを検出した場合は、指定領域の表示の削除を指示する指示操作であるため、HMD12に表示される画像から拡大画像77または指定領域の画像72を削除する。
このように、上記各実施形態の画像処理装置16、16A〜Dが認識する操作は、ユーザ8が空間中で行う指定操作及び指示操作は、直感的に理解できる操作である。また、これらの指定操作及び指示操作のジェスチャは、撮影装置14で撮影した撮影画像70から画像処理装置16、16A〜Dが認識しやすいものである。
従って、上記各実施形態の画像処理装置16、16A〜Dによれば、ユーザが操作に不慣れな場合にも、ユーザの操作を適切に認識することができる。
なお、上記各実施形態のでは、片手で操作(ジェスチャ)を行う場合、右手を使用するものとして説明したがこれに限らず、左手であってもよいし、左右何れを用いるかについては任意としてもよい。
また、上記各実施形態で説明したユーザ8の操作(ジェスチャ)は一例であり、ユーザ8が空中で直感的に行える動作であれば特に限定されない。なお、継続する画像処理を指示する場合は、継続しやすい動作であることはいうまでもない。図37〜図39を用いてその他の操作の一例について説明する。
図37(1)は、両手の2本指で指定領域を指定する操作を説明する説明図である。両手の親指及び人差し指を開いた形状を特定形状とし、これら手領域76R、76Lの指で指定される矩形状の領域を指定領域104として特定する場合を示している。また、図37(2)は、右手の1本指で指定領域を指定するその他の操作を説明する説明図である。右手の一本指を伸ばした形状を特定形状とし、手領域76Rの指先の上の一定領域を指定領域106として特定する場合を示している。
また、図38は、拡大率を指示する指示操作を説明する説明図である。まず、拡大範囲を右手一本指で指示する。そして、右手の親指を開く操作が行われたことを認識すると指定領域の画像72を所定の倍率に拡大した拡大画像77をHMD12に表示する場合を示している。
さらに、図39はその他の操作として、画像処理装置16、16A〜Dが、ユーザ8が操作するための操作ボタンの画像をコンテンツとして生成してHMD12に表示させる場合を示している。図39(1)は、HMD12に表示された操作ボタン110の上で所定の時間以上指を静止させた場合、もしくは操作ボタン110の上で指を奥に押す動作が行われた場合に、操作ボタン110が操作されたと認識する場合を示している。また、図39(2)は、操作ボタン112の上で指がスライド(横方向への移動)した場合に、操作ボタン112が操作されたと認識する場合を示している。
また、上記各実施形態を組み合わせて用いてもよいことはいうまでもない。特に、第2実施形態とその他の実施形態の少なくとも1つを組み合わせることが好ましい。また、第1または第2実施形態と、第3及び第4実施形態の少なくとも一方を組み合わせる場合、画像処理装置をいずれの実施形態の態様とするかは、態様を指示するユーザ8の指示操作を認識して判断すればよい。
また、上記各実施形態で説明した画像処理は一例であることはいうまでもない。
また、上記各実施形態では、指定領域の形状を円形で示したが、指定領域の形状は円形以外であってもよく、特に限定されない。
また、画像処理装置16は、HMD12に内蔵されていてもよい。また画像処理装置16の機能を複数の装置に振り分けてもよく、例えば一部の機能をHMD12に内蔵し、残りの機能を別個の装置としてもよい。
また、HMD12と画像処理装置16との間の通信は、有線通信であってお無線通信であってもよい。現場等、ユーザ8がHMD12を使用する状況に応じて通信方法を切り替えてもよい。
また、HMD12に複数の撮影装置14を設け、何れかの撮影装置14で拡大画像77に対応する撮影画像70を撮影して、背景画像に重畳してもよい。
また、上記各実施形態では、HMD12がビデオシースルー型(非透過型)である場合について説明したが、HMD12は、光学シースルー型(光学透過型)であってもよい。但し、HMD12を非透過型とした場合、少なくともユーザ8の手を撮影した画像を背景画像に重畳することが好ましい。
なお、第2実施形態では、失敗パターンDB34に登録された全ての失敗パターンと照合する態様を説明したがこれに限定されるものではない。
例えば、ユーザ8によって第1の操作が行われた後に行われる可能性のある正規の操作が第2の操作又は第3の操作であるとする。この場合、第2の操作で想定される失敗操作に対応する失敗パターンと、第3の操作で想定される失敗操作に対応する失敗パターンについてのみ照合を行ってもよい。このように、照合する失敗パターンを、一連の所定の操作のうちのどの段階にあるかに応じて、絞り込むようにしてもよい。
なお、上記では、画像処理プログラム50、50A〜Dがコンピュータ40、40A〜Dの記憶部46、46A〜Dに予め記憶(インストール)されている状態を説明した。しかしながら、画像処理プログラム50、50A〜Dを記憶媒体に記録された形態で提供することも可能である。記憶媒体としては、例えば、CD−ROM(Compact Disc Read Only Memory)、DVD−ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)等が挙げられる。
以上の上記実施形態に関し、更に以下の付記を開示する。
(付記1)
撮影装置によって撮影された撮影画像上で、領域を指定する指定操作に対応する第1特定形状の手領域を検出した場合に、前記手領域が静止している時間の計測を開始し、前記手領域が静止している時間が予め設定された時間に達した場合に、前記指定操作による指定領域を特定する特定部と、
前記特定部によって前記指定領域が特定された後に継続して、前記撮影装置によって撮影された撮影画像上で前記指定領域に対する所定の画像処理の実行を指示する指示操作に対応する、第2特定形状の手領域及び手領域の特定の動きの少なくとも一方を検出した場合に、前記指定領域に対して前記所定の画像処理を行った画像を、装着された状態で頭部の前方に配置される表示装置に表示させる制御部と、
を備えた画像処理装置。
(付記2)
前記撮影装置は、前記頭部の前方の空間を撮影し、
前記制御部は、前記撮影装置で撮影された前記撮影画像に前記所定の画像処理を行った画像を重畳させて前記表示装置に表示させる、
付記1に記載の画像処理装置。
(付記3)
前記撮影画像から意図された操作を判断する判断部をさらに備え、
判断された操作が前記指定操作の場合は、前記特定部が前記指定領域の特定を行い、判断された操作が前記指示操作の場合は、前記制御部が前記所定の画像処理を行った画像を前記表示装置に表示させる、
付記1または付記2に記載の画像処理装置。
(付記4)
前記判断部は、前記指定操作又は前記指示操作に失敗した場合の操作の情報を記憶する記憶部に情報が記憶された操作を検出した場合に、意図された操作は前記指定操作又は前記指示操作であると判断する、
付記3に記載の画像処理装置。
(付記5)
前記記憶部に記憶される情報は、前記失敗した場合の操作を、手領域の指先の位置、及び手領域の重心の位置の軌跡で表した情報である、
付記4に記載の画像処理装置。
(付記6)
前記指定操作又は前記指示操作が失敗したか否かを検出する検出部をさらに備え、
前記判断部は、前記検出部によって前記指定操作又は前記指示操作の失敗が検出された場合に、判断した操作された意図の正しい操作を表す操作画像を前記表示装置に表示させる、
付記3から付記5のいずれか1つに記載の画像処理装置。
(付記7)
前記検出部は、前記指定操作又は前記指示操作に失敗した場合の操作の情報を記憶する記憶部に記憶された情報に基づいて、前記指定操作又は前記指示操作が失敗したか否かを検出する、
付記6に記載の画像処理装置。
(付記8)
前記制御部は、さらに、前記手領域の静止が継続している時間を視覚的に前記表示に表示させる、
付記1から付記7のいずれか1つに記載の画像処理装置。
(付記9)
コンピュータに、
撮影装置によって撮影された撮影画像上で、領域を指定する指定操作に対応する第1特定形状の手領域を検出した場合に、前記手領域が静止している時間の計測を開始し、前記手領域が静止している時間が予め設定された時間に達した場合に、前記指定操作による指定領域を特定し、
前記指定領域が特定された後に継続して、前記撮影装置によって撮影された撮影画像上で前記指定領域に対する所定の画像処理の実行を指示する指示操作に対応する、第2特定形状の手領域及び手領域の特定の動きの少なくとも一方を検出した場合に、前記指定領域に対して前記所定の画像処理を行った画像を、装着された状態で頭部の前方に配置される表示装置に表示させる、
ことを含む処理を実行させる画像処理プログラム。
(付記10)
前記撮影装置は、前記頭部の前方の空間を撮影し、
前記撮影装置で撮影された前記撮影画像に前記所定の画像処理を行った画像を重畳させて前記表示装置に表示させる、
付記11に記載の画像処理プログラム。
(付記11)
前記撮影画像から意図された操作を判断し、
判断された操作が前記指定操作の場合は、前記指定領域の特定を行い、判断された操作が前記指示操作の場合は、前記所定の画像処理を行った画像の画像を前記表示装置に表示させる、
付記9または付記10に記載の画像処理プログラム。
(付記12)
前記指定操作又は前記指示操作に失敗した場合の操作の情報を記憶する記憶部に情報が記憶された操作を検出した場合に、意図された操作は前記指定操作又は前記指示操作であると判断する、
付記11に記載の画像処理プログラム。
(付記13)
前記記憶部に記憶される情報は、前記失敗した場合の操作を、手領域の指先の位置、及び手領域の重心の位置の軌跡で表した情報である、
付記12に記載の画像処理プログラム。
(付記14)
前記指定操作又は前記指示操作が失敗したか否かを検出し、
前記指定操作又は前記指示操作の失敗が検出された場合に、判断した操作された意図の正しい操作を表す操作画像を前記表示装置に表示させる、
付記11から付記13のいずれか1つに記載の画像処理プログラム。
(付記15)
前記指定操作又は前記指示操作に失敗した場合の操作の情報を記憶する記憶部に記憶された情報に基づいて、前記指定操作又は前記指示操作が失敗したか否かを検出する、
付記14に記載の画像処理プログラム。
(付記16)
さらに、前記手領域の静止が継続している時間を視覚的に前記表示に表示させる、
付記9から付記15のいずれか1つに記載の画像処理プログラム50。
(付記17)
コンピュータにより、
撮影装置によって撮影された撮影画像上で、領域を指定する指定操作に対応する第1特定形状の手領域を検出した場合に、前記手領域が静止している時間の計測を開始し、前記手領域が静止している時間が予め設定された時間に達した場合に、前記指定操作による指定領域を特定し、
前記指定領域が特定された後に継続して、前記撮影装置によって撮影された撮影画像上で前記指定領域に対する所定の画像処理の実行を指示する指示操作に対応する、第2特定形状の手領域及び手領域の特定の動きの少なくとも一方を検出した場合に、前記指定領域に対して前記所定の画像処理を行った画像を、装着された状態で頭部の前方に配置される表示装置に表示させる、
ことを含む処理を実行させる画像処理方法。
(付記18)
前記撮影装置は、前記頭部の前方の空間を撮影し、
前記撮影装置で撮影された前記撮影画像に前記所定の画像処理を行った画像を重畳させて前記表示装置に表示させる、
付記17に記載の画像処理方法。
(付記19)
前記撮影画像から意図された操作を判断し、
判断された操作が前記指定操作の場合は、前記指定領域の特定を行い、判断された操作が前記指示操作の場合は、前記所定の画像処理を行った画像を前記表示装置に表示させる、
付記17または付記18に記載の画像処理方法。
(付記20)
前記指定操作又は前記指示操作に失敗した場合の操作の情報を記憶する記憶部に情報が記憶された操作を検出した場合に、意図された操作は前記指定操作又は前記指示操作であると判断する、
付記19に記載の画像処理方法。
(付記21)
前記記憶部に記憶される情報は、前記失敗した場合の操作を、手領域の指先の位置、及び手領域の重心の位置の軌跡で表した情報である、
付記20に記載の画像処理方法。
(付記22)
前記指定操作又は前記指示操作が失敗したか否かを検出し、
前記指定操作又は前記指示操作の失敗が検出された場合に、判断した操作された意図の正しい操作を表す操作画像を前記表示装置に表示させる、
付記19から付記20のいずれか1つに記載の画像処理方法。
(付記23)
前記指定操作又は前記指示操作に失敗した場合の操作の情報を記憶する記憶部に記憶された情報に基づいて、前記指定操作又は前記指示操作が失敗したか否かを検出する、
付記22に記載の画像処理方法。
(付記24)
さらに、前記手領域の静止が継続している時間を視覚的に前記表示に表示させる、
付記17から付記23のいずれか1つに記載の画像処理方法。
10、10A、10B、10C、10D 画像処理システム
12 HMD
14 撮影装置
16 画像処理装置
20 画像取得部
22 手形状分析部
24 カメラ位置推定部
26、26D 指定領域特定部
28 描画拡大部
30 描画領域固定部
32 画像出力部
33 失敗操作検出部
34 失敗パターンDB
35 操作意図判断部
40、40A、40B、40C、40D コンピュータ
42 CPU
44 メモリ
46、46A、46B、46C、46D 記憶部
50、50A、50B、50C、50D 画像処理プログラム

Claims (7)

  1. 撮影装置によって撮影された撮影画像上で、領域を指定する指定操作に対応する第1特定形状の手領域を検出した場合に、前記手領域が静止している時間の計測を開始し、前記手領域が静止している時間が予め設定された時間に達した場合に、前記指定操作による指定領域を特定する特定部と、
    前記特定部によって前記指定領域が特定された後に継続して、前記撮影装置によって撮影された撮影画像上で前記指定領域に対する所定の画像処理の実行を指示する指示操作に対応する、第2特定形状の手領域及び手領域の特定の動きの少なくとも一方を検出した場合に、前記指定領域に対して前記所定の画像処理を行った画像を、装着された状態で頭部の前方に配置される表示装置に表示させる制御部と、
    前記撮影画像から意図された操作を判断し、前記指定操作又は前記指示操作に失敗した場合の操作の情報を記憶する記憶部に情報が記憶された操作を検出した場合に、意図された操作は前記指定操作又は前記指示操作であると判断する判断部とを備え、
    判断された操作が前記指定操作の場合は、前記特定部が前記指定領域の特定を行い、判断された操作が前記指示操作の場合は、前記制御部が前記所定の画像処理を行った画像を前記表示装置に表示させる、
    を備えた画像処理装置。
  2. 前記撮影装置は、前記頭部の前方の空間を撮影し、
    前記制御部は、前記撮影装置で撮影された前記撮影画像に前記所定の画像処理を行った画像を重畳させて前記表示装置に表示させる、
    請求項1に記載の画像処理装置。
  3. 前記指定操作又は前記指示操作が失敗したか否かを検出する検出部をさらに備え、
    前記判断部は、前記検出部によって前記指定操作又は前記指示操作の失敗が検出された場合に、判断した操作された意図の正しい操作を表す操作画像を前記表示装置に表示させる、
    請求項または請求項に記載の画像処理装置。
  4. 前記検出部は、前記指定操作又は前記指示操作に失敗した場合の操作の情報を記憶する記憶部に記憶された情報に基づいて、前記指定操作又は前記指示操作が失敗したか否かを検出する、
    請求項に記載の画像処理装置。
  5. 前記制御部は、さらに、前記手領域の静止が継続している時間を視覚的に前記表示に表示させる、
    請求項1から請求項のいずれか1項に記載の画像処理装置。
  6. コンピュータに、
    撮影装置によって撮影された撮影画像上で、領域を指定する指定操作に対応する第1特定形状の手領域を検出した場合に、前記手領域が静止している時間の計測を開始し、前記手領域が静止している時間が予め設定された時間に達した場合に、前記指定操作による指定領域を特定し、
    前記指定領域が特定された後に継続して、前記撮影装置によって撮影された撮影画像上で前記指定領域に対する所定の画像処理の実行を指示する指示操作に対応する、第2特定形状の手領域及び手領域の特定の動きの少なくとも一方を検出した場合に、前記指定領域に対して前記所定の画像処理を行った画像を、装着された状態で頭部の前方に配置される表示装置に表示させ
    前記撮影画像から意図された操作を判断し、前記指定操作又は前記指示操作に失敗した場合の操作の情報を記憶する記憶部に情報が記憶された操作を検出した場合に、意図された操作は前記指定操作又は前記指示操作であると判断し、
    判断された操作が前記指定操作の場合は、前記指定領域の特定を行い、判断された操作が前記指示操作の場合は、前記所定の画像処理を行った画像を前記表示装置に表示させる、
    ことを含む処理を実行させる画像処理プログラム。
  7. コンピュータにより、
    撮影装置によって撮影された撮影画像上で、領域を指定する指定操作に対応する第1特定形状の手領域を検出した場合に、前記手領域が静止している時間の計測を開始し、前記手領域が静止している時間が予め設定された時間に達した場合に、前記指定操作による指定領域を特定し、
    前記指定領域が特定された後に継続して、前記撮影装置によって撮影された撮影画像上で前記指定領域に対する所定の画像処理の実行を指示する指示操作に対応する、第2特定形状の手領域及び手領域の特定の動きの少なくとも一方を検出した場合に、前記指定領域に対して前記所定の画像処理を行った画像を、装着された状態で頭部の前方に配置される表示装置に表示させ
    前記撮影画像から意図された操作を判断し、前記指定操作又は前記指示操作に失敗した場合の操作の情報を記憶する記憶部に情報が記憶された操作を検出した場合に、意図された操作は前記指定操作又は前記指示操作であると判断し、
    判断された操作が前記指定操作の場合は、前記指定領域の特定を行い、判断された操作が前記指示操作の場合は、前記所定の画像処理を行った画像を前記表示装置に表示させる、
    ことを含む処理を実行させる画像処理方法。
JP2015073837A 2015-03-31 2015-03-31 画像処理装置、画像処理プログラム、及び画像処理方法 Active JP6464889B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015073837A JP6464889B2 (ja) 2015-03-31 2015-03-31 画像処理装置、画像処理プログラム、及び画像処理方法
US15/050,900 US10185399B2 (en) 2015-03-31 2016-02-23 Image processing apparatus, non-transitory computer-readable recording medium, and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015073837A JP6464889B2 (ja) 2015-03-31 2015-03-31 画像処理装置、画像処理プログラム、及び画像処理方法

Publications (2)

Publication Number Publication Date
JP2016194763A JP2016194763A (ja) 2016-11-17
JP6464889B2 true JP6464889B2 (ja) 2019-02-06

Family

ID=57017169

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015073837A Active JP6464889B2 (ja) 2015-03-31 2015-03-31 画像処理装置、画像処理プログラム、及び画像処理方法

Country Status (2)

Country Link
US (1) US10185399B2 (ja)
JP (1) JP6464889B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017508229A (ja) * 2014-02-28 2017-03-23 グプタ ヴィカスGUPTA, Vikas ジェスチャによって操作する手首装着型カメラシステム
JP2017091433A (ja) * 2015-11-17 2017-05-25 セイコーエプソン株式会社 頭部装着型表示装置、頭部装着型表示装置を制御する方法、コンピュータープログラム
JP6950390B2 (ja) * 2017-09-15 2021-10-13 富士通株式会社 表示制御プログラム、装置、及び方法
JP2019149066A (ja) * 2018-02-28 2019-09-05 富士ゼロックス株式会社 情報処理装置及びプログラム
JP7335726B2 (ja) * 2019-05-31 2023-08-30 シュナイダーエレクトリックホールディングス株式会社 情報表示装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259307A (ja) 1999-03-09 2000-09-22 Toshiba Corp 操作支援システム
JP2001216069A (ja) 2000-02-01 2001-08-10 Toshiba Corp 操作入力装置および方向検出方法
JP4449082B2 (ja) * 2008-08-22 2010-04-14 富士フイルム株式会社 電子カメラ
JP2011209787A (ja) 2010-03-29 2011-10-20 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
JP5401386B2 (ja) 2010-03-31 2014-01-29 新日鉄住金ソリューションズ株式会社 情報処理システム及び情報処理方法
JP4913913B2 (ja) * 2010-04-28 2012-04-11 新日鉄ソリューションズ株式会社 情報処理システム、情報処理方法及びプログラム
JP2012243007A (ja) * 2011-05-18 2012-12-10 Toshiba Corp 映像表示装置及びそれを用いた映像領域選択方法
JP5581292B2 (ja) * 2011-09-30 2014-08-27 楽天株式会社 検索装置、検索方法、記録媒体、ならびに、プログラム
JP5964603B2 (ja) * 2012-02-08 2016-08-03 シャープ株式会社 データ入力装置、及び表示装置
US9141197B2 (en) * 2012-04-16 2015-09-22 Qualcomm Incorporated Interacting with a device using gestures
US9183664B2 (en) 2012-05-03 2015-11-10 Apple Inc. Tiled forward shading with improved depth filtering
CN105074625B (zh) * 2013-04-02 2018-09-21 索尼公司 信息处理设备、信息处理方法及计算机可读记录介质
JP2014228945A (ja) * 2013-05-20 2014-12-08 コニカミノルタ株式会社 領域指定装置
JP6207240B2 (ja) * 2013-06-05 2017-10-04 キヤノン株式会社 情報処理装置及びその制御方法
JP6237000B2 (ja) * 2013-08-29 2017-11-29 セイコーエプソン株式会社 頭部装着型表示装置
JP6326847B2 (ja) 2014-02-14 2018-05-23 富士通株式会社 画像処理装置、画像処理方法および画像処理プログラム

Also Published As

Publication number Publication date
US20160291698A1 (en) 2016-10-06
JP2016194763A (ja) 2016-11-17
US10185399B2 (en) 2019-01-22

Similar Documents

Publication Publication Date Title
JP6464889B2 (ja) 画像処理装置、画像処理プログラム、及び画像処理方法
US11118928B2 (en) Method for providing map information and electronic device for supporting the same
EP3046002B1 (en) Virtual input device and method for receiving user input using the same
US20190238755A1 (en) Method and apparatus for push interaction
JP6658518B2 (ja) 情報処理装置、情報処理方法及びプログラム
WO2012011263A1 (ja) ジェスチャ入力装置およびジェスチャ入力方法
JP6252409B2 (ja) 情報処理装置、情報処理方法およびプログラム
US9916043B2 (en) Information processing apparatus for recognizing user operation based on an image
US9544556B2 (en) Projection control apparatus and projection control method
JP6452369B2 (ja) 情報処理装置とその制御方法、プログラム、記憶媒体
CN108369451B (zh) 信息处理装置、信息处理方法及计算机可读存储介质
JP6504058B2 (ja) 情報処理システム、情報処理方法およびプログラム
US20160191875A1 (en) Image projection apparatus, and system employing interactive input-output capability
JP2010117917A (ja) 動作検出装置および操作システム
US20200018926A1 (en) Information processing apparatus, information processing method, and program
JP6575518B2 (ja) 表示制御装置、表示制御方法およびプログラム
WO2019054037A1 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2003280813A (ja) ポインティングデバイス、ポインタ制御装置、ポインタ制御方法及びその方法を記録した記録媒体
JP4922266B2 (ja) 入力装置及び入力方法
US11501459B2 (en) Information processing apparatus, method of information processing, and information processing system
JP2017009664A (ja) 画像投写装置、及び対話型入出力システム
US20240118751A1 (en) Information processing device and information processing method
JP2018077605A (ja) 表示装置および表示装置の制御方法
TW201411412A (zh) 非接觸式控制系統以及方法
JP2014219879A (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181121

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: 20181211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181224

R150 Certificate of patent or registration of utility model

Ref document number: 6464889

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150