您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 农产品分离的改进的双通道改革
农产品分离的改进的二值化分水岭算法摘要在传送带上分离农产品是产品检测的第一步。我们提出了一种新的算法来达到分离(定位每一个产品并且把他们分类)。我们利用x-射线图像,它能提供关于产品状态(好或者坏)的内部信息。产品各项是随着大小,形状,灰度范围而变化,并且随机取向。很多项相互交错,所以需要新的技术来检测任何取向的各项,估计相互交错的各项和他们的中心,以及重叠的各部分,为重接输入的部分提供分离图像文件。检测结果由各种农产品的x射线和线扫描图像呈现。这个检测结果包括一个扩展的数据库。关键字:探测形态过程,产品检测,分离,流道改革,x射线传感器1、介绍X射线传感器已经成功用于很多农产品检测应用中,[1-5]包括小麦,坚果,生菜,苹果等。由x射线图像提供的产品内部细节能呈现蠕虫破坏和其他缺陷,并且是通过无破坏的方法。蠕虫有利于松软的土壤形成并且产生黄曲霉素。标准的检测技术不能确定很多缺陷,但是x射线可以。先前的研究[3]已经证实x射线可以确认魔蝇对开心果的入侵,但是不能找到重叠坚果的分离问题。这篇文章只关注于图像处理,从而生成单个坚果的数据文件,特别是定位和分离重叠部分。另一篇同期文章[6]对单项里各特征做了详细说明,并且对获得的结果进行了分类。我们提出新的图像处理算法,这个算法可以从大小和取向上处理重叠的农产品。我们在多种产品中测试了分离算法:无花果,杏仁,胡桃。用的无花果数据库很广泛。这篇文章中发展的新的图像处理和分离技术可以用于其它产品。在第二部分,我们详细说明了基于物体特性(大小,背景噪声等)的参数选择的广泛的分离算法和规则。我们展现了一个无花果的x射线图像数据库结果和说明了怎么利用少的变量扩展到x射线实时线扫描图像。第三部分描述了参数选择和我们对其他农产品的分离结果。2、分离算法重叠部分的分离算法分为主要的三个步骤:编程将坚果区域从背景中分离出来;确定项目的数目和他们对应的中心;确定重叠点或者重叠部分的分割线。我们提供的其它分离算法测试的详细说明在别的文章里[7]。我们描述了无花果的数据库以及得到的结果。我们提出的无花果数据库包括29盘的无花果2-Dx射线扫描图像,相同的29盘x射线线扫描图像。25盘大坚果(18-20个/盎司);2盘中坚果(21-25个/盎司)和2盘小坚果(26-30个/盎司)也包括在内,来说明处理算法的适用性。每一幅图包括100个随机取向的坚果,平均每一幅图有9簇,有2-4个重叠。用到的坚果是在分类和依大小分配后,并且已经用手将小枝和其它非坚果材料去除后得到的。这些都是在传送带上,将要送到自动视觉检测系统的产品的典型图像。用到了X-射线图像和实时(60mm/s)x-射线线扫描图像,他们有相同的分辨率。呈现出了2900个坚果的分离数据;在图像中300团簇重叠坚果和线扫描中的350(在线扫描中的图像要大6%,因为x射线的角度,并且图像有较低的对比度,更多的黑色区域和噪声)。图1.1表明一盘典型的坚果,图1.2是几个坚果的x-射线图像,它呈现的内部细节对于探测蠕虫侵染和外观分类非常有用。在获得坚果特征之前,分离是很必要的;所以i.e.一个单独的坚果文件必须有。可以看到,一个坚果的内部灰度变化也是相当大的。坚果可以以同的方式交错,产生大面积的重叠区域;在二值化后之后,将在一些坚果上呈现洞(图1.3)。并且大的坚果的大小宽度达20-25像素长度25-40像素(380-900像素/个)。因此,这是一个较难的图像处理分离问题。2.1处理。坚果图像第一个二值化产生双重图像。处理这样的双重数据比较快。二值化每一盘图像是不够的,因为白噪声区域出现(在顶或者底部盘子边缘),假象等,为了确定二值化值,我们忽略在背景区的异常白色像素(假象等)并且我们在每一幅图像上测量最亮的背景像素B和一个坚果上或者数据库中一个项目最暗的区域D(我们忽略每一项的暗区域的极异常值,如大的空气缝隙,极度感染等),二值化T是最亮背景像素和最暗测量坚果像素(忽略异常值后)的均值。所以T=B+D/2。对于无花果,二值化值在灰度15上选择。这样产生双重图像,图像中每一个坚果的大部分像素为1(图1.3a和1.3b)并且有很少的背景区域超过T。不考虑坚果中的洞,因为每一个坚果已经分离,我们把坚果洞填满。二值化之后,对图像上颜色,每一对象包括所有一个区域相联系的像素,每一对象分配到一个不同的灰度值并且可以包括一个坚果或者几个交错的坚果,每一对象包括的像素的数据是知道的。这个过程快,并且一种词典式扫描。2.2每一对象条目数量第一个问题是确定每一对象的坚果的数量和中心;没有这个,分离就不精确了。一个大的坚果的像素是380到900;因此,不能简单通过计算每一对象的像素数却低估每一对象包含的坚果。例如,有可能有2个坚果,每一个380,这样共760,比最大的坚果还小。更重要的是,对象区域测量不能提供坚果中心估计。我们的分离算法要求估计的大致坚果中心。我们标明一个对象是单个坚果条目或者包括多个坚果的规则是:如果对象的面积(用像素算)小于最小面积(最小极坚果的90%,包括小于350像素),省略它;如果它的面积小于两倍的最小面积(小于700像素),认为它含有一个坚果;如果它的面积大于700像素,我们认为它是一簇,用过滤器和分离算法分开处理。在最后算法选定之前,考虑了很多备用算法来定位坚果中心:如形态腐烂一簇坚果来分离交错的坚果,形态打开,马氏距离测量来分离等。这些算法和他们的缺点有详细说明[7]。我们发展了一种旋转-不变和变形-不变过滤器[9],定位坚果都有较好的效果。不过一种高斯过滤器表现更好。选择这项技术用高斯过滤来矫正对象团簇的灰度图像,)22/222/2()2/(1),(yyxxeyxgyx,222yx。这个过滤器相互关联程度输出是输入的一种平稳形式,输入随着灰度变化而下降(由于开裂的坚果,蠕虫孔,果肉和壳之间的空隙。)平稳输出中,我们认为在每一个坚果的中心附近有一个峰值。对于无花果数据库,我们选择σ2也就是高斯宽度为2σ(70%高斯面积所对应的)=暗区域(8像素)最大宽度。这个选择(σ2=15;或者σ约等于4)平滑化了x-射线图像灰度内部变量并且为当前坚果数据库输出了出色的探测成果。在其他数据库里,σ的选择要发生变化。图2表明了在一个团簇里用高斯过滤定位所有坚果的典型结果,2a表明一个包含三个坚果的团簇和单个的坚果。这个图和其轴测图表明由于坚果肉开裂,单个坚果没有明显的单个峰值核暗色的果肉区域。图2c中,高斯过滤的输出显示每一坚果的清楚的峰值。我们对于每一坚果簇的高斯输出来归一化,从而获得最大灰度值为255。为了检测峰值(每一团簇的条目)的数量,我们利用峰值筛选和隐蔽算法[10]。这个算法扫描不同的临界值的高斯过滤输出;当有一个峰值时,记录它的位置并且在将来处理中,忽略峰值周围的一个圆形窗口区域;接着,阈值降低,直到产生第二个峰值并且仿照上面处理,直到峰值选择的阈值Tps。无花果用的峰值选择窗直径为15(规则是选择它到90%最小的坚果的宽度);这样的峰值选择窗去除了大多数的只有一个坚果的,但是不改变中心或者邻近坚果的中心。最小的阈值Tps在给定的数据库下,从多个坚果簇的测试中获得。这个阈值选择方法比固定更好一点。在测试中,所有的无花果x-射线图像达到了所有的团簇、所有的坚果完美的100%检测,包括300小,中和大坚果团簇。对于所有的无花果x-射线图像,最低峰值为Tps=100,每一对象的关联输出已经归一化到最大为255。归一化保证了一个对象至少一个峰值,并且处理数据库中的灰度变化。呈现出号多错误的物体中心峰值;他们都邻近坚果边界所以在我们分离算法中忽略了,分离算法对于这种错误的物体峰值时可以接受的。对于无花果的实时线扫描x射线图像,大尺寸的坚果在线扫描图像中比胶片图像中有更多的坚果团簇(350vs300)并且对于交错的坚果有更大的重叠区域。我们的分离算法能达到99.3%分离精确(100%分离4小的和中等线扫描坚果图像,99.2%正确分离2500坚果图像,所以350个团簇中,340个正确分离,只有20个坚果没有正确分离)。图3a显示了一个典型的坚果簇,它没有实现线扫描分离。分离失败是因为线扫描中,坚果变大,并且重叠(交错的面积)的区域也变大,线扫描图像变暗,有更多的暗区域。线扫描图像的高斯过滤导致更低更少的确定的峰值(因为更多的暗区域的出现尤其是临近边缘的坚果)并且真正的峰值向两个坚果重叠的区域靠近。对线扫描图像算法的修改是在无花果线扫描图像交错部分做双重腐蚀(图3c)后再做双重形态上靠近(移除洞)。最后一步是对被腐蚀的平滑图像做峰值选择来定位坚果中心。线扫描图像的选择窗口直径为17像素,用它来说明线扫描中增长的坚果尺寸。然而,这样的增长是不必要的。这个新的探测算法已经用于29线扫描图像(小的,中等的和大的坚果);只有350中只有2簇没有正确分离(2900个中4个没有正确分离)。这是一个合适的分离表现99.86%。2.3分离算法知道了数量和中心,下面我们讨论分离。灰度流道算法已经提出来。然而,它只有当被测物有较小的连续灰度变化时并且没有重叠区域时工作良好。我们的无花果图像在坚果内,壳和肉的空隙间有较大的灰度变化并且相互交错重叠。对于交错重叠的坚果,边界区域的灰度比果肉区域的灰度暗,所以在补充图像中坚果之间有分界线。壳体旁边的空隙也会引起问题。在间隙中产生局部最小并且导致在补充图像中真正分界线每一端产生额外的流域。类似的,蠕虫通道和坚果开裂产生其他错误分界线;这种情况下,最小流域不是坚果中心。每一物体的单个流域必须确定,并且用于分离(我们的坚果中心估计允许这样,并且确定通道的个数)并且克服错误边界而不是正确边界的技术必须发展。我们考虑在应用灰度通道算法之前用高斯过滤平滑化图像,但是边界错误依然存在。当在一个物体中存在灰度变化时,灰度通道算法导致过度分离[11,12](一个物体被分成几个区域);如果用一个比较大的高斯平滑函数,欠分离产生[11]。因此,灰度通道算法不适合我们的应用,因为存在物体交错和内部灰度变化如物体边缘空隙。当物体不存在内部灰度变化时,移除物体周围的团簇比较适合。所以用双通道速算法。有好几个变量[12,13]。最好是通过应用灰色流道算法引入灰度距离变化图像。为了产生距离变化图像,坚果簇图像被限制从而获得双重图像。每一个对象上面的像素被灰度值取代,灰度值等于从坚果簇边缘的最近边的距离。图4b显示了一个距离转化例子。它的交错部分显示了两个小峰,这个峰值表明相对于原始灰度图像产生的交错部分更好的方式是分离坚果。图4d表明图4c交错部分的补充。注意明显的谷(坚果中心)和峰值(坚果之间分界线)。图4d的灰色流道转化生成最后分离图像。如果边界不规则或者比较复杂标准双通道算法有过度分离问题[14,15]。当物体不是椭圆或者圆形时(对于一些无花果),产生多流道和边界线。因此,标准双通道算法对于不规则边界的物体无效。应用于更广泛的物体,一些修改时必要的。这里用到的是双通道算法,坚果的数量和大致坚果中心知道。我们简单将灰色流道算法应用到距离转化图像直到两个完全分离正确的区域产生。我们的分离算法能忍受一定的坚果中心定位和数量估计(如果估计的比实际的数量多或者这样的错误比较靠近边缘)错误。用峰值选择办法,我们认为这样的错误峰值只在靠近边缘产生。双流道算法导致过分离图像,它在坚果边缘有一个小尺寸的额外区域;我们将这些小的分离错误区域和大的分离区域合并。这个双重流道算法(坚果中心估计,和避免过分离的技术)新颖,并且产生稳定分离。图5表示典型双通道分离结果。双通道100%正确分离x-射线图像的坚果和团簇,并且99.86%正确分离坚果和团簇x-线扫描图像。2.4最后坚果掩模一旦每一个坚果分离了,双对象彩色图案定义像素系列来替代每一个坚果。我们利用双掩模传送伴随产生的灰度盘子图像素值产生单个坚果的灰度。每一坚果的双重掩模不能有洞(图6.1a),因为这将在灰度图像中(腐蚀将会加大洞)造成0值像素。为了移除孤立坚果掩模的洞,我们将掩模放在黑色背景的光圈内
本文标题:农产品分离的改进的双通道改革
链接地址:https://www.777doc.com/doc-482467 .html