
MediaPipe 人脸检测实战从装好 Python 包到输出第一张检测图【免费下载链接】mediapipeCross-platform, customizable ML solutions for live and streaming media.项目地址: https://gitcode.com/GitHub_Trending/med/mediapipe想给视频通话加一个检测到人脸才开启美颜的功能或者做一个手势控制 Demo绕不开的第一步是稳定地检测出画面里的人脸。MediaPipe 是 Google 开源的跨平台实时媒体处理框架面向移动、桌面和 Web 开发者提供预训练好的视觉模型与统一 API无需 ML 背景也能把检测、追踪功能跑起来。 项目定位MediaPipe 解决的是轻量模型在终端设备上实时推理的问题C 核心框架配合 Bazel 构建向上暴露 Python、Java、C、Swift、TypeScript 五套接口内置数十个轻量 TFLite 预训练模型。单帧人脸检测在移动设备上可达毫秒级延迟这是它能直接嵌进摄像头预览流的原因。 跑通环境最短路径是安装预编译的 Python 包无需编译 C 框架本地从源码构建则走仓库自带的 DockerfileBazel 7.7 OpenCV仅当你要改框架或加自定义计算器时才需要。pip3 install mediapipe python3 -c import mediapipe as mp; print(mp.__version__)git clone https://gitcode.com/GitHub_Trending/med/mediapipe cd mediapipe docker build -t mediapipe . docker run -it mediapipe:latest 能力速览能力一句话说明典型场景入口路径人脸检测BlazeFace 输出人脸框加 6 个关键点分 2 米短程与 5 米全范围两档模型美颜触发、人脸支付前置检测mediapipe/tasks/python/vision/face_detector.py面部网格输出 468 个面部 3D 关键点虚拟化妆、AR 滤镜mediapipe/examples/desktop/face_mesh/手部追踪检测 21 个手部关键点并跨帧追踪手势控制、手语识别mediapipe/examples/desktop/hand_tracking/物体检测EfficientDet-Lite 输出边界框与类别安防监控、智能零售mediapipe/examples/desktop/object_detection/姿态估计33 个身体关键点含 3D 坐标健身动作纠正、运动计数mediapipe/examples/desktop/pose_tracking/ 第一个完整示例以 FaceDetector 为例从一张图片到检测结果代码不超过 10 行wget -q -O face_detection.tflite \ https://storage.googleapis.com/mediapipe-models/face_detector/blaze_face_short_range/float16/latest/blaze_face_short_range.tfliteimport mediapipe as mp from mediapipe.tasks import python from mediapipe.tasks.python import vision options vision.FaceDetectorOptions( base_optionspython.BaseOptions(model_asset_pathface_detection.tflite)) image mp.Image.create_from_file(test.jpg) with vision.FaceDetector.create_from_options(options) as det: print(detections:, len(det.detect(image).detections))想换检测范围改model_asset_path指向 full_range 模型想过滤低置信度人脸调min_detection_confidence输入源则换成Image.create_from_file或摄像头帧即可。⚠️ 调优与踩坑现象import mediapipe报No module named mediapipe原因当前 Python 版本不在 PyPI 提供的 wheel 平台范围内。解法python3 --version确认版本改用 3.9–3.12 的 64 位环境后重新pip3 install mediapipe。现象检测结果为空但图里明显有人脸原因默认短程模型只对约 2 米内的脸有效。解法模型文件换成 full_range 版本docs/solutions/face_detection.md 有模型卡说明。现象实时预览掉帧明显原因输入分辨率高于模型设计输入。解法推理前先缩图人脸检测输入保持 320px 以内。现象首次create_from_options耗时长之后调用很快原因首次调用要加载 .tflite 并初始化解释器。解法检测器对象在进程内复用勿在循环里反复创建。 深入路径文档docs/getting_started/getting_started.md、docs/framework_concepts/framework_concepts.md示例mediapipe/examples/desktop/ 下按场景分目录每个目录附 README源码mediapipe/framework/calculator_graph.h 看图执行mediapipe/calculators/core/ 看基础计算器怎么写下一步离线跑物体检测build_desktop_examples.sh 构建后运行 object_detection 桌面 demo把人脸模型换成 full_range验证 5 米外的检出率变化用 mediapipe/model_maker/ 从 20 张标注图微调一个自己的检测模型先跑通第一个检测再谈调优。【免费下载链接】mediapipeCross-platform, customizable ML solutions for live and streaming media.项目地址: https://gitcode.com/GitHub_Trending/med/mediapipe创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考