国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

OpenCV耦合遺傳算法的圖像分割優(yōu)化應(yīng)用與研究

2016-02-26 01:00:41王秋紅張金輝
兵器裝備工程學(xué)報(bào) 2016年1期
關(guān)鍵詞:圖像分割遺傳算法

王秋紅,張金輝

(海口經(jīng)濟(jì)學(xué)院 信息工程學(xué)院,海口 570203)

?

OpenCV耦合遺傳算法的圖像分割優(yōu)化應(yīng)用與研究

王秋紅,張金輝

(??诮?jīng)濟(jì)學(xué)院 信息工程學(xué)院,???70203)

摘要:為了解決當(dāng)前遺傳算法用于圖像分割時(shí)存在效率低、計(jì)算量大等不足,引入OpenCV,提出了OpenCV耦合遺傳算法的圖像分割技術(shù);首先,對(duì)遺傳算法特性、原理展開(kāi)研究;針對(duì)其存在的不足,基于OpenCV對(duì)算法進(jìn)行優(yōu)化,提高了算法速度和用戶(hù)體驗(yàn);最后,對(duì)優(yōu)化算法和傳統(tǒng)算法進(jìn)行對(duì)比實(shí)驗(yàn),經(jīng)過(guò)反復(fù)驗(yàn)證,優(yōu)化算法在速度、性能上明顯優(yōu)于傳統(tǒng)算法,可以更好地應(yīng)用于工程領(lǐng)域。

關(guān)鍵詞:遺傳算法;圖像分割;OpenCV;算法速度

本文引用格式:王秋紅,張金輝.OpenCV耦合遺傳算法的圖像分割優(yōu)化應(yīng)用與研究[J].兵器裝備工程學(xué)報(bào),2016(1):121-124.

Citation format:WANG Qiu-hong, ZHANG Jin-hui.Research and Application on Image Segmentation Optimization Based on OpenCV and Genetic Algorithm[J].Journal of Ordnance Equipment Engineering,2016(1):121-124.

隨著應(yīng)用領(lǐng)域的擴(kuò)展,遺傳算法的研究出現(xiàn)了幾個(gè)引人注目的新動(dòng)向:一是遺傳算法正日益和神經(jīng)網(wǎng)絡(luò)、模糊推理以及混沌理論等其它智能計(jì)算方法相互滲透和結(jié)合,這對(duì)開(kāi)拓21世紀(jì)中新的智能計(jì)算技術(shù)具有重要的意義,二是并行處理的遺傳算法的研究十分活躍,這一研究不僅對(duì)遺傳算法本身的發(fā)展,而且對(duì)于新一代智能計(jì)算機(jī)體系結(jié)構(gòu)的研究都是十分重要的[1]。

遺傳算法是一種啟發(fā)式自適應(yīng)式群體型概率性迭代式的全局收斂搜索算法,其基本思想來(lái)源于生物進(jìn)化論和群體遺傳學(xué),體現(xiàn)了適者生存,優(yōu)勝劣汰的進(jìn)化原則[2]。隨著國(guó)內(nèi)外專(zhuān)家和學(xué)者的研究深入,遺傳算法應(yīng)用的領(lǐng)域也越來(lái)越多,涉及的領(lǐng)域有語(yǔ)音識(shí)別、科學(xué)計(jì)算、云計(jì)算、還有圖像處理。其中在圖像處理方面的應(yīng)用效果尤為明顯,涉及的子領(lǐng)域有:圖像增強(qiáng)、圖像匹配、圖像識(shí)別、圖像加密以及圖像分割等。其中圖像分割在圖像處理與分析中尤為重要,因?yàn)閳D像分割的準(zhǔn)確與否,將直接影響到后續(xù)的特征提取、特征分析,乃至最后的圖像分析結(jié)果,做好圖像分割是完成一個(gè)出色的圖像處理系統(tǒng)最為關(guān)鍵的第一步。

簡(jiǎn)單而言,圖像分割就是將圖像中的目標(biāo)和背景區(qū)分開(kāi)來(lái)的方法。目前主流的圖像分割方法主要分為:基于閾值分割、基于邊緣分割、基于區(qū)域跟蹤分割。遺傳算法用于圖像分割領(lǐng)域一般有兩種情況:一是幫助現(xiàn)存的圖像分割算法在參數(shù)空間內(nèi)搜索參數(shù);二是在候選的分割空間內(nèi)搜索最優(yōu)的分割方案[3]。在以下文獻(xiàn)中遺傳算法已經(jīng)成功的運(yùn)用于圖像分割中,提高效率和精度。有采用Ostu法進(jìn)行圖像分割時(shí)的質(zhì)量測(cè)試公式為適應(yīng)度函數(shù)、有采用圖像的最小誤差概率函數(shù)作為適應(yīng)度函數(shù)來(lái)搜索最優(yōu)閾值,其收斂性遠(yuǎn)遠(yuǎn)高于傳統(tǒng)的最小誤差準(zhǔn)則方法[4-6]。

但是由于遺傳算法公式復(fù)雜,計(jì)算復(fù)雜,算法實(shí)現(xiàn)效率往往比較低,從而影響了工程可應(yīng)用性和用戶(hù)體驗(yàn)。因此,本文的主要工作就是對(duì)基于遺傳算法的圖像分割進(jìn)行優(yōu)化,從而提高算法的效率和精度。本文先對(duì)遺傳算法本身展開(kāi)深入研究,分析遺傳算法與圖像分割的交匯點(diǎn),然后以此為基點(diǎn),引入OpenCV技術(shù),對(duì)算法進(jìn)行優(yōu)化,提出了一種OpenCV耦合遺傳算法的圖像分割優(yōu)化解決方案。并測(cè)試了本文技術(shù)的分割效率與性能。

1遺傳算法原理

遺傳算法(Genetic Algorithm)是模擬達(dá)爾文生物進(jìn)化論的自然選擇和遺傳學(xué)機(jī)理的生物進(jìn)化過(guò)程的計(jì)算模型,是一種通過(guò)模擬自然進(jìn)化過(guò)程搜索最優(yōu)解的方法[7]。遺傳算法是從代表問(wèn)題可能潛在的解集的一個(gè)種群(population)開(kāi)始的,而一個(gè)種群則由經(jīng)過(guò)基因(gene)編碼的一定數(shù)目的個(gè)體(individual)組成[8]。因?yàn)檫z傳算法中每一條染色體,對(duì)應(yīng)著遺傳算法的一個(gè)解決方案,一般我們用適應(yīng)性函數(shù)(fitness function)來(lái)衡量這個(gè)解決方案的優(yōu)劣,所以從一個(gè)基因組到其解的適應(yīng)度形成一個(gè)映射,所以也可以把遺傳算法的過(guò)程看作是一個(gè)在多元函數(shù)里面求最優(yōu)解的過(guò)程[9]。在這個(gè)多維曲面里面也有數(shù)不清的“山峰”,而這些最優(yōu)解所對(duì)應(yīng)的就是局部最優(yōu)解,而其中也會(huì)有一個(gè)“山峰”的海拔最高的,那么這個(gè)就是全局最優(yōu)解,而遺傳算法的任務(wù)就是盡量爬到最高峰,而不是陷落在一些小山峰[10-11]。

遺傳算法基本步驟:

1) 隨機(jī)選擇初始種群P(t);

2) 計(jì)算個(gè)體適應(yīng)度函數(shù)值F(t),如式(1)所示,在圖像分割中表示閾值的適應(yīng)度函數(shù)值,i為0~256范圍內(nèi)的某一個(gè)閾值,f為閾值i在一張圖像中出現(xiàn)的個(gè)數(shù);

(1)

3) 若種群中最優(yōu)個(gè)體所對(duì)應(yīng)的適應(yīng)度函數(shù)值足夠大或者算法已經(jīng)連續(xù)運(yùn)行多代,且個(gè)體的最佳適應(yīng)度無(wú)明顯改進(jìn)則轉(zhuǎn)到第4)步;

4)t=t+1;

5) 應(yīng)用選擇算子法從P(t-1) 中選擇P(t);

6) 對(duì)P(t) 進(jìn)行交叉、變異操作,轉(zhuǎn)到第3)步;

遺傳算法的缺點(diǎn)是收斂很慢,容易受局部極小值干擾。

在計(jì)算機(jī)處理時(shí)需要將二進(jìn)制數(shù)處理為十進(jìn)制,這正是遺傳算法中不可避免的解碼步驟之一。對(duì)此,本文對(duì)其進(jìn)行了改進(jìn):把一個(gè)二進(jìn)制串(b0,b1,…,bn)轉(zhuǎn)化為區(qū)間里面對(duì)應(yīng)的實(shí)數(shù)值。

(2)

2基于OpenCV耦合遺傳算法的圖像分割優(yōu)化

本文對(duì)閾值分割中的最大類(lèi)間分割算法進(jìn)行研究,傳統(tǒng)的基于遺傳算法獲取閾值,從而完成圖像分割的方法有一定的分割效果,但是往往由于遺傳算法運(yùn)算復(fù)雜,計(jì)算量大,而使算法運(yùn)行時(shí)間很長(zhǎng),這在實(shí)際工程應(yīng)用環(huán)境中是無(wú)法接受的。同時(shí),單純的依靠遺傳算法來(lái)搜索閾值,在目標(biāo)與背景的邊緣交界處梯度分明不明顯時(shí),分割結(jié)果往往不是很準(zhǔn)確?;诖耍疚脑谝陨涎芯苛诉z傳算法原理后,引入OpenCV技術(shù),對(duì)一些步驟用OpenCV實(shí)現(xiàn),從而加快運(yùn)行速度,因?yàn)镺penCV是經(jīng)過(guò)優(yōu)化的純C代碼。同時(shí)除了遺傳算法搜索閾值外,還用到OpenCV的輪廓匹配函數(shù)來(lái)定位目標(biāo),從而輔助圖像分割的實(shí)現(xiàn),最終實(shí)現(xiàn)OpenCV耦合遺傳算法的圖像分割。

首先快速讀入圖像到內(nèi)存,采用cvLoadImage函數(shù)。把圖像從三通道轉(zhuǎn)換到單通道,采用cvConvertScale函數(shù),從而減少圖像運(yùn)算數(shù)據(jù),提高速度。計(jì)算計(jì)算矩陣的平均值和標(biāo)準(zhǔn)差,采用cvAvgSdv函數(shù),在圖像特征提取時(shí)使用。計(jì)算數(shù)組中非0元素的個(gè)數(shù)采用cvCountNonZero函數(shù)。閾值分割采用cvThreshold函數(shù)。以上函數(shù)基于C++是實(shí)現(xiàn),故運(yùn)行速度優(yōu)于Matlab平臺(tái)或其他編程語(yǔ)言。最后增加cvMatchTemplate函數(shù),即輪廓搜索函數(shù),予以輔助圖像目標(biāo)分割的實(shí)現(xiàn)。

如圖1所示,圖像立體三角形為待分割圖像,目標(biāo)是分割出外三角的邊緣。如圖2所示,為本文OpenCV耦合遺傳算法分割效果圖,可見(jiàn),分割線緊貼外三角邊緣,分割效果很好。

圖1 原圖

圖2 分割效果圖

檢測(cè)算法部分關(guān)鍵代碼:

IplImage *result;

int srcW,srcH,templatW,templatH,resultH,resultW;

srcW = image1->width;

srcH = image1->height;

templatW = templat->width;

templatH = templat->height;

resultW = srcW - templatW + 1;

resultH = srcH - templatH + 1;

result = cvCreateImage(cvSize(resultW,resultH),32,1);

cvMatchTemplate(image,templat,result,0);

double minValue,maxValue;

CvPoint minLoc,maxLoc;

cvMinMaxLoc(result,&minValue,&maxValue,&minLoc,&maxLoc);

cvRectangle(image,minLoc,cvPoint(minLoc.x + templatW,minLoc.y+ templatH),cvScalar(0,0,255));

cvReleaseImage(&result);

cvReleaseImage(&templat);

m_CvvImage.CopyOf(image,1);

m_CvvImage.DrawToHDC(hDC,&rect);

class Genome

{ public:

friend class GenAlg;

friend class GenEngine;

Genome():fitness(0){}

Genome(vector vec,double f):vecGenome(vec),fitness(f){}

private:

vector vecGenome;

double fitness;

};

Genome GenAlg::GetChromoRoulette()

{ double Slice = (random()) * totalFitness;

Genome TheChosenOne;

double FitnessSoFar = 0;

for (int i=0; i

FitnessSoFar += vecPop[i].fitness;

if (FitnessSoFar >= Slice)

{

TheChosenOne = vecPop[i];

break;} }

return TheChosenOne; }

3實(shí)驗(yàn)與討論

傳統(tǒng)機(jī)制采用單純的依靠遺傳算法來(lái)搜索閾值,從而選出最佳閾值進(jìn)行分割,在速度和精度上往往不是很理想。本文機(jī)制采用OpenCV耦合遺傳算法的方法來(lái)分割圖像,即用快速的OpenCV函數(shù)予以快速實(shí)現(xiàn)對(duì)圖像的各種處理,同時(shí)還予以O(shè)penCV的輪廓搜索函數(shù)輔助遺傳算法,達(dá)到雙保險(xiǎn)的目的。本文將兩種機(jī)制都進(jìn)行實(shí)現(xiàn),并做實(shí)驗(yàn)對(duì)比,即對(duì)同樣的100張圖像做檢測(cè),統(tǒng)計(jì)比較檢測(cè)精度和時(shí)間。本機(jī)制采用快讀OpenCV函數(shù)實(shí)現(xiàn),大大節(jié)省了運(yùn)算時(shí)間,同時(shí)有更高的分割精度。而傳統(tǒng)機(jī)制中圖像的分割單純依靠遺傳算法來(lái)提取閾值,這不但大大延長(zhǎng)了運(yùn)算時(shí)間,而且精度上也達(dá)不到較高的滿意度,經(jīng)過(guò)試驗(yàn)統(tǒng)計(jì),如表1所示。

原始圖像如圖3所示,本系統(tǒng)引入OpenCV處理函數(shù)和輪廓搜索函數(shù),提高圖像處理速度和精度,不僅降低了檢測(cè)時(shí)間,關(guān)鍵的是提高了檢測(cè)精度,如圖4所示。圖5是傳統(tǒng)未優(yōu)化前檢測(cè)效果,存在錯(cuò)誤分割實(shí)物,把非目標(biāo)區(qū)域也分割進(jìn)目標(biāo)區(qū)域,同樣一幅圖像,用本文優(yōu)化后的算法,可以準(zhǔn)確分割出目標(biāo)。

表1 測(cè)試數(shù)據(jù)

圖3 原圖

圖4 優(yōu)化后分割效果

圖5 傳統(tǒng)機(jī)制識(shí)別效果圖

4結(jié)論

基于遺傳算法的圖像分割,在運(yùn)算速度上是很大的缺點(diǎn),同時(shí)單純依靠遺傳算法提取最佳閾值,在一些圖像環(huán)境下容易出現(xiàn)分割失誤。為了解決這樣的問(wèn)題,本文首先對(duì)遺傳算法的特性進(jìn)行研究。然后引入OpenCV實(shí)現(xiàn),提高算法運(yùn)行速度。最后在原來(lái)遺傳算法啊的基礎(chǔ)上加上OpenCV輪廓搜索函數(shù),提高分割精度。實(shí)驗(yàn)結(jié)果表明:與傳統(tǒng)機(jī)制相比,本文機(jī)制具有更好的分割精度和更高的效率,可以用于精準(zhǔn)分割的工程環(huán)境。

參考文獻(xiàn):

[1]康一鶴.改進(jìn)型遺傳算法在醫(yī)學(xué)圖像分割中的應(yīng)用[J].信息通信,2015,37(2):157-160.

[2]王群峰.結(jié)合改進(jìn)遺傳算法與局部閾值法的指紋圖像分割[J].自動(dòng)化與信息工程,2015,18(11):83-87.

[3]龍娟.基于新型遺傳算法的圖像處理研究[J].電子技術(shù)與軟件工程,2014,36(4):181-185.

[4]謝佩軍.一種基于膜計(jì)算的遺傳算法圖像分割方法[J].軟件,2014,21(7):196-199.

[5]王建.一種基于均值漂移和遺傳算法的圖像分割算法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014,33(10):86-90.

[6]龍娟.基于新型遺傳算法的圖像處理研究[J].電子技術(shù)與軟件工程,2011,23(2):371-376.

[7]NOORI H,SARYAZDI S.A bilateral image inpainting[J].IJST Trans Electr Eng,2011,25(E2):95-108.

[8]KUANG Y,ZHANG L,YI Z.An Adaptive Rank-sparsity K-SVD Algorithm for Image Sequence Denoising[J].Pattern Recognition Letters,2014,33(17):1021-1032.

[9]李紅梅,基于遺傳算法的圖像匹配算法研究[J].計(jì)算機(jī)與數(shù)字工程,2014,15(8):42-47.

[10]EHMANN J,PAPPAS T,NEUHOFF D.Structure Texture similarity metrics for image analysis and retrieval[J].IEEE Transactions,,2013,22(7):2545-2258.

[11]XU X Y,JIN L H.Characteristic Analysis of Otsu Threshold and Its Applications[J].Pattern Recognition,2011,2(1):124-128.

[12]楊漫,蘇亞坤.采用模糊C-均值聚類(lèi)的自適應(yīng)圖像分割算法[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2015(6):94-99.

(責(zé)任編輯楊繼森)

【信息科學(xué)與控制工程】

Research and Application on Image Segmentation Optimization

Based on OpenCV and Genetic Algorithm

WANG Qiu-hong, ZHANG Jin-hui

(School of Information Engineering, Haikou College of Economics, Haikou 570203, China)

Abstract:Genetic algorithm has been widely used in the field of image processing, such as image segmentation, but the disadvantage is that the amount of computation is large and the speed is slow. In order to solve this problem, this paper first studied the characteristics and principles of genetic algorithms and experiments. Based on this, the OpenCV algorithm was optimized to improve the speed of the algorithm and the user experience. Finally the optimization algorithm and the traditional algorithm were compared, and after repeated verification, this paper optimized the algorithm in speed, and the performance is superior to the traditional algorithm, which can be better used in engineering field.

Key words:genetic algorithm; image segmentation; OpenCV; algorithm speed

文章編號(hào):1006-0707(2016)01-0121-04

中圖分類(lèi)號(hào):TP391

文獻(xiàn)標(biāo)識(shí)碼:A

doi:10.11809/scbgxb2016.01.029

作者簡(jiǎn)介:王秋紅(1981—),女,碩士, 講師,主要從事算法設(shè)計(jì)、軟件開(kāi)發(fā)與計(jì)算機(jī)應(yīng)用研究。

收稿日期:2015-07-14;修回日期:2015-08-20

猜你喜歡
圖像分割遺傳算法
基于自適應(yīng)遺傳算法的CSAMT一維反演
一種基于遺傳算法的聚類(lèi)分析方法在DNA序列比較中的應(yīng)用
基于遺傳算法和LS-SVM的財(cái)務(wù)危機(jī)預(yù)測(cè)
一種改進(jìn)的分水嶺圖像分割算法研究
科技視界(2016年26期)2016-12-17 16:25:03
基于LabVIEW雛雞雌雄半自動(dòng)鑒別系統(tǒng)
一種圖像超像素的快速生成算法
基于魯棒性的廣義FCM圖像分割算法
基于改進(jìn)的遺傳算法的模糊聚類(lèi)算法
旅游| 谷城县| 罗源县| 赤水市| 山阳县| 建水县| 金川县| 永和县| 泸溪县| 葫芦岛市| 旅游| 四子王旗| 蒲江县| 博兴县| 六枝特区| 海安县| 舟山市| 伊川县| 莆田市| 交口县| 贡觉县| 邛崃市| 来凤县| 巫山县| 甘南县| 吴桥县| 贡觉县| 黄浦区| 泽州县| 泰安市| 马龙县| 克拉玛依市| 丹江口市| 同江市| 永城市| 循化| 建德市| 时尚| 南投市| 六枝特区| 沙坪坝区|