Artificial Intelligence and Robotics Research
Vol.07 No.02(2018), Article ID:25053,10 pages
10.12677/AIRR.2018.72006

Automatic Detection of Cattle and Sheep in High Resolution Images Based on Level Set

Aiwu Zhang1, Peng Gao1*, Lulu Liu1, Shatuo Chai2

1Key Laboratory of 3D Information Acquisition and Application of Ministry of Education, Capital Normal University, Beijing

2College of Animal Husbandry and Veterinary Sciences (Qinghai Academy of Animal Husbandry and Veterinary Sciences), Qinghai University, Xining Qinghai

Received: Apr. 30th, 2018; accepted: May 17th, 2018; published: May 24th, 2018

ABSTRACT

The traditional counting of cattle and sheep relies mainly on manual statistics, which is time-consuming and laborious. Aiming at this shortcoming, an automatic statistic method of cattle and sheep based on level set is presented by using high resolution image obtained from airship. Firstly, using the level set method to classify the image of cattle and sheep, according to the simple features of color, area, aspect ratio and so on, and remove the sundries and extract the part of cattle and sheep in the image. Then, the number of cattle and sheep is extracted by the number of connected domains. Experiments show that the method is simple and effective.

Keywords:Cattle and Sheep, Level Set, High Resolution, Statistics, Debris Elimination

基于水平集的高分辨率影像 牛羊自动检测的方法

张爱武1 ,高朋1*,刘路路1,柴沙驼2

1首都师范大学,三维信息获取与应用教育部重点实验室,北京

2青海大学,畜牧兽医科学院(青海省畜牧兽医科学院),青海 西宁

收稿日期:2018年4月30日;录用日期:2018年5月17日;发布日期:2018年5月24日

摘 要

传统牛羊数量清点工作主要依靠人工统计的方式,这种方法费时、费力。针对这一缺点,本文利用飞艇获取的高分辨率影像,提出一种基于水平集的牛羊自动统计方法。首先,用水平集方法对牛羊图像分割分类,根据颜色、面积、长宽比等简单特征,剔除杂物,提取图像中牛羊部分。然后,提取通过连通域数量,统计牛羊数量。实验表明该方法简单有效。

关键词 :牛羊,水平集,高分辨率,统计,杂物剔除

Copyright © 2018 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

1. 引言

现行的牛羊统计方法主要是人工统计,逐级汇总,工作量大,耗费时间长。因此,需要探索出一种新的统计方法。目前很少有研究人员在做这方面的工作,不过有很多研究人员在从事着基于图像处理技术的自动识别和技术 [1] [2] [3] 。这方面应用主要在颗粒、菌落、细胞和大米自动计数上 [4] [5] [6] [7] 。

周莹莉、曾立波 [8] 等人针对菌落图像特点,提出使用最大类间方差法对采集的菌落图像进行分割,分析菌落种类、大小和形态,并对分割后的菌落进行统计。G. Corkidi [9] 等研制出菌落图像分析系统,能够对不均匀、存在粘连菌落的图像进行分割、计数、分析。尤育赛 [10] 等人对重叠的红细胞图像进行研究分析,提高自动分割的精度。中国农业研究院的张云鹤 [11] 研究出了用于农作物计数的自动颗粒计数仪,该系统在PC机上可以实现,但由于需要特定的LED灯光照明,所以使用起来不是很方便。赵增华 [12] 等人曾以“绿僵菌”为研究对象,采用基于小波理论的图象分析法实现菌种的自动分类和计数。凌云 [13] 等人设计出检测大米外观品质参数的装置,该装置基于机器视觉能够实现对大米粒型参数的检测及数目统计。宋强 [14] 等人据此对棒材端面图像进行分析,实现了棒材的自动计数。

大学也针对不同用途的计数系统做过研究,如天津大学,重庆邮电大学,东北电力大学,吉林大学,包括一些国外的大学都进行过类似研究 [15] - [20] 。

虽然基于图像处理技术的颗粒、菌落、细胞和大米等自动识别和技术的研究比较多,但是却不能完全适用于牛羊统计中。因此本文在颗粒、菌落、细胞和大米等的成熟自动计数理论之上,提出了一种基于水平集的高分辨率影像牛羊自动检测的方法,可自动统计牛羊个数。

2. 研究方法

2.1. 图像分类分割

水平集图像处理的核心思想是不断求解关于水平集演化过程的函数,该函数是一个n维变量 [21] [22] [23] [24] 。

在这零水平集C(t)时所对应的水平集函数j,得到公式1所示:

{ C t = F N ( 1 ) ϕ ( C ( t ) , t ) = 0 ( 2 ) (1)

在公式1中,动力F是一个速度函数,它为法向速率,N是单位法向的方向。

对公式1中的(2)式,进行时间t的偏导数,可以得到以下的公式推导过程:

φ ( C ( t ) , t ) t = φ ( x ( t ) , y ( t ) , t ) t = φ x x t + φ y y t + φ t = φ t + φ C t

即化简为

ϕ t + ϕ C t = 0 (2)

在公式2中,Ñj是j的梯度是个向量,可以得到公式3:

ϕ = ϕ x i + ϕ y j (3)

在公式2中, C t 也是个向量,可以得到公式4:

C t = x t i + x t j (4)

公式3和4与公式1中(1)式是一致的,又因为以下公式5:

N = ϕ | ϕ | (5)

说明公式5与水平集函数定义有关。

即j是沿着曲线C的方向变化量为零,只能沿着其法线方向变化。

把5式带入公式1中(1)式中,再接着把公式1中(1)式带入2式中。

即可得

ϕ t = F | ϕ | (6)

公式6就是水平集函数的真实演化函数。

基本方程式式6是一个水平集函数,是在法向力F的推动下的演化方程。

本文选择水平集作为牛羊图像分割方法。

2.2. 牛羊提取

经过上面处理的图像,圈出牛羊区域,若统计牛羊数量,还需进一步处理。故在这引入了图像二值化的方法,图像二值化是为了从高分辨率率影像中检测出牛羊,即将图像分成牛羊和背景两个区域。通常的办法是假设一个阈值为θ,定义水平集分割出来的牛羊图像中灰度级大于θ的像素群为牛羊部分,灰度级小于θ的像素群为背景区域 [25] [26] [27] [28] [29] ,例如设原始图像为 f ( x , y ) ,二值化后图像为 g ( x , y ) ,则得到公式7,如下所示:

g ( x , y ) = { 1 , f ( x , y ) θ 0 , f ( x , y ) < θ (7)

通过处理,仍然还有一些杂物需要处理。

2.3. 杂物剔除与牛羊统计

剔除杂物会出现两种特殊情况 [30] [31] 。

第一种是有一些小块的背景区域被误当成了牛羊区域,本文选择数学形态学,图像膨胀、合并、开运算等,对细碎的牛羊部分合并,除牛羊之间相连现象。

第二种是有一些牛羊因为裁剪或拍摄等原因,使牛羊出现在高分辨率影像的边界上,出现在边界部分有一些牛羊不完全,而且还会影响后面的统计。针对这种情况,本文采取了边缘过滤的方法。即把边缘的牛羊部分全部变成背景区域,不加入统计。

本文采用四邻域标号搜索方法统计经过数学形态学处理产生的连通域。

2.4. 牛羊统计

虽然图像经过了以上二值化、滤波等处理过程,但总会存在一些残余的背景连通区域,而且图像中的多个牛羊可能在图像中聚在一起。因此所得到的连通区域数目不一定等于所要统计的牛羊个数。为了更为准确地统计牛羊数目,采用统计修正的方法来尽可能地减少这些不利因素的影响。

通过比较连通域的大小,当连通区域的大小小于平均连通域大小的1.5倍时,这时只算一只牛羊;当连通区域的大小大于平均连通区域大小的1.5倍且小于平均连通区域大小的2.5倍时,这时算两只牛羊;当连通区域的大小大于平均连通区域大小的2.5倍且小于平均连通区域大小的3.5倍时,这时算三只牛羊;当连通区域的大小大于平均连通区域的大小的3.5倍这时默认为不属于牛羊,属于其他杂物,删除该连通区域。

3. 实验结果与分析

3.1. 图像分类分割实验

在这里,因为水平集的动态处理步骤都是一样的,故在这做了一组简单实验,方便显示看效果和五组牛羊数目较多的情况下的实验。

首先,设定水平集函数的初态,得到如图1(a);其次,确定迭代次数,本文中数据选取的迭代次数为1000次;然后,按基本方程推演水平集函数的各个状态,对于每一水平集函数的状态求解零水平集。分别得出迭代次数为120次,400次,640次,880次的结果,如图1(b)~图1(e);最后,迭代次数完成1000次,牛羊也完全分出来了,得到结果图1(f)。

为了定量水平集算法的检测性能,本文采用了三个定量评价指标,分别是:漏检率(Omitted error)、误检率(Committed error),及总错误率(Total error) [32] ,分别定义:

漏检率:

(8)

误检率:

(a) (b) (c) (d) (e) (f) (a)为初始状态,(b)为迭代次数120次,(c)为迭代次数480次,(d)为迭代次数640次,(e)为迭代次数880次,(f)为终结状态。

Figure 1. Circling results of level set

图1. 水平集圈出结果

F A E R = F P T S (9)

总错误率:

F T E R = F A E R + F O E R (10)

此中, T S 是真实的牛羊连通区域数, F N 是没有检测到的牛羊连通区域数, F P 为非牛羊连通区域数。漏检率、误检率、总错误率都是数值越小表明算法的效果越好。

对五组高分辨率影像(图4)分别获取真实的牛羊连通区域数 T S ,未检测到的牛羊连通区域数 F N ,非牛羊连通区域数 F P 。通过公式8、9和10求取漏检率 F O E R 、误检率 F A E R 和总误差率 F T E R ,得出表1。通过表1可以看出,最大的漏检率为4.76%,最小的漏检率为1.35%,平均误检率为3.176%;最大的误检率为5.75%,最小的误检率为0,平均误检率为3.158%;最大的总误差率为10.35,最小的总误差率为3.07%,平均总误差率为6.334%。这些误差主要是因为出现了一些不可避免的图像噪声所引起的。但明显发现第四、五组实验的三个定量评价指标误差大于第一、二组实验的三个定量评价指标误差,这是因为当统计黑色牛的时候,有可能会把一些牛的阴影统计进去,为统计牛带来了一定的误差,然而当统计白色羊的时候,黑色的阴影可以自动过滤掉,不存在阴影带来的误差,所以相对来说统计羊的误差明显小于统计牛的误差。

查看使用水平集圈出牛羊的5组高分辨率影像的结果图,虽然有部分轮廓不太完全,还有些地方错误圈出牛羊,但是基本上能达到所期望的情况,而且最大平均误差率缩小至6.334%。所以使用水平集圈出牛羊的方法是可行的。

3.2. 牛羊提取实验

本文因为在选取合适的实验数据上比较困难,故人为的在图像中添加了右下角的白色区域(如图2(a)),可以检验水平集的区分结果,水平集结果之内的分为白色区域,水平集结果之外的分为黑色区域。得到结果图2(b)。

3.3. 杂物剔除实验

通过观看图2,能明显的看出牛羊区域已经大致区分出来了,就是右下角的白色背景区域误算入了牛羊区域。在这实验中采取形态学的开运算,令经过二值化处理过后的图像为A,选取合适的结构元素B,得到结果图3(a)。观看结果,右下角的白色背景区域已经去除了,达到了预期的目的。而通过边缘过滤的过程,得到了图3(b),观看结果,已经去除了边缘部分的牛羊区域。

Table 1. The error table of the level set algorithm

表1. 水平集算法的误差表

(a) 背景去除实验数据 (b) 二值化

Figure 2. Extraction of cattle and sheep

图2. 牛羊提取

(a) 形态学滤波 (b) 边缘过滤

Figure 3. Sundries culling

图3. 杂物剔除

3.4. 牛羊数量统计实验

为了确定牛羊自动检测方法的准确性,当数据很少的情况下,直接人为的就可数出来,对实验完全不起作用,故选取了相对有较多牛羊的图像。特意做了5组实验,第一组是羊相对较少的情况,第二组是羊相对较多的情况下,第三组是牛羊混合的情况下,该组情况下,是进行分别统计牛羊个数,第四组是牛相对较少的情况下,第五组是牛相对较多的情况下。分别对应图4下列的各种情况。

(a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (((a), (b))为第一组实验,((c), (d))为第二组实验,((e), (f))为第三组实验,((g), (h))为第四组实验,((i), (j))为第五组实验)

Figure 4. The original diagram and the result diagram of the five groups of experiments

图4. 五组实验的实验原图和结果图

Table 2. Comparison between artificial counting and automatic counting of cattle and sheep

表2. 牛羊的人工计数和自动计数的比较

再对5组高分辨率影像中的牛羊分别进行准确的人工计数和系统自动计数,试验结果如表2所示。从表2可看出,自动计数结果与人工计数结果的相比,最大相对误差为3.54%,最小相对误差为1.25%,平均相对误差为2.541%。这些误差主要由于多个牛羊相互连接在一起,而且体型相对较小,造成误统计情形,极少数的其他类似于牛羊形状的生物或一些不可避免的图像噪声所引起,例如阴影会给统计黑色的牛带来一定的干扰。由于5组自动统计结果的相对误差均小于允许误差5%,而且在实际的大样本的人工计数中,其相对误差往往大于自动计数的相对误差,所以该方法的自动计数结果是可行的。而且达到了预想情况。

4. 结论

本文基于图像水平集分割方法,提出了一个完整的牛羊数量统计方法。并通过5组实际采集的图像进行实验,结果表明本文提出的方法简单可行,可自动化实现牛羊的统计。但其中还是存在一些影响统计数量的因素,例如图片之中的阴影和一些与牛羊相似的地物等等。故后面还需要对这些影响因素进行细致的分析和区别。

基金项目

国家自然科学基金(编号:41571369);青海省科技计划项目(编号:2016-NK-138);科技创新服务能力建设基本科研业务费(科研类)(编号:025185305000/143)。

文章引用

张爱武,高朋,刘路路,柴沙驼. 基于水平集的高分辨率影像牛羊自动检测的方法
Automatic Detection of Cattle and Sheep in High Resolution Images Based on Level Set[J]. 人工智能与机器人研究, 2018, 07(02): 53-62. https://doi.org/10.12677/AIRR.2018.72006

参考文献

  1. 1. Petushi, S., Katsinis, C., Coward, C., et al. (2004) Automated Identification of Microstructures on Histology Slides. IEEE Inter-national Symposium on Biomedical Imaging: Nano to Macro, Arlington, 18-18 April 2004, 424-427. https://doi.org/10.1109/ISBI.2004.1398565

  2. 2. Fang, B., Hsu, W. and Lee, M. (2003) On the Accurate Counting of Tumor Cells. IEEE Transactions on Bioscience, 2, 94-103.

  3. 3. Thiran, J. and Macq, B. (1996) Morphological Feature Extraction for the Classification of Digital Images of Cancerous Tissues. BEEE Transactions on Biomedical Engineering, 43, 1011-1020. https://doi.org/10.1109/10.536902

  4. 4. Smith, S.M. and Brady, J.M. (1997) A New Approach to Low Level Image Pro-cessing. International Journal of Computer Vision, 23, 45-78. https://doi.org/10.1023/A:1007963824710

  5. 5. 王大红, 胡茂林. 决策边缘特征检测算法[J]. 计算机应用, 2009, 29(6): 233-235.

  6. 6. 刘立, 焦斌亮, 刘钦龙. 基于改进SUSAN 的遥感图像边界提取算法[J]. 微计算机信息, 2009, 25(3): 303-304.

  7. 7. Yang, X.F., Huang, Y.M. and Li, Y. (2010) An Improved SUSAN Corner Detection Algorithm Based on Adaptive Threshold. 2010 2nd International Conference on Signal Processing Systems, Dalian, 5-7 July 2010, 613-616.

  8. 8. 周莹莉, 曾立波, 刘均堂, 等. 基于图像处理的菌落自动计数方法及其实现[J]. 数据采集与处理, 2003, 18(4): 460-464.

  9. 9. Corkidi, G. and Diaz-Uribe, R. (1998) COVASIAM: An Image Analysis Method That Allows Detection of Confluent Microbial Colonies and Colonies of Various Sizes for Automated Counting. Applied and Environmental Microbiology, 4, 1400-1404.

  10. 10. 尤育赛, 于慧敏. 一种重叠红细胞图像的分离方法[J] .中国图象图形学报, 2005, 10(6): 736-740.

  11. 11. 张云鹤, 乔晓军, 等. 种子自动计数仪[J]. 仪器仪表与检测技术, 2005, 24(3): 9-61.

  12. 12. 赵增华, 舒炎泰, 王积分. 基于小波变换的工业微生物菌种自动识别[J]. 天津大学学报: 自然科学与工程技术版, 2002, 35(2):151-154.

  13. 13. 凌云, 王一鸣, 孙明, 等. 基于流域算法的谷物籽粒图像分割技术[J]. 农业机械学报, 2005, 36(3): 95-98.

  14. 14. 宋强, 徐科, 徐金梧, 等. 基于图象处理的棒材自动计数技术[J]. 钢铁, 2004, 39(5): 34-37.

  15. 15. 于大林. 基于ARM的菌落计数系统的研究[D]: [硕士学位论文]. 长春: 吉林大学, 2012.

  16. 16. 门洪, 武玉杰, 王彩虹, 等. 基于图像处理的异养菌菌落计数方法研究[J]. 检测与仪表, 2008, 35(3): 38-41.

  17. 17. Mukherjee, D.P., Pal, A., Sarma, S.E., et al. (1995) Bacterial Colony Counting Using Distance Transform. International Journal of Bio-Medical Computing, 38, 131-140. https://doi.org/10.1016/0020-7101(94)01043-Z

  18. 18. 王国新, 张长利, 房俊龙, 等. 基于图像处理技术的菌落自动计数系统的研发[J]. 中国乳品工业, 2006, 34(2): 40-42.

  19. 19. Bewes, J.M., Suchowerska, N. and Mc Kenzie, D.R. (2008) Automated Cell Colony Counting and Analysis Using the Circular Hough Image Transform Algorithm. Physics in Medicine and Biology, 53, 5991-6008. https://doi.org/10.1088/0031-9155/53/21/007

  20. 20. Chen, W. and Zhang, C. (2009) An Automated Bacterial Colony Counting and Classification System. Information Systems Frontiers, 11, 349-368. https://doi.org/10.1007/s10796-009-9149-0

  21. 21. 唐利明, 王洪珂, 陈照辉, 黄大荣. 基于变分水平集的图像模糊聚类分割[J]. 软件学报, 2014, 25(7): 1570-1582.

  22. 22. 龚永义, 罗笑南, 黄辉, 廖国钧, 张余. 基于单水平集的多目标轮廓提取[J]. 计算机学报, 2007, 30(1): 120-128.

  23. 23. Wang, B. and Gao, X.B. (2009) Automatic Image Segmentation Using Sequential Level Set Method. Journal of Software, 20, 1185-1193. https://doi.org/10.3724/SP.J.1001.2009.03541

  24. 24. 姜慧研, 冯锐杰. 基于改进的变分水平集和区域生长的图像分割方法的研究[J]. 电子学报, 2012(8): 1659-1663.

  25. 25. 张云, 吴晓君, 马廷武, 庞连军. 基于机器视觉的零件图像采集及识别的研究[J]. 电子工程师, 2006, 32(4): 29-65.

  26. 26. 娄维义, 於韬, 顾福康. 基于图像处理的原生动物自动计数方法及其实现[J]. 实验室研究与探索, 2007, 26(4): 24-28.

  27. 27. 车琳琳, 张光玉, 宋莉, 曹卫芳. 基于钼靶X线影像的乳腺微钙化点良恶性识别算法研究[J]. 中国医学物理学杂志, 2011, 28(2): 2467-2470.

  28. 28. 潘佚, 吴思宇, 邱蕾. 基于数学形态学的红细胞计数算法[J]. 南华大学学报, 2017, 31(2): 51-55.

  29. 29. 尹立苹, 于德敏, 王永强, 许增朴. 二值图像中多目标区域的标号和几何特征提取[J]. 计量与测试技术, 2006, 33(3): 18-20.

  30. 30. 尹星云, 王峻. 基于改进的彩色图像形态学膨胀和腐蚀算子设计[J]. 计算机工程与应用, 2008, 44(14): 172-174.

  31. 31. 王娟, 周金芝. 基于Matlab的形态学图像处理研究[J]. 计算机论坛, 2010(284): 135-136.

  32. 32. 方菊芹, 陈帆, 和红杰, 尹忠科. 结合局部分类水平集与颜色特征的遥感影像阴影检测[J]. 自动化学报, 2014, 40(6): 1156-1164.

NOTES

*通讯作者。

期刊菜单