非常荣幸受官方邀请体验OrangePi AIpro,本文介绍OrangePi AIpro测评Yolov5目标检测模型整个过程。

一、开机

经过数天的等待,终于到货啦~~~~,打开快递,实物如下图(包含一个电源线、电源插头以及OrangePi AIpro开发板):

因为是裸板,所以接上了鼠标、键盘、网线、显示器、电源,先通电看下效果:

开机的一瞬间,风扇呜呜呜的转了起来(一开始转的很猛,进入系统就好了),27寸显示器成功亮了起来,进入系统(系统发来的时候是ubuntu22.04):

进入系统,打开终端,输入命令ip a,查看ip地址是192.168.1.177,然后记下ip地址,把显示器接回我的电脑,后续操作远程进行。

二、远程连接

因为习惯用vscode开发,所以在自己电脑上用vscode远程连接OrangePi AIpro进行测试,使用vscode的ssh连接OrangePi AIpro:

输入密码连接成功:

连接成功之后,输入以下命令查看npu信息:

npu-smi info

如下图所示,显示了版本、内存等信息:

三、Yolov5模型体验

切换到HwHiAiUser用户,打开目录/home/HwHiAiUser/samples:

cd /home/HwHiAiUser/samples

可以看到notebooks里面有很多示例,这是官方已经做好的,下面我们来体验一下。参考教程:官方文档

进入notebooks目录:

 cd notebooks/

运行start_notebook.sh脚本:

bash start_notebook.sh 

打开这个连接:

进来了,左边是官方的示例代码:

1、图片检测

进入相关目录,并打开jupyter文件:

依次运行代码块,注意,最后一个代码块修改了代码,因为我的OrangePi AIpro没有摄像头:

先看下要检测的图片长什么样:

回去main.ipynb,运行推理代码块:

可以看到代码成功跑通了。

2、视频检测

可以看到代码里面还有个视频,改下代码,用视频试试:

运行代码块,视频检测跑起来了(竟然没有保存视频的代码,那必须手动给它加上):

在上面的代码块下面新开一个代码块,把以下内容加上去:

def infer_and_save_video(video_path, model, labels_dict, cfg, output_video='output.avi'):
    """视频推理"""
    image_widget = widgets.Image(format='jpeg', width=800, height=600)
    display(image_widget)

    # 读入视频
    cap = cv2.VideoCapture(video_path)
    fourcc = cv2.VideoWriter_fourcc(*'XVID')
    width = int(cap.get(3))
    height = int(cap.get(4))
    fps = cap.get(cv2.CAP_PROP_FPS)
    export_cap = cv2.VideoWriter(output_video, fourcc, fps, (width, height), True)
    while True:
        ret, img_frame = cap.read()
        if not ret:
            break
        # 对视频帧进行推理
        image_pred = infer_frame_with_vis(img_frame, model, labels_dict, cfg, bgr2rgb=True)
        export_cap.write(image_pred)  # 写入视频
        image_widget.value = img2bytes(image_pred)
    export_cap.release()

video_path = 'racing.mp4'
infer_and_save_video(video_path, model, labels_dict, cfg)

如下图:

运行新加入的代码块,即可在推理结束后得到output.avi:

视频如下:

OrangePi AIpro测试视频

四、总结

1、从官方提供的示例代码中的检测结果来看,视频非常流畅,从onnx模型可以看到图片分辨率是640x640,这个分辨率下能有这个表现,很惊艳;

2、OrangePi AIpro给了我很惊艳的感觉,可能以前都没怎么接触过边缘部署的原因,总是主观认为没有GPU很难在工业场景下达到实时检测的同时保持好的检测效果,但是OrangePi AIpro给我的感觉是可以,个人觉得OrangePi AIpro会在工业场景下有非常亮眼的表现。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐