<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Computer Vision | Abhiroop Chintalapudi - AI Researcher</title><link>https://shadowscythe03.github.io/tags/computer-vision/</link><atom:link href="https://shadowscythe03.github.io/tags/computer-vision/index.xml" rel="self" type="application/rss+xml"/><description>Computer Vision</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Wed, 01 Jan 2025 00:00:00 +0000</lastBuildDate><image><url>https://shadowscythe03.github.io/media/logo_hu_f3e4bd98189c9234.png</url><title>Computer Vision</title><link>https://shadowscythe03.github.io/tags/computer-vision/</link></image><item><title>StoryForge AI Studio: Multilingual Story-to-Video Pipeline</title><link>https://shadowscythe03.github.io/projects/storyforge/</link><pubDate>Wed, 01 Jan 2025 00:00:00 +0000</pubDate><guid>https://shadowscythe03.github.io/projects/storyforge/</guid><description>&lt;p&gt;StoryForge turns a handful of keywords into a complete narrated video — story, scene images, voice narration, and compiled MP4 — through a 7-stage generative pipeline with a Streamlit interface. Supports English, Hindi, French, German, Spanish, Italian, and Telugu.&lt;/p&gt;
&lt;h2 id="pipeline-architecture"&gt;Pipeline Architecture&lt;/h2&gt;
&lt;p&gt;Each stage is a dedicated Python module; they can be run individually or end-to-end through the Streamlit UI.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Stage&lt;/th&gt;
&lt;th&gt;Module&lt;/th&gt;
&lt;th&gt;Model / Tool&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Story generation&lt;/td&gt;
&lt;td&gt;&lt;code&gt;story_generation.py&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Llama 3 via Ollama&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Scene prompt extraction&lt;/td&gt;
&lt;td&gt;&lt;code&gt;prompt_generator.py&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Llama 3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Image synthesis&lt;/td&gt;
&lt;td&gt;&lt;code&gt;image_generator.py&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Stable Diffusion 2.1 + LoRA&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Consistency verification&lt;/td&gt;
&lt;td&gt;&lt;code&gt;consistancy_check.py&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;BLIP + CLIP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Audio narration&lt;/td&gt;
&lt;td&gt;&lt;code&gt;audio_generator.py&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;gTTS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;Video compilation&lt;/td&gt;
&lt;td&gt;&lt;code&gt;movie_creater.py&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;MoviePy&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;Interactive interface&lt;/td&gt;
&lt;td&gt;&lt;code&gt;streamlit.py&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Streamlit&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Character consistency&lt;/strong&gt; across scenes is enforced with SameFace_Fix LoRA fine-tuning on the diffusion model. &lt;strong&gt;Semantic alignment&lt;/strong&gt; between generated images and story prompts is measured using CLIP similarity scores, averaging &amp;gt;25.0 in test runs.&lt;/p&gt;
&lt;h2 id="technical-stack"&gt;Technical Stack&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;LLM&lt;/strong&gt;: Llama 3 (Ollama) for story and prompt generation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Image generation&lt;/strong&gt;: Stable Diffusion 2.1, custom LoRA fine-tuning, VAE&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vision-language&lt;/strong&gt;: BLIP (captioning), CLIP (semantic similarity)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Audio&lt;/strong&gt;: gTTS with automatic language detection&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Video&lt;/strong&gt;: MoviePy (image transitions + audio sync, MP4/AVI output)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Framework&lt;/strong&gt;: PyTorch, HuggingFace Transformers&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;UI&lt;/strong&gt;: Streamlit with real-time progress tracking and ZIP export&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="demo-video"&gt;Demo Video&lt;/h2&gt;
&lt;!-- TODO: paste your GitHub blob URL for the video here and convert to raw:
blob URL: github.com/shadowscythe03/projects/blob/main/path/to/video.mp4
raw URL: raw.githubusercontent.com/shadowscythe03/projects/main/path/to/video.mp4
Then replace YOUR_RAW_VIDEO_URL below. --&gt;
&lt;p&gt;&lt;em&gt;Demo video coming soon.&lt;/em&gt;&lt;/p&gt;
&lt;!-- Uncomment once you have the raw URL:
&lt;video width="100%" controls style="border-radius: 8px; margin: 1rem 0;"&gt;
&lt;source src="YOUR_RAW_VIDEO_URL" type="video/mp4"&gt;
Your browser does not support the video tag.
&lt;/video&gt;
--&gt;
&lt;h2 id="project-report"&gt;Project Report&lt;/h2&gt;
&lt;!-- TODO: Upload your project report PDF and replace the src URL below.
Recommended: upload as a GitHub Release asset on this repo, then use:
https://docs.google.com/viewer?url=&lt;raw-pdf-url&gt;&amp;embedded=true --&gt;
&lt;p&gt;&lt;em&gt;Project report coming soon.&lt;/em&gt;&lt;/p&gt;
&lt;!-- TODO: once your PDF is hosted, replace the line above with:
&lt;iframe
src="https://docs.google.com/viewer?url=YOUR_PDF_URL_HERE&amp;embedded=true"
width="100%"
height="850px"
style="border: 1px solid #e5e7eb; border-radius: 8px; display: block; margin: 1rem 0;"&gt;
&lt;/iframe&gt;
[Download PDF](YOUR_PDF_URL_HERE)
--&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;Course&lt;/strong&gt;: ES667 — Deep Learning, IIT Gandhinagar (Jan–Apr 2025) · 4-member team · Supervised by Prof. Anirban Dasgupta&lt;/p&gt;</description></item><item><title>Semantic Segmentation of Aerial Drone Images</title><link>https://shadowscythe03.github.io/projects/aerial-segmentation/</link><pubDate>Wed, 01 Nov 2023 00:00:00 +0000</pubDate><guid>https://shadowscythe03.github.io/projects/aerial-segmentation/</guid><description>&lt;p&gt;A systematic benchmark of four segmentation architectures on the
— 400 high-resolution aerial images (up to 4000×6000 px) with pixel-level labels across 23 urban classes. The goal: understand the accuracy–cost tradeoff across CNN and transformer approaches under real GPU memory constraints.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Best result: UNet at 86.4% accuracy&lt;/strong&gt;, outperforming DeepLabV3+ (~80%), Swin Transformer (~82%), and SegNet (~75%).&lt;/p&gt;
&lt;h2 id="dataset"&gt;Dataset&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Semantic Drone Dataset&lt;/strong&gt; — 400 images, 350 train / 50 test, 23 semantic classes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Structures&lt;/strong&gt;: building, wall, fence, bridge&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Nature&lt;/strong&gt;: tree, vegetation, grass, water&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Infrastructure&lt;/strong&gt;: road, sidewalk, parking, rail track&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Objects&lt;/strong&gt;: car, truck, person, bicycle&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Environment&lt;/strong&gt;: sky, ground, terrain&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Images were downscaled to 384×512 for training due to GPU memory constraints (original 4000×6000 px).&lt;/p&gt;
&lt;h2 id="architectures"&gt;Architectures&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Params&lt;/th&gt;
&lt;th&gt;Accuracy&lt;/th&gt;
&lt;th&gt;Inference&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;UNet&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;~34.6M&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;86.4%&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Fast&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Swin Transformer&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;~82%&lt;/td&gt;
&lt;td&gt;Slow&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DeepLabV3+ (ResNet-50)&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;~80%&lt;/td&gt;
&lt;td&gt;Medium&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SegNet (VGG)&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;~75%&lt;/td&gt;
&lt;td&gt;Fast&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;All models trained with Adam (lr=0.001), sparse categorical crossentropy, up to 500 epochs with early stopping; convergence around epoch 300–400.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Key tradeoffs:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;UNet&amp;rsquo;s encoder–decoder with skip connections gave the best overall accuracy with fast inference.&lt;/li&gt;
&lt;li&gt;Swin Transformer captured finer details thanks to global attention but at high compute cost.&lt;/li&gt;
&lt;li&gt;SegNet was the most memory-efficient via pooling-index upsampling.&lt;/li&gt;
&lt;li&gt;DeepLabV3+ with ASPP is best suited for full-resolution inference when memory allows.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Known limitation:&lt;/strong&gt; all models struggled with small objects (vehicles, pedestrians &amp;lt;60% accuracy) due to downscaling; patch-based inference at full resolution would close this gap.&lt;/p&gt;
&lt;h2 id="technical-stack"&gt;Technical Stack&lt;/h2&gt;
&lt;p&gt;TensorFlow 2.x / Keras · NumPy · OpenCV · Google Colab (T4 GPU) · TensorBoard&lt;/p&gt;
&lt;h2 id="project-report"&gt;Project Report&lt;/h2&gt;
&lt;!-- TODO: Upload your project report PDF and replace the src URL below.
Recommended: upload as a GitHub Release asset on this repo, then use:
https://docs.google.com/viewer?url=&lt;raw-pdf-url&gt;&amp;embedded=true --&gt;
&lt;iframe
src="https://docs.google.com/viewer?url=https://raw.githubusercontent.com/shadowscythe03/projects/main/aerial_sem_seg_FINAL_SUBMISSION/6-final_report.pdf&amp;embedded=true"
width="100%"
height="850px"
style="border: 1px solid #e5e7eb; border-radius: 8px; display: block; margin: 1rem 0;"&gt;
&lt;/iframe&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;Course&lt;/strong&gt;: CS5480 — Deep Learning for Vision, IIT Hyderabad (Aug–Nov 2023) · Supervised by Prof. Summohana Channapayya&lt;/p&gt;</description></item></channel></rss>