课程介绍

智能机器人的种类很多,应用最广泛的是轮式移动机器人,主要用于室内或仓库巡逻、行星探测、教学、科研、民用交通等。在这个过程中,智能汽车通过内置摄像头(视觉传感器)获取视频信息,识别周围环境,并基于激光雷达和惯性测量单元(IMU)等传感器,在小空间内实现自主导航和避障。本课程以实用的方式引导您直观地学习机器人操作系统(ROS),并利用少林派开发板搭建智能汽车视觉应用平台。通过对智能汽车的编程实践练习,掌握深度学习的基本知识和应用。

少林派开发板是一款高性能、低功耗的边缘计算产品,搭载了算能自主研发的第三代TPU处理器BM1684, INT8计算能力高达17.6 TOPS。它支持32路全高清视频的硬件解码和2通道编码。少林派开发板外设配置灵活,支持3个mini-PCIe接口和4个USB接口,支持直流电源和Type-C电源。根据不同场景的需求,实现最优配置、合理成本、最优能耗、最优功能选择。本课程将帮助您快速掌握少林派开发板的强大功能。通过本课程,您不仅能够掌握机器人操作系统(ROS)和深度学习的基础知识,还可以了解深度学习的基本应用。

课程的特点

1. 一站式服务

所有与KT001智能车相关的常见问题都可以在这里找到。

  • 为KT001智能车提供全栈解决方案。
  • 全面介绍ROS的基本概念和实际应用。
  • 以实际应用为核心,讲解了基于OpenCV的图像处理、基于YOLOv5的目标检测、基于DeepSort的多目标跟踪、基于RetinaFace的人脸检测、基于ResNet的人脸识别等大量计算机视觉案例研究,以及基于TSM的动作识别的实现原理和方法。

2. 系统的教学

从产品介绍到环境营造,再到视觉应用。

  • 智能汽车的组成是什么?
  • 智能汽车是如何组装的?
  • 环境是如何建立的?
  • 应用程序是如何开发的?

3. 完整的材料

课程包括视频教程、文档指南、代码脚本等,内容详细丰富。

  • 丰富的视频资料。
  • 详细的应用指导。
  • 清理代码脚本。
  • 代码下载链接:https://github.com/sophgo/sophon_robot

课程目录

课程章节 ( 38节课)

1_ 产品介绍
开始学习
1.1 整机概述
待学习
1.2 少林派硬件原理图
待学习
1.3 峨嵋派硬件原理图
待学习
1.4 传感器模组介绍
待学习
1.5 KT001循迹及交通牌识别
待学习
2_ 环境搭建
开始学习
2.1 开发环境搭建
待学习
2.2 核心板少林派系统安装及连接
待学习
2.3 核心板少林派无线接入配置
待学习
2.4 核心板少林派无线热点配置
待学习
2.5 控制板峨嵋派开发环境搭建
待学习
3_ 操作基础
开始学习
3.1 Linux常用命令
待学习
3.2 Docker基础使用
待学习
3.3 VIM编辑器基础使用
待学习
4_ 理论基础
开始学习
4.1 ROS基础概念介绍
待学习
4.2 ROS架构设计
待学习
4.3 ROS运行基础
待学习
4.4 ROS中的Topic通讯
待学习
4.5 ROS中的Service通讯
待学习
4.6 ROS中的消息
待学习
4.7 ROS中的日志
待学习
4.8 智能车控制理论介绍
待学习
4.9 智能车PID控制器介绍
待学习
4.10 智能车里程计与状态更新介绍
待学习
4.11 智能车两轮差速运动学模型介绍
待学习
5_ 智能车基础功能
开始学习
5.1 多机通讯ROS分布式系统建立
待学习
5.2 键盘控制
待学习
5.3 IMU角度校正功能测试
待学习
5.4 雷达跟随
待学习
5.5 雷达避障
待学习
5.6 SLAM建图与导航
待学习
5.7 深度相机使用说明
待学习
6_ 智能车应用
开始学习
6.1 基于OpenCV的图像处理应用
待学习
6.2 基于DeepSort的多目标跟随应用
待学习
6.3 基于TSM的动作识别应用
待学习
6.4 基于图像的人物身份识别应用
待学习
6.5 基于YOLOv5的物体检测应用
待学习
7_ Q&A-常见问题汇总
开始学习
7.1 智能车核心板少林派刷机指导
待学习
7.2 智能车电量指示与低压预警
待学习

课程目标

完成本课程后,学生将能够掌握以下技能:

  • ROS环境设置,配置智能车与虚拟机之间的通信
  • 熟悉常用的ROS开发命令和ROS工具
  • 了解ROS操作系统的组成、ROS的框架逻辑、ROS的通信机制
  • 掌握BM1684的体系结构,算法开发团队的TPU处理器,以及平台的使用,以及交叉编译环境的设置和使用
  • 学习在TPU平台上实现人体跟踪、人脸检测、人脸识别、人体关键点检测、动作检测等神经网络
  • 运用深度学习知识解决具体问题的基本能力。

课程对象

本课程全面、系统地介绍了智能汽车ROS开发的基础知识、TPU硬件平台和TPU平台的实践,以及人员识别、动作检测等内容。学习本课程,需要具备一定的Python编程基础,基本的Linux系统操作能力,以及机器人的一般理论基础。

课程推荐

course-cover

编译器开发

作为框架和硬件之间的桥梁,深度学习编译器可以实现一次性代码开发和重用各种计算能力处理器的目标。最近,算能也开源了自己开发的TPU编译工具——TPU-MLIR (Multi-Level Intermediate Representation)。TPU-MLIR是一个面向深度学习处理器的开源TPU编译器。该项目提供了完整的工具链,将各种框架下预训练的神经网络转换为可在TPU中高效运行的二进制文件bmodel,以实现更高效的推理。本课程以实际实践为驱动,引导您直观地理解、实践、掌握智能深度学习处理器的TPU编译框架。

目前,TPU-MLIR项目已应用于算能开发的最新一代深度学习处理器BM1684X。结合处理器本身的高性能ARM内核以及相应的SDK,可以实现深度学习算法的快速部署。本课程将介绍MLIR的基本语法,以及编译器中各种优化操作的实现细节,如图形优化、int8量化、算子分割、地址分配等。

与其他编译工具相比,TPU-MLIR有几个优点

1. 简单方便

通过阅读开发手册和项目中包含的示例,用户可以了解模型转换的过程和原理,并快速入门。此外,TPU-MLIR是基于当前主流编译工具库MLIR设计的,用户也可以通过它了解MLIR的应用。本项目提供了一套完整的工具链,用户可直接通过现有接口快速完成模型转换工作,无需适应不同的网络。

2. 通用性

目前,TPU- mlir已经支持TFLite和onnx两种格式,这两种格式的模型可以直接转换为TPU可用的bmodel。如果不是这两种格式呢?事实上,onnx提供了一套转换工具,可以将目前市场上主要的深度学习框架编写的模型转换为onnx格式,然后再进行bmodel转换。

3、精度与效率并存

在模型转换过程中,有时会失去精度。TPU-MLIR支持INT8对称和非对称量化,结合原开发公司的校准和tune技术,大大提高了性能,保证了模型的高精度。此外,TPU-MLIR还使用了大量的图优化和算子分割优化技术来保证模型的高效运行。

4. 实现终极性价比,构建下一代深度学习编译器

为了支持图形化计算,神经网络模型中的算子需要开发图形化版本;为了适应TPU,应该为每个运营商开发一个版本的TPU。此外,有些场景需要适应相同计算能力处理器的不同型号,每次都必须手工编译,这将非常耗时。深度学习编译器就是用来解决这些问题的。TPU-mlir的一系列自动优化工具可以节省大量的人工优化时间,因此在RISC-V上开发的模型可以顺利自由地移植到TPU上,以获得最佳的性能和性价比。

5. 完整的信息

课程包括中英文视频教学、文档指导、代码脚本等,详实丰富的视频资料详细应用指导清晰的代码脚本TPU-MLIR站在MLIR巨头的肩膀上打造,现在整个项目的所有代码都已经开源,免费向所有用户开放。

代码下载链接:https://github.com/sophgo/tpu-mlir

tpu - mlir开发参考手册:https://tpumlir.org/docs/developer_manual/01_introduction.html

总体设计思想论文:https://arxiv.org/abs/2210.15016

视频教程:https://space.bilibili.com/1829795304/channel/collectiondetail?sid=734875

课程目录

序号 课程名 课程分类 课程资料
      视频 文档 代码
1.1 Deep learning编译器基础 TPU_MLIR基础
1.2 MLIR基础 TPU_MLIR基础
1.3 MLIR基本结构 TPU_MLIR基础
1.4 MLIR之op定义 TPU_MLIR基础
1.5 TPU_MLIR介绍(一) TPU_MLIR基础
1.6 TPU_MLIR介绍(二) TPU_MLIR基础
1.7 TPU_MLIR介绍(三) TPU_MLIR基础
1.8 量化概述 TPU_MLIR基础
1.9 量化推导 TPU_MLIR基础
1.10  量化校准 TPU_MLIR基础
1.11 量化感知训练(一) TPU_MLIR基础
1.12  量化感知训练(二) TPU_MLIR基础
2.1 Pattern Rewriting TPU_MLIR实战
2.2 Dialect Conversion TPU_MLIR实战
2.3 前端转换 TPU_MLIR实战
2.4 Lowering in TPU_MLIR TPU_MLIR实战
2.5 添加新算子 TPU_MLIR实战
2.6 TPU_MLIR图优化 TPU_MLIR实战
2.7 TPU_MLIR常用操作 TPU_MLIR实战
2.8 TPU原理(一) TPU_MLIR实战
2.9 TPU原理(二) TPU_MLIR实战
2.10  后端算子实现 TPU_MLIR实战
2.11 TPU层优化 TPU_MLIR实战
2.12 bmodel生成 TPU_MLIR实战
2.13 To ONNX format TPU_MLIR实战
2.14 Add a New Operator TPU_MLIR实战
2.15 TPU_MLIR模型适配 TPU_MLIR实战
2.16 Fuse Preprocess TPU_MLIR实战
2.17 精度验证 TPU_MLIR实战

 

course-cover

Milk-V Duo开发板实践课程

本课程介绍了硬件电路的设计和基本环境的搭建,并提供了一些简单的开发示例和一些基本的深度学习示例。

Milk-V Duo是基于CV1800B的超小型嵌入式开发平台。它体积小,功能全面,配备双核,可以分别运行linux和rtos系统,并具有各种可连接的外设。

  • 可扩展性:Milk-V Duo核心板具有多种接口,如GPIO, I2C, UART, SDIO1, SPI, ADC, PWM等。
  • 多种可连接外设:Milk-V Duo核心板可扩展各种设备,如LED,便携式屏幕,摄像头,WIFI等。

课程特点:

  • 内容材料丰富完整,包括开发板硬件设计、外设接口说明、基本环境设置方法、示例代码脚本等。
  • 学习路径科学合理,从开发板的介绍和基本使用开始,引导到实际项目,充分利用开发板,为用户自身开发提供参考。
  • 实际项目丰富,课程提供了许多实际代码使用和功能演示的示例。通过简单地修改和组合代码,可以实现不同的功能。

课程目录

course-cover

SE5开发系列课

深度神经网络模型可以快速训练和测试,然后由行业部署,在现实世界中有效地执行任务。在小型、低功耗的深度学习边缘计算平台上部署这样的系统受到业界的高度青睐。本课程采用实践驱动的方法,引导你直观地学习、实践和掌握深度神经网络的知识和技术。

SOPHON深度学习微服务器SE5是采用SOPHON自主研发的第三代TPU处理器BM1684的高性能、低功耗边缘计算产品。INT8运算能力高达17.6 TOPS,支持32路全高清视频硬件解码和2路编码。本课程将快速引导您了解SE5服务器的强大功能。通过本课程,您可以了解深度学习的基础知识并掌握其基本应用。

课程的特点

1. 一站式服务

 在SE5应用程序中遇到的所有常见问题都可以在这里找到。

  • 为深度学习微服务器提供全栈解决方案
  • 一步一步、详细而清晰地分解开发过程
  • 支持所有主流框架,易于使用的产品

2. 系统的教学

它包括设置环境、开发应用程序、转换模型和部署产品,以及拥有镜像的实际环境等所有内容。

  • 环境是如何构建的?
  • 如何编译模型?
  • 应用程序是如何开发的?
  • 场景如何部署?

3. 完整的材料

本课程包括视频教程、文档指南、代码脚本和其他综合材料。

  • 丰富的视频素材
  • 详细的应用指导
  • 清晰的代码脚本
  • 代码下载链接:https://github.com/sophon-ai-algo/examples

4. 免费的云开发资源

在线免费申请使用SE5-16微服务器云测试空间