{"id":308,"date":"2016-12-16T21:32:41","date_gmt":"2016-12-16T21:32:41","guid":{"rendered":"http:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/?page_id=308"},"modified":"2017-05-12T20:36:35","modified_gmt":"2017-05-12T20:36:35","slug":"stereo-vision","status":"publish","type":"page","link":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/system-implementation\/stereo-vision\/","title":{"rendered":"Vision subsystem"},"content":{"rendered":"<p><span style=\"font-weight: 400\">This subsystem includes the two 3.2 MP Color CCD PointGrey Grasshopper 3 cameras used for our stereo-vision setup. It also includes the mounting solution for the cameras. This consists of the 8020 aluminum beam onto which the cameras are mounted, the 3D-printed camera housings, and the modified sun-visor mounts using which the rack is installed in the car .<\/span><\/p>\n<p><span style=\"font-weight: 400\">We can consider the Arduino module to be part of this subsystem as well. This is because the Arduino module consists of an in-line 12 VDC voltage regulator that also regulates the power to the cameras. Moreover, in addition to the voltage regulation for the cameras, this module can do two things: 1. hardware trigger the cameras, and 2. communicate GPS data to the computer. \u00a0The Arduino Micro reads GPS data from the Adafruit Ultimate GPS sensor module at a rate of 5 Hz and sends it via serial port to the computer for processing. The Adafruit GPS sensor has a high sensitivity of -165 dBm and it supports 66 channels. It updates at a rate of up to 10 Hz while consuming very low power, making it apt for use in our project. <\/span><\/p>\n<p>Our stereo system is designed with a long baseline (about 80 cm) in order to ensure accuracy of the depth calculation at relatively long distance (around 60 m). We also use advanced calibration method to compute the extrinsic and intrinsic parameters of the cameras. Our system is currently able to achieve around 88% accuracy. More details will be discussed in the two following sections: <strong>Stereo Vision Calibration:<\/strong> The purpose of this subsystem is to compute the intrinsic, extrinsic, relative rotation and translation of two cameras. The flow chart below shows how the stereo vision calibration algorithm works. <a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-content\/uploads\/sites\/12\/2016\/12\/Screen-Shot-2016-12-16-at-16.31.07.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-309 aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-content\/uploads\/sites\/12\/2016\/12\/Screen-Shot-2016-12-16-at-16.31.07.png\" alt=\"screen-shot-2016-12-16-at-16-31-07\" width=\"513\" height=\"287\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-content\/uploads\/sites\/12\/2016\/12\/Screen-Shot-2016-12-16-at-16.31.07.png 654w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-content\/uploads\/sites\/12\/2016\/12\/Screen-Shot-2016-12-16-at-16.31.07-300x168.png 300w\" sizes=\"auto, (max-width: 513px) 100vw, 513px\" \/><\/a> The Stereo Vision toolbox from MATLAB is used to compute those parameters. The toolbox takes several images pairs of a chessboard as the input, then it computes an optimized estimate of the mentioned parameters.<\/p>\n<p><strong>Stereo Vision Depth Computing:<\/strong> <a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-content\/uploads\/sites\/12\/2016\/12\/Screen-Shot-2016-12-16-at-16.31.19.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-310 aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-content\/uploads\/sites\/12\/2016\/12\/Screen-Shot-2016-12-16-at-16.31.19.png\" alt=\"screen-shot-2016-12-16-at-16-31-19\" width=\"552\" height=\"477\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-content\/uploads\/sites\/12\/2016\/12\/Screen-Shot-2016-12-16-at-16.31.19.png 666w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-content\/uploads\/sites\/12\/2016\/12\/Screen-Shot-2016-12-16-at-16.31.19-300x259.png 300w\" sizes=\"auto, (max-width: 552px) 100vw, 552px\" \/><\/a> The stereo vision system takes the output from the object detection algorithm and two images captured from the stereo vision as input. Using the SURF feature detector, the system can detect high-quality, unique features in both images. Then we combined RANSAC with a feature matching algorithm in order to get the correct matching pairs of features. Then the subsystem can use the triangulation method in order to compute the depth of the object.<\/p>\n<p><strong>Stereo Vision Results<\/strong><\/p>\n<p><strong>Depth Map<\/strong><\/p>\n<p><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-content\/uploads\/sites\/12\/2016\/12\/stereoELAS.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-402 aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-content\/uploads\/sites\/12\/2016\/12\/stereoELAS.png\" alt=\"\" width=\"574\" height=\"431\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-content\/uploads\/sites\/12\/2016\/12\/stereoELAS.png 574w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-content\/uploads\/sites\/12\/2016\/12\/stereoELAS-300x225.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-content\/uploads\/sites\/12\/2016\/12\/stereoELAS-285x214.png 285w\" sizes=\"auto, (max-width: 574px) 100vw, 574px\" \/><\/a><\/p>\n<p>Integrate with Object Detection<\/p>\n<p><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-content\/uploads\/sites\/12\/2017\/02\/DetectDepth.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-371 aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-content\/uploads\/sites\/12\/2017\/02\/DetectDepth.png\" alt=\"\" width=\"550\" height=\"409\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-content\/uploads\/sites\/12\/2017\/02\/DetectDepth.png 1267w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-content\/uploads\/sites\/12\/2017\/02\/DetectDepth-300x223.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-content\/uploads\/sites\/12\/2017\/02\/DetectDepth-768x570.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-content\/uploads\/sites\/12\/2017\/02\/DetectDepth-1024x761.png 1024w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This subsystem includes the two 3.2 MP Color CCD PointGrey Grasshopper 3 cameras used for our stereo-vision setup. It also includes the mounting solution for the cameras. This consists of the 8020 aluminum beam onto which the cameras are mounted, the 3D-printed camera housings, and the modified sun-visor mounts using which the rack is installed&hellip;&nbsp;<\/p>\n","protected":false},"author":69,"featured_media":0,"parent":53,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-fullwidth.php","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"class_list":["post-308","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-json\/wp\/v2\/pages\/308","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-json\/wp\/v2\/users\/69"}],"replies":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-json\/wp\/v2\/comments?post=308"}],"version-history":[{"count":8,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-json\/wp\/v2\/pages\/308\/revisions"}],"predecessor-version":[{"id":517,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-json\/wp\/v2\/pages\/308\/revisions\/517"}],"up":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-json\/wp\/v2\/pages\/53"}],"wp:attachment":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2016teama\/wp-json\/wp\/v2\/media?parent=308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}