Field of the Invention
This invention relates to perspective tracking.
Background Art
With the advancements in simulated environment, virtual training has become a possibility. Virtual participation in these simulated environments cannot fully replicate real participation correctly, due to the lack of free motion in virtual participation solutions. Real participation introduces the problem of tracking the movement and perspective of the real participants in the simulated environment. What is needed is a solution for determining perspective of the real participant in the simulated environment.
The use of video tracking to derive motion in two dimensions is well established for easily distinguishable targets in a video field. This invention builds on the tracking of point light emitters to locate regions of interest in a field of view where high accuracy of aim-point and positional information are both needed. A single perspective tracking device (PTD) captures a continuous image stream of its current field of view. As point light emitters enter the field of view, a track is built up for each, and the identity of each emitter is derived from the detected modulation patterns of each. These emitter identities are used to identify an area of interest and to determine the perspective of the PTD. Successive images and tracks are used to build up motion formulae for six degrees of freedom (6 DOF) in real time. This system may be used for determining a point-of-gaze for head-mounted displays (HMDs), point-of-aim for simulated weapons, and may be used for robotic control in open spaces.
The PTD represents one of two components that work in unison to provide high accuracy orientation/perspective measurements. In some implementations, the PTD is a high resolution infrared (IR) video tracker which is used to detect infrared point light emitters and accurately identify their angular relationship from the center of the field of view. The second component is an area of interest marker (AIM). In some embodiments of the invention, an AIM would include a single microprocessor with multiple infrared point light emitters attached. These AIMs serve as reference points as to position and perspective. A set of AIMs (one or more) may delineate an area of interest (AOI). Such a set of AIMs is treated as a group, or a single track point array (TPA), for certain processing operations to be described below. In some embodiments of the invention, only some of the emitters are attached to AIMs. In such embodiments, some of the emitters in the system exist apart from any AIM.
The PTD may include an infrared-sensitive image capture device coupled to a processing array that detects points in the field of view that match the criteria for AIM emitters. For each AIM emitter the processing array of the PTD detects a match for the AIM emitter and uses the pixel values which compose the image to compute a center of light for that emitter. The center of light is analogous to a center of mass for a physical object, but represents a single averaged location for the emitted light energy. This center of light calculation is performed for each emitter in the captured frame, yielding a mathematical centroid. The PTD translates each centroid into an angular measurement offset in the horizontal (α) and vertical (β) axis. These angles are corrected based on tables stored in the PTD to compensate for spherical asymmetries inherent in the lens systems used in digital imaging systems. The corrected offsets are denoted as α′ and β′ respectively. Standard tracking sorting algorithms are utilized to re-identify each AIM emitter on successive frames of video and generate a history table for each emitter, or point. These histories are utilized to generate an angular path formula for each point on an on-going basis. Once a point path is determined (i.e., track lock is obtained), the location and path of an emitter is extrapolated (persisted or coasted) on frames when the corresponding AIM emitter may not be located. Lists of points, along with motion formula coefficients, are used in the PTD, thereby determining AIM identity and orientation. The identity of the AIM is used to look up physical characteristics (such as the size and shape of a surface marked by the AIM), which are then used to compute distance of the observer to the AIM field as well as exact angles. For example, a minimum of three point sources (AIMs) are needed to describe a two dimensional surface. For a rectangular surface that is three feet by four feet, we only need to know that the shape is a rectangle and the physical coordinates of the three AIMs to derive the fourth corner and, therefore, an aim-point within the enclosed area. When the separation of these points in video space is considered, and the rectangle is fitted to them, distance and incident angle can be determined.
In some embodiments of the invention, the computed perspective is returned on a frame by frame basis to a visuals control system that uses the perspective to update a user's view through the AIMs. This updated data is conveyed to users via either a tethered hardwire system or a wireless communication system.
Embodiments of the present invention are now described with reference to the figures. While specific configurations and arrangements are discussed, it should be understood that this is done for illustrative purposes only. A person skilled in the relevant art will recognize that other configurations and arrangements can be used without departing from the spirit and scope of the invention. It will be apparent to a person skilled in the relevant art that this invention can also be employed in a variety of other systems and applications other than those disclosed here.
An embodiment of the invention is based on the detection of an array of emitters on a fixed plane in space. In
In
PTD devices may be enhanced using accelerometers, gyroscopes and magnetometers to detect orientation. PTDs enhanced in this manner would calibrate these devices during times of image-based track lock, then use them to extrapolate orientation and position when track lock is not possible. Various weighted methods to combine the diverse orientation information may be employed to improve accuracy (such as combining accelerometer and gyroscope information to yield motion and orientation in 6 DOF).
AOIs are delineated using infrared point light emitters that identify points on the AOI (e.g., corners) as well as the spatial position, orientation and size of the AOI. AOIs may overlap in physical space either on parallel planes or orthogonal planes. AOIs exist to provide precise locations in the field of view, areas of projected blue-screen imagery, or high accuracy aim-point data areas. More than one emitter may be used to delimit an AOI point. This allows the determination of an AOI's orientation, even though its corners or sides may be occluded.
In a three dimensional environment, AOIs are defined where high accuracy tracking of perspective is required. These AOIs may be two-dimensional polygonal regions where each vertex is marked by an emitter. Emitters may be infrared LEDs which are visible to tracking imaging systems. Each emitter source identifies a point in three dimensions in a bounded volume. A PTD detects emitters within its field of view and uses the relationships of the emitters to determine a current perspective in three dimensions.
The PTD's processor identifies each emitter and determines its physical spatial relationship to other emitters based on the emitter's unique identification coding. In some embodiments of the invention, each TPA emitter uniquely identifies itself to the system by modulating its light output isochronously to the system image capture frame rate. Within a given TPA emitter array modulation may be sent synchronously (i.e., all emitters at once), although each emitter's message may be unique. The emitter identification coding can be modulated at or near the video frame rate, allowing the PTD processor to detect the emitter's coding pattern. The identification coding may include error correction and validation sequences. The emitters of a TPA may be synchronized to the PTD using wireless communication. A TPA's IR emissions may be shortened and sent only during the peak sensitivity of the PTD sensor. Modulation of an emitter would then consist of dropping pulses during this period on a low-duty cycle basis.
The PTD computes a solution for perspective based on each emitter's location in the captured image field. Equations of motion are generated to allow the PTD to compute perspective during times of emitter occlusion. The PTD may use a secondary system to synchronize to an AOI's TPA. For example, a wireless connection may be used to signal the start of a point source modulation so that it may be synchronous with the video capture and allow for point source identity to be demodulated.
Three or more emitters can be used to define a two-dimensional surface having a polygonal outline. An n-sided polygon is defined using n or more emitters. Over-specification of the TPA outline can be used to improve accuracy and to compensate for occlusion of corner emitters.
A TPA may be implemented using an IR emitter and a micro-processor, or using an IR emitter and a programmed logic array. A TPA may also be implemented using an IR emitter and a memory cell used to replay the source IR through the emitter. A TPA may be permanently integrated into a device for use in an arena tracking environment.
In
Corrections may be applied to the computation of this centroid. The first of these corrections is a temperature-based offset of intensity amplitude on a per cell basis. The second compensation is the exact X:Y location of each cell, based on corrections for errors in the optics inherent in the PTD device. These corrections are applied locally, prior to the centroid computation being made for each emitter's centroid. The final emitter centroid is translated into an offset angle from the center of the PTD field of view.
In
On each frame, motion equations for each known emitter are advanced to the current time (404). The predicted positions are then compared to detected positions (403) using radial distance computations (410) and sorted using a radial bubble sort (401) to yield a best fit. When a radial distance match occurs within some predefined tolerance, the emitter history and equations are updated for the next frame. The result is a new point identification list (420). If an emitter centroid falls out of the maximum allowed radius then it is assumed to be a new emitter and a new set of equations are started. When an emitter is not detected on a given frame, the equations are coasted and the emitter's entry is marked as modulated. Emitter equations are coasted for a fixed number of frames then deleted as a valid entry.
Once individual emitters have been identified, the AOI to which they belong may be determined. This may be seen in
While some embodiments of the present invention have been described above, it should be understood that it has been presented by way of examples only and not meant to limit the invention. It will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention as defined in the appended claims. Thus, the breadth and scope of the present invention should not be limited by the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
The present application is a continuation of U.S. patent application Ser. No. 11/641,123, filed Dec. 19, 2006, which claims the benefit of U.S. Provisional Application 60/751,298, filed on Dec. 19, 2005, each of which is incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
3996590 | Hammack | Dec 1976 | A |
4409899 | Owen | Oct 1983 | A |
5215464 | Marshall | Jun 1993 | A |
5260557 | Kissh | Nov 1993 | A |
5816817 | Tsang | Oct 1998 | A |
5835077 | Dao | Nov 1998 | A |
5874938 | Marten | Feb 1999 | A |
5889505 | Toyama | Mar 1999 | A |
5988645 | Downing | Nov 1999 | A |
6473980 | Ripingill, Jr. | Nov 2002 | B2 |
6604064 | Wolff | Aug 2003 | B1 |
7202776 | Breed | Apr 2007 | B2 |
7239301 | Liberty | Jul 2007 | B2 |
7329127 | Kendir | Feb 2008 | B2 |
7345265 | Page | Mar 2008 | B2 |
7413514 | Saikawa | Aug 2008 | B2 |
7488176 | Erdoss | Feb 2009 | B2 |
7598854 | Wong | Oct 2009 | B2 |
7677893 | Lvovskiy | Mar 2010 | B2 |
8303405 | Zalewski | Nov 2012 | B2 |
8632338 | Miasnik | Jan 2014 | B2 |
8777619 | Schubert | Jul 2014 | B2 |
8860818 | Sachs | Oct 2014 | B1 |
8864496 | Moran | Oct 2014 | B2 |
8920172 | Wilmink | Dec 2014 | B1 |
9013597 | Okubo | Apr 2015 | B2 |
9052161 | Page | Jun 2015 | B2 |
9082168 | Hiroike | Jul 2015 | B2 |
9092853 | Sachs | Jul 2015 | B2 |
9293058 | Schubert | Mar 2016 | B2 |
9330576 | Moran | May 2016 | B2 |
9330577 | Klein | May 2016 | B2 |
9466120 | Maryfield | Oct 2016 | B2 |
9524580 | Katz | Dec 2016 | B2 |
20020023478 | Pryor | Feb 2002 | A1 |
20030095186 | Aman | May 2003 | A1 |
20040155186 | Nestorovic | Aug 2004 | A1 |
20060244907 | Simmons | Nov 2006 | A1 |
20070152157 | Page | Jul 2007 | A1 |
20070238073 | Portoghese | Oct 2007 | A1 |
20080108021 | Slayton | May 2008 | A1 |
20080239136 | Kanai | Oct 2008 | A1 |
20080306708 | Germain, IV | Dec 2008 | A1 |
20090046056 | Rosenberg | Feb 2009 | A1 |
20090267895 | Bunch | Oct 2009 | A1 |
20100097209 | Wong | Apr 2010 | A1 |
20100227297 | Harvey, Jr. | Sep 2010 | A1 |
20100245608 | Trudeau | Sep 2010 | A1 |
20150215607 | Chou | Jul 2015 | A1 |
20150215615 | Chou | Jul 2015 | A1 |
20160209183 | Bakken | Jul 2016 | A1 |
20160265880 | Maryfield | Sep 2016 | A1 |
20170010070 | Maryfield | Jan 2017 | A1 |
Number | Date | Country | |
---|---|---|---|
20150355730 A1 | Dec 2015 | US |
Number | Date | Country | |
---|---|---|---|
60751298 | Dec 2005 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11641123 | Dec 2006 | US |
Child | 14707672 | US |