




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
论文题目:嵌入式高光谱数据库的开发及目标分省编号:物等感兴趣目标信息尤为重要的手段,在民用与军用领域均发挥着巨大的作用。台下无人工干预的高光谱遥感目标分类,数据管理一体化。主要工作如下:介绍目前流行的嵌入式数据库系统。行测试。系统的开发过程。civilandmilitaryfields.Hyperspectralremotesensingtechnologysystemistoolarge,poorportability,lrealizinghyperspectralremotesensingtargetclassificationanddatainterfacefunctions,thetransactions,thelockandSQLiteSQLstatementsofSQLite.Finally,thispapertransplantsSQLiteonthe I III 1 1 2 2 5 7 7 7 9 9 2.4.1连接与断开连接 2.4.2执行查询 2.4.3准备查询 3.3.1线程的概念 3.5.1主界面设计 3.5.2数据库表设计 3.5.3功能设计 4.5.2支持向量机算法移植 根据遥感器光谱分辨率的不同,可将遥感图像分为3(1)当光谱分辨率的数量级在范围内,称为多光谱遥感(Multispectral(2)当光谱分辨率的数量级在范围内,称为高光谱遥感(Hyperspectral市交通、大气污染、海洋资源勘探、农业等方面[9],有着十分广阔的应用前识、识别地物的主要手段和思想[10]。高光谱成像仪在一定条件下测绘得到各类现感兴趣未知地物匹配和提高高光谱遥感分类水平有着极其重要的作用。因此,行光谱指纹信息分析是十分必要的。算法进行移植,集成到嵌入式平台上,与嵌入式光谱指纹数据库系统协同使用,同时验证了光谱指纹数据库的实用性与开发价值。展,光谱数据不断剧增,为不同地物光谱指纹数据建立数据库有了更高的要求。发展的又一重要表现。 实际应用,且获得良好效果。我国在这方面也取得了喜人的成绩,中科院遥感所高光谱室经过多年照。地。植被和热红外进行分析。份分析和样品纯度进行了规范。领域中都发挥了巨大作用,在地质学中,光谱数据库可定义岩石或矿物的类型,位。 进行。可在室内环境下模拟地物样品对太阳光的发射,并从多个角度进行测量。 得了骄人的成绩。嵌入式数据库又被称为嵌入式移动数据库[12],指的是存储于嵌入式系统中能对其统一管理的数据集合。嵌入式数据库内的数据按照特定模型描述、存储。特性组织起来,由嵌入式数据库系统对其统一管理。据库作为重点发展方向[12]。国内外发布了多款嵌入式数据库系统,主要有以下几种:[13]该数据库是Sybase公司研发的产品,发布了UltraLite。目的是为了开发数据驱动的嵌入式系统。UltraLite能够提供灵活、高性能的数据库技术,UltraLite的分析器只把需要的表、列、索引构建成最优数据库,查询速度和更还具有事务保护和可伸缩性的特点,性能较高。[16]序索引和网络模型set索引等[17]。复杂的数据模型,实现高性能数据管理。(5)SQLite[18]库。SQLite在运行时内嵌到程序中,与应用程序使用同一个进程空间。运行时被广泛应用于嵌入式领域。需要对嵌入式系统中的数据进行管理,于是嵌入式数据库技术因运嵌入式数据库系统(DBMS)是指独立运行在入式数据库驱动结构图如图2.1所示:用微型化技术实现。整性等,并且能支持引用的完整性,支持实体的完整性Error!Referencesourcenot需要拥有数据库管理功能,应具备自动恢复功能,并具有数据备份和恢复功能,保证数据安全可靠。(4)数据同步机制。嵌入式数据库系统中最重要的一个特点便是数据同步,相比传统数据库系统,嵌入式数据库系统的移动性强,需要频繁连接断开,统分布式数据库进行裁剪,改进和扩充。设计嵌入式数据库系统,期望能在对数据进行存储Error!Referencesourcenot较强的移植性,要求嵌入式数据库系统也要具备移植性。同样作为数据库系统,点,嵌入式数据库系统主要具备以下特点:统有限的资源,在最短时间内对操作系统的请求做出响应。入式数据库系统。格的控制,特别是某些隐私性很高的数据,因此,在用户数据安全受到威胁时,嵌入式数据库系统能够充分保证用户数据的安全。请求时,不仅要考虑及时性,更要在此前提下,保证结果的准确性。(5)可靠性。正如(3)中提到,嵌入式设备是嵌入式系统中管理、处理数靠性。Pervasive构Client/ServerLibraryClient/ServerLibrary口2.3.1SQLite数据库系统及特点SQLite以其简单易用、可移植性强、轻便、可靠高效的特点而著称。在对数据库中数据进行管理时,SQLite能够为用户带来极大方便,同时将资源消耗减少到最低。部实现,只需关注项目需求的功能和数据管理。其方便,效率高。SQLite采用高内聚性层次化结构设计,整个数据库系统实现商业应用领域[17]。某一文件一样简单。无服务器。SQLite数据库系统由于其内嵌到应用程序中,所以无需安装独跨平台。SQLite数据库的应用,既与操作系统无关,也与具体的硬件平台高可靠性。SQLite提供大量安全性测试代码,提供给开发者一个功能强大且只占开发者很小资源的数据库环境。代码开源。可免费用于各种用途,甚至包括商业用途。2.3.2SQLite层次调用与体系架构SQLite数据库能被当前几乎全部程序设计语言调用,根据调用方式不同,个子系统,如图2.3所示。步骤减少到最低[18],加快数据库的查询速度。再往下是高速缓存页面,它作用查询、删除、添加等数据库操作码。(1)接口(2)编译器的词法记号[21],经过评估后以语法树形式重组,语法分析器将该树下传至代码的汇编代码,然后交给虚拟机处理。(3)虚拟机体的数据库操作。(4)后端负责移动和排列数据库页,这些页是相同大小的数据块,存储着数据库的记录、B-tree维护着多个页之间的复杂关系,负责对所有页进行排序,以保证能够快速定位并找到一切有联系的数据。B-tree将所有页组织为树状结构[21]以适传输功能,辅助B-tree管理页面。Pager将频繁使用到加速磁盘操作的目的,最小化与硬盘交互所花费的时间[21]。到不同的操作系统上。2.4.1连接与断开连接intsqlite3_open(constchar*filename,sqlite3**ppDb);intsqlite3_close(sqlite3*db);了连接的数据库有附属库的情况。2.4sqlite3_open()创建流程图sqlite3_open()函数用于打开指定文件名的数据库,参数filename是操作或null,sqlite3_open()将打开磁盘临时文件,在关闭连接时自动删除文件。如果赋值文件名,则sqlite3_open()尝试打开通过参数值指定的数据库文件,若该文件不存在[24],则创建一个新的数据库文件。若函数执行成功,返回句柄代表到数据库的一个连接。当函数执行出现异常则返回相应异常代码。sqlite3_close()可以关闭连接,参数db为被关闭数据库句柄。若要成功执SQLITE_BUSY并显示错误信息。sqlite3_open()和sqlite3_close()成对使用,2.4.2执行查询intsqlite3_exec(sqlite3*db,constchar*sql,sqlite_callbackxCallback,sqlite3_exec()封装了sqlite3_prepare()函数、sqlite3_step()函数、sqlite3_finalize()函数和sqlite3_reset()函数四个函数。函数sqlite3_exec()提供了方便、快速执行SQL命令的方法,能方便地执析和执行sql字符串中的每个命令,直到数执行提供了获取select语句结果的回调机制,由该函数第三个、第四个参数SQLite不提供任何错误的消息。如果函数执行成功,则sqlite3_exec()返回intsqlite3_get_table(sqlite3*db,constchar*sql,char***resultp,sqlite3_get_table()函数返回单独函数调用中一个命令的整个结果集。该函数封装了sqlite3_exec()并尽可能便捷地返回数据。sqlite3_get_table()函数接收sql中的SQL语句返回的所有记录,将返回结果存储在参数resultp中。必须使用sqlite3_free_table()释放内存[24]。sqlite3_get_table()函数与sqlite3_exec()函数功能类似,只是不支持回调机制,而是通过resultp参数返回所有查询结果。2.4.3准备查询装查询工具函数有效简便,但在不同的应用场合缺乏灵活性。比如sqlite3_exec()函数以ASCII码的形式返回所有查询结果。当回调函数中函数sqlite3_prepare()编译查询,使用函数sqlite3_step()分步执行查询,使用sqlite3_finalize()关闭查询,使用sqlite3_reset()重用编译。执行过程如图2.5所示。2.5准备查询流程图(1)编译阶段intsqlite3_prepare(sqlite3*db,constchar*zSql,intnBytes,sqlite3_stmt**ppStmt,constchar**pzTail);B-tree游标、绑定参数、执行上下文以及执行sqlite3_step()过程中所需要的查询语句时返回zSql字符串中剩余的部分。sqlite3_prepare()函数对连接或数据库没有任何影响,不会启动事务或者一个连接对数据库模式进行更改,那么sqlite3_prepare()执行将会失败。当由于模式更改使语句失效,函数sqlite3_prepare()会尝试重新编译语句,如果无(2)执行阶段intsqlite3_step(sqlite3_stmt*pStmt);sqlite3_step()函数的数据库锁。如果无法获得锁并且未指派繁忙处理函数,则集的第一条记录,依次后移直到末尾值之前,sqlite3_step()函数返回每个记录SQLite提供了三类与处理查询结果相关的函数。sqlite3_column_count()sqlite3_column_decltype()函数获取字段在表模式定义中声明的数据类型。sqlite3_column_xxx()函数获取当返回。(3)完成或重置intsqlite3_finalize(sqlite3_stmt*pStmt);intsqlite3_reset(sqlite3_stmt*pStmt);sqlite3_finalize()关闭语句,释放资源并提交或回滚所有的事务,释放相sqlite3_reset()函数保持了已经编译的SQL语句,使其可以重新执行而避免再次调用之前的函数。致性。SQLite支持事务处理,保证一个事务的所有操作完成,否则全部回滚,返回至原状态。的。锁和事务是紧密联系的,当事务对某个连接的对象进行操作时,先申请锁,个连接对象同一时刻只对应其中一种锁状态。语言,以命令模式表达语句,以描述行为的动词开始,语句简单且易于理解。(1)结构定义[,constraints]);select_statement;启动该组命令。[before|after][insert|delete|update|update速查询的结构。(2)删除示。引图引(3)数据操作selectselect_listfrom(column_list)values(value_list);据predicate;SQLite嵌入式数据库提供了以源码发布的方式,要在众多的硬件平台进行(1)到http:///qt/source/下载Qt/E源代码包,本文使用的版本为4.5.0版本。如果交叉编译器成功安装,可通过终端命令arm-linux-gcc–v来查看安装好的交叉编译器版本。(3)解压源码包,tarxjvf源码包进行操作和配置。配置选项中-qt-sql-sqlite选项表明编译时,Qt4.5.0#./configure-prefix/opt/EmbedSky/qt-4.5/install/arm/-release-shared-fast-no-largefile-qt-sql-sqlite-no-qt3support-qt-zlib-qt-gif-qt-libtiff-qt-libpng-qt-libjpeg-makelibs-little-endian-qt-freetype-depths16-qt-gfx-linuxfb-qt-mouse-linuxtp-qt-mouse-tslib-I/tslib-1.4/inclued-L/tslib-1.4/lib&&板上运行时所需要的库文件等,安装完成后生成目录文件如图3.2所示。使用Qt4.5.0时,需要拷贝到开发板上的文件夹是“lib/”和“plugins/”率。添加编译环境,如图3.5所示。成。如图3.7所示。开发环境变量如图3.8所示。该嵌入式高光谱光谱指纹数据库平台为了给开发者及用户提供可视化的界好,对于用户开发来说是非常方便。3.5.1主界面设计要为用户带来友好的界面。平台所用功能按钮控件列表如表3.2所示。selectLabelselectLine局方式,界面结构层次清晰,简洁。布局效果图如图3.9所示:3.5.2数据库表设计据的特点及相互间的联系,按照SQLite设定表的字段,确定每个表的主键及连接方式。这种存储规范,使得光谱数据和属性分开存放,结构清晰,有利于扩展。另外,的查询效率,有利于数据库的维护和安全性。(1)波段独立顺列式间。(2)波段集中整合式段进行定位、跳跃等操作,大大降低整个数据库系统的速度。(3)表单位式性差。 表中的表以一种类型的数据对应一个单独的记录,该记录不以每个波段为单位, 扩展性差的缺点,同时兼顾查询速度。本由样本名唯一确定。3.5.3功能设计进行匹配的功能。的数据结构。使用B-tree结构可以显著单击“Select”按钮即可获得查询结果。(2)匹配功能。光谱指纹具有长期不变性、普遍性、稳定性和唯一性[36],理是通过计算维数空间的光谱样本矢量与未知光谱矢量之间的角度来进行类别的选择是影响地物识别、分类精度的关键和难点。光谱角阈值选取过大或过小,能迅速从数据库中匹配与所输入光谱指纹最相似的一组物质。if(dataModel->submitAll())elsedataModel->database(dataModel->revertAll();开始事务处理,需要对代表数据库的数据库模型调用动提交更改至数据库。此时重启开发板,检查是否该数据库会自动提交更改至数据库。代码如下:Material”界面,若确认删除,则单击“Yes”按钮,确认删除,若返回,则单该文件,则读入该文件内的地物及光谱指纹数据,通过setD…dataModel->setData(index_sig,sig并测试条件是否满足[37]。本数据库系统中,当开发板pthread_create(&td_write,NULL,write2flash,NULL);pthread_create(&td_transfer,NULL,transfer,NULL);经满足,解互斥锁,退出传输线程。… 传输线程传输传输 无无有无无有有放资源。传输线程和写入线程多任务流程图如图如果不存在sig.txt文件,则在数据库表末尾新增一空行,需手动添加。如dataView->edit(index);谱指纹,可通过网络传输,写入上述sig.txt内,即可添加至数据便了用户对数据库数据的添加操作。种类能够为高光谱遥感技术分类、识别提供极大帮助。行匹配。该平台经济又高效,具有较高的实用价值,并可移植到其它平台。光谱指纹数据库的建立,方便了人们对高光谱遥感数据的管理量机作为分类器,对高光谱遥感数据进行分类,获得良好的分类效果。式系统的支持向量机的目的,与嵌入式高光谱光谱指纹数据库系统相辅相成。高光谱遥感影像的目标检测指的是在高光谱数据立方体中搜索已知或未知用性强[39]。[40]提出的,经过实践证明,其在高光谱运用[51,52]。这一像元的光谱响应特征。那么,假设的二值目标检测模型[53-55]如下:表示含有目标;表示背景像元;代表目标像元。为判定阈值。原因所在[46]。基础。90年代中期,随着支持向量机方法在实际应用中的成功运用,越来越得传统机器学习方法基于经验风险最小化原则[60-65],为了达到较好效果景下发展起来的,支持向量机综合考虑样本的学习能力和样本信息的复杂程度。的支持向量机模型。线性情况下的分类问题。(4.3)(4.4)(4.5)支持向量机模型复杂度的是支持向量机的个数。与支持向量在高维特征空间中的内积,输出为各中间层求和。如图4.2所示。(1)线性核函数:(2)径向基核函数:(3)多层感知器核函数:4.4仿真实验(1)数据概述半部分涂有草绿涂敷材料。目标光谱指纹(每组200个样本分别为sig_1到sig_8。八组光谱指纹响应八组光谱指纹响应对应的目标物质如表4.1所示:sig_1sig_2sig_3sig_4sig_5sig_6sig_7sig_8(2)实验步骤家知识的情况下确定上下两组靶标的物质及涂敷材料,输出结果图并分析结果。(3)实验结果与分析检测率如表4.2所示:板板板板板板0相关系数检测率如表4.3所示:板板板板板板果失效。下面对失效原因进行分析。123456781121314151617181123456781121314151617181点;从已建立好的光谱数据库中提取八组靶标光谱数据样本,每组靶标分别取表如表4.6所示,板板板板板板份与第一组光谱指纹响应物质一致,即靶标1-靶标5的右半部份为草绿铁板,的左半部份为军绿木板,与实际高光谱遥感数据情况相符。因为核技术的引入,4.5算法移植大大提高了传输效率,在作战情况下,大大提高作战的实时性。RX异常检测算法移植分为五步,分别包括:计算样本均值向量、计算角线上的值为各个波段维上的方差。例如cov(1,2)的求解过程,先用第一列的所示。<>满足4.5.2支持向量机算法移植{{unsignedintuiCol;//特征长度核函数初始化核函数初始化uiLen);int*iClassLabel);iClassLabel表示返回的数据分类标签。分类器分类主要实现公式(4.5并对(6)释放资源。释放算法移植过程中的资源,避免资源浪费和内存泄露。响应数据对大致目标进行匹配。中,对高光谱遥感影像数据获取时的环境没有明确的标准。 5.1总结飞速发展,光谱数据不断剧增,对不同地物光谱数据库的建立有了更高的要求,一重要表现。一体化。本文主要工作和研究成果有如下几系统,为数据库系统的研究开发奠定扎实基础。可以进行后续光谱数据库的开发。纹进行匹配。的效率。5.2展望多问题需要进一步深讨、研究的地方:大的内存空间存储数据,而产生内存溢出问题。应的差别,是光谱成像仪亟待解决的问题。是必须解决的问题。活历程,对那些帮助过我的人,我心中充满了感激。平台,让我不断吸取新知,充实自己。私的爱与照顾是我不断前进的动力。[1]童庆禧,张兵,郑兰芳.高光谱遥感原理、技术与应用[M].北京:高等教育出版社,classification[J].IEEEGeoscienceandRemoteSensingLetter07(1):88-92.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【假期提升】五升六语文暑假作业(八)-人教部编版(含答案含解析)
- 2025年军队文职人员招聘之军队文职教育学考前冲刺模拟试卷B卷含答案
- 2019-2025年消防设施操作员之消防设备高级技能通关考试题库带答案解析
- 社保基础知识培训
- 2024年黑龙江公务员《行政职业能力测验》试题真题及答案
- 2025年反恐怖主义法知识竞赛试卷及答案
- 皮革基础知识培训课件
- 中学生成长电影观后感
- 民间个人消费短期借款合同书
- 古诗词学习感悟
- 环境监测安全培训
- 第六课 呵护花季激扬青春
- 建筑工程原材料检验与取样规定
- 演唱会安保方案及应急预案
- 10kv高压送电专项方案
- 城市轨道交通车辆制动系统课件EP2002
- 工会心理健康讲座助力
- 阿那亚-社群营销课件
- 糖尿病性眼肌麻痹的护理查房
- 《沃尔玛企业物流成本控制现状及完善对策研究》22000字
- 工程项目成本核算表格
评论
0/150
提交评论