Skip to content

freedomlp/CV

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

《计算机视觉》期末大作业报告

18342066 鲁沛

实验环境

Ananconada 4.5.11
Python 3.7
opencv-python 3.4.2.16
opencv-contrib-python 3.4.2.16

任务一

结合第七次课内容及参考文献[1],实现基于 Graph-based image segmentation 方法(可以参考开源代码,建议自己实现),通过设定恰当的阈值将每张图分割为 50~100 个区域,同时修改算法要求任一分割区域的像素个数不能少于 20 个(即面积太小的区域需与周围相近区域合并)。结合 GT 中给定的前景 mask,将每一个分割区域标记为前景(区域 50%以上的像素在 GT 中标为255)或背景(50%以上的像素被标为 0)。区域标记的意思为将该区域内所有像素置为 0 或 255。要求对测试图像子集生成相应处理图像的前景标注并计算生成的前景 mask 和 GT 前景 mask 的 IOU 比例。假设生成的前景区域为 R1,该图像的 GT 前景区域为 R2,则IOU = 𝑅1 ∩ 𝑅2 / 𝑅1∪𝑅2.

任务二

对训练集中的每一张图提取归一化 RGB 颜色直方图特征(8 * 8 * 8 = 512维),同时结合问题 1,对训练集中的每张图进行分割(分割为 50 ~ 100 个区域),对得到的每一个分割区域提取归一化 RGB 颜色直方图特征(维度为 8*8*8=512),将每一个区域的特征定义为区域颜色直方图和全图颜色直方图的拼接,因此区域特征的维度为 2*512=1024 维,采用 PCA 算法对特征进行降维取前 50 维。训练集中的每张图被分割为 50 ~ 100 个区域,每个区域可以提取 50 维特征,且根据问题 1,每个区域可以被标注为类别 1(前景:该区域 50%以上像素为前景)或0(背景:该区域 50%以上像素为背景),选用任意分类算法(SVM,Softmax,随机森林,KNN 等)进行学习得到分类模型。最后在测试集上对每一张图进行测试(将图像分割为 50 ~ 100 个区域,对每个区域提取同样特征并分类),根据测试图像的 GT,分析测试集区域预测的准确率。

任务三

对每张测试图提取 Sift 特征点及 Sift 特征,采用 PCA 算法将特征降维至 10 维,以每个 sift 特征点为中心截取 16*16 的 patch(超出边界的 patch 可以舍去),计算归一化颜色直方图(4*4*4=64 维),将两个特征拼接(sift 特征和 颜色直方图特征),这样每个 sift 特征点表示为 74 维向量,采用 k-means 聚类算法将该图像所有 sift 特征点聚为 3 类,并依次将各聚簇中的 patch 组合形成一张展示图(例如总共有 N 个 sift 点,对应 N 个 patch,展示图中需要将同一聚簇的 patch 按顺序粘贴,不同聚簇用分割线分开)。要求每张测试图生成一张可视化聚类展示图。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages