Microsoft Word - Review Notes for 16423.docx

Review Notes for 16423- Mid-Term – Spring 2017

*You will be able to bring in ONE cheat sheet of letter size (can be double-sided).

Part 1

Review general facts about mobile computing from Lectures 1-3 from slides. I want you to pay particu- lar attention to:1.

  1. why deviated from standard von-Neumann model?

CPU clock stuck at about 3GHz since 2006 due to high power consumption (up to 130W per chip)

  1. Why system on a chip?

SoCs attempt to find balance between energy and programmability. Designed with emphasis on low power consumption. SOC shares the same system bus with CPU, GPU and DSP. Therefore has much lower memory bandwidth. Useful for computer vision algorithm design as one can switch between CPU and GPU with little memory overhead.

  1. What types digital image sensors available and why?

CCD (charge coupled device) and CMOS (complementary metal oxide semiconductor) are the two most common image sensors found in digital cameras. CMOS imagers are inherently more parallel than CCDs. Consequently, high speed CMOS imagers can be designed to have much lower noise than high speed CCDs. CCD used to be the image sensor of choice as it gave far superior images with the fabrication technology available. CMOS was of interest with the the advent of mobile phones. CMOS promised lower power consumption. lowered fabrication costs (reuse mainstream logic and memory device fabrication).

  1. What is the rolling shutter effect?

CMOS captures images by scanning one line of the frame at a time.

If anything is moving fast, then it will lead to weird distortions in still photos, and to rather odd effects in video.

Review lecture notes and be able to answer effectively questions 14.1, 14.2, 14.3., 15.1, 15.2, 15.3, 15.10, 15.11, 16.1, 16.2, 16.3, 16.4, 16.5, 16.6, 16.7, 16.9. from Prince. One or two questions from here will most likely be on the exam. Further ,be able to derive the Euclidean and similarity transformations from the pinhole camera model.

Part 3

Review general facts mobile computing as well as BLAS & LAPACK. I want you to pay attention to:

  1. Why is BLAS & LAPACK substantially faster for matrix operations than naive C/C++ code?

  2. vector instructions. Single Instruction Multiple Data.What other speedups does the Accelerate Framework provide?

  3. Singla processing, image operations, matrix operations, misc math

  4. When should you try to use the GPU over the CPU in a vision algorithm?

  5. draw vertices, image filtering, rendering

  6. Why have use of GPUs become so widespread over the last two decades?

  7. Gaming in mobile, deep learning needs parallel processing.

  8. Why do many mobile developers choose to interact with the GPU through OpenGL ES rather

    than through other GPU libraries (e.g. CUDA, OpenCL, Metal, etc.)? Think of two examples here.

  9. platform independent, OpenCL and CUDA are no supported in iOS. Metal is platform dependent.

Part 4

Review slides. I want you to pay attention to:

  1. Knowing the difference between a Sobel and Prewitt 2D convolutional kernel.

  2. sobel operator finds more edges or make edges more visible as compared to Prewitt Operator.

  3. When we are trying to recover edges, why can we get away with just estimating gradients in

    the x- and y- direction?

  4. What is non-maximal suppression and why is it used?

  5. Non-Maximum suppression is applied to "thin" the edge. After applying gradient calculation, the edge extracted from the gradient value is still quite blurred. With respect to criterion 3, there should only be one accurate response to the edge. Thus non-maximum suppression can help to suppress all the gradient values to 0 except the local maximal, which indicates location with the sharpest change of intensity value.

  6. Where do classic edge detection methods (such as Canny) currently fail (try and think of 2 examples)?

  7. Texture edge (checker board pattern). Performs poorly when the scene contains a lot of texture or edges are indistinct

  8. What is the Hough Transform, where does it work well?

  9. Representing a line with cos and tan. can represent vertical line (infinite slope.) Lines and circles in 2D work well.

  10. What is the pixel coherence assumption, and why is it important when estimating image gradients?

  11. Nearly pixels are correlated?

  12. What is an interest point detector and why are they useful?

  13. Points that have unique features that can be used to track. Interest points can be used to align two images, estimate depth of an object from corresponding interest points in multiple images taken from different plane.

  14. What are the three states of “cornerness” and how can they be determined in practice?

  15. When matching interest points why is it problematic to use sum of square differences (SSD)

    between pixel intensities?

  16. Instead of pixel intensities what is the most common descriptor used in practice and why?

  17. Finally, review lecture notes and be able to answer effectively questions 13.2, 13.3 from

Prince.

Part 5:

I want you to pay particular focus on:

  1. Is a 2D Gaussian filter an example of a separable filter?

  2. Why are Gaussian filters considered slow on most modern architectures?

  3. Why are box filters much more efficient (think of at least 2 reasons)?

  4. How can box filters be utilized to approximate a Gaussian filter?

  5. What is the integral image trick and how is it used with SURF?

  6. Why is the integral image trick not that efficient on a GPU?

  7. What makes the FAST interest point detector efficient?

  8. Why is the BRIEF descriptor efficient?

  9. Why does the BRIEF descriptor use a Hamming distance to compute matches between

    descriptors?

  10. Why not use Euclidean distance?

Part 6:

Review math and notation for the Lucas-Kanade algorithm in slides. In particular ,I want you to pay particular focus on:

  1. Why is it not computationally feasible to exhaustively search over all warp parameters when at- tempting to match a template to a source image during image alignment?

  2. Describe the process the LK algorithm uses to linearize the relationship between appearance and warp parameters?

  3. Given image gradients and the Jacobian of the warp function demonstrate from first principles (using the chain rule) how the LK algorithm establishes this approximate linear relationship?

  4. Describe a strategy for establishing image gradients by solving a least-squares linear regres- sion problem for each pixel?

  5. What type of continuous non-linear least-squares optimization method is the Lucas-Kanade based on?

  6. Can you determine the Jacobian of an affine warp function from first principles?

  7. What steps does the inverse compositional algorithm employ to make the LK algorithm even

    more efficient?

  8. What assumptions do we need to make about the warp function to make inverse composition

    possible?

results matching ""

    No results matching ""