WWHISPERHISPER: A Spread Spectrum Approach : A Spread Spectrum Approach to Occlusion in Acoustic Trackingto Occlusion in Acoustic Tracking
Nick VallidisNick VallidisUnder the supervision of Gary BishopUnder the supervision of Gary Bishop
July 10, 2002July 10, 2002
2
OutlineOutline
•• MotivationMotivation•• Thesis StatementThesis Statement•• Previous Work Previous Work •• AlgorithmAlgorithm•• System PerformanceSystem Performance•• ConclusionConclusion
3
What is tracking?What is tracking?
•• Determination of the position and/or Determination of the position and/or orientation of a target objectorientation of a target object
•• There is a nearly ubiquitous tracking device There is a nearly ubiquitous tracking device you are all familiar with…you are all familiar with…
MotivationMotivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- Algorithm Algorithm -- Performance Performance -- ConclusionConclusion
4
The Mouse!The Mouse!
MotivationMotivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- Algorithm Algorithm -- Performance Performance -- ConclusionConclusion
5
Virtual EnvironmentsVirtual Environments
•• Need high quality tracking informationNeed high quality tracking information
MotivationMotivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- Algorithm Algorithm -- Performance Performance -- ConclusionConclusion
6
Head TrackingHead Tracking
•• Focus of the majority of Focus of the majority of past VE tracking researchpast VE tracking research
MotivationMotivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- Algorithm Algorithm -- Performance Performance -- ConclusionConclusion
7
Body TrackingBody Tracking
•• Growing interest due to quality head trackingGrowing interest due to quality head tracking•• Uses:Uses:
––AvatarsAvatars––Mine style interaction [Mine 1997]Mine style interaction [Mine 1997]
•• Goals:Goals:––OcclusionOcclusion--toleranttolerant––BodyBody--centeredcentered
MotivationMotivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- Algorithm Algorithm -- Performance Performance -- ConclusionConclusion
8
Body Tracking ExampleBody Tracking Example
MotivationMotivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- Algorithm Algorithm -- Performance Performance -- ConclusionConclusion
9
Thesis StatementThesis Statement
Spread spectrum technology applied to Spread spectrum technology applied to acoustic tracking produces a robust tracking acoustic tracking produces a robust tracking device with better performance than existing device with better performance than existing acoustic systems. Extending the frequency acoustic systems. Extending the frequency range of the signal down into the audible range of the signal down into the audible range enables tracking in the presence of range enables tracking in the presence of occlusions.occlusions.
Motivation Motivation -- Thesis StatementThesis Statement -- Previous Work Previous Work -- Algorithm Algorithm -- Performance Performance -- ConclusionConclusion
10
Spread Spectrum ConceptsSpread Spectrum Concepts
•• What is spread spectrum?What is spread spectrum?•• Multipath = echoesMultipath = echoes•• Multiple access techniquesMultiple access techniques
––Frequency Division (FDMA) Frequency Division (FDMA) –– Radio & TVRadio & TV––Time Division (TDMA) Time Division (TDMA) –– EthernetEthernet––Code Division (CDMA) Code Division (CDMA) –– Sprint PCSSprint PCS
Motivation Motivation -- Thesis StatementThesis Statement -- Previous Work Previous Work -- Algorithm Algorithm -- Performance Performance -- ConclusionConclusion
Hedy Lamar
11
Spread Spectrum AdvantagesSpread Spectrum Advantages
•• When applied to acoustic tracking:When applied to acoustic tracking:––Continuous signal allows frequent updatesContinuous signal allows frequent updates––Robust to noise and multipathRobust to noise and multipath––CDMA allows multiple simultaneous rangesCDMA allows multiple simultaneous ranges
Motivation Motivation -- Thesis StatementThesis Statement -- Previous Work Previous Work -- Algorithm Algorithm -- Performance Performance -- ConclusionConclusion
12
•• Using audible frequencies in the spread spectrum Using audible frequencies in the spread spectrum signal allows for more diffractionsignal allows for more diffraction
•• System can function while occluded!System can function while occluded!
Also…Diffraction is now usable!Also…Diffraction is now usable!
Motivation Motivation -- Thesis StatementThesis Statement -- Previous Work Previous Work -- Algorithm Algorithm -- Performance Performance -- ConclusionConclusion
13
Previous Work (bodyPrevious Work (body--centered)centered)
•• Gypsy (& Gypsy (& ShapeTapeShapeTape))
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous WorkPrevious Work -- Algorithm Algorithm -- Performance Performance -- ConclusionConclusion
14
Previous Work (bodyPrevious Work (body--centered)centered)
•• Gypsy (&Gypsy (& ShapeTapeShapeTape))•• WearTrackWearTrack [[FoxlinFoxlin 2000]2000]
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous WorkPrevious Work -- Algorithm Algorithm -- Performance Performance -- ConclusionConclusion
15
Previous Work (bodyPrevious Work (body--centered)centered)
•• Gypsy (&Gypsy (& ShapeTapeShapeTape))•• WearTrackWearTrack [[Foxlin Foxlin 2000]2000]•• Magnetic [Magnetic [InskoInsko 2001]2001]
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous WorkPrevious Work -- Algorithm Algorithm -- Performance Performance -- ConclusionConclusion
16
Previous Work (acoustic)Previous Work (acoustic)
•• Acoustic system featuresAcoustic system features––Sound speed is convenient Sound speed is convenient ––LowLow--cost, easily available transducerscost, easily available transducers
•• Poor performance of previous systems:Poor performance of previous systems:––Not robust in noisy environmentsNot robust in noisy environments––Slow update ratesSlow update rates
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous WorkPrevious Work -- Algorithm Algorithm -- Performance Performance -- ConclusionConclusion
17
Previous Work (acoustic)Previous Work (acoustic)
•• Phase coherent [Sutherland 1968]Phase coherent [Sutherland 1968]•• Lincoln Wand [Roberts 1966]Lincoln Wand [Roberts 1966]•• Modern systems:Modern systems:
––Intersense Intersense Constellation [Constellation [FoxlinFoxlin 1998]1998]––Nintendo Nintendo Powerglove Powerglove [1989][1989]––Logitech 3D mouse [circa 1992]Logitech 3D mouse [circa 1992]
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous WorkPrevious Work -- Algorithm Algorithm -- Performance Performance -- ConclusionConclusion
18
WWHISPERHISPER vs. Other Acoustic Systemsvs. Other Acoustic Systems
•• Pulsed trackersPulsed trackers––Faster update rateFaster update rate––Multiple simultaneous range measurementsMultiple simultaneous range measurements––More robust to echoes and noiseMore robust to echoes and noise
•• Phase coherent trackersPhase coherent trackers––Much more robust to echoes & interferenceMuch more robust to echoes & interference
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous WorkPrevious Work -- Algorithm Algorithm -- Performance Performance -- ConclusionConclusion
19
Previous Work (spread spectrum)Previous Work (spread spectrum)
•• Global Positioning System (GPS)Global Positioning System (GPS)•• Aetherwire Aetherwire [Fleming 1995][Fleming 1995]•• Spatiotrack Spatiotrack [[Palovuori Palovuori 2000]2000]•• Acoustic/Optical system [Acoustic/Optical system [Girod Girod 2001]2001]•• VTT Automation [2000]VTT Automation [2000]
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous WorkPrevious Work -- Algorithm Algorithm -- Performance Performance -- ConclusionConclusion
20
WWHISPERHISPER OverviewOverview
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- AlgorithmAlgorithm -- Performance Performance -- ConclusionConclusion
21
Pseudonoise Pseudonoise and Correlationand Correlation
•• PseudonoisePseudonoise –– known noiseknown noise--like signallike signal
•• Autocorrelation has large value at 0 delayAutocorrelation has large value at 0 delay
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- AlgorithmAlgorithm -- Performance Performance -- ConclusionConclusion
22
Correlation DemoCorrelation Demo
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- AlgorithmAlgorithm -- Performance Performance -- ConclusionConclusion
23
Correlation is Expensive!Correlation is Expensive!
•• Assuming 1000 sample window, 500 Hz Assuming 1000 sample window, 500 Hz computation rate:computation rate:––1000 multiply1000 multiply--adds per delayadds per delay––1000 possible delays1000 possible delays––500 times per second500 times per second
Total Cost = 1 billion operations per second!
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- AlgorithmAlgorithm -- Performance Performance -- ConclusionConclusion
24
WWHISPERHISPER’s’s AlgorithmAlgorithm
•• Limit delay search rangeLimit delay search range•• Limit computation cost per delayLimit computation cost per delay
Initialize with Correlation Kalman filter
PredictReduced
Correlation search around
prediction
+
interpolation
Kalman filter Correct
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- AlgorithmAlgorithm -- Performance Performance -- ConclusionConclusion
25
Kalman Filter BasicsKalman Filter Basics
•• Predictor/CorrectorPredictor/Corrector
•• Three components:Three components:––State estimate with variancesState estimate with variances––Process ModelProcess Model––Measurement ModelMeasurement Model
predictpredict correctcorrect
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- AlgorithmAlgorithm -- Performance Performance -- ConclusionConclusion
26
Correlation with Computation ReuseCorrelation with Computation Reuse
100 kHz Sampling rate
1 kHz update rate= 100 samples between Kalman filter iterations
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- AlgorithmAlgorithm -- Performance Performance -- ConclusionConclusion
27
Correlation with Computation ReuseCorrelation with Computation Reuse
Input signal(chunks of 100 samples):
…
100 kHz Sampling rate
1 kHz update rate= 100 samples between Kalman filter iterations
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- AlgorithmAlgorithm -- Performance Performance -- ConclusionConclusion
28
Correlation with Computation ReuseCorrelation with Computation Reuse
Input signal(chunks of 100 samples):
…
Correlation window (1000 samples)
Iteration
k
100 kHz Sampling rate
1 kHz update rate= 100 samples between Kalman filter iterations
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- AlgorithmAlgorithm -- Performance Performance -- ConclusionConclusion
29
Correlation with Computation ReuseCorrelation with Computation Reuse
Input signal(chunks of 100 samples):
…
Correlation window (1000 samples)
Iteration
k
Correlation window (1000 samples)k+1
100 kHz sampling rate
1 kHz update rate= 100 samples between Kalman filter iterations
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- AlgorithmAlgorithm -- Performance Performance -- ConclusionConclusion
30
Calculating Position from RangeCalculating Position from Range
•• Easiest to look at 2D example:Easiest to look at 2D example:
KnownLocation 1
KnownLocation 2
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- AlgorithmAlgorithm -- Performance Performance -- ConclusionConclusion
31
Calculating Position from RangeCalculating Position from Range
•• Easiest to look at 2D example:Easiest to look at 2D example:
KnownLocation 1
KnownLocation 2
Range 1
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- AlgorithmAlgorithm -- Performance Performance -- ConclusionConclusion
32
Calculating Position from RangeCalculating Position from Range
•• Easiest to look at 2D example:Easiest to look at 2D example:
KnownLocation 1
KnownLocation 2
Range 1
Range 2
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- AlgorithmAlgorithm -- Performance Performance -- ConclusionConclusion
33
Prototype ConfigurationPrototype Configuration
Microphone 2
Microphone 1
Microphone 330.5 cm
30.5 cm
Speakeron target
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- AlgorithmAlgorithm -- Performance Performance -- ConclusionConclusion
34
Error SourcesError Sources
•• NoiseNoise•• Local environmental conditionsLocal environmental conditions•• Directionality of transducersDirectionality of transducers•• Geometric dilution of precisionGeometric dilution of precision
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- AlgorithmAlgorithm -- Performance Performance -- ConclusionConclusion
35
Geometric Dilution of PrecisionGeometric Dilution of Precision
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- AlgorithmAlgorithm -- Performance Performance -- ConclusionConclusion
36
3D, 2 Target Demonstration3D, 2 Target Demonstration
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- Algorithm Algorithm -- PerformancePerformance -- ConclusionConclusion
37
Overall 3D PerformanceOverall 3D Performance
•• 1000 updates per second1000 updates per second•• Static Performance:Static Performance:
–– 0.46 to 0.91 mm standard deviation 0.46 to 0.91 mm standard deviation •• LatencyLatency
––1818--49 ms depending on signal49 ms depending on signal--toto--noise noise ratioratio
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- Algorithm Algorithm -- PerformancePerformance -- ConclusionConclusion
38
Noise Performance (Range)Noise Performance (Range)
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- Algorithm Algorithm -- PerformancePerformance -- ConclusionConclusion
39
Static 3D PerformanceStatic 3D Performance
ArbitraryArbitrary
ArbitraryArbitrary
Z*Z*
YY
XX
Rail Rail OrientationOrientation
300.6 mm300.6 mm300 300 ±± 1 mm1 mm
300.2 mm300.2 mm300 300 ±± 1 mm1 mm
302.6 mm302.6 mm300 300 ±± 1 mm1 mm
300.7 mm300.7 mm300 300 ±± 1 mm1 mm
300.0 mm300.0 mm300 300 ±± 1 mm1 mm
WWHISPERHISPERDistanceDistance
Measured Rail Measured Rail DistanceDistance
* Rail was not rigidly supportedMotivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- Algorithm Algorithm -- PerformancePerformance -- ConclusionConclusion
40
Dynamic PerformanceDynamic Performance
σ =2.0 mm
mean =202.7 mm
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- Algorithm Algorithm -- PerformancePerformance -- ConclusionConclusion
41
Occluded Range PerformanceOccluded Range Performance
676.8676.8675.2675.2642.8642.8101.6101.6663.0663.0661.0661.0642.8642.876.276.2652.0652.0650.8650.8642.8642.850.850.8645.3645.3644.8644.8642.8642.825.425.4
Measured Measured (b) mm(b) mm
Calculated Calculated (b) mm(b) mm
Direct Direct (a) mm(a) mm
Sphere Sphere Radius mmRadius mm
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- Algorithm Algorithm -- PerformancePerformance -- ConclusionConclusion
42
Occluded 3D PerformanceOccluded 3D Performance
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- Algorithm Algorithm -- PerformancePerformance -- ConclusionConclusion
43
Occluded 3D PerformanceOccluded 3D Performance
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- Algorithm Algorithm -- PerformancePerformance -- ConclusionConclusion
44
InnovationsInnovations
•• Interesting computational approach to a Interesting computational approach to a spread spectrum ranging systemspread spectrum ranging system
•• Compared to existing acoustic systems:Compared to existing acoustic systems:––More robust to noise and More robust to noise and multipathmultipath––Better performance (rate, simultaneous Better performance (rate, simultaneous
targets)targets)•• Diffraction allows tracking during occlusionsDiffraction allows tracking during occlusions
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- Algorithm Algorithm -- Performance Performance -- ConclusionConclusion
45
ApplicationsApplications
•• Body trackingBody tracking•• HCI device (like mouse)HCI device (like mouse)•• LabLab--mounted (ceiling) trackermounted (ceiling) tracker
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- Algorithm Algorithm -- Performance Performance -- ConclusionConclusion
46
Future WorkFuture Work
•• Filtering & Auto Gain Control (AGC) on inputFiltering & Auto Gain Control (AGC) on input•• Miniaturization and “Miniaturization and “wearabilitywearability” of system” of system•• Adaptations abound:Adaptations abound:
––Output volume to background noiseOutput volume to background noise––Output spectrum to occlusion (ultrasonic?)Output spectrum to occlusion (ultrasonic?)
•• Use Use kinematickinematic structure of human bodystructure of human body
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- Algorithm Algorithm -- Performance Performance -- ConclusionConclusion
47
AcknowledgementsAcknowledgements
THE END!
Personal:My familyMy wife
Committee Members:Gary Bishop (Advisor)Greg WelchLeandra VicciHenry FuchsJohn Poulton
Collaborators:Scott CooperJason StewartJohn ThomasStephen BrumbackKurtis Keller
Funding:Office of Naval ResearchUNC CS Alumni FellowshipNASA Graduate Student
Researcher Program
Motivation Motivation -- Thesis Statement Thesis Statement -- Previous Work Previous Work -- Algorithm Algorithm -- Performance Performance -- ConclusionConclusion
48
No, really. That was the end.
49
SpectrogramSpectrogram
50
Dual Target VelocitiesDual Target Velocities
51
Dual Target Velocity DifferencesDual Target Velocity Differences
Top Related