Computer Vision Algorithms on Reconfigurable Logic Arrays By Nalini K(cid:2) Ratha A DISSERTATION Submitted to Michigan State University in partial ful(cid:2)llment of the requirements for the degree of Doctor of Philosophy Department of Computer Science (cid:3)(cid:4)(cid:4)(cid:5) Professor Anil K(cid:6) Jain Abstract Computer Vision Algorithms on Reconfigurable Logic Arrays By Nalini K(cid:2) Ratha Computer vision algorithms are natural candidates for high performance com(cid:2) puting due to their inherent parallelism and intense computational demands(cid:3) For example(cid:4) a simple (cid:5) (cid:0) (cid:5) convolution on a (cid:6)(cid:7)(cid:8) (cid:0) (cid:6)(cid:7)(cid:8) gray scale image at (cid:5)(cid:9) frames per second requires (cid:10)(cid:11)(cid:3)(cid:6) million multiplications and (cid:10)(cid:9) million additions to be per(cid:2) formed in one second(cid:3) Computer vision tasks can be classi(cid:12)ed into three categories based on their computational complexity and communication complexity(cid:13) low(cid:2)level(cid:4) intermediate(cid:2)level and high(cid:2)level(cid:3) Special(cid:2)purpose hardware provides better perfor(cid:2) mancecomparedto a general(cid:2)purpose hardware for all the threelevelsof vision tasks(cid:3) Withrecentadvances inverylargescaleintegration(cid:14)VLSI(cid:15)technology(cid:4)anapplication speci(cid:12)c integrated circuit (cid:14)ASIC(cid:15) can provide the best performance in terms of total execution time(cid:3) However(cid:4) long design cycle time(cid:4) high development cost and in(cid:16)exi(cid:2) bilityof a dedicated hardware deter design of ASICs(cid:3) In contrast(cid:4) (cid:12)eld programmable gate arrays (cid:14)FPGAs(cid:15) support lower design veri(cid:12)cation time and easier design adapt(cid:2) ability at a lower cost(cid:3) Hence(cid:4) FPGAs with an array of recon(cid:12)gurable logic blocks can be very useful compute elements(cid:3) FPGA(cid:2)based custom computing machines are playing a major role in realizing high performance application accelerators(cid:3) Three computer vision algorithms have been investigated for mapping onto custom com(cid:2) puting machines(cid:13) (cid:14)i(cid:15) template matching (cid:14)convolution(cid:15) (cid:17) a low level vision operation (cid:14)ii(cid:15) texture(cid:2)based segmentation (cid:17) an intermediate(cid:2)leveloperation(cid:4) and (cid:14)iii(cid:15) point pat(cid:2) tern matching(cid:17) a high levelvision algorithm(cid:3) The advantages demonstrated through these implementations are as follows(cid:3) First(cid:4) custom computing machines are suitable for all the three levels of computer vision algorithms(cid:3) Second(cid:4) custom computing machinescan map all stages of a vision systemeasily(cid:3) This is unlike typical hardware platforms where a separate subsystem is dedicated to a speci(cid:12)c step of the vision algorithm(cid:3) Third(cid:4) custom computing approach can run a vision application at a high speed(cid:4) often very close to the speed of special(cid:2)purpose hardware(cid:3) The performance of these algorithms on Splash (cid:8) (cid:17) a Xilinx (cid:18)(cid:9)(cid:7)(cid:9) (cid:12)eld programmable gate array(cid:2)based custom computing machine(cid:17) is near ASIC levelof speed(cid:3) A taxonomy involving cus(cid:2) tom computing platforms(cid:4) special purpose vision systems(cid:4) general purpose processors and special purpose ASICs has been constructed using several comparative features characterizing these systems and standard hierarchical clustering algorithms(cid:3) The taxonomy provides an easy way of understanding the features of custom computing machines(cid:3) To my parents (cid:3) Thank you for your constant encouragement for higher academic pursuits(cid:2) iv Acknowledgments I take this oppurtunity to express my deep sense of gratitude to my advisor Dr(cid:3) Anil K(cid:3)Jain for having having recruitedmeinto thePh(cid:3) D(cid:3)program and assigning methis wonderfulthesistopic(cid:3) Hissupport(cid:4) encouragementandaboveallconstantmonitoring and guidance kept me involved in the project leading to successful completion of my degree(cid:3) I consider myself very lucky for having worked with such a great personality and mentor(cid:3) I wish to thank mycommitteemembersDr(cid:3) Lionel M(cid:3)Ni(cid:4) Dr(cid:3) John Weng(cid:4) Dr(cid:3) Di(cid:2) ane T(cid:3) Rover and Dr(cid:3) V(cid:3) Mandrekar for serving on my committee and contributing towards enhancing the quality of my thesis in several ways(cid:3) This research work was supported by (cid:12)nancial assistance from the Department of Defense(cid:3) I acknowledge their support(cid:3) In particular(cid:4) help from Dr(cid:3) D(cid:3) A(cid:3) Buell(cid:4) Dr(cid:3) Je(cid:19) Arnold and Mr(cid:3) Brian Schott of Center for Computing Research(cid:4) Bowie(cid:4) Maryland(cid:4) is greatly appreciated(cid:3) Several long hours of discussion with Brian and his personal help in making me understand programming on Splash (cid:8) has helped me in a big way(cid:3) In addition(cid:4) I wish to thank Dr(cid:3) Sea H(cid:3) Choi for his assistance in VHDL related problems(cid:3) As a project investigator(cid:4) Dr(cid:3) Rover was veryhelpful(cid:4) easily v accessible and took care of many issues to make the project very successful(cid:3) I thank her for her assistance(cid:3) ThePatternRecognitionandImageProcessing(cid:14)PRIP(cid:15)laboratory providedoneof the (cid:12)nest and up(cid:2)to(cid:2)date computing facilities for this reseach(cid:3) I thank the PRIP Lab managers Lisa Lees(cid:4) Hans Dulimarta and Karissa Miller for their dedicated e(cid:19)orts in making the PRIP lab a great place to work(cid:3) I have personally bene(cid:12)ted fromall the PRIPpies(cid:4) both past and present(cid:4) for their help and support over my stay at MSU(cid:3) I thank them all(cid:3) Special thanks are due to Aditya and Prasoon for their help in proof reading my draft version of the thesis(cid:3) Last but not the least(cid:4) I thank my wife Meena for her unfailing support(cid:4) under(cid:2) standing and help in successful completion of this thesis(cid:3) Her encouragement kept me motivated even during the most di(cid:20)cult periods(cid:3) vi Table of Contents LIST OF FIGURES x LIST OF TABLES xiii (cid:2) Introduction (cid:2) (cid:7)(cid:3)(cid:7) Computer vision methodologies (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:5) (cid:7)(cid:3)(cid:8) Vision task hierarchy (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:18) (cid:7)(cid:3)(cid:5) Computational characteristics of computer vision problems (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:10) (cid:7)(cid:3)(cid:18) Need for real(cid:2)time computer vision systems(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:8) (cid:7)(cid:3)(cid:6) Architectures for vision (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:5) (cid:7)(cid:3)(cid:6)(cid:3)(cid:7) Architectural features for vision algorithms (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:6) (cid:7)(cid:3)(cid:10) Recon(cid:12)gurable logic arrays (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:21) (cid:7)(cid:3)(cid:11) Hardware(cid:2)software codesign (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:8)(cid:9) (cid:7)(cid:3)(cid:22) Contribution of the thesis (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:8)(cid:7) (cid:7)(cid:3)(cid:21) Overview of the thesis (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:8)(cid:5) (cid:3) Parallel Architectures and Algorithms for Computer Vision (cid:3)(cid:4) (cid:8)(cid:3)(cid:7) Languages (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:8)(cid:10) (cid:8)(cid:3)(cid:8) Algorithms (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:8)(cid:11) (cid:8)(cid:3)(cid:8)(cid:3)(cid:7) System design issues (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:8)(cid:22) (cid:8)(cid:3)(cid:8)(cid:3)(cid:8) Vision and image processing applications (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:8)(cid:21) (cid:8)(cid:3)(cid:5) Special(cid:2)purpose hardware (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:5)(cid:22) (cid:8)(cid:3)(cid:5)(cid:3)(cid:7) Multimedia Video Processor (cid:14)MVP(cid:2)(cid:22)(cid:9)(cid:15) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:5)(cid:22) (cid:8)(cid:3)(cid:5)(cid:3)(cid:8) WARP and iWARP Processors (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:18)(cid:7) (cid:8)(cid:3)(cid:5)(cid:3)(cid:5) NETRA (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:18)(cid:7) (cid:8)(cid:3)(cid:5)(cid:3)(cid:18) Image Understanding Architecture (cid:14)IUA(cid:15) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:18)(cid:8) (cid:8)(cid:3)(cid:5)(cid:3)(cid:6) An Integrated Vision Tri(cid:2)Architecture System (cid:14)VisTA(cid:15) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:18)(cid:18) (cid:8)(cid:3)(cid:5)(cid:3)(cid:10) Scan Line Array Processor (cid:14)SLAP(cid:15) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:18)(cid:18) (cid:8)(cid:3)(cid:18) Commercial image processing accelerators (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:18)(cid:6) (cid:8)(cid:3)(cid:18)(cid:3)(cid:7) PIPE (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:18)(cid:10) (cid:8)(cid:3)(cid:18)(cid:3)(cid:8) Datacube MV(cid:2)(cid:8)(cid:6)(cid:9) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:18)(cid:11) (cid:8)(cid:3)(cid:18)(cid:3)(cid:5) Imaging Technology MVC(cid:2)(cid:7)(cid:6)(cid:9) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:18)(cid:22) (cid:8)(cid:3)(cid:18)(cid:3)(cid:18) Alacron i(cid:22)(cid:10)(cid:9) and Sharc multiprocessor boards (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:18)(cid:21) (cid:8)(cid:3)(cid:18)(cid:3)(cid:6) Data Translation DT(cid:2)(cid:8)(cid:22)(cid:10)(cid:11) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:6)(cid:9) (cid:8)(cid:3)(cid:6) General(cid:2)purpose parallel processors (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:6)(cid:9) (cid:8)(cid:3)(cid:6)(cid:3)(cid:7) SP(cid:2)(cid:8) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:6)(cid:9) (cid:8)(cid:3)(cid:6)(cid:3)(cid:8) CM(cid:2)(cid:6) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:6)(cid:8) vii viii (cid:8)(cid:3)(cid:6)(cid:3)(cid:5) MasPar MP(cid:2)(cid:8) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:6)(cid:5) (cid:8)(cid:3)(cid:10) Summary (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:6)(cid:18) (cid:5) Custom Computing Machines (cid:4)(cid:4) (cid:5)(cid:3)(cid:7) Field programmable gate arrays (cid:14)FPGAs(cid:15) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:6)(cid:10) (cid:5)(cid:3)(cid:8) Recent trends in FPGAs (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:10)(cid:9) (cid:5)(cid:3)(cid:5) Survey of FPGA(cid:2)based computing machines (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:10)(cid:7) (cid:5)(cid:3)(cid:18) Splash (cid:8) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:10)(cid:18) (cid:5)(cid:3)(cid:6) Programming paradigm (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:10)(cid:11) (cid:5)(cid:3)(cid:10) Logic synthesis (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:10)(cid:22) (cid:5)(cid:3)(cid:11) Software environment of Splash (cid:8) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:10)(cid:21) (cid:5)(cid:3)(cid:22) Case study(cid:13) Image segmentation on Splash (cid:8) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:11)(cid:7) (cid:5)(cid:3)(cid:22)(cid:3)(cid:7) Sequential algorithm (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:11)(cid:8) (cid:5)(cid:3)(cid:22)(cid:3)(cid:8) Mapping of image segmentation algorithm on Splash (cid:8) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:11)(cid:18) (cid:5)(cid:3)(cid:22)(cid:3)(cid:5) Experimental results (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:11)(cid:11) (cid:5)(cid:3)(cid:21) Summary (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:11)(cid:21) (cid:6) Image Convolution (cid:7)(cid:2) (cid:18)(cid:3)(cid:7) Generalized convolution (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:22)(cid:8) (cid:18)(cid:3)(cid:8) Template matching (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:22)(cid:5) (cid:18)(cid:3)(cid:5) Image morphology (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:22)(cid:11) (cid:18)(cid:3)(cid:18) Application of generalized convolution (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:21)(cid:9) (cid:18)(cid:3)(cid:18)(cid:3)(cid:7) Orientation (cid:12)eld computation using (cid:8)(cid:2)D convolution (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:21)(cid:9) (cid:18)(cid:3)(cid:18)(cid:3)(cid:8) Skeleton smoothing using image morphology (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:21)(cid:7) (cid:18)(cid:3)(cid:18)(cid:3)(cid:5) Background removal in document image processing (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:21)(cid:5) (cid:18)(cid:3)(cid:6) Mapping onto Splash (cid:8) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:21)(cid:18) (cid:18)(cid:3)(cid:6)(cid:3)(cid:7) Implementation issues (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:21)(cid:10) (cid:18)(cid:3)(cid:10) Analysis of convolution on Splash (cid:8) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:9)(cid:5) (cid:18)(cid:3)(cid:11) Discussion (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:9)(cid:22) (cid:18)(cid:3)(cid:22) Summary (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:9)(cid:21) (cid:4) Image Segmentation (cid:2)(cid:2)(cid:2) (cid:6)(cid:3)(cid:7) Page layout segmentation (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:7)(cid:8) (cid:6)(cid:3)(cid:8) Mapping onto Splash (cid:8) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:7)(cid:6) (cid:6)(cid:3)(cid:8)(cid:3)(cid:7) Filtering (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:7)(cid:6) (cid:6)(cid:3)(cid:8)(cid:3)(cid:8) Analysis of the (cid:12)lter mapping (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:7)(cid:10) (cid:6)(cid:3)(cid:8)(cid:3)(cid:5) Neural network classi(cid:12)er (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:7)(cid:11) (cid:6)(cid:3)(cid:8)(cid:3)(cid:18) Analysis of neural network implementation (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:8)(cid:6) (cid:6)(cid:3)(cid:8)(cid:3)(cid:6) Scalability (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:8)(cid:10) (cid:6)(cid:3)(cid:8)(cid:3)(cid:10) Speed evaluation for neural network implementation (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:8)(cid:10) (cid:6)(cid:3)(cid:5) Analysis of the whole page layout algorithm (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:8)(cid:11) (cid:6)(cid:3)(cid:18) Discussion (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:8)(cid:22) (cid:6)(cid:3)(cid:6) Summary (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:8)(cid:21) ix (cid:8) Point Pattern Matching (cid:2)(cid:5)(cid:9) (cid:10)(cid:3)(cid:7) Fingerprint matching (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:5)(cid:7) (cid:10)(cid:3)(cid:8) Matching algorithm (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:5)(cid:22) (cid:10)(cid:3)(cid:5) Mapping point pattern matching onto Splash (cid:8) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:18)(cid:7) (cid:10)(cid:3)(cid:5)(cid:3)(cid:7) Computations on Splash (cid:8) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:18)(cid:5) (cid:10)(cid:3)(cid:18) Analysis of point pattern matching algorithm on Splash (cid:8)(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:18)(cid:6) (cid:10)(cid:3)(cid:18)(cid:3)(cid:7) Simulation and synthesis results (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:18)(cid:6) (cid:10)(cid:3)(cid:18)(cid:3)(cid:8) Performance analysis (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:18)(cid:10) (cid:10)(cid:3)(cid:6) Discussion (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:18)(cid:22) (cid:10)(cid:3)(cid:10) Summary (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:18)(cid:22) (cid:10) Building a Taxonomy of Computer Architectures (cid:2)(cid:4)(cid:9) (cid:11)(cid:3)(cid:7) Proposed method (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:6)(cid:18) (cid:11)(cid:3)(cid:7)(cid:3)(cid:7) Systems used for the study (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:6)(cid:6) (cid:11)(cid:3)(cid:7)(cid:3)(cid:8) Method (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:6)(cid:10) (cid:11)(cid:3)(cid:8) Results (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:6)(cid:11) (cid:11)(cid:3)(cid:8)(cid:3)(cid:7) Visualization (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:6)(cid:21) (cid:11)(cid:3)(cid:8)(cid:3)(cid:8) Hierarchical clustering (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:10)(cid:9) (cid:11)(cid:3)(cid:5) Discussion (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:10)(cid:7) (cid:11)(cid:3)(cid:18) Summary (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:10)(cid:8) (cid:7) Conclusions and Directions for Future Research (cid:2)(cid:8)(cid:4) (cid:22)(cid:3)(cid:7) Directions for future research (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:10)(cid:22) APPENDICES (cid:2)(cid:10)(cid:9) A Case Study(cid:11) Image Segmentation (cid:2)(cid:10)(cid:9) B Image Segmentation(cid:11) Mask Values (cid:3)(cid:9)(cid:9) C Image Segementation(cid:11) Neural Network Weights (cid:3)(cid:9)(cid:4) BIBLIOGRAPHY (cid:3)(cid:9)(cid:7) List of Figures (cid:7)(cid:3)(cid:7) Bottom(cid:2)up approach to designing a vision system(cid:3) (cid:14)Adapted from (cid:23)(cid:7)(cid:18)(cid:11)(cid:24)(cid:15) (cid:18) (cid:7)(cid:3)(cid:8) Design of a computer vision system with a (cid:25)feedback(cid:26) path(cid:3) (cid:14)Adapted from (cid:23)(cid:7)(cid:18)(cid:11)(cid:24)(cid:15) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:6) (cid:7)(cid:3)(cid:5) Edge detection(cid:3) (cid:14)a(cid:15) Input image(cid:27)(cid:14)b(cid:15) Edge map using GNC(cid:27) (cid:14)c(cid:15) Edge map using Sobel operator (cid:14)d(cid:15) Edge map using Canny operator(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:22) (cid:7)(cid:3)(cid:18) Image segmentation(cid:3) (cid:14)a(cid:15) Input image(cid:27) (cid:14)b(cid:15) Segmented image(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:21) (cid:7)(cid:3)(cid:6) Shape from stereo(cid:3) (cid:14)a(cid:15) Left image(cid:27) (cid:14)b(cid:15) Right image(cid:27) (cid:14)c(cid:15) Depth (cid:14)brighter pixel means closer to the viewer(cid:15)(cid:27) (cid:14)d(cid:15) Displacement vector(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:7) (cid:7)(cid:3)(cid:10) Classi(cid:12)cation of architectures for vision(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:6) (cid:7)(cid:3)(cid:11) Vision task pyramid(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:7)(cid:11) (cid:8)(cid:3)(cid:7) Architecture of MVP(cid:2)(cid:22)(cid:9)(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:18)(cid:9) (cid:8)(cid:3)(cid:8) Architecture of NETRA(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:18)(cid:8) (cid:8)(cid:3)(cid:5) Schematic overview of IUA(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:18)(cid:5) (cid:8)(cid:3)(cid:18) Architecture of SLAP(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:18)(cid:6) (cid:8)(cid:3)(cid:6) Schematic of a PIPE processor(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:18)(cid:11) (cid:8)(cid:3)(cid:10) Schematic of Datacube MV(cid:2)(cid:8)(cid:6)(cid:9)(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:18)(cid:22) (cid:8)(cid:3)(cid:11) Architecture of SP(cid:2)(cid:8)(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:6)(cid:8) (cid:8)(cid:3)(cid:22) Architecture of CM(cid:2)(cid:6)(cid:3) (cid:14)Adapted from (cid:23)(cid:21)(cid:10)(cid:24)(cid:15) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:6)(cid:5) (cid:8)(cid:3)(cid:21) Architecture of MP(cid:2)(cid:8)(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:6)(cid:18) (cid:5)(cid:3)(cid:7) Methods for embedded system design(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:6)(cid:10) (cid:5)(cid:3)(cid:8) Structure of a Xilinx (cid:18)(cid:9)(cid:7)(cid:9) CLB(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:6)(cid:11) (cid:5)(cid:3)(cid:5) Splash (cid:8) architecture(cid:3)(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:10)(cid:6) (cid:5)(cid:3)(cid:18) A Processing Element (cid:14)PE(cid:15) in Splash (cid:8)(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:10)(cid:10) (cid:5)(cid:3)(cid:6) Programming (cid:16)ow for Splash (cid:8)(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:10)(cid:22) (cid:5)(cid:3)(cid:10) Steps in software development on Splash (cid:8)(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:11)(cid:9) (cid:5)(cid:3)(cid:11) Flow chart of a simple page segmentation algorithm(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:11)(cid:5) (cid:5)(cid:3)(cid:22) Page Layout Segmentation(cid:3) (cid:14)a(cid:15) Input gray(cid:2)level image(cid:27) (cid:14)b(cid:15) Result of the segmentation algorithm(cid:27) (cid:14)c(cid:15) Result after postprocessing(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:11)(cid:6) (cid:5)(cid:3)(cid:21) Simulation results of page layout segmentation on Splash (cid:8)(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:11)(cid:10) (cid:5)(cid:3)(cid:7)(cid:9) Schematic for page layout segmentation on Splash (cid:8)(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:11)(cid:11) (cid:5)(cid:3)(cid:7)(cid:7) Schematic for (cid:12)ltering on Splash (cid:8)(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:11)(cid:11) (cid:5)(cid:3)(cid:7)(cid:8) Projected speed for X(cid:0)(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:11)(cid:22) (cid:5)(cid:3)(cid:7)(cid:5) Page Layout Segmentationusing Splash (cid:8)(cid:3) (cid:14)a(cid:15) Input gray(cid:2)levelimagewith (cid:5)(cid:8)(cid:0)(cid:5)(cid:8) pixelwindows shown(cid:27) (cid:14)b(cid:15) Result of the segmentationalgorithm running on Splash(cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:3) (cid:22)(cid:9) x
Description: