1. 引言
数字图像处理课程作为测绘、遥感科学与技术等专业必修的八大平台课之一,是国家精品课、国家精品共享课、国家精品在线开放课程和国家一流线上课程。现在爱课程平台开设有数字图像处理英文版、中文版MOOC,每年都有2万多人选学。数字图像处理技巧是武汉大学通识课之一,湖北省一流线上课程。爱课程平台每年有1万多人选修。依据新工科人才培养理念与要求 [1],这两门课程为凸显前沿性、交叉性与综合性,需要增添机器学习、深度学习、大数据处理等新技术。开展基于深度学习的实习项目,因为实验数据和计算量大,要求添置大量存储器和算力资源,现有硬件条件满足不了实习要求。这导致这部分教学实习无法开展,无疑影响学生对新技术学习与应用。
随着云计算的不断发展,国内涌现出了一批稳定、快速、安全的云计算平台,百度云、阿里云、腾讯云等均推出了面向教育的服务器功能,利用云计算平台,开发数字图像处理和技巧课程实习教学项目,可以一站式解决学生在数字图像处理和技巧两门课程实习过程中碰到的安装难、调试难、等待时间长的问题。学生不需要在装配环境环节上花费大量的时间,就可轻松调用提前部署在服务器中的数据,可以开展相关实习。尤其百度云提供了教育合作端口,推出了云端AI在线教育平台,帮助学校、机构建立自己的线上教学班级;提供从教学项目、AI在线实训环境、教学管理的教学全流程一站式解决方案。可见,百度云平台为数字图像处理与技巧课程开展在线实习教学提供了很好支撑。为了更好地践行“三全育人”理念,建设“开放 + 共享 + 互动”基于百度云平台的数字图像处理与技巧实习教学项目,开展云教学实习,不仅能很好地解决数字图像处理与技巧实习面临的算力资源难题,而且能解决2门MOOC学习者的实习教学问题,有助于发挥2门MOOC示范教学作用,提高教学能力和人才培养质量。
下面以卷积神经网络CNN人脸识别为例,介绍基于PaddlePaddle平台的项目开发与云教学实践。
2. 基于PaddlePaddle平台的人脸识别项目开发
现有深度学习框架的共性,都是降低开发的门槛,不需要开发者从复杂的神经网络开始编代码,可以根据需要选择模型库已有的模型,再通过训练得到模型参数。当然,开发者可以在已有模型的基础上优化。
飞桨(PaddlePaddle)以百度多年的深度学习技术研究和业务应用为基础,集深度学习核心训练和推理框架、基础模型库、端到端开发套件、丰富的工具组件于一体。它是中国首个自主研发、功能完备、开源开放的产业级深度学习平台。兼备易用性、高效性、灵活性、可拓展性,是最适合中国开发者的深度学习框架,在应对大规模数据训练需求上表现出色。已实现CPU/GPU单机和分布式模式,同时支持海量数据训练、数百台机器并行运算,以应对大规模的数据训练,平台上提供了机器翻译、推理、图像分类、情感分析、语义角色标注等多个任务。每个任务类别里都有相对应的具体应用案例 [2]。
使用Python和PaddlePaddle算法库,构建基于CNN的人脸识别算法开发过程包括导入引用库、数据预处理、模型搭建、模型训练和预测。
导入引用库:导入PaddlePaddle内置的深度学习方法库,这不仅是完成人脸识别模型搭建的必要步骤,而且有利于模块化的编程,可以让代码更加简洁。
数据预处理:为了满足模型训练需要,要对人脸数据集进行预处理,再划分训练集与测试集。人脸识别的算法将在训练集上进行训练,然后使用该模型对测试集进行识别,将识别结果与测试集中的实际值进行比较,以评估训练后模型的性能。通常,将数据集中的80%作为训练集,20% 作为测试集,划分数据集时进行数据归一化处理,这样可以提高模型的精度,并加快模型的收敛速度。数据预处理的操作包括首先生成图像目录列表,把实验图像按照自定义的比例分为训练集和测试集,然后设置人脸类别信息。
模型搭建、模型训练和预测:百度AI Studio平台以项目为基本单元,通过个人文档来进行项目运行和管理。创建项目时注意选择预加载框架、python版本、所需数据集,数据集可以选择个人数据集或者公开数据集。项目创建完成之后,可以根据需求选择运行环境,选择高级版即可使用GPU环境,点击确定即可用于在线编程或训练。
基于CNN的人脸识别算法设计分为模型定义、模型训练以及模型评估三部分。模型定义部分是指搭建网络、定义数据层、选择分类函数等工作,采用常规的CNN来搭建网络,其网络层次结构如图1所示。在实验数据较少的情况下,在卷积层之后添加BN层以及dropout层,以降低模型的过拟合。

Figure 1. CNN network hierarchy structure
图1. CNN网络层次结构
模型训练包括数据流的构建、损失函数以及优化器的选择。训练过程需要监控模型的好坏,可以在每迭代完成一次训练数据之后,对验证数据进行评估,输出并绘制出分类准确率和损失值的变化曲线,如图2可以直观展示模型训练的收敛过程。
训练完成之后的模型可以直接进行预测,预测的结果通过转换函数转换成对应的类别。将预测结果可视化,直观判断预测结果的优劣。训练完成之后的模型亦可保存权重,下次预测时可以不用再次训练,直接加载模型权重参数即可进行人脸识别测试。
以上简略地介绍了基于CNN的人脸识别开发过程,欲知详情,可参看百度飞桨AI Studio数字图像处理AI实习课程中的相关内容介绍。

Figure 2. Change curve of accuracy and loss value during training
图2. 训练过程中准确率和损失值变化曲线
3. 实习云教学实践
面向教育和学习场景,AI studio集开放数据、开源算法、免费算力于一体,为开发者提供高效易用的学习和开发环境、丰富的体系化课程、大量开源实践项目、以及高价值的Al竞赛,提供的教育版支撑老师轻松实现Al教学,助力深度学习人才培养 [2]。
云教学依托于移动互联网、智能学习终端及网络教学系统支撑下的线上线下新型教学体系,教师在体系中可以嵌入多样的教学模式,利用云技术创造一种动态的、交互的教学环境,从而使教学由传统的教师课堂传授向学生自主学习、小组合作学习以及个性化学习转变。云教学活动内容包括教学工具、教学内容、教学管理、教学监督与评价几方面的全面云技术化和大数据化 [3]。基于百度云平台数字图像处理实习教学项目,尤其是深度学习算法用于图像目标识别等设计性、综合性实习项目教学,就是借助百度AI studio平台的教学平台功能,建设教学资源,按照图3的翻转课堂模式开展云教学。
如图3,该模式以百度云为师生互动枢纽,采用翻转课堂的教学范式使学生课上与课下的学习颠倒进行,通过设计实习任务,帮助学生逐步巩固并内化程序性知识 [4] [5]。课前,教师通过百度平台传送资源包,并根据百度平台所反馈的学生课前学习情况进行学情监控,学生则通过百度平台完成课前学习与疑问交流;课中,教师对课前问题进行解答,并对对学生实习中的疑问进行指导,以便学生实习进展顺利。学生在百度平台接收实习任务后,通过实习,逐步掌握技能,并总结与讨论实验中重点与难点,完成百度云平台实习任务与实习成果提交工作。最后,教师根据学生提交实习结果与实验过程中出现的问题进行总结点拨,帮助学生完成技能的巩固。课后,学生在规定时间内撰写电子版实验报告并上传百度云端,教师和学生为百度云平台上的实验报告进行评分,每位学生根据所得的总分与评语对自己的实习进行反思改进。教师则根据百度平台记载的信息,客观详细地了解到每一位学生的学习动态情况,作为过程性学习评价的依据。教师通过过程性评价中获得的数据,及时调整教学方法与内容,改善教学细节,保证教学效果惠及所有学生评定学生成绩。最终学生实习成绩评定从单纯的终结性评价变为过程性与终结性相结合,确保学习成绩更全面、更合理。

Figure 3. Baidu cloud platform flip teaching mode
图3. 百度云平台的翻转教学模式
利用百度云平台开展数字图像处理和技巧实习云教学,如基于CNN的人脸、数字、汉字等目标检测与识别,一方面可以让学生对深度学习的应用有一个深刻清晰的认识,继而激发同学们学习深度学习理论和使用飞桨框架进行开发的热情;另一方面开拓了学生的视野,拓展创新,开发出更多、更有价值的应用程序,提升学生创新能力。
云教学模式需要教师付出额外的工作量,同时还要不断提高信息化教学能力。若将课程形成科学可重复的教学范式和内容体系,则会增强教学服务能力。因此,教师的这种付出是值得的。
4. 结论
提供了基于百度云的数字图像处理和技巧两门课程实习案例设计和实习云教学改革创新模式,克服了实验室条件的限制,对全日制大学生和数字图像处理与技巧MOOC选学人员开展实习云教学,有助提高学生动手能力和人才培养质量,能进一步发挥国家一流线上课程数字图像处理和湖北省一流线上课程数字图像处理技巧的教学示范作用。
基金项目
国家精品在线开放课程、国家级线上一流本科课程、湖北省线上一流本科课程、武汉大学本科教育质量建设综合改革、武汉大学通识课和遥感信息工程学院“三全育人”教学研究项目资助。
NOTES
*共第一作者。