tag 标签: 米尔

相关博文
  • 2024-12-13 15:19
    60 次阅读|
    0 个评论
    本文将介绍基于米尔电子MYD-LT527开发板(米尔基于全志T527开发板)的OpenCV手势识别方案测试。 摘自优秀创作者-小火苗 米尔基于全志T527开发板 一、软件环境安装 1.安装OpenCV sudo apt-get install libopencv-dev python3-opencv 2.安装pip sudo apt-get install python3-pip 二、OpenCV手势识别步骤 ​1.图像获取 :从摄像头或其他图像源获取手部图像。使用OpenCV的VideoCapture类可以捕获视频流,或者使用imread函数加载图像。 2.图像预处理 :对图像进行预处理,以提高特征提取的准确性。常用的预处理操作包括灰度化、滤波、边缘检测、二值化、噪声去除和形态学处理等。 灰度化:将彩色图像转换为灰度图像,去除颜色信息,简化图像。 滤波:使用滤波器去除图像中的噪声。 边缘检测:使用边缘检测算法提取图像中的边缘信息。 二值化:将灰度图像转换为二值图像,将像素值分为黑色和白色。 形态学处理:使用形态学操作增强手势轮廓。 3.特征提取 :从预处理后的图像中提取手部特征。常用的特征包括形状特征、纹理特征和运动轨迹特征等。 形状特征:提取手部轮廓、面积、周长、质心等形状特征。 纹理特征:提取手部皮肤纹理、皱纹等纹理特征。 运动轨迹特征:提取手部运动轨迹、速度、加速度等运动轨迹特征。 4.分类和识别 :使用机器学习算法对提取的特征进行分类,以识别特定的手势。 三、代码实现 # -*- coding: utf-8 -*- import cv2 def reg(x): o1 = cv2.imread('paper.jpg',1) o2 = cv2.imread('rock.jpg',1) o3 = cv2.imread('scissors.jpg',1) gray1 = cv2.cvtColor(o1,cv2.COLOR_BGR2GRAY) gray2 = cv2.cvtColor(o2,cv2.COLOR_BGR2GRAY) gray3 = cv2.cvtColor(o3,cv2.COLOR_BGR2GRAY) xgray = cv2.cvtColor(x,cv2.COLOR_BGR2GRAY) ret, binary1 = cv2.threshold(gray1,127,255,cv2.THRESH_BINARY) ret, binary2 = cv2.threshold(gray2,127,255,cv2.THRESH_BINARY) ret, binary3 = cv2.threshold(gray3,127,255,cv2.THRESH_BINARY) xret, xbinary = cv2.threshold(xgray,127,255,cv2.THRESH_BINARY) contours1, hierarchy = cv2.findContours(binary1, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE) contours2, hierarchy = cv2.findContours(binary2, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE) contours3, hierarchy = cv2.findContours(binary3, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE) xcontours, hierarchy = cv2.findContours(xbinary, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE) cnt1 = contours1 cnt2 = contours2 cnt3 = contours3 x = xcontours ret=[] ret.append(cv2.matchShapes(x,cnt1,1,0.0)) ret.append(cv2.matchShapes(x,cnt2,1,0.0)) ret.append(cv2.matchShapes(x,cnt3,1,0.0)) max_index = ret.index(min(ret)) #计算最大值索引 if max_index==0: r="paper" elif max_index==1: r="rock" else: r="sessiors" return r t1=cv2.imread('test1.jpg',1) t2=cv2.imread('test2.jpg',1) t3=cv2.imread('test3.jpg',1) # print(reg(t1)) # print(reg(t2)) # print(reg(t3)) # ===========显示处理结果================== org=(0,60) font = cv2.FONT_HERSHEY_SIMPLEX fontScale=2 color=(255,255,255) thickness=3 cv2.putText(t1,reg(t1),org,font,fontScale,color,thickness) cv2.putText(t2,reg(t2),org,font,fontScale,color,thickness) cv2.putText(t3,reg(t3),org,font,fontScale,color,thickness) cv2.imshow('test1',t1) cv2.imshow('test2',t2) cv2.imshow('test3',t3) cv2.waitKey() cv2.destroyAllWindows() 四、实践 1.程序运行 2、原始图像包含训练图像 3.识别结果 识别到了 剪刀 石头 布 原始图片
  • 2024-12-6 15:53
    382 次阅读|
    0 个评论
    学习如何在 MYIR 的 ZU3EG FPGA 开发板上部署 Tiny YOLO v4,对比 FPGA、GPU、CPU 的性能,助力 AIoT 边缘计算应用。(文末有彩蛋) 一、 为什么选择 FPGA:应对 7nm 制程与 AI 限制 在全球半导体制程限制和高端 GPU 受限的大环境下,FPGA 成为了中国企业发展的重要路径之一。它可支持灵活的 AIoT 应用,其灵活性与可编程性使其可以在国内成熟的 28nm 工艺甚至更低节点的制程下实现高效的硬件加速。 米尔的 ZU3EG 开发板凭借其可重构架构为 AI 和计算密集型任务提供了支持,同时避免了 7nm 工艺对国产芯片设计的制约。通过在 ZU3EG 上部署 Tiny YOLO V4,我们可以为智能家居、智慧城市等 AIoT 应用提供高效的解决方案。 CPU GPU FPGA 架构对比 二、 了解 Tiny YOLO 模型及其适用性 YOLO(You Only Look Once)是一种实时物体检测模型,它通过一次性扫描整个图像,实现高效的对象识别。 而其简化版 Tiny YOLO V4 更适合嵌入式设备,具有较少的层数和参数。其轻量化特性更适合在资源受限的设备上运行,尤其在低功耗、实时检测的边缘计算设备中表现出色。 相比传统 GPU,FPGA 能在小面积和低功耗下实现类似的推理性能,非常契合 AIoT 应用。像米尔 ZU3EG 这样的 FPGA 开发板,通过底板和丰富接口的载板设计,非常适合高效的嵌入式低功耗数据处理。 Yolo V4 网络结构图 Tiny Yolo V4 网络结构图 (通过优化网络结构和参数,保持较高检测精度的同时,降低模型的计算量和内存占用) 三、 获取数据集和模型 可下载开源训练集或预训练模型。为了确保兼容性,建议将模型转换为 ONNX 格式,以便后续能在 FPGA 上完成优化。 1. 下载 Tiny YOLO V4 模型 :从 Darknet 的 GitHub 仓库 获取 Tiny YOLO 的预训练权重,或者在 COCO 等数据集上自行训练模型。自定义的模型适用于特定应用场景(如车辆检测、人脸检测等)。 2. 数据准备 :若要自定义模型,可使用LabelImg等工具对数据集进行标注,将数据转为 YOLO 格式。之后,可将 YOLO 格式转换为 ONNX 格式,以便兼容 FPGA 优化工具链。 Tiny YOLO 在 Darknet 上训练的截图 四、 通过 Vivado HLS 为 FPGA 准备模型 要将模型部署到 FPGA,需要将神经网络操作转换为硬件级描述。使用 Xilinx 的 Vitis HLS(高级综合)可以将 Tiny YOLO v4 的 C++ 模型代码的转化为 Verilog RTL(寄存器传输级)代码,从而将模型从软件世界带入硬件实现。 详细步骤 : 1. 模型层映射和优化 : 将 YOLO 的每一层(如卷积层、池化层)映射为硬件友好的 C/C++ 结构。例如,将卷积映射为乘累加(MAC)数组,通过流水线实现并行化。 2. 算子加速与指令优化 : 流水线(Pipelining) :利用流水线来处理多项操作并行,减少延迟。 循环展开(Loop Unrolling) :展开循环,以每周期处理更多数据,尤其在卷积操作中有效。 设置 DATAFLOW 指令,使层间独立处理。 3. 量化与位宽调整 : 将激活值和权重量化为定点精度(例如 INT8),而非浮点数。这在维持准确度的同时显著降低计算量,尤其适合 FPGA 的固定点运算支持。 Tiny YOLO 模型在 Vivado HLS 中的层层转化流程图 五、 使用 Vivado 综合与部署 Verilog 到 米尔的ZU3EGFPGA开发板 当 HLS 生成的 RTL 代码准备就绪后,可以使用 Vivado 将模型部署到 FPGA。 1. Vivado 中的设置 : 将 HLS 输出的 RTL 文件导入 Vivado。 在 Vivado 中创建模块设计,包括连接AXI 接口与 ZU3EG 的 ARM 核连接。 2. I/O 约束与时序 : 定义 FPGA 的 I/O 引脚约束,以匹配 ZU3EG 板的特定管脚配置。配置时钟约束以满足合适的数据速率(如视频数据 100-200 MHz)。 进行时序分析,确保延迟和响应速度达到实时要求。 3. 生成比特流并下载到 ZU3EG : 生成的比特流可以直接通过 JTAG 或以太网接口下载到 ZU3EG。 将 Tiny YOLO 处理模块连接到 米尔ZU3EG开发板 的外设和接口 六、 在 FPGA 上测试并运行推理 现在 Tiny YOLO 已部署,可以验证其实时对象检测性能。 1. 数据采集 : 通过连接的相机模块捕捉图像或视频帧,或者使用存储的测试视频。 使用ZU3EG 的 ARM 核上的OpenCV对帧进行预处理,再将它们传入 FPGA 预处理后进行推理。 2. 后处理与显示 : 模型检测对象后,输出边框和类别标签。使用 OpenCV 将边框映射回原始帧,并在每个检测到的对象周围显示类别和置信度。 3. 性能测试 : 测量帧速率(FPS)和检测准确度。微调量化位宽或数据流参数,以优化实时需求。 Tiny YOLO 模型在 ZU3EG 上显示检测结果的实时输出,视频帧中标注了检测到的对象 七、 性能优化与调试技巧 为提高性能,可以进行以下调整: 内存访问 :设计数据存储方式,最大限度利用缓存并减少数据传输,降低内存瓶颈。 降低延迟 :重新评估关键路径延迟。若延迟过高,调整 Vitis HLS 中的流水线深度,并验证层间的数据依赖性。 量化改进 :尝试 INT8 量化。Xilinx 的 Vitis AI 可帮助微调量化参数,以平衡准确性与速度。 不同优化配置对资源使用的影响 米尔MYC-CZU3EG/4EV/5EV-V2核心板及开发板 在MYIR 的 ZU3EG 开发平台上提供了一种高效的解决方案。利用 FPGA 独特的灵活性和低功耗优势,助力未来 AIoT 设备的普及和智能升级。 关注米尔电子公众号,后台回复FPGA,获取完整Tiny Yolo V4教程。
  • 2024-11-8 18:00
    0 个评论
    米尔在2024年8月推出了基于新唐MA35D1芯片设计的嵌入式处理器模块MYC-LMA35核心板及开发板。MA35D1是集成2个Cortex-A35与1个Cortex-M4的异构微处理器芯片。核心板采用创新LGA 252PIN设计,原生17路UART和4路CAN FD等丰富的通讯接口,可广泛应用于新能源充电桩、工程机械控制器、OBD汽车诊断仪、工业网关、运动控制器和电力DTU等场景。 配置上新,容量选择更丰富 现为满足开发者更强大的性能和存储需求,助力更复杂的应用开发,米尔MA35D1核心板和开发板新增不同内存配置,芯片内置512MB DDR,8GB eMMC。 核心板型号 产品型号 主芯片 内存 存储器 工作温度 MYC-LMA35-8E256D-80-I MA35D16A887C 芯片内置256MB DDR3L 8GB eMMC -40℃~+85℃ MYC-LMA35-8E512D-80-I MA35D16AJ87C 芯片内置512MB DDR3L 8GB eMMC -40℃~+85℃ MYC-LMA35-256N256D-80-I MA35D16A887C 芯片内置256MB DDR3L 256MB NAND FLASH -40℃~+85℃ 开发板型号 产品型号 主芯片 内存 存储器 工作温度 MYD-LMA35-8E256D-80-I MA35D16A887C 芯片内置256MB DDR3L 8GB eMMC -40℃~+85℃ MYD-LMA35-8E512D-80-I MA35D16AJ87C 芯片内置512MB DDR3L 8GB eMMC -40℃~+85℃ MYD-LMA35-256N256D-80-I MA35D16A887C 芯片内置256MB DDR3L 256MB NAND FLASH -40℃~+85℃ 新唐 MA35D1 系列微处理器 NuMicro® MA35D1系列为一颗异核同构的多核心微处理器。它拥有两颗 64 位 Arm® Cortex®-A35 内核,执行速度可达 800 MHz,并搭载一颗 180 MHz Arm® Cortex®-M4 内核。为了简化系统设计和生产,MA35D1系列提供了DDR2/ DDR3L SDRAM,最大容量达 512 MB,集成了较大DDR内存,方便进行数据处理和硬件设计。MA35D1系列提供多组高性能的通讯接口,如千兆以太网、SDIO3.0、高速 USB 2.0、CAN-FD 等。MA35D1系列支持 LCD 显示控制器,分辨率可达 1920 x 1080 每秒 60 帧,内嵌图形加速器、JPEG 和 H.264 译码器等,带来更好的图形人机接口和视频播放效果。
  • 热度 3
    2024-10-18 17:05
    194 次阅读|
    0 个评论
    在国内对于特种车辆有重点安全防范要求,"两客一危"是对道路运输车辆的一种分类方式,其中“两客”指的是客运车辆和公交车辆,而“一危”指的是危险货物运输车辆。这种分类方式主要用于强调这些车辆在道路运输中的特殊地位,因为它们通常需要满足更高的安全标准。 在国内,“两客一危"车辆通常需要安装"部标机”,也就是满足特定部门标准的设备。这些设备可能包括但不限于定位设备、驾驶员行为监控设备、车辆定位系统等系统构件。 随着安全管理意思的加强,在理解满足部标机要求的基础上,运营方往往提出更高要求、更多功能需求。T527方案以强悍的8核A55+6路高清视频流编码+2Tops AI加速能力给客户带来更多附加价值。 MYC-LT527核心板介绍 MYC-LT527核心板采用高密度高速电路板设计,在大小为43mm*45mm板卡上集成了T527、DDR、eMMC、E2PROM、看门狗等电路。MYC-LT527具有最严格的质量标准、超高性能、丰富外设资源、高性价比、长供货时间的特点,适用于高性能车载设备所需要的核心板要求。 配置灵活、适应性强、选择多 为了适应T527系列处理器广泛的用途和具体需求,我们米尔给核心板实现6种标准配置: 也可根据用户需求定制配置型号。
  • 2024-9-30 15:18
    0 个评论
    在智能制造与物联网技术日新月异的今天,一款集高性能、低功耗、高可靠性于一身的工业级核心板成为了推动产业升级的关键力量。米尔电子向市场推出——国产真工业级四核Cortex-A55米尔全志T536核心板,助力国产真工业级工控板快速发展,为工业自动化、工业控制、机器人等领域提供强大的算力支持。MYC-LT536系列核心板采用LGA封装,存储配置2GB LPDDR4、16GB eMMC、接口丰富。 全志T536系列处理器是一款工业级应用芯片,基于ARM架构设计,专为高效能、低功耗的嵌入式应用而生。集成了4xCortex-A55 高性价比CPU,E907协处理器,含有2Tops NPU、G2D、VPU 4K高清视频编解码器。支持多种多媒体接口MIPI-DSI、Parallel DSI、Dual-LVDS和MIPI-CSI、Parallel CSI、5M ISP;此外,T536处理器还集成双千兆以太网、PCIe2.1/USB3.1、Localbus、4*CANFD、17*UART、SDIO、SPI、PWM、I2C等接口。其强大的处理能力,能够轻松应对复杂的工业计算任务,无论是数据处理、图像识别还是边缘计算,都能游刃有余。 作为一款国产真工业级产品,T536核心板在设计之初就充分考虑了工业环境的严苛要求。采用高质量元器件,经过严格的环境适应性测试,确保在宽温、高湿、振动等恶劣条件下仍能稳定运行。同时,其紧凑的封装设计和灵活的接口配置,便于用户快速集成到各类工业设备中,提升整体系统的可靠性和稳定性。 LGA创新设计,可靠性高 MYC-LT536系列核心板采用高密度高速电路板设计,在大小为43mm*45mm*3.85mm板卡上集成了T536、LPDDR4X、eMMC、E2PROM、PMIC电源等电路。具有最严格的质量标准、超高性能、丰富外设资源、高性价比、长供货时间的特点,适用于高性价比入门级智能设备所需要的核心板要求。 丰富的应用场景 米尔全志T536核心板凭借其卓越的性能和广泛的应用适应性,可广泛应用于电力继保、电力DTU、工业互联网设备、工业控制设备、工业机器人、显控一体机等多个领域。它不仅能够提升设备的智能化水平,助力开发者项目落地,节约开发时间和降低开发难度,加速数字化转型进程。
相关资源
  • 所需E币: 0
    时间: 2024-2-24 22:36
    大小: 1.84MB
    上传者: 电子阔少
    米尔这款首发的国产核心板批量上市了!全志T527.docx
  • 所需E币: 4
    时间: 2021-3-16 00:17
    大小: 21.05MB
    上传者: LGWU1995
    半导体中的深能级杂质(A.G.米尔恩斯)..pdf
  • 所需E币: 0
    时间: 2020-3-9 10:59
    大小: 1.49MB
    STM32MP1系列的出现吸引了很多STM32的新老用户的关注,但是很多的人都会担心一个问题:以前是基于CortexM系列MCU进行开发的,对于cortex-A架构的处理器以及Linux系统都不熟悉。如何高效地从MCU跨越到MPU是大家都关心的话题。作为ST官方合作伙伴,米尔电子推出了开发套件MYD-YA157C,该套件由核心板MYC-YA157C和底板MYB-YA157C组成。该平台采用STM32MP157系列高性能处理器,提供了高性能显示,千兆以太网,WIFI/蓝牙,RS232/RS485/CAN等丰富接口。贴合应用场景的产品定义,稳定可靠的硬件设计,丰富的软件和学习资源,能帮助大家轻松实现跨越,是一块值得推荐的STM32MP1开发板。
  • 所需E币: 0
    时间: 2020-3-9 11:01
    大小: 1.15MB
    近几年来,随着AIOT技术的演进以及工业4.0的飞速发展,强大性能,成本领先,供货周期长的嵌入式板卡已经成为这两类设备硬件开发的普遍需求。为响应行业应用和满足客户需求,米尔推出了基于NXP公司i.MX8MMini系列芯片的MYC-C8MMX系列核心板及开发板,现已隆重上市发售。MYD-C8MMX开发板提供LVDS显示(单路/双路)、MIPI-DSI信号引出、MIPI-CSI摄像头接口、支持音频输入输出、千兆网、多路USB、多串口、WIFI及蓝牙模块等丰富的接口;同时核心板批量性价比高,稳定供货周期长达10年。
  • 所需E币: 0
    时间: 2020-3-9 11:05
    大小: 1002.49KB
    针对网关市场的庞大市场需求,米尔推出了基于TIAM335x系列处理器的开发平台MYD-C335X-GW,该平台采用核心板+底板的设计,其中MYC-C335X-GW核心板集成了电源管理芯片、DDR3/DDR3L、eMMC/NandFlash、EEPROM、以及160PIN的板对板信号扩展(80*2);底板提供了12V电源供电、双千兆以太网、一路光口、LVDS、RGBLCD、用于4GLTE的MINIPCI-E接口、WIFI及蓝牙模块、USBHOST、RS485、RS232等外设接口。