使用的是YOLOv8n模型。以下是每个步骤的文字说明,以帮助理解整个过程:
1. 克隆代码到香橙派AIPro开发板上
通过执行git clone https://github.com/akanametov/yolov8-face.git命令,我们将一个包含YOLOv8n人脸检测模型相关代码和资源的GitHub仓库复制到了香橙派AIPro开发板上。这一步是项目开始的基础,确保我们拥有所有必需的源代码和配置文件。
2. 下载yolov8n-face.pt
访问提供的链接(https://github.com/akanametov/yolov8-face?tab=readme-ov-file#results),在此处找到预先训练好的YOLOv8n模型权重文件(`.pt`格式),该文件是模型的核心,包含了模型学到的所有特征和参数。下载这个文件是为了后续的转换和部署。
3. 将yolov8n-face.pt转换为yolov8n-face.onnx
使用命令yolo export model=yolov8n-face.pt imgsz=1280 format=onnx opset=11,我们将PyTorch格式的权重文件(.pt)转换成ONNX格式(.onnx)。ONNX是一种开放的模型交换格式,广泛支持多种深度学习框架,这一步骤使得模型能够在更多平台上运行,包括基于昇腾芯片的设备。imgsz=1280指定了输入图像的大小,opset=11指定了ONNX运算符集的版本。
4. yolov8n-face.onnx转换为yolov8n-face.om
通过运行atc --framework=5 --model=yolov8n-face.onnx --input_format=NCHW --input_shape=”images:1,3,1280,1280” --output=yolov8n_1x3x640x640 --log=error --soc_version=Ascend310B1,我们将ONNX模型进一步转换为华为昇腾AI处理器(Ascend)所需的OM( Offline Model)格式。这一转换是专为昇腾芯片优化的,确保模型能高效运行。--input_format=NCHW指定了输入数据的维度顺序,--input_shape定义了输入尺寸,而--soc_version指定了目标硬件版本。
5. 模型推理
最后,通过命令yolo task=detect mode=predict model=yolov8n-face.om conf=0.25 imgsz=1280 line_thickness=1 max_det=1000 source=examples/face.jpg,我们对模型进行推理测试。这意味着使用刚刚转换好的OM模型来预测一张示例图片(examples/face.jpg)中的人脸位置。conf=0.25设定了对象置信度阈值,低于此值的预测将被忽略;imgsz=1280再次指定了输入图像尺寸,保持与之前转换时一致;line_thickness=1控制了绘制边界框的线条粗细;max_det=1000设定了最大检测对象数量。
结果展示
执行完上述推理命令后,系统会处理图片并输出结果,通常会在图片上画出人脸的边界框,显示出模型成功检测到的人脸位置。这对于验证模型在特定硬件(如香橙派AIPro开发板上的昇腾310芯片)上的性能和准确性非常关键。如果一切配置正确,你应该能看到清晰标记出的人脸区域,标志着整个迁移和部署流程的成功完成。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31545819/viewspace-3016139/ ,如需转载,请注明出处,否则将追究法律责任。