《2-K230 CanMV与RT-Smart的MicroPython之旅_1221_20240102141122.pdf》由会员分享,可在线阅读,更多相关《2-K230 CanMV与RT-Smart的MicroPython之旅_1221_20240102141122.pdf(33页珍藏版)》请在三个皮匠报告上搜索。
1、K230 CanMV 与 RT-Smart 的 MicroPython 之旅嘉楠科技AI软件总监张晓晶张晓晶多摄应用多摄应用:三摄和4K编解码场景立体视觉立体视觉:中距+近距三维感知,高精度应用更高性能更高性能:AI和CPU性能数倍提升算力利用率高算力利用率高:部分典型网络MAC利用率超70%AIAI多模态多模态:视觉/语音/OCR/翻译NMT等支持AIAI工具完备工具完备:算子完备、数百算法开源和客户易部署工具超低功耗超低功耗:适合电池类设备快速启动快速启动:毫秒级开机,百毫秒级完成AI应用双核玄铁双核玄铁C908C908 高性能RISC-V 128b Vector 高主频 TEE安全DPU
2、DPU全高清全高清3D3D深度引擎深度引擎KPUKPU第三代第三代AIAI引擎引擎VIDEOVIDEO4K4K超高清输入超高清输入 图形和显示增强 多摄和全流程加速 编解码均支持 立体视觉 高精度 高性能、高利用率 视觉+语音+Transformer图像子系统丰富:图像子系统丰富:高达3路视频输入,4K高分辨率ISP 2D/3D,能力完备功耗优:功耗优:典型场景百mW,超1T/W能效待机功耗uA级别,功耗控制CPUCPU&AIAI 算力强:算力强:双核RISCV CPU;大核1.6G主频RVV 1.0 扩展近存AI架构设计,超高利用率接口丰富:接口丰富:高速USB/SDIO/SPI低速UART
3、/I2C/GPIO/I2S特色支持音频APU/FFT集成度高、优化方案成本:集成度高、优化方案成本:支持SIP DDR,降低BOM成本11mm*11mm package(SIP)提升元素类型操作效率 增加浮点定点转换效率 加速浮点开方/倒数部分算法适配性部分算法适配性 提升寄存器Group适用范围 增加指令操作元素灵活性 提升进程切换效率软件可编程性软件可编程性 改进Mask layout机制 提升混合元素访问效率 删除复杂功能指令处理器可实现性处理器可实现性75.61545.8440.83214.7490.7040.13801020304050607080softmaxwherelayer_
4、normwithout RVV timing(ms)with RVV timing(ms)softmax算子执行效率提升5 5倍 layer_norm算子执行效率提升6 6倍 where算子执行效率提升6565倍 这三类算子在TransformerTransformer模型中经常成为影响模型推理性能的重要因素。391.154.534.529.93.88.3050100150200250300350400450warpaffline(仿射变换)media blur(中值滤波)inter(积分图计算)OpenCV算子优化数据K230+官方opencv(ms)K230+玄铁opencv(ms)war
5、paffline算子执行效率提升1313倍 media blur算子执行效率提升1414倍 inter算子执行效率提升4 4倍489.5677.3226.687.7570.215.238.5232.6163.9181.868.5384.612.714.6323.8389.371.715.6227.3232.6116.341.0212.88.113.6434.8196.1222.285.5400.012.814.00.0100.0200.0300.0400.0500.0600.0700.0800.0Mobilenet v1Mobilenet v2Resnet 18Resnet 50Squeeze
6、NetYolo V3Yolo V5sK230(EVB实测)竞品A(5T)竞品B(5T)竞品C(2T)竞品D(2.3T)数字人数字人 AI加速/个性AI开发 智能视觉/语音交互 2.5D GPU加速UI 低功耗VR/ARVR/AR 语音模型NPU量化 Vector图像拼接加速 OCR/NMT/TTS Turn-Key方案智能笔智能笔 真3D结构光人脸识别 百毫秒开门速度 uW低功耗深睡唤醒 3摄方案集成猫眼3D3D人脸门锁人脸门锁 3D支付终端 金融支付级3D识别 高分辨率三图对齐 亚像素深度信息优化3D3D人脸支付人脸支付 实时3D深度采集 三维重建 算法&真人驱动 实时模型渲染智能网络摄像机
7、智能网络摄像机 5MP分辨率 支持3帧HDR 180鱼眼矫正 AI算力加持本周进展功能基础组件:rv64,内核OS扩展组件:用户态,POSIX,SHELLLicense免费商用其他中立性技术支持生态丰富的三方组件社区活跃度性能快速启动中断响应快任务调度实时RT-Thread Smart,简称RT-Smart,采用APACHE license,是面向实时应用场合的高性能混合微内核操作系统。它能够填补传统RTOS和大型操作系统Linux之间的空白,主要针对MPU类芯片,具备内核精简、快速启动、实时抢占调度、系统和应用安全隔离保护,完整的POSIX接口、方便开发和调试等特性。应用程序和中间件快速启动
8、service(fastboot_service)参考demo中间件(GUI文件,流媒体等)Media server&client异构核通信server多媒体客户端平台(MAPI_xxx)核间通讯client多媒体服务端平台MAPI_xxx驱动Sensor驱动多媒体平台驱动核间通讯核间通讯Linux driver多媒体平台库(MPI_xxx)SOC及外设控制器+外设mailbox共享内存控制器+外设+DRM音频硬件视频硬件时钟电源mailbox共享内存存储硬件网络硬件时钟电源大核大核RT-SmartRT-Smart小核小核LinuxLinux用户态空间用户态空间用户态空间用户态空间内核态空间内
9、核态空间内核态空间hardwaredevice on chip media devicekpuAI-2DmemoryDDRSRAMCPURVVRT-SMART OSdrivermpp drivermedia devicesysbindvideo buffernncase drivernncaseAI-2Dcdk driveripcmsharefsuserlibothernncase libmpp userspace libsysbindmedia driver nncase runtime opencvopenblasmicropythonvideo buffercdk libIPCMSGDA
10、TAFIFOapplicationmpp userspace samplenncase samplecdk sampleother samplemapi userspace libvicapvdecvencaudioVideo bufferMicroPython旨在使嵌入式编程更加容易和可访问,尤其是对那些已经熟悉Python的开发者来说。它被广泛应用于人工智能、物联网(IoT)、嵌入式系统、教育和原型开发等领域。Python 是一种非常适合初学者的语言,因为它的语法清晰,很容易上手。这使得 MicroPython 对于那些没有太多编程经验的人来说是一个很好的选择。易于学习易于学习MicroP
11、ython 支持交互式提示符(REPL),允许开发者快速编写和测试代码,这对于快速测试和调试非常有用。交互式开发交互式开发MicroPython具有许多Python标准库的子集,以及一些专门为嵌入式系统设计的库,使得开发者能够方便地访问各种功能丰富的库丰富的库RTT-Smart提供了完整的posix接口,因此MicroPython的移植可以参考官方的ports/unix示例代码。以下标准 Python 库已被“微化”,以符合 MicroPython 的理念。它们提供该模块的核心功能,旨在成为标准MicroPython库的直接替代品。Machine模块包含与特定板上的硬件相关的特定功能。该模块中
12、的大多数功能允许实现对系统上硬件块(如CPU、定时器、总线等)的直接且不受限制的访问和控制。如果使用不当,可能会导致主板故障、死机、崩溃,在极端情况下还会导致硬件损坏。class FPIOA class GPIO class I2C class SPI class UART class PWM class ADC class FFT class TIMER class WDTMPP(Media Process Platform)媒体处理平台)是嘉楠科技开发的一整套适配k230的多媒体组件。该模块API与C API完全一致,使用方式及例程可参考k230_sdk_mpp sample。class
13、sys class vb class vo class connector class vi_cap class ai class ao class aenc class adec class venc class vdec class pmMedia模块是基于MPP封装的一个上层API,屏蔽了一些底层细节,简化了用户的使用流程,帮助用户更方便的使用多媒体硬件。class camera class display class media class player class pyaudio class vencoder class vdecoderKPU模块包含了kpu类和ai2d类,用于编写
14、AI推理程序,这些API与 nncase runtime API一致。class kpu run load_kmodel get_input_tensor set_input_tensor get_output_tensor set_output_tensor inputs_sizes outputs_sizes inputs_desc outputs_desc class ai2d build set_dtype set_crop_param set_shift_param set_pad_param set_resize_param set_affine_paramOPENMV模块具有广泛
15、的机器学习和图像处理功能,例如面部检测、关键点描述符、颜色跟踪、QR 和条形码解码、AprilTags等。ulab是类似numpy的模块,用于简化和加速数组上的常见数学运算,ulab实现了numpy和scipy的一小部分。CanMV-IDE是基于OpenMV-IDE开发的,用户可以快速编写python源码然后下发到CanMV-K230开发板上运行,同时IDE可以实时显示camera采集到的图片。AI CubeAI Cube训练平台训练平台Kendryte Training Script 在线训练平台在线训练平台 低开发门槛 一键式设计,一键训练,一键导出一键式设计,一键训练,一键导出 PC端、云端自定义训练本周进展本周进展本周进展提升社会运行效率,改善人类生活方式。Super computing is what we do things,Human livelihood is why we do things.我们的愿景Our vision微信群QQ群