打开人工智能与机器视觉融合世界的钥匙 附人工智能与机器视觉通识类课程建设探讨.docx
站在2020年看下一个十年,有那么几个趋势是无法阻挡的,一个是万物互联,一个是人工智能。对万物互联来说最内核的是M2M(机器)之间的互联沟通,而人工智能则是让这种M2M的交流更加接近人类的期许。很多人都说这是一个数据的时代,对单个人来说,眼睛几乎获取了一个人70%以上的环境和其他方面的信息,那么对机器来说,图像和动态视频所包含的信息量同样也是最庞大的。当我们逐渐用二维码代替了生活中繁杂的个人信息,用视频监控节省了大量的治安警力,用视频会议和直播消除了天涯海角之间的距离,你没有理由不去期待视觉处理的未来。另一方面,对于人工智能的开发者来说,他们很容易陷入一个尴尬的误区,那就是我要如何选择计算平台,来尽可能实现算力资源最大化,尽可能提升自我学习和推断的效率。一个并不美好的现实是,复杂的人工智能任务往往很难用个硬件平台就可以高效的执行,即使简洁如Python也很难做到不去重新编译就在不同硬件上发挥同样出色的执行效率。不管是万物互联,还是视觉信息采集,边缘端的价值越来越明显,特别是在人工智能应用中,算力巨大的人工智能如何在有限的碎片化平台端实现,这就需要技术平台化对端到端的算力进行最优化分配。如何实现人工智能和机器视觉的完美融合?英特尔给出的方案是OpenVINO。OpenVINO全称为开放式视觉推理和神经网络优化(OpenVisualInference&NeuralNetworkOptimization),通过引入MovidiusSDK,OpenVINO可以做一个完整的视频处理系统,从编解码到深度学习或者是计算机视觉处理等,让开发者只用一个工具把所有的需求都能满足所有需求。可以说,从平台,到框架再到库和硬件,英特尔实现了人工智能全栈式解决方案,OPenVINO就是英特尔针对视觉Al领域的一次重要革命。除了OPenCV,在OPenVINo还包含了对OPenVX以及OPenVX在神经网络扩展的支持,同时在媒体、视频、图像处理领域也包含了英特尔媒体软件开发套件,可以帮助开发者方便的利用英特尔CPU里面的集成显卡资源来实现视频的编码、解码以及转码的操作。CPU已经不是人工智能应用唯一的计算平台,复杂的人工智能推断应用中经常会涉及到不同的运算模式,不同网元有不同适宜的架构,不同芯片有各自不同的开发方法和环境,这对开发者而言是相当大的困扰,无形中增加了开发的门槛。作为能够提供各种计算硬件的厂商,英特尔开发OPenVlNO一个目的就是为解决跨平台和异构计算面对的问题。高性能计算机视觉和深度学习视觉应用开发的工具套件OPenVINO,能够支持英特尔平台的各种加速器,包括CPU、GPU、FPGA以及MOVidiUS的VPU等,支持异构计算,非常好的解决了应用程序不同硬件平台上进行运算时的执行效率问题。此外,对于开发者既有的经过训练的网络模型,采用OPENVINO开发可以扩展推理平台的能力并提供快速提升终端性能时的硬件选型,还能轻松的将这些模型导入到Movidius或者FPGA平台。看起来很高大上是不是,其实OPenVINO适合不同层次不同水平的开发者。因为OPenVINo是分层开发的,不同开发者可根据自己需求和开发能力选择不同的APl接口进行调用OpenVINOo对于新手来说,OPenVINo包含了很多应用示例,即便不了解算法和硬件底层实现,也可以直接调用相关参考从而实现应用。而对于一些特定应用场景来说,如果有了一些特定应用算法但没有开发人工智能网络的能力,也可以使用OPenVINO把特定的开放网络、标准网络执行在英特尔硬件上从而实现快速开发。而对于高级用户,可以在Caffe、TensorFlow>MxNet等框架下设计好自己的网络模型,然后用OPenVINO的模型优化器和推理引擎转换成硬件可识别语言,再下载到平台上进行执行。如果是超级用户,OPenVlNO也支持直接调用硬件底层的接口实现对硬件直接的访问。人工智能与机器视觉通识类课程建设探讨表1人工智能与机器视觉通识课程教学内容才遭教学内容实践人1:智能基础人工钾能发展历史及应用Al案例济解,城市轨道车辆检潮系统,人脸识别、无人驾肤.足球机器人PythOn编程Python÷OpcnCV编程进;;学习Python语法基础,OpenCV图像编程图像处理拓础图像超本概念,图像微处理.图像特征提取Pvthcn+0prnC典电的图像演处理图像增强.图像特征提取机器学习算法支持向址机.BP神经网络.卷枳神经网络.遗传算法结合案例.代码讲解,结果展示,学生部分代码实现摘要:为贯彻落实国家关于高等学校人工智能创新行动计划,探索“人工智能+X”的人才培养模式,开展了人工智能与机器视觉通识类课程建设。课程建设以人工智能领域人才培养和人工智能学科体系建设为目标。针对人工智能理论性强、人工智能系统复杂的学科特点,课程以机器视觉为切入点开展人工智能的教学,侧重案例教学、编程教学等方式,帮助学生理解人工智能的理论基础、实现和应用,调动学生的学习积极性,培养学生分析问题、解决问题和设计开发的能力。关键词:人工智能机器视觉案例教学编程教学Abstract:Inordertoimplementthenationalartificialintelligenceinnovationactionplanforcollegesanduniversities,andexplorethe"Artificialintelligence+X”talenttrainingmodel,theconstructionofartificialintelligenceandmachinevisiongeneralcourseshasbeencarriedout.Thecurriculumconstructionaimsatthecultivationoftalentsinthefieldofartificialintelligenceandtheconstructionofartificialintelligencedisciplinesystem.Inviewoftheacademiccharacteristicsofartificialintelligenceandthecomplexityofartificialintelligencesystem,takemachinevisionasthebreakthroughpointtoartificialintelligenceteaching,focusingoncaseteaching,programmingteachingandhelpingstudentsunderstandthetheoreticalbasis,realizationandapplicationofartificialintelligence.Students'learningenthusiasmisinspired.Students*abilitytounderstandandsolvepracticalproblemsiscultivated.Students'abilityofdesigninganddevelopmentisimproved.KeyWords:Artificialintelligence;Machinevision;Caseteaching;Programmingteaching近年来,随着深度学习模型在算法层取得突破,大数据的发展,以及运算芯片的研发,人工智能技术从理论研究走向工业应用和民用领域,行业进入全面爆发期,人工智能迎来第三次高潮。人工智能正在引发新一轮科技革命和产业变革,因其在科技发展过程中的重要作用以及为产业创新发展带来的巨大机遇,世界各国纷纷将人工智能上升至国家战略高度,以此抢抓人工智能发展的重大战略机遇,保持本国研发前沿性和独创性1。在此背景下,人工智能领域的人才培养成为高校的发展趋势和重要任务。2017年7月新一代人工智能发展规划发布,系统阐述了新一代人工智能的内涵,并绘制了2030年前我国人工智能的发展蓝图,其中明确提出“加快培养聚集人工智能高端人才”、“建设人工智能学科”和“形成,人工智能+X复合专业培养新模式”2。2018年4月,教育部印发了高等学校人工智能创新行动计划,将完善人工智能领域人才培养体系作为三大任务之一,并且提出“加强人工智能领域专业建设、加强人工智能领域才培养、构建人工智能多层次教育体系另外,该行动计划指出应加快人工智能在教育领域的创新应用,利用智能技术支撑人才培养模式的创新、教学方法的改革、教育治理能力的提升,构建智能化、网络化、个性化、终身化的教育体系。因此,在本科阶段,开设通识类的人工智能课程非常有必要3。1人工智能与机器视觉通识类课程建设的需求分析1.1 人工智能通识类课程存在的问题近年来,随着人工智能在各行业广泛应用,该领域人才需求呈爆发式增长,人才供给总量却严重不足,尽管各高校已经认识到人工智能人才需求和培养的紧迫性,人工智能系列通识课程成为所有高校各个专业特别是理工科学生的必修课程。但是由于人工智能是涉及计算机科学、数学、控制论、信息论、神经生理学、心理学、语言学等学科的交叉学科,大多数高校人工智能尚未形成自己独特的课程体系4-5。人工智能相关基础课程的开设,大多是在计算机应用技术、软件工程、电子通信工程等一级学科中,很多其他专业的学生由于种种原因可能选修不到这些课程。常规的人工智能课程多以讲解深奥抽象的算法为主,并且需要学生具有较好的数学基础、较强的逻辑思维和编程能力等。对于本科生来说,难以深刻理解课程中所涉及的抽象的原理和方法,导致学习效果欠佳,未达到课程的培养目标6。笔者负责人工智能基础专业课的教学,对此深有体会。1.2 人工智能与机器视觉的通识类课程的优势针对本科生人工智能通识课教育存在的问题,本科生人工智能通识类课程不宜繁而复杂,应该以少而精以引导入门为主,以点带面,通过同学们经典熟知的应用带同学们切入人工智能学习中。机器视觉是人工智能的应用领域之一,主要通过视觉设备采集图像,对图像进行处理实现目标的识别检测等任务。随着人工智能技术的发展,机器人视觉在检测,人脸识别、人脸支付、无人驾驶、机器人等方面应用广泛。相比较于人工智能的其他应用分支,机器视觉更直观和显著,更能激发学生们学习人工智能的兴趣。以机器视觉应用为切入点进行人工智能的学习,可以让学生更加深刻理解典型人工智能算法的原理,充分体验人工智能系统的基本过程与方法7。可以使学生对人工智能和机器视觉从整体上有一个清晰全面的系统了解,掌握人工智能和机器视觉的基本概念,基本原理和基本方法,了解典型人工智能算法在机器视觉领域的实现过程,了解人工智能在机器视觉方面的研究与应用的最新进展和发展方向,开阔学生视野、提高分析解决问题的能力,为将来使用人工智能的相关方法和理论解决实际问题奠定初步基础。2人工智能与机器视觉通识类课程内容及教学目标根据对人工智能通识课的教学情况和学生学习情况的调研,通过分析人工智能思想,方法和技术现状,可以在课程教学中通过4个模块构建人工智能与机器视觉的能力知识和能力结构,主要内容见表l8-9.教学目标是通过本课程的学习,学生要对人工智能和机器视觉从整体上有一个较清晰全面的系统了解,能陈述人工智能和机器视觉的基本概念和基本思想,理解典型的机器视觉系统,学习人工智能在机器视觉应用中的重要算法,了解典型人工智能算法在机器视觉领域的实现过程,充分体验人工智能系统的基本过程与方法,为将来使用人工智能的方法解决相关实际问题奠定基础,形成积极思考、严谨创新的科学态度和解决实际问题的能力。最终达到的教学效果,使学生了解人工智能发展历史、主要研究内容、研究方法,了解图像的基本概念,典型的图像预处理、特征提取的方法,掌握人工智能典型的机器学习方法在机器视觉上的应用,具备更广更深的角度,思考问题、解决问题的意识。开阔的先进、高级控制方法和技术方面的视野,提升学生科学研究的能力。3人工智能与机器视觉通识类课程的教学实践课程教学和实验总学时为32学时,开设类型为通识课,适用层次是本科,主要面向理工科专业的学生,先修课程主要包括高等数学、概率论、线性代数、离散数学、高级语言编程等,该课程可以在大学三、四年级开设。选修该课程的学生对人工智能和编程技术有浓厚的兴趣,学习积极性高,大部分能够潜心研究人工智能的理论基础,课上积极参与讨论,并积极完成编程实验,课程受到同学们的欢迎。同学们能够对人工智能有一个宏观的认识,对人工智能的基本原理基本方法有了较为深刻的理解,通过机器视觉的案例,将枯燥的理论学习和实际应用联系起来,让同学们了解身边耳熟能详的机器视觉应用用到了哪些人工智能理论和方法。通过代码阅读,了解机器算法的实现,通过编写代码,提高了编程能力,掌握了设计开发智能系统的基本方法,达到了预期目标。3.1 教学方法3.1.1 基于案例的教学方法人工智能的知识体系比较庞大,理论和方法比较抽象,一些经典的智能系统实现比较复杂,知识基础有限的本科生来说,在学时有限的情况下,有些内容无法进行深入的原理讲解和实践教学。鉴于这种情况,结合知识内容不同,教学过程以基于机器视觉的城市轨道车辆检测系统、人脸识别、无人驾驶、足球机器人等学生耳熟能详的案例入手,让学生探究这些案例中的人工智能理论和方法的应用。对这些案例的机器视觉系统尽心剖析分解,了解整个系统硬件系统搭建、图像采集、图像处理、特征提取、机器学习算法对行特征进行分类等各个环节。一方面能够激发学生的学习兴趣和学习热情,培养学生的探索精神,另一方面运用了从特殊到一般、再从一般到特殊的学习方法,遵循实践-理论-实践的脉络,让学生从特定应用实例中体会人工智能理论和方法的功能,然后再去学习理论和方法的数学基础,归纳总结人工理论和方法的特点以及常见的应用场合,让学生充分体验人工智能系统的基本方法的实现过程。3.1.2 基于编程的教学方法实践是检验真理的唯一标准,编程是对专业知识和理论的最好实践手段。理解人工智能的原理和方法,编程实现是一个很好的途径。本课程以Python语言为开发工具,以PyCharm作为开发环境,要求学生学习掌握PythOn中的基本操作、数据类型、控制和循环语句,掌握Python常用库,了解OPenCV图像处理库。鉴于部分选课学生大都有程序设计基础,利用6个学时进行Python语言应用预备教学。通过讲解案例涉及到的中图像处理以及机器学习算法的代码,展示代码运行的效果,让同学们直观感受机器视觉的处理、实现过程及处理后的结果。并让同学们编写实现其中的部分代码,作为小实验,让学生实现一些图像处理、特征提取、机器学习算法的代码,并传授给学生设置断点调式程序的方法和技巧,提高同学们的编程能力。通过案例和编程相结合的教学,一方面让学生了解了人工智能理论和方法的实现,另一方面激发了同学们的编程兴趣,提高了同学们的编程能力,为同学们以后设计实现人工智能系统奠定了基础。3.1.3 问题及对策由于人工智能的理论和方法比较抽象和复杂,理论基础涉及到很多数学知识,部分数学基础薄弱学生在学习时普遍存在困难。由于教学学时有限,部分编程基础弱的学生在编程实践时存在一定的困难,需要对课程目标和考核标准进一步评估,并据此重构部分教学内容。4结语自2019年秋季学期,学校开设人工智能基础课程,初步探索了普及性人工智能课程的教学内容,经过2轮课程教学实践,梳理了教学知识体系,并通过教学实践探索了人工智能基础的教学方法。在此基础上,在2020年春季学期,结合自身科研方向,开设了人工智能与机器视觉通识课程,以机器视觉为切入点进行人工智能学习,下一步需要总结教学经验,凝练教学内容,丰富教学案例,完善案例代码,使人工智能通识教育课程体现更强的学科融合和工程性特质,支撑人工智能通识课教育的开展。参考文献VarianH.ArtificialIntelligence,Economics,andIndustrialOrganization.NBERChapters,2018.12吕志胜,封斌,蒋翔,等.面向“智慧海洋”的人工智能课程体系建设研究J.高教学刊,2020,129(7):88-90.引杜明,刘晓强,宋晖.人工智能通识课程教学内容探索J.计算机教育,2020(10):152-155.14|姚琳,石志国.人工智能课程体系与教学方法研究.中国大学教学,2019(10):19-22.15周益民,田玲,陈文宇.人工智能专业体系建设探索J.高教学刊,2020,138(16):92-9616李莎莎,刘丹,唐晋韬.面向任职教育的“数据挖掘与机器学习”课程教学研究J.高等教育研究,2019,42(1):109-114.17沈蛛枫,纪敏,谢诗妍,等.新工科背景下“人工智能+林业机械”研究生课程教学改革J.西部素质教育,2018,4(22):144-14618贵向泉,高祯,李立,等."新工科''背景下人工智能教学改革研究教育教学论坛,2020,461(15):129-131.19刘文华.应用技术本科教育课程模式研究D.上海:华东师范大学,2017.