- 2024-08-12
-
回复了主题帖:
【Sipeed MAix BiT AIoT 开发套件】 3、MobilenetV1 手势识别
fxyc87 发表于 2024-8-12 11:31
我最近玩了一下maixcam,挺好玩的,模板在线训练也还挺不错的,
这个板子真心不错,他们自己有平台,可以训练模型,部署
-
发表了主题帖:
【Sipeed MAix BiT AIoT 开发套件】 3、MobilenetV1 手势识别
【Sipeed MAix BiT AIoT 开发套件】 3、MobilenetV1 手势识别
MobilenetV1简介
MobilenetV1是一种轻量级卷积神经网络架构,由Google于2017年提出,专门为移动和嵌入式设备上的深度学习应用设计。其主要特点是使用深度可分离卷积(Depthwise Separable Convolution)来大幅减少模型参数和计算量,同时尽可能保持模型的准确性。
MobilenetV1的设计理念是权衡模型的性能与效率,以适应计算资源有限的设备。在传统卷积神经网络中,卷积操作通常会生成大量的参数,而这些参数对移动设备来说计算成本较高。为了降低计算复杂度,MobilenetV1引入了深度可分离卷积,将标准卷积分解为深度卷积和逐点卷积两个步骤。
深度卷积:每个卷积核仅作用于单一的输入通道,这大幅减少了计算量。
逐点卷积:使用1x1卷积来聚合深度卷积生成的特征图,从而减少参数的数量。
这种分解方法使得MobilenetV1相比传统的卷积神经网络,如VGG16,具有更少的参数和更低的计算复杂度,同时能够在保持较高准确率的基础上,显著提高推理速度。MobilenetV1的出现为移动设备上的实时图像分类、物体检测等任务提供了有效的解决方案。
训练
首先,登录网站,https://maixhub.com/开始训练。
其次,新建训练。
再次,上传图片,打上标签。
再次,创建任务,选择数据增强,选择平台NNCASE,
训练结果
部署
部署失败
参考以下两种情况,但是没有解决。
https://blog.csdn.net/qq_51963216/article/details/125955949
-
发表了主题帖:
【Sipeed MAix BiT AIoT 开发套件】 2、使用YOLO V2人脸识别
YOLO 模型
YOLO (You Only Look Once) 是一种实时物体检测模型,由Joseph Redmon等人在2016年提出,广泛用于计算机视觉领域。它的主要特点是将整个图像作为输入,直接预测多个边界框以及它们对应的类别标签。YOLO 模型因其快速的检测速度和较高的精度而在各类物体检测任务中得到了广泛应用。
YOLO的基本思想
YOLO的核心思想是将物体检测任务视为单一回归问题,而不是像传统方法那样将物体检测分为区域建议和分类两步。YOLO将输入图像划分为固定的网格(通常是SxS),每个网格单元负责检测物体中心落在该单元内的物体。模型通过一次前向传播直接预测出每个网格单元的边界框及其置信度和类别概率。
YOLO的网络结构
YOLO模型的网络结构通常包括以下几个部分:
- 卷积层:用于提取图像的特征。卷积层可以逐步减少图像的空间分辨率,同时增加通道数,从而提取出具有高层语义的特征。
- 全连接层:将卷积层提取的特征映射到SxSx(Bx5+C)维的输出,其中B是每个网格单元预测的边界框数量,5代表每个边界框的4个坐标值和1个置信度值,C是类别数。
YOLO的预测输出
YOLO的输出由每个网格单元的B个边界框和C个类别概率组成。每个边界框包含以下信息:
- 边界框位置(x, y, w, h):x和y表示边界框中心相对于网格单元的位置,w和h表示边界框的宽度和高度相对于整个图像的比例。
- 置信度:表示边界框内是否存在物体,以及预测的边界框和实际物体的重合度(IoU)。
- 类别概率:表示该边界框内物体属于每种类别的概率。
最终的预测结果通过非极大值抑制(NMS)来过滤掉重叠的边界框,保留置信度最高的预测。
YOLO的优点
- 速度快:YOLO仅需一次前向传播即可完成整个检测过程,因而具有极快的检测速度,适用于实时应用。
- 全局视角:YOLO在进行检测时考虑了整个图像的全局信息,这有助于减少背景误报。
- 端到端训练:YOLO模型可以通过端到端的方式进行训练,优化整个检测过程。
YOLO的缺点
- 定位精度较低:由于每个网格单元只能预测有限数量的边界框,对于小物体的检测性能相对较差。
- 对密集物体的检测效果欠佳:YOLO在处理图像中存在多个密集物体时,检测效果可能不如其他方法。
- 低分辨率特征影响:YOLO直接从低分辨率的特征图中进行预测,这可能导致边界框的位置精度不高。
YOLO的演变
- YOLOv1:YOLO的初始版本,首次将物体检测任务简化为单一的回归问题。
- YOLOv2(YOLO9000):改进了YOLOv1的架构,引入了锚框机制,并使用了Darknet-19作为特征提取网络。
- YOLOv3:引入了多尺度检测,并使用了Darknet-53作为特征提取网络,提高了小物体的检测性能。
- YOLOv4:进一步优化了网络结构,使用了CSPDarknet53作为特征提取网络,并结合了更多先进的技术,如Mish激活函数、CSPNet结构、SPP模块等。
- YOLOv5:由Ultralytics发布的版本,继续优化模型的速度和精度,并且引入了自动超参数优化和更轻量化的网络结构。
- YOLOv6、YOLOv7、YOLOv8:随着YOLO的持续发展,不断有新的版本推出,每个版本都在性能和精度上有不同程度的提升。
YOLO的应用场景
YOLO模型被广泛应用于多个领域,如:
- 自动驾驶:用于识别车辆、行人、交通标志等。
- 视频监控:实时检测并跟踪摄像头中的目标。
- 智能安防:用于识别入侵者、异常行为等。
- 医疗影像分析:在医学影像中检测肿瘤、病变等。
YOLO模型因其速度快、架构简洁、适用广泛等特点,已经成为物体检测领域的主流方法之一,并在多个应用场景中得到了广泛应用。
Sipeed MAix BiT实验
首先,下载固件。
https://cn.dl.sipeed.com/shareURL/MAIX/MaixPy/release/master/maixpy_v0.6.3_2_gd8901fd22
烧录固件。
其次,下载程序。
https://maixhub.com/model/zoo/68
烧录程序。
再次,运行程序。
需要链接硬件、将main.py内容复制到程序中,运行。
结果
- 2024-07-20
-
回复了主题帖:
【Sipeed MAix BiT AIoT 开发套件】 1、开发环境搭建
lugl4313820 发表于 2024-7-20 11:51
这运行起来,发热量如何?是不是可以烤鸡蛋。
烤鸡蛋不至于,但是烫手。
特别是摄像头背面~~~
- 2024-07-19
-
发表了主题帖:
【Sipeed MAix BiT AIoT 开发套件】 1、开发环境搭建
1、开发板简介
MAIX Bit开发板是SiPEED公司MAIX产品线的一员,基于边缘智能计算芯片K210(RISC-V架构 64位双核)设计的一款AIOT开发板。经典两侧排针设计,可以直接配合面包板使用,板载Type-C接口和USB-UART电路,用户可以直接通过USB Type-C线连接电脑进行开发,配置128Mbit Flash、LCD、DVP、Micro SD卡等接口并把所有IO引出,方便用户扩展。
K210 芯片基本参数
内核
RISC-V Dual Core 64bit, with FPU
主频
400MHz (可超频至600MHz)
SRAM
内置8M Byte
图像识别
QVGA@60fps/VGA@30fps
语音识别
麦克风阵列(8mics)
网络模型
支持YOLOv3
Mobilenetv2
TinyYOLOv2
人脸识别等
深度学习框架
支持TensorFlow \ Keras \ Darknet \ Caffe 等主流框架
外设
FPIOA、 UART、 GPIO、 SPI、 I2C、I2S、 TIMER
视频处理
神经网络处理器(KPU)
FPU满足IEEE754-2008标准
音频处理器(APU)
快速傅里叶变换加速器(FFT)
软件开发
芯片操作系统
FreeRTOS、RT-Thread等
开发环境
MaixPy IDE、PlatformlO IDE、Arduino IDE等
编程语言
C,C++,MicroPython
2、开发环境搭建——MaixPy IDE
基于MaixPy IDE进开发,其安装流程参考:
https://wiki.sipeed.com/soft/maixpy/zh/get_started/env_maixpyide.html
安装包位于:
https://dl.sipeed.com/MAIX/MaixPy/ide/
根据系统选择自己想要的版本,我选择的使用Win平台的
3、Hello World程序试运行
选择示例
# Hello World Example
#
# Welcome to the MaixPy IDE!
# 1. Conenct board to computer
# 2. Select board at the top of MaixPy IDE: `tools->Select Board`
# 3. Click the connect buttion below to connect board
# 4. Click on the green run arrow button below to run the script!
import sensor, image, time, lcd
lcd.init(freq=15000000)
sensor.reset() # Reset and initialize the sensor. It will
# run automatically, call sensor.run(0) to stop
sensor.set_pixformat(sensor.RGB565) # Set pixel format to RGB565 (or GRAYSCALE)
sensor.set_framesize(sensor.QVGA) # Set frame size to QVGA (320x240)
sensor.skip_frames(time = 2000) # Wait for settings take effect.
clock = time.clock() # Create a clock object to track the FPS.
while(True):
clock.tick() # Update the FPS clock.
img = sensor.snapshot() # Take a picture and return the image.
lcd.display(img) # Display on LCD
print(clock.fps()) # Note: MaixPy's Cam runs about half as fast when connected
# to the IDE. The FPS should increase once disconnected.
连接好硬件,然后开始运行
可以进数据采集和处理啦