在树莓派上部署yolov8模型

我最近在训练一个手势识别模型,然后部署到树莓派上。

第一步:树莓派烧入系统

 链接:https://pan.baidu.com/s/1IA1MFB-BiDGrnc4b9oTS9w 
提取码:0xv1

第二步:下载opencv

sudo apt-get install python3-opencv

第三步:安装 yolov8环境包

pip3 install ultralytics

第四步:在树莓派中下载yolov8源码

ultralytics:ultralytics - 提供 YOLOv8 模型,用于目标检测、图像分割、姿态估计和图像分类,适合机器学习和计算机视觉领域的开发者。 - GitCode

第五步:在pc端训练好模型后,将权重文件best.pt导入到树莓派内。

第六步:使用下面的代码

import cv2
from ultralytics import YOLO
from cv2 import getTickCount, getTickFrequency
# 加载 YOLOv8 模型
def gain_class(results):
    for result in results:

        classes = result.boxes.cls  # 类别索引
        # 如果有类别名称,可以通过类别索引获取
        class_names = [model.names[int(cls)] for cls in classes]
        if not class_names:
            label=0
        else:
            label=class_names[0]#避免同时出现两个标签
        return label

model = YOLO("best.pt")
# 获取摄像头内容,参数 0 表示使用默认的摄像头
cap = cv2.VideoCapture(0)
while cap.isOpened():
    loop_start = getTickCount()
    success, frame = cap.read() # 读取摄像头的一帧图像
    if success:
        results = model.predict(source=frame) # 对当前帧进行目标检测并显示结果
    annotated_frame = results[0].plot()
    
    # 中间放自己的显示程序
    loop_time = getTickCount() - loop_start
    total_time = loop_time / (getTickFrequency())
    FPS = int(1 / total_time)
    # 在图像左上角添加 FPS 文本
    fps_text = f"FPS: {FPS:.2f}"
    font = cv2.FONT_HERSHEY_SIMPLEX
    font_scale = 1
    font_thickness = 2
    text_color = (0, 0, 255) # 红色
    text_position = (10, 30) # 左上角位置
    cv2.putText(annotated_frame, fps_text, text_position, font,font_scale, text_color, font_thickness)

    label=gain_class(results)
    #通过输入的标签去控制其他硬件
    if label=='1':
        print('china')
    elif label=='2':
        print('uk')
    cv2.imshow('img', annotated_frame)
    # 通过按下 'q' 键退出循环
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
cap.release() # 释放摄像头资源
cv2.destroyAllWindows() # 关闭 OpenCV 窗口

如果想使用onnx进行部署,需要在树莓派上安装 onnx

pip install onnx -i https://pypi.tuna.tsinghua.edu.cn/simple

使用ncnn:

pip install ncnn -i https://pypi.tuna.tsinghua.edu.cn/simple

 但是我感觉这个几个的速度都差不多,帧率大概为1。

参考:yolov8预测函数prdict返回结果分析_yolov8 model.predict检测结果输出-CSDN博客

在树莓派4B上部署yolov8环境完成高帧率检测任务_树莓派4b yolov8-CSDN博客 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值