JP2023538687A - 仮想キーボードに基づくテキスト入力方法及び装置 - Google Patents
仮想キーボードに基づくテキスト入力方法及び装置 Download PDFInfo
- Publication number
- JP2023538687A JP2023538687A JP2023513321A JP2023513321A JP2023538687A JP 2023538687 A JP2023538687 A JP 2023538687A JP 2023513321 A JP2023513321 A JP 2023513321A JP 2023513321 A JP2023513321 A JP 2023513321A JP 2023538687 A JP2023538687 A JP 2023538687A
- Authority
- JP
- Japan
- Prior art keywords
- hand
- fingers
- image
- electronic device
- virtual keyboard
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 124
- 238000012549 training Methods 0.000 claims description 102
- 238000012545 processing Methods 0.000 claims description 97
- 230000009471 action Effects 0.000 claims description 92
- 238000003062 neural network model Methods 0.000 claims description 70
- 230000006870 function Effects 0.000 claims description 60
- 238000004590 computer program Methods 0.000 claims description 25
- 238000000926 separation method Methods 0.000 claims description 22
- 230000003287 optical effect Effects 0.000 claims description 16
- 230000003993 interaction Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 38
- 238000010586 diagram Methods 0.000 description 32
- 238000004891 communication Methods 0.000 description 28
- 230000009286 beneficial effect Effects 0.000 description 18
- 238000004422 calculation algorithm Methods 0.000 description 18
- 238000013528 artificial neural network Methods 0.000 description 12
- 238000013461 design Methods 0.000 description 12
- 238000007726 management method Methods 0.000 description 10
- 230000005236 sound signal Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 238000013500 data storage Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000003190 augmentative effect Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 229920001621 AMOLED Polymers 0.000 description 4
- 210000004556 brain Anatomy 0.000 description 4
- 210000004905 finger nail Anatomy 0.000 description 4
- 230000004807 localization Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 230000003321 amplification Effects 0.000 description 2
- 238000013529 biological neural network Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000019771 cognition Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 210000000282 nail Anatomy 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 210000000056 organ Anatomy 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- JLGLQAWTXXGVEM-UHFFFAOYSA-N triethylene glycol monomethyl ether Chemical compound COCCOCCOCCO JLGLQAWTXXGVEM-UHFFFAOYSA-N 0.000 description 2
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04886—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1633—Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
- G06F1/1662—Details related to the integrated keyboard
- G06F1/1673—Arrangements for projecting a virtual keyboard
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1626—Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
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)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- User Interface Of Digital Computer (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
人間とコンピュータのインタラクションの分野に関連し、仮想キーボードに基づいてテキスト入力をどのように完了するかの問題を解決する、仮想キーボードに基づくテキスト入力方法及び装置が提供される。本方法は:電子デバイスが、第1の手を含む画像を取得した後、第1の手を含む画像に基づいて第1の手のキーポイントを検出し(301)、第1の手のキーポイントに基づいて第1の手に仮想キーボードを投影する(302)ことを含む。さらに、第1の手と第2の手の指を含む画像を取得した後(303)、電子デバイスは、第1の手と第2の手の指を含む画像に基づいて、第2の手の指と第1の手との間の接触状態又は押圧状態を識別する(304)。第2の手の指と第1の手が接触状態又は押圧状態にあるとき、電子デバイスは、第2の手の指が第1の手に触れる又は押す位置に基づいて、入力されたテキストを決定する(305)。
Description
本出願は、2020年8月26日に中国国家知識産権局に出願された「TEXT ENTRY METHOD AND APPARATUS BASED ON VIRTUAL KEYBOARD」と題する中国特許出願第202010874085.1号に対する優先権を主張しており、その全体が参照によりここに組み込まれる。
本出願の実施形態は、人間とコンピュータのインタラクションの分野、特に仮想キーボードに基づくテキスト入力方法及び装置に関する。
現在、仮想現実(Virtual Reality、VR)/拡張現実(augmented reality、AR)技術は、3次元(3-dimension、3D)の没入型ディスプレイ体験を実装するように変化しており、より現実に適したインタラクション方法を作ることができる。そのため、仮想現実/拡張現実技術は、ソーシャルネットワーキング、ヘルスケア、教育、ゲーム、映画など、さまざまな業界で幅広い応用が期待されている。VR/ARデバイスについて、最大の欠点は、テキスト入力モードである。一般に、ユーザはハンドルを回転又は並進することによって、仮想空間からの光線を仮想キーボードのキーに配置し、ハンドルを押して入力を完了することを決定する;又は、ユーザは両手を空中に置いて仮想キーボードを押し、入力を完了する。これらの方法は非効率的で操作が困難であり;長時間の入力は、ユーザに痛みを感じさせる。そのため、仮想キーボードに基づいてどのようにテキスト入力を完了するかは、解決されるべき緊急の問題である。
本出願は、仮想キーボードに基づいてどのようにテキスト入力を完了するかの問題を解決するために、仮想キーボードに基づくテキスト入力方法及び装置を提供する。
前述の目的を達成するために、本出願の実施形態では次の技術的解決策が使用される。
第1の態様によれば、本出願は仮想キーボードに基づくテキスト入力方法を提供する。方法は、次のものを含む:第1の手を含む画像を取得した後、電子デバイスは、第1の手を含む画像に基づいて第1の手のキーポイントを検出し、第1の手のキーポイントに基づいて第1の手に仮想キーボードを投影する。例えば、仮想キーは、第1の手の手のひら又は手の甲(back)に投影される。さらに、第1の手と第2の手の指を含む画像を取得した後、電子デバイスは、第1の手と第2の手の指を含む画像に基づいて、第2の手の指と第1の手との間の接触状態又は押圧(pressing)状態を識別する。第2の手の指と第1の手が接触状態又は押圧状態にある場合、電子デバイスは、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて、入力されたテキストを決定する。
したがって、仮想キーボードは、ユーザの体の部分(例えば、手のひら又は手の甲)に基づいて投影され、ユーザはインターフェースを極端に凝視する必要はなく、投影された仮想キーボードを配置するのを支援するために脳を使用する。これにより、ユーザは、投影された仮想キーボードを効率的かつ正確に押す又はタッチすることができ、テキスト入力の効率及び精度が効果的に向上する。電子デバイスは、ユーザによって押された又はタッチされた体の位置を識別することによって、入力されたテキストを決定する。加えて、仮想キーボードによるテキスト入力方法は、シナリオ依存性がなく、ユーザは任意の姿勢で操作を行うことができる。これにより、ユーザの長時間の中断された入力による疲労及び痛みなどの問題が解決され、十分な物理的フィードバックが提供され、ユーザ体験が効果的に向上する。
可能な実装では、電子デバイスが、第1の手と第2の手の指を含む画像に基づいて、第2の手の指と第1の手との間の接触状態又は押圧状態を識別することは、次を含む:電子デバイスは、事前設定されたニューラルネットワークモデルを使用することによって、第1の手と第2の手の指を含む画像を分析し;第2の手の指と第1の手との間の接触状態又は押圧状態を識別し;第2の手の指の指先キーポイントを取得する。
可能な実装では、電子デバイスが、第1の手と第2の手の指を含む画像に基づいて、第2の手の指と第1の手との間の接触状態又は押圧状態を識別することは、次を含む:電子デバイスは、事前設定されたニューラルネットワークモデルを使用して、第1の手と第2の手の指を含む画像と、第2の手の指のオプティカルフローを分析し;第2の手の指と第1の手との間の接触状態又は押圧状態を識別し;第2の手の指の指先キーポイントを取得する。したがって、第2の手の指と第1の手との間の接触状態、押圧状態、又は分離状態を識別する精度が向上する。
別の可能な実装では、電子デバイスが、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて入力されたテキストを決定することは、次を含む:電子デバイスは、第2の手の指の指先座標と仮想キーボードの座標に基づいて、第2の手の指が第1の手に触れる又はそれを押す位置を決定し;第2の手の指が第1の手に触れる又はそれを押す位置に基づいて、入力されたテキストを決定する。キーポイントは2次元座標であり得る。したがって、電子デバイスは、第2の手の指先が指し且つ仮想キーボードである位置を座標に変換し、座標に基づいて入力されたテキストを決定する。これにより、入力されたテキストを認識する精度が向上する。
別の可能な実装では、電子デバイスが、第1の手のキーポイントに基づいて、第1の手に仮想キーボードを投影することは、次を含む:電子デバイスは、第1の手を含む画像の複数のフレームに基づいて、第1の手のアクションを識別し;第1の手のアクションが事前に設定されたアクションと一致することを決定し、第1の手のキーポイントに基づいて仮想キーボードを投影する。例えば、事前に設定されたアクションは、拳を握ることから手のひらを伸ばすことまでである。したがって、電子デバイスが、仮想キーボードが投影される位置を識別し、仮想キーボードを正確に投影することが確実にされる。これにより、ユーザのテキスト入力が容易になる。
別の可能な実装では、電子デバイスが第1の手と第2の手の指を含む画像を取得した後、方法はさらに次を含む:電子デバイスは、第1の手と第2の手の指を含む画像に基づいて、第2の手の指と第1の手との間の分離状態を識別し;第2の手の指と第1の手が分離状態にあるとき、第1の手を含む画像を取得する又は第1の手と第2の手の指を含む画像を取得する。したがって、第2の手の指と第1の手の接触状態、押圧状態、又は分離状態が、第1の手と第2の手の指を含む画像をリアルタイムで位置確認すること(positioning)及び追跡することによって識別される。これにより、入力されたテキストの正確な認識が確実にされ、ユーザ体験が向上する。
別の可能な実装では、方法にはさらに次を含む:電子デバイスは、ニューラルネットワークモデルにトレーニングセットを入力し、ニューラルネットワークモデルは分類結果を出力し;分類結果、第1のタイプのトレーニング画像のラベル、及び第2のタイプのトレーニング画像のラベルに基づいて、損失関数の損失関数値を計算し;損失関数が収束し、損失関数値がしきい値以下の場合、ニューラルネットワークモデルのパラメータを取得する。トレーニングセットは、第1のタイプのトレーニング画像、第2のタイプのトレーニング画像、第1のタイプのトレーニング画像のラベル、及び第2のタイプのトレーニング画像のラベルを含む。第1のタイプのトレーニング画像は、第2の手の指と第1の手が接触状態又は押圧状態にある複数の画像を含み、第2のタイプのトレーニング画像は、第2の手の指と第1の手が分離状態にある複数の画像を含み、分類結果は複数のラベルを含む。したがって、電子デバイスは、第2の手の指と第1の手の接触状態、押圧状態、分離状態をリアルタイムで識別することができる。
別の可能な実装では、電子デバイスが、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて入力されたテキストを決定した後、方法はさらに次を含む:電子デバイスは、第1の手、第2の手の指、及び入力されたテキストを表示する。したがって、ユーザは入力されたテキストをリアルタイムで直感的に見ることができ、ユーザ体験が向上する。
第2の態様によれば、本出願はさらにテキスト入力装置を提供する。有益な効果については、第1の態様の説明を参照されたい。詳細については、ここでは再度説明しない。テキスト入力装置は、第1の態様の方法例における動作を実装する機能を有する。この機能は、ハードウェアによって実装され得る、又は、対応するソフトウェアを実行するハードウェアによって実装され得る。ハードウェア又はソフトウェアは、前述の機能に対応する1つ以上のモジュールを含む。可能な設計では、テキスト入力装置は、画像キャプチャユニット及び処理ユニットを含む。処理ユニットは、第1の手を含む画像に基づいて、第1の手のキーポイントを取得するように構成される。処理ユニットは、さらに、第1の手のキーポイントに基づいて、第1の手に仮想キーボードを投影するように構成される。画像キャプチャユニットは、第1の手と第2の手の指を含む画像を取得するように構成される。処理ユニットは、さらに、第1の手と第2の手の指を含む画像に基づいて、第2の手の指と第1の手との間の接触状態又は押圧状態を識別するように構成される。処理ユニットは、さらに:第2の手の指と第1の手が接触状態又は押圧状態にある場合、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて、入力されたテキストを決定するように構成される。これらのユニットは、第1の態様の方法例における対応する機能を実行し得る。詳細については、方法例の詳細な説明を参照されたい。詳細については、ここでは再度説明しない。
第3の態様によれば、電子デバイスが提供され、電子デバイスはプロセッサ、メモリ、ディスプレイ、及びカメラを含み得る。プロセッサは、ディスプレイ、カメラ、及びメモリに結合される。メモリは、コンピュータプログラムコードを格納するように構成される。コンピュータプログラムコードは、コンピュータソフトウェア命令を含む。コンピュータソフトウェア命令が電子デバイスによって実行される場合、電子デバイスは以下の動作を実行する:第1の手を含む画像を取得した後、電子デバイスは、第1の手を含む画像に基づいて第1の手のキーポイントを検出し、第1の手のキーポイントに基づいて第1の手に仮想キーボードを投影する。さらに、第1の手と第2の手の指を含む画像を取得した後、電子デバイスは、第1の手と第2の手の指を含む画像に基づいて、第2の手の指と第1の手との間の接触状態又は押圧状態を決定する。第2の手の指と第1の手が接触状態又は押圧状態にある場合、電子デバイスは、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて、入力されたテキストを決定する。
第4の態様よれば、コンピュータソフトウェア命令を含む、コンピュータ可読記憶媒体が提供される。コンピュータソフトウェア命令が電子デバイスで実行される場合、電子デバイスは、第1の態様又は第1の態様の可能な実装のいずれかによる仮想キーボードに基づくテキスト入力方法を実行することが可能にされる。
第5の態様によれば、コンピュータプログラム製品が提供される。コンピュータプログラム製品がコンピュータ上で実行される場合、コンピュータは、第1の態様又は第1の態様の可能な実装のいずれかによる仮想キーボードに基づくテキスト入力方法を実行することが可能にされる。
第6の態様によれば、チップシステムが提供される。チップシステムは、電子デバイスで使用される。チップシステムは、インターフェース回路とプロセッサを含み;インターフェース回路とプロセッサはラインを介して相互接続される。インターフェース回路は、電子デバイスのメモリから信号を受信し、プロセッサに信号を送信するように構成され、信号はメモリに格納されたコンピュータ命令を含む。プロセッサがコンピュータ命令を実行する場合、チップシステムは、第1の態様又は第1の態様の可能な実装のいずれかによる仮想キーボードに基づくテキスト入力方法を実行する。
本出願における技術的特徴、技術的解決策、有益な効果、又は類似の語の説明は、すべての特徴及び利点がどの個別の実施形態でも実装できることを意味しないことが理解されるべきである。逆に、特徴又は有益な効果の説明は、少なくとも1つの実施形態が特定の技術的特徴、技術的解決策、又は有益な効果を含むことを意味すると理解してもよい。したがって、本明細書における技術的特徴、技術的解決策、又は有益な効果の説明は、必ずしも同じ実施形態に固有であるとは限らない。さらに、実施形態に記載された技術的特徴、技術的解決策、及び有益な効果は、任意の適切な方法で組み合わせることができる。当業者は、実施形態が、1つ以上の特定の技術的特徴又は技術的解決策、又は特定の実施形態における有益な効果なしに実装できることを理解することができる。他の実施形態では、すべての実施形態を反映していない特定の実施形態において、追加の技術的特徴及び有益な効果がさらに特定される場合がある。
本出願の本明細書、特許請求の範囲及び添付図面において、「第1」、「第2」、「第3」等の用語は、異なる対象を区別することを意図しているが、特定の順序に限定するものではない。
本出願の実施形態では、「例」、「例えば」等の語は、例、図示又は説明を与えることを表すために使用される。本出願の実施形態において、「例」又は「例えば」で記述されたいかなる実施形態又は設計スキームも、他の実施形態又は設計スキームよりも好ましい、又はより多くの利点を有するものとして説明されるべきではない。正確には、「例」又は「例えば」のような語の使用は、特定の方法で関連する概念を提示することを意図している。
本出願の実施形態における電子デバイスは、テレビ、タブレットコンピュータ、プロジェクタ、携帯電話、デスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピュータ、ノートパソコン、ウルトラモバイルパーソナルコンピュータ(ultra-mobile personal computer、UMPC)、ネットブック、又は、携帯情報端末(personal digital assistant、PDA)、又は拡張現実(augmented reality、AR)/仮想現実(virtual reality、VR)デバイスなどのディスプレイとカメラを含むデバイスであり得る。電子デバイスの特定の形態は、本出願の実施形態において特に限定されない。
図1は、本出願の実施形態による電子デバイスの構造の概略図である。図1に示すように、電子デバイスは:プロセッサ110、外部メモリインターフェース120、内部メモリ121、ユニバーサルシリアルバス(universal serial bus、USB)インターフェース130、電源管理モジュール140、アンテナ、無線通信モジュール160、オーディオモジュール170、スピーカ170A、スピーカボックスインターフェース170B、マイク170C、センサーモジュール180、キー190、インジケータ191、ディスプレイ192、カメラ193などを含む。センサーモジュール180は、距離センサー、光学近接センサー、指紋センサー、温度センサー、タッチセンサー、周囲光センサーなどを含み得る。
この実施形態で示された構造は、電子デバイスの具体的な限定を構成しないことが理解され得る。他のいくつかの実施形態では、電子デバイスは、図示されているものよりも多く又は少数のコンポーネントを含む、又はいくつかのコンポーネントを結合する、又はいくつかのコンポーネントを分割する、又は異なるコンポーネント配置を持ち得る。図示されているコンポーネントは、ハードウェア、ソフトウェア、又はソフトウェアとハードウェアの組み合わせによって実装され得る。
プロセッサ110は、1つ以上の処理ユニットを含み得る。例えば、プロセッサ110は、アプリケーションプロセッサ(application processor、AP)、モデムプロセッサ、グラフィックス処理ユニット(graphics processing unit、GPU)、画像シグナルプロセッサ(image signal processor、ISP)、コントローラ、メモリ、ビデオコーデック、デジタルシグナルプロセッサ(digital signal processor、DSP)、ベースバンドプロセッサ、及び/又はニューラルネットワーク処理ユニット(neural-network processing unit、NPU)を含み得る。異なる処理ユニットは、独立したコンポーネントである場合もあれば、1つ以上のプロセッサに統合されている場合もある。
この実施形態では、プロセッサ110は:カメラ193からのものであり第1の手を含む画像を受信し;第1の手を含む画像に基づいて、第1の手のキーポイントを取得し;第1の手のキーポイントに基づいて、仮想キーボードを第1の手に投影する;ように構成される。さらに、プロセッサ110は:カメラ193からのものであり、第1の手と第2の手の指を含む画像を受信し;第1の指と第2の手の指の画像に基づいて、第1の手と第2の手の指との間の接触状態又は押圧状態を識別し;第2の手の指と第1の手が接触状態又は押圧状態にある場合、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて入力されたテキストを特定する;ように構成される。
コントローラは、電子デバイスの神経中枢(nerve center)と指令中枢(command center)であり得る。コントローラは、命令動作コード及び時系列信号に基づいて、動作制御信号を生成して、命令の読み取り及び命令の実行の制御を完了し得る。
メモリはプロセッサ110に配置することができ、命令とデータを格納するように構成される。いくつかの実施形態では、プロセッサ110のメモリはキャッシュである。メモリは、プロセッサ110によって使用された又は周期的に使用された命令又はデータを格納し得る。プロセッサ110が命令又はデータを再び使用する必要がある場合、プロセッサはメモリから命令又はデータを直接呼び出し得る。これは、繰り返しアクセスを回避し、プロセッサ110の待機時間を短縮し、それによってシステム効率を向上させる。
いくつかの実施形態では、プロセッサ110は1つ以上のインターフェースを含み得る。インターフェースは、集積回路間(inter-integrated circuit、I2C)インターフェース、集積回路間サウンド(inter-integrated circuit sound、I2S)インターフェース、パルス符号変調(pulse code modulation、PCM)インターフェース、ユニバーサル非同期受信機/送信機(universal asynchronous receiver/transmitter、UART)インターフェース、モバイルインダストリプロセッサインターフェース(mobile industry processor interface、MIPI)、汎用入出力(general-purpose input/output、GPIO)インターフェース、USBインターフェースなどを含み得る。
電源管理モジュール140は、電源装置に接続するように構成される。電源管理モジュール140は、さらにプロセッサ110、内部メモリ121、ディスプレイ192、カメラ193、無線通信モジュール160などに接続され得る。電源管理モジュール140は、電源の入力を受け取り、プロセッサ110、内部メモリ121、ディスプレイ192、カメラ193、無線通信モジュール160などに電力を供給する。他の実施形態では、電源管理モジュール140は代替的にプロセッサ110に配置され得る。
電子デバイスの無線通信機能は、アンテナ、無線通信モジュール160などを使用して実装され得る。無線通信モジュール160は、電子デバイスに適用され、無線ローカルエリアネットワーク(wireless local area networks、WLAN)(例えば、ワイヤレスフィディリティ(wireless fidelity、Wi-Fi(登録商標))ネットワーク)、ブルートゥース(登録商標)(bluetooth(登録商標)、BT)、全地球航法衛星システム(global navigation satellite system、GNSS)、周波数変調(frequency modulation、FM)、近距離無線通信(near field communication、NFC)技術、及び赤外線(infrared、IR)技術を含む、無線通信ソリューションを提供し得る。
無線通信モジュール160は、少なくとも1つの通信処理モジュールを統合する1つ以上のコンポーネントであり得る。無線通信モジュール160は、アンテナによって電磁波を受信し、電磁波信号に対して周波数変調及びフィルタリング処理を行い、処理された信号をプロセッサ110に送信する。無線通信モジュール160は、さらに、プロセッサ110から送信されるべき信号を受信し、その信号に対して周波数変調及び増幅を行い、アンテナを介した放射のためにその信号を電磁波に変換し得る。いくつかの実施形態では、電子デバイスのアンテナは無線通信モジュール160に結合されているため、電子デバイスは無線通信技術に従ってネットワーク及び他のデバイスと通信し得る。
電子電話機は、GPU、ディスプレイ192、アプリケーションプロセッサなどを使用してディスプレイ機能を実装する。GPUは、画像処理に使用されるマイクロプロセッサであり、ディスプレイ192及びアプリケーションプロセッサに接続される。GPUは、数学的及び幾何学的計算を実行するように構成され、グラフィックスレンダリングを実行するように構成される。プロセッサ110は、表示情報を生成又は変更するプログラム命令を実行する1つ以上のGPUを含み得る。
ディスプレイ192は、画像、ビデオなどを表示するように構成される。ディスプレイ192は、ディスプレイパネルを含む。ディスプレイパネルは、液晶ディスプレイ(liquid crystal display、LCD)、有機発光ダイオード(organic light-emitting diode、有機EL)、アクティブマトリックス有機発光ダイオード(active-matrix organic light emitting diode、AMOLED)、フレキシブル発光ダイオード(flex Light-emitting diode、FLED)、ミニLED、マイクロLED、マイクロOLED、量子ドット発光ダイオード(quantum dot light emitting diodes、QLED)などであり得る。
電子デバイスは、ISP、カメラ193、ビデオコーデック、GPU、ディスプレイ192、アプリケーションプロセッサなどを使用して撮影機能を実装し得る。ISPは、カメラ193によってフィードバックされたデータを処理するように構成される。いくつかの実施形態では、ISPはカメラ193に配置され得る。
カメラ193は、静止画像又はビデオをキャプチャするように構成される。物体の光学画像は、レンズを通して生成され、感光素子に投影される。感光素子は、電荷結合素子(charge coupled device、CCD)又は相補型金属酸化物半導体(complementary metal-oxide-semiconductor、CMOS)フォトトランジスタであり得る。感光素子は、光信号を電気信号に変換し、次いで電気信号をISPに送信して電気信号をデジタル画像信号に変換する。ISPは、処理のためにデジタル画像信号をDSPに出力する。DSPは、デジタル画像信号をRGBやYUVなどの標準形式の画像信号に変換する。いくつかの実施形態では、電子デバイスは、1つ又はN個のカメラ193を含み得、(Nは1より大きい正の整数である。例えば、この実施形態では、電子デバイス上のカメラ193の位置は限定されない。この実施形態では、カメラ193は、第1の手を含む画像と、第1の手及び第2の手の指を含む画像を撮影するように構成される。例えば、電子デバイスはVRデバイスである。図2に示すように、カメラ193は、VRデバイスの下側の端に配置され得る。確かに、本出願の実施形態では、電子デバイス上のカメラ193の位置は限定されない。
代替的には、電子デバイスはカメラを含まない場合があり、言い換えれば、カメラ193は電子デバイスに配置されない(例えばテレビ)。電子デバイスは、インターフェース(例えば、USBインターフェース130)を介してカメラ193に外部接続され得る。外部カメラ193は、外部留め具(例えば、クリップ付きのカメラブラケット)を使用して電子デバイスに固定され得る。例えば、外部カメラ193は、外部留め具を使用して電子デバイスのディスプレイ192の端、例えば上側の端に固定され得る。
デジタルシグナルプロセッサは、デジタル信号を処理するように構成され、デジタル画像信号に加えて別のデジタル信号を処理し得る。例えば、電子デバイスが周波数を選択する場合、デジタルシグナルプロセッサは、周波数エネルギーに対してフーリエ変換を実行するように構成される。ビデオコーデックは、デジタルビデオを圧縮又は解凍するように構成される。電子デバイスは、1つ以上のビデオコーデックをサポートし得る。このようにして、電子デバイスは、複数のコーディングフォーマット、例えば動画専門家グループ(moving picture experts group、MPEG)-1、MPEG-2、MPEG-3、MPEG-4のビデオを再生又は記録し得る。
NPUはニューラルネットワーク(neural-network、NN)コンピューティングプロセッサである。NPUは、生物学的ニューラルネットワークの構造を使用して、例えば、人間の脳ニューロン間の転送モードを使用して、入力情報を迅速に処理し;さらに継続的に自己学習を行い得る。画像認識、顔認識、音声認識、及びテキスト理解などの電子デバイスの知的認知などのアプリケーションは、NPUを使用して実装することができる。
外部メモリインターフェース120は、電子デバイスのストレージ能力を拡張するために、外部ストレージカード、例えば、マイクロSDカードに接続するように構成され得る。外部ストレージカードは、外部メモリインターフェース120を介してプロセッサ110と通信し、データストレージ機能を実装する。例えば、音楽及びビデオなどのファイルは、外部ストレージカードに格納される。
内部メモリ121は、コンピュータ実行可能プログラムコードを格納するように構成され得、実行可能プログラムコードは命令を含む。プロセッサ110は、内部メモリ121に格納された命令を実行し、電子デバイスのさまざまな機能アプリケーション及びデータ処理を実行する。内部メモリ121は、プログラム格納領域及びデータ格納領域を含み得る。プログラム格納領域は、オペレーティングシステム、少なくとも1つの機能によって必要とされるアプリケーション(例えば、音声再生機能や画像再生機能)などを格納し得る。データ格納領域は、電子デバイスを使用する際に作成されるデータ(例えば、オーディオデータ)などを格納し得る。加えて、内部メモリ121は、高速ランダムアクセスメモリを含み得、さらに、不揮発性メモリ、例えば、少なくとも1つの磁気ディスク記憶装置、フラッシュメモリデバイス、又はユニバーサルフラッシュストレージ(universal flash storage、UFS)を含み得る。
電子デバイスは、オーディオモジュール170、スピーカ170A、マイク170C、スピーカボックスインターフェース170B、アプリケーションプロセッサなどを使用して、オーディオ機能を実装し得る。例えば、オーディオ機能は、音楽の再生、録音などを含む。本出願では、マイク170Cは、ユーザによって電子デバイスに送信される音声命令を受信するように構成され得る。スピーカ170Aは、電子デバイスの決定命令をユーザにフィードバックするように構成され得る。
オーディオモジュール170は、出力のためにデジタルオーディオ情報をアナログオーディオ信号に変換するように構成され、アナログオーディオ入力をデジタルオーディオ信号に変換するようにも構成される。オーディオモジュール170は、さらに、オーディオ信号をエンコード及びデコードするように構成され得る。いくつかの実施形態では、オーディオモジュール170は、プロセッサ110に配置され得る、又は、オーディオモジュール170内のいくつかの機能モジュールがプロセッサ110に配置され得る。スピーカ170Aは、「ホーン」とも呼ばれ、オーディオ電気信号を音声信号に変換するように構成される。マイク170Cは、「マイク(mike」又は「mic」とも呼ばれ、音声信号を電気信号に変換するように構成される。
スピーカボックスインターフェース170Bは、有線スピーカボックスに接続するように構成される。スピーカボックスインターフェース170Bは、USBインターフェース130であり得る、又は、3.5mmのオープンモバイルターミナルプラットフォーム(open mobile terminal platform、OMTP)標準インターフェース、若しくは米国の携帯電話通信産業協会(cellular telecommunications industry association of the USA、CTIA)標準インターフェースであり得る。
キー190は、電源投入キー、ボリュームキーなどを含む。キー190は、メカニカルキーであってもよく、タッチキーであってもよい。電子デバイスは、キー入力を受信し、電子デバイスのユーザ設定及び機能制御に関連するキー信号入力を生成し得る。
インジケータ191は、インジケータライトであり得、電子デバイスがパワーオンモード、スタンバイモード、パワーオフモードなどであることを示すように構成され得る。例えば、インジケータライトがオフである場合、電子デバイスがパワーオフモードであることが示され得る;インジケータライトが緑又は青の場合、電子デバイスがパワーオンモードであることが示され得る;インジケータライトが赤の場合、電子デバイスがスタンバイモードであることが示され得る。
本出願のこの実施形態で示されている構造は、電子デバイスの特定の限定を構成しないことが理解され得る。電子デバイスは、図1に示すコンポーネントよりも多いコンポーネント又は少ないコンポーネントを有してもよく、2つ以上のコンポーネントを組み合わせてもよく、又は異なるコンポーネント構成を有してもよい。例えば、電子デバイスは、さらに、スピーカボックスなどのコンポーネントを含み得る。図1に示すさまざまなコンポーネントは、ハードウェア、ソフトウェア、又は1つ以上の信号処理又はアプリケーション固有の集積回路を含むハードウェアとソフトウェアの組み合わせで実装され得る。
以下の実施形態のすべての方法は、前述のハードウェア構造を持つ電子デバイスで実装され得る。以下の実施形態では、電子デバイスがVRデバイス又はARデバイスである例を用いて、本出願の実施形態における方法を説明する。
ユーザがVRデバイスを携帯し、仮想環境にいることを前提とする。ユーザが仮想環境でテキストを入力する必要があるとき、VRデバイスが第1の手を含む画像を撮影する場合、VRデバイスは、第1の手を含む画像に基づいて第1の手のキーポイントを検出し、第1の手のキーポイントに基づいて第1の手に仮想キーボードを投影し得る。仮想キーボードは、仮想環境で仮想的な形式で提示されるキーボード画像であり、物理的な実体のキーボードではないことが理解され得る。例えば、仮想キーボードは、VRデバイスによって提示される仮想環境でユーザが見る仮想キーボードである。別の例として、仮想キーボードは、ARデバイスによって提示される仮想環境でユーザが見る仮想キーボードである。この場合、ユーザは仮想環境で仮想キーボードが第1の手に投影されていることを見ることができる。さらに、第1の手と第2の手の指を含む画像を取得した後、電子デバイスは、第1の手と第2の手の指を含む画像に基づいて、第2の手の指と第1の手との間の接触状態又は押圧状態を識別し;第2の手の指と第1の手が接触状態又は押圧状態にあるとき、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて、入力されたテキストを決定する。次に、図3を参照して、実施形態で提供される仮想キーボードに基づくテキスト入力方法を詳述する。
S301:第1の手を含む画像に基づいて第1の手のキーポイントを取得する。
電子デバイスは、カメラを使用して第1の画像を撮影し;物体検出(obiect detection)アルゴリズムに従って、カメラによって撮影された第1の画像を検出し;第1の画像が第1の手を含むことを決定する。物体検出は、画像内の関心のある物体を見つけることを意味し得る。具体的には、電子デバイスは、最初に与えられた画像上のいくつかの候補領域を選択し、次にこれらの領域から特徴を抽出し、抽出された特徴に基づいて訓練された分類器を使用して画像内の物体を分類する。
さらに、電子デバイスは、第1の手を含み、第1の画像内にある画像をキャプチャする。第1の手を含む画像は、第1の手全体を含む画像であり得る、又は、第1の手の部分を含む画像であり得る。手の部分は:図4の(a)に示される第1の手の指、図4の(b)に示される第1の手の手のひら、図4の(c)に示される第1の手の甲、図4の(d)に示される第1の手の指の一部と第1の手の掌の一部、図4の(e)に示される第1の手の指の一部と第1の手の甲の一部を含むが、これらに限定されない。
第1の手を含む画像に基づいて、手のポーズ推定(hand pose estimation)アルゴリズムに従って、第1の手のキーポイント(key point)が識別される。手のポーズ推定アルゴリズムは、ニューラルネットワークモデルを訓練することによって手のキーポイントが検出されるアルゴリズムであり、手のポーズ(pose)は手のキーポイントに基づいて記述される。キーポイントはここではナックルポイント又はスケルトンポイントである。例えば、図5は、本出願の一実施形態による、第1の手のキーポイント識別結果の概略図である。電子デバイスは、手のポーズ推定アルゴリズムに従って、手の21のキーポイントを識別し得る。代替的には、電子デバイスは、手のポーズ推定アルゴリズムに従って、手の21のキーポイントよりも多い又は少ないキーポイントを識別してもよい。
S302:第1の手のキーポイントに基づいて、仮想キーボードを第1の手に投影する。
電子デバイスは、第1の手のキーポイントを2次元座標として使用し、第1の手のキーポイントに基づいて、仮想キーボードを第1の手に投影し得る。例えば、電子デバイスは、コンピュータビジョンアフィンアルゴリズムに従って、仮想キーボードを第1の手に投影し得る。可能な設計では、図6(a)に示すように、仮想キーボードは、第1の手の手のひらのキーポイント0、キーポイント1、キーポイント5、及びキーポイント17に基づいて、第1の手の手のひらに投影される。別の可能な設計では、図6(b)に示すように、仮想キーボードは、第1の手の甲のキーポイント0、キーポイント1、キーポイント5、及びキーポイント17に基づいて、第1の手の甲に投影される。仮想キーボードは、数字キーボード又は9キーのピンインキーボードであり得る。これはここでは限定されない。
可能な実装では、図7に示すように、電子デバイスは、第1の手を含む画像の複数のフレームに基づいて第1の手のアクションを識別し、第1の手のアクションが事前に設定されたアクションと一致するかどうかを決定する(S701を実行する)。第1の手のアクションが事前に設定されたアクションと一致する場合、仮想キーボードは、第1の手のキーポイントに基づいて第1の手に投影される(S302を実行する);又は、第1の手のアクションが事前に設定されたアクションと一致しない場合、電子デバイスは、カメラを使用して、第1の手を含む画像を撮影し(S702を実行し)、第1の手を含む画像に基づいて第1の手のキーポイントを取得する(S301を実行する)。
アクションは、ロールの(role's)5つの器官の位置を変更する(表情変化)、ロールの手足の位置を変更する(アクション変化)、ロールとそのロールが置かれている環境の相対的な位置を変更する(動作距離変更)のプロセスである。電子デバイスは、手のポーズ推定アルゴリズムに従って、複数の連続したフレームにおける第1の手のポーズを識別し、複数の連続したフレームにおける第1の手のポーズに基づいて第1の手のアクションを決定し得る。
事前に設定されたアクションは、電子デバイスによって予め設定された手のアクションである。事前に設定されたアクションに一致するアクションは、事前に設定されたアクションと同じアクションであることが理解され得る。第1の手のアクションが事前に設定されたアクションと完全に同じであると決定する場合、電子デバイスは第1の手のアクションが事前に設定されたアクションに一致するとみなされ、第1の手がターゲットの手である。例えば、事前に設定されたアクションは、拳を握ることから手のひらを伸ばすまでのアクションであり得る。別の例として、事前に設定されたアクションは、手のひらを手の甲に反転するアクションであり得る。別の例として、事前に設定されたアクションは、手の甲を手のひらに反転するアクションであり得る。例えば、図8の(a)は、拳を握ることから手のひらを伸ばすまでのアクションの概略図である。電子デバイスは、手のひらを伸ばすことから拳を握るまでのアクションと、拳を握ることから手のひらを伸ばすまでのアクションを識別する。電子デバイスは、図8の(b)に示すように、手のひらから手の甲に反転するアクションを識別する。
仮想キーボードが第1の手に投影された後、電子デバイスは、第1の手を含む画像を連続的に撮影し、第1の手を含む連続した画像を認識し、第1の手のキーポイントを決定し、そのキーポイントに基づいて第1の手を追跡し、第1の手のキーポイントに基づいて仮想キーボードを投影し得ることが留意されるべきである。このように、第1の手の位置確認は、第1の手のキーポイントのリアルタイムの位置確認及び追跡を通じて実装され、仮想キーボードは、第1の手とともに動くことができ、仮想キーボードが肌に密着する効果が実装され、良好なユーザ体験が確実にされる。例えば、電子デバイスは、毎秒の中で、少なくとも、第1の手を含む20フレームの画像を連続的に識別し、第1の手のキーポイントを決定し、第1の手のキーポイントに基づいて第1の手を追跡し、第1の手のキーポイントに基づいて仮想キーボードを投影する。
S303:第1の手と第2の手の指を含む画像を取得する。
電子デバイスは、カメラを使用して第2の画像を撮影し;物体検出アルゴリズムに従って、カメラによって撮影された第2の画像を検出し;第2の画像が、第1の手と第2の手の指を含むことを決定する。さらに、電子デバイスは、第1の手と第2の手の指を含む画像を連続的に撮影し;第1の手と第2の手の指の連続した画像に対して画像認識を行って、第2の手の指のキーポイントを決定し(S703を実行し);第2の手の指のキーポイントに基づいて第2の手の指を追跡する(S704を実行する)。したがって、第2の手の指の位置確認することが、第2の手の指のキーポイントをリアルタイムで位置決め及び追跡することで実装され;第2の手の指と第1の手との間の接触状態、押圧状態、又は分離状態が識別され;入力されたテキストの正確な認識が確実にされ、ユーザ体験を向上させる。
本実施形態では、第1の手と第2の手の左右関係は限定されない。例えば、第1の手は左手であってもよく、第2の手は右手であってもよい。別の例として、第1の手は右手であってもよく、第2の手は左手であってもよい。オプションとして、第2の画像を取得し、第2の画像が第1の手と第2の手の指を含むことを識別した後、電子デバイスは、第1の手と第2の手との間の左右関係も識別し得る。
S304:第1の手と第2の手の指を含む画像に基づいて、第2の手の指と第1の手との間の接触状態又は押圧状態を識別する。
ニューラルネットワークモデルを使用して、第2の手の指と第1の手との間の接触状態、押圧状態、又は分離状態が識別される前に、第1の手と第2の手の指を含む大量の画像が最初にカメラを使用してキャプチャされ、第1の手と第2の手の指を含む画像が分析される。第2の手の指が第1の手に触れる又はそれを押すとき、第2の手の指が第1の手に触れる又はそれを押す位置を第2の手の指がブロックする。そのため、第1の手のテクスチャが変化する。テクスチャは、物体の表面にあるパターン又は線を意味し、物体上の線状のパターンである。トレーニングセットが構築されるとき、第1の手と第2の手の指を含む大量の画像の中の第1の手のテクスチャ特徴(特徴)がラベル付けされ、第1の手と第2の手の指を含み、第1の手のテクスチャ特徴でラベル付けされた画像がトレーニングセットを形成する。
トレーニングセットは、第1のタイプのトレーニング画像、第2のタイプのトレーニング画像、第1のタイプのトレーニング画像のラベル、及び第2のタイプのトレーニング画像のラベルを含むことが理解され得る。第1のタイプのトレーニング画像は、第2の手の指と第1の手が接触状態又は押圧状態にある複数の画像を含み、第2のタイプのトレーニング画像は、第2の手の指と第1の手が分離状態にある複数の画像を含む。
ニューラルネットワークモデルがトレーニングされるとき、ニューラルネットワークモデルの各レイヤーのパラメータが最初に初期化され(言い換えれば、初期値が各パラメータに割り当てられ)、トレーニングセットがニューラルネットワークモデルに入力される。その後、ニューラルネットワークモデルは分類結果を出力する。分類結果は、ニューラルネットワークモデルによって識別され、トレーニングセット内にあるトレーニング画像のタイプを示す。具体的には、ニューラルネットワークモデルは、第2の手の指と第1の手が接触状態にあるある量の画像、第2の手の指と第1の手が押圧状態にあるある量の画像、第2の手の指と第1の手が分離状態にあるある量の画像を出力する。分類プロセスでは、ラベルが、ネットワーク全体をトレーニングするために、接触状態に関する画像、押圧状態に関する画像、及び分離状態に関する画像に個別に付けられ得る。
損失関数の損失関数値が、分類結果、第1のタイプのトレーニング画像のラベル、第2のタイプのトレーニング画像のラベルに基づいて計算される。損失関数の損失関数値は、分類結果とトレーニングセットとの間のエラーを示し得る。損失関数が収束せず、損失関数値が特定のしきい値以上の場合、前述の方法を使用してニューラルネットワークモデルのトレーニングが続行される。損失関数が収束し、損失関数値が特定のしきい値未満の場合、ニューラルネットワークモデルのパラメータが取得される。代替的には、トレーニングセット内のすべてのトレーニング画像を使用してトレーニングを完了する場合、ニューラルネットワークモデルのトレーニングが完了する。サイズが56×56ピクセル以下で、ニューラルネットワークモデルに入力された画像の場合、プロセッサによる画像認識の処理速度を向上させるために、ニューラルネットワークモデルの重み値は500K以下である。
ニューラルネットワークモデルが推測されると、第1の手と第2の手の指を含む画像がニューラルネットワークモデルに入力され、ニューラルネットワークモデルを用いて、第1の手と第2の手の指を含む画像は、分析されて、第1の手のテクスチャが変化するかどうかを識別する。したがって、第2の手の指と第1の手との間の接触状態、第2の手の指と第1の手との間の押圧状態、又は第2の手の指と第1の手との間の分離状態が識別される。ニューラルネットワークモデルは、さらに、第1の手と第2の手の指を含む画像の複数の連続フレームを認識し得;複数の連続フレームにおける第1の手のテクスチャの変化に基づいて、第2の手の指が第1の手から分離していることを識別し得る。例えば、図9の(a)は、第2の手の指が第1の手に触れる概略図である。第2の手の指が第1の手に触れるとき、第1のテクスチャ変化は小さい。図9の(b)は、第2の手の指が第1の手を押圧する概略図である。第2の手の指が第1の手を押すとき、第1の手のテクスチャは大きく変化する。図9の(c)は、第2の手の指が第1の手から分離している概略図である。図9の(d)は、第2の手の指が第1の手から分離している概略図である。この場合、第2の手の指は第1の手のひらより上にあるが、第2の手の指は第1の手のひらに接触していない。
図7に示すように、電子デバイスが第1の手と第2の手の指を含む画像に基づいて第2の手の指と第1の手との間の分離状態を識別する場合(S306を実行)、電子デバイスは、カメラを使用して、第1の手を含む画像を撮影し(S702を実行)、第1の手を含む画像を取得してS301を実行する;又は、第1の手と第2の手の指を含む画像を取得してS303を実行する。
第2の手の指が第1の手に触れる又はそれを押すとき、第2の手の指の色が、第2の手の指によって使用される力で変化することが留意されるべきである。例えば、第2の手の指が第1の手を押すとき、第2の手の指の爪は白と薄い赤になる。別の例として、第2の手の指が第1の手に触れるとき、第2の手の指の爪は薄い赤になる。第2の手の指が第1の手に触れる時点から、第2の手の指が第1の手を離れる時点までのプロセスで、第2の手の指の爪も変化する。したがって、第2の手の指が第1の手に触れ、押し、離れていることを識別するとき、ニューラルネットワークモデルは、第1の手と第2の手の指を含む画像と第2の手の指のオプティカルフローに基づいて、第2の手の指と第1の手との間の接触状態、押圧状態、又は分離状態を識別し得る。したがって、第2の手の指と第1の手との間の接触状態、押圧状態、又は分離状態を識別する精度がさらに向上する。
オプションで、ニューラルネットワークモデルに入力される画像は、第2の手の指を含み、第1の手と第2の手の指を含む画像からキャプチャされる部分画像であり得る。
加えて、ニューラルネットワークモデルは、さらに、第2の手の指の指先キーポイントを出力して、第2の手の指の指先キーポイントが、第1の手に触れる又は押す位置に基づいて入力されたテキストを決定し得る。
本出願では、第2の手の指と第1の手との間の接触状態、押圧状態、又は分離状態が、ニューラルネットワークのトレーニングプロセスにおいてトレーニングデータ用に設定されたラベルに基づいて決定される場合があることが理解され得る。ニューラルネットワークのトレーニングプロセスでは、異なるトレーニングデータ分類方法でのトレーニングを通じて得られたニューラルネットワークについて、第2の手の指と第1の手との間の且つ推論プロセスで出力される状態関係も異なる場合がある。
S305:第2の手の指が第1の手に触れる又は押す位置に基づいて、入力されたテキストを決定する。
第2の手の指が第1の手に触れる又は押す位置に基づいて入力されたテキストが決定される前に、最初に第2の手の指がキー領域内にあるかどうかが決定される。いくつかの実施形態では、キー領域は複数の点によって形成される多角形領域であると仮定される。第2の手の指先の点を使って光線が水平に描画され、光線と多角形の辺との間の交点の量が決定される。光線と多角形の辺との間の交点の量が偶数の場合、第2の手の指がキー領域にないことが決定される;光線と多角形の辺との間の交点の量が奇数の場合、第2の手の指がキー領域にあることが決定される。
さらに、第2の手の指が第1の手に触れる又はそれを押す位置は、第2の手の指の指先座標と仮想キーボードの座標に基づいて決定され;入力されたテキストは、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて決定される。仮想キーボードは2次元座標系に投影され得、2次元座標は、仮想キーボードの境界点(第1の手のキーポイント0、キーポイント1、キーポイント5、キーポイント9、キーポイント13、キーポイント17)とキーに設定され得る。第2の手の指が、第1の手に触れる又はそれを押して第2の手の指の2次元座標を決定し、仮想キーボードの2次元座標系内の座標は、第2の手の指の2次元座標に基づいて決定されて、入力されたテキストを決定し得る。例えば、図10に示すように、第2の手の指の座標と、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて、入力されたテキストが数字の3であることを決定する。
さらに、VRデバイスは、第1の手の仮想モデルと第2の手の指の仮想モデルを確立し;第1の手の仮想モデルと第2の手の指の仮想モデルに基づいて、仮想世界でのテキスト入力プロセスをコンピュータビジョンレンダリング方法で復元し得る。代替的には、ARデバイスは、第1の手の仮想モデルと第2の手の指の仮想モデルを現実世界と組み合わせてもよく、そのため、ユーザは直感的にテキスト入力プロセスを理解する。
この実施形態では、仮想キーボードが投影される場所は限定されないことが理解されるべきである。電子デバイスが腕などの他の人体部分を含む画像を撮影した後、電子デバイスは、他の人体部分の骨格点を識別し、他の人体部分の骨格点に基づいて仮想キーボードを他の人体部分に投影する。
図11(a)、図11(b)、及び図11(c)を参照すると、以下は、仮想キーボードに基づくテキスト入力プロセスを説明するために、電子デバイスが携帯電話である例を使用する。
携帯電話は第1の画像を撮影し、第1の画像は第1の手1101(図11(a)に示す)を含む。携帯電話は、第1の手のキーポイントを識別し、第1の手のキーポイントに基づいて、仮想キーボード1102(図11(b)に示す)を第1の手に投影する。携帯電話は、第2の画像を撮影し、第1の画像は、第1の手1101と第2の手の指1103(図11(c)に示す)を含む。携帯電話は、第1の手1101と第2の手の指1103を含む画像に基づいて、第2の手の指1103と第1の手1101の間の接触状態又は押圧状態を識別する。携帯電話は、最初に、第2の手の指1103が第1の手1101に触れる又は押す位置に基づいて、第2の手の指1103が数字の8がある領域の範囲内にあることを決定し、入力されたテキストを決定する。例えば、図11(c)に示す第2の手の指1103が第1の手1101に触れる又は押す位置が数字の8の位置である場合、入力されたテキストは数字の8であると決定される。
上記の実施形態の機能を実装するために、電子デバイスは、各機能を実行するための対応するハードウェア構造及び/又は対応するソフトウェアモジュールを含むことが理解され得る。当業者は、本出願に開示された実施形態に記載されたユニット及び方法ステップと組み合わせて、本出願がハードウェア又はハードウェアとコンピュータソフトウェアの組み合わせによって実装できることを容易に認識すべきである。機能がハードウェアによって実行されるかコンピュータソフトウェアによって駆動されるハードウェアによって実行されるかは、特定のアプリケーションシナリオ及び技術的解決策の設計制約条件に依存する。
図12は、本出願の一実施形態によるテキスト入力装置の構造の概略図である。これらのテキスト入力装置は、上記の方法の実施形態における電子デバイスの機能を実装するように構成され得、したがって、上記の方法の実施形態の有益な効果を得ることもできる。本出願のこの実施形態では、テキスト入力装置は、図1に示す電子デバイスであってもよいし、電子デバイスで使用されるモジュール(例えば、チップ)であってもよい。
図12に示すように、テキスト入力装置1200は、画像キャプチャユニット1210、処理ユニット1220、表示ユニット1230、ストレージユニット1240を含む。テキスト入力装置1200は、図3及び図7に示す方法の実施形態における電子デバイスの機能を実装するように構成される。画像キャプチャユニット1210は、第1の手を含む画像と、第1の手及び第2の手の指を含む画像をキャプチャするように構成される。ストレージユニット1240は、処理ユニット1220によって実行された命令を格納する、命令を実行するために処理ユニット1220によって必要とされる入力データを格納する、又は処理ユニット1220が命令を実行した後に生成されたデータを格納するように構成される。処理ユニット1220は、図1に示す電子デバイスのプロセッサ110の機能を実行し得る。具体的には、処理ユニット1220は、第1の手を含む画像に基づいて、第1の手のキーポイントを取得するように構成される。処理ユニット1220は、さらに、第1の手のキーポイントに基づいて、仮想キーボードを第1の手に投影するように構成される。例えば、仮想キーは手のひら又は手の甲に投影される。処理ユニット1220は、さらに、第1の手と第2の手の指を含む画像に基づいて、第2の手指と第1の手との間の接触状態又は押圧状態を識別するように構成される。処理ユニット1220は、さらに:第2の手の指と第1の手が接触状態又は押圧状態にあるとき、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて、入力されたテキストを決定するように構成される。
可能な実装では、処理ユニット1220は、第1の手と第2の手の指を含む画像に基づいて、第2の手の指と第1の手との間の接触状態又は押圧状態を識別するように構成されるとき、処理ユニット1220は、具体的に:事前設定されたニューラルネットワークモデルを使用して、第1の手と第2の手の指を含む画像を分析し;第2の手の指と第1の手との間の接触状態又は押圧状態を識別し;第2の手の指の指先キーポイントを取得する;ように構成される。
別の可能な実装では、処理ユニット1220が、第1の手と第2の手の指を含む画像に基づいて、第2の手の指と第1の手との間の接触状態又は押圧状態を識別するように構成されるとき、処理ユニット1220は、具体的に:事前設定されたニューラルネットワークモデルを使用して、第1の手及び第2の手の指を含む画像と、第2の手の指のオプティカルフローを分析し;第2の手の指と第1の手との間の接触状態又は押圧状態を識別し;第2の手の指の指先キーポイントを取得する;ように構成される。
別の可能な実装では、処理ユニット1220が、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて入力されたテキストを決定するように構成されるとき、処理ユニット1220は、具体的に:第2の手の指の指先座標と仮想キーボードの座標に基づいて、第2の手の指が第1の手に触れる又はそれを押す位置を決定し、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて入力されたテキストを決定するように構成される。
別の可能な実装では、処理ユニット1220が、第1の手のキーポイントに基づいて第1の手に仮想キーボードを投影するように構成されるとき、処理ユニット1220は、具体的に:第1の手を含む画像の複数のフレームに基づいて第1の手のアクションを識別し;第1の手のアクションが事前に設定されたアクションと一致することを決定し;第1の手のキーポイントに基づいて仮想キーボードを投影する;ように構成される。事前に設定されたアクションは、拳を握ることから手のひらを伸ばすことまでである。
別の可能な実装では、処理ユニット1220はさらに:第1の手と第2の手の指を含む画像に基づいて、第2の手の指と第1の手との間の分離状態を識別し;第2の手の指と第1の手が分離状態にあるとき、画像キャプチャユニットを使用して、第1の手を含む画像を取得する又は第1の手と第2の手の指を含む画像を取得する;ように構成される。
別の可能な実装では、処理ユニット1220は、さらに、ニューラルネットワークモデルにトレーニングセットを入力するように構成される。ニューラルネットワークモデルは分類結果を出力する。トレーニングセットは、第1のタイプのトレーニング画像、第2のタイプのトレーニング画像、第1のタイプのトレーニング画像のラベル、及び第2のタイプのトレーニング画像のラベルを含む。第1のタイプのトレーニング画像は、第2の手の指と第1の手が接触状態又は押圧状態にある複数の画像を含み、第2のタイプのトレーニング画像は、第2の手の指と第1の手が分離状態にある複数の画像を含む。処理ユニット1220はさらに:分類結果に基づいて損失関数の損失関数値を計算し;損失関数が収束し、損失関数値がしきい値以下であるとき、ニューラルネットワークモデルのパラメータを取得する;ように構成される。
表示ユニット1230は、第1の手、第2の手、及び処理ユニット1220によって決定された入力されたテキストを表示するように構成される。
処理ユニット1220のより詳細な説明については、直接、図3及び図7に示した方法の実施形態の関連する説明を参照されたい。詳細については、ここでは再度説明しない。
本出願の実施形態におけるプロセッサは、中央処理装置(Central Processing Unit、CPU)であってもよく、別の汎用プロセッサ、デジタルシグナルプロセッサ(Digital Signal Processor、DSP)、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)、別のプログラマブルロジックデバイス、トランジスタロジックデバイス、ハードウェアコンポーネント、又はそれらの任意の組み合わせであってもよいことが理解され得る。汎用プロセッサは、マイクロプロセッサ、任意の従来のプロセッサなどであってもよい。
本出願の実施形態における方法ステップは、ハードウェア方式で実装されてもよく、又はプロセッサによってソフトウェア命令を実行する方式で実装されてもよい。ソフトウェア命令は、対応するソフトウェアモジュールを含み得る。ソフトウェアモジュールは、ランダムアクセスメモリ(Random Access Memory、RAM)、フラッシュメモリ、読み取り専用メモリ(Read-Only Memory、ROM)、プログラム可能な読み取り専用メモリ(Programmable ROM、PROM)、消去可能なプログラム可能な読み取り専用メモリ(Erasable PROM、EPROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(Electrically EPROM、EEPROM)、レジスタ、ハードディスク、リムーバブルハードディスク、CD-ROM、又は技術分野でよく知られているその他の形式の記憶媒体に格納され得る。例えば、記憶媒体はプロセッサに結合されているため、プロセッサは、記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができる。確かに、記憶媒体はプロセッサのコンポーネントであってもよい。プロセッサと記憶媒体はASICに配置されてもよい。加えて、ASICはネットワークデバイス又は端末デバイスに配置されてもよい。確かに、プロセッサと記憶媒体は、ネットワークデバイス又は端末デバイスに個別のコンポーネントとして存在してもよい。
前述の実施形態のすべて又は一部は、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組み合わせによって実装され得る。ソフトウェアが実施形態を実装するために使用される場合、実施形態のすべて又は一部は、コンピュータプログラム製品の形式で実装され得る。コンピュータプログラム製品は、1つ以上のコンピュータプログラム及び命令を含む。コンピュータプログラム又は命令がコンピュータにロードされ実行されるとき、本出願の実施形態にある手順又は機能の全部又は一部が実行される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、ネットワークデバイス、ユーザ機器、又はその他のプログラム可能な装置である場合がある。コンピュータプログラム又は命令は、コンピュータ可読記憶媒体に格納されてもよく、又は、コンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信されてもよい。例えば、コンピュータプログラム又は命令は、ウェブサイト、コンピュータ、サーバ、又はデータセンターから、別のウェブサイト、コンピュータ、サーバ、又はデータセンターに有線又は無線で送信される場合がある。コンピュータ可読記憶媒体は、コンピュータがアクセス可能な任意の使用可能な媒体、又は1つ以上の使用可能な媒体を統合したサーバ又はデータセンターなどのデータ記憶デバイスである場合がある。使用可能な媒体は、磁気媒体、例えば、フロッピー(登録商標)ディスク、ハードディスク、磁気テープであってもよく、光学媒体、例えば、デジタルビデオディスク(digital video disc、DVD)であってもよく、又は半導体媒体、例えば、ソリッドステートドライブ(solid state drive、SSD)であってもよい。
本出願の実施形態では、特に明記されていない限り、又は論理的な矛盾がある場合を除き、異なる実施形態間の用語及び/又は説明は一貫しており、相互に参照することができ、異なる実施形態の技術的特徴は、その内部の論理的関係に基づいて結合されて、新しい実施形態を形成することができる。
本出願では、「少なくとも1つ」は1つ以上を意味し、「複数」は2つ以上を意味する。「及び/又は」という用語は、関連付けられた対象の間の関連付け関係を表し、3つの関係が存在する可能性があることを表す。例えば、「A及び/又はB」は、次の3つのケースを表し得る:Aのみが存在、AとBの両方が存在、及びBのみが存在、AとBは単数又は複数であり得る。本出願のテキスト説明では、文字「/」は、関連付けられた対象の間の「又は」関係を示す。本出願の式では、文字「/」は、関連付けられた対象の間の「分割」関係を示す。
本出願の実施形態における様々な数字は、単に説明を容易にするための区別のために使用されるだけであり、本出願の実施形態の範囲を限定するために使用されるものではないことが理解され得る。上記のプロセスのシーケンス番号は、実行シーケンスを意味しない。プロセスの実行シーケンスは、プロセスの機能と内部ロジックに基づいて決定されるべきである。
本出願の実施形態は、人間とコンピュータのインタラクションの分野、特に仮想キーボードに基づくテキスト入力方法及び装置に関する。
現在、仮想現実(Virtual Reality、VR)/拡張現実(augmented reality、AR)技術は、3次元(3-dimension、3D)の没入型ディスプレイ体験を実装するように変化しており、より現実に適したインタラクション方法を作ることができる。そのため、仮想現実/拡張現実技術は、ソーシャルネットワーキング、ヘルスケア、教育、ゲーム、映画など、さまざまな業界で幅広い応用が期待されている。VR/ARデバイスについて、最大の欠点は、テキスト入力モードである。一般に、ユーザはハンドルを回転又は並進することによって、仮想空間からの光線を仮想キーボードのキーに配置し、ハンドルを押して入力を完了することを決定する;又は、ユーザは両手を空中に置いて仮想キーボードを押し、入力を完了する。これらの方法は非効率的で操作が困難であり;長時間の入力は、ユーザに痛みを感じさせる。そのため、仮想キーボードに基づいてどのようにテキスト入力を完了するかは、解決されるべき緊急の問題である。
本出願は、仮想キーボードに基づいてどのようにテキスト入力を完了するかの問題を解決するために、仮想キーボードに基づくテキスト入力方法及び装置を提供する。
前述の目的を達成するために、本出願の実施形態では次の技術的解決策が使用される。
第1の態様によれば、本出願は仮想キーボードに基づくテキスト入力方法を提供する。方法は、次のものを含む:第1の手を含む画像を取得した後、電子デバイスは、第1の手を含む画像に基づいて第1の手のキーポイントを検出し、第1の手のキーポイントに基づいて第1の手に仮想キーボードを投影する。例えば、仮想キーは、第1の手の手のひら又は手の甲(back)に投影される。さらに、第1の手と第2の手の指を含む画像を取得した後、電子デバイスは、第1の手と第2の手の指を含む画像に基づいて、第2の手の指と第1の手との間の接触状態又は押圧(pressing)状態を識別する。第2の手の指と第1の手が接触状態又は押圧状態にある場合、電子デバイスは、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて、入力されたテキストを決定する。
したがって、仮想キーボードは、ユーザの体の部分(例えば、手のひら又は手の甲)に基づいて投影され、ユーザはインターフェースを過度に凝視する必要はなく、投影された仮想キーボードを配置するのを支援するために脳を使用する。これにより、ユーザは、投影された仮想キーボードを効率的かつ正確に押す又はタッチすることができ、テキスト入力の効率及び精度が効果的に向上する。電子デバイスは、ユーザによって押された又はタッチされた体の位置を識別することによって、入力されたテキストを決定する。加えて、仮想キーボードによるテキスト入力方法は、シナリオに特別な限定がなく、ユーザは任意の姿勢で操作を行うことができる。これにより、ユーザの長時間の中断された入力による疲労及び痛みなどの問題が解決され、十分な物理的フィードバックが提供され、ユーザ体験が効果的に向上する。
可能な実装では、電子デバイスが、第1の手と第2の手の指を含む画像に基づいて、第2の手の指と第1の手との間の接触状態又は押圧状態を識別することは、次を含む:電子デバイスは、事前設定されたニューラルネットワークモデルを使用することによって、第1の手と第2の手の指を含む画像を分析し;第2の手の指と第1の手との間の接触状態又は押圧状態を識別し;第2の手の指の指先キーポイントを取得する。
可能な実装では、電子デバイスが、第1の手と第2の手の指を含む画像に基づいて、第2の手の指と第1の手との間の接触状態又は押圧状態を識別することは、次を含む:電子デバイスは、事前設定されたニューラルネットワークモデルを使用して、第1の手と第2の手の指を含む画像と、第2の手の指のオプティカルフローを分析し;第2の手の指と第1の手との間の接触状態又は押圧状態を識別し;第2の手の指の指先キーポイントを取得する。したがって、第2の手の指と第1の手との間の接触状態、押圧状態、又は分離を識別する精度が向上する。
別の可能な実装では、電子デバイスが、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて入力されたテキストを決定することは、次を含む:電子デバイスは、第2の手の指の指先座標と仮想キーボードの座標に基づいて、第2の手の指が第1の手に触れる又はそれを押す位置を決定し;第2の手の指が第1の手に触れる又はそれを押す位置に基づいて、入力されたテキストを決定する。キーポイントは2次元座標であり得る。したがって、電子デバイスは、第2の手の指先が指し且つ仮想キーボードである位置を座標に変換し、座標に基づいて入力されたテキストを決定する。これにより、入力されたテキストを認識する精度が向上する。
別の可能な実装では、電子デバイスが、第1の手のキーポイントに基づいて、第1の手に仮想キーボードを投影することは、次を含む:電子デバイスは、第1の手を含む画像の複数のフレームに基づいて、第1の手のアクションを識別し;第1の手のアクションが事前に設定されたアクションと一致することを決定し、第1の手のキーポイントに基づいて仮想キーボードを投影する。例えば、事前に設定されたアクションは、拳を握ることから手のひらを伸ばすことまでである。これは、電子デバイスが、仮想キーボードが投影される位置を識別し、仮想キーボードを正確に投影することを確実にする。これにより、ユーザのテキスト入力が容易になる。
別の可能な実装では、電子デバイスが第1の手と第2の手の指を含む画像を取得した後、方法はさらに次を含む:電子デバイスは、第1の手と第2の手の指を含む画像に基づいて、第2の手の指と第1の手が分離していることを識別し;第2の手の指と第1の手が分離しているとき、第1の手を含む画像を取得する又は第1の手と第2の手の指を含む画像を取得する。したがって、第2の手の指と第1の手の接触状態、押圧状態、又は分離が、第1の手と第2の手の指を含む画像をリアルタイムで位置確認すること(positioning)及び追跡することによって識別される。これにより、入力されたテキストを正確に認識することができ、ユーザ体験が向上する。
別の可能な実装では、方法にはさらに次を含む:電子デバイスは、ニューラルネットワークモデルにトレーニングセットを入力し、ニューラルネットワークモデルは分類結果を出力し;分類結果、第1のタイプのトレーニング画像のラベル、及び第2のタイプのトレーニング画像のラベルに基づいて、損失関数の損失関数値を計算し;損失関数が収束し、損失関数値がしきい値以下の場合、ニューラルネットワークモデルのパラメータを取得する。トレーニングセットは、第1のタイプのトレーニング画像、第2のタイプのトレーニング画像、第1のタイプのトレーニング画像のラベル、及び第2のタイプのトレーニング画像のラベルを含む。第1のタイプのトレーニング画像は、第2の手の指と第1の手が接触状態又は押圧状態にある複数の画像を含み、第2のタイプのトレーニング画像は、第2の手の指と第1の手が分離している複数の画像を含み、分類結果は複数のラベルを含む。したがって、電子デバイスは、第2の手の指と第1の手の接触状態、押圧状態、分離をリアルタイムで識別することができる。
別の可能な実装では、電子デバイスが、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて入力されたテキストを決定した後、方法はさらに次を含む:電子デバイスは、第1の手、第2の手の指、及び入力されたテキストを表示する。したがって、ユーザは入力されたテキストをリアルタイムで直感的に見ることができ、ユーザ体験が向上する。
第2の態様によれば、本出願はさらにテキスト入力装置を提供する。有益な効果については、第1の態様の説明を参照されたい。詳細については、ここでは再度説明しない。テキスト入力装置は、第1の態様の方法例における動作を実装する機能を有する。この機能は、ハードウェアによって実装され得る、又は、対応するソフトウェアを実行するハードウェアによって実装され得る。ハードウェア又はソフトウェアは、前述の機能に対応する1つ以上のモジュールを含む。可能な設計では、テキスト入力装置は、画像キャプチャユニット及び処理ユニットを含む。処理ユニットは、第1の手を含む画像に基づいて、第1の手のキーポイントを取得するように構成される。処理ユニットは、さらに、第1の手のキーポイントに基づいて、第1の手に仮想キーボードを投影するように構成される。画像キャプチャユニットは、第1の手と第2の手の指を含む画像を取得するように構成される。処理ユニットは、さらに、第1の手と第2の手の指を含む画像に基づいて、第2の手の指と第1の手との間の接触状態又は押圧状態を識別するように構成される。処理ユニットは、さらに:第2の手の指と第1の手が接触状態又は押圧状態にある場合、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて、入力されたテキストを決定するように構成される。これらのユニットは、第1の態様の方法例における対応する機能を実行し得る。詳細については、方法例の詳細な説明を参照されたい。詳細については、ここでは再度説明しない。
第3の態様によれば、電子デバイスが提供され、電子デバイスはプロセッサ、メモリ、ディスプレイ、及びカメラを含み得る。プロセッサは、ディスプレイ、カメラ、及びメモリに結合される。メモリは、コンピュータプログラムコードを格納するように構成される。コンピュータプログラムコードは、コンピュータソフトウェア命令を含む。コンピュータソフトウェア命令が電子デバイスによって実行される場合、電子デバイスは以下の動作を実行する:第1の手を含む画像を取得した後、電子デバイスは、第1の手を含む画像に基づいて第1の手のキーポイントを検出し、第1の手のキーポイントに基づいて第1の手に仮想キーボードを投影する。さらに、第1の手と第2の手の指を含む画像を取得した後、電子デバイスは、第1の手と第2の手の指を含む画像に基づいて、第2の手の指と第1の手との間の接触状態又は押圧状態を決定する。第2の手の指と第1の手が接触状態又は押圧状態にある場合、電子デバイスは、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて、入力されたテキストを決定する。
第4の態様よれば、コンピュータソフトウェア命令を含む、コンピュータ可読記憶媒体が提供される。コンピュータソフトウェア命令が電子デバイスで実行される場合、電子デバイスは、第1の態様又は第1の態様の可能な実装のいずれかによる仮想キーボードに基づくテキスト入力方法を実行することが可能にされる。
第5の態様によれば、コンピュータプログラム製品が提供される。コンピュータプログラム製品がコンピュータ上で実行される場合、コンピュータは、第1の態様又は第1の態様の可能な実装のいずれかによる仮想キーボードに基づくテキスト入力方法を実行することが可能にされる。
第6の態様によれば、チップシステムが提供される。チップシステムは、電子デバイスで使用される。チップシステムは、インターフェース回路とプロセッサを含み;インターフェース回路とプロセッサはラインを介して相互接続される。インターフェース回路は、電子デバイスのメモリから信号を受信し、プロセッサに信号を送信するように構成され、信号はメモリに格納されたコンピュータ命令を含む。プロセッサがコンピュータ命令を実行する場合、チップシステムは、第1の態様又は第1の態様の可能な実装のいずれかによる仮想キーボードに基づくテキスト入力方法を実行する。
本出願における技術的特徴、技術的解決策、有益な効果、又は類似の語の説明は、すべての特徴及び利点がどの個別の実施形態でも実装できることを意味しないことが理解されるべきである。逆に、特徴又は有益な効果の説明は、少なくとも1つの実施形態が特定の技術的特徴、技術的解決策、又は有益な効果を含むことを意味すると理解してもよい。したがって、本明細書における技術的特徴、技術的解決策、又は有益な効果の説明は、必ずしも同じ実施形態に固有であるとは限らない。さらに、実施形態に記載された技術的特徴、技術的解決策、及び有益な効果は、任意の適切な方法で組み合わせることができる。当業者は、実施形態が、1つ以上の特定の技術的特徴又は技術的解決策、又は特定の実施形態における有益な効果なしに実装できることを理解することができる。他の実施形態では、すべての実施形態を反映していない特定の実施形態において、追加の技術的特徴及び有益な効果がさらに特定される場合がある。
本出願の本明細書、特許請求の範囲及び添付図面において、「第1」、「第2」、「第3」等の用語は、異なる対象を区別することを意図しているが、特定の順序に限定するものではない。
本出願の実施形態では、「例」、「例えば」等の語は、例、図示又は説明を与えることを表すために使用される。本出願の実施形態において、「例」又は「例えば」で記述されたいかなる実施形態又は設計スキームも、他の実施形態又は設計スキームよりも好ましい、又はより多くの利点を有するものとして説明されるべきではない。正確には、「例」又は「例えば」のような語の使用は、特定の方法で関連する概念を提示することを意図している。
本出願の実施形態における電子デバイスは、テレビ、タブレットコンピュータ、プロジェクタ、携帯電話、デスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピュータ、ノートパソコン、ウルトラモバイルパーソナルコンピュータ(ultra-mobile personal computer、UMPC)、ネットブック、又は、携帯情報端末(personal digital assistant、PDA)、又は拡張現実(augmented reality、AR)/仮想現実(virtual reality、VR)デバイスなどのディスプレイとカメラを含むデバイスであり得る。電子デバイスの特定の形態は、本出願の実施形態において特に限定されない。
図1は、本出願の実施形態による電子デバイスの構造の概略図である。図1に示すように、電子デバイスは:プロセッサ110、外部メモリインターフェース120、内部メモリ121、ユニバーサルシリアルバス(universal serial bus、USB)インターフェース130、電源管理モジュール140、アンテナ、無線通信モジュール160、オーディオモジュール170、スピーカ170A、スピーカボックスインターフェース170B、マイク170C、センサーモジュール180、キー190、インジケータ191、ディスプレイ192、カメラ193などを含む。センサーモジュール180は、距離センサー、光学近接センサー、指紋センサー、温度センサー、タッチセンサー、周囲光センサーなどを含み得る。
この実施形態で示された構造は、電子デバイスの具体的な限定を構成しないことが理解され得る。他のいくつかの実施形態では、電子デバイスは、図示されているものよりも多く又は少数のコンポーネントを含む、又はいくつかのコンポーネントを結合する、又はいくつかのコンポーネントを分割する、又は異なるコンポーネント配置を持ち得る。図示されているコンポーネントは、ハードウェア、ソフトウェア、又はソフトウェアとハードウェアの組み合わせによって実装され得る。
プロセッサ110は、1つ以上の処理ユニットを含み得る。例えば、プロセッサ110は、アプリケーションプロセッサ(application processor、AP)、モデムプロセッサ、グラフィックス処理ユニット(graphics processing unit、GPU)、画像シグナルプロセッサ(image signal processor、ISP)、コントローラ、メモリ、ビデオコーデック、デジタルシグナルプロセッサ(digital signal processor、DSP)、ベースバンドプロセッサ、及び/又はニューラルネットワーク処理ユニット(neural-network processing unit、NPU)を含み得る。異なる処理ユニットは、独立したコンポーネントである場合もあれば、1つ以上のプロセッサに統合されている場合もある。
この実施形態では、プロセッサ110は:カメラ193からのものであり第1の手を含む画像を受信し;第1の手を含む画像に基づいて、第1の手のキーポイントを取得し;第1の手のキーポイントに基づいて、仮想キーボードを第1の手に投影する;ように構成される。さらに、プロセッサ110は:カメラ193からのものであり、第1の手と第2の手の指を含む画像を受信し;第1の指と第2の手の指の画像に基づいて、第1の手と第2の手の指との間の接触状態又は押圧状態を識別し;第2の手の指と第1の手が接触状態又は押圧状態にある場合、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて入力されたテキストを特定する;ように構成される。
コントローラは、電子デバイスの神経中枢(nerve center)と指令中枢(command center)であり得る。コントローラは、命令動作コード及び時系列信号に基づいて、動作制御信号を生成して、命令の読み取り及び命令の実行の制御を完了し得る。
メモリはプロセッサ110に配置することができ、命令とデータを格納するように構成される。いくつかの実施形態では、プロセッサ110のメモリはキャッシュである。メモリは、プロセッサ110によって使用された又は周期的に使用された命令又はデータを格納し得る。プロセッサ110が命令又はデータを再び使用する必要がある場合、プロセッサはメモリから命令又はデータを直接呼び出し得る。これは、繰り返しアクセスを回避し、プロセッサ110の待機時間を短縮し、それによってシステム効率を向上させる。
いくつかの実施形態では、プロセッサ110は1つ以上のインターフェースを含み得る。インターフェースは、集積回路間(inter-integrated circuit、I2C)インターフェース、集積回路間サウンド(inter-integrated circuit sound、I2S)インターフェース、パルス符号変調(pulse code modulation、PCM)インターフェース、ユニバーサル非同期受信機/送信機(universal asynchronous receiver/transmitter、UART)インターフェース、モバイルインダストリプロセッサインターフェース(mobile industry processor interface、MIPI)、汎用入出力(general-purpose input/output、GPIO)インターフェース、USBインターフェースなどを含み得る。
電源管理モジュール140は、電源装置に接続するように構成される。電源管理モジュール140は、さらにプロセッサ110、内部メモリ121、ディスプレイ192、カメラ193、無線通信モジュール160などに接続され得る。電源管理モジュール140は、電源の入力を受け取り、プロセッサ110、内部メモリ121、ディスプレイ192、カメラ193、無線通信モジュール160などに電力を供給する。他の実施形態では、電源管理モジュール140は代替的にプロセッサ110に配置され得る。
電子デバイスの無線通信機能は、アンテナ、無線通信モジュール160などを使用して実装され得る。無線通信モジュール160は、電子デバイスに適用され、無線ローカルエリアネットワーク(wireless local area network、WLAN)(例えば、ワイヤレスフィディリティ(wireless fidelity、Wi-Fi(登録商標))ネットワーク)、ブルートゥース(登録商標)(Bluetooth(登録商標)、BT)、全地球航法衛星システム(global navigation satellite system、GNSS)、周波数変調(frequency modulation、FM)、近距離無線通信(near field communication、NFC)技術、及び赤外線(infrared、IR)技術を含む、無線通信ソリューションを提供し得る。
無線通信モジュール160は、少なくとも1つの通信処理モジュールを統合する1つ以上のコンポーネントであり得る。無線通信モジュール160は、アンテナによって電磁波を受信し、電磁波信号に対して周波数変調及びフィルタリング処理を行い、処理された信号をプロセッサ110に送信する。無線通信モジュール160は、さらに、プロセッサ110から送信されるべき信号を受信し、その信号に対して周波数変調及び増幅を行い、アンテナを介した放射のためにその信号を電磁波に変換し得る。いくつかの実施形態では、電子デバイスのアンテナは無線通信モジュール160に結合されているため、電子デバイスは無線通信技術に従ってネットワーク及び他のデバイスと通信し得る。
電子電話機は、GPU、ディスプレイ192、アプリケーションプロセッサなどを使用してディスプレイ機能を実装する。GPUは、画像処理に使用されるマイクロプロセッサであり、ディスプレイ192及びアプリケーションプロセッサに接続される。GPUは、数学的及び幾何学的計算を実行するように構成され、グラフィックスレンダリングを実行するように構成される。プロセッサ110は、表示情報を生成又は変更するプログラム命令を実行する1つ以上のGPUを含み得る。
ディスプレイ192は、画像、ビデオなどを表示するように構成される。ディスプレイ192は、ディスプレイパネルを含む。ディスプレイパネルは、液晶ディスプレイ(liquid crystal display、LCD)、有機発光ダイオード(organic light-emitting diode、有機EL)、アクティブマトリックス有機発光ダイオード(active-matrix organic light emitting diode、AMOLED)、フレキシブル発光ダイオード(flexible Light-emitting diode、FLED)、ミニLED、マイクロLED、マイクロOLED、量子ドット発光ダイオード(quantum dot light emitting diodes、QLED)などであり得る。
電子デバイスは、ISP、カメラ193、ビデオコーデック、GPU、ディスプレイ192、アプリケーションプロセッサなどを使用して撮影機能を実装し得る。ISPは、カメラ193によってフィードバックされたデータを処理するように構成される。いくつかの実施形態では、ISPはカメラ193に配置され得る。
カメラ193は、静止画像又はビデオをキャプチャするように構成される。物体の光学画像は、レンズを通して生成され、感光素子に投影される。感光素子は、電荷結合素子(charge coupled device、CCD)又は相補型金属酸化物半導体(complementary metal-oxide-semiconductor、CMOS)フォトトランジスタであり得る。感光素子は、光信号を電気信号に変換し、次いで電気信号をISPに送信して電気信号をデジタル画像信号に変換する。ISPは、処理のためにデジタル画像信号をDSPに出力する。DSPは、デジタル画像信号をRGBやYUVなどの標準形式の画像信号に変換する。いくつかの実施形態では、電子デバイスは、1つ又はN個のカメラ193を含み得、(Nは1より大きい正の整数である。例えば、この実施形態では、電子デバイス上のカメラ193の位置は限定されない。この実施形態では、カメラ193は、第1の手を含む画像と、第1の手及び第2の手の指を含む画像を撮影するように構成される。例えば、電子デバイスはVRデバイスである。図2に示すように、カメラ193は、VRデバイスの下側の端に配置され得る。確かに、本出願の実施形態では、電子デバイス上のカメラ193の位置は限定されない。
代替的には、電子デバイスはカメラを含まない場合があり、言い換えれば、カメラ193は電子デバイスに配置されない(例えばテレビ)。電子デバイスは、インターフェース(例えば、USBインターフェース130)を介してカメラ193に外部接続され得る。外部カメラ193は、外部留め具(例えば、クリップ付きのカメラブラケット)を使用して電子デバイスに固定され得る。例えば、外部カメラ193は、外部留め具を使用して電子デバイスのディスプレイ192の端、例えば上側の端に固定され得る。
デジタルシグナルプロセッサは、デジタル信号を処理するように構成され、デジタル画像信号に加えて別のデジタル信号を処理し得る。例えば、電子デバイスが周波数を選択する場合、デジタルシグナルプロセッサは、周波数エネルギーに対してフーリエ変換を実行するように構成される。ビデオコーデックは、デジタルビデオを圧縮又は解凍するように構成される。電子デバイスは、1つ以上のビデオコーデックをサポートし得る。このようにして、電子デバイスは、複数のコーディングフォーマット、例えば動画専門家グループ(moving picture experts group、MPEG)-1、MPEG-2、MPEG-3、MPEG-4のビデオを再生又は記録し得る。
NPUはニューラルネットワーク(neural-network、NN)コンピューティングプロセッサである。NPUは、生物学的ニューラルネットワークの構造を使用して、例えば、人間の脳ニューロン間の転送モードを使用して、入力情報を迅速に処理し;さらに継続的に自己学習を行い得る。画像認識、顔認識、音声認識、及びテキスト理解などの電子デバイスの知的認知などのアプリケーションは、NPUを使用して実装することができる。
外部メモリインターフェース120は、電子デバイスのストレージ能力を拡張するために、外部ストレージカード、例えば、マイクロSDカードに接続するように構成され得る。外部ストレージカードは、外部メモリインターフェース120を介してプロセッサ110と通信し、データストレージ機能を実装する。例えば、音楽及びビデオなどのファイルは、外部ストレージカードに格納される。
内部メモリ121は、コンピュータ実行可能プログラムコードを格納するように構成され得、実行可能プログラムコードは命令を含む。プロセッサ110は、内部メモリ121に格納された命令を実行し、電子デバイスのさまざまな機能アプリケーション及びデータ処理を実行する。内部メモリ121は、プログラム格納領域及びデータ格納領域を含み得る。プログラム格納領域は、オペレーティングシステム、少なくとも1つの機能によって必要とされるアプリケーション(例えば、音声再生機能や画像再生機能)などを格納し得る。データ格納領域は、電子デバイスを使用する際に作成されるデータ(例えば、オーディオデータ)などを格納し得る。加えて、内部メモリ121は、高速ランダムアクセスメモリを含み得、さらに、不揮発性メモリ、例えば、少なくとも1つの磁気ディスク記憶装置、フラッシュメモリデバイス、又はユニバーサルフラッシュストレージ(universal flash storage、UFS)を含み得る。
電子デバイスは、オーディオモジュール170、スピーカ170A、マイク170C、スピーカボックスインターフェース170B、アプリケーションプロセッサなどを使用して、オーディオ機能を実装し得る。例えば、オーディオ機能は、音楽の再生、録音などを含む。本出願では、マイク170Cは、ユーザによって電子デバイスに送信される音声命令を受信するように構成され得る。スピーカ170Aは、電子デバイスの決定命令をユーザにフィードバックするように構成され得る。
オーディオモジュール170は、出力のためにデジタルオーディオ情報をアナログオーディオ信号に変換するように構成され、アナログオーディオ入力をデジタルオーディオ信号に変換するようにも構成される。オーディオモジュール170は、さらに、オーディオ信号をエンコード及びデコードするように構成され得る。いくつかの実施形態では、オーディオモジュール170は、プロセッサ110に配置され得る、又は、オーディオモジュール170内のいくつかの機能モジュールがプロセッサ110に配置され得る。スピーカ170Aは、「ホーン」とも呼ばれ、オーディオ電気信号を音声信号に変換するように構成される。マイク170Cは、「マイク(mike」又は「mic」とも呼ばれ、音声信号を電気信号に変換するように構成される。
スピーカボックスインターフェース170Bは、有線スピーカボックスに接続するように構成される。スピーカボックスインターフェース170Bは、USBインターフェース130であり得る、又は、3.5mmのオープンモバイルターミナルプラットフォーム(open mobile terminal platform、OMTP)標準インターフェース、若しくは米国の携帯電話通信産業協会(cellular telecommunication industry association of the USA、CTIA)標準インターフェースであり得る。
キー190は、電源投入キー、ボリュームキーなどを含む。キー190は、メカニカルキーであってもよく、タッチキーであってもよい。電子デバイスは、キー入力を受信し、電子デバイスのユーザ設定及び機能制御に関連するキー信号入力を生成し得る。
インジケータ191は、インジケータライトであり得、電子デバイスがパワーオンモード、スタンバイモード、パワーオフモードなどであることを示すように構成され得る。例えば、インジケータライトがオフである場合、電子デバイスがパワーオフモードであることが示され得る;インジケータライトが緑又は青の場合、電子デバイスがパワーオンモードであることが示され得る;インジケータライトが赤の場合、電子デバイスがスタンバイモードであることが示され得る。
本出願のこの実施形態で示されている構造は、電子デバイスの特定の限定を構成しないことが理解され得る。電子デバイスは、図1に示すコンポーネントよりも多いコンポーネント又は少ないコンポーネントを有してもよく、2つ以上のコンポーネントを組み合わせてもよく、又は異なるコンポーネント構成を有してもよい。例えば、電子デバイスは、さらに、スピーカボックスなどのコンポーネントを含み得る。図1に示すさまざまなコンポーネントは、ハードウェア、ソフトウェア、又は1つ以上の信号処理又はアプリケーション固有の集積回路を含むハードウェアとソフトウェアの組み合わせで実装され得る。
以下の実施形態のすべての方法は、前述のハードウェア構造を持つ電子デバイスで実装され得る。以下の実施形態では、電子デバイスがVRデバイス又はARデバイスである例を用いて、本出願の実施形態における方法を説明する。
ユーザがVRデバイスを携帯し、仮想環境にいることを前提とする。ユーザが仮想環境でテキストを入力する必要があるとき、VRデバイスが第1の手を含む画像を撮影する場合、VRデバイスは、第1の手を含む画像に基づいて第1の手のキーポイントを検出し、第1の手のキーポイントに基づいて第1の手に仮想キーボードを投影し得る。仮想キーボードは、仮想環境で仮想的な形式で提示されるキーボード画像であり、物理的な実体のキーボードではないことが理解され得る。例えば、仮想キーボードは、VRデバイスによって提示される仮想環境でユーザが見る仮想キーボードである。別の例として、仮想キーボードは、ARデバイスによって提示される仮想環境でユーザが見る仮想キーボードである。この場合、ユーザは仮想環境で仮想キーボードが第1の手に投影されていることを見ることができる。さらに、第1の手と第2の手の指を含む画像を取得した後、電子デバイスは、第1の手と第2の手の指を含む画像に基づいて、第2の手の指と第1の手との間の接触状態又は押圧状態を識別し;第2の手の指と第1の手が接触状態又は押圧状態にあるとき、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて、入力されたテキストを決定する。次に、図3を参照して、実施形態で提供される仮想キーボードに基づくテキスト入力方法を詳述する。
S301:第1の手を含む画像に基づいて第1の手のキーポイントを取得する。
電子デバイスは、カメラを使用して第1の画像を撮影し;物体検出(object detection)アルゴリズムに従って、カメラによって撮影された第1の画像を検出し;第1の画像が第1の手を含むことを決定する。物体検出は、画像内の関心のある物体を見つけることを意味し得る。具体的には、電子デバイスは、最初に与えられた画像上のいくつかの候補領域を選択し、次にこれらの領域から特徴を抽出し、抽出された特徴に基づいて訓練された分類器を使用して画像内の物体を分類する。
さらに、電子デバイスは、第1の手を含み、第1の画像内にある画像をキャプチャする。第1の手を含む画像は、第1の手全体を含む画像であり得る、又は、第1の手の部分を含む画像であり得る。手の部分は:図4の(a)に示される第1の手の指、図4の(b)に示される第1の手の手のひら、図4の(c)に示される第1の手の甲、図4の(d)に示される第1の手の指の一部と第1の手の掌の一部、図4の(e)に示される第1の手の指の一部と第1の手の甲の一部を含むが、これらに限定されない。
第1の手を含む画像に基づいて、手のポーズ推定(hand pose estimation)アルゴリズムに従って、第1の手のキーポイント(key point)が識別される。手のポーズ推定アルゴリズムは、ニューラルネットワークモデルを訓練することによって手のキーポイントが検出されるアルゴリズムであり、手のポーズ(pose)は手のキーポイントに基づいて記述される。キーポイントはここではナックルポイント又はスケルトンポイントである。例えば、図5は、本出願の一実施形態による、第1の手のキーポイント識別結果の概略図である。電子デバイスは、手のポーズ推定アルゴリズムに従って、手の21のキーポイントを識別し得る。代替的には、電子デバイスは、手のポーズ推定アルゴリズムに従って、手の21のキーポイントよりも多い又は少ないキーポイントを識別してもよい。
S302:第1の手のキーポイントに基づいて、仮想キーボードを第1の手に投影する。
電子デバイスは、第1の手のキーポイントを2次元座標として使用し、第1の手のキーポイントに基づいて、仮想キーボードを第1の手に投影し得る。例えば、電子デバイスは、コンピュータビジョンアフィンアルゴリズムに従って、仮想キーボードを第1の手に投影し得る。可能な設計では、図6(a)に示すように、仮想キーボードは、第1の手の手のひらのキーポイント0、キーポイント1、キーポイント5、及びキーポイント17に基づいて、第1の手の手のひらに投影される。別の可能な設計では、図6(b)に示すように、仮想キーボードは、第1の手の甲のキーポイント0、キーポイント1、キーポイント5、及びキーポイント17に基づいて、第1の手の甲に投影される。仮想キーボードは、数字キーボード又は9キーのピンインキーボードであり得る。これはここでは限定されない。
可能な実装では、図7に示すように、電子デバイスは、第1の手を含む画像の複数のフレームに基づいて第1の手のアクションを識別し、第1の手のアクションが事前に設定されたアクションと一致するかどうかを決定する(S701を実行する)。第1の手のアクションが事前に設定されたアクションと一致する場合、仮想キーボードは、第1の手のキーポイントに基づいて第1の手に投影される(S302を実行する);又は、第1の手のアクションが事前に設定されたアクションと一致しない場合、電子デバイスは、カメラを使用して、第1の手を含む画像を撮影し(S702を実行し)、第1の手を含む画像に基づいて第1の手のキーポイントを取得する(S301を実行する)。
アクションは、ロールの(role's)5つの器官の位置を変更する(表情変化)、ロールの手足の位置を変更する(アクション変化)、ロールとそのロールが置かれている環境の相対的な位置を変更する(動作距離変更)のプロセスである。電子デバイスは、手のポーズ推定アルゴリズムに従って、複数の連続したフレームにおける第1の手のポーズを識別し、複数の連続したフレームにおける第1の手のポーズに基づいて第1の手のアクションを決定し得る。
事前に設定されたアクションは、電子デバイスによって予め設定された手のアクションである。事前に設定されたアクションに一致するアクションは、事前に設定されたアクションと同じアクションであることが理解され得る。第1の手のアクションが事前に設定されたアクションと完全に同じであると決定する場合、電子デバイスは第1の手のアクションが事前に設定されたアクションに一致するとみなされ、第1の手がターゲットの手である。例えば、事前に設定されたアクションは、拳を握ることから手のひらを伸ばすまでのアクションであり得る。別の例として、事前に設定されたアクションは、手のひらを手の甲に反転するアクションであり得る。別の例として、事前に設定されたアクションは、手の甲を手のひらに反転するアクションであり得る。例えば、図8の(a)は、拳を握ることから手のひらを伸ばすまでのアクションの概略図である。電子デバイスは、手のひらを伸ばすことから拳を握るまでのアクションと、拳を握ることから手のひらを伸ばすまでのアクションを識別する。電子デバイスは、図8の(b)に示すように、手のひらから手の甲に反転するアクションを識別する。
仮想キーボードが第1の手に投影された後、電子デバイスは、第1の手を含む画像を連続的に撮影し、第1の手を含む連続した画像を認識し、第1の手のキーポイントを決定し、そのキーポイントに基づいて第1の手を追跡し、第1の手のキーポイントに基づいて仮想キーボードを投影し得ることが留意されるべきである。このように、第1の手の位置確認は、第1の手のキーポイントのリアルタイムの位置確認及び追跡を通じて実装され、仮想キーボードは、第1の手とともに動くことができ、仮想キーボードが肌に密着する効果が実装され、良好なユーザ体験が確実にされる。例えば、電子デバイスは、毎秒の中で、少なくとも、第1の手を含む20フレームの画像を連続的に識別し、第1の手のキーポイントを決定し、第1の手のキーポイントに基づいて第1の手を追跡し、第1の手のキーポイントに基づいて仮想キーボードを投影する。
S303:第1の手と第2の手の指を含む画像を取得する。
電子デバイスは、カメラを使用して第2の画像を撮影し;物体検出アルゴリズムに従って、カメラによって撮影された第2の画像を検出し;第2の画像が、第1の手と第2の手の指を含むことを決定する。さらに、電子デバイスは、第1の手と第2の手の指を含む画像を連続的に撮影し;第1の手と第2の手の指の連続した画像に対して画像認識を行って、第2の手の指のキーポイントを決定し(S703を実行し);第2の手の指のキーポイントに基づいて第2の手の指を追跡する(S704を実行する)。したがって、第2の手の指の位置確認することが、第2の手の指のキーポイントをリアルタイムで位置決め及び追跡することで実装され;第2の手の指と第1の手との間の接触状態、押圧状態、又は分離が識別され;入力されたテキストを正確に認識することができ、ユーザ体験を向上させる。
本実施形態では、第1の手と第2の手の左右関係は限定されない。例えば、第1の手は左手であってもよく、第2の手は右手であってもよい。別の例として、第1の手は右手であってもよく、第2の手は左手であってもよい。オプションとして、第2の画像を取得し、第2の画像が第1の手と第2の手の指を含むことを識別した後、電子デバイスは、第1の手と第2の手との間の左右関係も識別し得る。
S304:第1の手と第2の手の指を含む画像に基づいて、第2の手の指と第1の手との間の接触状態又は押圧状態を識別する。
ニューラルネットワークモデルを使用して、第2の手の指と第1の手との間の接触状態、押圧状態、又は分離が識別される前に、第1の手と第2の手の指を含む大量の画像が最初にカメラを使用してキャプチャされ、第1の手と第2の手の指を含む画像が分析される。第2の手の指が第1の手に触れる又はそれを押すとき、第2の手の指が第1の手に触れる又はそれを押す位置を第2の手の指がブロックする。そのため、第1の手のテクスチャが変化する。テクスチャは、物体の表面にあるパターン又は線を意味し、物体上の線状のパターンである。トレーニングセットが構築されるとき、第1の手と第2の手の指を含む大量の画像の中の第1の手のテクスチャ特徴(特徴)がラベル付けされ、第1の手と第2の手の指を含み、第1の手のテクスチャ特徴でラベル付けされた画像がトレーニングセットを形成する。
トレーニングセットは、第1のタイプのトレーニング画像、第2のタイプのトレーニング画像、第1のタイプのトレーニング画像のラベル、及び第2のタイプのトレーニング画像のラベルを含むことが理解され得る。第1のタイプのトレーニング画像は、第2の手の指と第1の手が接触状態又は押圧状態にある複数の画像を含み、第2のタイプのトレーニング画像は、第2の手の指と第1の手が分離している複数の画像を含む。
ニューラルネットワークモデルがトレーニングされるとき、ニューラルネットワークモデルの各レイヤーのパラメータが最初に初期化され(言い換えれば、初期値が各パラメータに割り当てられ)、トレーニングセットがニューラルネットワークモデルに入力される。その後、ニューラルネットワークモデルは分類結果を出力する。分類結果は、ニューラルネットワークモデルによって識別され、トレーニングセット内にあるトレーニング画像のタイプを示す。具体的には、ニューラルネットワークモデルは、第2の手の指と第1の手が接触状態にあるある量の画像、第2の手の指と第1の手が押圧状態にあるある量の画像、第2の手の指と第1の手が分離しているある量の画像を出力する。分類プロセスでは、ラベルが、ネットワーク全体をトレーニングするために、接触状態に関する画像、押圧状態に関する画像、及び分離に関する画像に個別に付けられ得る。
損失関数の損失関数値が、分類結果、第1のタイプのトレーニング画像のラベル、第2のタイプのトレーニング画像のラベルに基づいて計算される。損失関数の損失関数値は、分類結果とトレーニングセットとの間のエラーを示し得る。損失関数が収束せず、損失関数値が特定のしきい値以上の場合、前述の方法を使用してニューラルネットワークモデルのトレーニングが続行される。損失関数が収束し、損失関数値が特定のしきい値未満の場合、ニューラルネットワークモデルのパラメータが取得される。代替的には、トレーニングセット内のすべてのトレーニング画像を使用してトレーニングを完了する場合、ニューラルネットワークモデルのトレーニングが完了する。サイズが56×56ピクセル以下で、ニューラルネットワークモデルに入力された画像の場合、プロセッサによる画像認識の処理速度を向上させるために、ニューラルネットワークモデルの重み値は500K以下である。
ニューラルネットワークモデルが推測されると、第1の手と第2の手の指を含む画像がニューラルネットワークモデルに入力され、ニューラルネットワークモデルを用いて、第1の手と第2の手の指を含む画像は、分析されて、第1の手のテクスチャが変化するかどうかを識別する。したがって、第2の手の指と第1の手との間の接触状態、第2の手の指と第1の手との間の押圧状態、又は第2の手の指と第1の手との間の分離が識別される。ニューラルネットワークモデルは、さらに、第1の手と第2の手の指を含む画像の複数の連続フレームを認識し得;複数の連続フレームにおける第1の手のテクスチャの変化に基づいて、第2の手の指が第1の手から分離していることを識別し得る。例えば、図9の(a)は、第2の手の指が第1の手に触れる概略図である。第2の手の指が第1の手に触れるとき、第1のテクスチャ変化は小さい。図9の(b)は、第2の手の指が第1の手を押圧する概略図である。第2の手の指が第1の手を押すとき、第1の手のテクスチャは大きく変化する。図9の(c)は、第2の手の指が第1の手から分離している概略図である。図9の(d)は、第2の手の指が第1の手から分離している概略図である。この場合、第2の手の指は第1の手のひらより上にあるが、第2の手の指は第1の手のひらに接触していない。
図7に示すように、電子デバイスが第1の手と第2の手の指を含む画像に基づいて第2の手の指と第1の手との間の分離を識別する場合(S306を実行)、電子デバイスは、カメラを使用して、第1の手を含む画像を撮影し(S702を実行)、第1の手を含む画像を取得してS301を実行する;又は、第1の手と第2の手の指を含む画像を取得してS303を実行する。
第2の手の指が第1の手に触れる又はそれを押すとき、第2の手の指の色が、第2の手の指によって使用される力で変化することが留意されるべきである。例えば、第2の手の指が第1の手を押すとき、第2の手の指の爪は白と薄い赤になる。別の例として、第2の手の指が第1の手に触れるとき、第2の手の指の爪は薄い赤になる。第2の手の指が第1の手に触れる時点から、第2の手の指が第1の手を離れる時点までのプロセスで、第2の手の指の爪も変化する。したがって、第2の手の指が第1の手に触れ、押し、離れていることを識別するとき、ニューラルネットワークモデルは、第1の手と第2の手の指を含む画像と第2の手の指のオプティカルフローに基づいて、第2の手の指と第1の手との間の接触状態、押圧状態、又は分離を識別し得る。したがって、第2の手の指と第1の手との間の接触状態、押圧状態、又は分離を識別する精度がさらに向上する。
オプションで、ニューラルネットワークモデルに入力される画像は、第2の手の指を含み、第1の手と第2の手の指を含む画像からキャプチャされる部分画像であり得る。
加えて、ニューラルネットワークモデルは、さらに、第2の手の指の指先キーポイントを出力して、第2の手の指の指先キーポイントが、第1の手に触れる又は押す位置に基づいて入力されたテキストを決定し得る。
本出願では、第2の手の指と第1の手との間の接触状態、押圧状態、又は分離が、ニューラルネットワークのトレーニングプロセスにおいてトレーニングデータ用に設定されたラベルに基づいて決定される場合があることが理解され得る。ニューラルネットワークのトレーニングプロセスでは、異なるトレーニングデータ分類方法でのトレーニングを通じて得られたニューラルネットワークについて、第2の手の指と第1の手との間の且つ推論プロセスで出力される状態関係も異なる場合がある。
S305:第2の手の指が第1の手に触れる又は押す位置に基づいて、入力されたテキストを決定する。
第2の手の指が第1の手に触れる又は押す位置に基づいて入力されたテキストが決定される前に、最初に第2の手の指がキー領域内にあるかどうかが決定される。いくつかの実施形態では、キー領域は複数の点によって形成される多角形領域であると仮定される。第2の手の指先の点を使って光線が水平に描画され、光線と多角形の辺との間の交点の量が決定される。光線と多角形の辺との間の交点の量が偶数の場合、第2の手の指がキー領域にないことが決定される;光線と多角形の辺との間の交点の量が奇数の場合、第2の手の指がキー領域にあることが決定される。
さらに、第2の手の指が第1の手に触れる又はそれを押す位置は、第2の手の指の指先座標と仮想キーボードの座標に基づいて決定され;入力されたテキストは、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて決定される。仮想キーボードは2次元座標系に投影され得、2次元座標は、仮想キーボードの境界点(第1の手のキーポイント0、キーポイント1、キーポイント5、キーポイント9、キーポイント13、キーポイント17)とキーに設定され得る。第2の手の指が、第1の手に触れる又はそれを押して第2の手の指の2次元座標を決定し、仮想キーボードの2次元座標系内の座標は、第2の手の指の2次元座標に基づいて決定されて、入力されたテキストを決定し得る。例えば、図10に示すように、第2の手の指の座標と、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて、入力されたテキストが数字の3であることを決定する。
さらに、VRデバイスは、第1の手の仮想モデルと第2の手の指の仮想モデルを確立し;第1の手の仮想モデルと第2の手の指の仮想モデルに基づいて、仮想世界でのテキスト入力プロセスをコンピュータビジョンレンダリング方法で復元し得る。代替的には、ARデバイスは、第1の手の仮想モデルと第2の手の指の仮想モデルを現実世界と組み合わせてもよく、そのため、ユーザは直感的にテキスト入力プロセスを理解する。
この実施形態では、仮想キーボードが投影される場所は限定されないことが理解されるべきである。電子デバイスが腕などの他の人体部分を含む画像を撮影した後、電子デバイスは、他の人体部分の骨格点を識別し、他の人体部分の骨格点に基づいて仮想キーボードを他の人体部分に投影する。
図11(a)、図11(b)、及び図11(c)を参照すると、以下は、仮想キーボードに基づくテキスト入力プロセスを説明するために、電子デバイスが携帯電話である例を使用する。
携帯電話は第1の画像を撮影し、第1の画像は第1の手1101(図11(a)に示す)を含む。携帯電話は、第1の手のキーポイントを識別し、第1の手のキーポイントに基づいて、仮想キーボード1102(図11(b)に示す)を第1の手に投影する。携帯電話は、第2の画像を撮影し、第2の画像は、第1の手1101と第2の手の指1103(図11(c)に示す)を含む。携帯電話は、第1の手1101と第2の手の指1103を含む画像に基づいて、第2の手の指1103と第1の手1101の間の接触状態又は押圧状態を識別する。携帯電話は、最初に、第2の手の指1103が第1の手1101に触れる又は押す位置に基づいて、第2の手の指1103が数字の8がある領域の範囲内にあることを決定し、入力されたテキストを決定する。例えば、図11(c)に示す第2の手の指1103が第1の手1101に触れる又は押す位置が数字の8の位置である場合、入力されたテキストは数字の8であると決定される。
上記の実施形態の機能を実装するために、電子デバイスは、各機能を実行するための対応するハードウェア構造及び/又は対応するソフトウェアモジュールを含むことが理解され得る。当業者は、本出願に開示された実施形態に記載されたユニット及び方法ステップと組み合わせて、本出願がハードウェア又はハードウェアとコンピュータソフトウェアの組み合わせによって実装できることを容易に認識すべきである。機能がハードウェアによって実行されるかコンピュータソフトウェアによって駆動されるハードウェアによって実行されるかは、特定のアプリケーションシナリオ及び技術的解決策の設計制約条件に依存する。
図12は、本出願の一実施形態によるテキスト入力装置の構造の概略図である。これらのテキスト入力装置は、上記の方法の実施形態における電子デバイスの機能を実装するように構成され得、したがって、上記の方法の実施形態の有益な効果を得ることもできる。本出願のこの実施形態では、テキスト入力装置は、図1に示す電子デバイスであってもよいし、電子デバイスで使用されるモジュール(例えば、チップ)であってもよい。
図12に示すように、テキスト入力装置1200は、画像キャプチャユニット1210、処理ユニット1220、表示ユニット1230、ストレージユニット1240を含む。テキスト入力装置1200は、図3及び図7に示す方法の実施形態における電子デバイスの機能を実装するように構成される。画像キャプチャユニット1210は、第1の手を含む画像と、第1の手及び第2の手の指を含む画像をキャプチャするように構成される。ストレージユニット1240は、処理ユニット1220によって実行された命令を格納する、命令を実行するために処理ユニット1220によって必要とされる入力データを格納する、又は処理ユニット1220が命令を実行した後に生成されたデータを格納するように構成される。処理ユニット1220は、図1に示す電子デバイスのプロセッサ110の機能を実行し得る。具体的には、処理ユニット1220は、第1の手を含む画像に基づいて、第1の手のキーポイントを取得するように構成される。処理ユニット1220は、さらに、第1の手のキーポイントに基づいて、仮想キーボードを第1の手に投影するように構成される。例えば、仮想キーは手のひら又は手の甲に投影される。処理ユニット1220は、さらに、第1の手と第2の手の指を含む画像に基づいて、第2の手指と第1の手との間の接触状態又は押圧状態を識別するように構成される。処理ユニット1220は、さらに:第2の手の指と第1の手が接触状態又は押圧状態にあるとき、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて、入力されたテキストを決定するように構成される。
可能な実装では、処理ユニット1220は、第1の手と第2の手の指を含む画像に基づいて、第2の手の指と第1の手との間の接触状態又は押圧状態を識別するように構成されるとき、処理ユニット1220は、具体的に:事前設定されたニューラルネットワークモデルを使用して、第1の手と第2の手の指を含む画像を分析し;第2の手の指と第1の手との間の接触状態又は押圧状態を識別し;第2の手の指の指先キーポイントを取得する;ように構成される。
別の可能な実装では、処理ユニット1220が、第1の手と第2の手の指を含む画像に基づいて、第2の手の指と第1の手との間の接触状態又は押圧状態を識別するように構成されるとき、処理ユニット1220は、具体的に:事前設定されたニューラルネットワークモデルを使用して、第1の手及び第2の手の指を含む画像と、第2の手の指のオプティカルフローを分析し;第2の手の指と第1の手との間の接触状態又は押圧状態を識別し;第2の手の指の指先キーポイントを取得する;ように構成される。
別の可能な実装では、処理ユニット1220が、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて入力されたテキストを決定するように構成されるとき、処理ユニット1220は、具体的に:第2の手の指の指先座標と仮想キーボードの座標に基づいて、第2の手の指が第1の手に触れる又はそれを押す位置を決定し、第2の手の指が第1の手に触れる又はそれを押す位置に基づいて入力されたテキストを決定するように構成される。
別の可能な実装では、処理ユニット1220が、第1の手のキーポイントに基づいて第1の手に仮想キーボードを投影するように構成されるとき、処理ユニット1220は、具体的に:第1の手を含む画像の複数のフレームに基づいて第1の手のアクションを識別し;第1の手のアクションが事前に設定されたアクションと一致することを決定し;第1の手のキーポイントに基づいて仮想キーボードを投影する;ように構成される。事前に設定されたアクションは、拳を握ることから手のひらを伸ばすことまでである。
別の可能な実装では、処理ユニット1220はさらに:第1の手と第2の手の指を含む画像に基づいて、第2の手の指と第1の手が分離していることを識別し;第2の手の指と第1の手が分離しているとき、画像キャプチャユニットを使用して、第1の手を含む画像を取得する又は第1の手と第2の手の指を含む画像を取得する;ように構成される。
別の可能な実装では、処理ユニット1220は、さらに、ニューラルネットワークモデルにトレーニングセットを入力するように構成される。ニューラルネットワークモデルは分類結果を出力する。トレーニングセットは、第1のタイプのトレーニング画像、第2のタイプのトレーニング画像、第1のタイプのトレーニング画像のラベル、及び第2のタイプのトレーニング画像のラベルを含む。第1のタイプのトレーニング画像は、第2の手の指と第1の手が接触状態又は押圧状態にある複数の画像を含み、第2のタイプのトレーニング画像は、第2の手の指と第1の手が分離している複数の画像を含む。処理ユニット1220はさらに:分類結果に基づいて損失関数の損失関数値を計算し;損失関数が収束し、損失関数値がしきい値以下であるとき、ニューラルネットワークモデルのパラメータを取得する;ように構成される。
表示ユニット1230は、第1の手、第2の手、及び処理ユニット1220によって決定された入力されたテキストを表示するように構成される。
処理ユニット1220のより詳細な説明については、直接、図3及び図7に示した方法の実施形態の関連する説明を参照されたい。詳細については、ここでは再度説明しない。
本出願の実施形態におけるプロセッサは、中央処理装置(Central Processing Unit、CPU)であってもよく、別の汎用プロセッサ、デジタルシグナルプロセッサ(Digital Signal Processor、DSP)、特定用途向け集積回路(Application-Specific Integrated Circuit、ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)、別のプログラマブルロジックデバイス、トランジスタロジックデバイス、ハードウェアコンポーネント、又はそれらの任意の組み合わせであってもよいことが理解され得る。汎用プロセッサは、マイクロプロセッサ、任意の従来のプロセッサなどであってもよい。
本出願の実施形態における方法ステップは、ハードウェア方式で実装されてもよく、又はプロセッサによってソフトウェア命令を実行する方式で実装されてもよい。ソフトウェア命令は、対応するソフトウェアモジュールを含み得る。ソフトウェアモジュールは、ランダムアクセスメモリ(Random Access Memory、RAM)、フラッシュメモリ、読み取り専用メモリ(Read-Only Memory、ROM)、プログラム可能な読み取り専用メモリ(Programmable ROM、PROM)、消去可能なプログラム可能な読み取り専用メモリ(Erasable PROM、EPROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(Electrically EPROM、EEPROM)、レジスタ、ハードディスク、リムーバブルハードディスク、CD-ROM、又は技術分野でよく知られているその他の形式の記憶媒体に格納され得る。例えば、記憶媒体はプロセッサに結合されているため、プロセッサは、記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができる。確かに、記憶媒体はプロセッサのコンポーネントであってもよい。プロセッサと記憶媒体はASICに配置されてもよい。加えて、ASICはネットワークデバイス又は端末デバイスに配置されてもよい。確かに、プロセッサと記憶媒体は、ネットワークデバイス又は端末デバイスに個別のコンポーネントとして存在してもよい。
前述の実施形態のすべて又は一部は、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組み合わせによって実装され得る。ソフトウェアが実施形態を実装するために使用される場合、実施形態のすべて又は一部は、コンピュータプログラム製品の形式で実装され得る。コンピュータプログラム製品は、1つ以上のコンピュータプログラム及び命令を含む。コンピュータプログラム又は命令がコンピュータにロードされ実行されるとき、本出願の実施形態にある手順又は機能の全部又は一部が実行される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、ネットワークデバイス、ユーザ機器、又はその他のプログラム可能な装置である場合がある。コンピュータプログラム又は命令は、コンピュータ可読記憶媒体に格納されてもよく、又は、コンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信されてもよい。例えば、コンピュータプログラム又は命令は、ウェブサイト、コンピュータ、サーバ、又はデータセンターから、別のウェブサイト、コンピュータ、サーバ、又はデータセンターに有線又は無線で送信される場合がある。コンピュータ可読記憶媒体は、コンピュータがアクセス可能な任意の使用可能な媒体、又は1つ以上の使用可能な媒体を統合したサーバ又はデータセンターなどのデータ記憶デバイスである場合がある。使用可能な媒体は、磁気媒体、例えば、フロッピー(登録商標)ディスク、ハードディスク、磁気テープであってもよく、光学媒体、例えば、デジタルビデオディスク(digital video disc、DVD)であってもよく、又は半導体媒体、例えば、ソリッドステートドライブ(solid-state drive、SSD)であってもよい。
本出願の実施形態では、特に明記されていない限り、又は論理的な矛盾がある場合を除き、異なる実施形態間の用語及び/又は説明は一貫しており、相互に参照することができ、異なる実施形態の技術的特徴は、その内部の論理的関係に基づいて結合されて、新しい実施形態を形成することができる。
本出願では、「少なくとも1つ」は1つ以上を意味し、「複数」は2つ以上を意味する。「及び/又は」という用語は、関連付けられた対象の間の関連付け関係を表し、3つの関係が存在する可能性があることを表す。例えば、「A及び/又はB」は、次の3つのケースを表し得る:Aのみが存在、AとBの両方が存在、及びBのみが存在、AとBは単数又は複数であり得る。本出願のテキスト説明では、文字「/」は、関連付けられた対象の間の「又は」関係を示す。本出願の式では、文字「/」は、関連付けられた対象の間の「分割」関係を示す。
本出願の実施形態における様々な数字は、単に説明を容易にするための区別のために使用されるだけであり、本出願の実施形態の範囲を限定するために使用されるものではないことが理解され得る。上記のプロセスのシーケンス番号は、実行シーケンスを意味しない。プロセスの実行シーケンスは、プロセスの機能と内部ロジックに基づいて決定されるべきである。
Claims (25)
- 仮想キーボードに基づくテキスト入力方法であって:
第1の手を含む画像に基づいて、第1の手のキーポイントを取得するステップと;
前記第1の手の前記キーポイントに基づいて、仮想キーボードを前記第1の手に投影するステップと;
前記第1の手と第2の手の指を含む画像を取得するステップと;
前記第1の手と前記第2の手の前記指を含む前記画像に基づいて、前記第2の手の前記指と前記第1の手との間の接触状態又は押圧状態を識別するステップと;
前記第2の手の前記指と前記第1の手が前記接触状態又は前記押圧状態にあるとき、前記第2の手の前記指が前記第1の手に触れる又は押す位置に基づいて、入力されたテキストを決定するステップと;を含む、
方法。 - 前記第1の手の前記キーポイントに基づいて、前記第1の手に仮想キーボードを投影する前記ステップは:
前記第1の手の手のひらのキーポイントに基づいて、前記第1の手の前記手のひらに前記仮想キーを投影するステップを含む、
請求項1に記載の方法。 - 前記第1の手の前記キーポイントに基づいて前記第1の手に仮想キーボードを投影する前記ステップは:
前記第1の手の甲のキーポイントに基づいて、前記第1の手の前記甲に前記仮想キーを投影するステップを含む、
請求項1に記載の方法。 - 前記第1の手と前記第2の手の前記指を含む前記画像に基づいて、前記第2の手の前記指と前記第1の手との接触状態又は押圧状態を識別する前記ステップは:
事前設定されたニューラルネットワークモデルを使用して、前記第1の手と前記第2の手の前記指を含む前記画像を分析するステップと;前記第2の手の前記指と左前記第1の手との間の前記接触状態又は前記押圧状態を識別するステップと;前記第2の手の前記指の指先キーポイントを取得するステップと;を含む、
請求項1乃至3のいずれか1項に記載の方法。 - 前記第1の手と前記第2の手の前記指を含む前記画像に基づいて、前記第2の手の前記指と前記第1の手との間の接触状態又は押圧状態を識別するステップは:
事前設定されたニューラルネットワークモデルを使用して、前記第1の手と前記第2の手の前記指を含む前記画像と、前記第2の手の前記指のオプティカルフローを分析するステップと;前記第2の手の前記指と前記第1の手との間の前記接触状態又は前記押圧状態を識別するステップと;前記第2の手の前記指の指先キーポイントを取得するステップと;を含む、
請求項1乃至3のいずれか1項に記載の方法。 - 前記第2の手の前記指が前記第1の手に触れる又は押す位置に基づいて入力されたテキストを決定する前記ステップは:
前記第2の手の前記指の指先座標と前記仮想キーボードの座標に基づいて、前記第2の手の前記指が前記第1の手に触れる又は押す前記位置を決定するステップと;
前記第2の手の前記指が前記第1の手に触れる又は押す前記位置に基づいて前記入力されたテキストを決定するステップと;を含む、
請求項1乃至5のいずれか1項に記載の方法。 - 前記第1の手の前記キーポイントに基づいて、仮想キーボードを前記第1の手に投影するステップは:
前記第1の手を含む画像の複数のフレームに基づいて、前記第1の手のアクションを識別するステップと;
前記第1の手の前記アクションが事前に設定されたアクションと一致することを決定するステップ、及び前記第1の手の前記キーポイントに基づいて前記仮想キーボードを投影するステップと;を含む、
請求項1乃至6のいずれか1項に記載の方法。 - 前記事前に設定されたアクションは、拳を握ることから手のひらを伸ばすことまでである、
請求項7に記載の方法。 - 前記第1の手と第2の手の指を含む画像を取得する前記ステップの後、前記方法はさらに:
前記第1の手と前記第2の手の前記指を含む前記画像に基づいて、前記第2の手の前記指と前記第1の手との間の分離状態を識別するステップと;前記第2の手の前記指と前記第1の手が前記分離状態にあるとき、前記第1の手を含む前記画像を取得するステップ又は前記第1の手と前記第2の手の前記指を含む前記画像を取得するステップと;を含む、
請求項1乃至8のいずれか1項に記載の方法。 - 前記方法は、さらに、:
前記ニューラルネットワークモデルにトレーニングセットを入力するステップであって、前記ニューラルネットワークモデルは、分類結果を出力し;前記トレーニングセットは、第1のタイプのトレーニング画像、第2のタイプのトレーニング画像、前記第1のタイプのトレーニング画像のラベル、及び前記第2のタイプのトレーニング画像のラベルを含み;前記第1のタイプのトレーニング画像は、前記第2の手の前記指と前記第1の手が前記接触状態又は前記押圧状態にある複数の画像を含み、前記第2のタイプのトレーニング画像は、前記第2の手の前記指と前記第1の手が前記分離状態にある複数の画像を含む、ステップと;
前記分類結果に基づいて損失関数の損失関数値を計算するステップと;前記損失関数が収束し、前記損失関数値がしきい値以下であるとき、前記ニューラルネットワークモデルのパラメータを取得するステップと;を含む、
請求項1乃至9のいずれか1項に記載の方法。 - 前記第2の手の前記指が前記第1の手に触れる又は押す位置に基づいて入力されたテキストを決定する前記ステップの後、前記方法は、さらに:
前記第1の手、前記第2の手の前記指、及び前記入力されたテキストを表示するステップを含む、
請求項1乃至10のいずれか1項に記載の方法。 - 第1の手を含む画像に基づいて第1の手のキーポイントを取得するように構成された処理ユニットであって、
前記第1の手の前記キーポイントに基づいて前記第1の手に仮想キーボードを投影するようにさらに構成された、処理ユニット;及び
前記第1の手と第2の手の指を含む画像を取得するように構成された画像キャプチャユニット;を有し、
前記処理ユニットはさらに、前記第1の手と前記第2の手の前記指を含む前記画像に基づいて、前記第2の手の前記指と前記第1の手との間の接触状態又は押圧状態を識別するように構成され;
前記処理ユニットは、さらに:前記第2の手の前記指と前記第1の手が前記接触状態又は前記押圧状態にあるとき、前記第2の手の前記指が前記第1の手に触れる又は押す位置に基づいて入力されたテキストを決定するように構成される、
テキスト入力装置。 - 前記処理ユニットは、前記第1の手の前記キーポイントに基づいて前記仮想キーボードを前記第1の手に投影するように構成されるとき、前記処理ユニットは、特に:
前記第1の手の手のひらのキーポイントに基づいて、前記第1の手の前記手のひらに前記仮想キーを投影するように構成される、
請求項12に記載の装置。 - 前記処理ユニットが、前記第1の手の前記キーポイントに基づいて、前記第1の手に前記仮想キーボードを投影するように構成されるとき、前記処理ユニットは、特に:
前記第1の手の甲のキーポイントに基づいて、前記第1の手の前記甲に前記仮想キーを投影するように構成される、
請求項12に記載の装置。 - 前記処理ユニットが、前記第1の手と前記第2の手の前記指を含む前記画像に基づいて、前記第2の手の前記指と前記第1の手との間の前記接触状態又は前記押圧状態を識別するように構成されるとき、前記処理ユニットは、特に:
事前設定されたニューラルネットワークモデルを使用して、前記第1の手と前記第2の手の前記指を含む前記画像を分析し;前記第2の手の前記指と前記第1の手との間の前記接触状態又は前記押圧状態を識別し;前記第2の手の前記指の指先キーポイントを取得する;ように構成される、
請求項12乃至14のいずれか1項に記載の装置。 - 前記処理ユニットが、前記第1の手と前記第2の手の前記指を含む前記画像に基づいて、前記第2の手の前記指と前記第1の手との間の前記接触状態又は前記押圧状態を識別するように構成されているとき、前記処理ユニットは、特に:
事前設定されたニューラルネットワークモデルを使用して、前記第1の手と前記第2の手の前記指を含む前記画像と、前記第2の手の前記指のオプティカルフローを分析し;前記第2の手の前記指と前記第1の手との間の前記接触状態又は前記押圧状態を識別し;前記第2の手の前記指の指先キーポイントを取得する;ように構成される、
請求項12乃至14のいずれか1項に記載の装置。 - 前記処理ユニットが、前記第2の手の前記指が前記第1の手に触れる又は押す前記位置に基づいて、前記入力されたテキストを決定するように構成されるとき、前記処理ユニットは、特に:
前記第2の手の前記指の指先座標と前記仮想キーボードの座標に基づいて、前記第2の手の前記指が前記第1の手に触れる又は押す前記位置を決定し;
前記第2の手の前記指が前記第1の手に触れる又は押す前記位置に基づいて前記入力されたテキストを決定する;ように構成される、
請求項12乃至16のいずれか1項に記載の装置。 - 前記処理ユニットが、前記第1の手の前記キーポイントに基づいて、前記仮想キーボードを前記第1の手に投影するように構成されるとき、前記処理ユニットは、特に:
前記第1の手を含む画像の複数のフレームに基づいて、前記第1の手のアクションを識別し;
前記第1の手の前記アクションが事前に設定されたアクションと一致することを決定し、前記第1の手の前記キーポイントに基づいて前記仮想キーボードを投影する;ように構成される、
請求項12乃至17のいずれか1項に記載の装置。 - 前記事前に設定されたアクションは、拳を握ることから手のひらを伸ばすことまでである、
請求項18に記載の装置。 - 前記処理ユニットはさらに:
前記第1の手と前記第2の手の前記指を含む前記画像に基づいて、前記第2の手の前記指と前記第1の手との間の分離状態を識別し;前記第2の手の前記指と前記第1の手が前記分離状態にあるとき、前記画像キャプチャユニットを使用して、前記第1の手を含む前記画像を取得する又は前記第1の手と前記第2の手の前記指を含む前記画像を取得する;ように構成される、
請求項12乃至19のいずれか1項に記載の装置。 - 前記処理ユニットはさらに:
前記ニューラルネットワークモデルにトレーニングセットを入力し、前記ニューラルネットワークモデルは分類結果を出力し;前記トレーニングセットは、第1のタイプのトレーニング画像、第2のタイプのトレーニング画像、前記第1のタイプのトレーニング画像のラベル、及び前記第2のタイプのトレーニング画像のラベルを含み;前記第1のタイプのトレーニング画像は、前記第2の手の前記指と前記第1の手が前記接触状態又は前記押圧状態にある複数の画像を含み、前記第2のタイプのトレーニング画像は、前記第2の手の前記指と前記第1の手が前記分離状態にある複数の画像を含み;
前記分類結果に基づいて損失関数の損失関数値を計算し;前記損失関数が収束し、前記損失関数値がしきい値以下の場合、前記ニューラルネットワークモデルのパラメータを取得する;ように構成される、
請求項12乃至20のいずれか1項に記載の装置。 - 前記装置はさらに表示ユニットを有し;前記表示ユニットは、前記第1の手、前記第2の手の前記指、及び前記入力されたテキストを表示するように構成される、
請求項12乃至21のいずれか1項に記載の装置。 - 電子デバイスであって、前記電子デバイスは、プロセッサ、メモリ、ディスプレイ、及びカメラを有し;前記プロセッサは、前記ディスプレイ、前記カメラ、及び前記メモリに結合され;前記メモリは、コンピュータプログラムコードを格納するように構成され;前記コンピュータプログラムコードは、コンピュータソフトウェア命令を含み;前記コンピュータソフトウェア命令が前記電子デバイスによって実行されるとき、前記電子デバイスは、請求項1乃至11のいずれか1項に記載の仮想キーボードに基づくテキスト入力方法を実行することが可能にされる、電子デバイス。
- コンピュータソフトウェア命令を含むコンピュータ可読記憶媒体であって、
前記コンピュータソフトウェア命令が電子デバイスで実行されるとき、前記電子デバイスは、請求項1乃至11のいずれか1項に記載の仮想キーボードに基づくテキスト入力方法を実行することが可能にされる、コンピュータ可読記憶媒体。 - コンピュータプログラム製品であって、前記コンピュータプログラム製品がコンピュータで実行されるとき、前記コンピュータは、請求項1乃至11のいずれか1項に記載の仮想キーボードに基づくテキスト入力方法を実行することが可能にされる、コンピュータプログラム製品。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010874085.1 | 2020-08-26 | ||
CN202010874085.1A CN114115693A (zh) | 2020-08-26 | 2020-08-26 | 一种基于虚拟键盘输入文本的方法及装置 |
PCT/CN2021/113839 WO2022042449A1 (zh) | 2020-08-26 | 2021-08-20 | 一种基于虚拟键盘输入文本的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023538687A true JP2023538687A (ja) | 2023-09-08 |
Family
ID=80352619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023513321A Pending JP2023538687A (ja) | 2020-08-26 | 2021-08-20 | 仮想キーボードに基づくテキスト入力方法及び装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20230195301A1 (ja) |
EP (1) | EP4195019A4 (ja) |
JP (1) | JP2023538687A (ja) |
KR (1) | KR20230051704A (ja) |
CN (1) | CN114115693A (ja) |
BR (1) | BR112023003482A2 (ja) |
WO (1) | WO2022042449A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20240028819A (ko) * | 2022-08-25 | 2024-03-05 | 한국전자통신연구원 | 스마트 안경 및 그것의 동작 방법 |
CN115293938B (zh) * | 2022-09-28 | 2023-07-28 | 深圳市卓帆技术有限公司 | 一种基于vr技术的考试方法和*** |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0554492B1 (en) * | 1992-02-07 | 1995-08-09 | International Business Machines Corporation | Method and device for optical input of commands or data |
US8228315B1 (en) * | 2011-07-12 | 2012-07-24 | Google Inc. | Methods and systems for a virtual input device |
US20150323998A1 (en) * | 2014-05-06 | 2015-11-12 | Qualcomm Incorporated | Enhanced user interface for a wearable electronic device |
CN104461004B (zh) * | 2014-12-12 | 2018-04-10 | 北京奇宝科技有限公司 | 一种可穿戴智能设备 |
CN106095309A (zh) * | 2016-06-03 | 2016-11-09 | 广东欧珀移动通信有限公司 | 终端的操作控制方法及装置 |
US11314399B2 (en) * | 2017-10-21 | 2022-04-26 | Eyecam, Inc. | Adaptive graphic user interfacing system |
CN110414393A (zh) * | 2019-07-15 | 2019-11-05 | 福州瑞芯微电子股份有限公司 | 一种基于深度学习的自然交互方法及终端 |
CN111237985B (zh) * | 2020-01-17 | 2022-02-01 | 宁波奥克斯电气股份有限公司 | 一种空调器的控制方法、激光投射控制***和空调器 |
-
2020
- 2020-08-26 CN CN202010874085.1A patent/CN114115693A/zh active Pending
-
2021
- 2021-08-20 EP EP21860286.0A patent/EP4195019A4/en active Pending
- 2021-08-20 JP JP2023513321A patent/JP2023538687A/ja active Pending
- 2021-08-20 WO PCT/CN2021/113839 patent/WO2022042449A1/zh unknown
- 2021-08-20 KR KR1020237009492A patent/KR20230051704A/ko unknown
- 2021-08-20 BR BR112023003482A patent/BR112023003482A2/pt unknown
-
2023
- 2023-02-24 US US18/174,099 patent/US20230195301A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022042449A1 (zh) | 2022-03-03 |
KR20230051704A (ko) | 2023-04-18 |
BR112023003482A2 (pt) | 2023-04-11 |
CN114115693A (zh) | 2022-03-01 |
EP4195019A1 (en) | 2023-06-14 |
EP4195019A4 (en) | 2024-03-06 |
US20230195301A1 (en) | 2023-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109635621B (zh) | 用于第一人称视角中基于深度学习识别手势的***和方法 | |
US10394334B2 (en) | Gesture-based control system | |
Betancourt et al. | The evolution of first person vision methods: A survey | |
WO2020010979A1 (zh) | 手部关键点的识别模型训练方法、识别方法及设备 | |
WO2020063009A1 (zh) | 图像处理方法、装置、存储介质及电子设备 | |
US20230195301A1 (en) | Text input method and apparatus based on virtual keyboard | |
US20130335318A1 (en) | Method and apparatus for doing hand and face gesture recognition using 3d sensors and hardware non-linear classifiers | |
US20220301304A1 (en) | Keypoint-based sampling for pose estimation | |
JP2015531526A (ja) | タッチレス入力 | |
Qi et al. | Computer vision-based hand gesture recognition for human-robot interaction: a review | |
US11619993B2 (en) | Systems and methods for gaze-tracking | |
US20160086349A1 (en) | Tracking hand pose using forearm-hand model | |
WO2022042120A1 (zh) | 目标图像提取方法、神经网络训练方法及装置 | |
JP2021531589A (ja) | 目標対象の動作認識方法、装置及び電子機器 | |
US20180314909A1 (en) | Detection and recognition of objects lacking textures | |
CN113325948B (zh) | 隔空手势的调节方法及终端 | |
WO2021258862A1 (zh) | 打字方法及装置、设备、存储介质 | |
CN113168221A (zh) | 信息处理设备、信息处理方法和程序 | |
US20210158031A1 (en) | Gesture Recognition Method, and Electronic Device and Storage Medium | |
US20230171467A1 (en) | Screen interaction method and apparatus for electronic device | |
Yousefi et al. | 3D hand gesture analysis through a real-time gesture search engine | |
Babu et al. | Controlling Computer Features Through Hand Gesture | |
CN113569052A (zh) | 知识图谱的表示学习方法及装置 | |
Cruz Bautista et al. | Hand features extractor using hand contour–a case study | |
Sen et al. | Deep Learning-Based Hand Gesture Recognition System and Design of a Human–Machine Interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230516 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230516 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240423 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240514 |