CS代写 | 留学生计算机辅导 | Assignment代做 | Code代做 | 论文辅导

CS代写 | 留学生计算机辅导 | Assignment代做 | Code代做 | 论文辅导

案例展示 COMP3419: Graphics and Multimedia - Assignment 1-a Overview

2024-09-18

案例展示 COMP3419: Graphics and Multimedia - Assignment 1-a Overview

任务概述

COMP3419 的第一次作业(1-a)要求学生实现视频中的运动估计(motion estimation)和可视化。这次作业的主要目标是通过宏块匹配算法(macroblock matching)来估计连续视频帧之间的运动变化,并将结果以视觉化的形式展示出来。具体内容如下:

作业要求

1726641684460.jpg

  1. 提交内容:
    • 一个包含所有源代码的压缩包(命名为 SIDxxx_Ass1a.zip,xxx 代表学生学号)。
    • 一个演示视频(.mp4 格式,命名为 SIDxxx_Ass1a.mp4)。
    • 一个 README.txt 文件,解释如何运行代码并得到预期输出。
  2. 提交格式:
    • 源代码需为 .py.ipynb 格式。
    • 演示视频时长不超过1分钟,足够展示运动变化即可。
    • 不符合以上要求的提交将导致最多4分的扣分。

动作估计和可视化概述

该作业的核心是对给定的视频文件(monkey.avi)进行运动估计。运动估计的基本思想是,连续视频帧在大多数情况下会相似,除了由于物体运动引起的变化。通过为相邻帧的网格块进行匹配,可以找到每个网格块之间的位移向量(运动向量)。该任务需要学生实现以下步骤:

  1. 网格划分与匹配

    • 每个视频帧会被划分为多个网格块(block),并计算每个网格块在相邻帧中的匹配块。
    • 匹配通过最小化块间的平方和误差(SSD)来完成。
  2. SSD计算

    • 对于每个网格块,计算其在当前帧和下一个参考帧中对应块的平方和误差。SSD的公式为:
     $
     \[
     \sqrt{SSD(B_i, B'_i+1)} = \sqrt{\sum_{bx=-k}^{k} \sum_{by=-k}^{k} \sum_{bc=0}^{2} \left(B_i(bx, by, bc) - B'_i+1(bx, by, bc)\right)^2}
     \]
     $
    
  3. 位移向量计算与可视化

    • 计算并存储每个网格块的位移向量,之后通过可视化工具将这些向量绘制在帧上,展示物体的运动轨迹。
  4. 过滤噪声

    • 为了提高可视化效果,过滤掉一些不符合期望的噪声位移向量,只保留在合理阈值范围内的结果。
  • 处理速度优化:由于处理所有帧可能会耗费较长时间,建议先提取一小部分能明显观察到运动变化的帧进行匹配验证,待确认实现无误后,再对所有帧进行处理。
  • 可视化工具:提供了辅助函数 helper_function.py 帮助绘制箭头,可以从 Canvas 上下载并使用。
  • Lucas-Kanade 方法:虽然提供了 Lucas-Kanade 估计光流法的参考链接,但该作业不强制使用该方法。

联系我们

WeChat:pythonyt001
Email: [email protected]
17921737610209_.pic.jpg

  • 0
class="duration-300 fixed bottom-5 right-5 flex items-center justify-center rounded-full bg-neutral p-3 opacity-0 shadow transition-all hover:opacity-70 hover:shadow-lg lg:bottom-10 lg:right-10">