从形象思维到计算思维
第 19 期
6
2012 年 10 月 10 日
计算机教育
Computer Education
专题策划——计算思维
文章编号:1672-5913(2012)19-0006-06
中图分类号:G642
从形象思维到计算思维
张东生,季 超
(河南大学 计算中心,河南 开封 475004)
摘 要: 针对计算思维常被狭义理解的现象,从思维科学规律和大成智慧培养的视角,研究比较形象思维、抽象思维与计算思维的特点、转化原理与方法;以车牌识别为例,分析将形象思维映射到抽象思维,再利用计算思维提供的模型与算法,由计算机实现的过程和方法;研究计算思维对于计算机解决形象思维等复杂问题的意义,探讨计算思维对于实现“人—机结合”的大成智慧的重要作用,提出培养计算思维的形式与方法。
关键词: 计算思维;形象思维;思维科学;大成智慧;计算智能;模式识别;车牌识别
0 引言
形象思维是人类具有的最基本的思维能力,无须专门学习和训练,人们即可以通过形象思维来认识、理解和判断许多自然现象,解决一定问题。朴素的计算思维也是人类很早就已经具有的思维能力。通过结绳记事,人类在远古时期就已经认识到自然现象的可计量性和可计算性,但解决复杂问题的计算思维能力则需要学习、训练才能够掌握。在电子计算机普遍应用的今天,许多形象思维问题需要转化为计算思维才能利用计算机解决,培养基于计算机解题思路和方法的计算思维能力十分必要。计算机教育(包括专业教育和基础教育)是培养学生将形象思维转化为计算思维,也就是通过培养学生的计算思维能力来解决或辅助解决形象思维中复杂问题的理想途径。计算智能学科领域的图像识别、自然语言处理等应用案例,是引导启发学生从形象思维到计算思维的绝好教学素材。本文通过阐述车牌识别方法,讨论从形象思维到计算思维的转化过程及教学方法。
1 形象思维、抽象思维与计算思维
钱学森同志在与其核心学术团队成员研究思维科学问题时指出:“对于人类的个体而言,擅长于形象思维易形成象智,象智与量智结合,形成高层次的性智,而性智是大成智慧的来源[1]1。”我们认为,钱老所指的象智与量智,分别是形象(直感)思维和抽象(逻辑)思维的产物;而计算思维,则是利用计算机解决格式化或形式化问题(抽象思维的结果)的思维方式,属于面向问题和面向解决方案的方法论范畴。
1.1 形象思维
形象思维又称直感思维,是人类最基本的思维能力和富有活力的思维形式,通过人脑中分属于左右两部分的数以万亿计的神经单元协同活动而实现。形象思维是人所具有的本能思维能力,但通过文学、艺术等学科的培养训练,可以提升形象思维的品质、素质和能力。遗憾的是,人们对于形象思维机理的研究非常浅显。譬如,我们对于“人脑如何瞬时构造或识别(再认)一个场景、一幅图像”这样的问题所知甚少,更无从谈
作者简介:张东生,男,教授,研究方向为计算智能;季超,男,副教授,研究方向为计算机应用。
第 19 期
专题策划——计算思维
7
起利用计算机来直接模拟人的形象思维过程。可以猜想,人的形象思维空间可能是多维度的,且具有复杂的拓扑结构与联系激活方式,这个复杂的问题域很难直接映射到目前计算机解题的方法域,因为这个方法域中的方法基本是线性的。但人们可以将某些形象思维问题,如图像识别,通过抽象(逻辑)思维简单化为一维思维空间,从而使计算机可解。
同时也促进人类的计算思维能力随之相应提高。成书于4世纪的《孙子算经》不仅详细记述了纵横相间的算筹记数制和筹算的乘除与开平方法则,还记述了“鸡兔同笼”等问题的解题方法;包括其后的《九章算术》等算经所记述的都是所处时代的计算思维[6-7]。
需要指出的是,与西方基于公理体系的推理方法不同,古代中国的计算思维方式具有明显的形象思维色彩,这一事实印证了钱学森、戴汝为等学者提出的中华民族天人合一的整体观和注重形象思维的论断[1]36,[2]。我们不能否认形象思维在科技进步和社会发展中的作用,应当着力研究形象思维与计算思维的关系,积极开发基于“人—机结合”的大成智慧。
电子计算机的出现和应用,在更广泛的领域深刻地影响着人类的计算技术革命,并催生新的计算思维方式。在当今的知识经济时代,计算思维能力就是推动经济社会发展的强大动力,一个国家和民族计算思维能力的高低,直接影响着综合国力和民族素质的强弱[8]。因此,有效培养学生乃至全民族的计算思维能力,是思维科学研究者与计算机教育工作者义不容辞的责任。
1.2 抽象思维
抽象思维又称为逻辑思维,是由一系列推理单元组成的线性思维空间,每一单元可包括或多或少的性线推理过程。这个线性系统有时也可能演化为更为复杂的变形——树形结构系统[2]。尽管抽象思维的过程很多时候也是相当复杂的,但由于抽象思维活动主要在一维空间进行,因此,相对于形象思维而言,其思维方式较简单,思维过程容易结构化和形式化。事实上,人们已经找到许多数学方法和模型来表达和解决抽象思维的问题,其中绝大部分可以通过计算机实现。
1.3 计算思维
计算思维就是计算机解题(目前主要是结构化和形式化问题)的思维方式,这是现代计算思维概念的内涵。关于计算思维的概念,美国的周以真教授、我国的陈国良院士等学者近年给出了更具体和严密的定义[3-5]。事实上,虽然计算思维作为一个学术词汇出现得较晚,但其作为人类思维方式的组成成分很早就存在,而且随着计算工具、计算方法和人类整体思维能力的不断进步而改变。
人类在远古时期就已经认识到自然现象的可计量性和可计算性,发明了“结绳记事”等计量、计算方法,产生了“朴素的”计算思维。随着问题的大量涌现和计算的复杂性日益提高,算筹、算盘等更高级的计量和计算工具应运而生,这些计算工具的应用,不仅解决大量复杂的计算问题,带来计量、计数方法(如进位制)等一系列形象思维和抽象思维的革命性进步,
2 用计算思维解决形象思维问题的原理
与方法
2.1 车牌识别的形象思维过程
人脑对于汽车牌照的识别,是一个比较典型的形象思维过程:观察汽车牌照的位置,“认出”牌照中的汉字、字母和数字,识别就完成了。在识别过程中,对于大脑如何搜寻和判断车牌位置,车牌字符及底色的差异、干扰与模糊性如何解决,车牌上的字符如何激活大脑中记忆的知识并取得联系等问题,我们目前所知甚少,但这并不影响我们将问题抽象到一个比较简单的一维空间上。
2.2 车牌识别的抽象思维过程
经抽象思维得到的车牌识别问题的一维空间主要包括5个单元过程,如图1所示。
计算机教育
8
Computer Education2012
图中每个像素点RGB 三个分量的平均值,作为灰度图像的灰度值。
3)边缘检测运算。边缘是指周围像素灰度值急剧变化的那些像素点的集合,是图像最基本的特征和图像识别分割所依赖的最重要依据。边缘检测的目的就是捕捉图像中的边缘而忽略非边缘部分。常用的边缘检测算法有Laplacian 算子、Roberts 算子、Sobel 算子等。
4)腐蚀运算。作用是提取图像主干部分,丢弃纤细部分,消除噪声。图2中的数字化图像经过2)—4)处理后,运算结果见图3。
图1 车牌识别的抽象思维过程
每一单元过程包括若干线性推理步骤,如“牌照区域定位”单元包括图像行扫描—图像列扫描—车牌定位剪切—二值化—形态学滤波—锁定车牌区域等推理步骤。
2.3 车牌识别的计算思维过程
计算思维的主要任务是将上述每一个具体步骤转化为便于计算机解决的算法,这些算法比较容易被转化为程序代码,下面给出计算思维的详细过程。为便于各专业学生理解,笔者尽量采用直观的语言描述;为保证叙述的连贯性,将下面16个小标题题号连续标记。2.3.1 图像采集及预处理过程
1) 图像数字化运算。客观现实中的彩色图像在计算机中可表现为由若干像素点组成的阵列,每一像素点由R(红) 、
G(绿) 、B(蓝
) 三色组成,如果色彩深度用8个二进制位表达,则每一像素点的数据量可达3×28位,当图像尺寸或色彩深度较大时,数据量较大。图2为已经被数字化的原始图像。
图3
经过2)—4)处理后的图像
5)填充运算。又称膨胀运算,与腐蚀运算相反,填充图像内细小空洞,使临近像素点相连接。腐蚀与填充相结合的运算结果,使得图像的主要部分突显出来并连接成片。
6)取舍运算。设定一个适当阈值,丢弃已形成连通的较小区块(图像顶端和两侧部分区块),保留较大的连通区块(牌照字符部分)。图像预处理完成,形成主体明显的二值图像,如图4所示。
图2 数字化原始图像
图4 预处理完成后的图像
2)彩色转灰度运算。转换后,同样分辨率的图像数据量一般为彩色的1/3,而且保持原色度和亮度等级的分布特征。彩转灰在图像处理与识别等操作中经常使用。一种简单算法为:以彩
2.3.2 牌照区域定位过程
7)行方向投影运算,确定车牌的上下端。将6)处理后的图像沿水平方向划分为500个刻
第 19 期
专题策划——计算思维
9
度,从上到下累加每一水平刻度上“亮”点的像素数。如图5所示,“亮”点始于170处,止于300处。意味着行值170和300为车牌区域上端和下端。
10)图像剪切运算。按照9)定位的区域重新剪切原始图像,所得区域正是车牌主体部分,如图8所示。
图8
实际剪切结果
11)形态学滤波及二值化运算。对于剪切后
图5
行方向投影运算结果
的车牌区域进行形态学滤波运算,目的是去除车牌的铆钉、护板边缘等无关部位,然后作二值化处理,转变为黑白图像。
12)参照7)的方法,再次截除11)处理的图像中无关部分,取得精确定位的车牌区域,如图9所示。
8)列方向投影运算,确定车牌的左右端。将6)处理后的图像从垂直方向划分为800个刻度,从左到右累加每一垂直刻度上“亮”点的像素数。图6所示,“亮”点集中在125到650处之间。意味着列值125和650为车牌字符区域左端和右端。
图9
精确定位的车牌区域
2.3.2 字符分割过程
13)对已精确定位的车牌区域,按照8)的方法,再次作列方向投影运算,形成彼此“间
图6
列方向投影运算结果
隔”的7个波线,如图10所示,对应车牌中的7个字符。
14)参照7)—10)的方法,将7段“离散”的波线分别截取为7幅小图,从而实现字符分割,见图11。
9)车牌锁定示意。通过行投影和列投影运算,在图4中初步定位车牌位置。设画面左上角为原点(0,0),根据7)和8)的运算可知,图中坐标点(125,170)和(650,300)为车牌主体区域的左上角与右下角,如图7所示。
图7
锁定车牌位置图10 为分隔字符而重复8)
的扫描
计算机教育
10
Computer Education2012
如Roberts 算子、人工神经网络等[9]。对于计算实现的方法与过程,采用程序代码描述有时可能比用自然语言更容易被理解。
图11 为分隔字符而重复8)的扫描
3 讨论
3.1 人脑思维与电脑思维的不同特点
人脑和电脑(计算机)都是信息处理的工具。通过上面分析,可使学生理解人脑思维与电脑思维的不同特点,人脑擅长于形象思维,能快速处理定性的、不精确不确定的问题,具有抽象思维能力(但个体间差异可能较大),可以将多维的、不精确不确定的复杂问题转化为一维的、结构化和形式化的、相对简单的问题,使得利用计算机解题成为可能;计算思维则将抽象思维的结果转化为计算机可理解的算法,方便程序系统的生成,使计算机能最终完成解题任务。很多时候,抽象思维和计算思维是交织在一起的,计算机可以体现计算思维的特征,能够快速处理定量的、精确确定的简单问题,通过处理一系列大量简单问题而解决复杂问题,但很难直接模拟人脑的形象思维方式。从人脑与电脑的这些特点来看,我们比较容易理解为什么计算机可以战胜国际象棋大师,却不能理解一个三岁儿童可以感悟的故事情节。让学生们了解计算机不能做什么、可以做什么以及如何做,是计算思维教学一个很重要的任务。
2.3.4 字符识别过程
15)字符识别计算。采用人工神经网络识别方法使计算机将7幅小图像分别识别为相应的字符。
先提取待识别字符特征,再用特征样本训练神经网络分类器。图12
给出了数字字符的样本集。
图12
数字字符样本集
另需采集“京”“豫”“川”等汉字和“A ”“B ”“Z ”等字母样本集,训练神经网络。分别将上述7幅小图输入训练成熟的网络,识别成相应的汉字、字母和数字字符。2.3.5 输出结果过程
16)识别出图像中的字符,输出到图像的上方,如图13所示。
3.2 通过计算思维达到人脑与电脑联合思维,培养“人—机结合”的大成智慧
钱学森在其学术生涯的后期,一直致力于思维科学的研究,取得许多具有重要价值的成果,提出了大成智慧学学说[1]29,[2, 10-11],对于我们开
图13
输出识别结果
展计算思维教育极具指导意义和参考价值。大成智慧教育是通过理、工、文、艺等学科的综合教育,培养既具有文学艺术素养,又具有包括信息科学在内的科学技术知识的;既有“性智”,又有“量智”的大仁、大智和大勇的人才,即大成智慧人才。具有这种大成智慧品质的人,才能够具备优秀的思维能力和强有力的组织与综合能
从上面的过程看出,计算思维虽然是一个线性的过程,但对于相同或相近的运算操作,如图像剪切运算,在程序设计中是可以“调用”或“重用”的。另外,教学过程中,可根据不同专业学生情况,介绍其中一些经典的算法和程序代码,
第 19 期
专题策划——计算思维
3.3 破解钱学森之问的可能途径
11
力,才能面对当今社会“开放的复杂巨系统”成就杰出事业。
具备大成智慧固然好,可人的时间、精力毕竟有限,如何更高效地从“普通人”的思维能力达成大成智慧思维能力?钱老给出了一个可行的途径——培养人—机结合的大成智慧
[1]32,[12]
钱老晚年在深刻思考总结自己及家族成员的成长历程和学术生涯之后,两次提出“现在中国没有完全发展起来,一个重要原因是没有一所大学能够按照培养科学技术发明创造人才的模式去办学,没有自己独特的创新的东西,老是冒不出 。面对著名的钱学森之问,近年杰出人才[2,13]”
来许多有识之士从不同角度和方法来试图解答。事实上,加强包括计算思维在内的思维科学研究和教育,培养具有大成智慧的人才,可能正是解答该问题的正确路径之一。
。根
据3.1所述人脑与电脑的思维特点,人脑通过丰富多彩的形象思维和不期而至、稍纵即逝的灵感思维,发现问题,并提出解决问题的可能方案;然后利用计算思维方式,将人脑提出的定性的、不精确不确定的问题,抽象为计算机可解的精确确定的、定量的简单问题。也就是人脑主要产生“性智”,电脑主要产生“量智”,两者结合分析和处理复杂问题
[12]
;人—机结合
4 结语
教学有方,但无定法。计算思维教育问题已经引起广大计算机教育者的关注,不少学者已经找到了行之有效的方法,如在程序设计课中融入计算思维教育等。可以将本文讨论的方法融入到有关教学内容,也可以作为讲座的内容,或作为教学网站中的文献材料供学生自学。良好的计算思维能力不是一朝一夕就可以养成的,我们计划基于计算智能学科,通过“人脸|掌纹|指纹识别”、“自然语言处理”、“医学图谱分析”、“计算生命”等系列案例,将计算思维养成教育潜移默化地融入到具体应用案例中去。欢迎同行提供更为鲜活生动的案例素材,共同完成这一伟大而艰巨的任务。
的另一种形式是将计算机海量的存储能力和目前的专家系统、辅助决策等智能系统与人脑的学习思维、分析判断等智能过程有机结合起来,使人脑能够适时地、恰如其分地激活所需的电脑系统,实现电脑帮助和协助人脑记忆、搜索、分析、判断等功能。
就目前计算机的存储运算能力、网络与云计算技术、模糊逻辑与人工神经网络等智能技术而言,电脑协助人脑实现“人—机结合”的大成智慧,在软硬件技术方面是可以实现的,问题的关键是各行业、各专业的人需要对计算机解题特点与原理有足够的理解和熟练的应用能力。这正是计算思维教育的目标和任务。
参考文献:
[1] 戴汝为. 社会智能科学[M]. 上海: 上海交通大学出版社, 2007.
[2] 钱学敏. 钱学森对“大成智慧学”的探索: 纪念钱学森百年诞辰[J]. 科学学研究, 2012, 30(1): 14-27.[3] Wing J M. Computational Thinking[J]. Communications of ACM, 2006, 49(3): 33-35.[4] 陈国良, 董荣胜. 计算思维与大学计算机基础教育[J]. 中国大学教学, 2011(1): 7-12.
[5] 朱亚宗. 论计算思维: 计算思维的科学定位、基本原理及创新路径[J]. 计算机科学, 2009, 36(4): 53-55.
[6] 管会生, 杨建磊. 从中国“古算”到“图灵机”: 看不同历史时期“计算思维”的演变[J]. 计算机教育, 2012(11): 120-125.[7] 张明正, 孟杰, 张东生. 自然科学与高技术发展概论[M].开封:河南大学出版社,2003:17-18.
[8] 李晓明, 蒋宗礼, 王志英, 等. 积极研究和推进计算思维能力的培养[J]. 计算机教育, 2012(5): 1.
[9] 马奎斯德萨 J P. 模式识别: 原理、方法及应用[M]. 吴逸飞, 译. 北京: 清华大学出版社, 2002: 140-223.[10] 黄枬森. 钱学森大成智慧学简论[J]. 上海交通大学学报: 哲学社会科学版, 2011, 19(6): 5-12.
[11] 赵泽宗. 简论钱学森大成智慧教育思想与教育实践: 解读“钱学森之问”和“钱学森成才之道”[J]. 语言文字大论坛,
2011(3): 7-20.
[12] 戴汝为. 人—机结合的智能科学和智能工程[J]. 中国工程科学, 2004, 6(5): 24-28.[13] 邹吉忠. 大成智慧与元创: 探寻破解钱学森问题之道[J]. 哲学动态, 2010(4): 15-19.
(编辑:彭远红)