APP下载

服务机器学习的遥感图像样本采集技术与工具开发*

2021-10-14李天一樊浩宸李天赐孟祥卉

科技创新与应用 2021年28期
关键词:类别尺寸机器

李天一,樊浩宸,李天赐,孟祥卉

(吉林大学 地球探测科学技术学院,吉林 长春 130021)

机器学习发展迅猛,其技术方法广泛应用于各行各业。其中,计算机视觉技术中的深度学习方法在遥感目标识别、图像分类等领域也得到了广泛应用[1-5]。深度学习方法需要构建出对应实验要求的算法模型,通过对样本特征的学习产生结果并反馈以优化模型,最终实现速度、精度达到研究要求的模型。在模型构建的过程中,学习样本的采集和训练集、测试集和验证集的划分是一个重要环节。学习样本一般需要大批量、等尺寸图像作为数据集,对于遥感图像样本采集来说,原始数据来源一般是现存的各类卫星所采集到的遥感图像数据。在获取到原始数据后,需要根据研究要求对原始图像进行裁剪并重新命名归类,得到图片分辨率相同且按类存放的具有统一命名标准的图像,进而形成图片样本集[6-9]。

在样本采集过程中,会有多种因素制约图像采集工作效率,往往需要解决如下问题:首先,在遥感图像样本采集过程中,不可避免地会涉及到多种遥感数据类型。大部分的数据来源多样,不同类型的遥感数据存放在不同的遥感数据平台,因此在数据采集的时候需要在不同平台进行不同类别遥感图像数据的下载、采集和处理操作。此外,对于不同地物还有需要根据其具体尺寸选用不同比例尺的遥感数据等问题。在机器学习模型方面,要满足研究所选用的不同模型对图像格式的要求和训练模型时参数更改的需要,图像样本尺寸、类型一般是动态变化的。同时在同一模型下还有对遥感图像样本规范化的要求,操作上重复性的特征比较突出。所以,这一环节往往对采集的灵活性、效率、规范水平有着较高要求。其次,采集的样本图像形成的图像数据集需要服务于后续机器学习算法模型的训练与实现,因此不能在采集后简单地按文件夹存储。机器学习模型训练过程中需要通过数据集中的样本及时帮助模型发现参数问题,并且当发现采集到的样本数据存在问题时还需要对其进行修正,最后还要考虑机器学习图像样本的快速检索、样本浏览、快视图查看等需求。所以对样本动态检索与动态采集有较高的管理要求。

本文在吉林大学“大学生创新创业训练计划”培育项目的支持下,构建了尺度程序化控制,跨数据平台和软件平台的遥感图像样本采集方案,进而解决遥感图像样本规范化要求高、人工采集效率低的问题;然后运用数据库管理模式与可视化程序控制,实现样本图像分类化、动态化、结果可视化、样本信息同步采集的样本管理模型,从而解决机器学习模型对样本动态检索与动态采集的管理需求。

1 技术方法

1.1 规范化、尺度可变的样本图片采集方法

本文设计的机器学习遥感数据样本采集方式主要分为四个方面,分别是样本参数设计、平台选择、样本取图和图像信息入库四个方面(图1)。对于样本参数设计,首先需要确定采样数据源,以满足对所采集地物特征描述准确的要求。其次是样本采样尺寸的确定,以满足机器学习模型的参数要求。对于遥感数据平台的选择,主要根据所要采集遥感图像,进而选择合适的数据资源平台或遥感数据软件平台这两种平台进行获取。对于样本取图环节,首先是根据屏幕分辨率获取屏幕坐标,进而通过采样尺寸计算截图范围。然后将该范围内的像素转绘到相同范围大小的画布上,完成屏幕截图。最后进行样本数据另存。对于样本信息入库,我们根据所截取地物的类型和位次进行编码入库。并且将所截取的地物地理坐标和特征描述等其他信息一并进行录入。

图1 技术方法

1.2 样本分类与动态管理模式

用于机器学习训练和验证的遥感图像样本按不同类型进行管理(图2)。首先,在显示图片的时候需要对已获取的图片进行分类显示,需要确定所选择的类别信息,因此使用选项按钮获取目前所选择的遥感图像样本类别。通过与数据库进行连接,使用SQL语句查询该类别,提取该类别下的所有项目,在信息栏中呈现。最后将所有样本信息在图形页面中进行呈现。其次,动态管理方面,在类型确定时对该类型下的条目进行计数,得到同类型的总数,新图像的编号即为该类型下总数加一,最终实现新样本的入库。

图2 管理模式

2 关键技术实现方法

2.1 样本采样关键技术

在样本采集时,用户可通过参数设置设定截图尺寸等参数,然后通过鼠标点击采样的中心点,获取图像坐标,其实现代码如下:

Point leftUpPoint=new Point(this.mouseDownPoint.X,this.mouseDownPoint.Y);

if(e.X<this.mouseDownPoint.X)

leftUpPoint.X=e.X;

if(e.Y<this.mouseDownPoint.Y)

leftUpPoint.Y=e.Y;

然后,根据中心点坐标,结合设置参数,自动计算取样范围,从而确定取样的长宽像素值,通过截图方式获取标准化的样本,其坐标范围计算代码如下:

int wideth=Math.Abs(MyFieldClass.PicWidth);int height=Math.Abs(MyFieldClass.PicHeight);

this.rect=new Rectangle(leftUpPoint.X-wideth/2,leftUpPoint.Y-height/2,wideth,height);

this.Refresh();

其中,MyFieldClass.PicWidt是用户预设的采集图像宽度值,MyFieldClass.PicHeight是用户预设的采集图像长度值。

在确定好截图相关参数之后,建立与截图尺寸等大小的画布,并且进入截图状态(图3)。

图3 截图状态示意图

操作完成后所截取到的图,放在内存的粘贴板中,然后存为JPG格式文件,图像名称根据数据库的数据数量情况和采样类型,进行自动编码后存入相关文件夹。

2.2 样本动态管理的实现技术

在C#中使用radiobutton实现样本类型唯一选择,通过读取已被选择的radiobutton按钮文本信息获取目前已被选择的类别信息。将该类别字段作为查询字段,使用select语句在数据库中进行查找,进而将该语句的查询结果显示在列表栏中。并将查询到的图像缩略图展示在左侧图像框中,并设计单击缩略图可显示其快视图并显示其具体信息。在新图像录入时,对listbox中的项目进行计数,从而得知选择该类型下有多少项目,并将该数加一获得新图像录入的编号。图片路径通过定义静态变量存储,通过数据库查询某类记录,获取当前记录总数(N),类别为(K),则它的编码为“RS-K+(N+1)”,例如当前机场最大记录为“RS-JC-5”,因此下一采样的数据编为“RS-JC-6”,对应的样本图片自动命名为RS-JC-6.jpg(图4)。在截图完成后,还需要将新截图的信息存入数据库,通过SQL的INSERT INTO语句将信息存入数据库中。

图4 数据管理流程图

在新的图像样本及其信息入库后,将该类型下的样本图像编号全部读入到listbox,再将该类型下全部样本图像缩略图在右侧进行展示,并设计点击缩略图后在左侧展示该样本快视图、在下方展示该样本地理信息和特征描述的功能,达到可以直观地管理图像样本的效果(图5)。

图5 样本采集工具界面

3 结束语

本文围绕深度学习样本采集复杂性、可变性的特点,提出了一种基于数据库与跨平台式,尺度可变的样本采样技术,并基于Visual Studio和数据库二次开发技术实现样本的快速采集与分类管理,有效地支撑了深度学习模型训练,具有一定的实用价值。

样本信息分类化采集、管理、可视化浏览可以快速地实现机器学习样本库动态管理与问题排查,并且可以在每次截图过程中同时完成信息入库操作,避免了截图操作与信息录入操作两者并行的繁琐流程,简化了操作步骤,减少了录入错误情况的发生。在后续对目标地物进行样本采集的实践结果表明,本文采用设计与开发的图像截取与信息录入系统能方便快捷地采集等尺寸遥感图像,使工作效率大大提高。且为进一步划分训练集、测试集和验证集提供较好的技术支撑。

猜你喜欢

类别尺寸机器
机器狗
机器狗
CIIE Shows Positive Energy of Chinese Economy
论陶瓷刻划花艺术类别与特征
一起去图书馆吧
未来机器城
D90:全尺寸硬派SUV
佳石选赏
佳石选赏
选相纸 打照片