{"id":174,"date":"2025-12-12T17:36:01","date_gmt":"2025-12-12T17:36:01","guid":{"rendered":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/?page_id=174"},"modified":"2025-12-12T18:39:01","modified_gmt":"2025-12-12T18:39:01","slug":"text-to-trajectory-model","status":"publish","type":"page","link":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/text-to-trajectory-model\/","title":{"rendered":"Text-to-Trajectory Model"},"content":{"rendered":"\n<p>We tested two different architectures to arrive at our final text-to-trajectory model &#8211; a diffusion transformer, and an autoregressive transformer.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">DIRECTOR<\/h2>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-ad2f72ca wp-block-group-is-layout-flex\">\n<p>The first model we tested is DIRECTOR [1], a diffusion-transformer based model that generates a full trajectory based on a text input that conditions the diffusion generation.<br><br>It is initially trained on The Exceptional Trajectories dataset, created by the same authors as this model.  <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"863\" height=\"1024\" src=\"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-content\/uploads\/sites\/133\/2025\/12\/Picture10-863x1024.png\" alt=\"\" class=\"wp-image-185\" srcset=\"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-content\/uploads\/sites\/133\/2025\/12\/Picture10-863x1024.png 863w, https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-content\/uploads\/sites\/133\/2025\/12\/Picture10-253x300.png 253w, https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-content\/uploads\/sites\/133\/2025\/12\/Picture10-768x911.png 768w, https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-content\/uploads\/sites\/133\/2025\/12\/Picture10-1294x1536.png 1294w, https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-content\/uploads\/sites\/133\/2025\/12\/Picture10.png 1548w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><figcaption class=\"wp-element-caption\">Fig. 1 &#8211; DIRECTOR Model Architecture<\/figcaption><\/figure>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">GenDoP<\/h2>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-ad2f72ca wp-block-group-is-layout-flex\">\n<p>The second model we tested was GenDoP [2]. Opposed to the diffusion-based DIRECTOR, it is autoregressive, meaning a text encoder is the initial input, along with each previously generated trajectory token, and all of that is used to generate the next trajectory token. <br><br>It is initially trained using the GenDoP dataset, from the authors of the paper itself.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"465\" height=\"1024\" src=\"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-content\/uploads\/sites\/133\/2025\/12\/Picture11-465x1024.png\" alt=\"\" class=\"wp-image-186\" srcset=\"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-content\/uploads\/sites\/133\/2025\/12\/Picture11-465x1024.png 465w, https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-content\/uploads\/sites\/133\/2025\/12\/Picture11-136x300.png 136w, https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-content\/uploads\/sites\/133\/2025\/12\/Picture11.png 684w\" sizes=\"auto, (max-width: 465px) 100vw, 465px\" \/><figcaption class=\"wp-element-caption\">Fig. 2 &#8211; GenDoP Model Architecture<\/figcaption><\/figure>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Results Comparison<\/h2>\n\n\n\n<p>We trained these models further, pruning the datasets and fine-tuning them to achieve the best results. Below are some comparisons between the two.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>&#8220;Camera tilts down&#8221;<\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-ad2f72ca wp-block-group-is-layout-flex\">\n<figure class=\"wp-block-video\"><video height=\"1024\" style=\"aspect-ratio: 1280 \/ 1024;\" width=\"1280\" autoplay loop muted src=\"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-content\/uploads\/sites\/133\/2025\/12\/Media3-1.mp4\" playsinline><\/video><figcaption class=\"wp-element-caption\">Fig. 3 &#8211; DIRECTOR Output<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"1024\" style=\"aspect-ratio: 1280 \/ 1024;\" width=\"1280\" autoplay loop muted src=\"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-content\/uploads\/sites\/133\/2025\/12\/Media4.mp4\" playsinline><\/video><figcaption class=\"wp-element-caption\">Fig. 4 &#8211; GenDoP Output<\/figcaption><\/figure>\n<\/div>\n\n\n\n<p>The results above show that GenDoP&#8217;s output has much higher motion stability, and more correctly follows the input prompt telling the camera to tilt down. DIRECTOR, on the other hand, has an unstable and incorrect output that doesn&#8217;t follow the prompt very well.<\/p>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>&#8220;Camera orbits left&#8221;<\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-ad2f72ca wp-block-group-is-layout-flex\">\n<figure class=\"wp-block-video\"><video height=\"1024\" style=\"aspect-ratio: 1280 \/ 1024;\" width=\"1280\" autoplay loop muted src=\"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-content\/uploads\/sites\/133\/2025\/12\/Media1-2.mp4\" playsinline><\/video><figcaption class=\"wp-element-caption\">Fig. 5 &#8211; DIRECTOR Output<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"1024\" style=\"aspect-ratio: 1280 \/ 1024;\" width=\"1280\" autoplay loop muted src=\"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-content\/uploads\/sites\/133\/2025\/12\/Media2.mp4\" playsinline><\/video><figcaption class=\"wp-element-caption\">Fig. 6 &#8211; GenDoP Output<\/figcaption><\/figure>\n<\/div>\n\n\n\n<p>These results show that neither model is able to understand the word &#8216;orbit&#8217;, because it is not present in either dataset extensively. However, GenDoP&#8217;s output is much more stable, showing the model&#8217;s higher efficacy even in edge cases like this.<\/p>\n\n\n\n<p>Based on these analyses, we selected GenDoP as our final text-to-trajectory model. We are still manually generating additional data using mathematical equations for certain terminology like &#8216;orbit&#8217; to improve the dataset, and therefore the model outputs.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">References<\/h2>\n\n\n\n<p>[1] Courant, R., Dufour, N., Wang, X., Christie, M., &amp; Kalogeiton, V. (2024). <em>E.T. the Exceptional Trajectories: Text-to-camera-trajectory generation with character awareness<\/em>. arXiv. <a href=\"https:\/\/arxiv.org\/abs\/2407.01516\">https:\/\/arxiv.org\/abs\/2407.01516<\/a><\/p>\n\n\n\n<p>[2] Zhang, M., Wu, T., Tan, J., Liu, Z., Wetzstein, G., &amp; Lin, D. (2025). <em>GenDoP: Auto-regressive camera trajectory generation as a director of photography<\/em>. arXiv. <a href=\"https:\/\/arxiv.org\/abs\/2504.07083\">https:\/\/arxiv.org\/abs\/2504.07083<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We tested two different architectures to arrive at our final text-to-trajectory model &#8211; a diffusion transformer, and an autoregressive transformer. DIRECTOR The first model we tested is DIRECTOR [1], a diffusion-transformer based model that generates a full trajectory based on a text input that conditions the diffusion generation. It is initially trained on The Exceptional &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/text-to-trajectory-model\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Text-to-Trajectory Model&#8221;<\/span><\/a><\/p>\n","protected":false},"author":251,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-174","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>Text-to-Trajectory Model - Computer Vision for Cinematographic Motion Control<\/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\/2025team1\/text-to-trajectory-model\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Text-to-Trajectory Model - Computer Vision for Cinematographic Motion Control\" \/>\n<meta property=\"og:description\" content=\"We tested two different architectures to arrive at our final text-to-trajectory model &#8211; a diffusion transformer, and an autoregressive transformer. DIRECTOR The first model we tested is DIRECTOR [1], a diffusion-transformer based model that generates a full trajectory based on a text input that conditions the diffusion generation. It is initially trained on The Exceptional &hellip; Continue reading &quot;Text-to-Trajectory Model&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/text-to-trajectory-model\/\" \/>\n<meta property=\"og:site_name\" content=\"Computer Vision for Cinematographic Motion Control\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-12T18:39:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-content\/uploads\/sites\/133\/2025\/12\/Picture10.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1548\" \/>\n\t<meta property=\"og:image:height\" content=\"1837\" \/>\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=\"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\\\/2025team1\\\/text-to-trajectory-model\\\/\",\"url\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2025team1\\\/text-to-trajectory-model\\\/\",\"name\":\"Text-to-Trajectory Model - Computer Vision for Cinematographic Motion Control\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2025team1\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2025team1\\\/text-to-trajectory-model\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2025team1\\\/text-to-trajectory-model\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2025team1\\\/wp-content\\\/uploads\\\/sites\\\/133\\\/2025\\\/12\\\/Picture10-863x1024.png\",\"datePublished\":\"2025-12-12T17:36:01+00:00\",\"dateModified\":\"2025-12-12T18:39:01+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2025team1\\\/text-to-trajectory-model\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2025team1\\\/text-to-trajectory-model\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2025team1\\\/text-to-trajectory-model\\\/#primaryimage\",\"url\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2025team1\\\/wp-content\\\/uploads\\\/sites\\\/133\\\/2025\\\/12\\\/Picture10.png\",\"contentUrl\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2025team1\\\/wp-content\\\/uploads\\\/sites\\\/133\\\/2025\\\/12\\\/Picture10.png\",\"width\":1548,\"height\":1837},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2025team1\\\/text-to-trajectory-model\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2025team1\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Text-to-Trajectory Model\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2025team1\\\/#website\",\"url\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2025team1\\\/\",\"name\":\"Computer Vision for Cinematographic Motion Control\",\"description\":\"Shaurye Aggarwal and Kaustav Mukherjee\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/mscvprojects.ri.cmu.edu\\\/2025team1\\\/?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":"Text-to-Trajectory Model - Computer Vision for Cinematographic Motion Control","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\/2025team1\/text-to-trajectory-model\/","og_locale":"en_US","og_type":"article","og_title":"Text-to-Trajectory Model - Computer Vision for Cinematographic Motion Control","og_description":"We tested two different architectures to arrive at our final text-to-trajectory model &#8211; a diffusion transformer, and an autoregressive transformer. DIRECTOR The first model we tested is DIRECTOR [1], a diffusion-transformer based model that generates a full trajectory based on a text input that conditions the diffusion generation. It is initially trained on The Exceptional &hellip; Continue reading \"Text-to-Trajectory Model\"","og_url":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/text-to-trajectory-model\/","og_site_name":"Computer Vision for Cinematographic Motion Control","article_modified_time":"2025-12-12T18:39:01+00:00","og_image":[{"width":1548,"height":1837,"url":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-content\/uploads\/sites\/133\/2025\/12\/Picture10.png","type":"image\/png"}],"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\/2025team1\/text-to-trajectory-model\/","url":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/text-to-trajectory-model\/","name":"Text-to-Trajectory Model - Computer Vision for Cinematographic Motion Control","isPartOf":{"@id":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/#website"},"primaryImageOfPage":{"@id":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/text-to-trajectory-model\/#primaryimage"},"image":{"@id":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/text-to-trajectory-model\/#primaryimage"},"thumbnailUrl":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-content\/uploads\/sites\/133\/2025\/12\/Picture10-863x1024.png","datePublished":"2025-12-12T17:36:01+00:00","dateModified":"2025-12-12T18:39:01+00:00","breadcrumb":{"@id":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/text-to-trajectory-model\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/text-to-trajectory-model\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/text-to-trajectory-model\/#primaryimage","url":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-content\/uploads\/sites\/133\/2025\/12\/Picture10.png","contentUrl":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-content\/uploads\/sites\/133\/2025\/12\/Picture10.png","width":1548,"height":1837},{"@type":"BreadcrumbList","@id":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/text-to-trajectory-model\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/"},{"@type":"ListItem","position":2,"name":"Text-to-Trajectory Model"}]},{"@type":"WebSite","@id":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/#website","url":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/","name":"Computer Vision for Cinematographic Motion Control","description":"Shaurye Aggarwal and Kaustav Mukherjee","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/?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\/2025team1\/wp-json\/wp\/v2\/pages\/174","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-json\/wp\/v2\/users\/251"}],"replies":[{"embeddable":true,"href":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-json\/wp\/v2\/comments?post=174"}],"version-history":[{"count":2,"href":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-json\/wp\/v2\/pages\/174\/revisions"}],"predecessor-version":[{"id":193,"href":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-json\/wp\/v2\/pages\/174\/revisions\/193"}],"wp:attachment":[{"href":"https:\/\/mscvprojects.ri.cmu.edu\/2025team1\/wp-json\/wp\/v2\/media?parent=174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}