畢 瑩, 薛 冰, 張孟杰
(新西蘭惠靈頓維多利亞大學(xué) 工程與計(jì)算機(jī)學(xué)院, 新西蘭 惠靈頓 6140)
隨著人工智能技術(shù)的快速發(fā)展,計(jì)算機(jī)視覺(jué)和模式識(shí)別作為研究熱點(diǎn),受到了國(guó)內(nèi)外研究人員的廣泛關(guān)注.圖像分析(image analysis)是計(jì)算機(jī)視覺(jué)和模式識(shí)別中較為重要的一個(gè)分支,旨在研究圖像的內(nèi)容,通過(guò)采用計(jì)算機(jī)技術(shù)從圖像中提取有用的信息來(lái)完成具體的任務(wù),如圖像分類(lèi)、圖像檢索、目標(biāo)檢測(cè)、目標(biāo)識(shí)別等[1-2].與圖像分析密切相關(guān)的是圖像處理(image processing).圖像處理技術(shù)常用來(lái)處理圖像以獲得更為理想的圖像,包括圖像縮放、圖像降噪、圖像增強(qiáng)和圖像壓縮等[1-2].
圖像往往涉及高維數(shù)據(jù),且因拍攝角度、環(huán)境及光線等差別變化較大,導(dǎo)致圖像分析尤為困難.比如一個(gè)100×100的圖像就有10 000個(gè)像素點(diǎn).對(duì)于計(jì)算機(jī)而言,灰度圖像每個(gè)像素點(diǎn)由一個(gè)8位值即0~255的值代表灰度值,RGB彩色圖像每個(gè)像素點(diǎn)包含3個(gè)0~255的值分別代表每種顏色分量.基于此,對(duì)圖像所包含的信息進(jìn)行分析、提取、描述時(shí)往往需要相關(guān)領(lǐng)域知識(shí)以及人為介入.
圖像特征是一種重要的描述圖像的手段,目前已有許多方法可以從圖像中提取重要的特征如紋理特征、邊緣特征、形狀特征等.這些方法包括灰度共生矩陣(grey-level co-occurrence matrix,GLCM);局部二值模式(local binary patterns,LBP);Sobel算子;Canny算子;方向梯度直方圖(histogram of orientation gradient, HOG)及尺度不變特征變換(scale-invariant feature transform, SIFT)等[3].這些傳統(tǒng)方法在圖像分析上取得了較大的成功,但針對(duì)未知問(wèn)題,選擇合適的描述特征方法進(jìn)行圖像分析仍具有很大的挑戰(zhàn)性[4].
近年來(lái),進(jìn)化計(jì)算(evolutionary computation,EC)算法已成為研究熱點(diǎn)并應(yīng)用于大規(guī)模優(yōu)化[5]、調(diào)度[6]、圖像分析[7]等領(lǐng)域.EC算法通過(guò)模擬自然界生物進(jìn)化機(jī)制完成搜索問(wèn)題的最優(yōu)解決方案.與傳統(tǒng)方法相比,基于種群的EC算法能并行搜索多個(gè)解,融合已知領(lǐng)域知識(shí)與設(shè)計(jì)人員智慧,利用計(jì)算機(jī)技術(shù)自動(dòng)搜索解決方案,不需要該問(wèn)題領(lǐng)域知識(shí)和人為介入.基于這些優(yōu)點(diǎn),EC算法在圖像分析如圖像分割上獲得較大成功[8].所有EC算法中, GP (genetic programming) 算法, 常被稱為遺傳規(guī)劃、遺傳編程或遺傳程序設(shè)計(jì),是一種較為廣泛應(yīng)用于圖像分析的算法[7].
GP算法作為一種EC算法,能夠運(yùn)用計(jì)算機(jī)技術(shù)自動(dòng)生成“程序”(模型)解決實(shí)際問(wèn)題.與其他EC算法相比,常見(jiàn)的基于樹(shù)狀結(jié)構(gòu)的GP算法個(gè)體編碼結(jié)構(gòu)更為靈活,能同時(shí)執(zhí)行多項(xiàng)任務(wù),且生成的模型具有很好的解釋能力.近幾年,GP算法已成功應(yīng)用于圖像分析,包括特征提取、圖像分類(lèi)、圖像分割、邊緣檢測(cè)等.
目前針對(duì)GP算法在圖像分析上的綜述較少.2007年Krawiec等[9]討論了自GP算法提出以來(lái)其在目標(biāo)識(shí)別及圖像分析上的應(yīng)用.但近些年,GP算法進(jìn)一步應(yīng)用于特征提取、圖像分類(lèi)、圖像分割等領(lǐng)域.文獻(xiàn)[7]中回顧了GP算法在圖像分析領(lǐng)域如特征提取、圖像分類(lèi)、邊緣檢測(cè)等的應(yīng)用.文獻(xiàn)[8]回顧了部分GP算法在圖像分割領(lǐng)域的應(yīng)用.然而現(xiàn)有綜述仍缺乏對(duì)近些年GP算法在圖像分析上的應(yīng)用全面而系統(tǒng)的討論.基于此,有必要對(duì)GP算法在圖像分析上的應(yīng)用進(jìn)行一個(gè)較為全面的綜述,給對(duì)此領(lǐng)域感興趣的研究人員尤其是碩博研究生提供更為全面的參考.
GP 算法[10]是一種基于種群的進(jìn)化計(jì)算算法.該算法模擬自然界生物進(jìn)化過(guò)程并根據(jù)達(dá)爾文“物競(jìng)天擇,適者生存”原則自動(dòng)生成可以解決實(shí)際問(wèn)題的計(jì)算機(jī)程序.初始時(shí),GP算法隨機(jī)生成一個(gè)初始種群,種群中的每個(gè)個(gè)體有一個(gè)適應(yīng)度值.在進(jìn)化過(guò)程中,選擇操作如錦標(biāo)賽選擇(tournament selection)常被用來(lái)選擇適應(yīng)度值較好的個(gè)體進(jìn)行復(fù)制、交叉或變異操作產(chǎn)生新的種群.新生成的每個(gè)個(gè)體又重新被適應(yīng)度函數(shù)評(píng)估獲得適應(yīng)度值, 如此迭代下去,直至滿足終止條件,輸出最優(yōu)的計(jì)算機(jī)程序(結(jié)果).
與其他EC算法如粒子群算法(particle swarm optimisation,PSO)等采用矢量編碼方式不同, GP算法的個(gè)體編碼方式為計(jì)算機(jī)程序.該計(jì)算機(jī)程序可以用樹(shù)狀結(jié)構(gòu)表示,葉節(jié)點(diǎn)由終止符(terminals)構(gòu)成,中間節(jié)點(diǎn)由函數(shù)或者操作符(functions)構(gòu)成.圖1給出了一個(gè)簡(jiǎn)單的GP樹(shù).其數(shù)可用數(shù)學(xué)公式表達(dá)為:(F1+F2)*((F3+0.55)*F4).其中F1、F2、F3、F4和0.55是葉節(jié)點(diǎn)(終止符),通常為輸入的特征(變量)或隨機(jī)生成的常量;“*”和“+”是中間節(jié)點(diǎn),“*”是根節(jié)點(diǎn),通常為函數(shù)或操作符.這些函數(shù)或操作符既可是通用的基本操作符,也可依據(jù)具體問(wèn)題來(lái)設(shè)定.
圖1 一個(gè)簡(jiǎn)單的GP樹(shù)Fig.1 An example of GP tree
設(shè)計(jì)一個(gè)新的GP算法或應(yīng)用GP算法解決具體問(wèn)題時(shí),需要考慮以下5個(gè)基本因素[11].
(1) 定義終止符集合(terminal set).該集合通常由變量及常量構(gòu)成.變量由具體問(wèn)題確定,常量通常在算法初始時(shí)隨機(jī)生成.
(2) 定義函數(shù)集合(function set).該集合可以由不同的函數(shù)構(gòu)成.這些函數(shù)包括算術(shù)運(yùn)算函數(shù)如“+、-、*”,受保護(hù)的%,邏輯函數(shù)如IF,三角函數(shù)如sin、cos等.對(duì)復(fù)雜或特定的問(wèn)題,許多領(lǐng)域相關(guān)的操作算子也可設(shè)計(jì)為函數(shù).
(3) 設(shè)計(jì)適應(yīng)度函數(shù)(fitness function).適應(yīng)度函數(shù)在進(jìn)化過(guò)程中用來(lái)評(píng)估個(gè)體的優(yōu)劣,并引導(dǎo)算法的搜索過(guò)程.它往往根據(jù)實(shí)際問(wèn)題需要來(lái)定義,比如對(duì)于分類(lèi)問(wèn)題,其適應(yīng)度函數(shù)可為分類(lèi)準(zhǔn)確率或錯(cuò)誤率.
(4) 選擇運(yùn)行參數(shù)(parameter settings).GP算法運(yùn)行參數(shù)包括最大代數(shù)、種群大小、交叉率、變異率、選擇方法、每次選擇的個(gè)體個(gè)數(shù)及GP樹(shù)的最大和最小深度等.
(5) 確定終止條件(terminations).終止條件決定算法何時(shí)停止運(yùn)行和輸出結(jié)果,如達(dá)到最大代數(shù)或搜索到最優(yōu)解等.
自提出以來(lái),GP算法獲得了廣泛關(guān)注,除經(jīng)典的樹(shù)狀結(jié)構(gòu)GP算法(tree-based GP,默認(rèn)為GP) 之外,許多新型算法被提出,包括線性GP算法(linear GP, LGP)[12];笛卡爾GP算法(cartesian GP, CGP)[13];強(qiáng)類(lèi)型GP算法(strongly typed GP,STGP)[14];基于語(yǔ)法的GP算法(grammatically-based GP或grammar guided GP, GGGP)[15-16];幾何語(yǔ)義GP算法(geometric semantic GP, GSGP)[17]等.實(shí)現(xiàn)GP算法可以借助基于不同編程語(yǔ)言的GP算法包或庫(kù),包括基于JAVA的ECJ[18]、基于Python的DEAP[19]、基于MATLAB的GPLAB[20]、基于C++的RMIT-GP[21]及基于TensorFlow的KarooGP[22]等.
目前,有關(guān)GP算法研究成果及進(jìn)展的代表性國(guó)際學(xué)術(shù)會(huì)議包括:European Conference on Genetic Programming(EuroGP)、The Genetic and Evolutionary Computation Conference (GECCO)、IEEE Congress on Evolutionary Computation (CEC)、Genetic Programming Theory & Practice、International Conference on Simulated Evolution and Learning(SEAL)、International Conference on Parallel Problem Solving from Nature (PPSN)等.代表性雜志包括:IEEETransactionsonEvolutionaryComputation、EvolutionaryComputation(MITPress)、GeneticProgrammingandEvolvableMachines、SoftComputing等.此外,GP算法最新理論與應(yīng)用研究、國(guó)際上的研究人員及團(tuán)隊(duì)排名等內(nèi)容也可通過(guò)網(wǎng)站http://www.cs.bham.ac.uk/~wbl/biblio進(jìn)行查詢.
近年來(lái),GP算法已成功應(yīng)用于各個(gè)領(lǐng)域以解決回歸、預(yù)測(cè)、分類(lèi)、調(diào)度、圖像分析及模式識(shí)別等問(wèn)題.Poli等在文獻(xiàn)[11]中詳細(xì)介紹了GP算法的基本概念與原理、各種變型、應(yīng)用領(lǐng)域及待解決的問(wèn)題等.Chen等[23]研究了高維數(shù)據(jù)的符號(hào)回歸問(wèn)題,提出在解決符號(hào)回歸時(shí)采用特征選擇來(lái)提高GP算法的泛化能力.Haeri等[24]設(shè)計(jì)了一個(gè)統(tǒng)計(jì)GP算法解決符號(hào)回歸問(wèn)題.該方法采用統(tǒng)計(jì)信息生成子樹(shù)幫助種群初始化,并提出了基于相關(guān)性的交叉、變異操作和基于差異的GP樹(shù)編輯策略.
Bhowan等[25]研究了GP算法在非平衡類(lèi)數(shù)據(jù)上的應(yīng)用,設(shè)計(jì)了一個(gè)集成多目標(biāo)GP方法生成分類(lèi)器,可以在較大類(lèi)和較小類(lèi)上獲得更好的性能.Bhowan等[26]提出了一個(gè)兩步GP方法解決非平衡類(lèi)數(shù)據(jù)分類(lèi),用多目標(biāo)GP算法生成一組Pareto前沿近似解,并基于這些解用GP算法構(gòu)建分類(lèi)器.Nag和Pal[27]設(shè)計(jì)了一個(gè)集成多目標(biāo)GP算法分類(lèi)器,可以同時(shí)進(jìn)行特征選擇和分類(lèi).該方法將多分類(lèi)問(wèn)題轉(zhuǎn)化為生成多個(gè)二分類(lèi)器,通過(guò)分配權(quán)重將這些分類(lèi)器集成.Espejo等[28]對(duì)GP算法在分類(lèi)問(wèn)題上的應(yīng)用進(jìn)行了詳細(xì)的綜述,包括特征提取、特征構(gòu)建、模型選擇、集成模型學(xué)習(xí)等.
Nguyen等[29-31]對(duì)GP算法生成調(diào)度規(guī)則解決生產(chǎn)調(diào)度問(wèn)題進(jìn)行了較為系統(tǒng)的研究.文獻(xiàn)[30]中設(shè)計(jì)了一個(gè)多目標(biāo)協(xié)同進(jìn)化GP算法,可以同時(shí)解決多個(gè)調(diào)度決策問(wèn)題.文獻(xiàn)[31]對(duì)GP算法在生產(chǎn)調(diào)度上的應(yīng)用進(jìn)行了較為系統(tǒng)的討論和綜述,介紹了如何將GP算法應(yīng)用于生產(chǎn)調(diào)度問(wèn)題及其關(guān)鍵技術(shù),并對(duì)比了其他人工智能和運(yùn)籌學(xué)方法,指出了難點(diǎn)問(wèn)題和挑戰(zhàn).
Lensen等[32]將GP算法應(yīng)用于自動(dòng)生成冗余特征構(gòu)建標(biāo)準(zhǔn)特征選擇數(shù)據(jù)集.Tran等[33]研究了GP算法在不完全數(shù)據(jù)分類(lèi)上的應(yīng)用, 提出了一個(gè)基于GP算法的插補(bǔ)方法來(lái)填補(bǔ)缺失的值,將不完全數(shù)據(jù)轉(zhuǎn)化為完全數(shù)據(jù)進(jìn)行分類(lèi).文獻(xiàn)[34]設(shè)計(jì)了一個(gè)能夠處理區(qū)間值的GP方法來(lái)構(gòu)建多個(gè)特征,可以直接對(duì)不完全數(shù)據(jù)進(jìn)行分類(lèi).
圖像特征提取是圖像分析中較為重要的一步, 許多基于圖像分析的任務(wù)如圖像分類(lèi)等都依賴于所提取的特征.除特征提取外,特征選擇和特征構(gòu)建也是增強(qiáng)描述圖像數(shù)據(jù)和降低特征維度的重要手段.近幾年,GP算法已廣泛應(yīng)用于特征提取上.筆者對(duì)GP算法在特征提取上的代表性研究工作進(jìn)行討論, 并對(duì)GP算法在圖像分類(lèi)、邊緣檢測(cè)、圖像分割上的代表性研究工作分別進(jìn)行綜述.
圖像特征提取是指從圖像數(shù)據(jù)中提取有用的信息來(lái)替代圖像完成特定的任務(wù)并實(shí)現(xiàn)降維.對(duì)于圖像分類(lèi)的各種算法而言,豐富且高效的特征能夠增加算法的可靠性和準(zhǔn)確性.基于GP算法的特征提取方法能夠自動(dòng)生成高效的圖像描述算子.
Shao 等[35]提出一個(gè)多目標(biāo)GP算法用來(lái)實(shí)現(xiàn)圖像特征學(xué)習(xí),并用支持向量機(jī)(support vector machine,SVM)進(jìn)行圖像分類(lèi).所提算法框架由輸入層、濾波層、最大池化層和級(jí)聯(lián)層構(gòu)成.其中,濾波層采用一系列圖像操作算子如高斯濾波等;最大池化層采用了4種不同的最大池化操作算子.該算法主要思想與卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks, CNNs)類(lèi)似,通過(guò)濾波和池化來(lái)學(xué)習(xí)重要特征.但是GP算法能自動(dòng)選擇合適的濾波操作算子及池化算子,并生成合適的操作順序.該方法對(duì)分類(lèi)準(zhǔn)確率和模型復(fù)雜度兩個(gè)目標(biāo)進(jìn)行了研究.與傳統(tǒng)的圖像描述算子如HOG、SIFT、LBP及CNN相比,該方法在3個(gè)分類(lèi)數(shù)據(jù)集上取得了更好的性能,缺點(diǎn)是該方法所提取的特征維度較大.Liu等[36]將文獻(xiàn)[35]的方法擴(kuò)展到時(shí)空特征學(xué)習(xí)解決視頻中的動(dòng)作分類(lèi), 在濾波層設(shè)計(jì)一序列濾波操作如高斯濾波等作為GP函數(shù)處理3D視頻.該方法的性能在幾個(gè)動(dòng)作分類(lèi)的數(shù)據(jù)集上得到了驗(yàn)證,且生成的視頻時(shí)空特征描述算子具有很好的解釋能力.
Price和Anderson[37]將GP算法應(yīng)用于自動(dòng)生成圖像描述算子,采用了Harris角點(diǎn)檢測(cè)、中值濾波、直方圖均衡等作為GP函數(shù)進(jìn)行特征提取,缺點(diǎn)是該方法的性能僅在一個(gè)圖像數(shù)據(jù)集上進(jìn)行了驗(yàn)證.
Lam[38]研究了3種不同特征即像素、直方圖和像素位置作為輸入的GP算法,并進(jìn)行紋理特征提取,采用k近鄰算法(k-nearest neighbours withk=1,1NN)來(lái)進(jìn)行分類(lèi).實(shí)驗(yàn)結(jié)果表明,所提方法能夠提取較好的特征以提高分類(lèi)準(zhǔn)確率.
Al-Sahaf等[39]將GP算法應(yīng)用于自動(dòng)生成紋理特征描述算子,并用1NN來(lái)進(jìn)行紋理圖像分類(lèi).該方法通過(guò)掃描圖像,獲取掃描區(qū)域的均值、最大值、平均值和最小值作為輸入.該圖像描述算子提取的特征具有旋轉(zhuǎn)不變性,其基本原理與LBP類(lèi)似,但采用了GP算法自動(dòng)進(jìn)行特征提取和優(yōu)化.在幾個(gè)紋理圖像分類(lèi)數(shù)據(jù)集上,所提方法能獲得比LBP及其變型更好的分類(lèi)準(zhǔn)確率.Al-Sahaf等[40]對(duì)文獻(xiàn)[39]中方法進(jìn)行了改進(jìn),提出了一個(gè)能夠提取動(dòng)態(tài)長(zhǎng)度的紋理特征方法.與原方法相比,該方法更為靈活,能夠更高效地提取紋理特征進(jìn)行分類(lèi).
Iqbal等[41]基于文獻(xiàn)[40]的方法將遷移學(xué)習(xí)引入GP算法中,提高其在特征學(xué)習(xí)和紋理分類(lèi)上的性能及訓(xùn)練效率.基于種群的GP算法在進(jìn)化過(guò)程中能生成很多小模塊,這些模塊攜帶了特定圖像領(lǐng)域信息,很容易通過(guò)遷移學(xué)習(xí)應(yīng)用于其他相關(guān)領(lǐng)域或任務(wù)中.文獻(xiàn)[41]將提取的模塊用在GP算法種群初始化和變異操作中,該方法在不同分類(lèi)數(shù)據(jù)集上獲得了較好性能,是首次將遷移學(xué)習(xí)引入GP算法中來(lái)以提高其在圖像分析上的學(xué)習(xí)效率和性能.
GP算法也能自動(dòng)地從圖像中選擇較為重要的區(qū)域幫助傳統(tǒng)方法提取特征.Al-Sahaf等[42]研究了兩種不同的GP算法從圖像中自動(dòng)選擇重要區(qū)域,并從選擇的區(qū)域中提取直方圖特征,采用1NN進(jìn)行紋理圖像分類(lèi).該方法通過(guò)區(qū)域選擇,可以有效地降低所提取特征的維度和計(jì)算復(fù)雜度.
圖像分類(lèi)是根據(jù)圖像的內(nèi)容將圖像歸類(lèi)入若干類(lèi)別中的一個(gè).根據(jù)輸入的不同,GP算法在圖像分類(lèi)上的應(yīng)用可大致分為兩類(lèi):基于所提特征的GP分類(lèi)方法和基于像素的GP分類(lèi)方法.
基于所提特征的GP分類(lèi)方法是以預(yù)先所提取的特征作為算法輸入,將GP算法用于構(gòu)建分類(lèi)器解決分類(lèi)問(wèn)題.構(gòu)建分類(lèi)器時(shí),GP算法可以自動(dòng)地從輸入的特征中選擇更為重要的特征.基于像素的GP分類(lèi)方法是以圖像像素作為輸入,生成分類(lèi)器或者提取特征進(jìn)行分類(lèi).此類(lèi)方法又可細(xì)分為兩種:第一種采用GP算法構(gòu)建分類(lèi)器,并同時(shí)進(jìn)行特征提取、特征構(gòu)建等;第二種用GP算法進(jìn)行特征提取,用常見(jiàn)的分類(lèi)方法如SVM進(jìn)行分類(lèi).其中部分代表性工作已在2.1小節(jié)進(jìn)行了討論,因此本小節(jié)將重點(diǎn)對(duì)基于所提特征的GP分類(lèi)方法和基于像素的GP分類(lèi)方法的第一種類(lèi)型進(jìn)行綜述.
2.2.1 基于所提特征的GP分類(lèi)方法
Nandi 等[43]將GP算法應(yīng)用于解決乳房醫(yī)學(xué)圖像分類(lèi).該方法首先人為選擇一些感興趣的區(qū)域,然后從區(qū)域中提取4個(gè)邊緣特征、4個(gè)形狀特征和14個(gè)GLCM特征.并采用傳統(tǒng)特征選擇方法來(lái)選擇重要的特征,基于選擇特征,用GP算法生成分類(lèi)器.實(shí)驗(yàn)結(jié)果表明,該方法能獲得較高準(zhǔn)確率.
Zhang 等[44]設(shè)計(jì)了一個(gè)基于GP算法的多類(lèi)別圖像目標(biāo)分類(lèi)方法.該方法從固定區(qū)域提取均值和方差特征,然后采用GP算法生成分類(lèi)器.為處理多類(lèi)別分類(lèi)問(wèn)題,該方法采用了類(lèi)別區(qū)域邊界來(lái)確定所輸入圖像區(qū)域的類(lèi)別,并采用梯度下降的鄰域搜索方法為生成的GP模型搜索最優(yōu)的常數(shù)參數(shù).
Zhang等[45]針對(duì)GP算法在多類(lèi)別圖像目標(biāo)分類(lèi)上的應(yīng)用, 設(shè)計(jì)了兩種基于高斯分布的適應(yīng)度函數(shù).GP算法與這兩種的適應(yīng)度函數(shù)在3種數(shù)據(jù)集包括人臉識(shí)別數(shù)據(jù)上獲得了較好的準(zhǔn)確率.
Ul-Ain等[46]將GP算法應(yīng)用于解決皮膚癌圖像分類(lèi).該方法采用了71個(gè)紋理特征和領(lǐng)域相關(guān)特征作為輸入,利用GP算法自動(dòng)選擇較為重要的特征構(gòu)建分類(lèi)器.與其他分類(lèi)方法如1NN、樸素貝葉斯和決策樹(shù)等相比,所提方法獲得了較好的結(jié)果,然而該方法性能有待在更多數(shù)據(jù)集上進(jìn)行驗(yàn)證.
Ryan等[47]設(shè)計(jì)了一個(gè)基于GP算法的第一階段癌癥檢測(cè)系統(tǒng).該系統(tǒng)包括一系列的操作:背景抑制、圖像分割、特征檢測(cè)、特征選擇和圖像分類(lèi).該系統(tǒng)的算法原理是從每個(gè)分割的區(qū)域中提取兩個(gè)GLCM特征作為GP算法輸入生成分類(lèi)器.實(shí)驗(yàn)結(jié)果表明,所提方法在該圖像分類(lèi)中取得了高達(dá)100%的準(zhǔn)確率.
Almeida和Torres[48]設(shè)計(jì)了一個(gè)基于PCA和GP算法(PCA+GP)的分類(lèi)系統(tǒng)來(lái)解決多類(lèi)別目標(biāo)分類(lèi).該方法首先采用3種特征提取方法從圖像中提取了顏色、紋理和形狀特征,接著采用PCA對(duì)特征進(jìn)行降維,最后采用GP算法構(gòu)建分類(lèi)器.與PCA+SVM和PCA+C4.5方法相比,PCA+GP獲得了較有競(jìng)爭(zhēng)力的結(jié)果,且生成的分類(lèi)器具有較好的解釋力.
文獻(xiàn)[43-48]中的方法均是先從圖像中提取特定的特征,然后采用GP算法進(jìn)行圖像分類(lèi), 所采用的GP算法只需要簡(jiǎn)單的函數(shù),計(jì)算較快.但是這些方法需要人為介入,即預(yù)先進(jìn)行特征提取和特征選擇等,其算法性能也較依賴于所提取的特征.
2.2.2 基于像素的GP分類(lèi)方法
基于像素的GP分類(lèi)方法直接以圖像像素作為輸入,自動(dòng)進(jìn)行特征提取、特征構(gòu)建等.Atkins等[49]提出了一個(gè)三層結(jié)構(gòu)的GP方法用來(lái)解決二分類(lèi)圖像分類(lèi).該結(jié)構(gòu)包括圖像濾波層、聚合層和分類(lèi)層.其中,圖像濾波層采用了常見(jiàn)的濾波器如均值、最大值濾波等作為GP函數(shù)對(duì)輸入圖像進(jìn)行處理;圖像聚合層從處理的圖像中選擇合適的區(qū)域,并從所選區(qū)域中提取均值、最大值等特征;分類(lèi)層則是從所提特征中構(gòu)建一個(gè)新的特征用來(lái)實(shí)現(xiàn)分類(lèi).該方法在人臉圖像分類(lèi)及行人分類(lèi)中獲得了較好的結(jié)果,是首次在GP算法中引入CNNs與深度學(xué)習(xí)思想,直接從像素中學(xué)習(xí)特征并進(jìn)行分類(lèi).基于此,更多方法被提出來(lái),并逐漸形成了基于GP算法的進(jìn)化深度學(xué)習(xí)(evolutionary deep learning)研究分支.
基于上述三層結(jié)構(gòu)的GP方法,Al-Sahaf等[50]提出了一個(gè)二層結(jié)構(gòu)的GP方法用來(lái)解決圖像分類(lèi)問(wèn)題,即僅包括聚合層和分類(lèi)層.該算法的過(guò)程是從輸入的圖像中選擇合適的區(qū)域,提取像素統(tǒng)計(jì)值特征,構(gòu)建特征并實(shí)現(xiàn)分類(lèi).4個(gè)分類(lèi)數(shù)據(jù)集上的結(jié)果表明,與三層結(jié)構(gòu)的GP方法相比,二層結(jié)構(gòu)的GP方法效果更好且速度更快.
Lensen等[51]提出了一個(gè)GP方法+HOG方法用來(lái)實(shí)現(xiàn)區(qū)域檢測(cè)、特征提取、特征構(gòu)建和圖像分類(lèi).該方法基于上述二層結(jié)構(gòu)的GP方法,將HOG算子設(shè)計(jì)為函數(shù)提取特征,并設(shè)計(jì)了直方圖和距離函數(shù)用來(lái)構(gòu)建特征.與二層結(jié)構(gòu)的GP方法相比,該方法能獲得更好的分類(lèi)結(jié)果.Bi 等[52]設(shè)計(jì)了一個(gè)四層結(jié)構(gòu)的GP方法用以實(shí)現(xiàn)區(qū)域檢測(cè)、特征提取、特征構(gòu)建和圖像分類(lèi).該方法在特征提取層采用常見(jiàn)的圖像操作算子如高斯濾波器、Sobel 算子等來(lái)增強(qiáng)特征提取.實(shí)驗(yàn)結(jié)果表明,該方法能獲得比其他GP和非GP方法更好的結(jié)果.
Agapitos等[53]設(shè)計(jì)了一個(gè)四層結(jié)構(gòu)的GP方法用來(lái)對(duì)手寫(xiě)數(shù)字進(jìn)行分類(lèi).該結(jié)構(gòu)自下向上依次為:濾波器組層、變換層、平均池化層和分類(lèi)層.該方法研究了兩種不同的訓(xùn)練模式,最終分類(lèi)層采用Quasi-Newton優(yōu)化方法來(lái)訓(xùn)練正則化的多項(xiàng)回歸分類(lèi)器.與幾種標(biāo)準(zhǔn)GP方法相比,該方法在手寫(xiě)數(shù)字分類(lèi)上獲得了較好性能.與文獻(xiàn)[53]類(lèi)似,Suganuma等[54]設(shè)計(jì)了一個(gè)四層結(jié)構(gòu)的GP方法, 并在分類(lèi)層采用SVM進(jìn)行圖像分類(lèi).然而,這兩種方法都需要先對(duì)具體結(jié)構(gòu)進(jìn)行設(shè)計(jì),沒(méi)有用到GP算法結(jié)構(gòu)靈活的優(yōu)勢(shì);且這兩種方法都與CNNs的結(jié)構(gòu)框架相似,但并沒(méi)有與CNNs進(jìn)行對(duì)比.
邊緣檢測(cè)是一項(xiàng)用來(lái)檢測(cè)圖像中像素亮度不連續(xù)變化的技術(shù),能夠發(fā)現(xiàn)圖像中目標(biāo)的邊界,幫助邊緣特征提取和圖像分割.基于GP算法的邊緣檢測(cè)技術(shù)是通過(guò)對(duì)圖像像素或特征進(jìn)行分析,構(gòu)建邊緣檢測(cè)算子將像素分為邊緣和非邊緣點(diǎn).相較于其他EC算法如遺傳算法(genetic algorithms, GAs)等,近些年來(lái)GP算法在邊緣檢測(cè)上的應(yīng)用較少,本小節(jié)將對(duì)代表性的研究工作進(jìn)行綜述.
Golonek等[55]將GP算法應(yīng)用于自動(dòng)生成邊緣檢測(cè)算子.該算法基于輸入圖像,采用4 × 4的移動(dòng)窗口,生成64-bit的數(shù)字轉(zhuǎn)化函數(shù)進(jìn)行邊緣檢測(cè),并與Sobel方法進(jìn)行了對(duì)比.Kadar等[56]提出了一個(gè)基于GP算法的邊界檢測(cè)方法.該方法以單個(gè)圖像作為輸入,在函數(shù)集合中采用了紋理梯度及其他算術(shù)運(yùn)算函數(shù)來(lái)生成邊界檢測(cè)算子.實(shí)驗(yàn)結(jié)果表明,該算法比其他幾種傳統(tǒng)方法的性能更好.
Ross等[57]提出了一個(gè)GP方法來(lái)檢測(cè)巖石圖像中的邊緣.該方法首先采用9種不同的濾波器對(duì)采集的巖石圖像進(jìn)行處理,然后將得到的圖像作為GP算法輸入生成邊緣檢測(cè)算子.與人工神經(jīng)網(wǎng)絡(luò)相比,基于GP算法的邊緣檢測(cè)算子效果更好.
Fu等[58]設(shè)計(jì)了一個(gè)GP方法自動(dòng)從區(qū)域中挑選像素點(diǎn),并基于選擇的像素點(diǎn)構(gòu)建邊緣檢測(cè)算子.在標(biāo)準(zhǔn)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,所提方法能夠獲得較好的性能.對(duì)采用該方法構(gòu)建邊緣檢測(cè)算子中的像素點(diǎn)的分析表明,所提方法能夠選取豐富的像素點(diǎn)構(gòu)建線性或二階濾波器進(jìn)行邊緣檢測(cè).
在文獻(xiàn)[59]中,F(xiàn)u等提出了一個(gè)基于分布的GP方法來(lái)構(gòu)建特征實(shí)現(xiàn)邊緣檢測(cè).該方法從圖像中提取高斯濾波梯度、歸一化標(biāo)準(zhǔn)差和直方圖梯度特征, 然后采用GP構(gòu)建特征,并基于構(gòu)建的特征估計(jì)邊緣和非邊緣像素點(diǎn)的分布,用于對(duì)未知像素點(diǎn)進(jìn)行分類(lèi).實(shí)驗(yàn)結(jié)果表明,該方法能夠構(gòu)建具有旋轉(zhuǎn)不變性的特征并獲得較好的邊緣檢測(cè)性能.
Fu等[60]提出了一個(gè)基于高斯濾波器的GP方法來(lái)生成邊緣檢測(cè)算子.該方法在終止符集合中采用了基于高斯函數(shù)的濾波器如高斯梯度, 在操作符中采用了基本的算術(shù)運(yùn)算函數(shù)及特定函數(shù).實(shí)驗(yàn)結(jié)果表明,所提方法在邊緣檢測(cè)上的性能比高斯梯度算子和邊緣抑制算法更好,但該方法需要相對(duì)長(zhǎng)的訓(xùn)練時(shí)間才能獲得較好的邊緣檢測(cè)算子.
圖像分割是指將圖像分割成小區(qū)域用以簡(jiǎn)化圖像的表達(dá)和提取有用信息.在EC算法中,GAs在圖像分割上的應(yīng)用較為廣泛[8],常見(jiàn)的基于GAs和PSO的圖像分割方法多為基于閥值的方法、基于區(qū)域的方法和基于聚類(lèi)的方法等[8].與這些方法不同,GP算法在圖像分割上的應(yīng)用更趨向于直接生成圖像分割算子進(jìn)行圖像分割.這些生成的圖像分割算子實(shí)際上是對(duì)圖像中的每個(gè)像素點(diǎn)進(jìn)行分類(lèi).
Song和Ciesielski[61]將GP算法應(yīng)用于生成分類(lèi)器來(lái)處理紋理圖像分割.所提方法以移動(dòng)窗口里的像素為輸入,生成分類(lèi)器對(duì)每個(gè)像素分類(lèi),得到最終圖像分割結(jié)果.實(shí)驗(yàn)結(jié)果表明,所提方法能夠發(fā)現(xiàn)紋理圖像像素之間的關(guān)系,并獲得較好的分割結(jié)果.該方法不僅可以用來(lái)解決二分類(lèi)的圖像分割問(wèn)題,而且可以用來(lái)解決多分類(lèi)的圖像分割問(wèn)題.
Liang等[62]提出了基于圖像特征的GP方法處理圖像分割,并研究了7種不同的圖像特征作為GP輸入,包括直方圖特征、LBP特征、GLCM特征等.結(jié)果表明,以Gabor特征作為輸入的方法性能較好.文獻(xiàn)[63]提出了兩種基于Gabor特征的多目標(biāo)GP算法實(shí)現(xiàn)圖像分割.所提算法包含了解的準(zhǔn)確率和解的復(fù)雜性兩個(gè)目標(biāo),分別基于兩種已有的多目標(biāo)算法即NSGA-Ⅱ和SPEA2來(lái)對(duì)非支配解排序,尋找Pareto前沿.結(jié)果表明,多目標(biāo)方法能夠獲得較小的模型及較好的分割性能.
Liang等[64]引入特征選擇用來(lái)提高GP算法在圖像分割上的性能.基于Gabor特征、LBP特征、像素統(tǒng)計(jì)量、邊緣特征和顏色特征等,設(shè)計(jì)了一個(gè)單目標(biāo)GP算法和兩個(gè)多目標(biāo)GP算法用來(lái)實(shí)現(xiàn)特征選擇.實(shí)驗(yàn)結(jié)果表明,多目標(biāo)算法能夠選擇更好的子特征集并獲得更優(yōu)的性能.文獻(xiàn)[62, 64]中的方法都是預(yù)先提取不同特征,采用特征操作如特征選擇、特征構(gòu)建來(lái)獲取高質(zhì)量的特征來(lái)提升圖像分割的性能.然而,這些方法的性能較依賴于所提取特征,且這些方法只在很小的數(shù)據(jù)集上進(jìn)行驗(yàn)證.
Perlin和Lopes[65]提出了一個(gè)基于像素的GP方法用來(lái)實(shí)現(xiàn)圖像分割.該算法采用一系列不同大小的濾波器如中值、標(biāo)準(zhǔn)差等和算術(shù)運(yùn)算函數(shù)來(lái)生成圖像掩碼.為降低計(jì)算成本,該方法采用整合了解的質(zhì)量和解的復(fù)雜度評(píng)估的適應(yīng)度函數(shù).實(shí)驗(yàn)結(jié)果表明,在適應(yīng)度函數(shù)中加入對(duì)解復(fù)雜度的懲罰能提升GP模型解釋能力.
除特征提取、圖像分類(lèi)、邊緣檢測(cè)、圖像分割外,GP算法也應(yīng)用于目標(biāo)識(shí)別、視頻檢測(cè)等領(lǐng)域.Barlow和Song[66]設(shè)計(jì)了一個(gè)GP方法來(lái)識(shí)別場(chǎng)景圖像中的字母.在3種不同難度的數(shù)據(jù)集(包括合成圖像、現(xiàn)實(shí)圖像以及模糊圖像)上的實(shí)驗(yàn)結(jié)果表明,所提方法在簡(jiǎn)單的數(shù)據(jù)集上能夠獲得較好的準(zhǔn)確率.Bai等[67]將GP算法應(yīng)用于自動(dòng)生成濾波器進(jìn)行圖像處理.Bianco等[68]將已有的視頻變化檢測(cè)算法設(shè)計(jì)為GP函數(shù),采用GP算法來(lái)自動(dòng)選擇和組合這些函數(shù),從而獲得更好的算子來(lái)解決視頻變化檢測(cè).Wang和Tan[69]設(shè)計(jì)了一個(gè)GP方法生成數(shù)學(xué)形態(tài)操作序列用來(lái)解決二維圖像分析和增強(qiáng)問(wèn)題.Torres等[70]提出了一個(gè)GP方法解決基于內(nèi)容的圖像檢索問(wèn)題.所提方法能夠自動(dòng)生成相似性函數(shù),并從數(shù)據(jù)庫(kù)中找出與輸入圖像相似的圖像.
近幾年GP算法在特征提取、圖像分類(lèi)、圖像分割、邊緣檢測(cè)等問(wèn)題上取得了較大成功.圖像分析也已成為GP算法的一個(gè)重要應(yīng)用領(lǐng)域.GP算法具有非常靈活的結(jié)構(gòu)框架,較易與現(xiàn)有的圖像處理和分析操作算子相融合,從而獲得更好的算法性能.與傳統(tǒng)圖像分析和特征提取方法相比,GP算法能自動(dòng)搜索最優(yōu)解,不需人為介入;與其他EC算法相比,GP算法不僅可以整合不同函數(shù),充分利用已知領(lǐng)域知識(shí),還具有很好的解釋能力.目前GP算法在圖像分析上具有較好的研究前景,但由于圖像變化的多樣性及復(fù)雜性,性能更好的GP算法有待進(jìn)一步開(kāi)發(fā).本小節(jié)通過(guò)歸納已有研究工作,將未來(lái)GP算法在圖像分析上的研究問(wèn)題及熱點(diǎn)歸納如下.
(1)目前已有部分研究工作基于CNNs中的卷積和池化思想來(lái)設(shè)計(jì)GP算法, 實(shí)現(xiàn)圖像特征學(xué)習(xí)和圖像分類(lèi)[35-36, 49, 52-54].鑒于深度CNNs在計(jì)算機(jī)視覺(jué)領(lǐng)域取得的巨大成功,可以預(yù)見(jiàn),將此思想引入GP算法中必將進(jìn)一步挖掘GP算法在圖像分析上的潛力.但是,目前該問(wèn)題并沒(méi)有得到較為系統(tǒng)而全面的研究, 特別是如何設(shè)計(jì)GP算法結(jié)構(gòu)框架;如何選擇合適的操作算子如濾波或者池化等作為GP函數(shù);如何訓(xùn)練濾波器或相關(guān)參數(shù)等問(wèn)題,都有待進(jìn)一步深入研究.此外,目前相關(guān)方法僅應(yīng)用于圖像特征提取和分類(lèi)上,對(duì)于其他問(wèn)題如邊緣檢測(cè)、圖像分割上的應(yīng)用有待進(jìn)一步研究.未來(lái)研究工作可圍繞這些問(wèn)題,開(kāi)發(fā)研究具有深度結(jié)構(gòu)的GP算法及其在圖像分析上的應(yīng)用潛力,并形成基于GP算法的深度學(xué)習(xí)理論框架與平臺(tái).
(2)目前的大部分研究工作都是將GP算法應(yīng)用于尺寸較小的圖像分析問(wèn)題上[35, 40-43, 49-51, 53].針對(duì)較大的圖像如醫(yī)學(xué)圖像、遙感圖像上的分析,還尚未有較好的基于GP的方法提出.隨著技術(shù)的發(fā)展,清晰度較高、分辨率較高的圖像越來(lái)越容易獲得,此類(lèi)圖像的分析也是研究熱點(diǎn)及研究難點(diǎn).現(xiàn)有方法在進(jìn)行此類(lèi)圖像分析時(shí)往往采取對(duì)圖像進(jìn)行預(yù)處理的辦法,如圖像分割、圖像壓縮等來(lái)縮小圖像大小[35, 40-43, 47, 58],然而這些方法可能導(dǎo)致圖像喪失部分信息,從而影響最終結(jié)果.基于此,適用于尺寸較大的圖像分析的高效GP算法有待進(jìn)一步開(kāi)發(fā)和研究.未來(lái)研究?jī)?nèi)容可圍繞此難點(diǎn)問(wèn)題,進(jìn)一步探索GP算法在大圖像分析上的應(yīng)用潛力,重點(diǎn)研究?jī)?nèi)容包括區(qū)域檢測(cè)、特征提取、特征構(gòu)建等.
(3)計(jì)算復(fù)雜和膨脹是運(yùn)行GP算法時(shí)較為顯著的兩個(gè)問(wèn)題.原因之一是所生成的模型較為復(fù)雜,導(dǎo)致算法評(píng)估時(shí)間較長(zhǎng);而膨脹則是指在進(jìn)化過(guò)程中GP模型復(fù)雜度增加但其性能并沒(méi)有提高.由于圖像數(shù)據(jù)的多樣性和復(fù)雜性,將GP算法應(yīng)用于圖像分析無(wú)法避免這兩個(gè)問(wèn)題.目前已有研究工作提出將解的復(fù)雜度整合到單目標(biāo)GP算法適應(yīng)度函數(shù)中或作為另外一個(gè)目標(biāo)來(lái)設(shè)計(jì)多目標(biāo)GP算法控制生成的GP模型復(fù)雜度[35, 64, 66].隨著更多的圖像操作算子被設(shè)計(jì)為GP函數(shù),在此情況下,如何評(píng)估模型復(fù)雜度有待進(jìn)一步深入研究.此外,其他技術(shù)如鄰域搜索等有待被開(kāi)發(fā)整合為生成的GP模型搜索最優(yōu)的常數(shù)參數(shù)用來(lái)控制模型復(fù)雜度.未來(lái)研究工作可圍繞這兩個(gè)問(wèn)題,在保證GP算法性能的前提下提出有效的方法降低計(jì)算復(fù)雜度和模型復(fù)雜度.
(4)GP算法在圖像分析上的應(yīng)用多為監(jiān)督學(xué)習(xí),即從已有的帶標(biāo)簽或有g(shù)round truth的數(shù)據(jù)集中訓(xùn)練獲得較好的模型解決未知問(wèn)題.GP算法往往在訓(xùn)練數(shù)據(jù)集上獲得較好性能,在測(cè)試數(shù)據(jù)集上結(jié)果不理想,即出現(xiàn)過(guò)擬合(overfitting).解決過(guò)擬合問(wèn)題、提高GP算法泛化(generalisation)能力是一個(gè)重要研究問(wèn)題.目前已有研究工作提出多種策略增強(qiáng)GP算法的泛化能力,如在解決符號(hào)回歸時(shí)加入特征選擇[23]、基于VC-dimension理論評(píng)估GP算法泛化誤差和實(shí)驗(yàn)誤差之間的差距[71]等,然而這些方法均集中于符號(hào)回歸上的應(yīng)用.所以,圖像分析問(wèn)題較為困難,涉及函數(shù)更多,算法框架更為復(fù)雜,如何提高GP算法在圖像分析上的泛化能力需進(jìn)一步深入研究.此外,GP算法也應(yīng)用于小樣本圖像訓(xùn)練數(shù)據(jù)集上[4, 39, 40, 42]及非平衡類(lèi)數(shù)據(jù)集上,如醫(yī)學(xué)圖像[46-47]、邊緣檢測(cè)[58-60]等.在這些情況下,如何提高GP算法的泛化能力將更具有挑戰(zhàn)性.未來(lái)研究工作可圍繞GP算法在圖像分析問(wèn)題包括小樣本訓(xùn)練數(shù)據(jù)集和非平衡類(lèi)數(shù)據(jù)集上的應(yīng)用,重點(diǎn)研究解決過(guò)擬合問(wèn)題和提高GP算法泛化能力的策略,進(jìn)一步提升GP算法性能及拓展GP算法應(yīng)用領(lǐng)域.
(5)遷移學(xué)習(xí)(transfer learning)作為機(jī)器學(xué)習(xí)的一個(gè)重要分支,是近幾年的研究熱點(diǎn).基于種群的GP算法在進(jìn)化過(guò)程中能生成很多小模塊,這些小模塊攜帶了特定領(lǐng)域信息,較易被提取利用來(lái)增強(qiáng)GP算法在其他相關(guān)領(lǐng)域或任務(wù)上的學(xué)習(xí)效率和性能.但目前針對(duì)此問(wèn)題的研究較少,已有研究工作也僅僅局限在特定的領(lǐng)域如紋理圖像的特征提取和分類(lèi)等[41],且所提出的遷移學(xué)習(xí)方法較為簡(jiǎn)單.為提高GP算法在圖像分析問(wèn)題上的性能,有待開(kāi)發(fā)出更為有效的遷移學(xué)習(xí)方法.未來(lái)研究工作可圍繞遷移什么、如何遷移、何時(shí)遷移等展開(kāi).
近些年來(lái),GP算法較為廣泛地應(yīng)用于圖像分析上,筆者對(duì)GP算法在圖像分析領(lǐng)域包括圖像特征提取、圖像分類(lèi)、邊緣檢測(cè)、圖像分割、目標(biāo)檢測(cè)等的代表性研究工作進(jìn)行了討論和綜述.已有的研究工作進(jìn)一步表明,GP算法具有靈活的結(jié)構(gòu)框架、并行計(jì)算、不需人為介入、較好的解釋能力等優(yōu)勢(shì).然而,GP算法在圖像分析上仍然存在如計(jì)算復(fù)雜等問(wèn)題.筆者通過(guò)總結(jié)歸納已有的研究工作,指出了未來(lái)GP算法在圖像分析上的研究熱點(diǎn)和問(wèn)題,為專家學(xué)者和研究人員提供參考.