1006大设计翻译版_第1页
1006大设计翻译版_第2页
1006大设计翻译版_第3页
1006大设计翻译版_第4页
1006大设计翻译版_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本人我,本及其研究工作是由在导师指导下独立完成的,在完成时所利用的一切资料均已考文献中列出。时间:20136Unity3D-basedrecognitionsystemofthree-dimensiondecorationplatformfloorplanAuthor:NiTutor:XiaImageinformationthathumanbeingsarethemainsourcesofoutsideinformation,alongwiththedevelopmentofscienceandtechnologyandtheimprovementofpeople'slivingstandards,accesstodigitalimagesaregeometrically.Moreandmorepeopleuseinformationtoidentifyandjudgetheimagething,solvereal-worldproblems.Forexample,sa shootinghaslargespaceandgroundofphotos,peoplethroughysisphotos,obtainedEarthresourcessituation,andglobalmeteorologicalandpollutionsituation,inmedicaldoctorcanthroughxrayysisaccordingtolike,observationtohumanthepartsofhealthsituation;inlife,trafficmanagementsectoralsotousesimagerecognitiontechnologydeterminesillegalvehiclesoflicence,onitsforsupervisionmanagement.Andasweknow,targetidentification,fingerprintidentification,detectionofobjectsinmovementisnowverypopularsubject.However,directaccesstothegenerallysatisfactory,inorderfortheimagetomeetourrequirements,butalsoonimageprocessing,howtoextracttherequiredinformationinatimelymannerfromtheimagedataandtheeffectiveuse,isurgentlyneededintoday'ssociety.This,thetargetobjectrecognitionisoneofthegreatwork.Withourproject,forexample,generateddependsonthethree-dimensiondecorationplatformforfloorplanandwalls,doorsandotherpartsofthebody,formanaccurateidentification.Identifiesthetargetobjectthroughtheprocessingcentercoordinates,parameterssuchasaspect,usingmethodssuchaslinearregressionfitoutwallscurve,typetogenerateathreedimensionalvectorprovidedzationparameterinformation.Fortheseproblem,thisaimedatdesignandachievedatypefigurerecognitionsystem,throughonmachineVisualrelatedalgorithmforresearch, ysisitsperformanceprosandcons,designhasaforthissystemofprogram,andthroughimprovedmakesitscanefficientaccurateofpositioningrecognitiontarget,gettargetobjectsoflocation,sizeparameter,andthroughlinearreturnintendscollectioncurveofway,forimagevectortative,forgeneratedthreedimensionaltypemodelprovidesparameterinformation.Thisarticleismainlymanifestedinthefollowingaspects:studytherelevantmachinevisionalgorithms,mainlythefollowingthreealgorithms:imageenhancement,featureextractandtemplatematch.Through ysisandsummaryoftheadvantagesanddisadvantagesofthesetypesofalgorithms,developedorimprovedtheoriginalalgorithmsothatitcanmeettheneedsofoursystem.Afloorplanidentificationsystemisdesignedtoachieve.Userinputthroughtheimagepre-treatment,fortwodifferenttypesoffloorplan,usingtemplatematchingalgorithmbasedonbinaryimagesandsearatchingalgorithmtoidentifyparameterinformationfromthewalls,doorsandWindows,andthroughavisualinterfaceshowstherecognitionresult.Ourcompletesystemfunctionalityandperformancetestingandysis,enablethesystemtoachieveourintendedfunction,andmeetperformancerequirements.Finally,wesummarizetheexistingworkandprospectsforthe:MachineVersion Objectrecognition Templatematching layoutchartrecognitionsystem绪 研究背 图像识别技术的研究现状和研究意 研究目标与内 的组织结 户型图识别系统关键问题分 户型图识别系统关键问题分 拟采取的数字图像识别技术分 图像增强技 特征提取技 模板匹配技 拟采取的研究方案分 面向标准户型图的识别算法研 几种常用匹配识别算法的比较分 实时性分 宽裕度分 基于二值化图像的模板匹配算法(针对实体墙 基于二值化图像的模板匹配算法概 基于二值化图像的模板匹配算法设 基于二值化图像的模板匹配算法步 算法流程 针对二线墙户型图的搜索匹配算 搜索匹配算法概 搜索匹配算法设 搜索匹配算法流程 识别结果参数修正算 门窗的处理办 本章小 基于Unity3D的三维装修平台户型图识别系统设 系统功能需 系统设计原 系统总体架构设 系统运行流程设 系统功能模块设计概 系统功能模块详细设 选择模块设 预处理模块设 户型识别模块设 参数修正模块设 参数信息保存(XML文件)及结果展示模块设 交互模块设 错误处理模 本章小 基于Unity3D的三维装修平台户型图识别系统实 系统开发环 平台环境和开发语 系统实现概 选择模块实 预处理模块实 户型图识别模块实 针对实体墙户型图的模板匹配算法实 针对二线墙户型图的搜索匹配算法实 参数修正模块实 参数信息保存(XML文件)及结果展示模块实 本章小 系统实验与分 实验环 系统功能实 实验目 实验过 实验总结与分 系统性能实 实验目 实验过 算法时间效率实 算法识别效果实 本章小 总结与展 工作总 工作展 致 参考文 绪和判断事物,解决实际问题。例如:人造拍摄了大量空间和地面的,人们通过分析,获得地球资源情况、全球气象和污染情况等;在医学上,医生可以通过X射线分析照像,观察到各部位的健康状况;在生活通管理部门也要利用图像识识别速度慢、识别错误率高等,遇到了很大的瓶颈。随着计算机视觉技术的飞速发域的研究已经比较深入,如模板匹配、基于sift/surf算法的特征点匹配、基于分类器的在本系统中,机器视觉部分是。利用计算机实现对户型图中墙体和门窗的快速SIFT/SURF特征、Bagofwords特征、Haar-like特征等。基于静态图像的目标识别方法户型图是房屋的平面图,可以直观的看清房屋的布局,也可以帮助买家了解房1.2中所述的机器视觉相关算法进行研究,分析其性能优劣,实现二章系统分析。本章主要介绍了实现本系统所需的几种。第三章面向标准户型图的识别算法研究。本章首先比较研究了现有的几种常用的第四章基于Unity3D的三维装修平台户型图识别系统设计。本章主要介绍系统的Unity3D的三维装修平台户型图识别系统实现。本章首先概述了系统第六章系统试验与分析。本章对本文两种算法进行了功能和性能两方面的第七章总结与展望。本章对研究工作和进行了总结,并对下一步工作提出了户型图识别系统关键问题中的滤波技术。换:f(gray.c)=a(gray.c)+b,这里重要的是参数a、b的选择。𝑓(𝑥)

算子是一种在图像锐化处理中很重要的算法。算子是与一个边缘子。对于续的二元函数𝑓(𝑥,𝑦),其运算定义为 00𝐺𝑥[5,𝐺𝑥[900𝑠ℎ𝑎𝑟𝑝𝑒𝑛𝑒𝑑_𝑝𝑖𝑥𝑒𝑙=𝑘∗𝑐𝑢𝑟𝑟𝑒𝑛𝑡–𝑙𝑒𝑓𝑡–𝑟𝑖𝑔ℎ𝑡–𝑢𝑝–𝑑𝑜𝑤𝑛– down分别表示current四个方向紧邻像素的值,而X表示当参与运算的像素点个数为9征就是区域的面积,计算公式如2.4所示:𝑎=|𝑅|=∑𝑐𝑒𝑖−𝑐𝑠𝑖+ Gavr=1/a∑g(r, 该区域内的灰度平均值Gavr就是该区域所有像素灰度值的平均值到另一幅图中寻找相应模式的处理方法就叫板匹配。SAD或者他们所有差值的平方和SSD,如公式2.6和公式2.7所示:SAD(r,c)=1/n∑|t(u.v)−f(r+u,c+ SSD(r,c)=1/n∑|t(u.v)−f(r+u,c+ t(u,v)为模板中各点的灰度值,f(r+u,c+v)为图像当前区域的灰度值,匹配步骤如示意图2.1所示:P-P-2.1

其次就是设计并实现能够满足户型图识别需求的算法,我们目前主要设计了面向标准户型图的识别算法待待识 预处 特征提 特征判 输出结3.1800×600的实际位 匹配点位 识别 耗MADMAD算法搜索到的匹配点其匹配度最高,为真正的匹配点,但其耗时最匹配算法的匹配精度最低,但其匹配耗时相比直接匹配的MAD算法有了很大提高。3.2MAD3.2MAD基于二值化图像的模板匹配算法(针对实体墙法的分析,我们决定采用以下公式3.1对采样图像和模板进行二值化:𝐵𝑣𝑎𝑙𝑢𝑒(𝑢,𝑣)={ 𝑡(𝑢,𝑣)< 𝑡(𝑢,𝑣)≥ T代表阈值,t(u,v)表示坐标为(u,v)处像素的灰度值,01分别代表白黑。每影响,我们决定采用相对于二值化的方法,公式3.2如下:T′′=∑ℎ𝑖𝑠𝑡×𝑇 hist代表直方图分析中每种灰度值的像素个数,T为每个像素的灰度值,N为用第二章中提到的算子法对图像进行锐化处理。通过实验,我们发现经过锐化SAD'(r,c) (u,v)

t'(u,v)f'(ru,c

t'(uv)为二值化后模板图像值,f'(r+u,c+v)为二值化后的搜索区域中对应值。阈值为0,也就是完全匹配。若此处匹配成功,则判断:墙体的左上角坐标和墙体长宽,进入步骤2.2图图像二值 选择识别区 选择模 模板匹 保存匹配信3.3否否匹配成功上次匹配功是是上次功否否是否一行结束是3.4考虑到户型图的另外一种情况,即用两条黑线和其中的白域来表示墙体(门窗3.2所述的模板匹配的方法。因此我们想出了另1、首先从识别区域左上角开始向右搜索,如果第一个像素值为0(黑色,记录当前坐标,并加入一块长宽为1的墙体,进入2;2、向右搜索,如果当前像素值为0,且上一块的像素值也为0,则墙体数组中当前墙体宽度+1200,新增一块墙体,继续2;若当前像素值不为0,则进入3。并记录当前墙体的高度值,返回2。否否是是否否是否是的匹配算法中已经包括了墙体合并组中,并从下一块开始重复步骤2;的部分形成一块新墙体,并加入到结果数组中,然后从下一块墙体开始重复步骤2。上面介绍了此算法的内容,我们仔细分析每张户型图的情况,其实这个算法有2基于 的三维装修平台户型图识别系统设Unity3d的三维装修平台来帮助用户实现从识别出的参数信息以XML文件的格式。互的形式,让用户可以很容易地上手使用系统来完成识别工作,系统UI的设计力求简UI选选图像预户型图识别结果参数修结果展示及生成xml4.1中选择一张户型图,待输入到系统中后,进行下一步处理现出来,也就是将结果绘制在一张上,并将参数保存为XML格式的文件。选图像预处结果展示成xml文结果参数户型图识4.2在彩像的RGB模型中,如果R=G=B,则彩色表示一种灰度颜色,所以,灰度f(i,j)=max(R(i,j),G(i,j),B(i,j))f(i,j)=(R(i,j)+G(i,j)+B(i,j))/3度图像。公式为:f(i,j)=0.30R(i,j)+0.59G(i,j)+0.11B(i,j))

会使图像的边缘细节模糊,因此最后选择了滤波法。具体的实现过程是通过使用opencv库中的GaussianBlur类来实现的。具体的实现方在第五章中详细介绍。我们在识别户型图时,采用的是模板匹配的方法,而彩像由于墙体门窗的颜色可能存在不同,这对我们的识别工作势必会造成影响,所以我们决定将统一处理成值化方法计算出相对阈值T";最后以T"作为最后二值化的阈值来进行二值化,即本模块主要完成的功能是将修正后的数组以我们自定义格式的XML文件进行,这个XML文件会作为三维模型生成及展示模块的输入。并且由于用户对于识别后的数与原的对比来看出识别的准确性。 的框,用户只要在本地磁盘中选择相应文件即可。系统会保存的路径信息和Bitmap保存参数信息及结果展示:用户点击“生成xml文件”按钮,系统会自动在当前基于 的三维装修平台户型图识别系统实1开发环境及语言:在.netC#语言+Emgucv库(.netopencv库)开发工具:VS20132win7系统下点XML格式的文件,为三维户型生成提供实现点。图5.1展示了工程文件结构:5.1选择的实现:这个模块的功能很简单,即引导用户通过点击按钮完成图像预处理的实现:对进行灰度化,滤波,锐化和二值化的处理。其中灰度化和滤波我们只要调用opencv中的相应函数实现即可,重点是实现算子锐块的实现相对简单,这里的输出结果也设计为与1)算法相同的参数数组。我们定义了一个SelectFile类来实现这个模块的功能,类图如下------图 privatestringcurFileName;//输 privateBitmapcurBitmap;//输 的Bitmap对这两个成员变量用来与预处理模块进行交互,同时我们使用.net类来实现选 OpenFileDialogopnDlg=newopnDlg.Filter|*.bmp*.pcx*.png*.jpg+"*.tif*.ico*.dxf*.cgm*.cdr*.wmf*.eps*.emf|图*.bmp*.png;...)|*.bmp;*.pcx;*.png;*.jpg;*.gif;*.tif;*.ico|"*.wmf*.eps*.emf|*.dxf*.cgm*.cdr*.wmfopnDlg.Title打开图像文件opnDlg.RestoreDirectory=opnDlg.ShowHelp=if(opnDlg.ShowDialog()=={curFileName=opnDlg.FileName;{curBitmap}catch(Exception{}}这个opnDlg就对应一个选择框;然后通过设置opnDlg的各个属性来完成对框RestoreDirectory:这个属性很重要,它的含义是在用户选择完后,当前路径是如果选择false的话,程序可能出错。ShowHelp:表示框中是否包含帮助选项这条语句,得到对应的Bitmap对象。使PreProcess作为一个功能类来使用。该类的类图如下:+++++图 PreProcess类public BitmapGray(Image<Bgr,Byte>{returnimageBgr.Convert<Gray,}publicstaticBitmapDenoising(Image<Bgr,Byte>{SMOOTH_TYPE.CV_GAUSSION,5,0,0,return}Image<>类型的对象,这个类是Emgucv中图像最常用的类,<>中的两个参数为泛型参数,用于对于不同类型图像的。第一个参数代表的类型,如Bgr代表彩色32通道图像,而Gray代表灰度(B,G,R的结果类型统一,我们调用ToBitmap函数将输出结果统一转换为Bitmap类型。Rectanglerect=newRectangle(0,0,width, IntPtrptr=intbytes=bmpData.Stride*bmpData.Height;byte[]rgbValues=newbyte[bytes];int[]Laplacian={-1,-1,-1,-1,9,-1,-1,-1,-for(j=1;j<height-1;j++for(i=3;i<(width*3-200);i+=3intr=0,g=0,b=0;intindex=0;for(col=-1;col<=1;col++for(row=-3;row<=3;row+=3)b+=rgbValues[(j+col)*bmpData.Stride+(i+row)]*g+=rgbValues[(j+col)*bmpData.Stride+(i+row+1)]*Laplacian[index];r+=rgbValues[(j+col)*bmpData.Stride+(i+row+2)]*Laplacian[index];}}r=r>255?255r;r=r<0?0:r;g=g>255?255:g;g=g<0?0:g;b=b>255?255:b;b=b<0?0:b;rgbValues[j*bmpData.Stride+i]=rgbValues[j*bmpData.Stride+i]=rgbValues[j*bmpData.Stride+i]=}}return}中间的代码就是锐化处理的过程,intLaplacian1,-1,-1,-1,9,-1,-1,-1,-1};表示首先定义一个模板,其次for循环嵌套部分代码是对每个像素值的计算过程,接下来对于每个像素计算后的BGR三个分量,判断它们是否超出0~255的范围,对于小于0的像素值将其像素值置为0,对于大于255的像素值直接将其置为255。当所有的像素处理完毕后,像素的区域,并返回当前的Bitmap对象。图 3、BitmapsourceImg,template:这两个成员变量表示待识别的图像和模板图voidtemplattching3voidcompare(introwIdintcolId):这是模板匹配过程中的比较函数,两个参数4、voidwallMerge():墙体合功能是在识别时对墙体做一个初步的合并,由5findWholeWall(refRectanglecurWall):wallMerge()函数尽管会把同一行的墙体合templateMatchingcomparewallMergefor(inti=row_start;i<row_end-i++){for(intj=col_start;j<col_end-template.Width;compare(i,}}调用wallMerge函数对墙体进行了初步的合并。for(i=rowId;i<=rowId+i++){for(j=colId;j<colId+template.Width;if(rgbValues[i*bmpData.Stride+j]==0)continue;imgResult[rowId-row_start,colId-col_start]=0;}}}imgResult[rowId-row_start,colId-col_start]={{匹配,如果匹配,则将当前匹配区域的左上角坐标作为imgResult数组的下标,将长宽分别为模板长宽的矩形区域为目标墙体,如果不匹配,则置为0。11,说明找到了一块墙体,结果数组0imgResult这个数组后,我们就4、for(;imgResult[row,col]==1;{}

for(curCol=col;curCol<col+curWall.Width-template.Width+flag[row,curCol]=true;rowFlag[row,curCol]=true;if(imgResult[row,curCol]==1)continue;elsebreak;if(curCol==col+curWall.Width-template.Width+1)curWall.Height++;for(inti=col;i<=curCol;flag[row,i]=false;}}}过的像素点,我们均设置它的flag为true,代表当前像素已进行过匹配,防止重复匹配imgResult数组也是相同的,与实体墙intfirst=rowId*bmpData.Stride+colId;intsecond=first+template.Width-1;intthird=(rowId+template.Height-1)*bmpData.Stride+colId;intfourth=third+template.Width-1;for(j=colId;j<colId+template.Width;{for(i=rowId;i<=rowId+template.Height;{if(rgbValues[i*bmpData.Stride+j]==0)continue;imgResult[rowId-row_start,colId-col_start]=0;}}}imgResult[rowId-row_start,colId-col_start]=们定义了一个ParametersCorrected类来实现模块的功能,类图如下所示:para_num图 2、voidmerge(Rectangle[]wall,intwall_num)3voidcorrect(Rectanglesource,refRectanglefor(i=1;i<wall_num;i++){for(j=0;j<para_num;j++)if((wall[i].X>=(parameters[j].X+parameters[j].Width)||<||wall[i].Y>=(parameters[j].Y+{}else}}if(j==para_num)parameters[para_num++]=}}XmlOperate类来实现的,类图wallNum图 for(inti=0;i<wallNum;i++){xw.WriteStarement("wall");xw.WriteElementString("num",i+"");xw.WriteElementString("pos_right",(wallRect[i].X+wallRect[i].Width)+","+(wallRect[i].Y+}系统实验与分Unity3D的三维装修平台户型图识别系统的详细设计及 (R)Core(TM)2Quad 选择。用户单击选择按钮后,会弹出选择文件框,用户通过选本地文件来完成的输入,并且系统会记录的路径以及保存的Bitmap对象 图进行识别,并在当前右侧生成识别结果图像。用户可以对比两张,验证识别 下生成一个名称为“名称.xml”的文件,用户查看文件是否生成一下系统的整体界面,如图6.1所示。用户应按照如图6.2所示的操作进行。6.16.2选择实验6.1所示。用户点击左上角的选择示。用户点击确定后,系统会保存路径和的Bitmap对象,并且在主界面原图像区域显示,如图6.4所示,我们通过调试功能,观察curFileName两个变量的值是否正确,如图6.5所示。实验结果表明,输入功能正常运行,并且系统正确保存了路径和对象图6.3选择界6.4用户点击自动预处理按钮,原图像直接处理为二值化后的图像,如图6.6所示。

6.10图6.11选择识别区域4

6.15实验结果图像中。如图6.17所示:

6.175.17中我们可以看出,原结果图像中的噪点已经去除,并且墙体得到了合并,的文件,打开文件,我们可看到的数据,如图6.18所示。我们根据图像选择不同的户型图识别算法进行识别工作,通过结果的显示,我们发生成参数文件XML模块成功运行。生成的XML文件中了户型图识别的结果XML文折线图如图6.20所示。06.21中,我们看出两种算法的运行时间基本都在1s左右,而且我们在选择的时候尽量选择线条颜色、画法等不同的情况,所以这10幅户型图基本能我们统计了一下所有实验的识别率情况,根据1中公式的计算方法,清晰1,2)本章的主要内容是对第四、五章中系统的设计与实现进试实验,通过实验验证阐述了功能实验的内容

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论