当前位置: 首页 > news >正文

【深度学习实战—8】:基于MediaPipe的人脸检测

✨博客主页:王乐予🎈
✨年轻人要:Living for the moment(活在当下)!💪
🏆推荐专栏:【图像处理】【千锤百炼Python】【深度学习】【排序算法】

目录

  • 😺一、MediaPipe概述
  • 😺二、MediaPipe人脸检测概述
  • 😺三、程序实现
  • 😺四、检测结果

😺一、MediaPipe概述

MediaPipe 是一款由 Google Research 开发并开源的多媒体机器学习模型应用框架。

MediaPipe目前支持的解决方案(Solution)及支持的平台如下图所示:
在这里插入图片描述

😺二、MediaPipe人脸检测概述

MediaPipe 人脸检测器可以检测图片或视频中的人脸。可以使用此任务在帧中定位人脸和面部特征。此任务使用可处理单张图片或连续图片流的机器学习 (ML) 模型。该任务会输出人脸位置以及以下面部关键点:左眼、右眼、鼻尖、嘴巴、左眼区域和右眼区域。

MediaPipe人脸检测所用模型是BlazeFace的变体,BlazeFace 是谷歌19年提出的一种针对移动 GPU 推断进行优化的轻量级且精确的人脸检测器。

BlazeFace: Sub-millisecond Neural Face Detection on Mobile GPUs

😺三、程序实现

import cv2
import mediapipe as mpmp_face_detection = mp.solutions.face_detection
face_detection = mp_face_detection.FaceDetection(min_detection_confidence=0.5, model_selection=1)cap = cv2.VideoCapture('../test.mp4')while cap.isOpened():success, image = cap.read()# Convert color space because MediaPipe requires images in RGB formatimage = cv2.cvtColor(cv2.flip(image, 1), cv2.COLOR_BGR2RGB)# Perform facial detectionresults = face_detection.process(image)# Convert back to BGR so that OpenCV can display imagesimage = cv2.cvtColor(image, cv2.COLOR_RGB2BGR)# Draw detected facial bounding boxesif results.detections:for detection in results.detections:mp_drawing = mp.solutions.drawing_utilsmp_drawing.draw_detection(image, detection, mp_drawing.DrawingSpec(thickness=4, circle_radius=2, color=(48, 255, 159)))cv2.imshow('MediaPipe Face Detection', image)if cv2.waitKey(1) & 0xFF == ord('q'):breakcap.release()
cv2.destroyAllWindows()

😺四、检测结果

在这里插入图片描述

http://www.lryc.cn/news/354682.html

相关文章:

  • OSCP学习,布置你的Kali Linux
  • PWA离线优先策略:提升用户体验的关键步骤
  • 网页提示“非私密连接”是为什么?
  • [自动驾驶技术]-8 Tesla自动驾驶方案之硬件(AI Day 2022)
  • 人力资源管理信息化系统如何支持企业开展管理诊断?
  • Cohere继Command-R+之后发布大模型Aya-23,性能超越 Gemma、Mistral 等,支持中文
  • 身为UI设计老鸟,不学点3D,好像要被潮流抛弃啦,卷起来吧。
  • 线代-向量eg3.1 3.2 3.4
  • 【C语言】实现贪吃蛇--项目实践(超详细)
  • Elasticsearch 分析器的高级用法一(同义词,高亮搜索)
  • Python 开心消消乐
  • mysql - 索引基本知识梳理
  • Nginx SSL/TLS配置:搭建安全的HTTPS网站
  • echarts 折线图流光效果偏移或不显示
  • Redis数据类型(上篇)
  • VMware虚拟机安装Linux
  • slurm是什么,怎么用? For slurm和For Pytorch有什么区别和联系?
  • 类和对象【六】友元和内部类
  • 一点点 cv 经验 1:cv方向、模型评估、输入尺寸、目标检测器设计
  • Java-SpringBoot集成Langchain4j文本嵌入模型实现向量相似度查询
  • 正宇软件:引领数字人大新纪元,开启甘肃人大代表履职新篇章
  • UniApp中,在页面显示时触发子组件的重新渲染
  • Linux(三)
  • 2024年郫都区区级农业生产社会化服务重点服务组织评定申报条件材料、程序要求
  • Java入门须知术语
  • Spring Boot中集成WebSocket
  • 18.多分类问题代码实现
  • 实时通信的方式——WebRTC
  • Android 使用 ActivityResultLauncher 申请权限
  • 如何将前端项目打包并部署到不同服务器环境