比尔•周MathWorks
学习如何使用Simulink金宝app®设计包括决策逻辑、控制器、传感器融合、车辆动力学和3D可视化组件的复杂系统。
从Release 2020b开始,您可以将深度学习网络集成到您的Simulink模型中,以执行系统级模拟和部署。金宝app
学习如何在ARM上的Simulink中使用基于YOLO v2的深度学习网络运行车道和车辆检测器的仿真金宝app®皮质®——和英特尔®cpu。Simu金宝applink模型包括预处理和后处理组件,执行诸如调整传入视频的大小、检测坐标和在检测车辆周围绘制边框等操作。使用相同的Simulink模金宝app型,您可以使用ARM计算库或Intel MKL-DNN (oneDNN)生成优化的c++代码,以ARM Cortex-A和Intel cpu为目标。
金宝appSimulink是一个值得信赖的工具,用于设计复杂系统,包括决策逻辑和控制器、传感器融合、车辆动力学和3D可视化组件。在发布2020b时,您可以将深度学习网络集成到您的Simulink模型中,以执行系统级模拟和部署。金宝app如果我们看看车辆车道检测子系统,我们会看到两个深度学习网络的使用。现在输入的视频要放进去了。我们将做一些预处理来调整图像的大小。
从那里,它被发送到Lane检测器,我们可以看到Lane检测器被定义在mat文件这里。从那里,我们将发送它进行一些后处理,以检测坐标,然后在输出视频中绘制左右车道。同时,输入视频也会被发送到第二个深度学习网络,yolov2网络,这里你可以看到它在MATLAB函数块中的mat文件中定义。从那里,我们将再次发送它来做一些注释,在检测到的车辆周围绘制边界框。这是一个在CPU上运行的模拟。
帧率有点低,但输入视频在左边,输出视频在右边。你可以看到我们正在检测左右车道,用绿色高亮,并在我们看到的车辆周围画出边框。现在,我们已经为代码生成做好了准备,因此我们可以启动Simulink Coder或Embedded Coder应用程序。金宝app在本例中,我们将启动Embedded coder,并进入配置参数。在顶部,您将看到适当的系统目标文件。
我们为深度学习网络设置语言为c++,在这里的底部,你可以看到我们正在使用Microsoft Visual c++工具链。在界面下,我们可以指定深度学习网络。目标库,我们可以为Intel cpu选择MKL-DNN或为ARM Cortex-A处理器选择ARM Compute库。在这个例子中,我们将保留MKL-DNN,这样我们就可以在Intel CPU上运行它,让我们生成代码。这是代码生成报告。
我们先来看阶跃函数。向下滚动一点。这里你可以看到我们调用的部分代码,对两个深度学习网络中的第一个进行推理。现在让我们来看看深度学习网络是如何定义的。这是一个用于LaneNet的方法,在这里您可以看到一组公共方法和私有方法——设置、预测和清理。
现在我们来看看第二个深度学习网络,yolov2网络。这里我们有一组类似的公共和私有方法——设置、预测、额外的激活和清理。如果我们愿意,我们可以查看设置内部,这个在程序开始时加载一次。这里你可以看到,深度学习网络一次只加载一层。当我们做每一层的时候,我们也装载了权重和偏差。
这就是在Simulink中为cpu(如Intel和ARM处理器)从深度学习网络生成代码的快速浏览。金宝app想了解更多信息,请看下面的链接。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。