这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 板卡试用 » 【PocketBeagle2】⑥小身板也玩大模型yolo

共2条 1/1 1 跳转至

【PocketBeagle2】⑥小身板也玩大模型yolo

菜鸟
2025-09-30 18:00:03     打赏


前面已经调通了Linux系统,包括SSH,VNC,Python等等

本篇玩个“大”的——大模型yolo,图片分割识别等。

注意:全程需要在连接网络的情况下运行。

如图:开发板通过Type-C连接到PC机共享上网,PC机通过SSH远程连接、操作开发板。


image.png


什么是 YOLO?YOLO(You Only Look Once) 是一种流行的单阶段目标检测算法系列,通过一次前向传播即可完成图像中多个目标的定位和分类,具有实时性强、速度快的特点。自2016年YOLOv1发布以来,该系列不断迭代进化,逐步提升了检测精度和实用性。


YOLOv11 是YOLO系列的最新里程碑,通过架构优化和训练策略升级,在精度、速度和多功能性 上全面超越前代版本(如YOLOv8)。它适用于需要高精度实时检测的场景(如自动驾驶、视频监控),同时也为边缘设备部署提供了更高效的选择


ultralytics 是一个专注于计算机视觉任务的 Python 库,尤其以 YOLO(You Only Look Once) 系列模型为核心,提供了简单易用的接口,支持目标检测、实例分割、姿态估计等任务。本文将详细介绍 ultralytics 库的功能、安装方法、核心模块以及使用示例。


输入命令 pip install ultralytics 开始安装




ultralytics官方网站有各种大模型实例,见如下链接。


https://docs.ultralytics.com/zh/modes/predict/#keypoints



yolo1.py

from ultralytics import YOLO

# Load a pretrained YOLO11n model
model = YOLO("yolo11n.pt")

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")  # results list

# View results
for r in results:
    print(r.boxes)  # print the Boxes object containing the detection bounding boxes



olo11n.pt是一个预训练的模型,会自动下载到/home/用户名   目录。

https://ultralytics.com/images/bus.jpg 是官网素材,会自动下载到/home/用户名   目录

Boxes 对象可用于索引、操作和将边界框转换为不同的格式。

bus.jpg



运行结果如下:

会打印识别的4个定位框。但是不够直观。

image.png




yolo2.py


from PIL import Image

from ultralytics import YOLO

# Load a pretrained YOLO11n model
model = YOLO("yolo11n.pt")

# Run inference on 'bus.jpg'
results = model(["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"])  # results list

# Visualize the results
for i, r in enumerate(results):
    # Plot results image
    im_bgr = r.plot()  # BGR-order numpy array
    im_rgb = Image.fromarray(im_bgr[..., ::-1])  # RGB-order PIL image

    # Show results to screen (in supported environments)
    r.show()

    # Save results to disk
    r.save(filename=f"results{i}.jpg")



字段 plot() 方法在 Results 对象通过将检测到的对象(例如边界框、掩码、关键点和概率)叠加到原始图像上,从而方便预测的可视化。此方法将带注释的图像作为 NumPy 数组返回,从而可以轻松显示或保存。


运行结果:

image.png识别结果:

0: 640x640 4 persons, 1 bus, 5962.5ms

1: 640x640 2 persons, 1 tie, 5962.5ms

Speed: 60.2ms preprocess, 5962.5ms inference, 54.9ms postprocess per image at shape (1, 3, 640, 640)



在/home/用户名   目录,自动生成results0.jpg   results1.jpg

results0.jpg



results1.jpg



再接再厉,用自己本地的图片作识别检测效果如何呢?


yolo3.py

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # pretrained YOLO11n model

# Run batched inference on a list of images
results = model(["pic.jpg"])  # return a list of Results objects

# Process results list
for result in results:
    boxes = result.boxes  # Boxes object for bounding box outputs
    masks = result.masks  # Masks object for segmentation masks outputs
    keypoints = result.keypoints  # Keypoints object for pose outputs
    probs = result.probs  # Probs object for classification outputs
    obb = result.obb  # Oriented boxes object for OBB outputs
    result.show()  # display to screen
    result.save(filename="result.jpg")  # save to disk



这里的pic.jpg是我/home/用户名   目录下上传的图片

pic.jpg


运行python yolo3.py结果如下:

图片较大,花了挺长时间:5秒


0: 480x640 1 person, 5570.7ms

Speed: 137.8ms preprocess, 5570.7ms inference, 63.5ms postprocess per image at shape (1, 3, 480, 640)


/home/用户名   目录下生成了result.jpg文件

result.jpg








关键词: PocketBeagle2    

专家
2025-10-01 08:34:45     打赏
2楼

谢谢分享


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]