如何用 pip 安装 InspireFace 并运行第一次人脸检测?
如何用 pip 安装 InspireFace 并运行第一次人脸检测【免费下载链接】insightfaceState-of-the-art 2D and 3D Face Analysis Project项目地址: https://gitcode.com/GitHub_Trending/in/insightface本文解决的任务是在 Linux 或 macOS 上通过 pip 安装 InsightFace 仓库中的 InspireFace Python 包cpp-package/inspireface/README.md然后对一张本地图像执行人脸检测拿到人脸框、角度和关键点结果。前提条件Python 3.7 以上setup.py 中python_requires3.7文档 Notes 同样建议 3.7系统为文档 Quick Start 明确说明支持 pip 安装的 Linux 或 MacOS以及可访问模型资源下载渠道的网络首次运行会自动下载模型资源包。pip 默认安装的是 CPU 后端版本。准备条件pip 包inspireface的install_requires声明了numpy、loguru、filelock、modelscope四个依赖见 setup.py执行安装命令时会自动处理。文档的示例代码还需要 OpenCV 来读图和绘制结果如果环境里还没有安装一下pip install opencv-python第一步用 pip 安装按 cpp-package/inspireface/README.md 的 Python Quick StartLinux 和 macOS 用户执行pip install -U inspireface不带-U的pip install inspireface也等价python/README.md 中给出的是后者-U表示同时升级到最新版本。第二步理解模型资源的自动下载这是首次使用时最容易卡住的一步。从源码 inspireface.py 可以看到创建InspireFaceSession时如果 SDK 尚未启动会先自动执行launch()默认使用Pikachu模型launch()在未显式传入resource_path时会先下载模型资源再加载。下载逻辑在 resource.py 中有两种渠道默认ModelScope模型 IDtunmxy/InspireFace缓存在~/.inspireface/ms目录备选OSS腾讯云 COS直链下载模型存放到~/.inspireface/models并做 MD5 校验。如果环境里 ModelScope 不可用程序会退出并提示三种解决办法重装 ModelScopepip install --upgrade modelscope、补装依赖pip install filelock或在调用launch()之前切换到 OSS 下载模式import inspireface as isf isf.use_oss_download(True) # 必须在 launch() / 创建 session 之前执行文档同时提醒项目处于快速迭代期每次更新前后应拉取远程最新模型避免本地旧模型与新版 SDK 不匹配import inspireface for model in [Pikachu, Megatron]: inspireface.pull_latest_model(model)第三步运行第一次人脸检测按 python/README.md 的 Quick Start 示例创建脚本face_detect.py把path/to/your/image.jpg替换为你自己的一张人脸图片路径import cv2 import inspireface as isf # 创建会话opt 指定启用的可选功能模块detect_mode 指定检测模式 session isf.InspireFaceSession( optisf.HF_ENABLE_NONE, # 不启用额外可选模块 detect_modeisf.HF_DETECT_MODE_ALWAYS_DETECT # 图像模式每次都执行检测 ) # 设置检测置信度阈值 session.set_detection_confidence_threshold(0.5) # 读图 image cv2.imread(path/to/your/image.jpg) assert image is not None, Please check if the image path is correct # 执行人脸检测 faces session.face_detection(image) print(fDetected {len(faces)} faces) # 在图上绘制旋转框和密集关键点 draw image.copy() for idx, face in enumerate(faces): # face.location 为 (x1, y1, x2, y2) x1, y1, x2, y2 face.location # 根据 roll 角计算旋转框 center ((x1 x2) / 2, (y1 y2) / 2) size (x2 - x1, y2 - y1) angle face.roll rect ((center[0], center[1]), (size[0], size[1]), angle) box cv2.boxPoints(rect) box box.astype(int) cv2.drawContours(draw, [box], 0, (100, 180, 29), 2) # 绘制密集关键点 landmarks session.get_face_dense_landmark(face) for x, y in landmarks.astype(int): cv2.circle(draw, (x, y), 0, (220, 100, 0), 2)执行python face_detect.py后如何判断成功控制台打印Detected N faces这是文档给出的示例输出格式N 0说明检出了人脸face_detection的返回值是FaceInformation列表每个元素包含location人脸框坐标、roll/yaw/pitch欧拉角、track_id、detection_confidence等字段图中未检出人脸时face_detection返回空列表N为 0——这不是报错如果读图失败assert会提示 Please check if the image path is correct先检查图片路径和格式。可选直接跑仓库自带的检测样例如果想跳过自己写脚本可以直接运行 sample_face_detection.py。它是一个命令行工具参数是图片路径可选--show参数弹窗显示结果python sample_face_detection.py /path/to/image.jpg --show该样例会打印每张脸的置信度与角度文档示例输出为face detection: N found把标注图保存到tmp/det.jpg。注意它比上面的最小示例多做了事除了检测还会执行质量评估、活体、口罩、交互、属性和表情等扩展管线session.face_pipeline并且额外依赖click。作为第一次验证检测功能用上面的最小脚本更直接。限制与下一步pip 安装的是CPU 默认版本文档 Notes 明确说明若要使用 GPU、CoreML 或 NPU 后端需要按官方文档自行编译并替换动态库后重打包不能直接 pip 获取。许可证边界inspireface/README.md 的 License 一节指出开源模型沿用 InsightFace 的许可要求仅限学术用途明确禁止商业应用。如果首次运行卡在模型下载ModelScope 不可用按第二步的提示切换isf.use_oss_download(True)再重试OSS 通道需要稳定的国际网络。完成检测验证后同一python/目录还提供了sample_face_recognition.py人脸识别、sample_face_comparison.py人脸比对、sample_face_track_from_video.py视频跟踪等扩展样例接口风格与本文的检测会话一致可在此基础上继续接入对应功能。【免费下载链接】insightfaceState-of-the-art 2D and 3D Face Analysis Project项目地址: https://gitcode.com/GitHub_Trending/in/insightface创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →