CN104583902B - 改进的手势的识别 - Google Patents
改进的手势的识别 Download PDFInfo
- Publication number
- CN104583902B CN104583902B CN201380040370.1A CN201380040370A CN104583902B CN 104583902 B CN104583902 B CN 104583902B CN 201380040370 A CN201380040370 A CN 201380040370A CN 104583902 B CN104583902 B CN 104583902B
- Authority
- CN
- China
- Prior art keywords
- gesture
- controller
- state
- computing device
- motion
- 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
Links
- 230000033001 locomotion Effects 0.000 claims abstract description 103
- 239000013598 vector Substances 0.000 claims abstract description 37
- 230000009471 action Effects 0.000 claims description 74
- 238000010586 diagram Methods 0.000 claims description 37
- 238000000034 method Methods 0.000 claims description 30
- 230000008859 change Effects 0.000 claims description 17
- 238000006243 chemical reaction Methods 0.000 claims description 16
- 230000000007 visual effect Effects 0.000 claims description 7
- 230000007704 transition Effects 0.000 claims 1
- 230000000875 corresponding effect Effects 0.000 description 27
- 238000001514 detection method Methods 0.000 description 14
- 238000003860 storage Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000005096 rolling process Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 210000003811 finger Anatomy 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000009183 running Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 210000004247 hand Anatomy 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000007639 printing Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000006641 stabilisation Effects 0.000 description 3
- 238000011105 stabilization Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 230000009189 diving Effects 0.000 description 2
- 210000001508 eye Anatomy 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 210000005224 forefinger Anatomy 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000011524 similarity measure Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- RINPOXNCRXGFAV-FNXAHOOKSA-N (2s,4s,5r,6r)-5-amino-2-[(2s,3r,4r,5s,6r)-5-[(2s,3r,4r,5r,6r)-3-amino-5-hydroxy-6-(hydroxymethyl)-4-[(2r,3r,4s,5r,6r)-3,4,5-trihydroxy-6-(hydroxymethyl)oxan-2-yl]oxyoxan-2-yl]oxy-2-[(2r,3s,4r,5r,6r)-6-[(e)-2-amino-3-hydroxyicos-4-enoxy]-4,5-dihydroxy-2-(h Chemical compound O[C@@H]1[C@@H](O)[C@H](OCC(N)C(O)/C=C/CCCCCCCCCCCCCCC)O[C@H](CO)[C@H]1O[C@H]1[C@H](O)[C@@H](O[C@]2(O[C@H]([C@H](N)[C@@H](O)C2)C(O)C(O)CO)C(O)=O)[C@@H](O[C@H]2[C@@H]([C@@H](O[C@H]3[C@@H]([C@@H](O)[C@@H](O)[C@@H](CO)O3)O)[C@@H](O)[C@@H](CO)O2)N)[C@@H](CO)O1 RINPOXNCRXGFAV-FNXAHOOKSA-N 0.000 description 1
- 235000007926 Craterellus fallax Nutrition 0.000 description 1
- 240000007175 Datura inoxia Species 0.000 description 1
- 241000196324 Embryophyta Species 0.000 description 1
- 101500027295 Homo sapiens Sperm histone HP3 Proteins 0.000 description 1
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 102400000926 Sperm histone HP3 Human genes 0.000 description 1
- 239000000370 acceptor Substances 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000005252 bulbus oculi Anatomy 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 208000012802 recumbency Diseases 0.000 description 1
- VEMKTZHHVJILDY-UHFFFAOYSA-N resmethrin Chemical compound CC1(C)C(C=C(C)C)C1C(=O)OCC1=COC(CC=2C=CC=CC=2)=C1 VEMKTZHHVJILDY-UHFFFAOYSA-N 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/56—Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
- G06F9/30038—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/248—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Image Analysis (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明披露了一种用于识别由影像流中被追踪的对象所作的手势的计算装置,所述计算装置包括存储器和控制器,其中所述控制器被设置成:确定被追踪对象的移动向量;将移动向量与手势的参考库进行比较;并由此识别匹配移动向量的手势;其中所述移动向量包括至少一部分具有由相对角识别的方向的移动,并且其中所述比较是基于所述相对角的。摘要附图为图23。
Description
技术领域
本申请涉及用于识别对象所做手势的方法、计算机可读介质和计算装置,特别涉及用于改进识别视频流中由对象所做手势的方法、计算机可读介质和计算装置。本申请还涉及用于识别由多个对象所做的手势的方法、计算机可读介质和计算装置。
技术背景
开发人员一直试图在诸如游戏机、计算机和智能手机的当代设备成功地实现基于视觉的控制。大多数的尝试在提供充分有效的实际操作于所有现实生活场景的控制系统上并不成功。下文给出了所述系统的一些示例。
美国公开号US2011299737的美国专利申请披露了基于视觉的手部动作识别系统及其方法。在一实施例中,首先根据连续的手部影像识别手部姿势。如果手部姿势匹配起始姿势,系统随后将连续手部影像分成多个影像群组并计算这些影像群组的运动向量。这些运动向量的分布与多个三维运动向量的直方图等化进行比较,以确定每个影像群组的对应运动。例如,对应的运动可以是左移的动作、右移的动作、上移的动作或下移的动作。最后,这些对应运动的组合被定义为姿势,并且然后执行映射该姿势的指令。
公开号WO09128064的国际专利申请披露了与电子显示相关的与电子装置进行人机互动的方法,包括捕捉定位于输入装置上的至少一手的影像,从影像追踪手的位置或姿势;由基于与输入装置互动的互动切换至指向装置仿真,来响应检测到用手进行的手势,及基于追踪而仿真指向装置,而手不再进行手势。
美国专利号US7,970,176的美国专利披露了一种识别使用者姿势以便用于交互式游戏应用的方法。获得了使用者的视频摄像机影像,并且在影像中识别出使用者身体的特征点位置。相似性测度用于将影像中的特征点位置和手势库进行比较。库中的手势对应最大计算的相似性测度,其大于被识别为使用者的手势的手势的阈值。所识别的手势可与虚拟游戏环境中使用者的运动成一体,并且向使用者提供视觉反馈。
公开号GB2474536的英国专利申请披露了使用者如何基于电脑视觉来控制电子装置(电视、DVD机、PC、手机、相机、STB)。影像传感器捕捉一序列的视野影像。处理器接收到影像序列;检测在影像中至少一对象的运动;将形状识别算法(如轮廓检测)应用于至少一运动对象上,通过结合来自于对象的至少两个影像的信息确认该对象是使用者的手;和,追踪对象以检测用于控制装置的控制手势。形状识别可与运动检测一起施用或是在移动检测之前施用。在第一阶段,可能检测到诸如像挥手的初始手势。在较差的照明条件下,可能主要基于运动检测来识别使用者的手。使用者手势可控制光标移动和操作,选择并操作对象(如图标),或提供按钮点击仿真,例如鼠标点击命令。影像传感器可以是诸如网络摄像机的2D摄影机或3D摄影机,并可以与装置成一体或在装置外部或是IR敏感的。
由所述系统提供的手势识别太慢而没有效果。
此外,现有技术没有考虑摄影机尤其是在移动装置中可能不会与使用者完美地对准,这可导致手势的错误解释。
另一主要缺点是现有技术系统中所涉及的计算的复杂性,需要大量的计算资源。
因此,需要一种识别由视频流中的对象所作手势的方式,能够适应摄像机和使用者之间的失调。
此外,极需要追踪在影像串流中的对象而并不需要庞大的计算资源的方式。
发明内容
本申请的一个目的是通过提供用于识别由影像串流中被追踪的对象所作的手势的计算装置来克服上述问题,所述计算装置包括存储器和控制器,其中控制器被设置成:确定被追踪对象的移动向量,将移动向量与手势的参考库进行比较,并借此识别匹配移动向量的手势,其中所述移动向量包括至少一部分具有由角度识别的方向的移动,并且其中所述比较是基于所述角度的。应当指出,在一个实施例中,角度或方向是相对于其它向量的且并非是绝对角度或方向。这解决了必须将摄影机与待追踪的对象对准或者根据摄影机和待追踪的对象的当前对准调整手势的问题。应当了解,存在该问题并且识别该问题也需要创造性的推理。
所述计算装置不需要大量的计算资源,这是因为通过使用(部分)移动的方向的角度来识别和存储手势这一巧妙的方式。
在一个实施例中,控制器还被设置成穿过状态图,例如杜林机,其中转换对应于所述移动向量的元素,并且至少一个状态对应于一动作;借此控制器根据移动向量的元素执行从一状态到另一状态的转换,直到识别到手势到达对应的状态。
在一个实施例中,计算装置是移动通讯终端。
在一个实施例中,计算装置是因特网平板电脑或便携式电脑。
在一个实施例中,计算装置是游戏机。
在其它实施例中,计算装置是具有用户界面的打印机、具有非接触式用于界面的摄影机,例如水下摄影机,其中触摸显示或其他用户界面不会工作(由于防水壳或由于水的物理特性),具有非接触式用户界面的(智能)表。
视频流也可通过下载的或串流的视频流提供,可能不源于装置的摄影机。
本申请的另一目的是通过提供一种用于计算装置用于识别影像串流中由被追踪的对象所作的手势的方法来克服上述问题,所述方法包括:确定被追踪对象的移动向量,将移动向量与手势的参考库进行比较,并借此识别匹配移动向量的手势,其中所述移动向量包括至少一部分具有由角度识别的方向的移动,并且其中所述比较是基于所述角度的。
本申请的另一目的是通过提供一种计算机可读介质来克服上述问题,所述计算机可读介质包括指令,所述指令当被加载到控制器(例如处理器)和由控制器(例如处理器)执行时执行本文所述的方法。
本发明的发明人在创造性和仔细推理后认识到,透过巧妙的主要聚焦于(部分)移动的方向和状态图的使用,可以实时快速地识别手势而不需要大量的计算资源。巧妙地聚焦于(部分)移动的方向是主要比较方向的相对角度,不像现有技术的系统比较绝对角度。这使得能够独立于摄像机和待追踪的对象的当前对准来识别手势。
本发明可用于具有用户界面的计算装置的控制系统,例如智能手机、因特网平板电脑、电脑和游戏机。
所披露实施例的其它特征和优点会由下文的详细描述、由所附权利要求以及附图揭示。一般而言,权利要求中使用的所有术语将根据其技术领域中的普通含义来解释,除非本文另有明确定义。
所有提及“元件、装置/设备、部件、方法、步骤等”之处被公开解释为是指元件、装置/设备、部件、方法、步骤等的至少一实例,除非另有明确描述。本文所披露的任何方法的步骤不必然按所披露的确切顺序执行,除非有明确说明。
附图说明
参考附图,将进一步详细描述本发明,其中:
图1A和1B是根据本发明的每一计算装置的示意图;
图2是根据本发明的计算装置的部件的示意图;
图3是根据本发明的计算机可读存储器的示意图;
图4A示出了待被追踪对象的示例影像,图4B、4C和4D各自示出了根据本发明的经处理对象版本的表示;
图5示出了根据本发明的实施例的如何可确定描述符的示意图;
图6示出了根据本发明的实施例已被分配描述符的待被追踪对象的示图;
图7示出了根据本发明实施例的已被分配描述符的待被追踪移动对象的示图;
图8示出了根据本发明实施例确定相对距离的直方图;
图9示出了根据本发明的示例实施例在实验中确定相对距离的直方图;
图10示出了根据本发明实施例的示出一般方法的流程图;
图11示出了根据本发明实施例已被分配描述符的待被追踪的两移动对象的示图;
图12示出了根据本发明实施例确定两对象相对距离的直方图;
图13示出了根据本发明实施例已被分配描述符的待被追踪的移动对象沿着与视线平行的方向的示图;
图14示出了根据本发明实施例确定平均位置和相对距离的线性拟合的示图;
图15A和15B分别示出了根据本发明实施例基于直角坐标确定平均位置和相对距离的线性拟合的示图;
图16示出了根据本发明实施例用于追踪对象的一般方法的流程图;
图17示出了对象作手势的示意性示图;
图18示出了根据本发明实施例用于识别手势的状态图或杜林机的示意性示图;
图19示出了根据本发明实施例用于识别手势的状态图或杜林机的示意性示图;
图20示出了根据本发明实施例用于识别手势的状态图或杜林机的示意性示图;
图21示出了两对象作手势的示意性示图;
图22示出了根据本发明实施例用于识别手势的状态图或杜林机的示意性示图;
图23示出了根据本发明实施例用于识别手势的一般方法的流程图。
具体实施方式
现在将参照附图在下文更充分地描述本发明揭示的实施例,其中示出了本发明的某些实施例。然而,本发明可以许多不同的形式来实施,并且不应该被解释为限于这里所阐述的实施例,而是通过示例的方式提供这些实施例,以使本本发明将是彻底和完整的,并且将充分地传达本发明范围给本领域技术人员。相同的数字代表相似的组件。
图1总体示出了根据本文实施例的计算装置100。在一实施例中,计算装置100被配置用于网络通讯,无线或有线。这样的计算装置100的例子是:个人计算机、桌上型或笔记型计算机、因特网平板计算机、移动通讯终端诸如移动电话、智能电话、个人数字助理、游戏控制台。两个实施例将被作为范例和描述为图1A中的智能手机和图1B中的便携式电脑100。
参照图1A,形式为智能手机100的移动通讯终端包括壳体110,其中配置有显示器120。在一个实施例中,显示器120是触控显示屏。在其它实施例中,显示器120是非触控式显示器。此外,智能型手机100包括两个键130a、130b。在本实施例中,有两个键130,但是任何数量的键是可能且取决于智能型手机100的设计。在一实施例中,智能型手机100被设置成显示和操作触控显示器120上的虚拟键135。应当注意,虚拟键135的数量依赖于智能型手机100的设计和智能型手机100上执行的应用程序。智能型手机100还配备了摄影机160。摄影机160是数字摄影机,被设置成通过将影像记录于电子影像传感器(未绘示)来取得视频或静止照片。在一个实施例中,摄影机160是外部摄影机。在一个实施例中,摄影机可替换为提供影像串流的来源。
参照图1B,笔记型计算机100包括显示器120和壳体110。壳体包括控制器或CPU(未绘示)和一或更多个计算机可读取储存媒体(未绘示),如储存单元和内部存储器。储存单元的范例是磁盘驱动器或硬盘驱动器。计算装置100还包括至少一数据端口。数据端口可以是有线的和/或无线的。数据端口的范例是USB(通用串行总线)端口、以太网络端口或WiFi(根据IEEE 802.11标准)端口。数据端口被配置成使得计算装置100能够与其它计算装置或服务器连接。
笔记型计算机100还包括至少一个输入单元,如键盘130。输入单元的其它例子是计算机鼠标、触控板、触控屏幕或操纵杆等。
笔记型计算机100还配备有摄影机160。摄影机160是数字摄影机,配置成通过将影像记录在电子影像传感器上来取得(图中未绘示)视频或静止影像。在一个实施例中,摄影机160是外部摄影机。在一个实施例中,摄影机可替换为提供影像串流的来源。
图2绘示了根据图1的计算装置的总体结构示意图。计算装置100包括控制器210,其负责计算装置200的整体运作且优选通过任何商业上可用的CPU(“中央处理单元”)、DSP(“数字讯号处理器”)或任何其它的电子可程序化逻辑装置实施。控制器210可使用赋能硬件功能的指令来实施,例如通过使用在通用或专用处理器中的可执行计算机程序指令,其可被储存在计算机可读取储存媒体(磁盘、存储器等)240以由此种处理器执行。控制器210被设置成自存储器240读取指令并执行这些指令来控制计算装置100的运作。存储器240可使用用于计算机可读取存储器例如ROM、RAM、SRAM、DRAM、CMOS、FLASH、DDR、SDRAM的任何通常已知技术或一些其它存储器技术来实现。存储器240通过控制器210被用于不同目的,其中之一是用于为计算装置200中的各种软件模块储存应用程序数据和程序指令250。这些软件模块包括实时操作系统、用户界面220的驱动程序、应用程序处理器以及各种应用程序250。应用程序是一组指令,当由控制器210执行时,控制计算装置200的运作。应用程序250可以包括讯息应用程序,如电子邮件、浏览器应用程序、媒体播放器应用程序,以及其它各种应用程序250,如语音通话、视频通话、文件阅读和/或文件编辑的应用程序、实时讯息应用程序、日历应用程序、控制面板应用程序、一个或更多的视频游戏、记事本应用程序、语音通话应用程序、短讯服务应用程序、定位应用程序。
计算装置200还包括用户界面220,其在图1A和图1B中的计算装置中由显示器120和键130、135组成。
计算装置200还包括射频接口230,其适于使得计算装置通过使用不同的无线电频率技术通过无线电频带而与其它装置通讯。这种技术的例子是IEEE 802.11、IEEE 802.11s和可在计算装置100实现的无线电技术的其它示例有W-CDMA、GSM、UTRAN、LTE、和NMT等。
计算装置200还配备有摄影机260。摄影机260是数字摄影机,被配置成通过将影像记录于电子影像传感器来取得(未绘示)视频或静止影像。
数字摄影机260的分辨率通常会被将光线转换成离散讯号的影像传感器(通常是CCD或CMOS传感器芯片)所限制。传感器是由基本上计数撞击传感器的光子数量的大量受体所组成。在给定点时传感器上的影像越亮,该像素读出的值越大。影像中得到的像素数量决定了它的“像素数”。例如,640×480的影像具有307,200像素或约307千像素(kilopixels);3872x2592的影像具有10,036,224像素或者为约10兆像素(megapixel)。
摄影机260是配置成拍摄数字影像或图片。有许多不同的方式可做到这点。在称为单拍的方式中,摄影机260的传感器(未绘示)被暴露于通过摄影机镜头的光线(图中未明确绘示)。单拍捕捉系统使用一个CCD(电荷耦合装置)或通过分束器曝光于同一影像的三个独立的影像传感器(分别用于红色、绿色和蓝色三个主要添加色)。
摄影机260最好是能够作为数字视频摄影机。数字视频摄影机通常采用两种不同的影像捕捉格式之一:隔行扫描和非隔行扫描/连续扫描。隔行扫描摄影机以交替的线组记录影像:扫描奇数行,然后扫描偶数行,然后再次扫描奇数行等等。一组奇数或偶数行称为“场”,两场相反奇偶性的连续配对称为帧。非隔行扫描的摄影机将每个帧记录为独特的,在同一时刻及时捕捉所有的扫描线。因此,每秒钟对于相同数目的帧,隔行扫描的视频捕捉以连续扫描视频的两倍频率取样场景动作。连续扫描摄影机通常会产生稍微较清晰的影像。然而,动作可能不如使用每秒50或59.94场的隔行视频顺畅,尤其是如果它们采用每秒24帧的影像标准。
数字视频摄影机260提供数字视频流265,也称为作为数字视频。数字视频包括以固定速率快速连续显示的正交位图数字影像的序列或流。在视频的情境中,这些影像被称为帧。我们以每秒帧数(FPS)来测量帧所显示的速率。由于每个帧是正交的位图数字影像,因此它包括像素栅格。如果它的宽为W像素而高为H像素,我们称帧的大小为WxH。像素只有一种属性,即它们的颜色。像素的颜色是由固定的位数表示。位数越多可以再现越多的颜色的微妙变化。这就是所谓的视频的色彩深度(CD)。范例视频的持续时间(T)为1小时(3600秒),帧大小为640×480(WxH),色彩深度为24位,帧速率为25fps。这个范例视频具有以下属性:每帧像素=640*480=307,200;每帧位数=307,200*24=7,372,800=7.37Mbits;位速率(BR)=7.37*25=184.25Mbits/sec;视频大小(VS)=184Mbits/sec*3600秒=662,400Mbits=82,800Mbytes=82.8Gbytes。在一个实施例中,摄影机260被设置成在每秒8帧的帧速率或16、24、32或更高的帧速率的任何一者运作。
摄影机260被可操作地连接到控制器210,以提供视频流265(即捕捉的影像序列)给控制器,用于进一步处理,可能用于及/或根据应用程序250中的一或几个。
在一个实施例中,摄影机260是外部摄影机或影像串流来源。
提及“计算机可读取储存媒体”、“计算机程序产品”、“有形实施的计算机程序”等或“控制器”、“计算机”、“处理器”等应被理解为不仅包括具有不同体系结构的计算机,如单/多处理器架构和依序(Von Neumann)/并行架构,亦包括专门电路,如场可程序化门阵列(FPGA)、应用程序专门电路(ASIC)、讯号处理装置和其它装置。提及计算机程序、指令、代码等应被理解为包括可程序化处理器的软件或固件,例如硬件装置的可程序化内容,不论是处理器的指令或是固定功能装置、门阵列或可程序化逻辑装置等的配置设定。
图3绘示如上所述的计算机可读取媒体的示意图。在本实施例中,计算机可读取媒体30是记忆卡,如通用串行总线(USB)的卡。USB卡30包括具有接口的壳体33,例如连接器34和记忆芯片32。记忆芯片32是闪存,也就是可电性抹除和重新程序化的非挥发性数据储存装置。记忆芯片32是以指令31程序化,当加载到诸如处理器之控制器时(可能通过接口34),执行根据上述揭示的实施例的方法或程序。USB卡被配置成连接至诸如根据图1之终端的读取装置且由该读取装置读取,以便将指令加载到控制器。应当指出的是,计算机可读取媒体也可以是其它的媒体,如光盘、数字视频光盘、硬盘或其它常用的储存技术。指令也可经由无线接口自计算机可读取媒体下载以加载到控制器。
下面将参照附图揭示一种改善的追踪对象的方式。将聚焦于影像数据进行范例说明,但应该清楚的是,该处理是部分或全部执行于包括控制器的计算装置,如参考图1和2于上文所揭示,或通过执行存储在计算机可读取媒体上的指令执行,如参考图3之揭示。
图4A绘示被追踪对象的影像,在本例中是手。影像是由摄影机(图4中未绘示,但在图2中标号为260)提供给计算装置(在图4中未绘示,但在图2中标号为200)的控制器(图4中未绘示,但在图2中标号为210)的影像串流(在图4中未绘示,但在图2中标号为265)的一部分。影像串流可由外部摄影机或诸如因特网上之串流视频的另一影像串流来源提供给控制器(210)。
为了能够进行有效地对象追踪,重要的是该影像包含足够的细节。因此,相机的分辨率是重要的。对于远离相机的对象,分辨率就变得更加重要,对于长距离追踪,具有更高分辨率的摄影机是优选的。对于短距离追踪,低分辨率的相机就足够了。使用本文所揭示的方式,160X120的影像分辨率已被证明是足够能够成功地追踪对象。
此外,为了准确和精确追踪,高帧速率是优选的,因为这允许详细的对象追踪。这种高帧速率对于追踪方法的性能提出很高的要求,因为每个追踪操作必须在收到下一帧之前完成。本文所揭示的方式已被证明使用高于30fps和低至8fps的帧速率能够成功地追踪对象。
常见的影像尺寸是视频图形阵列(VGA)格式,像素为480×640,即总共为307200像素。这样的数据集对执行大量的计算是不切实际的,因此控制器被设置成通过确定影像中的轮廓线来减少影像的数据集,藉此过滤对象内的所有点或像素。这样的轮廓线可能会利用边缘检测确定。
边缘检测是影像处理、机器视觉和计算机视觉的知名工具,旨在识别数字影像中影像亮度急剧变化的点,或者更正式的说法是具有不连续性。一种用于边缘检测的常用方法是Canny边缘检测器,其是使用多级算法来检测影像中的广泛的边缘范围的边缘检测运算子。
在这个例子中,控制器被配置成使用Canny运算子确定轮廓线,藉此产生影像或第一画面(第一是指当前正被处理)的Canny线。图4B绘示图4A中的影像产生的轮廓线CL的视图。正如可以看到的,影像的数据集已经大大降低了。
为了提高轮廓线确定的速度,控制器可以配置以使用Canny运算子来利用速度的增加。这将导致较低的精确度,但提高了处理速度。降低的精确度已被证明有较小的后果。
应该指出的是,存在有检测用于产生轮廓线的边缘的其它方式且为本发明范围的一部分。
为了进一步减少数据集,控制器被配置以过滤掉静止的所有轮廓线。(轮廓)第一影像的轮廓线CL与影像串流中的前一影像的轮廓线进行比较,以确定是否有轮廓线的覆盖或匹配。此类匹配轮廓线代表静止的对象且将被过滤掉,藉此进一步减少影像的数据集。图4C绘示所有静止的轮廓线被过滤掉后的手的轮廓线CL。
为了进一步减少数据集,控制器被配置成过滤出不太可能成为被追踪对象的一部分的轮廓线。
为了确定轮廓线不是对象的一部分,将轮廓线的属性与对象的假定或已知属性进行比较。
例如,如果是要追踪矩形对象,所有环状或圆形的轮廓线会被过滤,因为它们不太可能是矩形对象的一部分。类似地,如果是要追踪矩形的对象,所有圆形或弯曲的线会被过滤掉。
为了能够过滤某些轮廓线,控制器可被设置成根据该轮廓线的曲率过滤掉该轮廓线。根据待过滤的对象,曲率可由设计者设定。如果在过滤圆的追踪对象的情况下,所有曲率低于曲率阈值以下的轮廓线会被过滤掉,例如1或5或1至5度。
在过滤矩形的追踪对象的情况下,所有曲率高于一曲率阈值的轮廓线会被过滤掉,例如1或5或1至5度。
曲率可以根据下文揭示的描述符而确定或通过比较轮廓在线的两个或更多个点的曲率。
为了过滤出矩形对象,轮廓线没有角度的所有对象可能会被过滤掉。
要过滤不是手的一部分的对象,透过比较轮廓线的两侧上的颜色,控制器可配置以确定轮廓线不是手的一部分。如果轮廓线两侧的颜色都不是皮肤的颜色,轮廓线不是手的一部分。
待比较的皮肤颜色可自视频流中的第一影像确定,其中对象被识别且其颜色被决定。这使得本文的方式可以用于所有的皮肤颜色且可用于手套或其它硬件或者纹身(指甲花或其它方式)及珠宝。
通过确定追踪的前几个帧中的对象颜色,允许过滤轮廓线,也允许追踪其它的对象。
应当注意到,基于如上面列出的准则组合,控制器可被配置成过滤出不太可能是要追踪对象的一部分的轮廓线。例如,手不太可能包含圆形的轮廓线和具有尖角的轮廓线。
为了进一步减小数据集,控制器被配置成确定在影像中/在轮廓线上的哪些点是感兴趣要追踪的。为了识别感兴趣的点,控制器被设置成指派描述符至每个点。描述符是点的特征,可用于识别该点。
在一个实施例中,控制器被设置成将三个描述符指派到每个点。图4D绘示轮廓线的放大图,可以看出指尖的轮廓线CL。三个描述符D1、D2和D3是以图4D中的白色箭头表示。这三个描述符是:
D1=点的正距的角;
D2=点右侧的曲率;及
D3=点左侧的曲率。
可选地,控制器可配置以附加地或替代地指派描述符,基于点的颜色或该点的轮廓线的强度。在一个实施例中,控制器被设置成根据下述而仅指派两个描述符D1和D2:
D1=点的正距的角及
D2=点附近的曲率。
指派较少的(二个)描述符加快处理速度,但降低了精确度,因为这些描述符没有如使用更多的描述符时那样清楚地识别点。增加的精确度能够有效的过滤,这减少了要处理的数据集。
在一个实施例中,控制器被设置成使用Sobel演算子确定正距的角。Sobel演算子被用在影像处理中,特别是在边缘检测算法。从技术上讲,它是离散的微分演算子,计算影像强度函数的梯度的近似值。在影像中的每个点,Sobel演算子的结果是对应的梯度向量或此向量的正距(normal)。Sobel演算子是以小的、可分离、和整数值的过滤器在水平和垂直方向上基于卷积影像,因此在计算上相对便宜。Sobel演算子的操作包括从直角到极坐标的转换。应当指出的是,有确定正距的角度的其它方式存在,并且是本发明范围内的一部分。在一个实施例中,正距的角是取自在执行边缘检测时已经执行的计算。这是有益的,因为它减少了需要执行的计算数量。
图5绘示如何可在轮廓线CL上的点之间确定角度α1、α2、α3。角度α1、α2、α3对应点P1和最接近的两个相邻点P12和P3的正距,且在一个实施例中是使用Sobel演算子确定。两点之间的距离被表示为△step。根据图5中的术语,描述符可以根据以下确定:
D 1=α1[=Sobel(P 1)];
D2=(α1–α2)/△step[=(Sobel(P1)-(Sobel(P2))/△step];和
D3=(α1–α3)/△step[=(Sobel(P1)-(Sobel(P3))/△step]。
这提供了一种计算或确定描述符和曲率的简单方式,该方式不要求复杂的操作,特别是对于确定曲率而言,因为已经确定了相邻点的正距的角度。
使用两个描述符,描述符D1、D2可如下确定:
D1=α1[=Sobel(P1)];和
D2=(α2–α3)/2△step[=(Sobel(P2)-(Sobel(P3))/2△step]。
为了进一步减小数据集,控制器被设置成过滤掉难以追踪的点。图6绘示手的影像,其中4个点P1、P2、P3和P4已被标记为描述符(以箭头表示)。两个点P3、P4位于食指一侧,两点P1、P2位于食指的尖端上。如果根据上述确定,两个侧点P3、P4的描述符非常相似。这一点在图6中通过具有相同角度的对应描述符的箭头绘示。然而,指尖上两点P1、P2的描述符彼此不同,且不同于侧点P3、P4的描述符。这在图6中是以具有不同的角度的对应描述符箭头绘示。这种不同于影像中的大部分点的点较容易追踪,控制器被设置成过滤掉其描述符不异于其它点的描述符的所有点。
在一个实施例中,通过计算与该点相比之前一图片中具有类似或相同描述符的其它点的数目,控制器被设置成过滤掉非描述点。如果比较的点的数量超过一阈值的计数值,被比较的点会被丢弃或过滤。阈值计数可能代表绝对计数,例如100或500,或者相对计数(进行比较的点的数量和点的总数量之间的配额),例如1/5、1/10、1/20或1/40。
为了分出噪音并进一步减小数据集,控制器被设置成过滤掉移动太多的点。过滤是通过控制器将影像中轮廓线上的所有点与前一影像中轮廓线上的所有点比较,显现太多不同的点对会被丢弃而获得。在一个实施例中,如果在描述符△D1、△D2、△D3中的变化根据下述式子是低于或在阈值内,则控制器被设置成保留一点对:
△D1<=T1,例如T1=11.25度;
T2L<=△D2<=T2H,例如描述符值D2的T2L=-50%和T2H=+100%;以及
T3L<=△D3<=T3H,例如描述符值D3的T3L=-50%和T3H=+100%,
其中T1是描述符D1中所允许变化的阈值,T2L是描述符D2中所允许变化的较低阈值,T2H是描述符D2中所允许变化的较高阈值,T3L是描述符D3中所允许变化的较低阈值,T3H是描述符D3中所允许变化的较高阈值。
应当注意的是,阈值T1、T2H、T2L、T3H和T3L愈小或愈窄,如上面所讨论的,用于比较非描述点的阈值计数愈高。
在本实施例中,允许两个曲率描述符D2、D3的变化因子为2。应该指出的是,其它因子也是可能的,例如3或1.5。
保留的数据集现在已经减少至包括感兴趣的点。
要确定被追踪对象的水平和垂直移动,控制器被设置成将数据集中的所有点与数据集中的所有点比较,以确定移动。在一个实施例中,控制器是经比较以根据描述符中的变化与保留的像素对比较。
图7绘示如何执行移动比较。该图显示了两只手,每只手具有两个点,左手H是P1、P2,右手H'是P1'、P2'。在图7的例子中,右手H'是当前影像的手,左手H是先前影像的手。在图7中,手H向右(手H')移动了一定的距离,这是以手H绘示,H'被绘制为彼此间有一距离。应该指出的是,虽然图7中每一手只显示了两个点P1、P2,但在真实的例子中是处理更多的一些点。
通过计算每个点对之间的距离,控制器将前一影像的数据集P1、P2中的所有点与当前影像中的数据集P1'、P2'中的所有点进行比较。这样的距离是绘示为一点自前一位置P1至当前位置P1',且该距离表示为P1-P1'。
距离P1-P1'是储存在每个距离的矩阵中。该距离是一两维实体,具有X(水平)和Y(垂直)分量,且该矩阵被产生以使每个单元格对应于由对应的X和Y坐标或分量所给定的距离。对于每一发生的对应距离之经计算距离,矩阵中的每个单元格增加一。图8绘示了图7中所绘示情况的一维范例,其中对于每一距离,绘制每个距离的发生情形。
可以看出,有四个距离,其中两者相同,代表真正的移动。这两者是P1和P1'及P2和P2'之间的距离。另外两个是P1和P2'及P2和P1'之间的距离。真正的移动是由找出距离矩阵中的最大发生值而确定。在图8中,最大值是在最高棒,在本例中为两个距离P1-P1'和P2-P2'的栏。
图9绘示了实验的二维表示,其中一对象已被追踪。可以看到在X=-12,Y=0附近是峰顶中心。最大值表示该对象在负X轴方向已移动了12点或像素。
在一个实施例中,控制器被设置成确定或计算在同一时间的相对距离,因为如果点对表现出过多的移动,该相对距离是确定的,但在此之后,可以确定的是点对不会表现出过多的移动。这减少了控制器需要遍历数据集的次数,藉此提高计算效率。
使用上述揭示的方式减少数据集,然后确定最大可能的移动,对象的真实的水平和垂直移动可以只需要极少的计算资源的方式确定。
实验显示适合于实现上述揭示方式的智能型手机能够利用低分辨率的摄影机及在光线不好的条件下(低到20勒克司)满意地追踪对象,藉此使这里的教导适合用于移动装置,如智能型手机、笔记型计算机、因特网平板等,以及在低于最佳环境中使用的固定式装置,如游戏机(可携式和固定式)。
本文所教示的方法适合追踪用于实现装置之手势控制的对象,例如手。本发明的一范例实施方式是浏览应用程序,其中一只手从一侧移动到另一侧的手势表示与追踪的移动方向相同的“翻页”操作。在图9的例子中,对应的操作是翻至下一页面(假设X方向是往右,由此所确定的移动是向左移动)。
本文所教示的方法亦适合追踪用于实现视线追踪的对象,例如眼睛。视线追踪技术可以用来收集有关阅读行为的数据,确定显示内容上的当前感兴趣的点,也用于以特定的眼球移动来控制装置(提供残障支持特别有用)。本发明的一范例实施方式是广告应用程序,其中兴趣点(即是使用者聚焦超过阈值的时点的一点或使用者重复聚焦的点)与特定主题相关联,且应用程序被设置成提出并显示有关特定主题的广告。在图9的例子中,应用程序将向左追踪眼睛移动(假设X方向是向右,由此所确定的移动是向左移动)。如果有一阵子没有检测到进一步的动作,且所检视内容包含左栏上的潜水文章,该应用程序可以下载和显示潜水装置的广告。
图10绘示了根据本文教示的一种概略方法。在1010,于计算装置接收影像串流。为了减少要处理的数据,计算装置在1020确定轮廓线并在1030过滤掉静止线。可选择地(如虚线表示),在1035,计算装置过滤掉不可能属于被追踪对象的点。
在1040,计算装置确定并指派描述符到每个点。该描述符可以用于识别点。在1044,为了减少要处理的数据集,计算装置过滤掉其描述符指示该点是非描述的点(很难与其它点区分)。在1048,为了移除假动作和减少要处理的数据集,计算装置过滤出描述符指示已经有过大移动的点对。在1050,计算装置确定数据集中各点对之间的相对距离,并在1060找到相对距离的最大发生值。最大相对距离对应于要被追踪的对象的移动。
图11绘示了如何使用本文所揭示的方式追踪多个对象。在图11的范例绘示中,对象O1和O2每者是以三点识别,第一对象O1是以P1、P2和P3识别,第二对象O2是以P4、P5和P6识别。如上所揭示,参照图4至图7,对应于影像的数据集已经减小。
在图11中,当控制器确定第一和第二对象O1和O2的所有点对的相对距离时,它产生如图12所示的直方图(一维),显示图11中6个点P1-P6的相对距离的范例直方图。为了清楚起见,假移动的相对距离尚未于图12的描点中识别。此外,图11和图12的相对距离是仅供说明之用,图11的距离和图12中的描点之间的相关性可能不准确。
在图12中可以识别两个极大值,一个用于第一对象O1,一个用于第二对象O2。由此可以确定,O1已经移动一定的距离,O2已经移动另一距离,其中第一对象O1较第二对象O2移动得更远。
因此,使用此处的教示,可能追踪多于一个的对象,而且除了找第二最大值的简单运算之外,不需要大量的额外计算。追踪多个对象可利于用来实现用于装置的多手势控制系统。它也可以被用来向视频游戏提供多个播放器的功能或为控制系统提供多个运算输入。
例如,要在手势控制的操作系统中能够点击或选择动作或变焦操作,知道对象在影像深度上的移动或对象在影像串流中与视线平行的维度上的移动是有利的。在现有技术系统中,已经通过使用例如立体声或双摄影机或使用也称为测距摄影机的深度摄影机来确定深度。这对所使用的摄影机提出了特殊的要求,造成计算装置的成本增加,也限制配备有此种摄影机之装置或适合于处理此种摄影机所提供之延伸数据之装置的可用性。
本文之教示揭示了适用于使用任何摄影机的方式,并可能因此利于使用于智能型手机、笔记型计算机、因特网平板、游戏机和其它计算装置。
图13示意性地绘示对应对象(未具体绘示)的点P1、P2的范例移动。可以看出,这些点已经从第一位置P1、P2移到之后的第二位置P1'、P2'。每个点P1、P2的移动长度△r1,△r2是与自焦点F的对象距离R1、R2成正比。如果距离R1、R2增加,它表示朝向摄影机的移动,如果距离R1、R2减小,它表示远离摄影机的移动。由于距离R也可以通过R2=X2+Y2表示,其中X和Y是直角坐标或每个点的元素,本文教示之作者在深度推理后已经理解到,即使坐标系统的原点不与焦点F配合,可以使用X和Y元素而非半径R。这简化了将要执行的大量计算。
在一个实施例中,控制器被设置成确定属于已根据上述而减少之数据集的点对P1、P1'和P2、P2'的平均位置。这将产生用于点对的平均位置阵列。
可选地,控制器可被设置成过滤掉与根据上述所揭示方式确定的检测的总移动相差太大的那些点。图9所示的例子中,总移动为X=-12,Y=0。
P1M的平均位置通过P1M=(P1+P1')/2确定。
控制器进一步被设置成产生用于点对P1、P1'和P2、P2'的相对距离△r1、△r2的对应阵列,并将相对距离△r1、△r2与平均位置P1m、P2m比较。图14绘示了相对距离△r与距离R至焦点F的绘图,图15A和图15B显示X和Y分量或坐标的对应图。
控制器被设置成通过执行阵列中数据的线拟合,确定对应线LR、LX和LY的斜率。对于图14中的描点,产生的线LR可表示为:△r=a+bR,其中a是截距,b是线LR的斜率。
斜率b是与影像的深度方向的移动成比例,并可以用来追踪在深度方向移动的对象,深度方向也称为Z方向。正斜率(b>0)表示向摄影机移动,负斜率(b<=)表示背离摄影机移动。
在一个实施例中,控制器被设置成执行这种线拟合,以基于点对P1;P1',P2;P2'的X和Y分量决定斜率。图15A和15B绘示了得到的X和Y分量或坐标的线LX和LY,经确定的用于线LX和LY的斜率可以由控制器使用以确定在Z方向的移动。对于仅在Z方向上的移动,在X和Y分量的线性拟合LX和LY的斜率是相同的。
可以由X和Y分量的线拟合确定焦点F。在图15A和15B中,焦点F的坐标在相对距离为零时可以被确定,即当△X=0得到PX,△Y=0得到PY,其中F=(PX;PY)。
焦点F可用于识别对象并与其它的对象区别,因为F表示对象的中心点。因此,追踪多个对象时,焦点F可以用于识别对象,如参照图11和图12于上之揭示。
应当注意到,通过从直角坐标到极坐标的有效转换,距离R和距离变化△r可以用来计算斜率及在Z方向的移动。
在追踪多个对象时,R、X和Y分量的点会显示几个趋势,一趋势将与每个对象关联,并将由控制器执行多个线拟合。每个线拟合的斜率对应相关联对象的移动。
图16绘示了根据本文教示之追踪对象的概略方法。在1610,接收包括点对的数据集。数据集优选根据上文教示而已经减小,但本文揭示之用来决定z方向移动的方法和方式也可用于以其它方式产生和减小的数据集。
在1620确定点对的平均位置,以及在1630确定点对的相对距离,在1640确定斜率,例如通过执行相对距离与平均位置的线拟合。
在1650,根据斜率来确定Z方向上的移动。
根据本文而追踪对象在z方向的移动方式是有益的,因为它需要很少的计算资源。再一主要的好处是它不要求特殊的摄影机或多个摄影机,并可用于被配置成接收影像的数据集或例如来自摄影机、内部或外部的影像串流的任何计算装置。
通过结合上述揭示用于在垂直和水平方向上追踪对象的方法和方式及如何在与视线平行之方向追踪对象之教示,实现在三维空间中追踪对象的方式。这种结合可通过结合图10和图16的方法而达成,使得在1610收到的点对是过滤后所余的点对,例如在1048过滤表现出过大移动的点对。
为了确定和识别由诸如手之追踪对象所执行的手势,控制器被设置成确定追踪对象的移动向量并将移动向量与向量库进行比较。
图17绘示了手H的示意图,手H通过在三个方向上、右、下移动而执行手势。在图17中,手势由三个部分动作代表,1710上、1720右、1730下。对于每个移动,部分移动的方向1710-1730在图17中是通过在括号内的方向(度)所示。移动向量因此包括每者具有一方向的至少一部分移动。在图17中,手势的移动向量有三个分量,可通过部分移动方向来表示,例如{90,0,270},该方向是以该方向的角度识别。将手势描述为方向序列是有存储器空间效率的,同时还允许执行简单而快速的比较以识别手势。
图17的范例是两维,但应指出的是,参照图17-23,本文所教示的概念可以很容易地扩展到三维或更多维度,将讨论如下。
此外,应当指出的是,为了使装置即使在摄像机和待被追踪的对象对于它们相应的上下方向不对准时仍能工作,本文所披露的方式披露了通过相对的方向和角度工作。
例如,如果用户正在媒体站例如电视机上看电影,他可能不会坐直而是例如躺在沙发中。如果用户躺着但作了一个姿势如向上和向左(利用绝对值由0和270度方向组成),以便他的手相对于摄像机的垂直线成一角度移动。如果角度大于容许误差(容许误差的进一步细节见下文),比如说30度,则检测的角度或方向将分别是30和300度而不是0和270度,因此控制器不能够正确地确定事实上使用者所做的手势。这对于使用者来说是烦人的,因为在他认为他正在做一正确的手势并且不愿意太多地改变他的位置。
当如果装置未被正确固定、摆放在不平的表面上或其它这样的情况而出现摄像机稍微未对准时,同样的问题会产生。
因此,下文中所有涉及检测的方向涉及相对方向。
为了利用相对方向来扩大可用手势的数量,控制器可被设置成确定基线或基线方向。可以在开始时、启动新程序时或定时或间歇地确定基线或基线方向以适应使用者移动。
可以为用户或摄像机或者两者确定基线方向。
在一个实施例中,控制器被设置成为待被追踪的对象确定基线方向。在一个实施例中,这可以在检测待被追踪对象的每次进行。对象的当前定向随后被确定并与一般定向进行比较,基此可确定偏移值。通过将待追踪对象的结构与模型结构进行比较可以确定当前的定向。在追踪手的示例中,手指的方向可用于确定当前的定向。
因此,控制器被设置成根据下式适应所有检测到的角度:
α1=α+偏移量
其中,α为检测到的角度,而α1为待比较的经调整的角度。在一个实施例中,控制器被设置成确定摄像机的基线方向。在一个实施例中,这可以在开始时进行。摄像机的当前定向例如通过识别应当是垂直的或水平的直线确定并相应地调整视角。随后可相应调整参照角。如果许多线几乎是垂直的(水平的),则控制器可假设它们应该是垂直的(水平的)并设定一偏移量使得线是垂直的(平行的)。应当意识到,在现代社会中,许多直线自然出现在通常的住处或其它现代环境中。例如,拐角几乎总是直的,在两壁相交或者一壁与地面和/或天花板交汇处提供直线。像框和窗框也几乎总是垂直的/水平的。应当清楚,存在许多其它的示例。因此,通过设置控制器以在待被追踪对象的影像的背景中检测直线,可检测摄像机的定向。
因此,控制器被设置成根据下式调整所有检测到的角度:
β1=β+偏移量
其中β是待比较的参照角;而β1是待比较的经调整的参照角。
可替换地,如上文所述调整检测到的角度。
为了允许使用者移动不准确,控制器被设置成确定,如果比较的角度是在被比较角度的范围或容许误差内,则有匹配。被比较的角度在下文中将称为参考角或参照角。换句话说,控制器被设置成确定如果则存在部分移动的匹配。其中β是参照角,α是比较角,而是容许误差。
为了过滤出非主动移动,控制器可能设置成,除了移动的角度之外,还确定移动的距离,并且只有当距离(dist)高于阈值(V1)时,才将移动角度与参考角比较。换言之,如果dist>=V1,则部分移动会被检测到并进行比较。
通过结合距离的测量和角度的容许误差,控制器被设置成通过区分手势(或手势的一部分)与被追踪对象的随机移动而检测到手势(或手势的一部分)。距离和角度容许误差的结合限定一锥形(其顶部被截掉),在此锥形内,任何产生的移动将被检测为沿该角度方向的移动。
在一个实施例中,载有摄像机的装置的定向可利用陀螺仪或其它水平测量装置确定。如果摄像机和装置的定向是已知的,则定向可被添加至检测到的角度或从检测到的角度减去。不过,在所述实施例中,本文所揭示的方式仍可被用为未知的用户和/或用户运动的定向。知道摄像机并非水平对准,可增加容许误差以适应任何变化。
对于图17的范例移动,三个部分移动构成追踪对象H的手势。第一移动代表从位置H到H’的移动,角度为90度且距离为dist1,第二移动代表从位置H’到H”的移动,角度为0度且距离为dist2,第三移动代表从位置H”到H”’的移动,角度为270度且距离为dist3。仅当所有的距离dist1、dist2、dist3大于阈值V1且各个角度在容许误差内时,将识别出手势。可替换地,如果距离之和大于阈值也将识别出手势,也就是说,如果dist1+dist2+dist3>=V1,将识别或辨认出手势。
本文所揭示的对象追踪提供了用于对象追踪的实时坐标,特别是参照图4至图16。这允许适合用于实时系统的快速手势识别,因为坐标是实时提供且手势识别是在没有广泛或高资源要求的计算下执行的。
在一个实施例中,控制器被设置成通过使用诸如杜林机的状态图来识别手势。图18示出了这样的一个杜林机示例,用于识别列于表1的范例手势。杜林机1800(如图19、图20和22的杜林机1900、2000、2200)是由计算装置实现和执行的,如参考图1和2之揭示。
控制器(未绘示在图18中,但在图2中为210)被确定以图18中粗线和O所示的初始或启动状态开始。如上所讨论的,当检测到移动时,可能是通过确定移动的距离是高于阈值V1,移动的角度启动状态的转变。在图18中的范例中,只有4个角度是用于移动,四个角度为0度(向右移动)、90度(向上移动)、180度(向左移动)和270度(向下移动)。应该清楚,根据本申请的教示,可应用和使用进一步的指示来定义和识别手势。
如果检测到的移动具有不同于识别一转变的小于容许误差的角度,则执行该转变。例如,如果向左移动被侦测到(在170度的角度),假设容许误差为10度,控制器将启动转换,从初始状态O到图18中以{180}指示的另一种状态。状态{180}对应一动作,其通过实线绘示的状态表示。从表1中可以识别该动作是一还原动作。
在这个例子中,手势及其对应的动作可以储存在数据库中或记录在计算装置的存储器中(参考图2中240)。
通过图18的杜林机1800中的状态转换,可以检测和识别一系列的移动。例如图17中所示的一系列的移动会导致状态指示为{90;0;270},其中根据表1是对应于放大的动作。
如果控制器追踪一角度的移动,例如120度,该角度超出任何角度的容许误差锥(假设是10度的容许误差),控制器将返回到初始状态O。在另一实施例中(将讨论于上),控制器将返回到先前的稳定状态,稳定状态是对应一动作的状态或初始状态。在图17的例子中,先前的稳定状态是所有其它(不稳定)状态的初始状态。
如果控制器无法追踪距离大于阈值的移动,可能是在超时数值T1内,及没有达到对应动作的(稳定)状态,控制器将返回到初始状态O。在图18中,对应动作的状态是以连续线标示,非对应动作的状态是以虚线标示。超时阈值T1的范例数值是0.5秒。另一范例是0.3至1秒。
在一个实施例中,参照图4至16揭示之对象追踪可被配置以使得追踪对象的位置只有在对象已经移动大于阈值距离的距离时才提供。这允许诸如中央处理单元(CPU)之计算装置的控制器处理应用数据,而诸如图形处理单元(GPU)之另一处理器处理追踪数据。
配置控制器以通过使用杜林机1800来检测及识别手势能够快速、可靠及实时地进行手势识别,而不需要大量的计算资源。进一步而言,本文揭示之方式是有弹性的,因为手势不需有特定的形式且可通过将状态加入杜林机1800中而轻易适应。
此方式易于延伸为亦包括其它维度,例如深度、旋转、转动角度、移动距离和移动速度。
图19绘示以四个维度识别手势的杜林机1900的示例,四个维度为两个空间维度、移动速度和移动长度。图19的杜林机1900是图18的杜林机1800的部分延伸。应当指出的是,即使图19的杜林机1900是四个维度,本文之教示适用于任何维度的组合。
在图19的范例实施例中,杜林机1900和实施杜林机的控制器能够区分快速和缓慢的移动,即确定移动的速度。如果移动的速度被确定为速度阈值S1以上,则移动被分类为快速移动,如果不是,移动被分类为缓慢的移动。移动的速度可通过将移动距离与达到该距离所用的时间进行比较而确定。这可以在对象追踪期间或移动与对应手势之识别期间确定。在图19中,快速移动是以划线表示,如转换(270)转换到对应动作打印之状态{270}。速度阈值的范例是根据距离阈值V1,使得S1=V1/1秒。速度阈值的另一例子是根据距离阈值V1和超时阈值T1,使得S1=V1/T1。
控制器也可以被设置成和/或可附加地设置成区分长与短的移动。这可以通过比较移动距离(例如在图17的dist1)与第二阈值V2完成,第二阈值大于第一阈值V1。如果距离大于第二阈值,移动被分类为长移动,如果不是,移动被分类为短移动。在图18中,长移动是以粗体字表示,如转换(270),转换到对应动作删除的状态{270}。
因此,通过考虑如移动速度及/或移动长度等因素,指派不同的动作至相同的方向是可能的。图19和表1的例子中,杜林机1900提供{270}、{270}、{270}、{270}的状态和对应动作。{270}是对应传送动作的向下短、慢移动,{270}是对应删除动作的向下长、慢移动,{270}是对应打印动作的向下短、快移动,及{270}是对应删除而没有确认动作的向下长、快移动。这能够将具有严重后果的动作指派给较为鲜明的、本质是决定性或确定性的手势。例如,错误执行长移动较错误执行短移动的可能性低。
要根据不同的使用者、不同的计算装置、不同的摄影机及/或不同的应用程序和情况来于灵活性,控制器被设置成根据将要追踪的对象大小、与将要追踪对象的距离、显示器大小和摄影机的视野来决定距离阈值V1及/或V2。
与追踪对象的距离可通过摄影机的聚焦特征或深度方向的追踪来确定,如参照图13至图15所揭示。使用深度方向的追踪,可根据对象在深度方向(大致平行于摄影机的视线)的移动而增加或减少阈值。
例如,如果阈值V1和V2是将被追踪对象的相对大小,V1和V2的一些范例值是V1=3×对象大小;V2=6×对象大小。
例如,如果阈值V1和V2是摄影机视野的相对大小,V1和V2的一些范例值是V1=视野的20%;V2=视野的50%。如果视野是120度,V1是24度,V2是60度。
如上所讨论,本文揭示之手势检测适用于实时执行。要能够更快的整体执行和操作,在侦测到手势时,计算装置的控制器(在图2中分别为210和200)被设置成在检测手势时预先执行对应于假定手势的动作。返回到图18,被设置成预先执行对应动作的控制器之运作将予以揭示。
在已经检测到向上移动的情况下(参考图18中的转换(90)),只有两种运作是可能的,即动作放大(对应于{90;0;270})及缩小(对应于{90;180;270})。在此范例中,动作与显示的影像相关。要准备时,控制器可以检索执行变焦操作所需的影像数据,并且还可能确定显示影像的放大和缩小表示。通过准备要采取的行动,动作可以在更短的时间内被执行,藉此导致更快的响应时间。例如,如果需要从外部驱动器加载影像数据,通过在完成及识别手势之前即开始加载影像数据,可省下许多0.1秒。已知大于0.1秒的响应时间对许多计算装置的使用者而言是感觉到压力和累人的。因此,预先执行动作的计算装置配置是大有裨益的,因为它减少了响应时间和使用压力较小。
由于诸如中央处理单元(CPU)之现代控制器的计算效率,在执行和侦测手势时,控制器将闲置许多个时钟周期,而且因为相比于处理器,人体移动相对较慢,因此本申请之作者已经理解到,通过利用这些闲置的时钟周期来预先执行动作(至少部分地),可实现更短的动作响应时间。
在这个例子中,控制器能够确定对应的手势,即使手势尚未完成。因为自每个(不稳定)的状态只有一转换移出,控制器知道哪个手势已经输入于状态{90;180}和{90;0}。因此,控制器可以预先执行对应的动作,当达到对应动作的状态时,可以呈现或产生预先执行动作的结果。在这个例子中,显示放大(或缩小)的影像。通过暂缓产生预先执行动作的结果,可让使用者有时间透过中断手势来反悔动作。
如果一个控制器执行对象追踪,一处理器执行动作相关的操作,预先执行动作的方式是特别有益的。
要赋能更多不同的手势,本申请的作者已经理解到,一手势可以形成另一手势的子序列。
图20绘示用于控制器的杜林机2000,赋能以区分第一手势和第二手势,其中第一手势由第二手势的子序列组成。杜林机2000是图18或19的杜林机1800或1900的一部分的延伸。
标示为{0;90}的状态对应往前翻页的动作(见表1),标示为{0;270}的状态对应往后翻页的动作(见表1),如图18的杜林机1800。杜林机2000还包括两个状态,一状态标示为{0;90;180},对应向前滚动的动作,一状态标示为{0;270;0}对应向后滚动的动作。
可以看到,所有四个状态都是稳定的状态,标示为{0;90}的状态是在往状态{0;90;180}的路径上,即{0;90}的手势是{0;90;180}手势的次手势,标示为{0;270}的状态是在往状态{0;270;0}的路径上,即{0;270}的手势是{0;270;0}手势的次手势。
为了区分次手势和全手势,如果进一步的移动被检测为具有不对应于任何其它手势的角度,控制器是配置成返回到先前的稳定状态。这允许通过移往未定义方向来完成手势。这也能够定格手势。
可替换地和/或另外地,如果在时间阈值T1内没有检测到进一步的移动,控制器返回到先前的稳定状态。先前的稳定状态可能是目前拜访的状态,如果这样的状态是一稳定的状态。
图20的范例中,如果使用者执行手势右-上-(下/远离/右/停止),则执行往前翻页的动作,如果使用者执行手势右-上-左-(下/远离/右/停止),则执行往前滚动的动作。类似地,如果使用者执行手势右-下-(下/远离/左/停止),则执行往后翻页的动作,如果使用者执行手势右-下-右-(下/远离/左/停止),则执行往后滚动的动作。滚动操作可以定义为定格手势,使得当控制器是在滚动状态时,继续保持滚动(即没有检测到进一步的移动时)。
为了允许多个对象手势,控制器可被设置成追踪多个对象,如参照图11至12和13至15所揭示。可以通过状态图或杜林机识别每个对象的移动(图11和图12中的O1和O2)如参照附图18至20所揭示,其中图18、19和20的杜林机1800、1900、2000之每者(或其组合)的杜林机实例系产生并执行用于每个对象。这允许多个对象进行同时或并行的手势。识别用于每个对象的手势可以组合为对应的动作,或者每个手势可有每者为一动作的结果。这允许使用多个并行手势进行同步操作或处理。这种多对象手势的范例使用是一手控制第一应用程序或在游戏应用程序中的第一游戏者,另一手控制第二应用程序或游戏应用程序中的第二游戏者,藉此赋能多执行绪之执行,亦赋能多人游戏。
图22绘示了用于识别多个对象执行之复杂手势的杜林机2200。这样的手势可以用于控制一个并且相同应用程序,藉此提供或赋能更丰富的手势库给应用程序的开发人员。图21绘示了两个对象的示意图,在这个例子中,两只手H1和H2执行复杂的、多个对象的手势。第一手(左手)H1向右移动(以(0/-)来表示第一对象移动的方向为0度)到第二位置H1',而第二手(右手)H2向下移动(以(-/270)来表示第二对象移动的方向为270度)到第二位置H2'。
对于复杂的手势,杜林机2200具有三种状态,这取决于哪只手先移动,第一(左)手H1或第二(右)手H2。手势与对应的动作绘示于表2。范例手势和对应的多个动作只是为了说明的目的,应该清楚的是,范例本身不应被解释为限制本文之教示。杜林机2200中的每个转变对应于至少一对象的移动。
如果第一(左)手H1先移动,控制器将结束于状态{0/-;-/270},对应于带出下一页面及删除该页面(或前者)的动作。如果第二(右)手H2先移动,控制器将结束于状态{0/270;0/-},对应于删除现有页面及带出下一页面的动作。根据所删除页面(之前的或下一页面),这两个动作可能提供不同的最终结果。另外,此顺序提供使用者在删除前页之前预览下一页面的可能性(状态{0/-;-/270})。
如果第一手H1和第二手H2基本上同时移动,第三多个动作会被执行。在这个例子中,同时动作对应缩放操作。
在一个实施例中,对象被检测以移进的顺序是没有结果的。这减少了一些可用的手势,但简化了正确手势的输入,因为使用者不需要执行移动的确切时间。
具有多个对象手势使得手势库更为丰富,也使得手势库对于应用程序设计者及应用程序的需求而言更加灵活。
为了进一步简化使用者的手势输入,控制器可以被设置成在手势识别阶段提供使用者回馈,其通过显示所检测移动的指针或状态(例如通过小图标、箭头、文字或角落里的进度指示,例如显示器的右上角)。每次已成功检测到一移动方向时即更新指示。这使得使用者能够理解手势进展。这特别有利于复杂的手势(含有许多移动方向或移动组合)。
图23绘示了根据本文教示之识别手势的概略方法。在2310,计算装置接收数据,识别被追踪对象之移动,例如通过对象移动方向的角度。在2330,该角度与参照手势的参考角或参照角比较,以确定是否识别出手势。如果是这样,在2340,计算装置执行对应的动作。
通过遍历状态图,将角度与参照角进行比较,其中该角度是角度序列的一部分,在2320,序列中的每个角度与状态图中两个状态之间的转换进行匹配。如果到达对应一动作的状态,在2340执行动作。
识别本文所揭示手势的方式是有利的,因为它是基于方向而不是绝对位置,对于对象和摄影机之间的距离较不敏感。也不需要缩放所追踪对象以适于参照或参考对象。这是特别有用的,因为相同的手势设定可用于不同的装置(例如但不限于电视机、行动电话和固定的计算机)。
此外,手势库只需要最少的数据,因而易于储存和快速地操作,因此只需要最少的计算资源。
本文所揭示的方式也能够处理缩放变化,因为当一方向的手势与视线平行时,可解释缩放变化或者忽略这种移动。这提供识别手势的强大方式。
本文之教示提供的优点是比较角度及可能距离的简单操作不需要任何巨大的计算资源以有效地实施。例如,教导的方式并不需要作出任何缩放、旋转或变形操作,曲率的确定确实是简单和优雅的。因此,本文所教示的方式适合于使用在低或不利的光照条件下,这也使得它非常适合于可携式装置和娱乐系统。
另一好处在于,不需要训练追踪系统或手势识别。
另外一优点在于,本文所教示的方式很容易整合于现有的装置中,因为需要的输入是影像串流,其可为来自摄影机的视频流(内部或外部),或通过另一视频来源提供,例如影片或串流式视频流。所提供的输出是相对移动的坐标,其与输入结合时,建立与本文所教示方式的简单接口,很容易整合到现有的装置以及到要生产装置的设计中。
本发明主要已经参照一些实施例描述于上。然而,如熟习本技术领域者所容易理解,除上述所揭示的其它实施例在本发明范围内的可能性相等,如所附专利权利要求所界定。
手势 | 动作 |
{0,270} | 动作1:往前翻页 |
{0,90} | 动作2:往后翻页 |
{90,0,270} | 动作3:放大 |
{90,180,270} | 动作4:缩小 |
{180} | 动作5:复原键入 |
{270} | 动作6:打印 |
动作7:传送 | |
{270} | 动作8:删除 |
动作9:删除而没作确认 | |
{0;90;180} | 动作10:往后卷动 |
{0;270;0} | 动作11:往前卷动 |
表1:手势和对应动作
手势 | 动作 |
{0/-;-/270} | 多个动作1:下一页面+删除 |
{-/270;0/-} | 多个动作2:删除+下一页面 |
{0/270} | 多个动作3:放大 |
表2:多对象手势和对应动作
Claims (17)
1.一种用于识别由影像流中被追踪的对象(H,H’,O1,O2)所作的手势的计算装置(100,200),所述计算装置(100,200)包括存储器(240)和控制器(210),其中所述控制器(210)被设置成:
确定被追踪对象(H,H’,O1,O2)的移动向量;
将移动向量与手势的参考库进行比较;并由此识别匹配移动向量的手势;
其中所述移动向量包括具有由角(α)所识别的方向的至少一部分移动,并且其中所述比较基于所述角(α),和,其中所述控制器(210)还被设置成遍及状态图,其中转换对应于所述移动向量的元素并且至少一个状态对应一动作;其中控制器根据移动向量的元素执行从一状态到另一状态的转换,直到通过达到对应的状态来识别手势;和,其中所述控制器(210)还被设置成当检测到手势时预先执行对应假设手势的动作,其中控制器(210)被设置成假设被检测到的手势是假设的手势,如果目前可见的状态图的状态在待检测的手势的转换途中。
2.根据权利要求1所述的计算装置(100,200),其中所述状态图包括至少一个稳定状态,其中稳定状态是对应一动作的状态或初始状态,和
其中所述控制器(210)还被设置成当状态图中对于移动向量的元素不存在其它转换时返回之前的稳定状态。
3.根据权利要求2所述的计算装置(100,200),其中所述控制器(210)还被设置成若没有其它部分移动在超时阈值(T1)内被检测到则返回到状态图的初始状态。
4.根据权利要求1所述的计算装置(100,200),其中所述控制器(210)还被设置成当达到待检测的手势的状态时呈现或产生对应于所假设手势的动作的结果。
5.根据权利要求1-4中任一权利要求所述的计算装置(100,200),其中所述状态转换图包括至少一个稳定状态在通往另一个稳定状态的途中,使得第一手势能够由用于第二手势的移动的子序列限定。
6.根据权利要求1-4中任一权利要求所述的计算装置(100,200),其中所述控制器(210)还被设置成通过遍及各自与多个对象的每一个有关联的多个状态图来识别多个对象的手势,其中所述控制器(210)还被设置成通过遍及所关联的状态图来识别所述多个被追踪对象的手势,其中,所关联的状态图中的转换对应所关联的待追踪对象的移动向量的元素。
7.根据权利要求1-4中任一权利要求所述的计算装置(100,200),其中所述控制器(210)还被设置成通过遍及状态图来识别多个对象的手势,其中每个转换对应于多个对象的移动。
8.根据权利要求1-4中任一权利要求所述的计算装置(100,200),其中所述控制器(210)还被设置成确定匹配参照角(β)的角(α),如果被比较的角(α)在所述参照角(β)的容许误差内。
9.根据权利要求1-4中任一权利要求所述的计算装置(100,200),其中所述控制器(210)还被设置成:
确定移动的距离(dist);
确定移动的距离是否在第一距离阈值(V1)之上;如果是,
将移动的角(α)与参照角(β)进行比较。
10.根据权利要求1-4中任一权利要求所述的计算装置(100,200),其中所述移动向量包括取自由下述构成的组的至少另一量度:深度、旋转、转动角度、移动的距离和移动的速度。
11.根据权利要求9所述的计算装置(100,200),其中所述控制器被设置成区分快速移动和慢速移动。
12.根据权利要求9所述的计算装置(100,200),其中所述控制器被设置成区分短移动和长移动。
13.根据权利要求10所述的计算装置(100,200),其中所述控制器被设置成区分短移动和长移动。
14.根据权利要求1-4中任一权利要求所述的计算装置(100,200),其中所述控制器被设置成根据待追踪对象的大小、与待追踪对象的距离、显示屏的大小和摄像机的视野确定待追踪对象移动的距离。
15.根据权利要求1所述的计算装置(100,200),其中所述状态图包括杜林机(1800,1900,2000,2200)。
16.一种用在计算装置中用于识别由影像流中被追踪的对象(H,H’,O1,O2)所作的手势的方法,所述方法包括:
确定被追踪的对象(H,H’,O1,O2)的移动向量;
将移动向量与手势的参考库进行比较;并借此识别匹配移动向量的手势,
其中所述移动向量包括具有由角(α)识别的方向的至少一部分移动,并且其中所述比较基于所述角(α);和,其中所述方法还包括
遍及状态图,其中转换对应于所述移动向量的元素并且至少一个状态对应一动作;其中根据移动向量的元素执行从一状态到另一状态的转换,直到通过达到对应的状态来识别手势,和,其中所述方法还包括
当检测到手势时预先执行对应假设手势的动作,其中被检测到的手势是假设的手势,如果目前可见的状态图的状态在待检测的手势的转换途中。
17.根据权利要求16所述的方法,其中所述状态图包括杜林机(1800,1900,2000,2200)。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261679529P | 2012-08-03 | 2012-08-03 | |
SE1250911A SE537553C2 (sv) | 2012-08-03 | 2012-08-03 | Förbättrad identifiering av en gest |
US61/679,529 | 2012-08-03 | ||
SE1250911-3 | 2012-08-03 | ||
PCT/SE2013/050878 WO2014021760A2 (en) | 2012-08-03 | 2013-07-08 | Improved identification of a gesture |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104583902A CN104583902A (zh) | 2015-04-29 |
CN104583902B true CN104583902B (zh) | 2017-06-09 |
Family
ID=50028628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380040370.1A Active CN104583902B (zh) | 2012-08-03 | 2013-07-08 | 改进的手势的识别 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9361512B2 (zh) |
EP (1) | EP2880508B1 (zh) |
CN (1) | CN104583902B (zh) |
SE (2) | SE537553C2 (zh) |
WO (1) | WO2014021760A2 (zh) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5914962B2 (ja) * | 2010-04-09 | 2016-05-11 | ソニー株式会社 | 画像処理装置および方法、プログラム、並びに、記録媒体 |
US11493998B2 (en) | 2012-01-17 | 2022-11-08 | Ultrahaptics IP Two Limited | Systems and methods for machine control |
SE537553C2 (sv) * | 2012-08-03 | 2015-06-09 | Crunchfish Ab | Förbättrad identifiering av en gest |
SE537580C2 (sv) | 2012-08-03 | 2015-06-30 | Crunchfish Ab | Förbättrad inmatning |
US9632658B2 (en) | 2013-01-15 | 2017-04-25 | Leap Motion, Inc. | Dynamic user interactions for display control and scaling responsiveness of display objects |
US10620709B2 (en) | 2013-04-05 | 2020-04-14 | Ultrahaptics IP Two Limited | Customized gesture interpretation |
SE537579C2 (sv) * | 2013-04-11 | 2015-06-30 | Crunchfish Ab | Bärbar enhet nyttjandes en passiv sensor för initiering av beröringsfri geststyrning |
US9747696B2 (en) | 2013-05-17 | 2017-08-29 | Leap Motion, Inc. | Systems and methods for providing normalized parameters of motions of objects in three-dimensional space |
KR102234400B1 (ko) * | 2013-07-08 | 2021-03-31 | 삼성전자주식회사 | 컨텐츠의 순서 또는 위치를 변경하는 전자 장치 및 방법 |
US20150029092A1 (en) * | 2013-07-23 | 2015-01-29 | Leap Motion, Inc. | Systems and methods of interpreting complex gestures |
US10152136B2 (en) | 2013-10-16 | 2018-12-11 | Leap Motion, Inc. | Velocity field interaction for free space gesture interface and control |
US9740296B2 (en) | 2013-12-16 | 2017-08-22 | Leap Motion, Inc. | User-defined virtual interaction space and manipulation of virtual cameras in the interaction space |
US20150205360A1 (en) * | 2014-01-20 | 2015-07-23 | Lenovo (Singapore) Pte. Ltd. | Table top gestures for mimicking mouse control |
JP6287382B2 (ja) * | 2014-03-12 | 2018-03-07 | オムロン株式会社 | ジェスチャ認識装置およびジェスチャ認識装置の制御方法 |
GB201404134D0 (en) * | 2014-03-10 | 2014-04-23 | Bae Systems Plc | Interactive information display |
KR102265143B1 (ko) * | 2014-05-16 | 2021-06-15 | 삼성전자주식회사 | 입력 처리 장치 및 방법 |
US9958946B2 (en) * | 2014-06-06 | 2018-05-01 | Microsoft Technology Licensing, Llc | Switching input rails without a release command in a natural user interface |
CN104462013B (zh) * | 2014-06-26 | 2017-10-10 | 奥诚信息科技(上海)有限公司 | 一种光学三维传感专用asic芯片系统 |
US9501810B2 (en) * | 2014-09-12 | 2016-11-22 | General Electric Company | Creating a virtual environment for touchless interaction |
KR101754126B1 (ko) * | 2015-06-10 | 2017-07-19 | 주식회사 브이터치 | 사용자 기준 공간좌표계 상에서의 제스처 검출 방법 및 장치 |
CN105306642A (zh) * | 2015-11-12 | 2016-02-03 | 凯晖科技股份有限公司 | 一种智能手势控制手机保护套及其使用方法 |
CN105739689A (zh) * | 2016-01-21 | 2016-07-06 | 陈佩珊 | 一种基于智能眼镜采集轨迹的图标迁移实现方法及系统 |
CN107436679B (zh) * | 2016-05-27 | 2020-08-07 | 富泰华工业(深圳)有限公司 | 手势控制系统及方法 |
JP6744142B2 (ja) * | 2016-06-13 | 2020-08-19 | 株式会社ホリ | ゲーム専用機用コントローラ、ゲーム専用機用のコントローラシステム |
CN106155326A (zh) * | 2016-07-26 | 2016-11-23 | 北京小米移动软件有限公司 | 虚拟现实通讯中的对象识别方法和装置、虚拟现实设备 |
CN106980362A (zh) * | 2016-10-09 | 2017-07-25 | 阿里巴巴集团控股有限公司 | 基于虚拟现实场景的输入方法及装置 |
CN106920092A (zh) * | 2016-12-23 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 一种虚拟资源分配方法、客户端及服务器 |
CN106896914A (zh) * | 2017-01-17 | 2017-06-27 | 珠海格力电器股份有限公司 | 信息的转换方法和装置 |
WO2019103049A1 (ja) * | 2017-11-22 | 2019-05-31 | 株式会社ミックウェア | 地図情報処理装置、地図情報処理方法および地図情報処理プログラム |
US10600205B2 (en) * | 2018-01-08 | 2020-03-24 | Htc Corporation | Anchor recognition in reality system |
US11875012B2 (en) | 2018-05-25 | 2024-01-16 | Ultrahaptics IP Two Limited | Throwable interface for augmented reality and virtual reality environments |
US11402917B2 (en) * | 2018-06-20 | 2022-08-02 | Sony Interactive Entertainment Inc. | Gesture-based user interface for AR and VR with gaze trigger |
CN109144252B (zh) * | 2018-08-01 | 2021-04-27 | 百度在线网络技术(北京)有限公司 | 对象确定方法、装置、设备和存储介质 |
CN109801207B (zh) * | 2019-01-08 | 2023-05-30 | 桂林电子科技大学 | Cpu-fpga协同的影像特征高速检测与匹配系统 |
CN110262659B (zh) * | 2019-06-18 | 2022-03-15 | Oppo广东移动通信有限公司 | 应用控制方法及相关装置 |
CN110794959A (zh) * | 2019-09-25 | 2020-02-14 | 苏州联游信息技术有限公司 | 一种基于图像识别的手势交互ar投影方法及装置 |
US11237641B2 (en) * | 2020-03-27 | 2022-02-01 | Lenovo (Singapore) Pte. Ltd. | Palm based object position adjustment |
US11829531B2 (en) * | 2021-09-13 | 2023-11-28 | Htc Corporation | Human-computer interaction method and system and non-transitory computer readable storage medium |
CN117170982B (zh) * | 2023-11-02 | 2024-02-13 | 建信金融科技有限责任公司 | 人机检测方法、装置、电子设备和计算机可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101517515A (zh) * | 2006-09-28 | 2009-08-26 | 诺基亚公司 | 改进型用户接口 |
CN102270036A (zh) * | 2010-06-04 | 2011-12-07 | 宏碁股份有限公司 | 影像式手部动作辨识系统及其方法 |
WO2012088634A1 (en) * | 2010-12-30 | 2012-07-05 | Technicolor (China) Technology Co., Ltd. | User interface, apparatus and method for gesture recognition |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1058924B1 (en) * | 1998-01-26 | 2012-06-13 | Apple Inc. | Method and apparatus for integrating manual input |
US7721207B2 (en) * | 2006-05-31 | 2010-05-18 | Sony Ericsson Mobile Communications Ab | Camera based control |
US8904312B2 (en) * | 2006-11-09 | 2014-12-02 | Navisense | Method and device for touchless signing and recognition |
US7970176B2 (en) | 2007-10-02 | 2011-06-28 | Omek Interactive, Inc. | Method and system for gesture classification |
US20110102570A1 (en) | 2008-04-14 | 2011-05-05 | Saar Wilf | Vision based pointing device emulation |
US8599132B2 (en) * | 2008-06-10 | 2013-12-03 | Mediatek Inc. | Methods and systems for controlling electronic devices according to signals from digital camera and sensor modules |
JP4568357B2 (ja) * | 2008-06-30 | 2010-10-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 動画データから検索対象である動画コンテンツを含むシーンを検索するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム |
GB2474536B (en) | 2009-10-13 | 2011-11-02 | Pointgrab Ltd | Computer vision gesture based control of a device |
CN102541325B (zh) * | 2010-12-14 | 2017-08-25 | 联想(北京)有限公司 | 一种输入识别方法和输入装置 |
US9354804B2 (en) * | 2010-12-29 | 2016-05-31 | Microsoft Technology Licensing, Llc | Touch event anticipation in a computing device |
US20120281129A1 (en) * | 2011-05-06 | 2012-11-08 | Nokia Corporation | Camera control |
US8176437B1 (en) | 2011-07-18 | 2012-05-08 | Google Inc. | Responsiveness for application launch |
SE537553C2 (sv) * | 2012-08-03 | 2015-06-09 | Crunchfish Ab | Förbättrad identifiering av en gest |
-
2012
- 2012-08-03 SE SE1250911A patent/SE537553C2/sv unknown
-
2013
- 2013-07-08 WO PCT/SE2013/050878 patent/WO2014021760A2/en active Application Filing
- 2013-07-08 SE SE1550243A patent/SE538272C2/sv not_active IP Right Cessation
- 2013-07-08 US US14/419,098 patent/US9361512B2/en active Active
- 2013-07-08 CN CN201380040370.1A patent/CN104583902B/zh active Active
- 2013-07-08 EP EP13824830.7A patent/EP2880508B1/en active Active
-
2016
- 2016-03-16 US US15/071,895 patent/US9690388B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101517515A (zh) * | 2006-09-28 | 2009-08-26 | 诺基亚公司 | 改进型用户接口 |
CN102270036A (zh) * | 2010-06-04 | 2011-12-07 | 宏碁股份有限公司 | 影像式手部动作辨识系统及其方法 |
WO2012088634A1 (en) * | 2010-12-30 | 2012-07-05 | Technicolor (China) Technology Co., Ltd. | User interface, apparatus and method for gesture recognition |
Also Published As
Publication number | Publication date |
---|---|
EP2880508A2 (en) | 2015-06-10 |
US20160195935A1 (en) | 2016-07-07 |
SE538272C2 (sv) | 2016-04-19 |
CN104583902A (zh) | 2015-04-29 |
WO2014021760A2 (en) | 2014-02-06 |
US9690388B2 (en) | 2017-06-27 |
US9361512B2 (en) | 2016-06-07 |
SE1550243A1 (sv) | 2015-03-02 |
US20150220776A1 (en) | 2015-08-06 |
EP2880508B1 (en) | 2019-03-20 |
SE537553C2 (sv) | 2015-06-09 |
WO2014021760A3 (en) | 2014-05-08 |
SE1250911A1 (sv) | 2014-02-04 |
EP2880508A4 (en) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104583902B (zh) | 改进的手势的识别 | |
CN104508680B (zh) | 改善之视讯追踪 | |
Lai et al. | Semantic-driven generation of hyperlapse from 360 degree video | |
CN106375674B (zh) | 寻找和使用与相邻静态图像相关的视频部分的方法和装置 | |
CN104813258B (zh) | 数据输入装置 | |
KR100845390B1 (ko) | 영상 처리기, 영상 처리 방법, 기록 매체, 및 반도체 장치 | |
CN111726536A (zh) | 视频生成方法、装置、存储介质及计算机设备 | |
CN108830892B (zh) | 人脸图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN104243951A (zh) | 图像处理设备、图像处理系统以及图像处理方法 | |
US8400532B2 (en) | Digital image capturing device providing photographing composition and method thereof | |
CN108830186B (zh) | 文本图像的内容提取方法、装置、设备及存储介质 | |
JP2011134114A (ja) | パターン認識方法およびパターン認識装置 | |
US11159717B2 (en) | Systems and methods for real time screen display coordinate and shape detection | |
CN110035329A (zh) | 图像处理方法、装置及存储介质 | |
CN106101771A (zh) | 视频处理方法、装置及终端 | |
JP2018136770A (ja) | 情報処理装置、方法および情報処理システム | |
US10440313B2 (en) | Method, system and apparatus for spatially arranging a plurality of video frames for display | |
CN110858409A (zh) | 动画生成方法和装置 | |
JP2006190091A (ja) | 画像処理システム、ゲーム装置、プログラム、情報記憶媒体および画像処理方法 | |
JP2020072349A (ja) | 画像処理装置、画像処理方法 | |
KR101907297B1 (ko) | 종이 도안을 활용한 게임 제작 시스템 | |
CN114341946A (zh) | 识别方法、装置、电子设备及存储介质 | |
CN113873162A (zh) | 拍摄方法、装置、电子设备和可读存储介质 | |
CN113805824A (zh) | 电子装置以及在显示设备上显示图像的方法 | |
JP2014048767A (ja) | 画像生成装置、画像生成方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200617 Address after: Malmo, Sweden Patentee after: Science and technology think tank gesture interaction company Address before: Malmo, Sweden Patentee before: CRUNCHFISH AB |