![Ransac和圓擬合_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/1/162ea56e-251f-4a68-a1f9-9b8d5d00fab8/162ea56e-251f-4a68-a1f9-9b8d5d00fab81.gif)
![Ransac和圓擬合_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/1/162ea56e-251f-4a68-a1f9-9b8d5d00fab8/162ea56e-251f-4a68-a1f9-9b8d5d00fab82.gif)
![Ransac和圓擬合_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/1/162ea56e-251f-4a68-a1f9-9b8d5d00fab8/162ea56e-251f-4a68-a1f9-9b8d5d00fab83.gif)
![Ransac和圓擬合_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/1/162ea56e-251f-4a68-a1f9-9b8d5d00fab8/162ea56e-251f-4a68-a1f9-9b8d5d00fab84.gif)
![Ransac和圓擬合_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/1/162ea56e-251f-4a68-a1f9-9b8d5d00fab8/162ea56e-251f-4a68-a1f9-9b8d5d00fab85.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程實(shí)驗(yàn)報(bào)告2017 - 2018 學(xué)年第一 學(xué)期課程名稱:計(jì)算機(jī)視覺(jué)及應(yīng)用實(shí)驗(yàn)名稱:班 級(jí):電通1班學(xué)生姓名: 學(xué)號(hào):。實(shí)驗(yàn)日期: 2017.12.1地點(diǎn):指導(dǎo)教師: 成績(jī)?cè)u(píng)定:批改日期:實(shí)驗(yàn)?zāi)康募耙驲ANSAC即隨機(jī)抽樣一致。它可以從一組包含“局外點(diǎn)”的觀測(cè)數(shù)據(jù)集中,通過(guò)迭代方式估計(jì)數(shù)學(xué)模型的參數(shù)。它是一種不確定的算法它有一定的概率得出一個(gè)合理的結(jié)果。借助MATLAB工具,通過(guò)RANSAC算法擬合圓,理解其原理,分析它的優(yōu)點(diǎn)與確定。實(shí)驗(yàn)儀器設(shè)備實(shí)驗(yàn)設(shè)備為一臺(tái)裝有win10系統(tǒng)的PC,matlab2015b軟件。實(shí)驗(yàn)原理利用圓的定義,圓是平面內(nèi)到定點(diǎn)F1、F2的距離之和等于常數(shù)(大于|F1
2、F2|)的動(dòng)點(diǎn)P的軌跡,F(xiàn)1、F2稱為圓的兩個(gè)焦點(diǎn)。其數(shù)學(xué)表達(dá)式為:|PF1|+|PF2|=2a(2a|F1F2|)。選取3個(gè)點(diǎn),2個(gè)焦點(diǎn),1個(gè)過(guò)圓的點(diǎn),就能確定圓。實(shí)驗(yàn)內(nèi)容有一個(gè)模型適應(yīng)于假設(shè)的局內(nèi)點(diǎn),即所有的未知參數(shù)都能從假設(shè)的局內(nèi)點(diǎn)計(jì)算得出。 用1中得到的模型去測(cè)試所有的其它數(shù)據(jù),如果某個(gè)點(diǎn)適用于估計(jì)的模型,認(rèn)為它也是局內(nèi)點(diǎn)。 如果有足夠多的點(diǎn)被歸類為假設(shè)的局內(nèi)點(diǎn),那么估計(jì)的模型就足夠合理。 然后,用所有假設(shè)的局內(nèi)點(diǎn)去重新估計(jì)模型(譬如使用最小二乘法),因?yàn)樗鼉H僅被初始的假設(shè)局內(nèi)點(diǎn)估計(jì)過(guò)。 最后,通過(guò)估計(jì)局內(nèi)點(diǎn)與模型的錯(cuò)誤率來(lái)評(píng)估模型。 上述過(guò)程被重復(fù)執(zhí)行固定的次數(shù),每次產(chǎn)生的模型要么因
3、為局內(nèi)點(diǎn)太少而被舍棄,要么因?yàn)楸痊F(xiàn)有的模型更好而被選用。實(shí)驗(yàn)步驟及方法第一步:生成隨機(jī)點(diǎn),本實(shí)驗(yàn)隨機(jī)點(diǎn)的數(shù)量設(shè)置為300;第二步:參數(shù)的初始化,設(shè)置圓長(zhǎng)短軸,生成圓模型;第三步:由圓定義,查找符合圓模型的點(diǎn);第四步:畫(huà)出擬合結(jié)果;實(shí)驗(yàn)數(shù)據(jù)matlab程序代碼:clc;clear;% 生成帶噪聲的圓% 參數(shù)初始化g_NumOfPoints = 500; % 點(diǎn)數(shù)g_ErrPointPart = 0.5; % 噪聲g_NormDistrVar = 3; % 標(biāo)準(zhǔn)偏差a=20;b=20; %長(zhǎng)軸短軸angle=60; %傾斜角% 圓生成beta = angle * (pi / 180);alpha
4、= linspace(0, 360, g_NumOfPoints) .* (pi / 180); X = (a * cos(alpha) * cos(beta)- b * sin(alpha) * sin(beta) )+wgn(1,length(alpha),g_NormDistrVar2,linear); Y = (a * cos(alpha) * sin(beta)+ b * sin(alpha) * cos(beta) )+wgn(1,length(alpha),g_NormDistrVar2,linear);Data=X;Y;plot(Data(1, :), Data(2, :),
5、., Tag, DATA);hold on;% RANSAC圓擬合%圓一般方程:Ax2+Bxy+Cy2+Dx+Ey+F=0%F=(p,x)p(1)*x(:,1).2+p(2)*x(:,1).*x(:,2)+p(3)*x(:,2).2+p(4)*x(:,1)+p(5)% 參數(shù)初始化nSampLen = 2; %設(shè)定模型所依據(jù)的點(diǎn)數(shù)nDataLen = size(Data, 2); %數(shù)據(jù)長(zhǎng)度nIter = 50; %最大循環(huán)次數(shù)dThreshold = 2; %殘差閾值nMaxInlyerCount=-1; %點(diǎn)數(shù)下限A=zeros(2 1);%B=zeros(2 1);P=zeros(2 1)
6、;% 主循環(huán)for i = 1:nIter SampleMask = zeros(1 nDataLen); while sum( SampleMask ) = nSampLen% =不等于ind = ceil(nDataLen .* rand(1, nSampLen - sum(SampleMask); %抽樣,選取nSampLen個(gè)不同的點(diǎn)SampleMask(ind) = 1; end Sample = find( SampleMask ); %找出非零元素的索引值,即建立模型的點(diǎn) % 建立模型,存儲(chǔ)建模需要的坐標(biāo)點(diǎn),焦點(diǎn)和過(guò)圓的一個(gè)點(diǎn) %圓定義方程:到兩定點(diǎn)之間距離和為常數(shù) A(:,1)
7、=Data(:,ind(1); %圓點(diǎn) % B(:,1)=Data(:,ind(2); %焦點(diǎn) P(:,1)=Data(:,ind(2); %圓上一點(diǎn) DIST= sqrt(P(1,1)-A(1,1).2+(P(2,1)-A(2,1).2); %DIST = (P(1,1) - A(1,1).2) + (P(2,1)-A(2,1).2); xx=; nCurInlyerCount=0; %初始化點(diǎn)數(shù)為0個(gè) % 是否符合模型? for k=1:g_NumOfPointsCurModel=A(1,1) A(2,1) DIST ;pdist=(Data(1,k)-A(1,1).2+(Data(2,k
8、)-A(2,1).2);CurMask =(abs(DIST-pdist)nMaxInlyerCount %符合模型的點(diǎn)數(shù)最多的模型即為最佳模型nMaxInlyerCount = nCurInlyerCount;Ellipse_mask = CurMask;Ellipse_model = CurModel;Ellipse_points = A P;Ellipse_x =xx; endend% 由符合點(diǎn)擬合圓 x2+y2+Dx+Ey+F=0%圓一般方程:Ax2+Bxy+Cy2+Dx+Ey+F=0% F=(p,x)p(1)*x(:,1).2+p(2)*x(:,1).*x(:,2)+p(3)*x(:
9、,2).2+p(4)*x(:,1)+p(5)*x(:,2)+p(6);p(1)=1;p(2)=0;p(3)=1;F=(p,x)p(1)*x(:,1).2+p(3)*x(:,2).2 +p(2)*x(:,1).*x(:,2)+p(4)*x(:,1)+p(5)*x(:,2)+p(6);p0=1 1 1 1 1 1;x=Ellipse_x;pr=nlinfit(x,zeros(size(x,1),1),F,p0); % 擬合系數(shù),最小二乘方法xmin=min(x(:,1);xmax=max(x(:,1);ymin=min(x(:,2);ymax=max(x(:,2);% 畫(huà)點(diǎn)作圖plot(Ellip
10、se_points(1,:),Ellipse_points(2,:),r*);hold on;plot(Ellipse_x(1,:),Ellipse_x(2,:),yo);hold on;ezplot(x,y)F(pr,x,y),-1+xmin,1+xmax,-1+ymin,1+ymax);title(RANSAC圓擬合);legend(樣本點(diǎn),抽取點(diǎn),符合點(diǎn),擬合曲線)實(shí)驗(yàn)數(shù)據(jù)分析及處理示例圖片RANSAC擬合情況:通過(guò)在MATLAB上仿真,得到RANSAC圓擬合圖,如下所示:圖1 第一次運(yùn)行時(shí)RANSAC圓擬合圖圖2 第二次運(yùn)行時(shí)RANSAC圓擬合圖圖3 第三次運(yùn)行時(shí)RANSAC圓擬合圖實(shí)
11、驗(yàn)結(jié)果分析1.圖1結(jié)果分析如圖1所示,隨機(jī)生成了300個(gè)藍(lán)色的點(diǎn),其中局內(nèi)點(diǎn)21個(gè),即黃色點(diǎn),局外點(diǎn)190個(gè),以抽樣點(diǎn)為圓心,擬合了一個(gè)圓。x+13.2032+y-11.9282=1.2392 2. 圖2結(jié)果分析如圖2所示,其中局內(nèi)點(diǎn)11個(gè),局外點(diǎn)200個(gè),得到較好的擬合結(jié)果。x+19.1432+y+10.9712=2.52123.圖3結(jié)果分析如圖3所示,其中局內(nèi)點(diǎn)14個(gè),局外點(diǎn)200個(gè),得到較好的擬合結(jié)果。x+18.9742+y+1.7242=3.47324.圖1、圖2、圖3橫向?qū)Ρ确治鰣D一、圖二、圖三,都是經(jīng)過(guò)多次擬合才擬合成功。可能的原因是樣本點(diǎn)是隨機(jī)產(chǎn)生的,不能確定每次產(chǎn)生的樣本點(diǎn)都能成功的擬合。5.RANSAC擬合原理和流程圖建立模型時(shí)利用圓的定義方程:dist(P,A)+dist(P,B)=DIST,其中P為圓上一點(diǎn),A為圓心。隨機(jī)選取三點(diǎn)A,P構(gòu)建圓模型,計(jì)算每個(gè)點(diǎn)到此兩焦點(diǎn)的距離和與DIST的差值,差值小于一定閾值時(shí)的點(diǎn)為符合模型的點(diǎn),點(diǎn)數(shù)最多時(shí)的模型即為最佳圓模型,再根據(jù)符合條件的點(diǎn),利用圓一般方程x2+y2+Dx+Ey+F=0和得到符合點(diǎn)進(jìn)行系數(shù)擬合,根據(jù)函數(shù)式畫(huà)出最
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人合同轉(zhuǎn)讓授權(quán)委托書(shū)范文
- 個(gè)人與個(gè)人投資合作合同
- 中外技術(shù)研發(fā)合作合同范本
- 個(gè)人貸款合同模板版
- 個(gè)人與公司間的借款合同范本
- 個(gè)人與企業(yè)土地購(gòu)置合同
- 上海市常用勞務(wù)合同范本
- 個(gè)人房產(chǎn)抵押借款合同
- 汽車泵租賃合同
- XX鎮(zhèn)村民共建道路合同協(xié)議書(shū)2025
- 《電氣作業(yè)安全培訓(xùn)》課件
- 水平二(四年級(jí)第一學(xué)期)體育《小足球(18課時(shí))》大單元教學(xué)計(jì)劃
- 《關(guān)于時(shí)間管理》課件
- 醫(yī)藥高等數(shù)學(xué)智慧樹(shù)知到課后章節(jié)答案2023年下浙江中醫(yī)藥大學(xué)
- 城市道路智慧路燈項(xiàng)目 投標(biāo)方案(技術(shù)標(biāo))
- 水泥采購(gòu)?fù)稑?biāo)方案(技術(shù)標(biāo))
- 醫(yī)院招標(biāo)采購(gòu)管理辦法及實(shí)施細(xì)則(試行)
- 初中英語(yǔ)-Unit2 My dream job(writing)教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 廣州市勞動(dòng)仲裁申請(qǐng)書(shū)
- 江西省上饒市高三一模理綜化學(xué)試題附參考答案
- 23-張方紅-IVF的治療流程及護(hù)理
評(píng)論
0/150
提交評(píng)論