图像工程实验报告王.pdfVIP

  • 14
  • 0
  • 约3.74千字
  • 约 10页
  • 2021-12-07 发布于北京
  • 举报
图像工程实验报告 ——使用滑动窗的人脸检测 (Face detection with a sliding window) 王 学号:2013201745 2014 年1 月 图像工程作业: 使用滑动窗的人脸检测 一. 问题描述 本次实验需要使用滑动窗口来进行人脸检测。滑动窗口能够 地对图片块进行分 类,以确定是否属于被检测目标。本次实验内容如下: 1) 载入正样本训练集(人脸),并将其转化为HoG 特征 2) 载入负样本训练集(没有人脸的任意场景),也将其转化为HoG 特征 3) 使用SVM,对 器进行训练,训练集 正训练集和负训练集 4) 使用训练 器,在不同的尺度上,对测试集进行 二.实验及结果分析 1. 提取正样本集的HoG 特征 这一步很简单,但是需要注意的是,使用vl_hog 提取图片特征,该函数第一个 参数必须是单精度的,否则会报错。代码如下: IM = im (imagePath); IM = vl_hog(im2single(IM), hog_cell_size); IM = reshape(IM,1,(template_size / hog_cell_size)*( template_size / hog_cell_size)*31); features_pos(i,:) = IM; 2. 载入负样本集的HoG 特征 这需要注意的地方是,由于每个正样本的大小都是 36x36 (根据第一步设置的 滑动窗口的大小),所以提取负样本HoG 特征的时候,只需要提取36x36分辨率大 小的图片块。提取的图片块位置任意,但是大小必须保证是36x36。代码如下: IM = im (imagePath); x = randi(1,size(IM,1)-35); y = randi(1,size(IM,2)-35); IM = IM(x:x+35,y:y+35); IM = vl_hog(IM, hog_cell_size); IM = reshape(IM,1,size(IM,1)*size(IM,2)*size(IM,3)); features_neg(j,:) = IM; 3. 利用正负训练集,训练 器 由于有正样本和负样本,将正样本标记为1,负样本标记为-1,利用SVM让分 类器进行学习。代码如下: LAMBDA = 0.0001; X = [features_pos; features_neg]; Y1 = double(ones(1, size(features_pos, 1))); Y2 = (-1) * double(ones(1, size(features_neg, 1))); [w b] = vl_svmtrain(X, [Y1, Y2], LAMBDA); 4. 使用训练的 器,对测试集进行 这步中,需要对测试集中的每一张图片,在不同的尺度上进 试。本次实验 中,先对测试图片进行放大,变为原分辨率的两倍,然后再对图片进行缩小,直到 分辨率小于滑动窗口的大小(36x36)为止。对于每一张图片,不同尺度下都做如 下处理: 1) 生成一个滑动窗口,然后该滑动窗在当前尺度的图片上滑动,每滑动一次, 都会生成一个confidence 值(由confidence w =xtest +b 得到) 2) 比较 confidence 值与 threshold 值大小,大于阈值,则 下该 box, confindence值,以及图片的id 3) 每张图片的不同尺度都执行过第二 ,调用non_max_supr_bbox 处理记

文档评论(0)

1亿VIP精品文档

相关文档