文摘

早期发现Lobesia botrana一个适当的控制是一个主要问题的昆虫视为小道消息的主要害虫。在本文中,我们提出一种新颖的方法l . botrana识别与描述符使用基于聚类分割的图像数据挖掘考虑灰度值和梯度在每一段。这个系统允许的95%l . botrana在尚未充分控制照明、放大和取向的环境。我们的图像捕获应用程序目前在移动应用程序中实现和随后在云中分割处理。

1。介绍

葡萄藤蛾或Lobesia botrana(鳞翅目:卷蛾科)是一种入侵昆虫视为葡萄园中最具破坏性的害虫之一(葡萄l .)(1]。葡萄园的损害是由直接喂养幼虫在葡萄浆果、生产腐烂和脱水,导致降低生产产量和增加容易受到其他疾病如灰色和黑色霉菌(葡萄孢菌黑曲霉)[2,3]。的l . botrana是广泛分布在欧洲和被认为是一个主要的葡萄藤二十世纪以来的害虫。在南美,l . botrana在智利,首次检测到Linderos的面积,大都会地区2008年4月,(4]。今天,l . botrana传播到所有的智利的葡萄种植地区。

l . botrana管理已成为智利由于特别相关的潜在经济影响全球葡萄为主要出口国。斜纹夜蛾用陷阱控制执行包含信息素吸引了斜纹夜蛾雄(5]。这些陷阱中位于葡萄园面积半径为500米的形成从检测到的爆发6]。目前,大约有33.000陷阱分布在智利的具体控制l . botrana。校准和验证蛾生长模型,为了采取措施集中在爆发疫情的葡萄园,它需要有信息飞蛾的数量在每个陷阱,在不同的时间窗口。然而,这些信息的收集是手工完成的,使系统昂贵的时间和不允许执行实时操作这些葡萄园。因此,需要有一个检测的自动控制系统l . botrana估计飞蛾的实数和存储的信息与每个陷阱相关流行病学研究。鉴于陷阱和图像捕获的数量,系统必须能够识别标本l . botrana在大量的图像。另外,因为工作中执行一个特定的时期,它是有用的管理根据需求计算能力。

其中一个最令人满意的图像识别系统依赖于二进制分类使用滑动窗口方法。然而,滑动窗口方法强烈增加了计算成本,因为分类器函数计算了大量的候选人好子窗口(7]。考虑到需要大量图像处理识别l . botrana标本,本文提出了一种新颖的方法通过一个移动应用程序,使用手机相机捕捉影像,以及一种基于图像分割的算法,执行快速和自动识别l . botrana标本。该算法是基于使用 ——集群技术结合灰度和梯度描述符进行分类(8]。因为的正常运行l . botrana识别系统可能需要每天处理30000多个图像,算法的分布式版本使用Apache火花作为一个分布框架实现。

实验进行了一个版本的算法评估使用滑动窗口分割使用的版本。实验评估的质量认可和两种算法的执行时间。用分割的算法,我们也评估分布式版本的可伸缩性。结果表明,分割算法的执行时间和质量改进的识别对使用滑动窗口。本文的其余部分组织如下。节2我们目前的相关工作在农业和分割。捕获的图像的应用程序并将它们存储在数据库中描述的部分3。简要描述分布框架做的部分4。部分5描述的细节分割算法与分布式版本。最后的结果和结论部分中描述67

2.1。计算机视觉在农业

计算机视觉已经使用在农业和食品加工在过去的几十年,目的是自动化等各种过程的质量检验,分类和排序的产品(9]。当时的想法是取代传统手工操作劳动密集型,缓慢,容易出现人为错误(10]。尽管重大进展在过去的十年中,创建新的算法,新的范例,和新的挑战来处理大数据复杂性允许应用计算机视觉研究现实问题,与一个特定的焦点在农业(11- - - - - -14]。

这些挑战之一是图像分割的应用技术,它把产品在图像处理区域从背景。它是图像分析的第一步后,图像捕获图像细分成有意义的区域。分割的结果影响到后续的图像分析。图像分割技术在农业方面应用了产品尺寸的估算15)、形状(16),排序(17],杂草检测的治疗[18),和地面分类(19]。

另一个重要的研究领域在计算机视觉和农业领域的应用深度学习技术(20.- - - - - -22]。这种机器学习技术是基于神经网络的概念和学习图像卷积特性自动重复训练,误差传播,和增量学习20.,23- - - - - -25]。一些深度学习架构测试来识别飞蛾和其他昆虫图片使用主要在实验室条件下获得的图像与巨大的成功26- - - - - -30.]。

2.2。细分技术

在下一节中我们目前使用的主要的图像分割技术。

(1)基于边缘的图像分割。边缘检测包括各种数学方法,旨在确定点在图像的亮度变化大幅或不连续。利用光谱方法和形态学分水岭算法在31日),提出了基于边缘检测的分割框架。在[32)基于边缘检测的光照不变特征检测器相一致。作者表明,使用相一致的标记特性具有显著的基于优势梯度方法。在[33)基于边缘的自动阈值选择方法来生成提出了多尺度图像分割。带重量和归一化植被指数(NDVI)用于计算重量。

(2)基于阈值的图像分割。在经典的阈值图像分割,图像通常是分段和简单的排序对象和背景通过设置一个阈值。但是如果有图像中复杂信息,阈值并不是简单的获得。基于阈值的图像分割的一个重要的研究是设计算法,允许获得最优阈值。例如,在[34)一种方法来检测基于熵的阈值并将其应用于图像的灰色。直方图被用于(35解决一个阈值的自动检测。在[36)基于阈值的水平集方法包括基于阈值的分割和快速行进法提出了。这是应用于医学图像分割。在[37]他们提出一个新的基于计算智能的阈值分割方法来提高图像的采集过程中计算机视觉。

(3)基于偏微分方程的图像分割。执行分割的一种方法是检测对象在原始图像的轮廓。PDE模型的主要思想是将部分对象的问题转化为最小化能量函数的曲线非常接近。在文学有许多例子PDE适用于分割。在[38)模型提出了一种变体使用四阶和二阶PDE PDE的手指静脉图像。在[39)使用一个新的细分模型基于测地线的轮廓模型应用于彩色图像。一个新的非线性偏微分方程(PDE)应用于灰色图像提出了(40]。

3所示。图像捕捉应用程序

移动和web应用程序是为了捕捉图像和报告相关信息给用户。数据12显示移动和web应用程序的屏幕截图。移动应用程序是一个原生的Android应用程序。图像陷阱挂在了球场上,记录GPS捕获的位置和日期时间。然后通过手机网络上传图像(如果可用)或wi - fi到云服务器要处理。处理后,图像显示在web应用程序专家昆虫学家为了驴蛾数和采取行动基于特定地方的病虫害情况。

3描述的步骤捕获图像的陷阱。第一个陷阱必须打开和粘性网格面朝前必须放置到捕获设备。这个设备可以是一个带摄像头的手机或普通数码相机。一些陷阱有一个三角形(δ陷阱)或一盒的形状。一些陷阱的粘性的一面没有网格,如示例图如图所示3

在2016年9月到2017年2月,50 V之间部署陷阱,第六,第七,大都市地区。总共26个用户超过400场上图像生成。图4显示了陷阱的位置在V, VI,七世,都市地区。这些陷阱定期访问一周一次,每次得到一幅画。图5显示图片的例子得到场上使用移动应用程序开发。

4所示。火花分布式框架

本节描述分布式火花的主要概念框架。这个框架将用于部分5.4分布式版本实现的分割算法。分布式实现旨在解决的问题大量的图片。

近年来,可用的数据量显著增加(41]。这主要是由于简单和廉价的存储过程。然而,这是无用的的数据量没有充足的知识提取的过程,我们使用机器学习方法。本卷、多样性和复杂性(42研究人员数据带来的挑战,因为传统的机器学习方法不能处理这种情况。基于云计算技术提供了一个理想的环境中处理数据的挑战。解决这个问题的先驱的大规模和复杂的数据是MapReduce框架(43]。这个框架是基于数据的局部性原理(44)这是在分布式文件系统中实现。然而,MapReduce不足通过多个步骤需要共享数据的应用程序,或者迭代算法(45]。许多平台用于大规模处理最近出现了克服Hadoop MapReduce所呈现的问题。其中,火花(46)是最灵活和强大引擎的执行速度分布式计算在大数据通过使用内存中的原语。

火花是一种先进的高性能并行计算框架旨在处理迭代程序,递归地执行操作相同的数据。这是用于机器学习算法(47),成像处理(48,生物信息学49),计算智能(50],天文学[51),医疗信息(52),等等。

火花出生作为一个内存中的集群计算框架来处理和分析大量的数据。它提供了一个简单的编程接口,使应用程序开发人员能够轻松地使用CPU、内存和存储资源在集群的服务器处理大型数据集在内存中(46]。

火花被迅速定位为一个通用平台。它提供了一个统一的集成平台,不同类型的数据处理工作。它可以用于批处理,迭代过程,互动分析,流处理、机器学习和图像计算。

弹性分布式数据集(抽样)是核心的数据单位火花。这些单位是分布式和不可改变的;就是抽样的变换抽样和容错记忆抽象。有两种类型的操作:转换,采取抽样,抽样,和行动,采取抽样和产生价值。各种集群管理选项可用于运行火花,从简单的火花的独立的解决方案,Apache便和Hadoop纱(53]。

考虑到工程应用中我们选择使用Hadoop纱管理。Hadoop纱,最近的实现中,使用云计算(54]使成百上千的机器提供计算和存储等服务的需求。一般内部实现需要大量投资在硬件、软件和维护(54]。

5。算法

本节旨在描述分割算法。第一,将一个总体描述,然后详细的模块。最后一节包含算法的分布式版本。

6显示了流程图,使构造的分类器l . botrana飞蛾。360年作为一个数据集,我们考虑通过图片描述的应用程序部分3。120年的360张图片对应于三组图像每一个决议 , , 。100图像执行验证。每一个图像预处理,然后一个分割,最后生成的描述符,允许执行应用SVM分类器的训练。分类器的训练,一组5018段没有飞蛾和2136段飞蛾。

另外与评估的目标分割算法的识别l . Botrana我们比较不同元素的性能通常粘在粘层的陷阱和其他昆虫一样,叶子,和设备使用的陷阱。这一目的,我们分析了5018段没有飞蛾和1325段包含元素的一个子集陷阱提取的底部。

5.1。预处理阶段

作为第一个活动的预处理阶段,使用中值滤波去除颗粒的尘埃和亮度的意图,出现在照片。一个例子是显示在图7。是一个使用的过滤器 矩阵,每个像素都有同样的重量。随后一个均衡使用对比应用有限的自适应直方图均衡化算法(CLAHE)。这个算法使用直方图计算在不同瓦地区的形象。因此可以增强当地细节甚至在区域比大多数图像的变深或变浅。然后应用3图像缩放比例:0.75,0.5,0.25。这些扩展步骤旨在认为照片可以在不同距离的手机。使用执行缩放、近邻插值。最后一个灰度转换被处决。这种转换使用比例

5.2。 ——分割算法

这个项目的主要目的是识别l . botrana飞蛾。一个基本阶段对应于飞蛾的分割。每个彩色图像进行分割,比例为0.75,0.50和0.25 ——聚类技术应用于每个图像。在度量空间的定义能够适用 所示,则像素距离(1)和颜色距离所示(2使用)。实现适当的分割实现像素距离和颜色距离之间的权衡。这个代价是定义在(3)。这种类型的分割之前一直使用的(55在基准数据集和在生物医学的应用:

对应用于执行分割和度规 是一种规格化因素,在哪里 像素的数量和吗 段的数量。的参数 允许处理空间距离和颜色之间的加权距离。在图8可以观察到两个分割。图8(一个)使用 和图8 (b)使用

5.3。描述符和支持向量机分类器

进行细分后,下一步是区分段包含飞蛾从那些不包括飞蛾。为了实现这一分类,使用灰度段。对于每个部分定义了两个描述符。第一个描述符对应的直方图灰度值的部分。直方图是配置了10箱,每箱规范化段包含的像素数量。这产生一个十维向量在每个维度值区间[ , ]。第二个描述符是获得结果的计算直方图的梯度模量。这个柱状图也是标准化的像素总数。在这种情况下使用的箱子数量是5。使用以下步骤来计算梯度模量。

(1)梯度计算。索贝尔(56操作员使用。完整的图像, ,是用来计算每个组件的梯度图像的所有像素: (2)计算梯度模量。所有像素的图像 梯度计算模数据 (3)直方图计算。的柱状图 计算出每一段获得的吗 ——分割过程。

最后一步对应于训练分类器。使用培训,5018段没有飞蛾和2136段飞蛾。一个 倍交叉验证进行 执行参数调整。

5.4。分布式算法

由于体积的照片估计需要处理和考虑到市场细分的过程描述符对应的生成消耗时间最多的人,在这一节中,我们提出一个分布式版本的分割算法和一代的描述符。这个版本是使用火花分布式计算框架设计的。

该算法可分为两个主要阶段:分割阶段和一个描述符生成阶段。在分段阶段算法作用于完整的形象。这一阶段的结果对应部分的列表。描述符生成阶段作为输入部分的列表,每一个片段,描述符计算。计算的分布式算法解决分布在分割过程中以及计算段描述符的列表。

细分阶段。让我们假设已经读取的图片列表Hadoop分布式文件系统(HDFS),用来存储图像。进行阅读,binaryFiles函数使用,生成相应的抽样文件。此外,列表 取得初始质心,考虑一个等距分布不同的重心。分配过程分割阶段执行像素和重心的水平,其中一个像素对应于五维distance-color向量定义(3)。分割阶段的第一阶段是执行一个映射算法所示1。每个像素 映射到对( , ), 对应于质心接近像素 。执行这个操作,我们使用火花映射转换。第二阶段是执行一个reducebykey,对应于质心的关键 (参见算法2)。的矢量和像素在五维空间,结合像素的计数与重心。执行此操作,请考虑reducebykey行动。最后的值更新新的重心。

(1)输入像素 ,
(2)输出像素 ,
(3)为每一个
(4)如果 然后
(5)
(6)
(7)如果
(8)结束了
(9)返回( , )
(1)输入keyValue ,像素
(2)输出 ,
(3)为每一个
(4)
(5)
(6)结束了
(7)返回( , )

描述符生成阶段。这个阶段的目的是执行的计算描述符,允许分类。在这个阶段的图像分布在片段级别。执行分配一个映射函数映射的部分(段描述符)。每个地图包括计算一段(见算法3)。

(1)输入
(2)输出 ,描述符
(3)返回( , )

6。结果

6.1。参数设置

考虑到每个算法需要参数化,为了找到最好的参数,它被认为是执行 倍交叉验证的每个组合显示在列在表范围1。交叉验证, 被认为是。作为衡量最好的配置, 是使用。在表1,最后一列显示了配置选择的价值收益最好的准确性。

为了有一个更好的清晰分割的效果的分类、参数NumSegment进行了研究。为了执行这项研究中,一个实验的定义中,其余的参数是固定的考虑最后一列的值 倍交叉验证和执行 考虑到价值500、1000和1500的参数NumSegment。对于每个交叉验证结果,真阳性率(TPR)和假阳性率(玻璃钢)计算。实验结果如图9。这是观察到, 用蓝色表示,对应于最好的结果,这个案子 有一个糟糕的TPR性能和 玻璃钢的性能较低。

6.2。描述符设置

在一节所述5.3描述符使用,结合归一化直方图的灰度归一化直方图使用梯度模量。方程(6)是为了确定箱子的数量最好区分蛾段从那些不包含飞蛾 对应的归一化直方图平均段l . botrana和王的归一化直方图平均段l . botrana 对应的函数返回本 直方图。对于每一个本,从获得的价值l . botrana段的值中减去段l . botrana。然后模函数之和 应用垃圾箱。直方图越相似,越接近柱状图测量值为0;在我们的例子中我们寻求最大化柱状图测量价值。范围之间的5和12箱对于灰度和梯度的4到10箱模块验证。最好的结果在应用(6)所示的数据1011

最后,使用部分中描述的其他元素的数据集5,我们为灰色和生成直方图归一化平均模量梯度。在数据1213结果显示。尽管数据直方图的行为l . botrana不同于数据集得到的直方图与其他元素,当比较后者l . botrana柱状图,观察到一个适当的分离。

6.3。 ——分割算法的评价

分割算法的评价都使用了100张图片,并不包括在参数配置阶段。执行比较一个使用滑动窗口算法设计。当我们应用滑动窗口,它假定对象定期外观不变形。数据库建立nxm固定大小的窗口包含对象和其他不包含它。这是用来训练分类器。一个nxm窗口滑在整个图像和分类器查询是否每一个窗口包含对象。滑动算法使用相同的步骤和配置作为分割算法描述部分5.2,除了 ——分割阶段,它使用滑动窗口。窗口大小是 和步长8像素。

比较关注的是识别的质量以及不同算法的执行速度。在质量评价的情况下,新图像的识别,分析了0.75,0.5和0.25。我们使用电脑的执行实例运行Windows,在基于Intel®酷睿i7 - 4770处理器16 GB的RAM,在Python 2.7程序。

2显示了两种算法产生的混淆矩阵。应该指出的是,分割算法优于滑动窗口在所有情况下。因为我们的矩阵类分布不平衡,以下指标被认为是进行比较:(1)灵敏度:TP / (TP + FN)(2)精度:TP / (TP + FP)(3) 分数: (4)马修斯相关系数:

95.1%的平均分割算法产生了特异性;在滑动窗口的情况下这是91.4%。的精度指标,细分算法的平均收益率为92.2%,和滑动窗口是90.01%。的 分数产生的分割算法是93.65%,在滑动窗口的情况下是90.76%。最后对马修斯系数值是93.36%,细分为90.41%,滑动窗口。

此外,一个混淆矩阵构造了评价算法的性能对其他元素的数据(表3)。这个数据集生成从1135年的100张图片段含有其他元素。分割算法对于其他元素的情况下数据,获得平均特异性为95.15%,准确性为99.5%, 系数97.2,马修斯系数为88.1%。

执行执行时间的比较,我们认为决议的三组图像 , , 。为每个图像获得的处理时间和由一个箱线图如图表示14。在这个图可以看出分割算法有更好的执行时间比滑动窗口。情况下的分割算法的平均时间是31.8(年代) ,51.5 (s)的结果 ,118 (s) 。当使用滑动窗口的时间为316.5,649.2和1515.5。最后图15显示了两个测试图像分类结果。

6.4。 ——分割算法的可伸缩性

对于分布式算法实验关注的是测量其可伸缩性。该算法是使用Python 2.7和火花库开发的。这是在Azure上运行平台使用1.5.2版本的火花和Hadoop 2.4.1。

为了评估算法,我们认为是分辨率,图像,和不同数量的执行人。360数据集的图像被认为是用于训练和验证算法。这些图像复制1、10和100倍以生成组360年,3600年和36000年的图像。每组划分根据他们的图像分辨率。可伸缩性测试1、2、4、8、16执行人被认为是。由集团和分辨率测量相对加速。对于火花配置,三个参数被认为是:num-executors控制执行器的数量要求,executor-cores财产控制并发任务执行人可以运行的数量,每执行者和executor-memory对应的内存。正确使用一个执行人推荐使用3至5芯。被认为是引发设置如表所示4

16显示了火花的相对加速曲线分割算法的分布式实现。相对加速计算的执行时间使用1执行人在执行计算获得。蓝线对应于完美的结果。曲线显示的三个实验,他们继续提供加速16执行人。当16执行人性能显然是sublineal。与360年的数据集图像偏离完美的结果平均为20.6%,为3600图像25.6%的情况下,和36000张图片的情况下32.1%。有关决议,最佳的性能在所有情况下都是最低的一个决议,但分辨率的影响是很小的。

7所示。结论

在这个工作我们已经提出了一个分割算法执行的早期识别Lobesia botrana。的机制选择适当的参数设置和定义的描述符,允许分类了。图像捕获移动和创建web应用程序Lobesia botrana识别。原生安卓移动应用程序将图片和记录日期和GPS的位置,使可能的实时蛾计数。图像识别系统是验证在2016年9月到2017年,50 V之间的陷阱部署在葡萄园,第六,第七,大都会地区在智利。

分类器算法开发l . botrana识别包含一个预处理步骤使用中值滤波和CLAHE均衡,然后分割步骤使用 ——集群和生成两个描述符;一段对应的灰度直方图,另获得计算梯度系数直方图。360被用于图像分类器的数据集建设。

——分割算法评估相比,滑动窗口的方法。分割算法优于滑动窗口在质量认可的新图像1,0.75,0.5和0.25。95.1的平均分割算法产生了特异性。

火花的分布式版本的系统。这个系统允许快速和可伸缩的云计算图像的分析,为球场上的应用程序提供一个理想的环境。分布式的可伸缩性 ——分割算法评估。曲线显示他们继续提供加速16执行人。当16执行人性能显然是sublineal。与360年的数据集图像偏离完美的结果平均为20.6%,为3600图像25.6%的情况下,和36000张图片的情况下32.1%。一个最佳的性能在所有情况下都是最低的一个决议,但分辨率的影响是很小的。

使用时间戳和GPS定位的附加信息被应用程序实现,未来的工作目的是生成模型,使确定的风险领域Lobesia botrana除了支持瘟疫的发展的条件。从计算机科学的角度来看它是有趣的工作在一个计算智能算法,可以确定最佳的参数设置。这将允许该算法自动确定参数很容易适应类似的识别问题。

的利益冲突

作者宣称没有利益冲突。