Mobile Motion Tracking using Onboard Camera Lam Man Kit CEG Wong Yuk Man CEG.

Slides:



Advertisements
Similar presentations
Heuristic Search techniques
Advertisements

BRISK (Presented by Josh Gleason)
Virtual Dart: An Augmented Reality Game on Mobile Device Supervisor: Professor Michael R. Lyu Prepared by: Lai Chung Sum Siu Ho Tung.
Tracking Features with Large Motion. Abstract Problem: When frame-to-frame motion is too large, KLT feature tracker does not work. Solution: Estimate.
A New Block Based Motion Estimation with True Region Motion Field Jozef Huska & Peter Kulla EUROCON 2007 The International Conference on “Computer as a.
Yen-Lin Lee and Truong Nguyen ECE Dept., UCSD, La Jolla, CA Method and Architecture Design for Motion Compensated Frame Interpolation in High-Definition.
Motion Tracking. Image Processing and Computer Vision: 82 Introduction Finding how objects have moved in an image sequence Movement in space Movement.
Novel Point-Oriented Inner Searches for Fast Block Motion Lai-Man Po, Chi-Wang Ting, Ka-Man Wong, and Ka-Ho Ng IEEE TRANSACTIONS ON MULTIMEDIA, VOL.9,
Motion Detection And Analysis Michael Knowles Tuesday 13 th January 2004.
Mobile Motion Tracking using Onboard Camera
Efficient Moving Object Segmentation Algorithm Using Background Registration Technique Shao-Yi Chien, Shyh-Yih Ma, and Liang-Gee Chen, Fellow, IEEE Hsin-Hua.
Mobile Motion Tracking using Onboard Camera Supervisor: Prof. LYU, Rung Tsong Michael Prepared by: Lam Man Kit Wong Yuk Man.
New Sorting-Based Lossless Motion Estimation Algorithms and a Partial Distortion Elimination Performance Analysis Bartolomeo Montrucchio and Davide Quaglia.
Enhanced Hexagonal Search for Fast Block Motion Estimation Authors : Ce Zhu, Xiao Lin, Lappui Chau, and Lai-Man Po Lappui Chau, and Lai-Man Po IEEE TRANSACTIONS.
1 Single Reference Frame Multiple Current Macroblocks Scheme for Multiple Reference IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY Tung-Chien.
Preprocessing ROI Image Geometry
ART: Augmented Reality Table for Interactive Trading Card Game Albert H.T. Lam, Kevin C. H. Chow, Edward H. H. Yau and Michael R. Lyu Department of Computer.
LYU0503 Document Image Reconstruction on Mobile Using Onboard Camera Supervisor: Professor Michael R.Lyu Group Members: Leung Man Kin, Stephen Ng Ying.
FAST MULTI-BLOCK SELECTION FOR H.264 VIDEO CODING Chang, A.; Wong, P.H.W.; Yeung, Y.M.; Au, O.C.; Circuits and Systems, ISCAS '04. Proceedings of.
A New Diamond Search Algorithm for Fast Block- Matching Motion Estimation Shan Zhu and Kai-Kuang Ma IEEE TRANSACTIONS ON IMAGE PROCESSION, VOL. 9, NO.
Extension of M-VOTE: Improving Feature Detection
Virtual Dart – An Augmented Reality Game on Mobile Device Supervised by Prof. Michael R. Lyu LYU0604Lai Chung Sum ( )Siu Ho Tung ( )
Stockman MSU Fall Computing Motion from Images Chapter 9 of S&S plus otherwork.
Motion Estimation Today’s Readings Trucco & Verri, 8.3 – 8.4 (skip 8.3.3, read only top half of p. 199) Numerical Recipes (Newton-Raphson), 9.4 (first.
Skip Lists1 Skip Lists William Pugh: ” Skip Lists: A Probabilistic Alternative to Balanced Trees ”, 1990  S0S0 S1S1 S2S2 S3S3 
Tracking with Linear Dynamic Models. Introduction Tracking is the problem of generating an inference about the motion of an object given a sequence of.
Face Processing System Presented by: Harvest Jang Group meeting Fall 2002.
A Low-Power VLSI Architecture for Full-Search Block-Matching Motion Estimation Viet L. Do and Kenneth Y. Yun IEEE Transactions on Circuits and Systems.
AN IMPROVED MULTILEVEL SUCCESSIVE ELIMINATION ALGORITHM FOR FAST FULL- SREACH MOTION ESTIMATION Tae Gyoung Ahn, Youg Ho Moon*, and Jae Ho Kim Department.
Company LOGO Mobile Motion Tracking using Onboard Camera Supervisor Prof. LYU, Rung Tsong Michael Presented by Lam Man Kit, Wong Yuk Man.
EE392J Final Project, March 20, Multiple Camera Object Tracking Helmy Eltoukhy and Khaled Salama.
1 Activity and Motion Detection in Videos Longin Jan Latecki and Roland Miezianko, Temple University Dragoljub Pokrajac, Delaware State University Dover,
Knowledge Systems Lab JN 8/24/2015 A Method for Temporal Hand Gesture Recognition Joshua R. New Knowledge Systems Laboratory Jacksonville State University.
Face Detection using the Viola-Jones Method
Frame by Frame Bit Allocation for Motion-Compensated Video Michael Ringenburg May 9, 2003.
Video Coding. Introduction Video Coding The objective of video coding is to compress moving images. The MPEG (Moving Picture Experts Group) and H.26X.
Feature and object tracking algorithms for video tracking Student: Oren Shevach Instructor: Arie nakhmani.
1 Efficient Reference Frame Selector for H.264 Tien-Ying Kuo, Hsin-Ju Lu IEEE CSVT 2008.
: Chapter 12: Image Compression 1 Montri Karnjanadecha ac.th/~montri Image Processing.
Computer Vision - A Modern Approach Set: Tracking Slides by D.A. Forsyth The three main issues in tracking.
ELEC692 VLSI Signal Processing Architecture Lecture 7 VLSI Architecture for Block Matching Algorithm for Video compression * Part of the notes is taken.
Adaptive Multi-path Prediction for Error Resilient H.264 Coding Xiaosong Zhou, C.-C. Jay Kuo University of Southern California Multimedia Signal Processing.
An Efficient Search Strategy for Block Motion Estimation Using Image Features Digital Video Processing 1 Term Project Feng Li Michael Su Xiaofeng Fan.
December 9, 2014Computer Vision Lecture 23: Motion Analysis 1 Now we will talk about… Motion Analysis.
MOTION ESTIMATION IMPLEMENTATION IN RECONFIGURABLE PLATFORMS
CS654: Digital Image Analysis
IEEE Transactions on Consumer Electronics, Vol. 58, No. 2, May 2012 Kyungmin Lim, Seongwan Kim, Jaeho Lee, Daehyun Pak and Sangyoun Lee, Member, IEEE 報告者:劉冠宇.
UNIT 5.  The related activities of sorting, searching and merging are central to many computer applications.  Sorting and merging provide us with a.
Learning to Detect Faces A Large-Scale Application of Machine Learning (This material is not in the text: for further information see the paper by P.
Spatiotemporal Saliency Map of a Video Sequence in FPGA hardware David Boland Acknowledgements: Professor Peter Cheung Mr Yang Liu.
Motion Estimation Today’s Readings Trucco & Verri, 8.3 – 8.4 (skip 8.3.3, read only top half of p. 199) Newton's method Wikpedia page
Page 11/28/2016 CSE 40373/60373: Multimedia Systems Quantization  F(u, v) represents a DCT coefficient, Q(u, v) is a “quantization matrix” entry, and.
CS 376b Introduction to Computer Vision 03 / 31 / 2008 Instructor: Michael Eckmann.
Motion Estimation Today’s Readings Trucco & Verri, 8.3 – 8.4 (skip 8.3.3, read only top half of p. 199) Newton's method Wikpedia page
EE591f Digital Video Processing
Motion Estimation Multimedia Systems and Standards S2 IF Telkom University.
BLOCK BASED MOTION ESTIMATION. Road Map Block Based Motion Estimation Algorithms. Procedure Of 3-Step Search Algorithm. 4-Step Search Algorithm. N-Step.
Hierarchical Systolic Array Design for Full-Search Block Matching Motion Estimation Noam Gur Arie,August 2005.
Motion tracking TEAM D, Project 11: Laura Gui - Timisoara Calin Garboni - Timisoara Peter Horvath - Szeged Peter Kovacs - Debrecen.
1שידור ווידיאו ואודיו ברשת האינטרנט Dr. Ofer Hadar Communication Systems Engineering Department Ben-Gurion University of the Negev URL:
Fast disparity motion estimation in MVC based on range prediction Xiao Zhong Xu, Yun He ICIP 2008.
Dr. Ofer Hadar Communication Systems Engineering Department
An Implementation Method of the Box Filter on FPGA
Motion Detection And Analysis
Range Imaging Through Triangulation
Sum of Absolute Differences Hardware Accelerator
Image and Video Processing
Announcements Questions on the project? New turn-in info online
Continuous Density Queries for Moving Objects
Yu Liu and King Ngi Ngan Department of Electronic Engineering
Presentation transcript:

Mobile Motion Tracking using Onboard Camera Lam Man Kit CEG Wong Yuk Man CEG

Outline Introduction Methods Results Future Work Q&A

Introduction Camera-phones can perform image processing tasks on the device itself. It can be used as an additional means of user input. Symbian OS make programming on mobile phone possible.

Introduction Real-World Interaction with Camera- Phones  User Movement acts as an input source for the mobile phone Gesture Input “ Virtual Mouse ” New Input method for Interactive Game

Real-World Interaction

Motion Estimation Motion estimation is a process to find the motion vector of the current frame from reference frame(s).  Optical flow  Block Matching algorithm Block matching algorithm, is an integral part for most of the motion-compensated video coding standards. Eg MPEG 1, MPEG 2, H.263.

Block Matching Divide previous frame to small rectangular blocks Find the best match for a selected block in current frame Calculate motion vector between previous block and its counterpart in current frame Typical size for blocks: 16x16 pixels Search Range W: typically 16 or 32 pixels Similarity Measure:  Mean Absolute Error (MAE)  Mean Square Error (MSE)  Sum of the Absolute Difference (SAD) SAD is used in our project Current frame MV

Block Matching 2W + 1 2BW + 1 2BH + 12H + 1 Search Window Block Search Window (in current frame)  A Rectangle with the same center as block in previous frame, extended by w pixels in both directions BW = 1 BH = 1 W = 4 H = 4 W

Block-match Motion Estimation Two kinds of methods commonly used:  Fast Search Algorithm 2-D Logarithmic Search 3-Step Search (3SS) Diamond Search  Exhaustive Search Algorithm (ESA)

Fast Algorithms Fast Motion Estimation Algorithms: 22-D Logarithmic Search 33-Step Search (TSS) DDiamond Search Assumption: TThe matching error monotonically increases as the search position moves away from the optimal motion vector

Fast Algorithms - TSS Three-Step Search (TSS)  1 st Step: Search 8 surroundings and the central point Distance = w/2 pixels Find the best match  2 nd Step: Use previous best match as center Repeat 1 st step with distance = w/4 pixels  3 th Step: Repeat 1 st step with distance = w/8 pixels  Searched only 25 points Center of Block Search Window 123

Fast Algorithms Advantages:  Extremely Fast Disadvantages:  All Fast Algorithms greatly rely on a monotonically increasing match criteria around the location of the optimal motion vector  limited number of positions examined (only 25 points) inside the search window, only find suboptimal solution  Easily fall into local minimum

Full Search All candidates within search window are examined (2w+1) 2 positions should be examined Advantage: Good accuracy, Finds best match Disadvantage: Large amount of computation: (2w+1) 2 matches, 16x16 MSE for each match. Impractical for real-time applications In order to avoid this complexity, we should reduce search positions  Fast Block Matching Algorithms

Fast Exhaustive Block Matching Algorithms Much Faster No performance Loss Idea: excluding many search positions while finding still best match:  SEA ( Successive Elimination Algorithm )  PNSA ( Progressive Norm Successive Algorithm )

SEA algorithm SAD of two blocks X and Y is defined as By Minkowski inequality Thus, By calculating the Block-Sum Difference first, we can eliminate many candidate Blocks (if D > SAD) before doing slow SAD About 2 times Faster than Exhaustive Search !! Fast Slow Denoted as D

Exhaustive Block-Matching Algorithm update …. SAD …. SAD…. Search range=2W+1 SEA Tree pruning decision PPSA The smallest SAD Total No of candidate Block: (2w+1) 2 Probability of eliminating invalid candidate block: SEA < PNSA < SAD Computation Load: SEA < PNSA < SAD

Fast Calculation of Block Sum Example  Search Window 7X7  Block size 3X3 Goal  Obtain block sum and store it in 7X7 2D array Question  How can we obtain the block sum in a efficient way?

Fast Calculation of Block Sum Consider row of size 3X9  Sum the pixels in each column i and store the sum in norm[i]  3X3 Block sum in each position of the 7x7 2D array is found by adding 3 norms Norm [0] Norm [1] Norm [2] Norm [3] Norm [4] Norm [5] Norm [6] Norm [7] Norm [8] Block Sum [0][0]

Fast Calculation of Block Sum Next row  Each norm[i] add 1 pixel below and minus 1 pixel above it  Block sum in each position is again found by adding 3 nearby norm Newly added this row Deleted from pixel of this row Norm [0] Norm [1] Norm [2] Norm [3] Norm [4] Norm [5] Norm [6] Norm [7] Norm [8] Block Sum [1][0]

Fast Calculation of Block Sum Last row – the same way Advantage:  No pixel is added repeatedly  Calculation of block sum become faster  Greatly improve the speed of SEA Newly added this row Deleted from pixel of this row Norm [0] Norm [1] Norm [2] Norm [3] Norm [4] Norm [5] Norm [6] Norm [7] Norm [8] Block Sum [6][0]

Feature Selection Which block should be chosen for tracking? Flat-colored block is not good A block in a region of repeated pattern is not good Why is the “ mouth ” a good candidate? How do we find a good feature block? Is that block good? No It is a good block !!

Feature Selection Goal:  Find a good reference block for tracking Criteria:  The candidate block should have great SAD with it ’ s neighbors  It contains “ complex ” information Great SAD with neighbors block  Prevent ambiguous detection  Speed up the searching algorithm  Many Candidate blocks are eliminated by the Tree in upper level Complex block  Prevent choosing flat region as reference block  Enhance the performance of PDE (Partial Distortion Elimination)

PDE (Partial Distortion Elimination) Simple, small overhead Comparison can be done Halfway  Stop if the sub-blocks SAD between block X and Y is already larger than previous minimum SAD Removes unnecessary computations efficiently if the feature block Y has high complexity  It will have great SAD with block X  Increase chance of halfway stop We implement a simple feature selection algorithm base on above criteria X: candidate block Y: feature block

Feature Selection Divide current frame to small rectangular blocks For each block, sum all the pixels value, denoted as I xy (Intensity of the block) Calculate the variance of each block which represent the complexity of the block Use Laplacian Mask for each block  The Laplacian operator indicates how difference the reference block is than the neighbors Flat background > small output Dissimilar with neighbors > large output Select the block which has the largest I xy and large variance as feature block Laplacian Mask

Spiral Scan Conventional Block Scanning Method  When calculating SAD of two blocks, left top position is considered first, then scan row by row, until the bottom right position is considered. Just like TV scanning order.  Simply to implement

Spiral Scan Proposed Block Scanning Method  Observation If optimal position is reached earlier, amount of computation will be reduced. Statistically, most of the movement are stationary or around the center. That means most of the motion vectors are center-biased.  Objective Search the motion vector around the center of a search window first Higher chance to meet the optimal position earlier  algorithm run faster

Spiral Scan First find the SAD at the center of the search window Then find the SAD at position that are n pixels away from the center where n = [1,BW] Search Window

Spiral Scan Proposed Block Scanning Method  Result Require larger memory space  If fast calculation of block sum is used together, the whole block sum 2D array is needed to be stored. Speed of Algorithm significantly improved, about 2- 3 times speed up in real-time motion tracking

Adaptive Search Window Conventional method  Center of the search window is the previous optimal position Search Window Block Center of Search Window

Adaptive Search Window Proposed method  Center of the search window is predicted based on the previous optimal position and motion vector  Example Previous motion vector is (1,0), i.e. one pixel to the right The predicted center of search window will be the next right pixel of the previous optimal position Search Window Block Center of Search Window

Adaptive Search Window Motivation  To Increase the speed of fast full search algorithm by searching the most probably optimal position first Need to corporate with Spiral Scan  To Increase the accuracy Why? How?

Conventional Search Window We used web camera to track the motion of an object and graph showing its x-axis velocity against time is plotted Due to the limited size of search window, if an object is moving too fast, the optimal position would fall out of the search window, serious error result |Velocity| < W pixels/s Assume the algorithm is run every second

Adaptive Search Window Based on the previous optimal position and motion vector, we estimate the next optimal position, and this will be the center of the search window E = (1-L)xE’ + LxA E: Expected Displacement E’: Current Expected Disp. L: Learning Factor A: Actual Displacement

Adaptive Search Window Applying adaptive search window method, the relative velocity fall within the range [-20,20], therefore optimal position should fall inside search window Relative velocity = actual disp. – expected disp. W: Search Range |Acceleration (relative velocity) | < W pixels/s Assume the algorithm is run every second

Table showing the time required to find the motion vector at different regions using different algorithms (Each algorithm is run 5 times) Result Time Typical Point ESA Algorithm Spiral ESA SAD Algorithm SEA PPNM PDE SAD Algorithm SEA PPNM PDE SSD Algorithm Spiral SEA PPNM PDE SSD Algorithm Adaptive Spiral SEA PPNM PDE SSD Algorithm High Gradient High Variance 1252ms270ms671ms331ms40ms30ms Low Gradient High Variance 1071ms281ms821ms130ms60ms50ms Low Gradient Low Variance 1342ms381ms1282ms791ms140ms80ms Optimal Motion Vector = (-5, 12), Previous Motion Vector = (-2, 4)  Affecting Spiral Scan and Adaptive Search Window algorithm

Future Work Implement “Adaptive Spiral SEA PPNM PDE SSD” Algorithm in mobile phone Make a simple application/game using motion tracking

Q & A