08.01.2015 Views

Min Hash - SIPL

Min Hash - SIPL

Min Hash - SIPL

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

People Metering Using<br />

Mobile Devices<br />

Yehoraz Kasher Annual EE Projects Contest<br />

Students:<br />

Supervisor:<br />

Oded Yeruhami<br />

Yuval Bahat<br />

Rafi Steinberg<br />

May 23 rd , 2010


Outline<br />

• People metering<br />

• People metering using mobile devices<br />

• Algorithm description<br />

• Our innovations<br />

• Conclusion<br />

2/35


3/35<br />

People Metering


The People Meter<br />

Rating measurement method today<br />

Drawbacks:<br />

– Designated hardware<br />

– Very small control group<br />

– Monitors specific TV set<br />

– Confidentiality of control group<br />

– Impersonal<br />

4/35


People Metering Using Mobile Devices<br />

Query<br />

Fingerprint<br />

Creation<br />

Reference<br />

Fingerprint<br />

Creation<br />

Matching<br />

Matched Channel / No Match<br />

5/35


People Metering Using Mobile Devices<br />

• As suggested by MobileRL<br />

– No special hardware required<br />

– Personal<br />

– Carried everywhere<br />

– Can also be used to monitor<br />

radio, video, music etc.<br />

6/35


System Requirements<br />

• High accuracy<br />

• Robustness to noisy environment<br />

• Real time results<br />

• Cellphone constraints:<br />

»Privacy<br />

»Computational effort<br />

»Power consumption<br />

»Sent data size<br />

7/35


Literature Survey<br />

• ASF – Audio Spectrum Flatness (Hellmuth et al., 2001)<br />

• An algorithm by (Haitsma & Kalker, 2003)<br />

• Spectral Similarity (Yang, 2001)<br />

• Normalized Spectral Subbands Centroids (Seo et al., 2005)<br />

• Waveprint - Content Fingerprinting Using Wavelets,<br />

by (Baluja & Covell, 2006)<br />

8/35


System Layout<br />

Feature Extraction<br />

Extracting significant data<br />

Fingerprints<br />

Matching<br />

Matched channel /<br />

9/35<br />

No match


Fingerprint Creation<br />

Feature Extraction<br />

Spectrogram<br />

creation<br />

Matching<br />

2-D Haar<br />

Wavelet<br />

Taking<br />

Strongest<br />

Coefficients<br />

<strong>Min</strong><br />

<strong>Hash</strong><br />

10/35<br />

Fingerprint<br />

<strong>Min</strong>-<strong>Hash</strong> vector #1<br />

<strong>Min</strong>-<strong>Hash</strong> vector #2<br />

<strong>Min</strong>-<strong>Hash</strong> vector #3<br />

<strong>Min</strong>-<strong>Hash</strong> vector #4<br />

Sub-Fingerprints


Frequency<br />

Spectrogram<br />

Represents audio visually<br />

stride<br />

Spectrogram creation<br />

2-D Haar Wavelet<br />

Taking strongest coefficients<br />

<strong>Min</strong>-<strong>Hash</strong><br />

Time<br />

Divide to overlapping sub-spectrograms<br />

Fine-grained temporal resolution<br />

11/35


Wavelet Transform<br />

• Good for pointing out local data in images<br />

• Keeping only the strongest coefficients<br />

Spectrogram creation<br />

2-D Haar Wavelet<br />

Taking strongest coefficients<br />

<strong>Min</strong>-<strong>Hash</strong><br />

Wavelet<br />

Transform<br />

Keeping<br />

Strongest<br />

Coefficients<br />

12/35<br />

Maintains “interesting” data in noisy images<br />

Result – sparse binary vector


<strong>Min</strong>-<strong>Hash</strong><br />

How can we compare 2 sparse vectors<br />

efficiently<br />

<strong>Min</strong>-<strong>Hash</strong> (Cohen et al., 2001)<br />

Spectrogram creation<br />

2-D Haar Wavelet<br />

Taking strongest coefficients<br />

<strong>Min</strong>-<strong>Hash</strong><br />

Sparse vector compact representation :<br />

• p permanent vector permutations<br />

• Keeping the index of the first “1”<br />

01 1 0 0 1 10 1 0 0 1 0 1 1 0 0 1 0 1 1<br />

0<br />

13/35<br />

• Result – A vector with p elements (here, p=4):<br />

1 3 6 2<br />

Sub-fingerprint<br />

• Compactly representing the sparse vector<br />

• Similar sparse vectors yield similar <strong>Min</strong>-hash vectors


Feature Extraction – Summary<br />

Spectrogram<br />

creation<br />

Haar Wavelet Transform<br />

Keeping strongest coefficients<br />

Sub-Fingerprint Sparse Binary #1 Vector<br />

Fingerprint<br />

Sub-Fingerprint #2<br />

<strong>Min</strong> <strong>Hash</strong> Vector (p elements)<br />

Sub-Fingerprint #3<br />

14/35


Fingerprint Matching<br />

Feature Extraction<br />

Matching<br />

Sub-Fingerprint<br />

Sub-Fingerprints<br />

Candidate Sub-Fingerprint Selection<br />

Fingerprint Temporal Alignment<br />

(LSH)<br />

Candidates<br />

Query<br />

References<br />

Matching<br />

15/35<br />

Best Match


Locality Sensitive <strong>Hash</strong>ing<br />

(Gionis et al., 1999)<br />

LSH<br />

Alignment<br />

Matching<br />

Query <strong>Min</strong>-hash<br />

References <strong>Min</strong>-hash<br />

LSH<br />

Match<br />

Candidates<br />

• Reduces matching problem dimensions<br />

• Low computational complexity<br />

• Efficiently narrows down matching candidates<br />

16/35


LSH<br />

Fingerprints Temporal<br />

Distance Calculation<br />

Alignment<br />

Alignment<br />

Matching<br />

query stride<br />

reference stride<br />

DistanceDistance<br />

Distances<br />

17/35<br />

Grade Calculation


Verifying Our Implementation<br />

• Forced matching scenario<br />

• Tested with various digitally added noises<br />

White Gaussian noise, echo…<br />

Our system produced good results<br />

However our problem is more difficult…<br />

• No forced matching scenario<br />

• Recordings in a noisy environment<br />

18/35


References<br />

• 120 samples<br />

• 1 minute long<br />

Queries<br />

• 430 samples<br />

• 8 seconds long<br />

Datasets by<br />

Two query types:<br />

• “Good” recordings<br />

19/35<br />

• “Bad” recordings<br />

69% Match<br />

19% Match


Feature Extraction<br />

Matching Criterion<br />

Distance threshold<br />

Matching<br />

– Requires threshold adjusting (varies with<br />

recording quality)<br />

Metrics<br />

Precision & Recall (per threshold)<br />

20/35<br />

Precision<br />

Recall<br />

True identification<br />

All identified<br />

True identification<br />

All queries


Original Algorithm Results<br />

Recall=13%<br />

Precision=96%<br />

Recall=65%<br />

Precision=78%<br />

21/35


Problem:<br />

Bad recordings - very low success rate<br />

Let's have a closer look…<br />

22/35


Frequency<br />

Frequency<br />

Success Rates Problem<br />

• Main problem appears in “bad recordings”<br />

Reference<br />

Query – “bad recording”<br />

Time<br />

23/35<br />

Time


Proposed Solution<br />

Biasing the<br />

wavelet picking<br />

Strongest wavelets picking histogram<br />

Frequency<br />

dimension<br />

Time<br />

dimension<br />

24/35<br />

DC Freq. Time Time/Freq.


After Weighted Wavelet Picking<br />

Good Recordings<br />

Recall=90%<br />

Precision=97%<br />

Recall=65%<br />

Precision=78%<br />

25/35


After Weighted Wavelet Picking<br />

Bad Recordings<br />

Recall=49%<br />

Recall=13%<br />

Precision=99%<br />

Precision=96%<br />

(Th.=0) Recall =<br />

Precision = 58%<br />

26/35


Feature Extraction<br />

Matching Criterion<br />

Matching<br />

Different criterion:<br />

Recurrence check<br />

– Sending up to N queries sequentially<br />

– Looking for M recurring matches<br />

Advantages<br />

27/35<br />

– Increases success rates<br />

– No threshold needed<br />

– Independent of environment<br />

– Overcomes sporadic noise


Recurrence Check<br />

Recall=58%, N 10, M 4, Channels # 30<br />

P true =93% P false =0.9%<br />

For bad recordings!<br />

But…<br />

Increases size of sent data<br />

28/35


Reducing Signature Size – 1 st Solution<br />

Size<br />

<br />

<br />

Byte <br />

Depends on stride size<br />

Query stride<br />

#sub-fingerprints min-hash vector length<br />

(13.24KB for 8 sec. query)<br />

Reference stride<br />

Solution:<br />

- Switch between strides<br />

29/35<br />

- Change number of permutations


Reducing Signature Size – 1 st Solution<br />

Reference sub fingerprints20 Query sub fingerprints0.2<br />

<strong>Min</strong>-hash Permutation 0.5<br />

Recall<br />

55%, Querysize 1.33KB<br />

N 10, M 4<br />

P true =93%, P false =0.9%, E[sent size] = ~9KB<br />

For bad recordings!<br />

30/35


Reducing Signature Size – 2 nd<br />

• Golomb-Rice coding (Golomb & Solomon, 1966)<br />

• Near-entropy coding for an infinite geometrically<br />

distributed input<br />

• Utilizing <strong>Min</strong>-hash distribution - close to geometric :<br />

Cumulative Distribution Function<br />

Solution<br />

~20%<br />

Compression<br />

31/35


Conclusion<br />

Implemented a people metering<br />

system using mobile devices<br />

– Personal<br />

– Carried everywhere<br />

– Not only TV<br />

32/35


Conclusion<br />

Based on Waveprint algorithm by<br />

Innovation #1<br />

Biasing the wavelet picking<br />

- Match rates<br />

Innovation #2<br />

Recurrence check<br />

- Match rates<br />

33/35<br />

- Environment independent


Conclusion<br />

Innovation #3<br />

Reducing sent fingerprint size<br />

Innovation #4<br />

Compressing sent data<br />

34/35<br />

Sent data size


Conclusion<br />

• System is suitable for commercial use<br />

For example:<br />

P true =93%, P false =0.9%, E[sent size] = ~9KB<br />

• Supplied to MobileRL<br />

• A paper in the writing<br />

35/35


Acknowledgments<br />

• Rafi Steinberg<br />

• <strong>SIPL</strong> staff<br />

– Yair Moshe<br />

– Nimrod Peleg<br />

• MobileRL<br />

– Aron Weiss, CTO


37<br />

Backup


Reference<br />

[1] O.Hellmuth et al., Advanced Audio identification using MPEG-7<br />

content description. Fraunhofer institute for integrated circuits,<br />

Convention paper 5463, 111th convention USA, September 2001.<br />

[2] J.Haitsma, T.Kalker, A highly robust fingerprinting system. Philips<br />

Research, Journal of new music research, Volume 32, Number 2,<br />

pp. 211-221(11), June 2003.<br />

[3] C.Yang, Music database retrieval based on spectral similarity.<br />

Stanford university database group technical report 2001-14, IEEE<br />

workshop on applications of signal processing, 2001.<br />

[4] Jin S Seo et al., Audio Fingerprinting based on normalized spectral<br />

subband centroids. IEEE International Conference, pages 213-216<br />

Vol. 3, March 2005.<br />

38


Reference – Cont.<br />

[5] Shumeet Baluja, Michele Covell (2006) Content Fingerprinting Using<br />

Wavelets. CVMP, 198-207<br />

[6] E. Cohen, et al.. (2001) Finding interesting associations without<br />

support pruning. Knowledge and Data Engineering, 13(1)<br />

[7] A. Gionis, P. Indyk, R. Motwani (1999), Similarity search in high<br />

dimensions via hashing. Proc. InternationalConference on Very<br />

Large Data Bases,.<br />

[8] Golomb, Solomon W. (1966) Run-length encodings. IEEE Trans<br />

Info Theory 12(3):399<br />

[9] A students project guided by Mr. Yair Moshe – Initial Code.<br />

39


2nd Solution – Golomb Rice (Cont.)<br />

•Uses run-length encoding –<br />

Code-length rises with value<br />

#<br />

1<br />

95<br />

96<br />

255<br />

coded<br />

000001<br />

11011111<br />

111000000<br />

1111111011111<br />

t=200, M=32 <br />

Compressed to 85%<br />

t=300, M=19 <br />

Compressed to 78%<br />

(Added to the query size decreasing)<br />

40


Spectrogram creation<br />

How can we compare two sparse<br />

vectors efficiently<br />

Jaccard Coefficient:<br />

2-D Haar Wavelet<br />

Taking strongest coefficients<br />

<strong>Min</strong>-<strong>Hash</strong><br />

J M , N<br />

<br />

<br />

M<br />

M<br />

N<br />

N<br />

Problem:<br />

•Long sparse binary vectors<br />

41<br />

•Similarity calculation is complicated

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!