拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【CanMV K210】AI 视觉 YOLO 手掌检测与框选显示

【CanMV K210】AI 视觉 YOLO 手掌检测与框选显示 在 CanMV K210 入门和 AI 视觉项目中,YOLO 手掌检测实验是一个很适合拆解的案例。它不是只验证摄像头、LCD 或模型文件是否能单独工作,而是把摄像头采集、图像预处理、KPU 模型推理、检测结果解析、LCD 框选显示和串口调试信息串成一个完整流程。通过这个实验,可以直观看到“摄像头画面如何经过 AI 模型,最终变成屏幕上的检测框”。本实验使用 CanMV K210 运行4.8_Palmar_detection.py。程序加载/sd/hand_detect.kmodel手掌检测模型,通过摄像头获取实时图像,将图像转换为 KPU 推理需要的格式,再调用 YOLO2 后处理函数获得手掌位置。如果检测到手掌,程序会在 LCD 画面中绘制绿色矩形框,并在串口打印检测结果,同时在左上角显示当前 FPS。学习目标说明理解 AI 视觉流程掌握摄像头采集、图像预处理、KPU 推理、后处理和显示输出之间的关系掌握 KPU 模型加载使用KPU()创建对象,并通过load_kmodel()加载手掌检测模型理解 YOLO2 检测参数认识 anchor、输入尺寸、阈值、NMS 和类别数量在检测中的作用学会结果框选显示使用draw_rectangle()在 LCD 图像上标出手掌区域建立调试思路从摄像头画面、模型路径、阈值、光照、目标距离和 FPS 排查问题这个实验的重点不是单纯“识别到手掌”,而是理解 K210 端侧 AI 检测的基本结构。摄像头负责输入,KPU 负责推理,YOLO2 后处理负责生成检测框,LCD 负责显示结果,串口负责输出调试信息。后续做人机交互、手势控制、智能拍照、机器人控制等项目时,都可以在这个流程上继续扩展。文章目录理论基础硬件设施软件代码扩展应用总结理论基础YOLO 手掌检测属于目标检测任务。普通图像显示程序只负责把摄像头画面显示到 LCD 上,而目标检测程序还需要判断画面中有没有目标、目标位于哪里、目标框多大。对于本实验来说,目标类别只有一种,也就是手掌。程序不需要区分多类物体,只需要判断画面中是否出现手掌,并返回手掌所在区域的矩形框。CanMV K210 内置 KPU 神经网络加速器,适合运行经过转换和部署的kmodel模型。程序中的/sd/hand_detect.kmodel就是本实验使用的手掌检测模型文件。摄像头采集到的图像不能直接交给模型使用,需要先调整为模型要求的输入格式。代码中创建了od_img = image.Image(size=(320,256)),再把摄像头图像绘制到这张图上,并调用pix_to_ai()转换成 KPU 推理需要的数据格式。YOLO2 检测需要初始化 anchor、输入尺寸、网络尺寸、特征层尺寸、置信度阈值、NMS 参数和类别数量。threshold=0.7表示检测置信度阈值,阈值越高,误检可能减少,但漏检也可能增加;nms_value=0.3用于抑制重叠检测框;classes=1表示当前模型只检测一种类别。检测完成后,regionlayer_yolo2()会返回检测结果列表,每个结果中包含检测框位置和尺寸等信息。下面这张流程图从 AI 视觉链路角度展示本实验。摄像头采集图像后,程序把图像送入 KPU,KPU 输出检测结果
返回列表