上 传  者 : 周官平
单      位 : 教育技术与创新部
上传时间 : 2025-05-07 01:42:41
传统变脸.pdf(307KB)
  • 浏览 : 1
  • 下载 : 0
第 1 页
第 2 页
第 3 页
第 4 页
0 0 类别 : 试卷
《人脸识别之川剧变脸》学习任务单 (建议课时:2) 学 校:__________________________ 姓 名:__________________________ 班 级:__________________________ 活动 1:基于 Dlib实现人脸检测 运行以下程序,基于 Dlib实现人脸检测,了解其检测结果的含义是什么: # 首先,初始化一个 HOG人脸检测器 detector = dlib.get_frontal_face_detector() # 读取图像 image = cv2.imread('./data/face-pics/pic0.png') # 转换图像为灰度(Dlib人脸检测器需要灰度图像) gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 使用检测器检测人脸 faces = detector(gray, 0) # 遍历检测到的人脸并用矩形框出 for face in faces: x, y, w, h = face.left(), face.top(), face.width(), face.height() cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2) plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)) plt.axis('off') # 隐藏坐标轴 plt.show() 活动 2:基于人脸检测的脸谱绘制 补全以下程序并运行,实现基于人脸检测的脸谱绘制,观察绘制效果是否如 意?分析可能的原因以及如何解决? from utils.mask_controller import Mask mask = Mask('./data/masks/') # 读取图像并转为灰度 image = cv2.imread('./data/face-pics/pic0.png') img_gray = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY) # 检测视频画面中的人脸 faces = detector(img_gray, 0) image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) ''' 请在此处补全程序,为每张人脸绘制脸谱 ''' for face in faces: plt.imshow(image) plt.axis('off') # 隐藏坐标轴 plt.show() 活动 3:为摄像头界面组件绑定 check_keypoints 我们导入面部关键点检测模型 shape_predictor_68_face_landmarks之后,并以 了一个 check_keypoints函数,用于检测并绘制面部关键点,请补全以下程序,将 check_keypoints绑定到 image_recorder上,每次捕获一张图像就触发这个函数: ''' 编写程序,将上述流程绑定到 image_recorder上,每次捕获一张图像就执行上述流程 ''' 任务四:模型构建与训练 我们我们来实现一个 cover_facial_mask函数,用于绘制和切换脸谱,请在下一 段程序中补全核心程序,根据面部关键点坐标计算脸谱的尺寸(高度、宽度)以 及位置(y,x)。运行程序,与之前的脸谱绘制效果对比,是否有了提升? # 接下来,我们来实现一个 cover_facial_mask函数,用于绘制和切换脸谱 def cover_facial_mask(_): . . . ''' 请在此处补全程序 ''' # 计算脸谱的尺寸 mask_height = mask_width = # 定位脸谱的位置 (y, x) mask_position = . . . 推荐的学习资源: 1. Dlib官方网站:http://dlib.net/. 2. Dlib frontal_face_detector:https://github.com/davisking/dlib-models. 3. OpenCV官方网站:https://opencv.org. 4. 《Python人脸识别:从入门到工程实践》,王天庆,机械工业出版社,2019, 978-7-111-62385-4. 课后作业 在学习中,我们仅实现了单个人脸的川剧变脸效果。现在请你尝试将其改造 为多人版,即对于视频画面中的每一张人脸都能实现变脸效果。 提示:在关键点检测部分,我们实现了同时给多张人脸标定关键点;在变脸部分,我们 实现了单张人脸的川剧脸谱切换效果;将二者结合起来,分析 check_keypoints()和 cover_facial_mask()的核心程序,即可实现多人版。 我的收获:
标签: 无
更多
预览本资源的用户最终下载了
资源足迹
  • 教育技术与创新部
    周官平 2025-05-07 01:42:42 上传