Open in TheBrain

GIROD, Bernd, Mobile Visual Search, April 2, 2014

<p class="MsoNormal" >GIROD, Bernd, Mobile Visual Search, April 2, 2014</p>

<p>

intro by Joyce Wandell;</p>

<p>

great bkgrnd in academia and assoc with many start-ups...</p>

<p>

linking the Virtual and Physical World:&nbsp; Mobile Visual Search..</p>

<p>

great cartoon from Qualcomm..&nbsp; the next stage of human evolution

(homo sapiens with cell phone)</p>

<p>

Landmark recog...&nbsp; eg, where are you,&nbsp; based on looking at Ferry Bldg in SF.</p>

<p>

how abt&nbsp; Media Cover Recog&nbsp; (in a vinyl record store on Telegraph Ave in Berkeley)

take a pic of the cover and the music begins to play...</p>

<p>

Motorola Droid Smartphone...</p>

<p>

he takes video of his book shelf and has it labled with AR&nbsp; with price and Amazon info.</p>

<p>

&nbsp;

wine lables,&nbsp; field guide&nbsp; (with leaves)</p>

<p>

real estate...</p>

<p>

just like hyperlinks but using the real world...</p>

<p>

Image-based retrieval...</p>

<p>

but... are you going to serially do a comparison to all the images?&nbsp; NO... too slow..</p>

<p>

OUTLINE for today</p>

<p>

comp vision for image-based retrieval

feature compression

phone-based vs server-based processes

and toward mobile AR =augmented reality...</p>

<p>

A Bag of Words</p>

<p>

an example:&nbsp; self-evident, Liberty, truths, happiness, endowed, inalienable, pursuit, Creator, Life</p>

<p>

retrieves Declar of Independence...</p>

<p>

but must pick the salient words...</p>

<p>

can we do the same thing with images&nbsp; (analogous to Bag of words)</p>

<p>

so, how to represent = repr an image as a "bag of visual features"</p>

<p>

eg golgen gate bridge...&nbsp; get the towers, the cable</p>

<p>

(but u need features that are robust to illumination changes, scale,etc)</p>

<p>

visual features:&nbsp; key point detection</p>

<p>

usu just work with grayscale image</p>

<p>

DoG = difference of gaussian filter...</p>

<p>

eg detect extremes&nbsp; (corners, edges)</p>

<p>

get canonical image patches...</p>

<p>

get image gradients and then extract features...</p>

<p>

SIFT&nbsp; is the most famous... use a 128 vector&nbsp; (David Lowe)</p>

<p>

can even just count the features matched btwn the query image and the DB of images.</p>

<p>

but still plagued by serial search slowness.</p>

<p>

so how to arrange these hierarchically...</p>

<p>

eg can do hierarchial k means&nbsp; with 3 clusters...</p>

<p>

then you want to compare tree histograms...</p>

<p>

so then do you compute a Query tree histogram&nbsp; and

compare that to whole DB of tree histograms.</p>

<p>

&nbsp;

Architecture A: send an image thru the wireless network</p>

<p>

say, take an image with cellphone and send to server where all the computing is done</p>

<p>

but sending a frame&nbsp; at 20 kbps will take 20 seconds to get adeq image</p>

<p>

so, much faster to send the Features&nbsp;</p>

<p>

or architect C:&nbsp; do all computing on the cellphone</p>

<p>

(ie do&nbsp; feature extraction and feature matching on the client (and do not use cloud at all)</p>

<p>

MPEG&nbsp; proposal in 2011</p>

<p>

say 2 k bytes for image:&nbsp; say 50 bits per descriptor...

(and store 100K images right ON the phone)

say 300 features</p>

<p>

want SOTA= state of the art image matching and retrieval...</p>

<p>

want a descriptor that’s smaller than a jpeg...</p>

<p>

SIFT is the gold standard in comp vision</p>

<p>

usu abt 1024 bits per descriptor&nbsp; * # of features&nbsp; (is > jpeg file)</p>

<p>

so, insead use canonical patches...</p>

<p>

use ROC to evaluate &nbsp;performance&nbsp; (TP vs false positives)</p>

<p>

compare L2 distance (computed by SIFT)</p>

<p>

u want to have low false postiives...</p>

<p>

CHoG&nbsp; compressed histogram of gradients</p>

<p>

use distrib of gradients...</p>

<p>

with 3 descriptors can map the probs onto an equilat triange&nbsp; (guaranteed to add to 1)</p>

<p>

CHog&nbsp; (pron chog) with Lattice coding is best (so far)</p>

<p>

can xmit features in ANY order... so waht order to use to send them...</p>

<p>

&nbsp;

can do location histogram coeding&nbsp; (he shows building with many windows)</p>

<p>

compressed feature descriptor</p>

<p>

say the original SIFT descr requries 1088 bits...

can get it down to 59 bits</p>

<p>

hugfe gain by sending only the features&nbsp; say just 2.2 Kbutes&nbsp; take 3 second&nbsp; versus</p>

<p>

sending jpeg = 40 kbytes that takes 7 seconds...</p>

<p>

(server is typicall 10X as fast as mobile device)</p>

<p>

but, if u have fasgt connection, may want to just send the image....</p>

<p>

really expensive past is sending the data (in terms of energy consump by the phone)

the computing is relativ. free.</p>

<p>

also if u have a poor connex, must send it over and over again.</p>

<p>

*</p>

<p>

Augmented Reality..</p>

<p>

(really wants Terminator vision)</p>

<p>

he shows&nbsp; scene from Terminator 2&nbsp; where Arnold is looking for clothes in the biker bar

in the opening scene...</p>

<p>

goes all the way back&nbsp; to Ivan Sutherland in 60s.</p>

<p>

1997:&nbsp; “The TOURING machine”&nbsp; with matches to bldgs.</p>

<p>

maybe contact glasses...</p>

<p>

shows video (not real)</p>

<p>

say without pressing a button (with Google Glasses... recog&nbsp; books as u look around)</p>

<p>

shows ratings of books... (they did implement that... )</p>

<p>

must track camera pose...</p>

<p>

he shows motion-adaptive query selection...

(when&nbsp; u go slow... it picks up features&nbsp; (but not when u move the camera)</p>

<p>

onto Architecture C&nbsp; (doing it ALL on the cellphone)</p>

<p>

problem:&nbsp; is&nbsp; RAM storage ont he phone.. must be really big to store DB of features on phone*</p>

<p>

&nbsp;

we need vocab tree say with 1M leaf nodes... takes abt 70 MB...</p>

<p>

but hen also need to store&nbsp; compressed Inverted Index&nbsp; see Chen DCC 2010

say for 100K iamge4&nbsp; is total of 140 MB. (with lots of compression)</p>

<p>

so add these = 210 MB&nbsp; ( a lot for a phone)</p>

<p>

David Chan’s work&nbsp; (grad student of his here)</p>

<p>

generating feature RESIDULAS&nbsp; (what was NOT matched)</p>

<p>

Fisher vectors and fisher information...&nbsp; (suggests this should be superior to BoW approach)</p>

<p>

and uses smaller codebook...</p>

<p>

REVV = residual enhanced viual vector..</p>

<p>

&nbsp;

extract local features&nbsp; then use PCA and the use codebook to quantize feature descripsw and

use LDAS = linear discrim analys...&nbsp; and ultima. get

weighed correl scroes...</p>

<p>

performance is compar to vocab tree but his usess much smaller&nbsp; (25X smaller.. storage reqruied)</p>

<p>

&nbsp;

he shows performa cne with Samsung Galaqxy s# smartphoen with 1.4 GHz proc

and 1 GB RAM and DB of 100K images

takes only abt 1 second!!! to match...&nbsp; eg in grocery store&nbsp; for labels.</p>

<p>

</p>

<p>

Hybrid Query Mode... occas&nbsp; (if no match) then send it to the cloud&nbsp; (send REVV signature)</p>

<p>

this is much faster then sending images&nbsp; (abt 100X as fasty to send REVV descrips as sending Jpeg)</p>

<p>

this is akin to vidoe coding in 1980... mainly uncharted territory...</p>

<p>

MPEG has been standardized</p>

<p>

but Video is next&nbsp; CDVS&nbsp; is going to CDVidS</p>

<p>

see Signal Process Magazine from July 2011... a mobile revolution&nbsp; IEEE publicaiton

(but 3 yrs old)</p>

<p>

&nbsp;

Q&nbsp; power consump&nbsp; of feature extraction&nbsp; (most consumptive.. cuz have to touch all the pixels)</p>

<p>

perhaps can move&nbsp; feature extaction into the CAMERA module&nbsp; (so&nbsp; preprocess it even before it hits cpu of cellphone)</p>

<p>

Q difft lighting conditions&nbsp; (illum variations)

Q why not store those features also&nbsp; (under foreshortening or diff lighting)</p>

<p>

BW Q:&nbsp; building&nbsp; DB of images and features&nbsp; (annotated DB of images)</p>

<p>

harvesting from the web&nbsp; (and perhaps annotate with Mech Turk)</p>

<p>

Q&nbsp; and comment;&nbsp; we expect incorporation into the camera (of the phone) or a camera in a car...</p>

<p>

comment on phone:&nbsp; must be less than 3 watts&nbsp; (to hold n hand)&nbsp; typical power use is....

1W for radio, 1 W for cpu and 1 W for display.</p>

<p>

&nbsp;</p>

<p>

&nbsp;</p>

Attachments