{"id":151,"date":"2022-12-20T07:48:11","date_gmt":"2022-12-20T07:48:11","guid":{"rendered":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/?page_id=151"},"modified":"2022-12-21T03:24:24","modified_gmt":"2022-12-21T03:24:24","slug":"approach","status":"publish","type":"page","link":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/approach\/","title":{"rendered":"Approach"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Overview<\/h2>\n\n\n\n<p><p style=\"text-align:justify\">We aim to render novel viewpoints of previously unseen objects from a few posed images. To achieve this goal, we design a rendering pipeline that reasons along the following two aspects: (i) <strong>appearance<\/strong> &#8211; <em>what is the likely appearance of the object from the queried viewpoint<\/em>, and, (ii) <strong>geometry<\/strong> &#8211; <em>what geometrically-informed context can be derived from the configuration of the given input and query cameras?<\/em> While prior methods address each question in isolation our method jointly reasons along both these aspects. Concretely, we propose geometry-biased transformers that incorporate geometric inductive biases while learning set-latent representations that help capture global structures with superior quality.<\/p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"330\" src=\"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-7-1024x330.png\" alt=\"\" class=\"wp-image-262\" srcset=\"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-7-1024x330.png 1024w, https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-7-300x97.png 300w, https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-7-768x248.png 768w, https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-7.png 1362w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption><strong>Figure 1.<\/strong> Architecture Overview: Our model consists of three key components &#8211; CNN backbone, GBT Encoder (extracts global context), and GBT Decoder (predicts RGB color for query rays).<\/figcaption><\/figure>\n\n\n\n<p><p style=\"text-align:justify\">First, a shared CNN backbone extracts patch-level features which are fused with the corresponding ray embeddings to derive local (pose-aware) features. Then, the flattened patch features and the associated rays are fed as input tokens to the GBT Encoder that constructs a global set-latent representation via self-attention. The attention layers are biased to prioritize both the photometric and the geometric context. Finally, the GBT decoder converts target ray queries to pixel colors by attending to the set-latent representation. The model is trained end-to-end using the L2 reconstruction loss for randomly sampled query pixels in a training batch.<\/p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Geometry-biased Transformers<\/h2>\n\n\n\n<p><p style=\"text-align:justify\">Conventional Transformers comprise three key components: multi-head attention, normalization, and, a feedforward network. In particular, the most salient operation &#8211; Attention &#8211; is described by the following expression:<\/p><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-8.png\" alt=\"\" class=\"wp-image-263\" width=\"326\" height=\"77\" srcset=\"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-8.png 529w, https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-8-300x70.png 300w\" sizes=\"auto, (max-width: 326px) 100vw, 326px\" \/><\/figure><\/div>\n\n\n\n<p><p style=\"text-align:justify\">where a scaled dot-product between the key and query tokens is used as the &#8220;attention&#8221; to perform a weighted aggregation of the value tokens. We refer the reader to <a href=\"https:\/\/proceedings.neurips.cc\/paper\/2017\/file\/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf\">Attention is All You Need<\/a> for more. Typically, the query, key, and value tokens only consist of latent features (for instance, the patch-level features as shown in <strong>Fig. 1<\/strong> above).<\/p><\/p>\n\n\n\n<p><p style=\"text-align:justify\">However, our Geometry-biased Transformers additionally incorporate ray geometry to bias the attention toward meaningful regions. Each token is associated with a ray (in the example in <strong>Fig. 2<\/strong> below, each patch feature is appended with a patch ray embedding)<\/p><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-11.png\" alt=\"\" class=\"wp-image-266\" width=\"500\" height=\"198\" srcset=\"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-11.png 771w, https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-11-300x119.png 300w, https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-11-768x305.png 768w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><figcaption><strong>Figure 2. <\/strong>We concatenate patch-ray embeddings with the latent features which serve to compute a geometric bias in the attention layers.<\/figcaption><\/figure><\/div>\n\n\n\n<p><p style=\"text-align:justify\">With the latent features modeling the appearance, and the ray embeddings modeling the geometry, we compute an explicit ray-distance biased attention as follows:<\/p><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-12.png\" alt=\"\" class=\"wp-image-267\" width=\"449\" height=\"72\" srcset=\"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-12.png 766w, https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-12-300x48.png 300w\" sizes=\"auto, (max-width: 449px) 100vw, 449px\" \/><\/figure><\/div>\n\n\n\n<p><p style=\"text-align:justify\">where <em>d<\/em>(<strong>r<\/strong>1, <strong>r<\/strong>2) represents the distance between the rays associated with the query and the key tokens. <strong>Fig. 3<\/strong> schematically shows the significance of geometry-biased attention; in practice, the attention is higher toward the patches along the Epipolar line. Note that the distance is multiplied by a weight (gamma) which is learned via backpropagation for each transformer layer.<\/p><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-13-1024x233.png\" alt=\"\" class=\"wp-image-268\" width=\"673\" height=\"153\" srcset=\"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-13-1024x233.png 1024w, https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-13-300x68.png 300w, https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-13-768x175.png 768w, https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-13-1536x349.png 1536w, https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-13.png 1716w\" sizes=\"auto, (max-width: 673px) 100vw, 673px\" \/><figcaption><strong>Figure 3.<\/strong> Geometry-biased attention consists of the dot-product feature similarity, as well as the ray-distance bias applied with a learnable weight.<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Ray Geometry<\/h2>\n\n\n\n<p><p style=\"text-align:justify\">Given a camera&#8217;s intrinsic and extrinsic parameters, we obtain patch-level (input images) and pixel-level (query pixel) rays. We use the <a href=\"https:\/\/faculty.sites.iastate.edu\/jia\/files\/inline-files\/plucker-coordinates.pdf\">Pl\u00fccker coordinate<\/a> representation to define a ray given the origin <strong>o<\/strong> and direction <strong>d<\/strong>:<\/p><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-14.png\" alt=\"\" class=\"wp-image-272\" width=\"325\" height=\"30\" srcset=\"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-14.png 567w, https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-14-300x28.png 300w\" sizes=\"auto, (max-width: 325px) 100vw, 325px\" \/><\/figure><\/div>\n\n\n\n<p>The distance between rays is therefore computed as follows:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-15.png\" alt=\"\" class=\"wp-image-273\" width=\"478\" height=\"84\" srcset=\"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-15.png 820w, https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-15-300x53.png 300w, https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-15-768x136.png 768w\" sizes=\"auto, (max-width: 478px) 100vw, 478px\" \/><\/figure><\/div>\n\n\n\n<p><p style=\"text-align:justify\">Since we do not have access to a consistent world coordinate frame across scenes, we choose an arbitrary input view as the identity coordinate frame and construct all rays in the identity frame.<\/p><\/p>\n\n\n\n<p><p style=\"text-align:justify\">It is worth noting that while concatenating the ray information with latent features as shown in <strong>Fig. 2<\/strong> we transform the rays through <a href=\"https:\/\/bmild.github.io\/fourfeat\/index.html\">harmonic embeddings<\/a> which enables the model to capture high-frequency details.<\/p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Implementation Details<\/h2>\n\n\n\n<p><p style=\"text-align:justify\"><strong>CNN<\/strong>. We use a ResNet18 (ImageNet initialized) up to the first 3 blocks as the CNN backbone which enables faster convergence due to transfer learning. The images are resized to 256&#215;256 and the CNN outputs a 16&#215;16 feature grid. These features are concatenated with 16&#215;16 patch rays for each input image.<\/p><\/p>\n\n\n\n<p><p style=\"text-align:justify\"><strong>GBT. <\/strong>We use 8 GBT encoder layers and 4 GBT decoder layers, wherein each transformer contains 12 heads for multi-head attention with GELU activation. Each token consists of a concatenation of latent features and ray embeddings (as shown in <strong>Fig. 2<\/strong>). For the harmonic embeddings, we use 15 frequencies {1\/64, 1\/32, &#8230;, 128, 256} which results in a 15x2x6=<\/p><\/p>\n\n\n\n<p><p style=\"text-align:justify\"><strong>Training.<\/strong> During training, we encode V=3 posed input views and query the decoder for Q=7168 randomly sampled rays for a given target pose. The pixel color is supervised using an L2 reconstruction loss. The model is trained with Adam optimizer with 1e-5 learning rate until loss convergence. <\/p><\/p>\n\n\n\n<p><p style=\"text-align:justify\"><strong>Inference.<\/strong> At inference, we encode the context views once and decode a batch of HxW rays for each query view in a single forward pass. This results in a fast rendering time.<\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview We aim to render novel viewpoints of previously unseen objects from a few posed images. To achieve this goal, we design a rendering pipeline that reasons along the following two aspects: (i) appearance &#8211; what is the likely appearance of the object from the queried viewpoint, and, (ii) geometry &#8211; what geometrically-informed context can &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/approach\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Approach&#8221;<\/span><\/a><\/p>\n","protected":false},"author":140,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-151","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>Approach - Sparse-view 3D Reconstruction<\/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\/2022team16\/approach\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Approach - Sparse-view 3D Reconstruction\" \/>\n<meta property=\"og:description\" content=\"Overview We aim to render novel viewpoints of previously unseen objects from a few posed images. To achieve this goal, we design a rendering pipeline that reasons along the following two aspects: (i) appearance &#8211; what is the likely appearance of the object from the queried viewpoint, and, (ii) geometry &#8211; what geometrically-informed context can &hellip; Continue reading &quot;Approach&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/approach\/\" \/>\n<meta property=\"og:site_name\" content=\"Sparse-view 3D Reconstruction\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-21T03:24:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-7-1024x330.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=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2022team16\\\/approach\\\/\",\"url\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2022team16\\\/approach\\\/\",\"name\":\"Approach - Sparse-view 3D Reconstruction\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2022team16\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2022team16\\\/approach\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2022team16\\\/approach\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2022team16\\\/wp-content\\\/uploads\\\/sites\\\/71\\\/2022\\\/12\\\/image-7-1024x330.png\",\"datePublished\":\"2022-12-20T07:48:11+00:00\",\"dateModified\":\"2022-12-21T03:24:24+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2022team16\\\/approach\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2022team16\\\/approach\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2022team16\\\/approach\\\/#primaryimage\",\"url\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2022team16\\\/wp-content\\\/uploads\\\/sites\\\/71\\\/2022\\\/12\\\/image-7.png\",\"contentUrl\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2022team16\\\/wp-content\\\/uploads\\\/sites\\\/71\\\/2022\\\/12\\\/image-7.png\",\"width\":1362,\"height\":439},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2022team16\\\/approach\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2022team16\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Approach\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2022team16\\\/#website\",\"url\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2022team16\\\/\",\"name\":\"Sparse-view 3D Reconstruction\",\"description\":\"Advised by: Prof. Shubham Tulsiani, and, Dr. Maneesh Singh\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2022team16\\\/?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":"Approach - Sparse-view 3D Reconstruction","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\/2022team16\/approach\/","og_locale":"en_US","og_type":"article","og_title":"Approach - Sparse-view 3D Reconstruction","og_description":"Overview We aim to render novel viewpoints of previously unseen objects from a few posed images. To achieve this goal, we design a rendering pipeline that reasons along the following two aspects: (i) appearance &#8211; what is the likely appearance of the object from the queried viewpoint, and, (ii) geometry &#8211; what geometrically-informed context can &hellip; Continue reading \"Approach\"","og_url":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/approach\/","og_site_name":"Sparse-view 3D Reconstruction","article_modified_time":"2022-12-21T03:24:24+00:00","og_image":[{"url":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-7-1024x330.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/approach\/","url":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/approach\/","name":"Approach - Sparse-view 3D Reconstruction","isPartOf":{"@id":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/#website"},"primaryImageOfPage":{"@id":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/approach\/#primaryimage"},"image":{"@id":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/approach\/#primaryimage"},"thumbnailUrl":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-7-1024x330.png","datePublished":"2022-12-20T07:48:11+00:00","dateModified":"2022-12-21T03:24:24+00:00","breadcrumb":{"@id":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/approach\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/approach\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/approach\/#primaryimage","url":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-7.png","contentUrl":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-content\/uploads\/sites\/71\/2022\/12\/image-7.png","width":1362,"height":439},{"@type":"BreadcrumbList","@id":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/approach\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/"},{"@type":"ListItem","position":2,"name":"Approach"}]},{"@type":"WebSite","@id":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/#website","url":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/","name":"Sparse-view 3D Reconstruction","description":"Advised by: Prof. Shubham Tulsiani, and, Dr. Maneesh Singh","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/?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\/2022team16\/wp-json\/wp\/v2\/pages\/151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-json\/wp\/v2\/users\/140"}],"replies":[{"embeddable":true,"href":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-json\/wp\/v2\/comments?post=151"}],"version-history":[{"count":6,"href":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-json\/wp\/v2\/pages\/151\/revisions"}],"predecessor-version":[{"id":280,"href":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-json\/wp\/v2\/pages\/151\/revisions\/280"}],"wp:attachment":[{"href":"https:\/\/mscvprojects.ri.cmu.edu\/2022team16\/wp-json\/wp\/v2\/media?parent=151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}