{"id":120,"date":"2023-05-09T18:21:22","date_gmt":"2023-05-09T18:21:22","guid":{"rendered":"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/?page_id=120"},"modified":"2023-12-19T00:18:25","modified_gmt":"2023-12-19T00:18:25","slug":"methods-and-experiments","status":"publish","type":"page","link":"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/methods-and-experiments\/","title":{"rendered":"Method"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\"><strong>Synthetic Data Collection<\/strong><\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Framework<\/h2>\n\n\n\n<p>We must have sufficient data to train our models such that they can generalize to different kinds of aircraft and to different hangar environments. <\/p>\n\n\n\n<p>Since it&#8217;s difficult to obtain enough training data containing real aircraft, we create a synthetic dataset using a 3D CAD model. We use a CAD model of a C17 aircraft downloaded from the internet for this purpose. The downloaded model is rendered from thousands of randomly generated viewpoints to create a dataset containing images of aircraft and corresponding poses.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"355\" src=\"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-content\/uploads\/sites\/82\/2023\/12\/Screenshot-2023-12-18-at-6.54.47\u202fPM-1024x355.png\" alt=\"\" class=\"wp-image-290\" srcset=\"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-content\/uploads\/sites\/82\/2023\/12\/Screenshot-2023-12-18-at-6.54.47\u202fPM-1024x355.png 1024w, https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-content\/uploads\/sites\/82\/2023\/12\/Screenshot-2023-12-18-at-6.54.47\u202fPM-300x104.png 300w, https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-content\/uploads\/sites\/82\/2023\/12\/Screenshot-2023-12-18-at-6.54.47\u202fPM-768x266.png 768w, https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-content\/uploads\/sites\/82\/2023\/12\/Screenshot-2023-12-18-at-6.54.47\u202fPM-1536x532.png 1536w, https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-content\/uploads\/sites\/82\/2023\/12\/Screenshot-2023-12-18-at-6.54.47\u202fPM-2048x709.png 2048w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption class=\"wp-element-caption\">Figure: Data generation pipeline<\/figcaption><\/figure>\n\n\n\n<p>However, this only creates a dataset of aircraft rendered on plain backgrounds. To make the data more realistic and to teach the network to distinguish between foreground and background, we compose the rendered images of aircraft with plausible background images downloaded from the internet. Composing aircraft images with random backgrounds also serves the additional purpose of artificially expanding the size of the dataset. We generate 5000 images of aircraft and download 300 background images. By randomly composing foreground and background images, we expand the size of the dataset to 5000&#215;300 = 1.5 million. The data generation pipeline described is shown in the figure above.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dataset<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"409\" src=\"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-content\/uploads\/sites\/82\/2023\/12\/Screenshot-2023-12-18-at-7.09.54\u202fPM-1024x409.jpg\" alt=\"\" class=\"wp-image-294\" srcset=\"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-content\/uploads\/sites\/82\/2023\/12\/Screenshot-2023-12-18-at-7.09.54\u202fPM-1024x409.jpg 1024w, https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-content\/uploads\/sites\/82\/2023\/12\/Screenshot-2023-12-18-at-7.09.54\u202fPM-300x120.jpg 300w, https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-content\/uploads\/sites\/82\/2023\/12\/Screenshot-2023-12-18-at-7.09.54\u202fPM-768x307.jpg 768w, https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-content\/uploads\/sites\/82\/2023\/12\/Screenshot-2023-12-18-at-7.09.54\u202fPM-1536x613.jpg 1536w, https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-content\/uploads\/sites\/82\/2023\/12\/Screenshot-2023-12-18-at-7.09.54\u202fPM.jpg 1954w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption class=\"wp-element-caption\">Figure: Examples of foreground images from the dataset rendered with random backgrounds<\/figcaption><\/figure>\n\n\n\n<p>The figure above shows examples of images used as inputs to the model during training.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>Model Training<\/strong><\/h1>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Overview<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"293\" src=\"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-content\/uploads\/sites\/82\/2023\/12\/Screenshot-2023-12-18-at-7.05.28\u202fPM-1024x293.png\" alt=\"\" class=\"wp-image-293\" srcset=\"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-content\/uploads\/sites\/82\/2023\/12\/Screenshot-2023-12-18-at-7.05.28\u202fPM-1024x293.png 1024w, https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-content\/uploads\/sites\/82\/2023\/12\/Screenshot-2023-12-18-at-7.05.28\u202fPM-300x86.png 300w, https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-content\/uploads\/sites\/82\/2023\/12\/Screenshot-2023-12-18-at-7.05.28\u202fPM-768x220.png 768w, https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-content\/uploads\/sites\/82\/2023\/12\/Screenshot-2023-12-18-at-7.05.28\u202fPM-1536x439.png 1536w, https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-content\/uploads\/sites\/82\/2023\/12\/Screenshot-2023-12-18-at-7.05.28\u202fPM-2048x586.png 2048w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption class=\"wp-element-caption\">Figure : Simplified model architecture<\/figcaption><\/figure>\n\n\n\n<p>We train a model to directly regress the pose given an image containing an aircraft.  We parametrize the rotation using quaternions to improve the trainability and training stability of our model. This simple framework is shown in the figure above. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Training Configuration<\/strong><\/h2>\n\n\n\n<p>The configuration of training is described in the table below:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Encoder<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">ResNet-34 without final classifier<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Regressor<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">Fully connected layer with output size 7<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Loss Function<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">L1 loss<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Learning Rate<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">1e-3 with step decay after each epoch<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Batch Size<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">16<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>Epochs<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">100<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Table: Training Configuration<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Synthetic Data Collection Framework We must have sufficient data to train our models such that they can generalize to different kinds of aircraft and to different hangar environments. Since it&#8217;s difficult to obtain enough training data containing real aircraft, we create a synthetic dataset using a 3D CAD model. We use a CAD model of &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/methods-and-experiments\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Method&#8221;<\/span><\/a><\/p>\n","protected":false},"author":164,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-120","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Method - Automated Aircraft Inspection<\/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\/f23team5\/methods-and-experiments\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Method - Automated Aircraft Inspection\" \/>\n<meta property=\"og:description\" content=\"Synthetic Data Collection Framework We must have sufficient data to train our models such that they can generalize to different kinds of aircraft and to different hangar environments. Since it&#8217;s difficult to obtain enough training data containing real aircraft, we create a synthetic dataset using a 3D CAD model. We use a CAD model of &hellip; Continue reading &quot;Method&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/methods-and-experiments\/\" \/>\n<meta property=\"og:site_name\" content=\"Automated Aircraft Inspection\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-19T00:18:25+00:00\" \/>\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=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/f23team5\\\/methods-and-experiments\\\/\",\"url\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/f23team5\\\/methods-and-experiments\\\/\",\"name\":\"Method - Automated Aircraft Inspection\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/f23team5\\\/#website\"},\"datePublished\":\"2023-05-09T18:21:22+00:00\",\"dateModified\":\"2023-12-19T00:18:25+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/f23team5\\\/methods-and-experiments\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/f23team5\\\/methods-and-experiments\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/f23team5\\\/methods-and-experiments\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/f23team5\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Method\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/f23team5\\\/#website\",\"url\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/f23team5\\\/\",\"name\":\"Automated Aircraft Inspection\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/f23team5\\\/?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":"Method - Automated Aircraft Inspection","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\/f23team5\/methods-and-experiments\/","og_locale":"en_US","og_type":"article","og_title":"Method - Automated Aircraft Inspection","og_description":"Synthetic Data Collection Framework We must have sufficient data to train our models such that they can generalize to different kinds of aircraft and to different hangar environments. Since it&#8217;s difficult to obtain enough training data containing real aircraft, we create a synthetic dataset using a 3D CAD model. We use a CAD model of &hellip; Continue reading \"Method\"","og_url":"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/methods-and-experiments\/","og_site_name":"Automated Aircraft Inspection","article_modified_time":"2023-12-19T00:18:25+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/methods-and-experiments\/","url":"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/methods-and-experiments\/","name":"Method - Automated Aircraft Inspection","isPartOf":{"@id":"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/#website"},"datePublished":"2023-05-09T18:21:22+00:00","dateModified":"2023-12-19T00:18:25+00:00","breadcrumb":{"@id":"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/methods-and-experiments\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/methods-and-experiments\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/methods-and-experiments\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/"},{"@type":"ListItem","position":2,"name":"Method"}]},{"@type":"WebSite","@id":"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/#website","url":"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/","name":"Automated Aircraft Inspection","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/?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\/f23team5\/wp-json\/wp\/v2\/pages\/120","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-json\/wp\/v2\/users\/164"}],"replies":[{"embeddable":true,"href":"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-json\/wp\/v2\/comments?post=120"}],"version-history":[{"count":22,"href":"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-json\/wp\/v2\/pages\/120\/revisions"}],"predecessor-version":[{"id":295,"href":"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-json\/wp\/v2\/pages\/120\/revisions\/295"}],"wp:attachment":[{"href":"https:\/\/mscvprojects.ri.cmu.edu\/f23team5\/wp-json\/wp\/v2\/media?parent=120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}