K230
K230是嘉楠科技推出的高性能RISC-V架构AIoT芯片,采用12nm工艺,集成双核RISC-V处理器和第三代KPU,主频达1.6GHz,支持6TOPS AI算力,具备三路4K视频输入和丰富外设接口,广泛应用于智能家居、智能教育、机器人等领域,为边缘计算和多模态交互提供强大支持。
K230的开发方式除了SDK编译外,还支持使用CanMV IDE进行开发。CanMV IDE是基于OpenMV项目开发的集成开发环境,专为K230优化,支持MicroPython开发。用户可以通过IDE快速编写、运行代码,并实时查看运行结果和图像预览。IDE支持连接开发板进行调试,还提供丰富的示例代码,方便开发者快速上手。非常推荐使用CanMV IDE,基于Micropython开发可节省大量时间成本,其提供了大量的API函数,如GPIO、IIC、SPI、UART、ADC、Timer、音频、MP4等等,只需略微参考即可快速上手开发。
此外,我推荐的原因是他以较低的价格但拥有较高的算力,在AI部分封装了大量的API函数,主要如下:
用户只需要关注预处理配置和后处理过程,尤其是YOLO部分只需要把pt模型转换为kmodel模型即可,经测试在较高的图像分辨率的情况下也可以达到十多帧的效果,作为简单应用已经足够了。
接下来展示以下YOLO示例代码,可以看出经过封装后的代码十分简洁明了。
from libs.PipeLine import PipeLine, ScopedTiming
from libs.YOLO import YOLOv8
import os,sys,gc
import ulab.numpy as np
import image
if __name__=="__main__":
# 显示模式,默认"hdmi",可以选择"hdmi"和"lcd"
display_mode="hdmi"
rgb888p_size=[1280,720]
if display_mode=="hdmi":
display_size=[1920,1080]
else:
display_size=[800,480]
# 可以根据您的模型自行修改路径参数
kmodel_path="/data/yolo_kmodels/cls_yolov8n_224.kmodel"
labels = ["apple","banana","orange"]
confidence_threshold = 0.8
model_input_size=[224,224]
# 初始化PipeLine
pl=PipeLine(rgb888p_size=rgb888p_size,display_size=display_size,display_mode=display_mode)
pl.create()
# 初始化YOLOv8实例
yolo=YOLOv8(task_type="classify",mode="video",kmodel_path=kmodel_path,labels=labels,rgb888p_size=rgb888p_size,model_input_size=model_input_size,display_size=display_size,conf_thresh=confidence_threshold,debug_mode=0)
yolo.config_preprocess()
try:
while True:
os.exitpoint()
with ScopedTiming("total",1):
# 逐帧推理
img=pl.get_frame()
res=yolo.run(img)
yolo.draw_result(res,pl.osd_img)
pl.show_image()
gc.collect()
except Exception as e:
sys.print_exception(e)
finally:
yolo.deinit()
pl.destroy()
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果