380 likes | 398 Views
This paper discusses an algorithm that utilizes a factor graph model to efficiently detect and group text in images captured with a camera phone. The algorithm employs feature selection techniques and simplifications to solve the problem non-iteratively, making it suitable for resource-constrained mobile devices.
E N D
Grouping Using Factor Graph: An Approach for finding Text with a Camera Phone Huiying Shen and James Coughlan Smith-Kettlewell Eye Research Institute San Francisco, USA
Motivation “Webster”
More Examples Find street signs, restaurants, addresses Find indoor signs as landmarks and info tags
Why a Cell Phone • Everyone has one • A Smart phone is a capable computer • But, it has limited resources, compared to a desktop, • And, has NO float point processor • A simple and efficient algorithm is needed,……
Why a Cell Phone • Everyone has one • A Smart phone is a capable computer • But, it has limited resources, compared to a desktop, • And, has NO float point processor • A simple and efficient algorithm is needed,……
Why a Cell Phone • Everyone has one • A Smart phone is a capable computer • But, it has limited resources, compared to a desktop, • And, has NO float point processor • A simple and efficient algorithm is needed,……
Why a Cell Phone • Everyone has one • A Smart phone is a capable computer • But, it has limited resources, compared to a desktop, • And, has NO float point processor • A simple and efficient algorithm is needed,……
Why a Cell Phone • Everyone has one • A Smart phone is a capable computer • But, it has limited resources, compared to a desktop, • And, has NO float point processor • A simple and efficient algorithm is needed,……
Our Algorithm: Feature Selection and Factor Graph • Feature Selection • Finding simple edges of four orientation • Build up the more complex features • Graph Model • Group the features into factors • Build the data driven graph model • Using a simplified version of graph model to solve it non-iteratively
Our Algorithm: Feature Selection and Factor Graph • Feature Selection • Finding simple edges of four orientations • Build up the more complex features • Graph Model • Group the features into factors • Build the data driven graph model • Using a simplified version of graph model to solve it non-iteratively
Our Algorithm: Feature Selection and Factor Graph • Feature Selection • Finding simple edges of four orientations • Build up the more complex features • Graph Model • Group the features into factors • Build the data driven graph model • Using a simplified version of graph model to solve it non-iteratively
Feature Selection • Machine learning approaches • Filter banks • Sliding windows • Learn the filters statistically • Problems • Lots of filters, difficult to understand and improve • Require huge training data set • Possible over-learning • Possibly learning wrong things
Feature Selection • Machine learning approaches • Filter banks • Sliding windows • Learn the filters statistically • Problems • Lots of filters, difficult to understand and improve • Require huge training data set • Possible over-learning • Possibly learning wrong things
Anchored Vertical Edgelets --- Many factors are found according to the tops and the bottoms of the edgelets
A factor graph model --- Variables --- Factors
Our Simplifications • The variables have only two states: x=0 for ground, and x=1 for figure • A factor potential function g(x) has only two values: g(x) = g1 x=1 for all x’s = g0, otherwise • g1 >= g0, i.e., “if you don’t have nice things to say, say something neutral”
Our Simplifications • The variables have only two states: x=0 for ground, and x=1 for figure • A factor potential function g(x) has only two values: g(x) = g1 x=1 for all x’s = g0, otherwise • g1 >= g0, i.e., “if you don’t have nice things to say, say something neutral”
Our Simplifications • The variables have only two states: x=0 for ground, and x=1 for figure • A factor potential function g(x) has only two values: g(x) = g1 x=1 for all x’s = g0, otherwise • g1 >= g0, i.e., “If you don’t have anything nice to say, don’t say anything”
An Example Factor Graph fA(x1,x2,x5) – top of chars w/ ascender fB(x3,x4,x6,x7,x8) – top of w/o ascender fC(x3,x4,x5,x6,x7,x8) – bottoms of 1st 6 sticks fD(x4,x5,x6,x7,x8,x9) – bottoms of next 6 sticks
An Example Factor Graph fA(x1,x2,x5) – top of chars w/ ascender fB(x3,x4,x6,x7,x8) – top of w/o ascender fC(x3,x4,x5,x6,x7,x8) – bottoms of 1st 6 sticks fD(x4,x5,x6,x7,x8,x9) – bottoms of next 6 sticks
Our Non-Iterative Algorithm • Set mx->f(x=0) = 0 initially • Shift mf->x(x) after each iteration such that mf->x(x=0) = 0 • The Algorithm converges after first iteration • It can be implemented using fixed point operation only
Our Non-Iterative Algorithm • Set mx->f(x=0) = 0 initially • Shift mf->x(x) after each iteration such that mf->x(x=0) = 0 • The Algorithm converges after first iteration • It can be implemented using fixed point operation only
Summary / Discussion • A simplified factor graph algorithm is developed for camera cell phones • Variables take only two states • Factor functions g(x) take only two values • “No bad mouth”: g1 >= g0 • Non-iterative • No floating point computation
Summary / Discussion • A simplified factor graph algorithm is developed for camera cell phones • Variables take only two states • Factor functions g(x) take only two values • “No bad mouth”: g1 >= g0 • Non-iterative • No floating point computation
Summary / Discussion • A simplified factor graph algorithm is developed for camera cell phones • Variables take only two states • Factor functions g(x) take only two values • “No bad mouth”: g1 >= g0 • Non-iterative • No floating point computation
Summary / Discussion • A simplified factor graph algorithm is developed for camera cell phones • Variables take only two states • Factor functions g(x) take only two values • “No bad mouth”: g1 >= g0 • Non-iterative • No floating point computation
Summary / Discussion • A simplified factor graph algorithm is developed for camera cell phones • Variables take only two states • Factor functions g(x) take only two values • “No bad mouth”: g1 >= g0 • Non-iterative • No floating point computation
Summary / Discussion • A simplified factor graph algorithm is developed for camera cell phones • Variables take only two states • Factor functions g(x) take only two values • “No bad mouth”: g1 >= g0 • Non-iterative • No floating point computation