论文部分内容阅读
【摘 要】计算思维的问题解决,第一步是把握问题的核心要素,通过抽象、建模,形成问题的完整模型;第二步是求解问题,为问题求解提供约束,设计算法实现计算机的自动化求解;第三步是迁移应用的思维方式,引入,他山之石可以攻玉;迁出,用于其他问题达到举一反三、一通百通。“智能去雾问题”一课围绕信息时代的核心素养之一——计算思维展开,通过一个前沿、有趣、创新、交叉的研究问题培养学生的问题解决能力及思维方式,将国际顶级前沿研究的原始创新之美引入中学课堂,让学生体会、体验、实践,经历发现创新的问题并解决的思维过程。
【关键词】计算思维;人工智能;建模;智能除雾;欠定问题;跨学科
【中图分类号】G434 【文献标识码】A
【论文编号】1671-7384(2021)02、03-102-04
计算思维教育是信息时代发展的需要,融合创新是信息时代发展的重要途径。教师可以引导学生用计算思维促进信息科技创新。
分析问题:建立成像模型
“智能去雾问题”一课引入环节,教师首先请学生思考:雾到底引起了什么样的问题?雾的出现可能会导致交通、安防监控、甚至国防战场上的难题,即主要会产生能见度低的问题。再请学生思考:如何解决能见度低的问题?
以开车举例,学生可能会提到借助一些外部的硬件,如超声、雷达等,通过增加其他维度的输入信息,帮助解决能见度低导致看不清的问题。再请大家进一步思考:如果没有任何额外的输入信息,在只有原始图像的情况下能否解决问题。至此,明确智能去雾的研究问题是输入一幅仅有的原始有雾图像,我们希望输出对应的去雾后的清晰图像。
教学活动:请学生在具体问题解决之前建立STEAM多学科领域分解模型,在后续问题求解的过程中,让学生分组关注不同的领域。在跟随教师探究问题求解的过程中,将学生按行分组,聚焦每个领域在问题解决中的重要作用,在课程进行的过程中,重点关注去雾问题如何与这个领域相结合。在问题求解完成反思回顾阶段,将学生按列分组,聚焦跨学科融合创新,如用到了这个领域的什么知识,还是未来可以用于这个领域的发展等。重新分组,每个组都有之前STEAM的成员,每个新的组都可以从各个学科领域交流、探讨这个问题是如何解决的。在这里,学生们的思维碰撞、交叉创新可能会有一些有趣的想法产生。
1.图像表示的建模
教师引导学生思考去雾问题的研究对象。去雾问题主要研究对象就是图像,因此,首先要对数字图像进行建模。针对这一问题,我们从简单到复杂,分步骤分阶段逐步建立完整的图像表示模型——单通道图像:二维信息;三通道彩色图像:三维信息;带有透明度通道的彩色图像:四维图像。
单通道的灰度图,在增加了颜色信息后变成了三通道的彩色图,而在真实世界场景中可能有类似半透明的效果。教师请学生思考在计算机中是如何实现图像建模的,并通过课堂实践,用Python程序将彩色图像进行各通道分解。
对于带有透明度通道的图像模型,如果某个像素位置的透明度通道是白色,表示该像素不透明;反之,如果透明度通道为黑色,表示该像素完全透明;如果是灰色,表示介于中间状态的某种半透明效果。教师可以引导学生建立已有知识之间的映射,透明度通道就是学生在Photoshop软件中用过的“图层蒙版”。
教学活动:探究带有透明度通道的彩色图像模型。学生运行程序,观察程序运行结果,思考在三通道彩色图的基础上增加了什么信息?多出的这个通道是什么?
2.有雾场景的成像模型
学生完成图像建模之后,接下来分析第二个子问题:有雾的图片是如何形成的,即如何对有雾情形下的成像过程进行建模。光从物体表面出发,在到达成像平面的过程中,并非是真空的理想情况,往往要在介质中传播。同一个场景的成像结果,在晴天、阴霾、浓雾、雨天等不同天气条件下明显不同。当有霾、有雾时,空气中还会有比空气分子更大的微粒,如灰尘、水滴和来自污染物的颗粒。这些微粒的尺寸基本接近或大于入射光波长,这时候发生的散射作用使大部分能量向前,小部分能量向后,说明由于散射的作用,在光线原本传播方向上的能量有一定的衰减。这种散射叫米散射(也叫粗粒散射)。它的作用是使得光线的能量在原本方向上有所衰减。
有了散射粒子的物理模型,教师引导学生来看成像的场景,如图1所示,假设物体表面发出的光线强度为J,在空气中传播,经过空气中的粗粒散射,入射到人眼中时,光线的辐射强度会变弱,这说明光线发生了衰减。将辐射强度J乘以一个小于1的系数,叫透射系数,用符号t表示,距离近,透射多,t就大,距离远,透射少,t就小。根据物理上的大气散射模型,透射系数和场景深度是指数衰减的关系。我们见到的有雾图像中感觉有灰白的一层,这是为什么?光是射向四面八方的,不管我们想要与否,总有一些原来其他方向的光线被微粒介质不小心散射,传播方向发生了变化,入射到和被衰减光线同样的方向上,进入图像上同一个像素中。这种意外的巧合来自方方面面,我们把它总称为空气光部分。
散射作用让我们有失有得,“失”对应于目标光线(想要的场景光线)被衰减,“得”对应于来自四面八方的意外空气光(不想要的意外噪声)。这两部分共同作用,让场景图像降质,形成一幅有雾的“看不清”的图像。
真实图像为I,想得到的目标图像为J,透射系数t的图像和深度图d有直接对应关系,是符合衰减规律的指数关系。空气光的颜色A是一个常数。(x,y)表示像素的行列坐标位置。
求解问题:暗通道先验,求解欠定问题
1.明确问题求解的难点
智能去雾问题的输入是只有一幅有雾的圖像I,输出是清晰的去雾图像J,同时副产品还有透射系数t,也就等价于直接和它相关的深度图d。已知一个条件,求解两个未知数,已知信息不够,这类问题属于欠定问题。
教师在此可以向学生介绍什么是正定问题、欠定问题和超定问题。正定问题是条件数量与未知数的数量一样多,欠定问题是条件数量少于未知数的数量,超定问题恰好相反,指的是条件数量多于未知数的数量,也即条件可能是相互矛盾的。欠定问题因为条件(约束)不足,可能有多种可能性的解,即解具有不确定性。本例的去雾问题就是一个欠定问题,具体分析如下:已知仅有I,未知有J和t(或者说d),这样的情况下,解有无穷多种组合,如深度为0,t为1,J就是I;d比真实值要小,求出来的J就还是有雾,但是比原来的淡一点点;再如d是真实值,J的结果就是期望的去雾结果。 欠定问题的求解必须要增加条件(或约束)。本课例中,学生学习的去雾算法最重要的创新点就是通过大量数据统计提出图像的先验知识,用于约束欠定问题的求解。
2.建立问题求解的约束
暗通道先验是去雾问题最重要的创新点,是解决上面的欠定问题的关键。我们从图2来看,上左列为输入图像,上右列为计算得到的暗通道图,下图是暗通道图对应的统计直方图。图中可以看到无雾图暗通道的像素值绝大部分都是接近黑色的,有雾图暗通道的分布则比较分散,大多数像素的值在50~200之间。
教学活动:探究暗通道先验的实践。学生执行相应程序,输入图片为10张图,5张无雾,5张有雾。由于图片众多,教师组织分组实践,每个学生对比两张输入图片,并在石墨共享文档的相应位置中,填出相应的运行结果。思考无雾图的暗通道与有雾图的暗通道图像有何区别?它们的直方图有何区别?为什么?
对一张图求暗通道,本质上就是两次求最小:对颜色通道求最小,对空间小区域求最小。暗通道先验就是两次求最小操作之后得到的结果,趋近于0。去雾研究工作对5000张无雾图像进行了大规模直方图统计,结果是86%的像素都接近于0。因此,暗通道先验得到了很好的验证。接下来从物理角度解释暗通道的产生,即暗通道图低亮度主要来源于3个原因:阴影、彩色物体或者表面以及黑色物体或者表面。
教学活动:基于暗通道先验的去雾模型求解。学生执行程序,观察结果。学生在不同图片上运行去雾算法,对照算法探究程序的实现。请学生思考当前算法的结果在哪些情况下效果较好,哪些情况下还需要改进?为什么?
迁移应用:暗通道先验与其他问题
以上第二部分的求解是去雾算法的核心,基于暗通道先验的去雾算法既创新也简单,得到的去雾效果图像在大部分区域的接受范围内。然而在某些地方还有明显的瑕疵,这些地方主要是场景深度有明显变化的地方,因为这种情况下求解算法中假设的“区域小块中所有像素的值都相同”的条件不再成立,深度有突变,透射系数t也会有突变,常数的假设不再成立,因此算法需要对现有的结果进一步改进。智能去雾的改进算法也非常巧妙,这个改进算法并非是作者原创,而是将其他领域的算法引入进来,他山之石可以攻玉。
在第一部分,教师已经引入透明度通道,这里可以拓展一下,在计算机视觉、图形学、图像处理领域,有一大类研究专门做自动抠图的算法,将图像中的前景从背景中分离出来。如果场景都是由完全不透明的物体组成,抠图相对比较容易,前景和背景用二值进行区分即可,然而真实情形下,场景中或多或少存在部分透明的情况,如毛发、皮肤等,其核心思想是一幅图由前景色和背景色混合,且不同地方透明度不同。抠图的问题已经有成熟有效的算法,这些算法可以迁移应用于去雾的优化,得到的结果如图3所示。
教學活动:回归课程开始,每个组都会重点聚焦STEAM某一领域,先请每个组总结整个问题解决中各领域的基础和应用。接着,全体学生重新分组,按照新的分组,每个新的分组都有来自各领域的学生,在新的分组下,进行跨学科交叉的讨论与思考,从跨学科的角度思考智能去雾算法的融合创新。每个小组制作一张海报,呈现整体的总结与思考。
在本课例中,教师引导学生发现智能去雾问题并不是单独某个学科可以解决的,它是真实世界中的复杂问题,需要多学科背景知识做基础,这个问题的解决需要跨学科的思维、跨学科的创新。此外,在学习过程中学生能够对原始创新、简单之美建立自己的感知,对计算思维的问题解决过程和思维方式有自己的理解。大道之行在于简。
注:本文系全国教育科学“十三五”规划2019年度教育部青年课题“面向未来高阶能力和智能素养的中学跨学科人工智能课程体系建设与教学研究”(课题号:EHA190519)研究成果
作者单位:中国人民大学附属中学
【关键词】计算思维;人工智能;建模;智能除雾;欠定问题;跨学科
【中图分类号】G434 【文献标识码】A
【论文编号】1671-7384(2021)02、03-102-04
计算思维教育是信息时代发展的需要,融合创新是信息时代发展的重要途径。教师可以引导学生用计算思维促进信息科技创新。
分析问题:建立成像模型
“智能去雾问题”一课引入环节,教师首先请学生思考:雾到底引起了什么样的问题?雾的出现可能会导致交通、安防监控、甚至国防战场上的难题,即主要会产生能见度低的问题。再请学生思考:如何解决能见度低的问题?
以开车举例,学生可能会提到借助一些外部的硬件,如超声、雷达等,通过增加其他维度的输入信息,帮助解决能见度低导致看不清的问题。再请大家进一步思考:如果没有任何额外的输入信息,在只有原始图像的情况下能否解决问题。至此,明确智能去雾的研究问题是输入一幅仅有的原始有雾图像,我们希望输出对应的去雾后的清晰图像。
教学活动:请学生在具体问题解决之前建立STEAM多学科领域分解模型,在后续问题求解的过程中,让学生分组关注不同的领域。在跟随教师探究问题求解的过程中,将学生按行分组,聚焦每个领域在问题解决中的重要作用,在课程进行的过程中,重点关注去雾问题如何与这个领域相结合。在问题求解完成反思回顾阶段,将学生按列分组,聚焦跨学科融合创新,如用到了这个领域的什么知识,还是未来可以用于这个领域的发展等。重新分组,每个组都有之前STEAM的成员,每个新的组都可以从各个学科领域交流、探讨这个问题是如何解决的。在这里,学生们的思维碰撞、交叉创新可能会有一些有趣的想法产生。
1.图像表示的建模
教师引导学生思考去雾问题的研究对象。去雾问题主要研究对象就是图像,因此,首先要对数字图像进行建模。针对这一问题,我们从简单到复杂,分步骤分阶段逐步建立完整的图像表示模型——单通道图像:二维信息;三通道彩色图像:三维信息;带有透明度通道的彩色图像:四维图像。
单通道的灰度图,在增加了颜色信息后变成了三通道的彩色图,而在真实世界场景中可能有类似半透明的效果。教师请学生思考在计算机中是如何实现图像建模的,并通过课堂实践,用Python程序将彩色图像进行各通道分解。
对于带有透明度通道的图像模型,如果某个像素位置的透明度通道是白色,表示该像素不透明;反之,如果透明度通道为黑色,表示该像素完全透明;如果是灰色,表示介于中间状态的某种半透明效果。教师可以引导学生建立已有知识之间的映射,透明度通道就是学生在Photoshop软件中用过的“图层蒙版”。
教学活动:探究带有透明度通道的彩色图像模型。学生运行程序,观察程序运行结果,思考在三通道彩色图的基础上增加了什么信息?多出的这个通道是什么?
2.有雾场景的成像模型
学生完成图像建模之后,接下来分析第二个子问题:有雾的图片是如何形成的,即如何对有雾情形下的成像过程进行建模。光从物体表面出发,在到达成像平面的过程中,并非是真空的理想情况,往往要在介质中传播。同一个场景的成像结果,在晴天、阴霾、浓雾、雨天等不同天气条件下明显不同。当有霾、有雾时,空气中还会有比空气分子更大的微粒,如灰尘、水滴和来自污染物的颗粒。这些微粒的尺寸基本接近或大于入射光波长,这时候发生的散射作用使大部分能量向前,小部分能量向后,说明由于散射的作用,在光线原本传播方向上的能量有一定的衰减。这种散射叫米散射(也叫粗粒散射)。它的作用是使得光线的能量在原本方向上有所衰减。
有了散射粒子的物理模型,教师引导学生来看成像的场景,如图1所示,假设物体表面发出的光线强度为J,在空气中传播,经过空气中的粗粒散射,入射到人眼中时,光线的辐射强度会变弱,这说明光线发生了衰减。将辐射强度J乘以一个小于1的系数,叫透射系数,用符号t表示,距离近,透射多,t就大,距离远,透射少,t就小。根据物理上的大气散射模型,透射系数和场景深度是指数衰减的关系。我们见到的有雾图像中感觉有灰白的一层,这是为什么?光是射向四面八方的,不管我们想要与否,总有一些原来其他方向的光线被微粒介质不小心散射,传播方向发生了变化,入射到和被衰减光线同样的方向上,进入图像上同一个像素中。这种意外的巧合来自方方面面,我们把它总称为空气光部分。
散射作用让我们有失有得,“失”对应于目标光线(想要的场景光线)被衰减,“得”对应于来自四面八方的意外空气光(不想要的意外噪声)。这两部分共同作用,让场景图像降质,形成一幅有雾的“看不清”的图像。
真实图像为I,想得到的目标图像为J,透射系数t的图像和深度图d有直接对应关系,是符合衰减规律的指数关系。空气光的颜色A是一个常数。(x,y)表示像素的行列坐标位置。
求解问题:暗通道先验,求解欠定问题
1.明确问题求解的难点
智能去雾问题的输入是只有一幅有雾的圖像I,输出是清晰的去雾图像J,同时副产品还有透射系数t,也就等价于直接和它相关的深度图d。已知一个条件,求解两个未知数,已知信息不够,这类问题属于欠定问题。
教师在此可以向学生介绍什么是正定问题、欠定问题和超定问题。正定问题是条件数量与未知数的数量一样多,欠定问题是条件数量少于未知数的数量,超定问题恰好相反,指的是条件数量多于未知数的数量,也即条件可能是相互矛盾的。欠定问题因为条件(约束)不足,可能有多种可能性的解,即解具有不确定性。本例的去雾问题就是一个欠定问题,具体分析如下:已知仅有I,未知有J和t(或者说d),这样的情况下,解有无穷多种组合,如深度为0,t为1,J就是I;d比真实值要小,求出来的J就还是有雾,但是比原来的淡一点点;再如d是真实值,J的结果就是期望的去雾结果。 欠定问题的求解必须要增加条件(或约束)。本课例中,学生学习的去雾算法最重要的创新点就是通过大量数据统计提出图像的先验知识,用于约束欠定问题的求解。
2.建立问题求解的约束
暗通道先验是去雾问题最重要的创新点,是解决上面的欠定问题的关键。我们从图2来看,上左列为输入图像,上右列为计算得到的暗通道图,下图是暗通道图对应的统计直方图。图中可以看到无雾图暗通道的像素值绝大部分都是接近黑色的,有雾图暗通道的分布则比较分散,大多数像素的值在50~200之间。
教学活动:探究暗通道先验的实践。学生执行相应程序,输入图片为10张图,5张无雾,5张有雾。由于图片众多,教师组织分组实践,每个学生对比两张输入图片,并在石墨共享文档的相应位置中,填出相应的运行结果。思考无雾图的暗通道与有雾图的暗通道图像有何区别?它们的直方图有何区别?为什么?
对一张图求暗通道,本质上就是两次求最小:对颜色通道求最小,对空间小区域求最小。暗通道先验就是两次求最小操作之后得到的结果,趋近于0。去雾研究工作对5000张无雾图像进行了大规模直方图统计,结果是86%的像素都接近于0。因此,暗通道先验得到了很好的验证。接下来从物理角度解释暗通道的产生,即暗通道图低亮度主要来源于3个原因:阴影、彩色物体或者表面以及黑色物体或者表面。
教学活动:基于暗通道先验的去雾模型求解。学生执行程序,观察结果。学生在不同图片上运行去雾算法,对照算法探究程序的实现。请学生思考当前算法的结果在哪些情况下效果较好,哪些情况下还需要改进?为什么?
迁移应用:暗通道先验与其他问题
以上第二部分的求解是去雾算法的核心,基于暗通道先验的去雾算法既创新也简单,得到的去雾效果图像在大部分区域的接受范围内。然而在某些地方还有明显的瑕疵,这些地方主要是场景深度有明显变化的地方,因为这种情况下求解算法中假设的“区域小块中所有像素的值都相同”的条件不再成立,深度有突变,透射系数t也会有突变,常数的假设不再成立,因此算法需要对现有的结果进一步改进。智能去雾的改进算法也非常巧妙,这个改进算法并非是作者原创,而是将其他领域的算法引入进来,他山之石可以攻玉。
在第一部分,教师已经引入透明度通道,这里可以拓展一下,在计算机视觉、图形学、图像处理领域,有一大类研究专门做自动抠图的算法,将图像中的前景从背景中分离出来。如果场景都是由完全不透明的物体组成,抠图相对比较容易,前景和背景用二值进行区分即可,然而真实情形下,场景中或多或少存在部分透明的情况,如毛发、皮肤等,其核心思想是一幅图由前景色和背景色混合,且不同地方透明度不同。抠图的问题已经有成熟有效的算法,这些算法可以迁移应用于去雾的优化,得到的结果如图3所示。
教學活动:回归课程开始,每个组都会重点聚焦STEAM某一领域,先请每个组总结整个问题解决中各领域的基础和应用。接着,全体学生重新分组,按照新的分组,每个新的分组都有来自各领域的学生,在新的分组下,进行跨学科交叉的讨论与思考,从跨学科的角度思考智能去雾算法的融合创新。每个小组制作一张海报,呈现整体的总结与思考。
在本课例中,教师引导学生发现智能去雾问题并不是单独某个学科可以解决的,它是真实世界中的复杂问题,需要多学科背景知识做基础,这个问题的解决需要跨学科的思维、跨学科的创新。此外,在学习过程中学生能够对原始创新、简单之美建立自己的感知,对计算思维的问题解决过程和思维方式有自己的理解。大道之行在于简。
注:本文系全国教育科学“十三五”规划2019年度教育部青年课题“面向未来高阶能力和智能素养的中学跨学科人工智能课程体系建设与教学研究”(课题号:EHA190519)研究成果
作者单位:中国人民大学附属中学