图像分割是计算计视觉研究中的经典难题,已成为图像理解领域关注的一个热点,
图像分割作为图像技术领域的一个经典难题,自上世纪七十年代以来吸引了众多研究人员的研究热情并为之付出了巨大努力,提出了很多图像分割算法。这些分割算法分割性能的优劣,是用相关图像分割质量测度来进行评价的。但由于对算法分割是否成功的客观判定标准至今未得到解决,因此图像分割算法分割质量得评价成为一项颇具研究意义的课题。有关图像分割评价的方法已有少数的初步探讨,但目前仍未有很好的归纳和整理。这不仅和图像分割技术的研究应用现状不相称,也不利于图像分割技术的发展。
图像分割是图像分析的第一步,是计算机视觉的基础,是图像理解的重要组成部分,同时也是图像处理中最困难的问题之一。所谓图像分割是指根据灰度、彩色、空间纹理、几何形状等特征把图像划分成若干个互不相交的区域,使得这些特征在同一区域内表现出一致性或相似性,而在不同区域间表现出明显的不同。简单的说就是在一副图像中,把目标从背景中分离出来。对于灰度图像来说,区域内部的像素一般具有灰度相似性,而在区域的边界上一般具有灰度不连续性。 关于图像分割技术,由于问题本身的重要性和困难性,从20世纪70年代起图像分割问题就吸引了很多研究人员为之付出了巨大的努力。虽然到目前为止,还不存在一个通用的完美的图像分割的方法,但是对于图像分割的一般性规律则基本上已经达成的共识,已经产生了相当多的研究成果和方法。
图像分割是指将图像中感兴趣区域(ROI)的边界找到,使得边界内部和外部的像素分别具备相似的特征(强度、纹理等)。医学图像分割是对医学图像进行其他后续处理的基础。对图像中目标区域的准确分割对于计算机辅助诊断、制订手术计划、目标3维重建以及放射性治疗评价等都具有重要意义。近几十年来,随着医学成像设备的不断完善,医学图像的分割算法也层出不穷,但是很少能够在临床上得到广泛应用。用一个全面的医学图像数据集合来客观评价医学图像分割算法是将该算法向临床应用推进的关键一步
传统的图像分割方法
基于阀值的图像分割方法
阀值分割法是一种传统的图像分割方法,因其实现简单、计算量小、性能较稳定而成为图像分割中最基本和应用最广泛的分割技术。阀值分割法的基本原理是通过设定不同的特征阀值,把图像像素点分为具有不同灰度级的目标区域和背景区域的若干类。它特别适用于目标和背景占据不同灰度级范围的图,目前在图像处理领域被广泛应用,其中阀值的选取是图像阀值分割中的关键技术。
灰度阀值分割方法是一种最常用的并行区域技术,是图像分割中应用数量最多的一类。图像若只用目标和背景两大类,那么只需要选取一个阀值,此分割方法称为单阀值分割。单阀值分割实际上是输入图像f到输出图像g的如下变换:
在上述表达式中,T为阀值,对于目标物体的图像元素g(i,j)=1,对于背景的图像元素g(i,j)=0。但是如果图像中有多个目标需要提取,单一的阀值分割就会出错。就需要选取多个阀值将每个目标分割开,这种分割方法称为多阀值分割。
阀值分割的结果取决于阀值的选择。由此可见,阀值分割算法的关键是确定阀值。阀值确定后,将阀值与像素点的灰度值比较以及对各像素的分割并行地进行。常用的阀值选择方法有利用图像灰度直方图的峰谷法、最小误差法、基于过渡区法、利用像素点空间位置信息的变化阀值法、结合连通信息的阀值方法、最大相关性原则选择阀值和最大熵原则自动阀值法。
图1是利用单阀值方法和局部阀值方法对细胞图像分隔的结果,结果表明,在很多情况下,目标物体和背景的对比度在图像的不同位置并不是一样的,这是如果用一个统一的单阀值将目标与背景分开,效果是不理想的。如果根据图像的局部特征分别用不同的阀值对图像进行分割,即局部阀值分割,则效果要比单阀值分割要好得多。
阀值分割方法的优点是图像分割的速度快,计算简单,效率较高。但是这种方法只考虑像素点灰度值本身的特征,一般不考虑空间特征,因此对噪声比较敏感。虽然目前出现了各种基于阀值分割的改进算法,图像分割的效果有所改进,但在阀值的设置上还是没有很好的解决方法,若将智能遗传算法应用在阀值筛选上,选取能最优分割图像的阀值,这可能是基于阀值分割的图像分割法的发展趋势。
基于区域的图像分割方法
基于区域的分割方法是以直接寻找区域为基础的分割技术,具体算法有区域生长和区域分离与合并算法。基于区域提取方法有两种基本形式:一种是区域生长,从单个像素出发,逐步合并以形成所需要的分割区域;另一种是从全局出发,逐步切割至所需的分割区域。
区域生长
区域生长是串行区域技术,其分割过程后续步骤的处理要根据前面步骤的结果进行判断而确定。常见的区域生长算法包括:同伦的区域生长方式、对称区域生长方式和模糊连接度方法与区域生长相结合等算法。
区域生长的基本思想是将具有相似性质的像素集合起来构成区域。具体是先对每个需要分割的区域找一个种子像素点作为生长的起点,然后将种子像素周围领域中与种子像素有相同或相似性质的像素合并到种子像素所在的区域中。将这些新像素当作新的种子像素继续进行上面的过程,直到再没有满足条件的像素可被包括进来。这样一个区域就长成了。
区域生长的优点是计算简单,对于较均匀的连通目标有较好的分割效果。它的缺点是需要人为的选取种子,对噪声较敏感,可能会导致区域内有空洞。另外它是一种串行算法,当目标较大时分割速度较慢,因此在算法设计时应尽量提高运行效率。
区域分裂合并
区域生长是从某个或者某些像素点出发,最后得到整个区域,进而实现目标的提取。而分裂合并可以说是区域生长的逆过程。它是从整个图像出发,不断分裂得到各个子区域,然后再把前景区域合并,得到前景目标,继而实现目标的提取。分裂合并的假设是对于一幅图像,前景区域是由一些相互连通的像素组成的,因此如果把一幅图像分裂到像素级,那么就可以判定该像素是否为前景像素。当所有像素点或者子区域完成判断以后,把前景区域或者像素合并就可以得到前景目标。
四叉树分解法就是一种典型的区域分裂合并法。对Lena图的分割效果如图2所示。设R代表整个正方形图像区域,P代表逻辑谓词。基本分裂合并算法步骤如下:
(1)对于任一区域,如果H(Ri)=FALSE就将其分裂成不重叠的四等分;
(2)对相邻的两个区域Ri和Rj,它们也可以大小不同(即不在同一层),如果条件H(RiURj)=TURE满足,就将它们合并起来;
(3)如果进一步的分裂或合并都不可能,则结束。 分裂合并法的关键是分裂合并准则的设计。这种方法对复杂图像的分割效果较好,但算法较复杂,计算量大,分裂还可能破坏区域的边界。
在实际应用中,通常是将区域生长算法和区域分裂合并算法这两种基本形式结合使用。该类算法对某些复杂物体定义的复杂场景的分割或者对某些自然景物的分割等类似先验知识不足的图像分割,效果较为理想。
基于边缘检测的图像分割方法
基于边缘检测的分割方法试图通过检测包含不同区域的边缘来解决分割问题,它可以说是人们研究的最多的方法之一。通常不同的区域之间的边缘上像素灰度值的变化往往比较剧烈,这是边缘检测方法得以实现的主要假设之一。边缘检测方法一般利用图像一阶导数的极大值或二阶导数的过零点信息来提供判断边缘点的基本依据。
边缘检测技术通常可以按照处理的技术分为串行边缘检测和并行边缘检测。串行边缘检测是要想确定当前像素点是否属于检测边缘上的一点,取决于先前像素的验证结果。并行边缘检测是一个像素点是否属于检测边缘上的一点取决于当前正在检测的像素点以及与该像素点的一些相邻像素点。
最简单的边缘检测方法是并行微分算子法,它利用相邻区域的像素值不连续的性质,采用一阶或二阶导数来检测边缘点。近年来还提出了基于曲面拟合的方法、基于边界曲线拟合的方法、基于反应-扩散方程的方法、串行边界查找、基于变形模型的方法。
常用的一阶导数算子有梯度算子、Prewitt算子和Sobel算子。二阶导数算子有Laplacian算子、Kirsch算子和Wallis算子。
图3是分别用Sobel、LoG和Canny算子对Lena图做的边缘检测。有图3可以看出,Canny算子的分割效果比Sobel和LoG算子的好。
虽然边缘检测的优点是边缘定位准确、运算速度快,但它有两大难点限制了其在图像分割中的应用,即:a不能保证边缘的连续性和封闭性;b在高细节区存在大量的碎边缘,难以形成一个大区域,但是又不宜将高细节区分为小碎片。由于上述两个难点,因此无论采用什么方法,单独的边缘检测只能产生边缘点,而不是完整意义上的图像分割过程。这也就是说,边缘点信息需要后续处理或与其它相关算法相结合,才能完成分割任务。常用的方法是边缘生长技术最大程度的保证边缘的封闭性,或用有向势能函数(DPF)将有缺口的两边缘强制连接,得到封闭边缘图。
在未来的研究中,用于提取初始边缘点的自适应阀值选取、用于图像的层次分割的更大区域的选取以及如何确认重要边缘以去除假边缘将变得非常重要。
结合特定工具的图像分割算法
基于小波分析和小波变换的图像分割方法
小波变换是近年来得到广泛应用的数学工具,它在时域和频域都具有良好的局部化性质,能将时域和频域统一于一体来研究信号。而且小波变换具有多尺度特性,能够在不同尺度上对信号进行分析,因此在图像分割方面得到了应用。
二进小波变换具有检测二元函数的局部突变能力,因此可作为图像边缘检测工具。图像的边缘出现在图像局部灰度不连续处,对应于二进小波变换的模极大值点。通过检测小波变换模极大值点可以确定图像的边缘小波变换位于各个尺度上,而每个尺度上的小波变换都能提供一定的边缘信息,因此可进行多尺度边缘检测来得到比较理想的图像边缘。图4是运用小波变换方法对图像进行的有效分割。
另外,将小波方法与其他方法结合起来处理图像分割也得到广泛研究。文献[8]提出把Hilbert图像扫描方法和小波变换相结合,获得了连续光滑的阀值曲线,从而建立了一种局部自适应阀值法进行图像分割。
基于马儿可夫随机场模型的图像分割方法
马儿可夫随机场(Markov Random Field)方法建立在马尔可夫模型和Bayes理论基础上,根据统计决策和估计理论中的最优化准则确定分割问题的目标函数,求解满足这些约束条件下的最大可能分布,从而将分割问题转化为优化问题。MRF最重要的一个特点是,图像中每个点的取值由其领域像素决定,其本质上是一种基于局部区域的分割方法。
如果我们把图像理解为定义在矩形点阵上的随即过程,则Markov性很好的描述了各个像素之间的空间依赖性,即一个像素可以由它周围的像素确定。而事实表明,图像像素的这种空间相关性总是存在的。因此可以使用马尔可夫随机场对图像进行建模。文献[9]讨论了基于马尔可夫随机场的图像分割方法,建立了相应的基于马尔可夫随机场的图像分割模型,以实现复杂遥感图像的快速分割,并由此将图像分割问题转化为图像标记问题,进而转化成求解图像的最大后验概率估计的问题。利用此方法得到的效果图如图5、6所示:
基于遗传算法的图像分割方法
遗传算法(Genetic Algorithms,简称GA)是1973年由美国教授Holland提出的,是一种借鉴生物界自然选择和自然遗传机制的随机化搜索算法。是仿生学在数学领域的应用。其基本思想是,模拟由一些基因串控制的生物群体的进化过程,把该过程的原理应用到搜索算法中,以提高寻优的速度和质量。此算法的搜索过程不直接作用在变量上,而是在参数集进行了编码的个体,这使得遗传算法可直接对结构对象(图像)进行操作。整个搜索过程是从一组解迭代到另一组解,采用同时处理群体中多个个体的方法,降低了陷入局部最优解的可能性,并易于并行化。搜索过程采用概率的变迁规则来指导搜索方向,而不采用确定性搜索规则,而且对搜索空间没有任何特殊要求(如连通性、凸性等),只利用适应性信息,不需要导数等其他辅助信息,适应范围广。
遗传算法擅长于全局搜索,但局部搜索能力不足,所以常把遗传算法和其他算法结合起来应用。将遗传算法运用到图像处理主要是考虑到遗传算法具有与问题领域无关且快速随机的搜索能力。其搜索从群体出发,具有潜在的并行性,可以进行多个个体的同时比较,能有效的加快图像处理的速度。但是遗传算法也有其缺点:搜索所使用的评价函数的设计、初始种群的选择有一定的依赖性等。要是能够结合一些启发算法进行改进且遗传算法的并行机制的潜力得到充分的利用,这是当前遗传算法在图像处理中的一个研究热点。
基于人工智能的图像分割方法
基于人工神经网络的图像分割方法
在20世纪80年代后期,在图像处理、模式识别和计算机视觉的主流领域,受到人工智能发展的影响,出现了将更高层次的推理机制用于识别系统的做法,于是出现了基于人工神经网络模型(Artificial Neural Networks, ANN)的图像分割方法。人工神经网络是由大规模神经元互联组成的高度非线性动力系统,是在认识、理解人脑组织机构和运行机制的基础上模拟其结构和智能行为的一种工程系统。
基于神经网络分割的基本思想是:通过训练多层感知机来得到线性决策函数,然后用决策函数对像素进行分类来达到分割的目的。近几年神经网络在图像分割中的应用按照处理数据类型大致上可以分为两类:一类是基于像素数据的神经网络算法;另一类是基于特征数据的神经网络算法也即特征空间的聚类分割方法。基于像素数据分割的神经网络算法用高维的原始图像数据作为神经网络训练样本,比起基于特征数据的算法能够提供更多的图像信息,但是各个像素是独立处理的,缺乏一定的拓扑结构而且数据量大,计算速度非常慢,不适合实时数据处理。目前有很多神经网络算法是基于像素进行图像分割的,如Hopfield神经网络、细胞神经网络、概率自适应神经网络等。
随着技术的不断发展,第三代脉冲耦合网络PCNN的研究,为图像分割提供了新的处理模式,它能克服图像中物体灰度范围值有较大重叠的不利影响,达到较好的分割效果。
基于聚类的分割方法
对灰度图像和彩色图像中的相似灰度或色度合并的方法称之为聚类,通过聚类将图像表示为不同区域即所谓的聚类分割方法。此方法的实质是将图像分割问题转化为模式识别的聚类分析,如k均值、参数密度估计、非参数密度估计等方法都能用于图像分割。实际中受到普遍欢迎的是基于目标函数的模糊C-均值算法(Fuzzy C-Means),简称FCM。由Bezdek于1981年提出,利用初始化方法确定聚类中心、聚类数,通过不断迭代循环,调整和优化聚类中心,最终使类内方差达到最小,从而实现聚类。
目前常用的还有基于支持向量机聚类、基于遗传算法聚类等以及与其他算法相结合的聚类方法。
基于主动轮廓模型的分割方法
主动轮廓模型(active contours)是图像分割的一种重要方法,具有统一的开放式的描述形式,为图像分割技术的研究和创新提供了理想的框架。在实现主动轮廓模型时,可以灵活的选择约束力、初始轮廓和作用域等,以得到更佳的分割效果,所以主动轮廓模型方法受到越来越多的关注。
该方法是在给定图像中利用曲线演化来检测目标的一类方法,基于此可以得到精确的边缘信息。其基本思想是,先定义初始曲线C,然后根据图像数据得到能量函数,通过最小化能量函数来引发曲线变化,使其向目标边缘逐渐逼近,最终找到目标边缘。这种动态逼近方法所求得的边缘曲线具有封闭、光滑等优点。
传统的主动轮廓模型大致分为参数主动轮廓模型和几何主动轮廓模型。参数主动轮廓模型将曲线或曲面的形变以参数化形式表达,Kass等人提出了经典的参数活动轮廓模型即“Snake”模型[10],其中Snake定义为能量极小化的样条曲线,它在来自曲线自身的内力和来自图像数据的外力的共同作用下移动到感兴趣的边缘,内力用于约束曲线形状,而外力则引导曲线到特征此边缘。参数主动轮廓模型的特点是将初始曲线置于目标区域附近,无需人为设定曲线的的演化是收缩或膨胀,其优点是能够与模型直接进行交互,且模型表达紧凑,实现速度快;其缺点是难以处理模型拓扑结构的变化。比如曲线的合并或分裂等。而使用水平集(level set)的几何活动轮廓方法恰好解决了这一问题。文献[11]针对Snake模型在弱边缘处容易溢出等不足,通过引入区域信息、粒子群优化算法等优化特性和良好的数值稳定性来对Snake模型的分割结果进行优化。
图像分割的系统研究
根据已有的研究成果和最近的研究趋势来看,对图像分割的研究其实应该包括如图 2.1所示的三个层次:关于图像分割算法的研究、关于图像分割算法性能的研究、关于图像分割算法性能研究的研究。关于图像分割算法的研究是对分割算法思想进行研究,即对图像进行分割的技术的研究。关于图像分割算法的性能的研究是对分割算法的评价方法进行研究,研究内容主要是对图像分割技术的性能进行刻画和比较,从而帮助更好的把握分割算法的特点和优点,目前已得到广泛重视但并未获得可喜的研究成果。关于图像分割算法性能研究的研究是对分割评价方法和评价所使用的相关准则测度进行系统研究,从而保证能选取恰当的评价方法和评价测度来正确评估相应的分割技术,也就是对分割评价方法的评价。研究图像分割评价方法是为了更好的研究图像分割技术本身,而对图像分割评价的研究则是为了进一步的研究分割评价方法,以便对分割技术本身起到引导和督促作用,从而从更深层次上实现对分割算法的指导作用。三者从“上”到“下”在不同层面上实现了一体式促进图像分割技术发展的目标。
据统计,多年来学术界研究热点和重点集中在最低层次;对第二个层次,研究投入的精力相对要少很多,但也已取得少数研究成果;至于第三个层次,目前国内外对图像分割算法的评价方法和评价测度的系统研究十分缺乏。事实上,甚至与第二层次对分割评价的研究相比,这方面的研究和发表的文献都非常少。总体说来,在图像分割系统研究的三个层次都有许多有待深入的地方。对图像分割技术本身进行比较理论和精确的研究仍有待提高,对分割技术的评价仍很缺乏,而对评价方法的研究几乎为零。
图像分割主观评价
图像分割主观评价方法就是以人类视觉效果作为评判标准,让观察者根据事先规定的应用要求或者自身经验、兴趣、爱好,对测试图像的分割质量进行评价,并以给出质量分数的形式完成评价工作的。评价过程中要求有多位观察者参与,综合考虑所有观察者的观察结果,作为图像分割结果图像的最终质量分数,最常用的综合处理方法是平均主观分数法。
准备工作
① 观察者的选择
为使主观评价结果具有统计意义,参与评价的观察者有以下几点要求:首先是人数,要求不少于 20 名。其次是代表人群,要求观察者应分别选自两个不同背景的人群:一种是从未从事过图像、视频、计算机视觉等领域工作的、未经过训练的“外行”观察者;另一种是专门从事图像相关技术研究的,受过专门训练的“内行”观察者,他们能用挑剔的眼光注意到图像分割图像的关键和细微变化,对图像分割质量提出严格的判断。最后是对候选人生理特性的要求,无论是“内行”观察者和“外行”观察者,都应有各年龄层次和性别的代表人物。条件允许的话,还应有来自不同地域和种族的代表人物。
② 评价尺度的选择
主观质量评价的尺度随着观察者对图像技术的熟悉程度不同而加以选择。一般来讲,普通观察者(“外行”)多凭借直观映像判断分割质量,因此多采用质尺度,而对图像专业人员(“内行”)多凭借其对图像内容的理解而挑剔性地评价分割图像的质量,因此多采用干扰评价尺度。
主观评价法
① 绝对评价
绝对评价是由观察者们根据事先规定的应用要求或者自身经验、兴趣、爱好,对测试图像按视觉效果进行评价,并选择观察结果的平均质量作为该分割结果图像的最终质量。这虽是一项费时费力的步骤,但在严格的实验条件下可从一定程度上减小评价过程的主观随意性。具体实施过程和步骤可参考联合国国际电信联盟ITU(International Telecommunication Union)倡导的视频图像质量评价指南。
除了上述独立的评价方式(stand-alone)外,还可采取有对比的方式(subjective comparable)进行主观评价。以提供的标准图像为据,观察者逐个对比和分析算法分割的结果图像中的区域与标准分割结果图像的目标区域,整合为对整幅算法分割结果图像的全局感观映像,进而给出最终质量分数。必须指出的是,这种有对比的主观评价方式虽然还未正式提出,但已经常被某些组织或个人使用。观察者对分割图像质量的优劣用数字打分,通常有 5 个图像级别,如表 2.1所示。
② 相对评价
相对评价是由观察者将分割相同原始图像而得的一批图像从好到坏进行质量排序,通常有 7 个图像级别,如表 2.2所示。
③ 平均主观评价
如果m 为评价图像质量的级别 m=1,2,。。。,M , Sm为m 级图像质量的得分,Hm为判定图像属于m级的观察者人数,则被观察的分割结果图像总得分为:
图像分割客观评价
从 2.2 节叙述可知,在实际应用中,主观评价方法的评价结果因人而异,无法用数学模型对图像分割的质量进行定量描述,且过于费时费力,因而其应用受到很大限制,在某些场合甚至无能为力。相反,借助理论分析及科学计算对算法进行客观性能评价的方法,摆脱人为主观因素对评价过程的束缚,评价结果客观、稳定,是一类可靠的分割评价方法。注意,主观评价只能对分割结果进行评判,因此,必须将分割算法在计算机上进行实际分割获得分割图像才能实现对分割算法的性能评价。客观评价方法不但可以对分割结果进行评判,还可以不借助计算机而直接对算法进行分析和评判。因此研究一种在一定程度上能替代主观评价,并能实现定量测定图像分割质量的客观方法具有重要的意义,并必将成为图像分割评价方法研究的必然趋势。
客观评价法研究内容及评价准则
图像分割客观评价主要有两方面的研究内容:
一是对特定的图像分割算法进行研究,通过对该算法在不同应用情况、不同参数组合情况以及输入图像的类型、内容、复杂度等不同时所表现出的性能进行评估,掌握如何选择及修正算法参数,以恰当地应对不同的应用场景,称为性能刻画。通常包含两种形式的性能刻画方法,分别是充分性性能刻画和诊断性性能刻画。充分性性能刻画着重对分割算法的适用领域的研究,诊断性性能刻画重点在对分割算法有效性的研究。以存在标准参考图像为前提,后者通过计算算法处理的结果图像与标准参考图像的相似性,完成对分割算法某次分割结果质量的评价,即部分有效性评价。分割算法全局有效性评价则是以统计该算法在包含大量数据的图像数据库中能取得较好分割质量的图像的比率为依据的,整个过程步骤如图 2.2 所示。
二是分析比较多个算法在相同应用情况下的分割性能,比较各算法的优劣,并进行排序以便在给定情况下选择合适的分割算法或者改进现有算法来满足应用要求,称为性能比较。
这两方面内容是相互影响和关联的。性能刻画使得对算法的研究和理解更为全面和深刻,性能比较使得对算法的刻画更具目的性。为达到分割评价的目的,对进行分割评价的研究方法有以下几点基本要求:
通用:分割评价的方法必须对各种类型的分割算法都能进行准确而客观地评价,适用不同应用领域的各种情况;
客观:分割评价的方法必须摆脱对人为因素的依赖性,进行客观真实地评价;
定量:分割评价的方法必须能以量化的形式给出直观的评价结果,方便不同的评价结果进行比较;
典型:分割评价时采用的输入图像必须能代表真实世界里各种应用场景的特点,使评价结果具有较好的可移植性。
不管是对算法进行理论分析还是设计实验进行评价,都需要一定的评价准则做指导,也称评价指标或测度。事实上,对任何技术进行评价都要采用有效的评价方法和客观的评价指标。因为评价方法的性能主要取决于所采用的评价准则,在图像分割技术的评价中,性能评判准则可以说是最重要的因素,因此对各种评价准则的分析、比较和讨论成为分割评价方法研究的重点。一方面,理论上分析算法思想、特点,需要刻画算法某方面的特性,而这些特性是否得到满足牵涉到评价准则;另一方面,通过实验的方法评价算法特性及分割质量,需要将待评估算法在计算机上实现对输入图像的分割,对分割结果进行客观定量地评价,进而决定分割算法的性能,在缺乏评价准则的情况下该过程中仍无法开展。可见,在分割评价过程中所依据的评价准则(指标),在整个性能评判过程中起着关键性的作用,具有重要的研究意义。
相关文章