Title: Project design by: Jennifer Murdoch University of Victoria, Canada
1CSI Computer Science Investigations(Learn Java
and Solve a Crime in the Same Day!)
- Project design by Jennifer Murdoch (University
of Victoria, Canada) - Lecturer - IEEE Member since 2004
2CSI Computer Science Investigations(Learn Java
and Solve a Crime in the Same Day!)
3Computer Science and ForensicsA Real World
Application
- Acoustical gunshot analysis,
- audio enhancement,
- voiceprint analysis,
- voice elimination,
- aural steganography,
- evidence authentication, and
- Acoustic Simulation for Scene Reconstruction
4The Case Under Investigation...
- Bank of Good Cents (Toronto, Canada) has been
robbed!! - YOU have been hired to crack the case.
- 2 security guards are the prime suspects
- Alice (day shift)
- Bob (night shift)
- Two items stolen
- Worthless vase
- Over 100,000 CDN from a bank vault
- QUESTION Who stole which loot?
5The Case Under InvestigationThe Evidence
- Simultaneous recordings from 5 microphones with
known coordinates around the periphery of the
bank vault room where the crime took place. - 5 audio recordings from the day shift
- 5 audio recordings from the night shift
6The Case Under Investigation...
7Sound in the Real World
8 Sound in the Digital World
Time (seconds)
Amplitude ( -1 to 1 )
double samples 0.0029602954191717277,
0.002838221381267739, 0.00271614734336375,
0.0025025177770317698, 0.0023194067201757866,
0.0025025177770317698, 0.0027466658528397473,
0.00271614734336375, 0.0025025177770317698,
0.0024414807580797754, 0.0023194067201757866,
0.002380443739127781, 0.002227851191747795,
0.002349925229651784, -0.0016174810022278
512, 0.002533036286507767, -0.0010376293221839045,
-0.00173955504013184, -0.017364501953125,
0.05694753868221076
9The Case Under Investigation Analyzing the
Evidence
- Analyze the audio recordings to determine TDOA
between pairs of microphones. - Use TDOA values to derive position of the
perpetrator in the bank. - Repeat this process over time to plot a
trajectory (path) of the perpetrators movements
over time in order to reconstruct the crime.
10The Case Under Investigation Snapshot of 4
Footsteps Recorded by 2 Mics
11(1) Computing TDOA between a Pair of Audio
Recordings
- You explored two different approaches for
computing TDOA between a pair of microphones - Threshold-Based Approach
- Cross-Correlation Approach
- Compare these algorithms in terms of the
following key criteria - Accuracy of computed TDOA values,
- Robustness of the algorithm (does it work for
any set of audio recordings, or only audio
recorded under ideal conditions), - How fast it executes (relate this to the
complexity of the source code), and - How easy it is to implement.
- Note that the Threshold-Based Approach uses a
single for loop, while the Cross-Correlation
Approach uses a pair of nested for loops
12(2) Use TDOA Values to Derive Position of the
Perpetrator in the Bank
- You learned how to use API documentation in order
to make use of new Java classes that provided you
with new tools for solving the crime!
13(3) Explore the Trade-Off Between Noise Level and
Computed Coordinate Accuracy
- You used experimental observations regarding the
robustness of your algorithm to signal noise in
order to provide evidence of the guilt or
innocence of the perpetrators!
14You also Learned !!!
- Create 1-dimensional arrays Read from/write to
array elements using both explicit and computed
index values - Create 2-dimensional arrays Read from/write to
array elements using both explicit and computed
index values - Use provided Java classes and an API reference
- Compare the source code complexity, running time,
and accuracy of two different solutions to a
problem - Create a hypothesis and collect empirical data to
analyse and support that hypothesis - Perform effectively as part of a programming pair
15CONGRATULATIONS !!!