Today: Stochastic Processes Two Topics • CONDENSATION • Modeling texture Monday (3/5) • Reflectance • Environment Matting Final Project Presentations • Tentatively: Monday March 12, 2:30-4:30 Tracking We’ve seen what tracking can do Where does it fail? • occlusions • fast motions • ambiguity Need to be able to recover from failures • multiple hypothesis tracking Modeling Texture What is texture? • An image obeying some statistical properties • Similar structures repeated over and over again • Often has some degree of randomness What Do These Have in Common Tracking and texture can both be modeled by stochastic processes Stochastic Process Terminology Random variable • • • • nondeterministic value with a given probability distribution e.g. result of roll of dice discrete: can take on a finite number of possible values continuous: not discrete Probability density function (PDF) • non-negative real valued function p(x) such that • called probability distribution when x is discrete • sometimes probability distribution is used to refer to densities Discrete stochastic process • sequence or array of random variables, statistically interrelated • e.g. states of atoms in a crystal lattice Conditional probability • P[A|B,C] means probability of A given B and C • e.g. probability of snow today given snow yesterday and the day before Statistical Inference Estimation • Given measurements z = (z1, z2, ..., zn) • Compute model parameters x = (x1, x2, ..., xm) Statistical estimation • Given measurements z and uncertainty information • Compute p(x | z) – probability of every possible model Key Tool: Bayes Law likelihood (what measurement would we expect to see if we knew the model?) prior posterior (our knowledge about these parameters) (what’s the model?) normalization MAP Estimation Often we just want to maximize p(x|z) • Can ignore p(z), since it’s a constant (doesn’t depend on x) • Maximum a posteriori (MAP) estimate of x is What if no prior information? • p(x) is constant for all x (a uniform distribution) • Posterior likelihood term • Maximum likelihood estimate of x is Markov Process 1D stochastic process • a sequence of interdependent random variables xt, xt-1, xt-2, ..., x1 • xt is the state of the model at time t Markov assumption • model state depends depends only on a fixed (finite) number of previous states • First order Markov Chain • N th order Markov Chain Putting It To Work Text Synthesis • Create plausible looking poetry, love letters, term papers, congressional reports, etc. • Learn – find all blocks of N consecutive words/letters in training documents – build probabilities of these N-tuples from histogram » probability of N-tuple X = (# of occurances of X / total # N-tuples) – Create K th word by taking a random sample from » possible methods » » » » invert cumulative probability distribution (must be invertable to work) rejection sampling use importance sampling (e.g., Metropolis Algorithm) simpler: just remember the most likely N tuples beginning with previous N-1 words [Scientific American, June 1989, Dewdney] “I Spent an Interesting Evening Recently with a Grain of Salt” - Mark V. Shaney (computer-generated contributor to UseNet News group called net.singles) Output of 2nd order word-level Markov Chain after training on 90,000 word philosophical essay: “If we were to revive the fable is useless. Perhaps only the allegory of simulation is unendurable--more cruel than Artaud's Theatre of Cruelty, which was the first to practice deterrence, abstraction, disconnection, deterritorialisation, etc.; and if it were our own past. We are witnessing the end of the negative form. But nothing separates one pole from the very swing of voting ''rights'' to electoral...” Probabilistic Tracking Treat tracking problem as a Markov process • Estimate p(xt | zt, xt-1) • Combine Markov assumption with Bayes Rule measurement likelihood prediction (likelihood of seeing this measurement) (based on previous frame and motion model) Approach • Predict position at time t: • Measure (perform correlation search or Lukas-Kanade) and compute likelihood • Combine to obtain (unnormalized) state probability Kalman Filtering: assume p(x) is a Gaussian initial state prediction measurement posterior prediction Key • s = x (position) • o = z (sensor) [Schiele et al. 94], [Weiß et al. 94], [Borenstein 96], [Gutmann et al. 96, 98], [Arras 98] Robot figures courtesy of Dieter Fox Modeling Probabilities with Samples Allocate samples according to probability • Higher probability—more samples CONDENSATION [Isard & Blake] Initialization: unknown position (uniform) Measurement posterior CONDENSATION [Isard & Blake] Prediction: • draw new samples from the PDF • use the motion model to move the samples CONDENSATION [Isard & Blake] Measurement posterior Monte Carlo Robot Localization Particle Filters [Fox, Dellaert, Thrun and collaborators] CONDENSATION Contour Tracking Training a tracker CONDENSATION Contour Tracking Red: smooth drawing Green: scribble Blue: pause Modeling Texture What is texture? • An image obeying some statistical properties • Similar structures repeated over and over again • Often has some degree of randomness 2D Stochastic Process Terminology Random field • multi-dimensional stochastic process – e.g., each pixel a random variable. • a random field is stationary if statistical relationships are space-invariant (translate across the image) Markov random field • random field where each variable is conditioned on a finite neighborhood MRF’s and Images A Markov random field (MRF) • generalization of Markov chains to two dimensions. Homogeneous (stationary) first-order MRF: • probability that pixel X takes a certain value given the values of neighbors A, B, C, and D: A • P[X|A,B,C,D] D X B C • Higher order MRF’s have larger neighborhoods * * * * * X * * * * * * * * * X * * * * * * Modeling MRF’s Given training image(s) • compute p(X), p(X | A, B, C, D) based on training set – by creating histograms of pixels, neighborhoods Not quite what we want • We’d like a joint probability function over the entire image: – p(X11, X12, X13, ...) – If we had this, we could just sample random images from it • Turns out this function is a Gibbs distribution – [Geman & Geman, 1984] • However, still hard to sample from – poor convergence – can be very slow—hours, days... Texture Synthesis [Efros & Leung, ICCV 99] Simpler algorithm, avoids Gibbs sampling Synthesizing One Pixel SAMPLE p Infinite sample image Generated image • Assuming Markov property, what is conditional probability distribution of p, given the neighbourhood window? • Instead of constructing a model, let’s directly search the input image for all such neighbourhoods to produce a histogram for p • To synthesize p, just pick one match at random Slides courtesy of Alyosha Efros Really Synthesizing One Pixel SAMPLE finite sample image p Generated image • However, since our sample image is finite, an exact neighbourhood match might not be present • So we find the best match using SSD error (weighted by a Gaussian to emphasize local structure), and take all samples within some distance from that match Growing Texture • Starting from the initial image, “grow” the texture one pixel at a time • The size of the neighborhood window is a parameter that specifies how stochastic the user believes this texture to be Some Details Growing is in “onion skin” order • Within each “layer”, pixels with most neighbors are synthesized first • If no close match can be found, the pixel is not synthesized until the end Using Gaussian-weighted SSD is very important • to make sure the new pixel agrees with its closest neighbors • Approximates reduction to a smaller neighborhood window if data is too sparse Window Size Controls Randomness More Synthesis Results Increasing window size Brodatz Results reptile skin aluminum wire Failure Cases Growing garbage Verbatim copying Image-Based Text Synthesis Other Texture Synthesis Methods Heeger & Bergen, SIGGRAPH 95 • Early work, got people interested in problem DeBonet, SIGGRAPH 97 • Breakthrough method, surprisingly good results • More complex approach, more parameters (filter banks) Wei & Levoy, SIGGRAPH 99 • Similar to Efros and Leung, but faster • Uses coarse-to-fine, vector quantization Zhu et al., IJCV 98 (and other papers) • Rigorous MRF algorithms, Gibbs sampling • Well-founded statistically, but slower Others... Applications of Texture Modeling Super-resolution • Freeman & Pasztor, 1999 • Baker & Kanade, 2000 Image/video compression Video Textures • Wei & Levoy, 2000 • Schodl et al., 2000 Texture recognition, segmentation • DeBonet Restoration • removing scratches, holes, filtering • Zhu et al. Art/entertainment