aidlux的ai模型边缘设备模型部署3.图像分类
1、简介
之前的内容我们成功调用了摄像头并调用opencv库函数,实现手机摄像头的是实时边缘检测,使用canny边缘检测提取图像边缘特征,当然还能实现更为复杂的函数功能。
经过前两次的学习已经掌握了环境配置和基本图像处理功能应用,接下来我们便进入该课程的主要部分,深度学习模型部署实战课程,实现自己的分类模型部署实战。
2、训练自己的数据集
然后我们根据第三节图像分类模型部署,打开notebook依次运行其中ipynb文件,安装好其中的onnx工具包,熟悉其中的部署代码,让案例他们能够运行起来。
调用手机摄像头图像成功分类出圆珠笔,并在频幕上显示出分类类别与概率,如下图所示。
熟悉完相关函数调用后我们训练自己的分类数据集,为了便于演示,身边简单的3类水果分类数据集采集(西红柿,苹果,桃子),并将训练好的模型转换成onnx格式的模型。不懂模型训练和转换的可以参考@同济子豪兄的视频连接进行学习模型训练和转换。
将转换好的onnx文件上传到Aldiux种并进行测试。
3、模型部署并调用摄像头实时检测
导入上传的onnx,修改文件路径,将调用摄像头分类检测代码,即可在手机端运行摄像头进行实时检测,手机上显示检测的结果和检测处理时间。整合后的代码如下:
import cv2
import numpy as np
import time
from tqdm import tqdm
def generate_video(input_path='videos/fruit.mp4'):
filehead = input_path.split('/')[-1]
output_path = "out-" filehead
print('视频开始处理',input_path)
# 获取视频总帧数
cap = cv2.VideoCapture(input_path)
frame_count = 0
while(cap.isOpened()):
success, frame = cap.read()
frame_count = 1
if not success:
break
cap.release()
print('视频总帧数为',frame_count)
# cv2.namedWindow('Crack Detection and Measurement Video Processing')
cap = cv2.VideoCapture(input_path)
frame_size = (cap.get(cv2.CAP_PROP_FRAME_WIDTH), cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
# fourcc = int(cap.get(cv2.CAP_PROP_FOURCC))
# fourcc = cv2.VideoWriter_fourcc(*'XVID')
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
fps = cap.get(cv2.CAP_PROP_FPS)
out = cv2.VideoWriter(output_path, fourcc, fps, (int(frame_size[0]), int(frame_size[1])))
# 进度条绑定视频总帧数
with tqdm(total=frame_count-1) as pbar:
try:
while(cap.isOpened()):
success, frame = cap.read()
if not success:
break
# 处理帧
# frame_path = './temp_frame.png'
# cv2.imwrite(frame_path, frame)
try:
frame = process_frame(frame)
except:
print('报错!', error)
pass
if success == True:
# cv2.imshow('Video Processing', frame)
out.write(frame)
# 进度条更新一帧
pbar.update(1)
# if cv2.waitKey(1) & 0xFF == ord('q'):
# break
except:
print('中途中断')
pass
cv2.destroyAllWindows()
out.release()
cap.release()
print('视频已保存', output_path)
修改视频传入方式,调用手机摄像头,调用该函数便可在手机端显示实时处理画面。显示效果如下所示。 视频链接:www.bilibili.com/video/BV1Qh…
4、总结
经过几次的学习已经掌握了相关的深度学习模型部署的相关步骤,当然我们可以进行更深一步的学习,包括图像检测,图像分割等等视觉任务的部署。
相关链接:CD CHASERS:基于aidlux的ai模型边缘设备模型部署实战(2.使用opencv图像处理)
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgajfbk
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01