ARRAY SET ADDRESSING: ENABLING EFFICIENT HEXAGONALLY SAMPLED IMAGE PROCESSING by NICHOLAS I. RUMMELT a DISSERTATION PRESENTED TO
Total Page:16
File Type:pdf, Size:1020Kb
ARRAY SET ADDRESSING: ENABLING EFFICIENT HEXAGONALLY SAMPLED IMAGE PROCESSING By NICHOLAS I. RUMMELT A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY UNIVERSITY OF FLORIDA 2010 1 °c 2010 Nicholas I. Rummelt 2 To my beautiful wife and our three wonderful children 3 ACKNOWLEDGMENTS Thanks go out to my family for their support, understanding, and encouragement. I especially want to thank my advisor and committee chair, Joseph N. Wilson, for his keen insight, encouragement, and excellent guidance. I would also like to thank the other members of my committee: Paul Gader, Arunava Banerjee, Jeffery Ho, and Warren Dixon. I would like to thank the Air Force Research Laboratory (AFRL) for generously providing the opportunity, time, and funding. There are many people at AFRL that played some role in my success in this endeavor to whom I owe a debt of gratitude. I would like to specifically thank T.J. Klausutis, Ric Wehling, James Moore, Buddy Goldsmith, Clark Furlong, David Gray, Paul McCarley, Jimmy Touma, Tony Thompson, Marta Fackler, Mike Miller, Rob Murphy, John Pletcher, and Bob Sierakowski. 4 TABLE OF CONTENTS page ACKNOWLEDGMENTS .................................. 4 LIST OF TABLES ...................................... 7 LIST OF FIGURES ..................................... 8 ABSTRACT ......................................... 10 CHAPTER 1 INTRODUCTION AND BACKGROUND ...................... 11 1.1 Introduction ................................... 11 1.2 Background ................................... 11 1.3 Recent Related Research ........................... 15 1.4 Recent Related Academic Research ..................... 16 1.5 Hexagonal Image Formation and Display Considerations ......... 17 1.5.1 Converting from Rectangularly Sampled Images .......... 17 1.5.2 Hexagonal Imagers ........................... 19 1.5.3 Displaying Hexagonal Images ..................... 21 2 ARRAY SET ADDRESSING (ASA) ......................... 24 2.1 Forming an Array Set from a Hexagonal Grid ................ 24 2.2 Neighborhoods ................................. 26 2.3 Forms of Array Sets .............................. 26 2.4 Efficient and Compact Storage in Digital Memory .............. 27 2.5 Converting Between Cartesian Coordinates and ASA ........... 28 2.6 Distance Measures Using ASA ........................ 34 2.6.1 Euclidean Distance ........................... 34 2.6.2 City-Block Distance ........................... 34 2.7 Vector Arithmetic ................................ 36 2.7.1 Proof of the Associativity of Addition ................. 37 2.7.2 Proof of Distributivity of Scalar Multiplication (w.r.t. Scalar Addition) 39 2.7.3 Proof of Compatibility of Scalar Multiplication (with Multiplication of Scalars) ................................ 41 2.8 Comparison of ASA to Spiral Addressing .................. 42 3 BASIC IMAGE PROCESSING OPERATIONS ................... 44 3.1 Convolution ................................... 44 3.2 Gradient Estimation .............................. 46 3.3 Edge Detection ................................. 51 3.3.1 Gradient-Based Edge Detector .................... 51 3.3.2 Laplacian of Gaussian (LoG) Edge Detector ............. 52 5 3.3.3 Canny Edge Detector ......................... 57 3.4 Downsampling ................................. 66 4 TRANSFORMS .................................... 68 4.1 Fourier Transforms ............................... 68 4.1.1 The Hexagonal Discrete Fourier Transform (HDFT) ......... 68 4.1.2 The Hexagonal Fast Fourier Transform (HFFT) ........... 69 4.1.3 The Hexagonal Discrete-Space Fourier Transform (HDSFT) .... 79 4.2 The Z Transform ................................ 80 4.3 Wavelet Transforms .............................. 81 5 QUANTITATIVE COMPARISON USING REAL IMAGES ............. 89 6 CONCLUSION .................................... 92 6.1 Summary of Accomplishments ........................ 92 6.2 Significance of Accomplishments ....................... 94 6.3 Final Thought - Rectangular Component Conjecture ............ 94 APPENDIX A PROOFS OF ASA Z-MODULE PROPERTIES .................. 96 A.1 Preliminaries .................................. 96 A.1.1 Domains ................................. 96 A.1.2 Identities ................................. 96 A.2 Commutativity of Addition ........................... 96 A.3 Identity Element of Addition .......................... 97 A.4 Inverse Elements of Addition ......................... 97 A.5 Distributivity of Scalar Multiplication (w.r.t. Vector Addition) ......... 97 A.6 Identity Element of Scalar Multiplication ................... 99 B PYTHON SOURCE CODE FOR ASA TO HIP RUNTIME COMPARISON .... 100 REFERENCES ....................................... 108 BIOGRAPHICAL SKETCH ................................ 113 6 LIST OF TABLES Table page 2-1 Forms of Array Sets ................................. 27 2-2 Average Number of Operations Executed (Yang vs. Hybrid) ........... 29 2-3 Properties of Array Set Addressing (ASA) Vectors ................ 37 2-4 Run Time Comparison Between ASA and HIP (¹s, mean (std)) ......... 43 2-5 Complexity Comparison Between ASA and HIP .................. 43 4-1 Computations Required for Hexagonal Fast Fourier Transform Arrays ..... 74 7 LIST OF FIGURES Figure page 1-1 Retesselating a Source Image ........................... 18 1-2 Example of Converting a Source Image ...................... 19 1-3 Trapezoidal Image Sensor Design ......................... 20 1-4 Depiction of “Brick Wall” Display Technique .................... 21 1-5 Four Common Displays and Two Potential Hexagonal Red-Green-Blue (RGB) Displays ........................................ 23 2-1 Hexagonal Grid Spacing ............................... 25 2-2 Example of Separating the Hexagonal Grid into an Array Set .......... 25 2-3 Determining the Neighbors of a Given Pixel .................... 26 2-4 Storage of Array Set Addressing (ASA) Addresses ................ 28 2-5 Representation of xs -ys Space ........................... 30 2-6 Resolving the Boundary Case ............................ 31 3-1 ASA Convolution Example .............................. 45 3-2 Comparison of Nearest Neighbor Neighborhood Sizes .............. 45 3-3 Example of Fitting a Plane to a Hexagonal Neighborhood ............ 47 3-4 Hexagonal Neighborhood Indexing ......................... 47 3-5 Convolution Masks for Local Gradient Estimation ................. 50 3-6 Example 1 of Gradient-Based Edge Detection ................... 53 3-7 Example 2 of Gradient-Based Edge Detection ................... 54 3-8 Example 3 of Gradient-Based Edge Detection ................... 55 3-9 Example 1 of Laplacian of Gaussian (LoG)-Based Edge Detection ....... 58 3-10 Example 2 of LoG-Based Edge Detection ..................... 59 3-11 Example 3 of LoG-Based Edge Detection ..................... 60 3-12 Quantization Directions of Canny Edge Detector ................. 62 3-13 Example 1 of Canny Edge Detection ........................ 63 3-14 Example 2 of Canny Edge Detection ........................ 64 8 3-15 Example 3 of Canny Edge Detection ........................ 65 3-16 Downsampling with ASA ............................... 67 4-1 Standard Fast Fourier Transform (FFT) Butterfly Diagram - Full Computation . 75 4-2 Standard FFT Butterfly Diagram - Reduced Computation ............ 75 4-3 Non-Standard Transform 1 (NST1) Butterfly Diagram - Full Computation .... 76 4-4 NST1 Butterfly Diagram - Reduced Computation ................. 76 4-5 Non-Standard Transform 2 (NST2) Butterfly Diagram - Full Computation .... 77 4-6 NST2 Butterfly Diagram - Reduced Computation ................. 77 4-7 Non-Standard Transform 3 (NST3) Butterfly Diagram - Full Computation .... 78 4-8 NST3 Butterfly Diagram - Reduced Computation ................. 78 4-9 Idealized Wavelet Transform Regions of Support (Hexagonal vs. Rectangular) 83 4-10 Wavelet Transform Analysis Filter Bank ...................... 84 4-11 Wavelet Transform Synthesis Filter Bank ...................... 85 4-12 Lilies Image (Hexagonally Sampled) ........................ 86 4-13 Hexagonal Discrete Wavelet Transform of Lilies Image .............. 87 5-1 Trapezoidal Imager .................................. 89 5-2 Example of a Radial Sine Wave (Left) and its Fourier Transform (Right) .... 90 5-3 Experimental Results ................................ 91 9 Abstract of Dissertation Presented to the Graduate School of the University of Florida in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy ARRAY SET ADDRESSING: ENABLING EFFICIENT HEXAGONALLY SAMPLED IMAGE PROCESSING By Nicholas I. Rummelt December 2010 Chair: Joseph N. Wilson Major: Computer Engineering It has long been known that there are numerous advantages to sampling images hexagonally rather than rectangularly. However, due to various shortcomings of the addressing schemes, hexagonal sampling for digital images has not been embraced by the mainstream digital imaging community. The idea of using hexagonal sampling for digital imaging applications has been around since the early 1960s, yet no efficient addressing method for hexagonal grids has been developed in that time. This disser- tation introduces a new hexagonal addressing technique called array set addressing (ASA), that solves the problems exhibited by other methods. This new approach uses three coordinates to represent the hexagonal grid as a pair of rectangular arrays. This representation supports efficient linear algebra and image processing