0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深度学习将教授的白板草图转换为可用的模型

MATLAB 来源:MATLAB 作者:MATLAB 2022-12-15 15:39 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

有些研究课题是为了回答理论问题。有些研究课题是为了解决研究人员自己的问题。伊斯坦布尔理工大学的人工智能和智能系统实验室主任、控制和自动化工程教授 Tufan Kumbasar 的研究就属于后一种情况。

控制和自动化工程师经常使用反馈控制架构 (FCA) 来设计闭环控制,目的是管理或调节系统的行为以实现预期的结果。系统会反馈当前状态并将其与期望状态进行比较,然后系统进行调整以保持期望状态。这种类型的控制系统用于设置汽车的巡航控制、调节加热系统和管理工厂。

通常,讲授控制理论的教授会在白板上绘制 FCA。为了展示和分析系统的动态行为(即,它在各种输入下的行为),教授会在模块图旁边绘图。但这需要时间,而且每次更改 FCA 后都要重新绘图。解读这些绘图可能也很困难。

d5f29bd0-7b97-11ed-8abf-dac502259ad0.jpg

d60a49d8-7b97-11ed-8abf-dac502259ad0.jpg

d637401e-7b97-11ed-8abf-dac502259ad0.jpg

FCA 白板绘图示例。(图片所有权:伊斯坦布尔理工大学)“学生面临的主要挑战是识别我的板书和我糟糕的绘图,它们根本不成比例,”Kumbasar说。“他们很难理解这种图。”

一种替代方法是在 MATLABSimulink 等科学计算软件中重新创建FCA,并将计算出的绘图投影到屏幕上。“MATLAB 有很好的可视化能力,”Kumbasar 说。”但在课堂上编码需要花费额外的时间和精力。”

然后,Kumbasar 想到了应用人工智能 (AI) 来帮助控制系统课堂上的教学。

“初衷有点自私,”他说。“当时我担任学院副院长,忙于许多行政工作。我同时承担部分教学工作。有一天,我筋疲力尽,告诉我的研究生,我真的很累。我的教学要么都在计算机上完成,要么都在白板上完成。”

然后,他找到正在积极合作研究深度学习方法的研究生 Dorukhan Erdem 和 AykutBeke。“我说’Dorukhan,既然你们在一起研究新颖的结构。为我创建一个应用程序怎么样?我就当你们的实验小白鼠。’”

Kumbasar教授设想的应用程序是一个深度学习系统,它可以拍摄白板的照片并在 MATLAB 中自动重新创建 FCA。这种想法在 MathWorks 框架内是可行的,其中像Simulink 这样的控制工具与基于学科的工具箱(如 Deep Learning Toolbox 和 Computer VisionToolbox)在相同的环境中工作。

▼使用深度学习将白板转换为模型

甘作实验小白鼠意味着需要绘制很多 FCA。Erdem 对这些绘图进行拍摄并标注,以便计算机基于它们进行学习。五个院系的教师为六种 FCA 中的每一种至少绘制 10 个模块图,总共得到 306 张图像。教师在不同光照条件下绘制草图,使这个挑战更具有现实意义。然后,Erdem 和 Beke 手动标注所有模块和其中的符号。在训练期间,深度学习模型会猜测这些标签,并在不正确时调整其内部参数。

最终的应用程序流程发表在《IEEE Access》期刊上,包括五个步骤。

d65fa392-7b97-11ed-8abf-dac502259ad0.jpg

将白板草图转换为代码的步骤图。(图片所有权:伊斯坦布尔理工大学)

首先是识别草图与六种架构类型中的哪一种最匹配。Kumbasar 的团队使用了一种称为ResNet-50 的预训练深度神经网络,它使用 50 个网络层和一些跳过中间层的长距离连接,从而提高性能。

306张图像对于训练神经网络来说并不算多,尤其是这么大的神经网络,因此团队采用了两个技巧。首先是一种称为迁移学习的做法。他们使用预训练的 ResNet-50网络(该网络基于成千上万张日常物品的照片进行训练)并替换了网络的最终层,从而仅基于他们自己的照片训练该层。第二个技巧是数据增强,该团队通过创建经过稍微旋转或缩放的版本来增加图像的数量。经过训练后,他们的流程的第一个步骤在对手写反馈控制架构进行分类方面达到了89% 的准确度。

流程中的第二个步骤是检测模块。程序将图像转换为二值图像- 在黑色背景上显示白线,没有其他颜色或灰色。然后,它去除了字符和噪声。接下来,它填充封闭的形状,并将模块与由模块之间的反馈回路创建的封闭形状分离开来。

第三个步骤是,流程识别在模块中书写的字符,包括数字和算术运算符。它将图像二值化,围绕每个字符进行裁剪,并应用基于3920 个图像进行训练的另一个神经网络。

遇到的一个困难是区分“5”和“s”。Kumbasar 说,“我写的 5 和 s太相似了。Dorukhan 总是抱怨我的书写很糟糕。控制工程师凭直觉会认为我不会写 55+1,写的应该是 5s+1。但 AI系统不具备这种直觉。”尽管如此,此阶段的准确率达到了 96%。

第四个步骤是,应用程序将字符组合成 MATLAB函数。如果一个字符位于另一个字符的右上方,系统称之为指数,并插入“^”。如果一条水平线的上下都有字符,系统将其视为除法而不是减法。

d67f4936-7b97-11ed-8abf-dac502259ad0.jpg

用深度学习分割和区分字符。(图片所有权:伊斯坦布尔理工大学)

在第五个步骤中,工作流将这些函数放到正确的模块中,在 MATLAB 中将它们连接成一个完整的FCA。它还基于团队创建的模板创建一个 Simulink 图。

Erdem表示,对于使用 ResNet-50 这样的神经网络进行深度学习来说,MATLAB 是有用的解决方案。Kumbasar 补充说,通过 MATLAB可以方便地进行流程步骤之间的集成。他认为,“在MATLAB 中,将数据数组和图像从一个工具箱发送到另一个工具箱或从同一个工作区中读取数据是很容易的。”

▼从草图开始“当这个 FCA 应用程序实时工作时,我感到很惊讶,”Kumbasar 说。“我们在不同光照条件下测试整个流程,并混合了各人的书写,可以说是尽一切可能增加了难度。

各个单独部分都能良好地工作。Kumbasar 补充说,“但一旦您连接整个流程,如果一个部分出错,另一个也会受到影响。因此,误差始终会在从输入到输出的过程中放大。”在这里,一切都在按部就班进行。“Dorukhan说这是有趣的工程,让他充满动力。他找了很多超高难度的测试图像。”

整个系统的成功程度很难度量,该团队尚未考察学生在实际教学中对该系统的体验,新冠疫情就出现了。他们在YouTube上发布了一段视频,视频中教师在白板上绘制FCA。片刻后,相同的 FCA 出现在白板上方的 Simulink 投影中,随后是展示其行为的绘图。

提供白板绘图的教授之一 İlker Üstoğlu 说,他对此印象深刻。如果该应用程序作为产品推出,他会使用它。“它为教学提供了便利。”

FCA 白板绘图实时转换为 Simulink。(视频所有权:伊斯坦布尔理工大学)▼进入理论领域不管该系统多么出色,仍有部分课堂不准备用 MATLAB 转换白板 FCA。Erdem 对该应用程序进行了优化,例如将 ResNet 限制在 50 层,使其可以仅在一个 GPU 上实时运行,但它仍需要一台高分辨率相机和一台具有GPU的笔记本电脑,而许多课堂并未配备这些设备。

“科学研究或者是出于好奇,或者是出于满足需求。这项研究是满足我的个人需求。”—— Tufan Kumbasar,伊斯坦布尔理工大学人工智能和智能系统实验主任、控制和自动化工程教授

d6a0d52e-7b97-11ed-8abf-dac502259ad0.jpg

d6c71dce-7b97-11ed-8abf-dac502259ad0.jpg

d6e2e540-7b97-11ed-8abf-dac502259ad0.jpg

借助深度学习,应用程序能够将不同风格的书写转换为 MATLAB 函数,并将函数放在正确的模块中。(图片所有权:伊斯坦布尔理工大学)

与此同时,研究人员正在考虑进行几项改进。Erdem 希望该程序能够处理六种以上的架构。当字符接触到周围的框时,系统也会难以识别,因此 Kumbasar 增加了置信水平,使系统能够指示其标签的确定性。

集成模糊逻辑也是一个优先事项。“在模糊逻辑中,您不会说超过一定身高的每个人都是高个子,而其他人都不是,”Kumbasar 解释道。“人们可能会说个子有点高,从而导致后续更微妙的决定。在 MATLAB 中很容易建立模糊层,模糊层将其与神经网络结合使用,或用于组成完整的模糊系统。”

如果该流程真的成为一种产品,其应用范围可能不仅限于课堂上。教授可能会用它将学生的手写试卷或课下作业转换为 MATLAB 模型来评分。学生可能用它将自己的课堂笔记数字化,并在 MATLAB 中使用 FCA。Kumbasar 说他想在研究中做同样的事情。MathWorks 的工程师 Marco Rossi 指出,许多学生和研究人员更喜欢用笔和纸来分析问题,然后将手写内容放入 Simulink 中来生成 C 代码。这种习惯可能源于控制理论的教学方式。但有了类似 Kumbasar 推出的这种工具,可能会促使人们在设计过程中更早地从纸上转移到屏幕上,从而更轻松地使用模块。

除了解决他自己的问题和推进到理论研究之外,Kumbasar 还提到此项目的另一个好处。“这项研究也能很好地激励本科生,”他说。让他们认识到工程灵感可以来自每天面对的难题。“科学研究或者是出于好奇,或者是出于满足需求。”Kumbasar 说。“这项研究满足了我的个人需求。”

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制系统
    +关注

    关注

    41

    文章

    6991

    浏览量

    114400
  • 深度学习
    +关注

    关注

    73

    文章

    5610

    浏览量

    124651
  • FCA
    FCA
    +关注

    关注

    1

    文章

    24

    浏览量

    5509

原文标题:教学前沿 | 深度学习将教授的白板草图转换为可用的模型

文章出处:【微信号:MATLAB,微信公众号:MATLAB】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    瑞芯微(EASY EAI)RV1126B 模型转换教程示例

    1.模型转换为RKNNEASYEAIMonster支持.rknn后缀的模型的评估及运行,对于常见的tensorflow、tensroflowlite、caffe、darknet、onnx
    的头像 发表于 04-30 14:26 131次阅读
    瑞芯微(EASY EAI)RV1126B <b class='flag-5'>模型</b><b class='flag-5'>转换</b>教程示例

    如何NxpNfcRdLib_RC663转换为使用 I2C?

    我需要将CLRC66303HN与 I2C 接口一起使用。 有没有一个示例如何NxpNfcRdLib_RC663转换为使用 I2C? DAL 似乎只支持 SPI接口。
    发表于 04-24 06:54

    TensorFlowSavedModel转换为支持imx8mpNPU的tflite模型,没有成功是怎么回事?

    我想将TensorFlowSavedModel转换为支持imx8mpNPU的tflite模型。 我按照以下步骤作,但没有成功 Python 模型/研究/object_detection
    发表于 04-16 06:09

    探索S32K344白板:多功能硬件开发平台的深度剖析

    探索S32K344白板:多功能硬件开发平台的深度剖析 在当今电子技术飞速发展的时代,一款功能强大且全面的开发平台对于电子工程师来说至关重要。NXP的S32K344白板就是这样一款极具潜力的硬件开发
    的头像 发表于 12-25 10:55 796次阅读

    如何图像文件转换为二进制文件?

    如何图像文件转换为二进制文件
    发表于 09-05 08:28

    N9H2x如何视频转换为 AVI 文件?

    N9H2x如何视频转换为 AVI 文件?
    发表于 09-01 08:05

    如何通过VCOM4个CAN FD消息转换为SLCAN?

    通过VCOM接口M460系列微控制器(MCU)的4条CAN FD消息转换为SLCAN协议,并发送到计算机。
    发表于 08-19 06:23

    自动驾驶中Transformer大模型会取代深度学习吗?

    持续讨论。特别是在自动驾驶领域,部分厂商开始尝试多模态大模型(MLLM)引入到感知、规划与决策系统,引发了“传统深度学习是否已过时”的激烈争论。然而,从技术原理、算力成本、安全需求与
    的头像 发表于 08-13 09:15 4382次阅读
    自动驾驶中Transformer大<b class='flag-5'>模型</b>会取代<b class='flag-5'>深度</b><b class='flag-5'>学习</b>吗?

    宁畅与与百度文心大模型展开深度技术合作

    近日,百度正式开源文心大模型4.5系列模型。作为文心开源合作伙伴,宁畅在模型开源首日即实现即刻部署,做到“开源即接入、发布即可用”。据悉,文心4.5开源系列全部基于飞桨
    的头像 发表于 07-07 16:26 1029次阅读

    模型推理显存和计算量估计方法研究

    随着人工智能技术的飞速发展,深度学习模型在各个领域得到了广泛应用。然而,大模型的推理过程对显存和计算资源的需求较高,给实际应用带来了挑战。为了解决这一问题,本文
    发表于 07-03 19:43

    无法Tensorflow Lite模型转换为OpenVINO™格式怎么处理?

    Tensorflow Lite 模型转换为 OpenVINO™ 格式。 遇到的错误: FrontEnd API failed with OpConversionFailure:No translator found for
    发表于 06-25 08:27

    Whisper大型v3 fp32模型转换为较低精度后,推理时间增加,怎么解决?

    openai/whisper-large-v3 FP32 模型转换为 FP16、INT8 和 INT4。 推理所花费的时间比在 FP32 上花费的时间要多
    发表于 06-24 06:23

    为什么无法在GPU上使用INT8 和 INT4量化模型获得输出?

    安装OpenVINO™ 2024.0 版本。 使用 optimum-intel 程序包 whisper-large-v3 模型转换为 int 4 和 int8,并在 GPU 上使用 OpenVINO™ 运行推理。 没有
    发表于 06-23 07:11

    2.0.0版本的ST Edge AI Core在linux平台上可以把量化后的onnx模型转换为.nb,但是运行报错,缺少文件,为什么?

    2.0.0版本的ST Edge AI Core工具在linux平台上应该是可以把量化后的onnx模型转换为.nb,但是运行报错,缺少文件。
    发表于 06-17 06:29

    如何一个FA模型开发的声明式范式应用切换到Stage模型

    模型切换概述 本文介绍如何一个FA模型开发的声明式范式应用切换到Stage模型,您需要完成如下动作: 工程切换:新建一个Stage模型
    发表于 06-04 06:22