{"id":2,"date":"2019-02-01T20:19:41","date_gmt":"2019-02-01T20:19:41","guid":{"rendered":"http:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/?page_id=2"},"modified":"2019-12-06T20:25:34","modified_gmt":"2019-12-06T20:25:34","slug":"project-introduction","status":"publish","type":"page","link":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/","title":{"rendered":"Project Introduction"},"content":{"rendered":"<h4>Deep Slope Estimation with Formal Verification<\/h4>\n<p>In order to drive safely, autonomous vehicles need to estimate the slope of the terrain on which the vehicle intends to drive. This is necessary to determine which parts of the terrain are drivable and to avoid obstacles. For example, when driving on a rough outdoor terrain, the vehicle will need to determine which parts of the terrain are drivable and which parts are not. In an urban setting, the vehicle might encounter small obstacles in the road such as a soda can (which it can drive over) or larger obstacles such as a tree trunk, which it cannot; the vehicle will need to determine whether it can drive over each obstacle or whether it needs to drive around it or possibly stop and call for help if the road seems to be blocked. Thus, estimating the slope and drivability of the terrain is crucial for safe autonomous driving.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-40 size-full\" src=\"http:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-content\/uploads\/sites\/21\/2019\/05\/2.png\" alt=\"\" width=\"1796\" height=\"1036\" srcset=\"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-content\/uploads\/sites\/21\/2019\/05\/2.png 1796w, https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-content\/uploads\/sites\/21\/2019\/05\/2-300x173.png 300w, https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-content\/uploads\/sites\/21\/2019\/05\/2-768x443.png 768w, https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-content\/uploads\/sites\/21\/2019\/05\/2-1024x591.png 1024w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/p>\n<p>Current methods for slope estimation have an unacceptable tradeoff. One approach is to fit a mesh to a set of points and then to use geometric methods to analytically compute the normal at each point; however, such exact methods are too slow for real-time use, especially when they are used as part of a complex autonomous driving pipeline which includes object detection, segmentation, tracking, and motion planning. For such a system, ground-slope estimation should be completed as quickly as possible to leave time for the other components of the system. Further, geometric methods are usually not robust to sensor noise, leading to noisy slope estimates. Thus, accurate geometric methods are usually not used for real-time autonomous driving. Most real systems today use fast but approximate methods to estimate the slope at each point; however, such approximate approaches can make mistakes leading to a dangerous collision with an obstacle or causing the vehicle to get stuck.<\/p>\n<p>Our solution is to use deep slope estimation with formal verification. We will train a neural network to quickly estimate the slope at all points of a large terrain. We will then compress the model to make it analyzable for formal verification methods. This combination of deep learning with formal verification will allow our method to be both fast and provably accurate.<\/p>\n<h4>Cloth Parts Detection<\/h4>\n<p>We&#8217;d like to detect some interesting and important parts of the cloth. For example, for the towels, we&#8217;d like to detect the edges and corners. For the T-shirts, we&#8217;d like to detect the\u00a0edges and corners, and also distinguish between the collars, shoulders, and sleeves. The motivation of the project is that the elders and the disabilities usually have some trouble folding the towers,\u00a0folding the clothes, and making the bed. By putting these detection algorithms on some robots, the robots can help them with these kinds of things.<\/p>\n<p>We implemented supervised and unsupervised methods to solve the problem. For supervised learning, we collected RGB and depth images using Kinect and trained SegNet and U-Net to predict the edges and corners. For unsupervised learning, we tried SuperPoint, 2D &amp; 3D optical flow networks.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-99\" src=\"http:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-content\/uploads\/sites\/21\/2019\/12\/maxresdefault-300x169.jpg\" alt=\"\" width=\"300\" height=\"169\" srcset=\"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-content\/uploads\/sites\/21\/2019\/12\/maxresdefault-300x169.jpg 300w, https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-content\/uploads\/sites\/21\/2019\/12\/maxresdefault-768x432.jpg 768w, https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-content\/uploads\/sites\/21\/2019\/12\/maxresdefault-1024x576.jpg 1024w, https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-content\/uploads\/sites\/21\/2019\/12\/maxresdefault.jpg 1280w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-100\" src=\"http:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-content\/uploads\/sites\/21\/2019\/12\/12_edges-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-content\/uploads\/sites\/21\/2019\/12\/12_edges-300x225.jpg 300w, https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-content\/uploads\/sites\/21\/2019\/12\/12_edges.jpg 512w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Deep Slope Estimation with Formal Verification In order to drive safely, autonomous vehicles need to estimate the slope of the terrain on which the vehicle intends to drive. This is necessary to determine which parts of the terrain are drivable and to avoid obstacles. For example, when driving on a rough outdoor terrain, the vehicle &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Project Introduction&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Project Introduction - Deep Slope Estimation with Formal Verification &amp; Cloth Parts Detection<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Project Introduction - Deep Slope Estimation with Formal Verification &amp; Cloth Parts Detection\" \/>\n<meta property=\"og:description\" content=\"Deep Slope Estimation with Formal Verification In order to drive safely, autonomous vehicles need to estimate the slope of the terrain on which the vehicle intends to drive. This is necessary to determine which parts of the terrain are drivable and to avoid obstacles. For example, when driving on a rough outdoor terrain, the vehicle &hellip; Continue reading &quot;Project Introduction&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/\" \/>\n<meta property=\"og:site_name\" content=\"Deep Slope Estimation with Formal Verification &amp; Cloth Parts Detection\" \/>\n<meta property=\"article:modified_time\" content=\"2019-12-06T20:25:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-content\/uploads\/sites\/21\/2019\/05\/2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1796\" \/>\n\t<meta property=\"og:image:height\" content=\"1036\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2019teamf\\\/\",\"url\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2019teamf\\\/\",\"name\":\"Project Introduction - Deep Slope Estimation with Formal Verification &amp; Cloth Parts Detection\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2019teamf\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2019teamf\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2019teamf\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2019teamf\\\/wp-content\\\/uploads\\\/sites\\\/21\\\/2019\\\/05\\\/2.png\",\"datePublished\":\"2019-02-01T20:19:41+00:00\",\"dateModified\":\"2019-12-06T20:25:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2019teamf\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2019teamf\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2019teamf\\\/#primaryimage\",\"url\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2019teamf\\\/wp-content\\\/uploads\\\/sites\\\/21\\\/2019\\\/05\\\/2.png\",\"contentUrl\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2019teamf\\\/wp-content\\\/uploads\\\/sites\\\/21\\\/2019\\\/05\\\/2.png\",\"width\":1796,\"height\":1036},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2019teamf\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2019teamf\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Project Introduction\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2019teamf\\\/#website\",\"url\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2019teamf\\\/\",\"name\":\"Deep Slope Estimation with Formal Verification &amp; Cloth Parts Detection\",\"description\":\"Carnegie Mellon University, Advisor: David Held\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2019teamf\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Project Introduction - Deep Slope Estimation with Formal Verification &amp; Cloth Parts Detection","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/","og_locale":"en_US","og_type":"article","og_title":"Project Introduction - Deep Slope Estimation with Formal Verification &amp; Cloth Parts Detection","og_description":"Deep Slope Estimation with Formal Verification In order to drive safely, autonomous vehicles need to estimate the slope of the terrain on which the vehicle intends to drive. This is necessary to determine which parts of the terrain are drivable and to avoid obstacles. For example, when driving on a rough outdoor terrain, the vehicle &hellip; Continue reading \"Project Introduction\"","og_url":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/","og_site_name":"Deep Slope Estimation with Formal Verification &amp; Cloth Parts Detection","article_modified_time":"2019-12-06T20:25:34+00:00","og_image":[{"width":1796,"height":1036,"url":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-content\/uploads\/sites\/21\/2019\/05\/2.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/","url":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/","name":"Project Introduction - Deep Slope Estimation with Formal Verification &amp; Cloth Parts Detection","isPartOf":{"@id":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/#website"},"primaryImageOfPage":{"@id":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/#primaryimage"},"image":{"@id":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/#primaryimage"},"thumbnailUrl":"http:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-content\/uploads\/sites\/21\/2019\/05\/2.png","datePublished":"2019-02-01T20:19:41+00:00","dateModified":"2019-12-06T20:25:34+00:00","breadcrumb":{"@id":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/#primaryimage","url":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-content\/uploads\/sites\/21\/2019\/05\/2.png","contentUrl":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-content\/uploads\/sites\/21\/2019\/05\/2.png","width":1796,"height":1036},{"@type":"BreadcrumbList","@id":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/"},{"@type":"ListItem","position":2,"name":"Project Introduction"}]},{"@type":"WebSite","@id":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/#website","url":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/","name":"Deep Slope Estimation with Formal Verification &amp; Cloth Parts Detection","description":"Carnegie Mellon University, Advisor: David Held","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-json\/wp\/v2\/pages\/2","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-json\/wp\/v2\/comments?post=2"}],"version-history":[{"count":10,"href":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-json\/wp\/v2\/pages\/2\/revisions"}],"predecessor-version":[{"id":102,"href":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-json\/wp\/v2\/pages\/2\/revisions\/102"}],"wp:attachment":[{"href":"https:\/\/mscvprojects.ri.cmu.edu\/2019teamf\/wp-json\/wp\/v2\/media?parent=2"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}