CN105814524A - Object detection in optical sensor systems - Google Patents
Object detection in optical sensor systems Download PDFInfo
- Publication number
- CN105814524A CN105814524A CN201480067822.XA CN201480067822A CN105814524A CN 105814524 A CN105814524 A CN 105814524A CN 201480067822 A CN201480067822 A CN 201480067822A CN 105814524 A CN105814524 A CN 105814524A
- Authority
- CN
- China
- Prior art keywords
- input
- grader
- image
- touch
- optical sensor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0412—Digitisers structurally integrated in a display
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/042—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/042—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
- G06F3/0421—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means by interrupting or reflecting a light beam, e.g. optical touch-screen
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
- G06V10/12—Details of acquisition arrangements; Constructional details thereof
- G06V10/14—Optical characteristics of the device performing the acquisition or on the illumination arrangements
- G06V10/143—Sensing or illuminating at different wavelengths
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06V40/107—Static hand or arm
- G06V40/113—Recognition of static hand signs
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)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Biodiversity & Conservation Biology (AREA)
- Biomedical Technology (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- User Interface Of Digital Computer (AREA)
- Image Analysis (AREA)
Abstract
描述了供结合光学传感器使用的对象检测技术。在一个或多个实现中,多个输入被接收,这些输入中的每一者接收自多个光学传感器中的相应光学传感器。使用机器学习根据输入是否指示对象由相应的光学传感器检测到来对多个输入中的每一者进行分类。
Object detection techniques for use with optical sensors are described. In one or more implementations, multiple inputs are received, each of the inputs being received from a corresponding optical sensor in a plurality of optical sensors. Machine learning is used to classify each of the multiple inputs based on whether the input indicates an object detected by the corresponding optical sensor.
Description
背景background
计算设备可被配置成包括用于检测对象的邻近度以发起一个或多个动作的触摸功能。例如,触摸功能可被利用来检测用户的手的手指或其他对象到显示设备的邻近度作为识别姿势以发起计算设备的一个或多个功能一部分。Computing devices may be configured to include touch functionality for detecting proximity of objects to initiate one or more actions. For example, touch functionality may be utilized to detect the proximity of a finger of a user's hand or other object to a display device as part of recognizing a gesture to initiate one or more functions of the computing device.
各种不同类型的传感器可被利用来检测该邻近度,其一个示例包括对光学传感器的使用。光学传感器的效力通常取决于操作这些光学传感器的环境照明条件。因此,光学传感器在这样的环境中的常规使用可失败,由此在整体上削弱了用户的体验以及计算设备的可用性,尤其是在其中触摸功能被配置成供与计算设备联用的主要输入技术的情况下。Various different types of sensors may be utilized to detect this proximity, one example of which includes the use of optical sensors. The effectiveness of optical sensors often depends on the ambient lighting conditions in which they operate. Accordingly, conventional use of optical sensors in such environments can fail, thereby impairing the user's experience and usability of the computing device as a whole, especially where touch functionality is configured as the primary input technology for use with the computing device. case.
概述overview
描述了供结合光学传感器使用的对象检测技术。在一个或多个实现中,多个输入被接收,这些输入中的每一者接收自多个光学传感器中的相应光学传感器。使用机器学习根据输入是否指示对象由相应的光学传感器检测到来对多个输入中的每一者进行分类。Object detection techniques for use in conjunction with optical sensors are described. In one or more implementations, a plurality of inputs are received, each of the inputs being received from a corresponding optical sensor of the plurality of optical sensors. Each of the plurality of inputs is classified using machine learning according to whether the input indicates that an object is detected by the corresponding optical sensor.
在一个或多个实现中,系统包括多个光学传感器和至少部分地用硬件实现的一个或多个模块。此一个或多个模块被配置成实现第一分类器、第二分类器和对象候选模块。第一分类器被配置成生成描述对象被多个光学传感器中的相应光学传感器检测到的可能性的第一概率图。该概率图是通过将包括红外光和环境光两者的图像以及具有从红外光减去环境光的图像取作输入来生成的。第二分类器被配置成至少部分地基于具有包括红外光和环境光两者的图像的输入来生成描述对象被多个光学传感器中的相应光学传感器检测到的可能性的第二概率图。对象候选模块被配置成使用第一和第二概率图来确定对象是否已被检测到。In one or more implementations, a system includes a plurality of optical sensors and one or more modules implemented at least in part in hardware. The one or more modules are configured to implement the first classifier, the second classifier and the object candidate module. The first classifier is configured to generate a first probability map describing a likelihood of the object being detected by a corresponding one of the plurality of optical sensors. The probability map is generated by taking as input an image including both infrared light and ambient light, and an image with ambient light subtracted from infrared light. The second classifier is configured to generate a second probability map describing a likelihood of the object being detected by a corresponding optical sensor of the plurality of optical sensors based at least in part on the input having the image including both infrared light and ambient light. The object candidate module is configured to use the first and second probability maps to determine whether an object has been detected.
在一个或多个实现中,一种或多种计算机可读存储介质包括存储于其上的响应于计算设备的执行而使得所述计算设备执行操作的指令。操作包括生成描述对象被多个光学传感器中的相应光学传感器检测到的可能性的第一概率图,该概率图通过将包括红外光和环境光两者的图像以及具有从红外光减去环境光的图像取作输入来生成。操作还包括至少部分地基于具有包括红外光和环境光两者的图像的输入来生成描述对象被多个光学传感器中的相应光学传感器检测到的可能性的第二概率图。操作还包括使用第一和第二概率图确定对象是否已被检测到。In one or more implementations, one or more computer-readable storage media include instructions stored thereon that, in response to execution by a computing device, cause the computing device to perform operations. The operations include generating a first probability map describing a likelihood of an object being detected by a corresponding one of the plurality of optical sensors by taking an image including both infrared light and ambient light and having the ambient light subtracted from the infrared light The image of is taken as input to generate. Operations also include generating a second probability map describing a likelihood of the object being detected by a corresponding optical sensor of the plurality of optical sensors based at least in part on the input having the image including both infrared light and ambient light. Operations also include determining whether the object has been detected using the first and second probability maps.
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并非旨在标识出要求保护的主题的关键特征或必要特征,亦非旨在用作辅助确定要求保护的主题的范围。This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
附图简述Brief description of the drawings
参考附图来描述具体实施方式。在附图中,附图标记最左边的数字标识该附图标记首次出现的附图。在说明书和附图的不同实例中使用相同的附图标记可指示相似或相同的项目。The detailed description is described with reference to the accompanying drawings. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different instances in the specification and drawings may indicate similar or identical items.
图1是一示例实现中的可用于采用对象检测技术以供在光学传感器系统中使用的环境的图示。1 is an illustration of an environment in an example implementation that may be used to employ object detection techniques for use in an optical sensor system.
图2解说示出使用图1的光学传感器捕捉到的图像的示例。FIG. 2 diagrammatically shows an example of an image captured using the optical sensor of FIG. 1 .
图3解说示出使用图1的光学传感器捕捉到并使用基于局部极值的方法处理的图像的示例。FIG. 3 diagrammatically shows an example of an image captured using the optical sensor of FIG. 1 and processed using a local extrema based method.
图4更详细地解说了示出图1的光学传感器系统的示例系统。FIG. 4 illustrates an example system showing the optical sensor system of FIG. 1 in more detail.
图5描绘触摸概率图的示例。5 depicts an example of a touch probability map.
图6描绘级联滤波方法的示例。Figure 6 depicts an example of a cascaded filtering method.
图7是描绘示例实现中的过程的流程图,其中经由光学传感器检测到的输入被使用机器学习来分类。7 is a flowchart depicting a process in an example implementation in which inputs detected via optical sensors are classified using machine learning.
图8是描绘示例实现中的过程的流程图,其中分类器被利用来生成可用于确定对象是否是使用多个触摸传感器检测到的概率图。8 is a flow diagram depicting a process in an example implementation in which a classifier is utilized to generate a probability map that can be used to determine whether an object is detected using multiple touch sensors.
图9示出了可被实现为如参考图1-8来描述的任何类型的便携式和/或计算机设备来实现此处描述的对象检测技术的各实施例的示例设备的各个组件。9 illustrates various components of an example device that may be implemented as any type of portable and/or computer device as described with reference to FIGS. 1-8 to implement embodiments of the object detection techniques described herein.
详细描述A detailed description
概览overview
光学传感器用于对象检测的常规使用的准确性通常取决于光学传感器被放置在的环境的照明条件。例如,环境照明条件可对设备的将一个对象(例如,用户的手的指尖)与设备的周围环境区分开的能力具有影响。The accuracy of conventional use of optical sensors for object detection often depends on the lighting conditions of the environment in which the optical sensors are placed. For example, ambient lighting conditions may have an impact on a device's ability to distinguish one object (eg, the fingertips of a user's hand) from the device's surroundings.
描述了针对光学传感器系统的对象检测技术。光学传感器可按检测对象的邻近度的各种方式来配置,如作为显示设备的一部分合并在像素传感器设计中。通过传感器收集的图像可随后被处理以检测对象是否邻近传感器中的相应传感器。各种不同的技术可以被用于执行这种处理。例如,机器学习技术可被利用来为多个传感器中的每一者回答“对象是否被检测到”的问题,其可被表达为概率图。在另一示例中,多个分类器可被利用来执行该处理。例如,第一分类器可处理包括红外光和环境光两者的图像以及具有从红外光减去环境光的图像以生成概率图。第二分类器可单独处理包括红外光和环境光两者的图像以生成另一概率图。这些图可随后被利用来检测对象是否被检测到的可能性以及那个对象在何处被检测到。这一对象检测可随后被利用来支持各种不同的功能,诸如识别姿势、标识特定对象等等。这些和其它技术的进一步讨论可以参考以下各章节中找到。Object detection techniques for optical sensor systems are described. Optical sensors can be configured in various ways to detect the proximity of objects, such as incorporated in a pixel sensor design as part of a display device. Images collected by the sensors may then be processed to detect whether an object is in proximity to a corresponding one of the sensors. A variety of different techniques can be used to perform this processing. For example, machine learning techniques can be utilized to answer the question "is an object detected" for each of multiple sensors, which can be expressed as a probability map. In another example, multiple classifiers may be utilized to perform the process. For example, a first classifier may process an image including both infrared light and ambient light and an image with ambient light subtracted from infrared light to generate a probability map. A second classifier may separately process images including both infrared light and ambient light to generate another probability map. These maps can then be utilized to detect the likelihood of whether an object was detected and where that object was detected. This object detection can then be leveraged to support a variety of different functions, such as recognizing gestures, identifying specific objects, and more. Further discussion of these and other techniques can be found in the referenced sections below.
在以下讨论中,首先描述可用于采用此处描述的对象检测技术的示例环境。随后描述本发明技术和过程的示例图示,该技术和过程可在该示例环境中以及在其他环境中采用。因此,该示例环境并不限于执行该示例技术和过程。同样,该示例技术和过程并不限于在该示例环境中的实现。In the following discussion, an example environment that may be used to employ the object detection techniques described herein is first described. An example illustration of the techniques and processes of the present invention, which may be employed in this example environment as well as in other environments, is described next. Accordingly, the example environment is not limited to performing the example techniques and procedures. Likewise, the example techniques and procedures are not limited to implementation in the example environment.
示例环境example environment
图1是一示例实现中的可用于采用对象检测技术以供在光学传感器系统中使用的环境100的图示。所示的环境100包括可通过各种方式来配置的计算设备102的示例。例如,计算设备102可被配置成传统的计算机(例如,台式个人计算机等)、移动通信设备(例如,如示出的平板、移动电话、便携式游戏设备、便携式音乐设备、或其他被配置成被用户的一个或多个手持有的移动配置)、娱乐装置、通信地耦合到电视机的机顶盒、无线电话、上网本、游戏控制台以及如关于图9中进一步描述的那些。这样,计算设备102的范围可以是从具有充足存储器和处理器资源的全资源设备(例如,个人计算机、游戏控制台)到具有有限存储器和/或处理资源的低资源设备(例如,常规机顶盒、手持式游戏控制台)。计算设备102还可关于致使计算设备102执行一个或多个操作的软件以及涉及设备的组合,例如,姿势捕捉设备与游戏控制台、机顶盒与遥控器等。FIG. 1 is an illustration of an environment 100 in an example implementation that may be used to employ object detection techniques for use in an optical sensor system. The illustrated environment 100 includes an example of a computing device 102 that may be configured in various ways. For example, computing device 102 may be configured as a conventional computer (e.g., a desktop personal computer, etc.), a mobile communication device (e.g., a tablet as shown, a mobile phone, a portable gaming device, a portable music device, or otherwise configured to be One or more of the user's hands holds a mobile device), an entertainment device, a set-top box communicatively coupled to a television, a wireless phone, a netbook, a game console, and those as further described with respect to FIG. 9 . As such, computing devices 102 may range from full-resource devices with sufficient memory and processor resources (e.g., personal computers, game consoles) to low-resource devices with limited memory and/or processing resources (e.g., conventional set-top boxes, handheld gaming console). Computing device 102 can also relate to software that causes computing device 102 to perform one or more operations, as well as to combinations of devices, eg, a gesture capture device and a game console, a set-top box and a remote control, and the like.
计算设备102被示为包括输入/输出模块104。输入/输出模块104表示与计算设备102的输入有关的功能。例如,输入/输出模块104可被配置成从键盘、鼠标接收输入以标识姿势并且使得对应于姿势的操作得以执行,等等。输入可由输入/输出模块104以各种不同的方式来标识。Computing device 102 is shown including input/output module 104 . Input/output module 104 represents functionality related to input to computing device 102 . For example, the input/output module 104 may be configured to receive input from a keyboard, mouse to identify gestures and cause operations corresponding to the gestures to be performed, and so forth. Inputs may be identified by input/output module 104 in a variety of different ways.
例如,输入/输出模块104可被配置成识别经由显示设备106的触摸屏功能接收的输入以检测如邻近显示设备106的对象,诸如如邻近计算设备102的显示设备106的用户的手108的手指、指示笔等。该输入可以有各种不同的形式,诸如来识别用户的手108的手指在显示设备106上的移动,诸如,轻击、绘制线等。For example, input/output module 104 may be configured to recognize input received via touchscreen functionality of display device 106 to detect, for example, an object proximate to display device 106 , such as a finger of a user's hand 108 proximate to display device 106 of computing device 102 , Stylus, etc. This input may take various forms, such as to recognize movement of a finger of the user's hand 108 on the display device 106, such as tapping, drawing a line, and the like.
在各实现中,这些输入可被姿势模块110识别为姿势。各种不同类型的姿势可由姿势模块110识别,诸如从单类输入识别的姿势(例如,触摸姿势)以及涉及多类输入的姿势。例如,计算设备102可被配置成基于哪个对象被使用来执行姿势(例如,以上描述的指示笔或手指)来检测输入并在输入之间进行区分。附加地,虽然描述了触摸输入,但是将对象识别为接近显示设备106可在不接触显示设备106的情况下(例如,如“悬停”)作出。In various implementations, these inputs may be recognized by gesture module 110 as gestures. Various different types of gestures may be recognized by gesture module 110, such as gestures recognized from a single type of input (eg, touch gestures) as well as gestures involving multiple types of input. For example, computing device 102 may be configured to detect and distinguish between inputs based on which object was used to perform a gesture (eg, the stylus or finger described above). Additionally, while a touch input is described, identifying an object as approaching display device 106 may be made without contact with display device 106 (eg, as a "hover").
附加地,尽管以下讨论可描述输入的具体示例,但在各实例中,输入的类型可被切换(例如,触摸可被用于替换指示笔,悬停可被用于代替物理接触)而不背离其精神和范围。此外,尽管在以下讨论中的实例中姿势被示为使用触摸屏功能来输入,但姿势可由各种不同的设备使用各种不同的技术来输入以检测对象的接近度。Additionally, while the following discussion may describe specific examples of input, in each instance, the type of input may be switched (e.g., touch may be used instead of a stylus, hover may be used instead of physical contact) without departing from its spirit and scope. Furthermore, while gestures are shown in the examples in the following discussion as being input using touchscreen functionality, gestures may be input by a variety of different devices using a variety of different techniques to detect the proximity of an object.
一个这样的可被利用来检测对象的邻近度的示例被显示为光学传感器系统112。光学传感器系统112包括传感器处理模块114,该传感器处理模块114代表用于针对光学传感器116中的每一个作出关于对象是否被置于邻近传感器的判定的功能。One such example that may be utilized to detect the proximity of objects is shown as optical sensor system 112 . Optical sensor system 112 includes a sensor processing module 114 that represents functionality for making, for each of optical sensors 116 , a determination as to whether an object is placed proximate to the sensor.
例如,光学传感器116可作为内嵌有对应像素的传感器阵列被配置为显示设备106的一部分以将对象接近度检测为像素内传感器(SIP)面板。例如,光学传感器116可被配置成被配置成检测红外(IR)光的红外传感器以支持与计算设备102交互的光学模式。在这种IR配置中的光学传感器116被内嵌在显示设备106中来捕捉显示设备106周围环境的IR图像以及甚至将计算设备102作为整体来捕捉,尤其在对象接触显示设备时(例如,用户触摸屏幕)。For example, the optical sensor 116 may be configured as part of the display device 106 as a sensor array embedded with corresponding pixels to detect object proximity as a sensor-in-pixel (SIP) panel. For example, optical sensor 116 may be configured as an infrared sensor configured to detect infrared (IR) light to support an optical mode of interaction with computing device 102 . Optical sensor 116 in this IR configuration is embedded in display device 106 to capture an IR image of the environment surrounding display device 106 and even computing device 102 as a whole, especially when an object touches the display device (e.g., a user). touch the screen).
由光学传感器116进行的光学检测以及由传感器处理模块114进行的后续处理允许光学传感器系统112将对象位置和运动映射到可被姿势模块110识别为姿势的和/或支持其他交互(诸如对象标识等)的动作。Optical detection by optical sensor 116 and subsequent processing by sensor processing module 114 allows optical sensor system 112 to map object position and motion to gestures that can be recognized as gestures by gesture module 110 and/or support other interactions such as object identification, etc. )Actions.
在示出的示例中,传感器处理模块114被示出为包括第一和第二分类器模块118、120以及对象候选模块122。第一和第二分类器模块118、120表示用于分类相应的光学传感器116是否检测到如邻近传感器的对象(例如,用户的手108的手指)的可能性的功能。这可按各种方式执行,诸如以处理由光学传感器116捕捉到的图像以生成概率图,如以下所描述的。概率图可随后由对象候选模块122处理以使用该概率图来确定对象是否已被检测到。结合图4更详细地描述了采用第一和第二分类器模块118、120和对象候选模块122的系统400的示例。In the illustrated example, the sensor processing module 114 is shown as including first and second classifier modules 118 , 120 and an object candidate module 122 . The first and second classifier modules 118, 120 represent functionality for classifying whether the corresponding optical sensor 116 detects the likelihood of an object such as a proximity sensor (eg, a finger of the user's hand 108). This can be performed in various ways, such as to process images captured by optical sensor 116 to generate a probability map, as described below. The probability map may then be processed by object candidate module 122 to use the probability map to determine whether an object has been detected. An example of a system 400 employing the first and second classifier modules 118 , 120 and the object candidate module 122 is described in more detail in conjunction with FIG. 4 .
传统触摸检测方法假设红外(IR)光被手指反射回并在传感器所捕捉的SIP图像上形成相对较亮的斑点,其中背景(非手指区域)相对较暗。因此,这些传统方法基于传感器所捕捉的强度景观中的局部极值。然而,在实践中,IR图强烈依赖于环境中的环境光照明条件。如图2的示例200所示,背景可以是亮的,并且可存在由手所投的阴影。Traditional touch detection methods assume that infrared (IR) light is reflected back by the finger and forms a relatively bright spot on the SIP image captured by the sensor, where the background (non-finger area) is relatively dark. Therefore, these traditional methods are based on local extrema in the intensity landscape captured by the sensor. However, in practice, the IR map is strongly dependent on the ambient light lighting conditions in the environment. As shown in example 200 of FIG. 2, the background may be bright and there may be shadows cast by hands.
存在可从光学传感器116中直接读出的不同类型的图像。例如,第一类型可涉及具有IR光和环境光两者的图像。第二类型是仅包括环境光的图像。这两种类型的图像在下面分别使用“Field_0”和“Field_1”来表示。There are different types of images that can be read out directly from the optical sensor 116 . For example, a first type may involve images with both IR light and ambient light. The second type is an image that includes only ambient light. These two types of images are denoted below using "Field_0" and "Field_1", respectively.
理论上,可执行Field_0减去Field_1以生成IR分量,在本讨论的其余部分中该IR分量可被表示为Field_IR。该Field_IR图像(在理论上)预期是环境照明条件不变的。然而,该环境抵销技术存在实际问题。首先,Field_0和Field_1是在同时取得的。因此,在对象移动时,在Field_IR中对象边界附近的像素可以是亮的,这使得基于常规局部极值的方法失败,如图3中所示的示例300所示。In theory, Field_0 minus Field_1 could be performed to generate the IR component, which may be denoted Field_IR in the remainder of this discussion. The Field_IR image is (in theory) expected to be invariant to ambient lighting conditions. However, there are practical problems with this environmental offset technique. First, Field_0 and Field_1 are obtained at the same time. Therefore, when the object is moving, pixels near the object boundary can be bright in Field_IR, which makes conventional local extrema based methods fail, as shown in the example 300 shown in FIG. 3 .
第二,测得的Field_0和Field_1图像在空间和时间两者上都可以是嘈杂的。这样的噪音是取决于内容的,并因此可能难以通过传统的滤波方法来移除。此外,像素强度值相对于传感器积分时间而言不是线性的,并且因此环境抵销并不简单。因此,运动伪像、传感器噪声和光学传感器的非线性响应使得对Field_IR的斑点检测不可靠,并导致低劣的检测准确性,这也在图3的示例300中示出。Second, the measured Field_0 and Field_1 images can be noisy both spatially and temporally. Such noise is content dependent and thus may be difficult to remove by traditional filtering methods. Furthermore, pixel intensity values are not linear with respect to sensor integration time, and thus ambient offset is not straightforward. Therefore, motion artifacts, sensor noise, and nonlinear response of the optical sensor make speckle detection on Field_IR unreliable and lead to poor detection accuracy, which is also shown in the example 300 of FIG. 3 .
因此,光学传感器系统112可被配置成采用机器学习分类技术来稳健地检测对象位置,其来自在各种各样的照明条件下从光学传感器116中实时接收到的输入。机器学习分类器可被利用来回答每一传感器(例如,每一像素传感器)问题“该光学传感器正在检测邻近该传感器的对象吗?”可利用各种不同的技术,诸如随机化决策森林(RDF)分类器或其他类型的机器学习分类器。在下面,描述了包括以下的技术:在检测对象时使用机器学习分类器来分类像素,使用在来自光学传感器116的不同信号上训练的多个分类器来增加检测准确性,使用多个类型的分类分割函数来增加检测准确性,以及使用分割函数。虽然在以下作为示例描述了触摸输入,但应当容易明白,也可在不涉及对象(例如,用户的手108的手指)和与显示设备106或光学传感器116相关联的表面之间的实际物理接触的情况下检测这些输入。Accordingly, optical sensor system 112 may be configured to employ machine learning classification techniques to robustly detect object locations from input received from optical sensor 116 in real time under a wide variety of lighting conditions. A machine learning classifier can be utilized to answer the per-sensor (e.g., per-pixel sensor) question "Is this optical sensor detecting an object adjacent to this sensor?" Various techniques such as Randomized Decision Forests (RDF ) classifiers or other types of machine learning classifiers. In the following, techniques are described that include using machine learning classifiers to classify pixels when detecting objects, using multiple classifiers trained on different signals from the optical sensor 116 to increase detection accuracy, using multiple types of Classify split functions to increase detection accuracy, and use split functions. While touch input is described below as an example, it should be readily apparent that touch input may also be possible without involving actual physical contact between the object (e.g., a finger of the user's hand 108) and a surface associated with the display device 106 or the optical sensor 116. These inputs are detected in the absence of
为了由光学传感器116在某范围的照明条件下高效并稳健地检测对象位置,机器学习辨别式分类在以下被利用来回答如以上描述的每一光学传感器问题,也就是:“该光学传感器正在检测邻近该传感器的对象吗?”In order to efficiently and robustly detect object position by optical sensor 116 under a range of lighting conditions, a machine learning discriminative classification is utilized below to answer each optical sensor question as described above, namely: "Is this optical sensor detecting Is there an object near this sensor?"
在给定类集合“C={c1,c2,…,ck}”的情况下,辨别式分类器可由被配置成以下算法的传感器处理模块114采用:对于给定输入“X”,该算法返回以输入“X”为条件的该类集合“C”的离散概率分布。在涉及以上问题的难题的情况下,以下讨论的相关类集合是“触摸”和“无触摸”,并且到使用的分类器的输入是像素位置周围的传感器图像块。分类器针对每一光学传感器116输入检查例如由该光学传感器116捕捉到的传感器图像中的每一像素,并为每一光学传感器116返回其被指尖触摸(例如,与指尖接触)的概率。Given a set of classes "C={c1,c2,...,ck}", a discriminative classifier may be employed by the sensor processing module 114 configured as an algorithm that, for a given input "X", returns Discrete probability distribution for the class "C" conditioned on the input "X". In the case of a difficult problem involving the above problem, the relevant class sets discussed below are "touch" and "no touch", and the input to the classifier used is the sensor image patch around the pixel location. The classifier examines for each optical sensor 116 input, e.g., each pixel in the sensor image captured by that optical sensor 116, and returns for each optical sensor 116 its probability of being touched by (e.g., in contact with) a fingertip .
例如,RDF分类器可由于其效率和分类性能而被传感器处理模块114利用。RDF分类器可被配置成利用随机化决策树(RDT)集合。该RDF针对给定输入“X”的输出可通过利用其RDT中的每一者针对输入“X”的输出来计算。For example, an RDF classifier may be utilized by the sensor processing module 114 due to its efficiency and classification performance. RDF classifiers can be configured to utilize randomized decision tree (RDT) ensembles. The output of this RDF for a given input "X" can be computed by utilizing the output of each of its RDTs for the input "X".
RDT是二进制决策树,其中每一内部(即,非叶)节点具有相关联的“分割(split)”二进制函数,该“分割”二进制函数在被应用于输入时,返回该输入将被路由到该节点的“右”孩子还是“左”孩子的判定。RDT中的每一叶节点与该类集合“C”上的离散概率分布相关联。RDTs are binary decision trees in which each internal (i.e., non-leaf) node has an associated "split" binary function that, when applied to an input, returns the input to be routed to Whether the node's "right" child or "left" child is determined. Each leaf node in the RDT is associated with a discrete probability distribution over the class set "C".
RDT中针对给定输入“X”的分类过程始于在树的根节点中通过应用根的关联分割函数来处理“X”。对输入的处理在与分割函数的结果相对应的子节点上递归地继续。当该过程到达叶节点时,与这样的叶节点相关联的概率分布被作为输出返回。The classification process in an RDT for a given input "X" starts in the root node of the tree to process "X" by applying the root's associated split function. Processing of the input continues recursively on the child nodes corresponding to the results of the split function. When the process reaches a leaf node, the probability distribution associated with such leaf node is returned as output.
图4描绘了采用RDF分类器的系统400的概览的示例实现。如所示出的,在该示例中使用两个RDF分类器。第一分类器将Field_IR和Field_0传感器图像取作输入,并将密集触摸概率图“Prob”取作输出。概率图“Prob”中的每一像素值指示相应的光学传感器(例如,传感器像素)正与对象(例如,指尖)接触的概率。FIG. 4 depicts an example implementation of an overview of a system 400 employing an RDF classifier. As shown, two RDF classifiers are used in this example. The first classifier takes as input the Field_IR and Field_0 sensor images and takes as output a dense touch probability map "Prob". Each pixel value in the probability map "Prob" indicates the probability that the corresponding optical sensor (eg, sensor pixel) is in contact with an object (eg, fingertip).
如可在图5中示出的示例实现500中看见的,该触摸概率图不仅比Field_IR清楚,而且“触摸区域”(即,指尖-面板接触区域)的外观更均匀,如该图中的循环对称亮斑所示出的。一般来说,“Prob”中的触摸区域比Field_IR中的更容易描述。As can be seen in the example implementation 500 shown in FIG. 5 , not only is this touch probability map clearer than Field_IR, but the appearance of the "touch area" (i.e., the fingertip-panel contact area) is more uniform, as shown in the figure Cyclic symmetry bright spots are shown. In general, the touch area in "Prob" is easier to describe than in Field_IR.
再次回到图4的系统400,在后续步骤中,候选触摸位置被斑点检测假设为在“Prob”中高触摸概率斑点的几何中心处。例如,基于“高斯差”(DOG)的斑点检测器可被利用来定位触摸候选。概率图“Prob”可与处于不同模糊比例的一组高斯滤波器卷积,如图6中的级联滤波方法的示例600中所示出的。Returning again to the system 400 of FIG. 4 , in a subsequent step, the candidate touch location is assumed by blob detection to be at the geometric center of the high touch probability blob in "Prob". For example, a "difference of Gaussian" (DOG) based blob detector can be utilized to locate touch candidates. The probability map "Prob" may be convolved with a set of Gaussian filters at different blur scales, as shown in the example 600 of the cascaded filtering method in FIG. 6 .
处于比例“σ”的DOG图像可如下计算:A DOG image at scale "σ" can be computed as follows:
随后,将作为“D(x,y,σ)”中的比例空间局部极值的像素检测为触摸候选。Subsequently, a pixel that is a scale-space local extremum in “D(x,y,σ)” is detected as a touch candidate.
在一个或多个实现中,将每一样本点分别与其在当前图像中的8个邻居以及在之上和之下的比例中的9个邻居比较。如果样本点大于这26个邻居中的每一个,则选择该样本点,如图6的示例600中所示出的。使用触摸候选“(x,y)”的斑点对比度值“D(x,y,σ)”。如果该对比度大于预先定义的阈值“T”(例如,由用户预先定义),则将像素“(x,y)”报告为最终触摸。检测准确性主要取决于阈值“T”。例如,如果“T”过小,则可定位增加数目的真触摸,但同时,可将大数目的假肯定引入检测结果。另一方面,如果“T”很大,则可能以增加数目的假否定为代价来获得更少的假肯定。In one or more implementations, each sample point is compared to its 8 neighbors in the current image and 9 neighbors in scales above and below, respectively. If the sample point is larger than each of the 26 neighbors, then the sample point is selected, as shown in example 600 of FIG. 6 . Use the blob contrast value "D(x,y,σ)" of the touch candidate "(x,y)". If the contrast is greater than a predefined threshold "T" (eg, predefined by the user), then pixel "(x,y)" is reported as a final touch. The detection accuracy mainly depends on the threshold "T". For example, if "T" is too small, an increased number of true touches can be located, but at the same time, a large number of false positives can be introduced into the detection result. On the other hand, if "T" is large, fewer false positives may be obtained at the expense of an increased number of false negatives.
触摸候选集合(每一触摸候选都与一对比度值“D(x,y,σ)”相关联)被获得作为斑点检测步骤的输出。为了更好地区分触摸和非触摸图像数据,仅对Field_0图像数据训练的第二分类器可被包括在系统400中,该系统400将由斑点检测器返回的触摸位置候选的列表取作输入。该第二分类器可被调谐以改善由第一逐像素触摸分类器实现的可能受限于其输入信号中的模糊性的触摸和非触摸数据分离性能。例如,如可在图3中观察到的,虽然运动伪像和噪声在Field_IR中可看上去与实际触摸信号非常相似,但在Field_0图像中触摸和非触摸信号的外观显著不同。A set of touch candidates, each touch candidate associated with a contrast value "D(x,y,σ)", is obtained as output of the blob detection step. To better distinguish between touch and non-touch image data, a second classifier trained only on Field_0 image data can be included in the system 400 that takes as input the list of touch location candidates returned by the blob detector. This second classifier can be tuned to improve the touch and non-touch data separation performance achieved by the first pixel-wise touch classifier which may be limited by ambiguity in its input signal. For example, as can be observed in Figure 3, while motion artifacts and noise can look very similar to actual touch signals in Field_IR, the appearance of touch and non-touch signals in the Field_0 image is significantly different.
第二分类器的输出可被配置成密集概率图“Prob”,其可通过将其与核尺寸稍大于平均指尖触摸区域的直径的高斯滤波器卷积来平滑。The output of the second classifier can be configured as a dense probability map "Prob", which can be smoothed by convolving it with a Gaussian filter with a kernel size slightly larger than the diameter of the average fingertip touch area.
最后,可如下将每一触摸候选位置“(x,y)”与2维测量相关联:Finally, each touch candidate location "(x,y)" can be associated with a 2-D measurement as follows:
DP(x,y)=(D(x,y,σ),Prob’(x,y))DP(x,y)=(D(x,y,σ),Prob'(x,y))
该表达式包括相应的触摸概率“Prob’(x,y)”以及来自斑点检测器的输出的对比度值“D(x,y,σ)”。如果2D点“DP(x,y)”大于预先定义的2D决策边界,则触摸候选“(x,y)”被认为是实际触摸。例如,决策边界可被配置成特定伽玛曲线,该特定伽玛曲线的参数是基于训练数据以及FP和FN分类率之间的期望折衷来选择的。This expression includes the corresponding touch probability "Prob'(x,y)" and the contrast value "D(x,y,σ)" from the output of the blob detector. If the 2D point "DP(x,y)" is larger than the pre-defined 2D decision boundary, the touch candidate "(x,y)" is considered to be an actual touch. For example, the decision boundary may be configured as a specific gamma curve whose parameters are selected based on the training data and the desired trade-off between FP and FN classification rates.
例如,可观察到一般来说真触摸具有高对比度或高概率值。由此,触摸概率“Prob’(x,y)”可充当用于拒绝假触摸的提示,而假肯定的数目不会显著增加。因此,使用该2D决策边界的分类可被用于更好地在真和假触摸之间进行区分,而非使用与来自第一分类器的输出的对比度维度一起使用的单维度决策边界。虽然在图4的示例系统400中示出了对两个分类器和2D决策边界的使用,但该方法可被扩展到附加维度,最终获得具有更高的分类准确性的分类框架。For example, it can be observed that in general true touches have high contrast or high probability values. Thus, the touch probability "Prob'(x,y)" can serve as a cue for rejecting false touches without the number of false positives increasing significantly. Thus, classification using this 2D decision boundary can be used to better distinguish between real and fake touches, rather than using a single-dimensional decision boundary used with the contrast dimension of the output from the first classifier. Although the use of two classifiers and a 2D decision boundary is shown in the example system 400 of FIG. 4 , the approach can be extended to additional dimensions, ultimately resulting in a classification framework with higher classification accuracy.
分类器特征函数classifier feature function
分类器使用六个不同类型的分割函数。令“I(x)”为输入域“I”上处于2D位置的像素的强度。令对于给定的对于以下讨论,令这些表达式保持:The classifier uses six different types of segmentation functions. Let "I(x)" be the 2D position on the input field "I" The intensity of the pixel. order for a given For the following discussion, let these expressions remain:
Ix((x,y)=I((x+1,y))–I((x–1,y))I x ((x,y)=I((x+1,y))–I((x–1,y))
Iy((x,y)=I((x,y+1))–I((x,y+1))I y ((x,y)=I((x,y+1))–I((x,y+1))
分割函数可随后被表达如下:The partition function can then be expressed as follows:
I)强度差:
2)原始强度:
3)焦点:
4)梯度幅值:其中θ=(u),且 4) Gradient amplitude: where θ = (u), and
5)梯度方向: 5) Gradient direction:
其中且 in and
6)梯度定向差: 6) Gradient orientation difference:
其中θ=(u,v)且 where θ = (u, v) and
所有六种类型的分割函数都可在第一分类器中被使用,而第二分类器可限于使用强度差分割函数。自然地,还构想了各种其他示例而不背离其精神和范围。All six types of segmentation functions can be used in the first classifier, while the second classifier can be limited to using intensity difference segmentation functions. Naturally, various other examples are also contemplated without departing from the spirit and scope thereof.
训练分类器train classifier
数据收集data collection
为了训练分类器,可利用离线实测值(ground-truth)数据收集阶段,在该实测值数据收集阶段中,在大范围的照明条件下针对各种触摸和非触摸事件采集传感器图像(即,Field_0和Field_IR)的足够大量的视频序列。为了收集这些肯定(触摸)和否定(非触摸)样本,光学传感器116的SIP面板或其他布置可被手指利用不同的压力、姿势和定向来触摸。自然地,也可利用其他对象,以及不涉及物理接触的样本。To train the classifier, an offline ground-truth data collection stage can be utilized in which sensor images are collected for various touch and non-touch events under a wide range of lighting conditions (i.e., Field_0 and Field_IR) for a sufficiently large number of video sequences. To collect these positive (touch) and negative (non-touch) samples, the SIP panel or other arrangement of optical sensors 116 can be touched by a finger with different pressures, postures and orientations. Naturally, other objects may also be utilized, as well as samples that do not involve physical contact.
也可利用第二离线人工数据标记步骤,在该人工数据标记步骤中,对于每一收集到图像中的每一触摸,标记处于每一指尖触摸的中心(即,“触摸位置”)的像素。随后,可为处于以每一触摸位置为中心的小半径的圆盘内部的每一像素生成肯定触摸像素样本。可使用不超过平均触摸区域的半径的固定半径。A second offline manual data labeling step can also be utilized in which, for each touch in each collected image, the pixel at the center of each fingertip touch (i.e., the "touch location") is labeled . Positive touch pixel samples can then be generated for each pixel inside a small radius disk centered at each touch location. A fixed radius that does not exceed the radius of the average touch area may be used.
可通过随机地选择触摸区域外部的像素来生成否定训练样本。在每一触摸位置周围但半径稍大于触摸区域的小宽度圆环中的每一像素也被标记为否定样本。Negative training samples can be generated by randomly selecting pixels outside the touch area. Each pixel in a small width circle around each touch location but with a radius slightly larger than the touch area is also marked as a negative sample.
RDF训练过程RDF training process
在一个或多个实现中,RDT的最大高度可被设在大致20的值处。RDF分类器是通过从其根节点开始每次一个节点地独立训练每一个其RDT来训练的。每一节点都是使用输入训练集合来训练的。最初,整个训练集合是用于训练根节点的输入集合。In one or more implementations, the maximum height of the RDT may be set at a value of approximately 20. RDF classifiers are trained by independently training each of its RDTs one node at a time, starting from its root node. Each node is trained using the input training set. Initially, the entire training set is the input set used to train the root node.
在给定针对节点“n”的输入训练集合“T”的情况下,该节点是通过采样“N”乘以每一类型的分割函数的参数空间的平方根来训练的,其中“N”是分割函数的参数空间的基数。该采样是针对每一输入图像(即,Field_IR或Field_0)完成的。此外,对于每一经采样的参数,可能阈值的数目也被采样。Given an input training set "T" for a node "n", the node is trained by sampling "N" times the square root of the parameter space of each type of partition function, where "N" is the partition The cardinality of the function's parameter space. This sampling is done for each input image (ie, Field_IR or Field_0). Furthermore, for each sampled parameter, the number of possible thresholds is also sampled.
对于输入域“field”、分割函数类型“splitF”、分割函数参数化“θ”和阈值“τ”的给定分割组合“Σ=(field,splitF,θ,τ)”,每一输入“x∈T”是根据“splitFθ(x)”的值小于还是大于还是等于阈值“τ”来分割的。For a given split combination "Σ=(field,splitF,θ,τ)" of input field "field", split function type "splitF", split function parameterization "θ" and threshold "τ", each input "x ∈T" is split according to whether the value of "splitF θ (x)" is less than, greater than or equal to the threshold "τ".
令“Σ”为实现每一经采样分割组合上的节点输入集合“T”中的每一元素的分割上的最大信息增益“IG”的分割组合。如果“IG”过小或者如果该节点在最大预先选择的高度(例如,20)处,则该节点被设为叶节点,并且与该叶节点相关联的触摸概率被设为触摸样本数与节点的数据集合“T”中的总样本数的比。另一方面,如果“IG”足够高,则分割组合“Σ”被关联到节点“n”,该节点的输入集合“T”使用“Σ”被分割成两个子集“TL”和“TR”,并且“n”被分配两个子节点,每一节点是使用输入集合“TL”和“TR”递归地训练的。Let "Σ" be the partition combination that achieves the maximum information gain "IG" over partitions of each element in the node input set "T" over each sampled partition combination. If "IG" is too small or if the node is at the maximum preselected height (eg, 20), then the node is set to a leaf node and the touch probability associated with the leaf node is set to the number of touch samples equal to the node The ratio of the total number of samples in the data set "T". On the other hand, if "IG" is high enough, the split combination "Σ" is associated to node "n" whose input set "T" is split using "Σ" into two subsets " TL " and "T R ”, and “n” are assigned two child nodes, each node is recursively trained using the input sets “T L ” and “T R ”.
用于训练每一分类器的数据集The dataset used to train each classifier
图4中的第一分类器“逐像素触摸分类器”可使用人工标记的肯定和否定样本中的每一个在Field_0和Field_IR图像上训练。在该分类器被训练后,第一分类器对训练数据的每一个假肯定情况被收集。具体地,使全部训练数据运行通过第一分类器以及使用小对比度阈值“T”(例如,T=5)对每一个对应的输出概率图应用的斑点检测器。对于所报告的触摸像素,如果该像素不足够接近于实测触摸位置,则可考虑假肯定的情况。The first classifier "Pixelwise Touch Classifier" in Figure 4 can be trained on the Field_0 and Field_IR images using each of the manually labeled positive and negative samples. After the classifier is trained, each false positive of the first classifier on the training data is collected. Specifically, the entire training data is run through a first classifier and a blob detector applied to each corresponding output probability map using a small contrast threshold "T" (eg, T=5). A false positive may be considered for a reported touched pixel if the pixel is not close enough to the measured touch location.
第二分类器(即,图4中的逐像素FP滤波器)是使用人工标记的肯定样本中的每一者但作为否定样本在Field_0图像上训练的。第一分类器对训练数据的检测到的假肯定情况中的每一者被采用。由此,将多个输入域和六个分割函数一起用于第一分类器可被观察到相对于仅使用Field_IR域和密集差异分割函数实现了显著的性能改进。The second classifier (ie, the pixel-wise FP filter in Figure 4) was trained on the Field_0 image using each of the manually labeled positive samples but as negative samples. Each of the detected false positive cases of the training data by the first classifier is employed. Thus, using multiple input fields together with six segmentation functions for the first classifier can be observed to achieve a significant performance improvement over using only the Field_IR domain and the dense difference segmentation function.
示例过程example process
以下讨论描述了可利用先前描述的系统和设备来实现的对象检测技术。这些过程中每一过程的各方面可用硬件、固件、软件、或其组合来实现。过程被示为一组框,它们指定由一个或多个设备执行的操作,不一定仅限于所示出的用于由相应的框执行操作的顺序。在下面讨论的各部分中,将参考图1-6。The following discussion describes object detection techniques that may be implemented using the previously described systems and devices. Aspects of each of these processes may be implemented in hardware, firmware, software, or a combination thereof. Processes are shown as a set of blocks that specify operations performed by one or more devices, and are not necessarily limited to the order shown for performing operations by the corresponding blocks. In portions of the following discussion, reference will be made to Figures 1-6.
图7描绘了示例实现中的过程700的流程图,其中经由光学传感器检测到的输入是使用机器学习来分类的。多个输入被接收,这些输入中的每一者接收自多个光学传感器中的相应光学传感器(框702)。计算设备102例如可包括多个光学传感器116,该多个光学传感器116被布置在阵列中作为显示设备106的像素传感器配置的一部分。FIG. 7 depicts a flowchart of a process 700 in an example implementation in which inputs detected via optical sensors are classified using machine learning. A plurality of inputs are received, each of the inputs being received from a corresponding optical sensor of the plurality of optical sensors (block 702). Computing device 102 may, for example, include a plurality of optical sensors 116 arranged in an array as part of a pixel sensor configuration of display device 106 .
使用机器学习在多个输入是否指示对象由相应的光学传感器检测到的方面对这些输入中的每一者进行分类(框704)。光学传感器系统112的传感器处理模块114例如可采用分类器,这些分类器执行机器学习以生成概率图,这些概率图描述该图中描述的相应光学传感器检测到对象邻近的相对可能性。Each of the plurality of inputs is classified using machine learning with respect to whether the inputs indicate that an object is detected by the corresponding optical sensor (block 704 ). The sensor processing module 114 of the optical sensor system 112 may, for example, employ classifiers that perform machine learning to generate probability maps that describe the relative likelihood that the corresponding optical sensors depicted in the figure detect the proximity of objects.
使用分类的结果来确定对象的位置(框706)。继续先前的示例,随后可从概率图中检测对象的一个或多个位置,其可被利用来支持大范围的功能。这样的功能的示例在图1中被示为姿势模块110,姿势模块110被配置成响应于识别到相应的姿势而发起(例如,通过操作系统、应用等)对计算设备的操作。还构想了各种其它示例,诸如标识特定类型的对象(例如,指示笔对照触摸)等等。The results of the classification are used to determine the location of the object (block 706). Continuing with the previous example, one or more locations of objects can then be detected from the probability map, which can be exploited to support a wide range of functionality. An example of such functionality is shown in FIG. 1 as gesture module 110 configured to initiate (eg, through an operating system, application, etc.) operation of a computing device in response to recognizing a corresponding gesture. Various other examples are also contemplated, such as identifying a particular type of object (eg, stylus vs. touch), and the like.
图8描绘示例实现中的过程800的流程图,其中分类器被利用来生成可用于确定对象是否是使用多个触摸传感器检测到的概率图。生成描述对象被多个光学传感器中的相应光学传感器检测到的可能性的第一概率图。该概率图是通过将包括红外光和环境光两者的图像以及具有从红外光减去环境光的图像取作输入来生成的(框802)。如图4所示,例如,图1的第一分类器模块118可被实现为“逐像素触摸分类器(RDF)”,其将Field-IR图像和FIELD_0图像取作输入。8 depicts a flow diagram of a process 800 in an example implementation in which a classifier is utilized to generate a probability map that can be used to determine whether an object is detected using multiple touch sensors. A first probability map is generated describing a likelihood of an object being detected by a corresponding one of the plurality of optical sensors. The probability map is generated by taking as input an image including both infrared light and ambient light and an image with ambient light subtracted from infrared light (block 802). As shown in FIG. 4, for example, the first classifier module 118 of FIG. 1 may be implemented as a "Pixel-wise Touch Classifier (RDF)" which takes the Field-IR image and the FIELD_0 image as input.
第二分类器被配置成至少部分地基于具有包括红外光和环境光两者的图像的输入来生成描述对象被多个光学传感器中的相应光学传感器检测到的可能性的第二概率图(框804)。继续先前的示例,图1的第二分类器模块120可被实现为将FIELD_0图像取作输入的“逐像素FP滤波器(RDF)”。The second classifier is configured to generate a second probability map (box 804). Continuing with the previous example, the second classifier module 120 of FIG. 1 may be implemented as a "pixel-wise FP filter (RDF)" that takes the FIELD_0 image as input.
使用第一和第二概率图确定对象是否已被检测到(框806)。例如,图1的对象候选模块122可如图4中所示出的被实现为支持斑点检测和二维阈值以形成包括对象的坐标的输出(如果对象被检测到的话)。如上所述也可构想各种其他的示例。It is determined whether the object has been detected using the first and second probability maps (block 806). For example, the object candidate module 122 of FIG. 1 may be implemented as shown in FIG. 4 to support blob detection and two-dimensional thresholding to form an output including the coordinates of an object if detected. Various other examples are also contemplated as described above.
示例系统和设备Example Systems and Devices
图9在900概括地示出了包括示例计算设备902的示例系统,该示例计算设备表示可以实现此处描述的各个技术的一个或多个计算系统和/或设备。计算设备902可以是,例如,服务提供方的服务器、与客户端相关联的设备(例如,客户端设备)、片上系统、和/或任何其他合适的计算设备或计算系统。FIG. 9 illustrates generally at 900 an example system including an example computing device 902 , which represents one or more computing systems and/or devices that may implement various techniques described herein. Computing device 902 may be, for example, a server of a service provider, a device associated with a client (eg, a client device), a system on a chip, and/or any other suitable computing device or computing system.
所示的示例计算设备902包括处理系统904、一个或多个计算机可读介质906、以及相互通信地耦合的一个或多个I/O接口908。尽管没有示出,计算设备902可进一步包括系统总线或将各种组件相互耦合的其它数据和命令传输系统。系统总线可以包括不同总线结构中的任一个或其组合,诸如存储器总线或存储器控制器、外围总线、通用串行总线和/或利用各种总线体系结构中的任一种的处理器或局部总线。也构想了各种其它示例,诸如控制和数据线。The illustrated example computing device 902 includes a processing system 904, one or more computer-readable media 906, and one or more I/O interfaces 908 communicatively coupled to one another. Although not shown, computing device 902 may further include a system bus or other data and command transport system coupling the various components to each other. A system bus may include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and/or a processor or local bus utilizing any of a variety of bus architectures . Various other examples are also contemplated, such as control and data lines.
处理系统904表示使用硬件执行一个或多个操作的功能。因此,处理系统904被示为包括可被配置为处理器、功能块等的硬件元件910。这可包括在作为专用集成电路或使用一个或多个半导体构成的其它逻辑设备的硬件中的实现。硬件元件910不受形成它们的材料或者其中利用的处理机制的限制。例如,处理器可以由半导体和/或晶体管(例如,电子集成电路(IC))构成。在这一上下文中,处理器可执行指令可以是可电子地执行的指令。Processing system 904 represents functionality to perform one or more operations using hardware. Accordingly, processing system 904 is shown to include hardware elements 910 that may be configured as processors, functional blocks, or the like. This may include implementation in hardware as an application specific integrated circuit or other logic device constructed using one or more semiconductors. Hardware elements 910 are not limited by the materials from which they are formed or the processing mechanisms utilized therein. For example, a processor may be formed from semiconductors and/or transistors (eg, electronic integrated circuits (ICs)). In this context, processor-executable instructions may be instructions that are electronically executable.
计算机可读存储介质906被示为包括存储器/存储912。存储器/存储912表示与一个或多个计算机可读介质相关联的存储器/存储容量。存储器/存储组件912可包括易失性介质(如随机存取存储器(RAM))和/或非易失性介质(如只读存储器(ROM)、闪存、光盘、磁盘等等)。存储器/存储组件912可包括固定介质(例如,RAM、ROM、固定硬盘驱动器等)以及可移动介质(例如闪存、可移动硬盘驱动器、光盘等等)。计算机可读介质906可以下面进一步描述的各种方式来配置。Computer readable storage media 906 is shown including memory/storage 912 . Memory/storage 912 represents memory/storage capacity associated with one or more computer-readable media. Memory/storage component 912 may include volatile media such as random access memory (RAM) and/or nonvolatile media such as read only memory (ROM), flash memory, optical disks, magnetic disks, and the like. The memory/storage component 912 may include fixed media (eg, RAM, ROM, fixed hard drives, etc.) as well as removable media (eg, flash memory, removable hard drives, optical disks, etc.). Computer readable medium 906 can be configured in various ways as described further below.
输入/输出接口908表示允许用户向计算设备902输入命令和信息的功能,并且还允许使用各种输入/输出设备向用户和/或其他组件或设备呈现信息。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风、扫描仪、触摸功能(例如,电容性的或被配置来检测物理触摸的其它传感器)、照相机(例如,可采用可见或诸如红外频率的不可见波长来将移动识别为不涉及触摸的手势),等等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡、触觉响应设备,等等。因此,计算设备902可以下面进一步描述的各种方式来配置以支持用户交互。Input/output interface 908 represents functionality that allows a user to enter commands and information into computing device 902 and also allows information to be presented to the user and/or other components or devices using various input/output devices. Examples of input devices include keyboards, cursor control devices (e.g., mice), microphones, scanners, touch capabilities (e.g., capacitive or other sensors configured to detect physical touch), cameras (e.g., invisible wavelengths of infrared frequencies to recognize movement as gestures that do not involve touch), and so on. Examples of output devices include display devices (eg, monitors or projectors), speakers, printers, network cards, haptic response devices, and the like. Accordingly, computing device 902 may be configured in various ways as described further below to support user interaction.
此处可以在软件、硬件元件或程序模块的一般上下文中描述各种技术。一般而言,此类模块包括执行特定任务或实现特定抽象数据类型的例程、程序、物体、元件、组件、数据结构等等。本文使用的术语“模块”、“功能”和“组件”一般表示软件、固件、硬件或其组合。本文描述的技术的各特征是平台无关的,从而意味着该技术可在具有各种处理器的各种商用计算平台上实现。Various techniques may be described herein in the general context of software, hardware elements or program modules. Generally, such modules include routines, programs, objects, elements, components, data structures, etc. that perform particular tasks or implement particular abstract data types. As used herein, the terms "module," "function," and "component" generally represent software, firmware, hardware, or a combination thereof. Features of the technology described herein are platform independent, meaning that the technology can be implemented on a variety of commercial computing platforms with a variety of processors.
所描述的模块和技术的实现可以被存储在某种形式的计算机可读介质上或跨某种形式的计算机可读介质传输。计算机可读介质可包括可由计算设备902访问的各种介质。作为示例而非限制,计算机可读介质可包括“计算机可读存储介质”和“计算机可读信号介质”。An implementation of the described modules and techniques may be stored on or transmitted across some form of computer readable media. Computer-readable media can include a variety of media that can be accessed by computing device 902 . By way of example, and not limitation, computer readable media may include "computer readable storage media" and "computer readable signal media."
“计算机可读存储介质”可以指相对于仅信号传输、载波、或信号本身而言,启用对信息的持久和/或非瞬态存储的介质和/或设备。由此,计算机可读存储介质是指非信号承载介质。计算机可读存储介质包括以适合于存储如计算机可读指令、数据结构、程序模块、逻辑元件/电路、或其他数据等的方法或技术来实现的诸如易失性和非易失性、可移动和不可移动介质和/或存储设备的硬件。该计算机可读存储介质的示例包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、硬盘、磁带盒、磁带、磁盘存储或其它磁存储设备、或者可适用于存储所需信息并可由计算机访问的其它存储设备、有形介质或制品。A "computer-readable storage medium" may refer to a medium and/or device that enables persistent and/or non-transitory storage of information, as opposed to merely a signal transmission, a carrier wave, or the signal itself. Thus, computer-readable storage media refers to non-signal bearing media. Computer-readable storage media include storage devices such as volatile and non-volatile, removable and non-removable media and/or storage device hardware. Examples of the computer-readable storage medium include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical storage, hard disk, magnetic tape cartridge, magnetic tape, magnetic disk storage or other magnetic storage device, or other storage device, tangible medium, or article of manufacture suitable for storing the desired information and accessible by a computer.
“计算机可读信号介质”可以指被配置为诸如经由网络向计算设备902的硬件传输指令的信号承载介质。信号介质通常用诸如载波、数据信号、或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据。信号介质还包括任何信息传送介质。术语“已调制数据信号”是指使得以在信号中编码信息的方式来设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线路连接,以及无线介质,诸如声学、RF、红外线和其他无线介质。"Computer-readable signal medium" may refer to a signal-bearing medium configured to transmit instructions to hardware of computing device 902, such as via a network. Signal media typically embody computer readable instructions, data structures, program modules or other data in a modulated data signal, such as a carrier wave, data signal, or other transport mechanism. Signal media also include any information delivery media. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
如前面所述描述的,硬件元件910和计算机可读介质906表示以硬件形式实现的模块、可编程设备逻辑和/或固定设备逻辑,其可被某些实施例采用来实现此处描述的技术的至少某些方面,诸如执行一个或多个指令。硬件可包括集成电路或片上系统、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD),和以硅或其它硬件实现的组件。在此上下文中,硬件可操作为通过指令和/或由硬件实现的逻辑来执行程序任务的处理设备,以及被用来存储用于执行的指令的硬件(例如上面描述的计算机可读存储介质)。As previously described, hardware elements 910 and computer-readable media 906 represent modules implemented in hardware, programmable device logic, and/or fixed device logic that may be employed by certain embodiments to implement the techniques described herein At least some aspects of , such as executing one or more instructions. Hardware may include integrated circuits or systems on a chip, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), and components implemented in silicon or other hardware. In this context, hardware is operable as a processing device that performs program tasks through instructions and/or logic implemented by hardware, as well as hardware used to store instructions for execution (such as the computer-readable storage medium described above) .
前面的组合也可被采用来实现在此描述的各种技术。因此,软件、硬件,或可执行模块可被实现为在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件910实现的一个或多个指令和/或逻辑。计算设备902可被配置成实现对应于软件和/或硬件模块的特定指令和/或功能。因此,可作为软件由计算设备902执行的模块的实现可至少部分以硬件完成,例如,通过使用计算机可读存储介质和/或处理系统904的硬件元件910。指令和/或功能可以是一个或多个制品(例如,一个或多个计算设备902和/或处理系统904)可执行/可操作的,以实现此处描述的技术、模块、以及示例。Combinations of the foregoing may also be employed to implement the various techniques described herein. Thus, software, hardware, or executable modules may be implemented as one or more instructions and/or logic on some form of computer-readable storage medium and/or by one or more hardware elements 910 . Computing device 902 may be configured to implement specific instructions and/or functions corresponding to software and/or hardware modules. Accordingly, implementation of modules executable as software by computing device 902 may be at least partially implemented in hardware, eg, through the use of computer-readable storage media and/or hardware elements 910 of processing system 904 . The instructions and/or functions may be executable/operable by one or more articles of manufacture (eg, one or more computing devices 902 and/or processing system 904 ) to implement the techniques, modules, and examples described herein.
如在图9中进一步示出,示例系统900实现了用于当在个人计算机(PC)、电视机设备和/或移动设备上运行应用时的无缝用户体验的普遍存在的环境。服务和应用在所有三个环境中基本相似地运行,以便当使用应用、玩视频游戏、看视频等时在从一个设备转换到下一设备时得到共同的用户体验。As further shown in FIG. 9 , example system 900 enables a ubiquitous environment for a seamless user experience when running applications on personal computers (PCs), television devices, and/or mobile devices. Services and applications run substantially similarly in all three environments for a common user experience when transitioning from one device to the next when using applications, playing video games, watching videos, and so on.
在示例系统900中,多个设备通过中央计算设备互连。中央计算设备对于多个设备可以是本地的,或者可以位于多个设备的远程。在一个实施例中,中央计算设备可以是通过网络、因特网或其他数据通信链路连接到多个设备的一个或多个服务器计算机的云。In example system 900, multiple devices are interconnected through a central computing device. The central computing facility may be local to the plurality of devices, or may be located remotely from the plurality of devices. In one embodiment, the central computing device may be a cloud of one or more server computers connected to multiple devices through a network, the Internet, or other data communication links.
在一个实施例中,该互连架构使得功能能够跨多个设备来递送以向多个设备的用户提供共同且无缝的体验。多个设备的每一个可具有不同的物理要求和能力,且中央计算设备使用一平台来使得为设备定制且又对所有设备共同的体验能被递送到设备。在一个实施例中,创建目标设备的类,且使体验适应于设备的通用类。设备类可由设备的物理特征、用途类型或其他共同特性来定义。In one embodiment, the interconnection architecture enables functionality to be delivered across multiple devices to provide a common and seamless experience to users of the multiple devices. Each of the multiple devices may have different physical requirements and capabilities, and the central computing device uses a platform to enable an experience that is customized for the device and yet common to all devices can be delivered to the device. In one embodiment, a class of target devices is created and experiences are adapted to the general class of devices. A device class may be defined by the physical characteristics of the device, type of use, or other common characteristics.
在各种实现中,计算设备902可采取各种各样不同的配置,诸如用于计算机914、移动设备916和电视机918用途。这些配置中的每一个包括可具有一般不同的构造和能力的设备,并且因而计算设备902可根据不同的设备类中的一个或多个来配置。例如,计算设备902可被实现为计算机914类的设备,该类包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等。In various implementations, computing device 902 can take on a variety of different configurations, such as for computer 914 , mobile device 916 , and television 918 purposes. Each of these configurations includes devices that may have generally different configurations and capabilities, and thus computing device 902 may be configured according to one or more of the different device classes. For example, computing device 902 may be implemented as a computer 914 class of device, which class includes personal computers, desktop computers, multi-screen computers, laptop computers, netbooks, and the like.
计算设备902还可被实现为移动设备916类的设备,该类包括诸如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、多屏幕计算机等移动设备。计算设备902还可被实现为电视机918类的设备,该类包括在休闲观看环境中具有或连接到通常更大的屏幕的设备。这些设备包括电视机、机顶盒、游戏控制台等。Computing device 902 may also be implemented as a device of the mobile device 916 class, which includes mobile devices such as mobile phones, portable music players, portable gaming devices, tablet computers, multi-screen computers, and the like. Computing device 902 may also be implemented as a television 918 class of device, which includes devices that have or are connected to generally larger screens in a casual viewing environment. These devices include televisions, set-top boxes, game consoles, and more.
本文所描述的技术可由计算设备902的这些各种配置来支持,且不限于在本文描述的各具体示例。这个功能也可被全部或部分通过分布式系统的使用(诸如如下所述的经由平台922通过“云”920)来实现。The techniques described herein may be supported by these various configurations of computing device 902 and are not limited to the specific examples described herein. This functionality may also be implemented in whole or in part through the use of a distributed system, such as through a "cloud" 920 via a platform 922 as described below.
云920包括和/或代表资源924的平台922。平台922抽象云920的硬件(如,服务器)和软件资源的底层功能。资源924可包括可在计算机处理在位于计算设备902远程的服务器上执行时使用的应用和/或数据。资源924也可包括在因特网上和/或通过诸如蜂窝或Wi-Fi网络之类的订户网络上提供的服务。Cloud 920 includes and/or represents a platform 922 of resources 924 . Platform 922 abstracts the underlying functionality of the hardware (eg, servers) and software resources of cloud 920 . Resources 924 may include applications and/or data that may be used when computer processing is performed on a server located remotely from computing device 902 . Resources 924 may also include services provided on the Internet and/or over a subscriber network, such as a cellular or Wi-Fi network.
平台922可抽象资源和功能以将计算设备902与其他计算设备相连接。平台922还可用于抽象资源的缩放以向经由平台922实现的资源924所遇到的需求提供对应的缩放级别。因此,在互联设备的实施例中,本文描述的功能的实现可分布在系统900上。例如,该功能可部分地在计算设备902上以及经由抽象云920的功能的平台922来实现。Platform 922 can abstract resources and functionality to connect computing device 902 with other computing devices. Platform 922 can also be used to abstract scaling of resources to provide corresponding scaling levels to requirements encountered by resources 924 implemented via platform 922 . Accordingly, implementation of the functionality described herein may be distributed across system 900 in an interconnected device embodiment. For example, the functionality may be implemented partially on computing device 902 and via platform 922 that abstracts the functionality of cloud 920 .
结语epilogue
尽管已经用对结构特征和/或方法动作专用的语言描述了本发明,但可以理解,在所附权利要求书中定义的本发明不必受所描述的这些具体特征或动作的限制。相反,具体特征和动作是作为实现要求保护的发明的示例形式来公开的。Although the invention has been described in language specific to structural features and/or methodological acts, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as example forms of implementing the claimed invention.
Claims (10)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/103,499 US9329727B2 (en) | 2013-12-11 | 2013-12-11 | Object detection in optical sensor systems |
| US14/103,499 | 2013-12-11 | ||
| PCT/US2014/068249 WO2015088840A1 (en) | 2013-12-11 | 2014-12-03 | Object detection in optical sensor systems |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN105814524A true CN105814524A (en) | 2016-07-27 |
| CN105814524B CN105814524B (en) | 2019-02-15 |
Family
ID=52146740
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201480067822.XA Active CN105814524B (en) | 2013-12-11 | 2014-12-03 | Object Detection in Optical Sensor Systems |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US9329727B2 (en) |
| EP (1) | EP3080684B1 (en) |
| CN (1) | CN105814524B (en) |
| WO (1) | WO2015088840A1 (en) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109426818A (en) * | 2017-09-01 | 2019-03-05 | 威斯康星校友研究基金会 | The device of the outer object of sight for identification |
| CN112016384A (en) * | 2019-05-31 | 2020-12-01 | 罗伯特·博世有限公司 | Method and apparatus for reliably associating objects identified in video images |
| CN112906731A (en) * | 2019-11-19 | 2021-06-04 | 伟摩有限责任公司 | Thermal imaging of autonomous vehicles |
| CN113743183A (en) * | 2020-05-27 | 2021-12-03 | 罗伯特·博世有限公司 | Method for classifying blind areas of optical images |
| CN115812164A (en) * | 2020-07-02 | 2023-03-17 | 谷歌有限责任公司 | System for low photon count visual object detection and classification |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9430095B2 (en) | 2014-01-23 | 2016-08-30 | Microsoft Technology Licensing, Llc | Global and local light detection in optical sensor systems |
| US9558455B2 (en) * | 2014-07-11 | 2017-01-31 | Microsoft Technology Licensing, Llc | Touch classification |
| KR20170124068A (en) | 2016-05-01 | 2017-11-09 | (주)이노프레소 | Electrical device having multi-functional human interface |
| EP3477438A4 (en) | 2016-06-23 | 2020-02-12 | Innopresso, Inc. | ELECTRONIC DEVICE WITH A HUMAN MULTIFUNCTIONAL INTERFACE |
| US11429807B2 (en) | 2018-01-12 | 2022-08-30 | Microsoft Technology Licensing, Llc | Automated collection of machine learning training data |
| US11481571B2 (en) | 2018-01-12 | 2022-10-25 | Microsoft Technology Licensing, Llc | Automated localized machine learning training |
| CN112041799A (en) | 2018-02-19 | 2020-12-04 | 拉普特知识产权公司 | Unwanted touch management in touch sensitive devices |
| US11460961B2 (en) | 2019-08-23 | 2022-10-04 | Samsung Electronics Co., Ltd. | Method for determining proximity of at least one object using electronic device |
| US11442579B2 (en) | 2019-12-13 | 2022-09-13 | Samsung Electronics Co., Ltd. | Method and electronic device for accidental touch prediction using ml classification |
| KR102140927B1 (en) * | 2020-02-11 | 2020-08-04 | 주식회사 베오텍 | Method and for space touch |
| CN114115693B (en) * | 2020-08-26 | 2024-07-19 | 华为技术有限公司 | A method and device for inputting text based on a virtual keyboard |
| CN112330739B (en) * | 2020-10-27 | 2022-05-27 | 北京航空航天大学 | A Satellite Detection Method Based on Optical Probabilistic Graphical Model |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130156297A1 (en) * | 2011-12-15 | 2013-06-20 | Microsoft Corporation | Learning Image Processing Tasks from Scene Reconstructions |
| CN103187044A (en) * | 2012-03-01 | 2013-07-03 | 微软公司 | Pixel induction-type display system provided with near-infrared filter |
| US20130241887A1 (en) * | 2012-03-14 | 2013-09-19 | Texas Instruments Incorporated | Detecting and Tracking Touch on an Illuminated Surface |
Family Cites Families (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0961230A3 (en) | 1998-05-29 | 2001-03-28 | Canon Kabushiki Kaisha | Image processing method and apparatus therefor |
| US20060044282A1 (en) * | 2004-08-27 | 2006-03-02 | International Business Machines Corporation | User input apparatus, system, method and computer program for use with a screen having a translucent surface |
| EP1755022A1 (en) | 2005-08-03 | 2007-02-21 | Thomson Licensing | Method for selecting objects on a display with light detectors |
| US20140035805A1 (en) * | 2009-04-02 | 2014-02-06 | David MINNEN | Spatial operating environment (soe) with markerless gestural control |
| US8180114B2 (en) * | 2006-07-13 | 2012-05-15 | Northrop Grumman Systems Corporation | Gesture recognition interface system with vertical display |
| US7924272B2 (en) | 2006-11-27 | 2011-04-12 | Microsoft Corporation | Infrared sensor integrated in a touch panel |
| US20100201275A1 (en) | 2009-02-06 | 2010-08-12 | Cok Ronald S | Light sensing in display device |
| US8547327B2 (en) * | 2009-10-07 | 2013-10-01 | Qualcomm Incorporated | Proximity object tracker |
| US8896545B2 (en) | 2009-11-24 | 2014-11-25 | Microsoft Corporation | Angularly-selective sensor-in-pixel image detection |
| KR100974894B1 (en) * | 2009-12-22 | 2010-08-11 | 전자부품연구원 | 3d space touch apparatus using multi-infrared camera |
| US20120319977A1 (en) | 2010-02-16 | 2012-12-20 | Sharp Kabushiki Kaisha | Display device with touch panel, control method therefor, control program, and recording medium |
| KR101756910B1 (en) | 2010-05-11 | 2017-07-26 | 삼성전자주식회사 | Apparatus and method for processing light field data using mask with attenuation pattern |
| CN107665089B (en) | 2010-08-12 | 2021-01-22 | 谷歌有限责任公司 | Finger recognition on touch screens |
| US9342927B2 (en) | 2010-11-08 | 2016-05-17 | Sony Corporation | Augmented reality system for position identification |
| US9535537B2 (en) | 2010-11-18 | 2017-01-03 | Microsoft Technology Licensing, Llc | Hover detection in an interactive display device |
| US8619062B2 (en) | 2011-02-03 | 2013-12-31 | Microsoft Corporation | Touch-pressure sensing in a display panel |
| EP2699990A4 (en) | 2011-04-19 | 2015-01-21 | Perceptive Pixel Inc | Optical filtered sensor-in-pixel technology for touch sensing |
| KR20130055118A (en) * | 2011-11-18 | 2013-05-28 | 전자부품연구원 | Space touch apparatus using single-infrared camera |
| US9354748B2 (en) | 2012-02-13 | 2016-05-31 | Microsoft Technology Licensing, Llc | Optical stylus interaction |
| US9430095B2 (en) | 2014-01-23 | 2016-08-30 | Microsoft Technology Licensing, Llc | Global and local light detection in optical sensor systems |
-
2013
- 2013-12-11 US US14/103,499 patent/US9329727B2/en active Active
-
2014
- 2014-12-03 CN CN201480067822.XA patent/CN105814524B/en active Active
- 2014-12-03 EP EP14819201.6A patent/EP3080684B1/en active Active
- 2014-12-03 WO PCT/US2014/068249 patent/WO2015088840A1/en not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130156297A1 (en) * | 2011-12-15 | 2013-06-20 | Microsoft Corporation | Learning Image Processing Tasks from Scene Reconstructions |
| CN103187044A (en) * | 2012-03-01 | 2013-07-03 | 微软公司 | Pixel induction-type display system provided with near-infrared filter |
| US20130241887A1 (en) * | 2012-03-14 | 2013-09-19 | Texas Instruments Incorporated | Detecting and Tracking Touch on an Illuminated Surface |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109426818A (en) * | 2017-09-01 | 2019-03-05 | 威斯康星校友研究基金会 | The device of the outer object of sight for identification |
| CN112016384A (en) * | 2019-05-31 | 2020-12-01 | 罗伯特·博世有限公司 | Method and apparatus for reliably associating objects identified in video images |
| CN112906731A (en) * | 2019-11-19 | 2021-06-04 | 伟摩有限责任公司 | Thermal imaging of autonomous vehicles |
| CN113743183A (en) * | 2020-05-27 | 2021-12-03 | 罗伯特·博世有限公司 | Method for classifying blind areas of optical images |
| CN115812164A (en) * | 2020-07-02 | 2023-03-17 | 谷歌有限责任公司 | System for low photon count visual object detection and classification |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2015088840A1 (en) | 2015-06-18 |
| EP3080684A1 (en) | 2016-10-19 |
| US20150160785A1 (en) | 2015-06-11 |
| CN105814524B (en) | 2019-02-15 |
| US9329727B2 (en) | 2016-05-03 |
| EP3080684B1 (en) | 2019-04-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN105814524A (en) | Object detection in optical sensor systems | |
| CN110532984B (en) | Key point detection method, gesture recognition method, device and system | |
| US9697416B2 (en) | Object detection using cascaded convolutional neural networks | |
| US10572072B2 (en) | Depth-based touch detection | |
| JP6641306B2 (en) | Touch classification | |
| US9430766B1 (en) | Gift card recognition using a camera | |
| US9436883B2 (en) | Collaborative text detection and recognition | |
| CN102165404B (en) | Object detection and user settings | |
| US9207757B2 (en) | Gesture recognition apparatus, method thereof and program therefor | |
| US9047504B1 (en) | Combined cues for face detection in computing devices | |
| JP2017518566A (en) | Air and surface multi-touch detection on mobile platforms | |
| CN105027052A (en) | Display integrated camera array | |
| CN109086753B (en) | Traffic sign recognition method and device based on two-channel convolutional neural network | |
| US11961218B2 (en) | Machine vision systems and methods for automatically generating one or more machine vision jobs based on region of interests (ROIs) of digital images | |
| US9082184B2 (en) | Note recognition and management using multi-color channel non-marker detection | |
| US9684407B2 (en) | Method and apparatus for determining shape and orientation of a touch object on handheld devices | |
| WO2018076182A1 (en) | Image capturing method and device | |
| JP2019220014A (en) | Image analysis device, image analysis method, and program | |
| Sharma et al. | Air-swipe gesture recognition using OpenCV in Android devices | |
| WO2019134606A1 (en) | Terminal control method, device, storage medium, and electronic apparatus | |
| US9430095B2 (en) | Global and local light detection in optical sensor systems | |
| CN113158912B (en) | Gesture recognition method and device, storage medium and electronic equipment | |
| CN110334576B (en) | A kind of hand tracking method and device | |
| WO2025139304A1 (en) | Palm region detection method and apparatus | |
| Dehankar et al. | Detecting centroid for hand gesture recognition using morphological computations |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |