留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

基于减法直方图算法的土壤图像阴影检测

上一篇

下一篇

曾绍华, 王琪, 佘春燕, 等. 基于减法直方图算法的土壤图像阴影检测[J]. 西南大学学报(自然科学版), 2021, 43(10): 167-180. doi: 10.13718/j.cnki.xdzk.2021.10.021
引用本文: 曾绍华, 王琪, 佘春燕, 等. 基于减法直方图算法的土壤图像阴影检测[J]. 西南大学学报(自然科学版), 2021, 43(10): 167-180. doi: 10.13718/j.cnki.xdzk.2021.10.021
ZENG Shaohua, WANG Qi, SHE Chunyan, et al. Shadow Detection of Soil Image Based on Subtraction Histogram Algorithm[J]. Journal of Southwest University Natural Science Edition, 2021, 43(10): 167-180. doi: 10.13718/j.cnki.xdzk.2021.10.021
Citation: ZENG Shaohua, WANG Qi, SHE Chunyan, et al. Shadow Detection of Soil Image Based on Subtraction Histogram Algorithm[J]. Journal of Southwest University Natural Science Edition, 2021, 43(10): 167-180. doi: 10.13718/j.cnki.xdzk.2021.10.021

基于减法直方图算法的土壤图像阴影检测

  • 基金项目: 国家自然科学基金项目(62003065);重庆市高校创新研究群体资助项目(CXQT20015);重庆市教委科学技术研究重点项目(KJZD-201900505);重庆师范大学研究生科研创新项目(YKC20032)
详细信息
    作者简介:

    曾绍华,博士,教授,主要从事计算机视觉、机器学习、智慧农业工程等方面的研究 .

  • 中图分类号: TP391.4

Shadow Detection of Soil Image Based on Subtraction Histogram Algorithm

  • 摘要: 自然环境下机器视觉采集的土壤图像存在阴影,土壤图像阴影检测将消除或者减弱阴影对后一步的子图分割及土种识别的影响. 为了提高土壤图像阴影和非阴影的区分度,实现阴影检测,重构了比率(α')特征,并通过高斯平滑分别获得亮度(I)和比率(α')特征直方图的2个主峰值点,缩小分割阈值搜索区间以减少减法直方图求高保留率点(F')的次数;再引入拉伸因子对2个特征的保留直方图拉伸,增大阴影和非阴影保留率差异,以获取其高保留率点F';最后,在搜索区间构建亮度(I)和比率(α')特征的64等份中位点及其对应F'的2条折线的交点,即亮度(I)和比率(α')特征的F'值相等点,获得交点对应的亮度(I)和比率(α')特征值为阴影检测阈值,分割土壤图像阴影和非阴影. 仿真实验显示:本文算法相较于对比实验具有更好的分割精度,能自适应检测土壤图像阴影,算法是有效的.
  • 加载中
  • 图 1  No.15组土壤图像的Iα灰度图

    图 2  No.15组第3幅图I特征的64等分直方图B0经高斯平滑后的结果B

    图 3  保留直方图

    图 4  Iα'阈值位置交点

    图 5  迭代获取阴影检测阈值

    图 6  实验图像(No.3和No.15组)阴影检测图像结果

    图 7  全图为阴影或非阴影检测实验图像结果

    表 算法1  原始减法直方图算法

    输入 原始图像img
    输出 亮度(I)的分割阈值TB和比率(α)的分割阈值TR
    过程 Step1:根据式(1)和(2)计算图像img每个像素的Iα值;
    Step2:将I的实际取值值域等分为64等份,将各等份中位数存储到tBk(k=1,2,…,64);
    Step3:将α实际取值值域等分为64等份,统计原始图像img的α特征的64等分直方图R0
    Step4:repeat{
      Step4-1:选取原始图像img的I值大于tBk对应像素点的α值,按Step3的64等份统计其直方图Rk
      Step4-2:用R0Rk计算保留直方图ek,其64等份位置对应的值分别等于Rk对应位置的频数除以
    R0对应位置的频数;
      Step4-3:求每个保留直方图ek的最大梯度区间对应的中位点值Fk
    }until(tBk(k=1,2,…,64)被遍历完)
    Step5:tBk为横坐标,Fk为纵坐标画点,依次将(k=1,2,…,64)对应的点连接成一条折线;
    Step6:将Step2到Step4中αI互换,获得tRkFk
    Step7:Fk为横坐标,tRk为纵坐标画点依次将(k=1,2,…,64)对应的点连接成另一条折线;
    Step8:2条折线的交点分别对应为I的分割阈值TBα的分割阈值TR.
    下载: 导出CSV

    表 算法2  寻找Iα'特征的非阴影和阴影分割阈值搜索区间算法

    输入 I特征的64等分直方图B0α'特征的64等分直方图R'0
    输出 I分割阈值搜索区间$[pk_{{\rm{start}}}^B, pk_{{\rm{end}}}^B]$α'分割阈值搜索区间$[pk_{{\rm{start}}}^{R'}, pk_{{\rm{end}}}^{R'}]$
    过程 Step1:对B0R'0进行高斯平滑操作分别得到BR';
    Step2:根据公式(5)分别计算BR'的相邻频数比rBrR'
    Step3:平滑相邻频数比rBrR'
    Step4:求平滑后相邻频数比rBrR'直方图的波谷向量φBφR'
    Step5:根据公式(6)计算φBφR'中任意相邻点构成区间上BR'的面积;
    Step6:if(B面积个数<2 & & R'面积个数<2)
    {
      Step6-1:土壤图像为全图阴影或非阴影图像,不需继续阴影检测和分割;
    }else
    {
      Step6-2:分别取其面积最大的2个主峰的峰值点对应的64等分中位值构成分割阈值搜索区间$[pk_{{\rm{start}}}^B, pk_{{\rm{end}}}^B]$$[pk_{{\rm{start}}}^{R'}, pk_{{\rm{end}}}^{R'}]$
    }
    下载: 导出CSV

    表 算法3  阴影检测阈值搜索算法

    输入 1.I实际取值值域64等分直方图B0α'实际取值值域64等分直方图R'0
    2.I的两峰值位置pkstartBpkendBα'的两峰值位置pkstartR'pkendR'
    3.图像img每个像素的Iα'
    输出 I的分割阈值TBα'的分割阈值TR'
    过程 Step1:将B0中满足$[pk_{{\rm{start}}}^B, pk_{{\rm{end}}}^B]$范围的各等分中位数存储到$t{B_k}\left( {k = pk_{{\rm{start}}}^B, \cdots , pk_{{\rm{end}}}^B} \right)$
    Step2:repeat{
      Step2-1:选取原始图像img的I值大于tBk对应像素点的α'值,并统计其64等分直方图R'k,用R'0R'k计算保留直方图ek
      Step2-2:根据式(7)拉伸保留直方图ek,根据式(8)获取保留直方图e'k的高保留率点F'k
    }until($t{B_k}\left( {k = pk_{{\rm{start}}}^B, \cdots , pk_{{\rm{end}}}^B} \right)$被遍历完)
    Step3:tBk为横坐标,F'k为纵坐标画点,依次将$\left( {k = pk_{{\rm{start}}}^B, \cdots , pk_{{\rm{end}}}^B} \right)$对应的点连接成一条折线;
    Step4:将Step2中α'和I互换,获得tR'k及对应的F'k
    Step5:tR'k为横坐标,F'k为纵坐标画点,依次将$\left( {k = pk_{{\rm{start}}}^{R'}, \cdots , pk_{{\rm{end}}}^{R'}} \right)$对应的点连接成一条折线;
    Step6:将2条折线(如图 4)组合,折线交点的tBkI的分割阈值TB,折线交点的tR'kα'的分割阈值TR'.
    下载: 导出CSV

    表 4  阴影检测阈值搜索加速算法

    输入 I的两端点①②;α'的两端点③④;
    输出 I的分割阈值TBα'的分割阈值TR'
    过程 Step1:repeat{
      Step1-1:按照式(9)计算①②点所连成直线和③④点所连成直线交点(TBTR');
      Step1-2:更新①②③④;
      Step1-3:if((①==③)‖ (①==④)‖ (②==③)‖(②==④)){
      break;
      }
    }until(①②③④不再变化)
    Step2:将迭代停止时的交点(TBTR')作为最后的阴影检测阈值.
    下载: 导出CSV

    表 1  实验样本分割后阴影与非阴影的亮度标准差及迭代次数

    指标 文献[9]eSH算法 文献[9]iSH算法 文献[7] 算法 文献[8] 算法 算法2+ 算法3 算法2+ 算法4 算法2+算法4计算迭代次数
    1 阴影 12.382 5 17.025 5 14.676 2 24.257 7 26.038 9 32.824 6 3,4,5
    非阴影 49.121 2 48.082 4 49.038 4 29.709 5 23.704 1 20.930 7
    2 阴影 15.911 4 8.419 1 19.003 3 18.552 3 23.717 7 26.324 5 4,4,4
    非阴影 44.555 7 52.362 0 50.619 9 36.812 3 25.482 4 24.202 6
    3 阴影 20.688 9 8.877 1 13.309 0 23.234 0 25.018 5 26.507 0 4,3,5
    非阴影 55.486 6 55.307 7 55.162 7 29.230 7 25.343 2 24.447 6
    4 阴影 3.842 8 55.845 8 16.888 6 16.849 6 24.876 5 21.314 9 6,5,4
    非阴影 65.828 0 66.353 6 35.137 4 44.921 0 28.482 0 31.269 7
    5 阴影 4.445 2 5.361 6 16.468 1 15.594 1 24.309 8 31.400 8 5,5,5
    非阴影 47.827 4 48.091 8 34.730 0 38.110 4 28.392 4 23.577 3
    6 阴影 4.750 8 3.388 4 18.846 5 14.926 8 29.310 3 31.121 7 6,6,6
    非阴影 60.305 5 60.486 5 56.281 6 52.490 5 26.291 6 25.125 1
    7 阴影 20.739 5 18.236 9 18.846 5 22.578 2 24.112 6 25.508 1 6,5,4
    非阴影 56.859 3 56.562 7 56.281 6 33.472 8 29.339 6 28.371 9
    8 阴影 5.140 8 12.930 9 33.275 2 15.355 7 32.217 7 30.657 1 5,5,5
    非阴影 49.176 7 49.167 9 47.846 8 43.006 4 20.649 9 21.721 6
    9 阴影 44.481 3 4.175 0 17.523 9 23.265 0 15.816 1 17.170 2 4,5,6
    非阴影 56.877 2 49.709 8 21.507 9 20.352 4 21.757 7 21.021 6
    10 阴影 29.362 9 34.310 6 26.303 4 26.494 4 32.693 1 27.575 8 5,4,3
    非阴影 52.627 0 54.978 2 23.869 1 24.134 2 18.751 9 22.069 1
    11 阴影 14.192 6 4.645 8 12.362 1 25.752 6 21.931 7 23.595 1 4,5,6
    非阴影 53.871 1 54.455 5 53.951 3 26.133 7 26.608 4 25.636 7
    12 阴影 4.439 7 11.436 5 18.119 0 13.069 5 24.270 4 24.238 5 5,6,4
    非阴影 29.312 3 54.835 6 22.166 5 26.991 8 20.434 7 21.257 4
    13 阴影 24.446 8 40.749 1 19.835 5 26.067 3 21.251 9 19.832 0 6,6,6
    非阴影 41.474 5 42.832 0 26.721 2 23.983 6 25.842 5 26.568 8
    14 阴影 5.407 4 8.594 3 22.341 8 31.462 1 24.367 2 22.844 2 6,5,4
    非阴影 36.381 5 36.448 7 35.870 3 17.558 0 19.700 9 20.506 5
    15 阴影 15.406 9 15.406 9 21.424 3 16.407 4 24.174 3 24.174 3 6,5,4
    非阴影 40.827 9 40.827 9 27.671 6 43.538 5 18.697 0 18.697 0
    16 阴影 2.970 6 15.109 6 14.226 5 15.699 7 18.522 5 18.522 5 6,6,6
    非阴影 64.046 5 56.045 5 64.766 1 62.729 4 23.572 3 23.572 3
    17 阴影 36.828 6 62.736 7 16.874 2 23.897 7 25.617 1 29.125 3 4,5,6
    非阴影 60.454 0 51.559 2 30.854 5 27.890 3 24.671 1 22.358 6
    18 阴影 28.318 9 70.833 8 8.724 1 24.671 1 16.047 0 15.931 3 5,5,5
    非阴影 52.166 0 52.083 6 52.278 7 29.229 1 29.559 5 29.635 5
    19 阴影 13.650 3 13.680 2 15.294 7 20.376 5 15.477 5 16.709 2 6,6,6
    非阴影 61.230 2 60.292 9 27.856 4 29.345 5 27.965 2 26.556 4
    20 阴影 12.512 5 10.073 3 16.381 1 18.522 0 29.972 9 28.896 1 4,5,6
    非阴影 57.034 7 56.874 8 60.698 8 38.970 9 25.611 0 26.476 9
    均值 阴影 15.996 0 21.091 9 18.036 2 20.851 7 23.987 1 24.713 7 5
    非阴影 51.773 1 52.367 9 41.665 5 33.930 6 24.542 8 24.200 2
    注:算法2+算法4计算迭代次数列表中3,4,5表示一组3张图像分别的迭代次数,其余同理.
    下载: 导出CSV

    表 2  阴影检测实验的时间花销 s

    文献[9]eSH算法 文献[9]iSH算法 文献[7]算法 文献[8]算法 算法2+算法3 算法2+算法4
    1 54.137±3.380 4.358±0.672 1.995±0.178 1.161±0.154 35.242±2.169 12.279±1.138
    2 41.056±2.583 2.977±0.422 1.644±0.181 1.082±0.148 22.864±2.017 6.580±1.520
    3 81.836±3.544 6.591±0.559 2.351±0.119 1.164±0.116 61.769±3.860 18.438±1.663
    4 60.745±3.543 4.735±0.484 1.756±0.132 1.189±0.124 42.057±2.547 10.315±1.124
    5 46.748±2.391 2.922±0.303 1.782±0.175 1.141±0.103 19.858±1.810 11.825±1.830
    6 61.865±3.394 4.356±0.459 1.735±0.188 1.133±0.113 41.484±2.487 17.038±2.097
    7 55.171±3.102 4.779±0.488 1.735±0.137 1.197±0.106 30.790±2.740 12.577±1.222
    8 34.029±2.563 3.095±0.373 1.592±0.144 1.152±0.102 32.861±2.027 7.723±1.135
    9 49.358±2.504 3.694±0.371 1.893±0.143 1.186±0.127 31.788±2.067 10.768±1.652
    10 59.571±3.492 8.421±0.915 1.630±0.150 1.130±0.110 30.536±2.028 8.421±1.035
    11 50.050±2.630 3.690±0.520 2.037±0.196 1.143±0.113 33.513±2.023 6.743±1.290
    12 171.467±3.977 9.765±1.163 2.748±0.202 1.143±0.102 98.721±5.042 37.596±2.829
    13 42.932±2.811 3.506±0.489 1.635±0.138 1.095±0.126 24.595±2.024 8.987±1.632
    14 48.800±2.700 4.462±0.561 1.755±0.142 1.137±0.169 43.784±2.689 11.023±1.870
    15 62.467±2.775 4.009±0.525 1.839±0.186 1.144±0.115 40.391±2.150 14.443±1.824
    16 59.906±3.320 5.097±0.619 1.839±0.185 1.112±0.153 57.534±2.826 17.732±1.892
    17 45.934±3.253 3.938±0.544 1.863±0.189 1.157±0.137 34.024±2.064 12.627±1.409
    18 62.168±3.320 4.241±0.624 2.054±0.198 1.132±0.152 64.557±2.830 18.717±1.328
    19 63.636±3.576 4.983±0.597 1.951±0.184 1.148±0.173 54.622±2.490 19.723±1.425
    20 68.447±3.421 4.737±0.663 2.101±0.204 1.089±0.136 52.753±2.077 17.445±1.378
    均值 61.016±3.171 4.718±0.570 1.897±0.169 1.142±0.129 42.687±2.405 14.050±1.540
    下载: 导出CSV
  • [1] ZHANG C M, XIE Y C, LIU D, et al. Fast Threshold Image Segmentation Based on 2D Fuzzy Fisher and Random Local Optimized QPSO [J]. IEEE Transactions on Image Processing, 2017, 26(3): 1355-1362. doi: 10.1109/TIP.2016.2621670
    [2] doi: http://www.ingentaconnect.com/contentone/ben/raeeng/2019/00000012/00000002/art00007 WU S F, TONG Y F, LIU J F, et al. The Chromatic Aberration 2-D Entropy Threshold Segmentation Method Based on Adaptive Step-Length Firefly Algorithm [J]. Recent Advances in Electrical & Electronic Engineering (Formerly Recent Patents on Electrical & Electronic Engineering), 2019, 12(2): 130-137.
    [3] HAN J, YANG C H, ZHOU X J, et al. A New Multi-Threshold Image Segmentation Approach Using State Transition Algorithm [J]. Applied Mathematical Modelling, 2017, 44: 588-601. doi: 10.1016/j.apm.2017.02.015
    [4] SEZGIN M, SANKUR B. Survey over Image Thresholding Techniques and Quantitative Performance Evaluation [J]. Journal of Electronic Imaging, 2004, 13(1): 146-165. doi: 10.1117/1.1631315
    [5] 康丽锋, 吴锋. 基于乌鸦搜索优化算法的多级阈值图像分割方法[J]. 西南师范大学学报(自然科学版), 2021, 46(1): 38-43. doi: https://www.cnki.com.cn/Article/CJFDTOTAL-XNZK202101007.htm
    [6] OTSU N. A Threshold Selection Method from Gray-Level Histograms [J]. IEEE Transactions on Systems, Man, and Cybernetics, 1979, 9(1): 62-66. doi: 10.1109/TSMC.1979.4310076
    [7] TSAI V J D. A Comparative Study on Shadow Compensation of Color Aerial Images in Invariant Color Models [J]. IEEE Transactions on Geoscience and Remote Sensing, 2006, 44(6): 1661-1671. doi: 10.1109/TGRS.2006.869980
    [8] 瑚敏君, 冯德俊, 伍燚垚. 城市规则建筑物阴影去噪[J]. 遥感信息, 2020, 35(1): 123-128. doi: 10.3969/j.issn.1000-3177.2020.01.017
    [9] MENG Y, HU Z H, CHEN X J, et al. Subtracted Histogram: Utilizing Mutual Relation between Features for Thresholding [J]. IEEE Transactions on Geoscience and Remote Sensing, 2018, 56(12): 7415-7435. doi: 10.1109/TGRS.2018.2851443
    [10] RÜFENACHT D, FREDEMBACH C, SÜSSTRUNK S. Automatic and Accurate Shadow Detection Using Near-Infrared Information [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2014, 36(8): 1672-1678. doi: 10.1109/TPAMI.2013.229
    [11] ARÉVALO V, GONZÁLEZ J, AMBROSIO G. Shadow Detection in Colour High-Resolution Satellite Images [J]. International Journal of Remote Sensing, 2008, 29(7): 1945-1963. doi: 10.1080/01431160701395302
    [12] SALVADOR E, CAVALLARO A, EBRAHIMI T. Cast Shadow Segmentation Using Invariant Color Features [J]. Computer Vision and Image Understanding, 2004, 95(2): 238-259. doi: 10.1016/j.cviu.2004.03.008
    [13] WONGSRITONG K, KITTAYARUASIRIWAT K, CHEEVASUVIT F, et al. Contrast Enhancement Using Multipeak Histogram Equalization with Brightness Preserving [C] //IEEE Apccas the IEEE Asia-pacific Conference on Circuits & Systems. Chiang Mai, Thailand: IEEE, 1998: 455-458.
    [14] 陈永亮, 王华彬, 陶亮. 自适应动态峰值剪切直方图均衡化[J]. 计算机工程与应用, 2015, 51(1): 167-171. doi: https://www.cnki.com.cn/Article/CJFDTOTAL-JSGG201501034.htm
    [15] 重庆市农业技术推广总站, 西南大学, 重庆土壤学会. 重庆市地方标准DB50/T 796-2017: 重庆土壤分类与代码[S]. 重庆: 重庆市质量技术监督局发布, 2017: 09.
    [16] 曾绍华, 罗俣桐, 杨圣明, 等. 基于切比雪夫不等式的紫色土彩色图像分割[J]. 西南大学学报(自然科学版), 2019, 41(8): 141-150. doi: http://xbgjxt.swu.edu.cn/article/doi/10.13718/j.cnki.xdzk.2019.08.020
  • 加载中
图( 7) 表( 6)
计量
  • 文章访问数:  475
  • HTML全文浏览数:  475
  • PDF下载数:  212
  • 施引文献:  0
出版历程
  • 收稿日期:  2020-10-21
  • 刊出日期:  2021-10-20

基于减法直方图算法的土壤图像阴影检测

    作者简介: 曾绍华,博士,教授,主要从事计算机视觉、机器学习、智慧农业工程等方面的研究
  • 1. 重庆师范大学 计算机与信息科学学院, 重庆 401331
  • 2. 重庆市数字农业服务工程技术研究中心,重庆 401331
  • 3. 重庆市农业技术推广总站,重庆 401147
  • 4. 重庆市沙坪坝区农业农村委员会,重庆 400030
基金项目:  国家自然科学基金项目(62003065);重庆市高校创新研究群体资助项目(CXQT20015);重庆市教委科学技术研究重点项目(KJZD-201900505);重庆师范大学研究生科研创新项目(YKC20032)

摘要: 自然环境下机器视觉采集的土壤图像存在阴影,土壤图像阴影检测将消除或者减弱阴影对后一步的子图分割及土种识别的影响. 为了提高土壤图像阴影和非阴影的区分度,实现阴影检测,重构了比率(α')特征,并通过高斯平滑分别获得亮度(I)和比率(α')特征直方图的2个主峰值点,缩小分割阈值搜索区间以减少减法直方图求高保留率点(F')的次数;再引入拉伸因子对2个特征的保留直方图拉伸,增大阴影和非阴影保留率差异,以获取其高保留率点F';最后,在搜索区间构建亮度(I)和比率(α')特征的64等份中位点及其对应F'的2条折线的交点,即亮度(I)和比率(α')特征的F'值相等点,获得交点对应的亮度(I)和比率(α')特征值为阴影检测阈值,分割土壤图像阴影和非阴影. 仿真实验显示:本文算法相较于对比实验具有更好的分割精度,能自适应检测土壤图像阴影,算法是有效的.

English Abstract

  • 开放科学(资源服务)标志码(OSID):

  • 野外自然环境下机器视觉采集的土壤图像,由于光照的遮挡以及土壤自身表面凹凸不平,导致图像中土壤区域存在阴影,阴影会对土壤识别产生干扰. 为了消除阴影过渡区域对后续土种识别子图切割、土种识别特征提取的影响,需对阴影进行检测分割.

    阈值分割是常用的图像分割算法[1-5]. Otsu[6]是一种经典的阈值分割算法,它采用类间方差最大化的优化准则来获取分割阈值,它在类间数据量均衡时分割效果好,在类间数据量差异较大时不能达到好的分割效果. TSAI[7]提出色度和亮度比的Otsu阴影分割方法,常用于街区阴影分割,并将颜色较暗建筑物区域分割为阴影. 瑚敏君等[8]利用HSI颜色空间数据定义一个测度(S-I)/(S+I),根据建筑物阴影检测的经验值指定分割阈值进行阴影检测. MENG Y等[9]提出了减法直方图的阈值分割方法,通过亮度和比率特征分别计算其保留直方图,再分别求它们的最大梯度区间,选择最大梯度区间的F中位值点作为亮度和比率特征的分割阈值点,分割背景部分(非阴影)和目标部分(阴影);它解决了“阴影、非阴影数据量差异较大”和“较暗建筑物区域与阴影”的错分问题. 但其减法直方图方法的比率特征描述不适宜土壤图像的阴影和非阴影的区分描述,算法中超参数获取花费了大量的时间,保留直方图的计算区间存在冗余,导致时间复杂度较大. 因此,土壤图像阴影检测的减法直方图算法尚需改进.

  • 亮度(I)和比率(α)特征的定义如下[10-12]

    其中,R*(ij),G*(ij),B*(ij)分别表示图像第i行第j列像素RGB三通道的灰度值. N为通道数3.

  • 原始减法直方图算法描述如算法1所示. 在步骤Step4-3中,最大梯度区间的中位点值:

    V表示ek中最小的非零波谷值,P表示ek最右边峰值,参数C1∈[0, 1]文献[9]取的经验值0.4.

  • 从包含阴影和非阴影的土壤彩色图像中随机抽取60张构成20组图像,运用公式(1)、(2)将图像分别转换为Iα的灰度图.

    图 1显示,土壤图像转换为α灰度图后,阴影与非阴影的区分度较低. 其余19组土壤图像有相同的结果. 对原始减法直方图算法分析,原始算法保留直方图的计算区间为64等份值域,阈值的搜索存在冗余,有效缩短阈值的搜索区间可降低时间复杂度;原始算法中参数C1在[0, 1]区间内按一定步长进行实验搜索获得经验值0.4,对于土壤图像阴影检测不具科学性,鲁棒性差.

  • 为了提升土壤图像阴影和非阴影的区分度,重构αα':

    其中,τ为拉伸因子,τ[2, 3].

  • 原始减法直方图算法中保留直方图的计算区间为64等份值域,存在冗余.

    分别对Iα'特征的64等分直方图B0R'0高斯平滑获得BR'.

  • 计算BR'相邻频数比r

    其中,H(i),H(i+1)分别表示直方图在ii+1位置的频数.

  • 由于高斯平滑处理后的直方图仍可能出现如图 2红圈所示的伪谷,为了消除其对rH的影响,对rH进行平滑[13-14]处理,具体平滑方法为

    1) $\begin{array}{l} {\rm{if}}\ ({r_H}(i) < 0\& \& {r_H}(i + 1) > 0\& \& {r_H}(i + 2) < 0) \end{array}$

    2) ${\rm{if}}\ ({r_H}(i) < 0\& \& {r_H}(i + 1) > 0\& \& {r_H}(i + 2) > 0\& \& {r_H}(i + 3) < 0)$

    3) ${\rm{if}}\ ({r_H}(i) > 0\& \& {r_H}(i + 1) < 0\& \& {r_H}(i + 2) > 0)$

    4) ${\rm{if}}\ ({r_H}(i) > 0\& \& {r_H}(i + 1) < 0\& \& {r_H}(i + 2) < 0\& \& {r_H}(i + 3) > 0)$

  • 平滑后相邻频数比r直方图中,如果rH(i)<0 & & rH(i+1)>0,则i+1为波谷点. 顺序提取所有波谷点位置构成向量φH,并在向量φH的第一个元素前插入0作为第一个峰的位置起点,在最后一个元素后插入63作为最后一个峰的终点. 即φH为平滑后相邻频数比r直方图的完整波谷点向量,其任意相邻点构成区间上平滑后r直方图的波峰.

  • 平滑后r直方图的每一个波峰对应于BR'上的一个真正的波峰. 取φH中任意相邻点构成区间范围,分别计算BR'直方图在该区间的面积:

    其中,φH (j)、φH (j+1)为φH中相邻2个元素的值,H(k)表示BR'第k个位置的对应频数;w表示直方图 64等份中1等份的长度.

    分别对BR'直方图求面积S,对面积S中最大的2个主峰的峰值点对应的64等分中位值构成区间$[pk_{{\rm{start}}}^B, pk_{{\rm{end}}}^B]$$[pk_{{\rm{start}}}^{R'}, pk_{{\rm{end}}}^{R'}]$,即为非阴影和阴影分割阈值的搜索区间. 其中,$pk_{{\rm{start}}}^B$I的非阴影主峰值点,$pk_{{\rm{end}}}^B$I的阴影主峰值点,$pk_{{\rm{start}}}^{R'}$α'的非阴影主峰值点,$pk_{{\rm{end}}}^{R'}$α'的阴影主峰值点.

  • 根据上述算法思想,获取Iα'特征的非阴影和阴影分割阈值搜索区间算法如下所示.

  • 原始减法直方图算法理想状态保留直方图(如图 3a),其最大梯度差的梯度区间中位点为F. 实际状态保留直方图(如图 3b),以最大梯度差的梯度区间中位点为F,其结果不准确,影响分割效果. 为解决上述缺陷,重构保留直方图. 运用式(7)对保留直方图ek进行拉伸,增大保留直方图最大梯度区间的梯度差.

    其中,ω为拉伸因子,ω≥0.1,size为特征等份数64,tanh为双曲正切函数.

  • e'k连续5等份分为一组,第1组为[e'k(0),e'k(4)],第2组为[e'k(5),e'k(9)],…,第13组为[e'k(60),e'k(63)],第13组最后一位用0补齐;求第1组到第13组每一组中e'k(i)的最大值;在13组中剔除最大值为0的组,从剩余组中找到最大值最小的那一组,其非0最小值所在e'k中的位置即为非零波谷点v'. 保留直方图e'kv'右边的最大值位置为k'. 则高保留率点F'为

    其中,MidT表示保留直方图中第i个等份的中位值点,e'k(i)表示保留直方图中第i等份,i在[v'+1,k']范围内.

  • 依据获得的I分割阈值搜索区间$[pk_{{\rm{start}}}^B, pk_{{\rm{end}}}^B]$,即$t{B_k}\left( {k = pk_{{\rm{start}}}^B, \cdots , pk_{{\rm{end}}}^B} \right)$,和α'分割阈值搜索区间$[pk_{{\rm{start}}}^{R'}, pk_{{\rm{end}}}^{R'}]$,即$t{R'_k}\left( {k = pk_{{\rm{start}}}^{R'}, \cdots , pk_{{\rm{end}}}^{R'}} \right)$分别获得其中每一个tBktR'k的保留直方图,并用式(8)分别求每个保留直方图对应的高保留率点F'k.

    tBk为横坐标,对应的F'k为纵坐标画点,依次将$\left( {k = pk_{{\rm{start}}}^B, \cdots , pk_{{\rm{end}}}^B} \right)$对应的点连接成一条折线. 同理,以tR'k为横坐标,对应的F'k为纵坐标画点,依次将$\left( {k = pk_{{\rm{start}}}^{R'}, \cdots , pk_{{\rm{end}}}^{R'}} \right)$对应的点连接成一条折线. 组合两坐标系(如图 4),2条折线的交点对应值分别为I的分割阈值TBα'的分割阈值TR'.

  • 根据上述算法思想获得的阴影检测阈值搜索算法如算法3所示.

  • 由算法3阴影检测阈值搜索算法可知,搜索I分割阈值TB需要从$t{B_k} = pk_{{\rm{start}}}^B$位开始,计算保留直方图及其对应的F'k,直到$t{B_k} = pk_{{\rm{end}}}^B$结束,遍历过程总共执行$pk_{{\rm{end}}}^B - pk_{{\rm{start}}}^B + 1$次. 同理,搜索α'分割阈值TR'的遍历过程总共也需要执行$pk_{{\rm{end}}}^{R'} - pk_{{\rm{start}}}^{R'} + 1$次. 最坏的情形是:$pk_{{\rm{start}}}^B = t{B_0}$$pk_{{\rm{end}}}^B = t{B_{63}}$$pk_{{\rm{start}}}^{R'} = t{{R'}_0}$$pk_{{\rm{end}}}^{R'} = t{{R'}_{63}}$,搜索次数为64*2次. 最好的情形是:$pk_{{\rm{end}}}^B = pk_{{\rm{start}}}^B$$pk_{{\rm{end}}}^{R'} = pk_{{\rm{start}}}^{R'}$,搜索次数为0次,平均搜索次数为32*2次. 分割阈值交点(TBTR')分别落在Iα'直方图双峰搜索区间内,搜索区间内的逐点搜索浪费了不必要的时间花销.

  • 算法3阴影检测阈值搜索算法获得分割阈值TBTR'为2条折线(如图 4)的交点. 通常情况下,2条折线有1个交点,一条折线的一端仅跨越另一条折线1次,连接每条折线端点的2条直线也相交. 因此,将折线相交近似为直线相交,逐步逼近折线交点,可减少搜索次数. 其方法是:首次取端点构成直线,获取交点,再用端点与交点的中位点在折线上的位置点替代端点重构直线,获取新的交点,这样反复直到搜索到折线交点.

  • 图 5a中①②③④点分别为端点(tBleftF'left_B),(tBrightF'right_B),(F'left_R',tR'left)和(F'right_R',tR'right).分别将①②和③④连成2条直线(如图 5b).

    求得2条直线交点为(TBTR'). 如图 5c,用(tBleft+TB)/2更新tBleft及对应的F',更新①;(tBright+TB)/2更新tBright及对应的F',更新②;同理,如图 5d所示,(tR'left+TR')/2更新tR'left及对应的F',更新③. (tR'right+TR')/2更新tR'right及对应的F',更新④.

    将①与③和④进行比较,②与③和④进行比较,若相等停止迭代;若不相等则重构①②和③④连成2条直线,更新2条直线交点(TBTR'),更新①②③④点,直到迭代停止. 迭代停止时的交点(TBTR')即为最后的阴影检测阈值.

  • 阴影检测阈值搜索最坏的情形是:$pk_{{\rm{start}}}^B{\rm{ = }}t{B_0}$$pk_{{\rm{end}}}^B{\rm{ = }}t{B_{63}}$$pk_{{\rm{start}}}^{R'}{\rm{ = }}t{{R'}_0}$$pk_{{\rm{end}}}^{R'}{\rm{ = }}t{{R'}_{63}}$,即tBktR'k的全域搜索. 依据3.2的算法思想,每次迭代的搜索域折半,最坏的情形:在I搜索域最大长度是64,经过6次迭代到达折线交点;同理α'也经过6次迭代到达折线交点,合计计算保留直方图和F'k的次数为12. 即12是阴影检测阈值搜索加速算法迭代次数的上确界.

    最好的情形是:$pk_{{\rm{end}}}^B = pk_{{\rm{start}}}^B$$pk_{{\rm{end}}}^{R'}{\rm{ = }}pk_{{\rm{start}}}^{R'}$,搜索次数为0次. 理论上平均搜索次数为6次迭代到达折线交点,获得分割阈值.

    实际上,设I左右两主峰间距离间隔为disBα'当前左右两主峰间距离间隔为disR';每迭代一次disB减少一半,disR'也减少一半;迭代总次数为$n = \left\lceil {{\rm{lo}}{{\rm{g}}_2}di{s_B}} \right\rceil + \left\lceil {{\rm{lo}}{{\rm{g}}_2}di{s_{R'}}} \right\rceil $(向上取整). 通常,迭代4~8次到达折线交点,获得分割阈值. 上述结论也证明加速算法是收敛的.

  • 根据重庆土壤分类与代码[DB50/T796-2017][15],对重庆璧山区分布的4土属(暗紫泥、红棕紫泥、灰棕紫泥、黄棕紫泥)34土种,在野外自然环境下用土锹锹出耕层0~20 cm的土壤,拍摄土壤(心土)自然断口,使土壤区域位于图像中心位置,并占全图面积50%以上. 从已采集的共计342张土壤图像中,随机抽取60张在土壤区域存在部分阴影的土壤彩色图像,用文献[16]分割出土壤区域图像组成20组实验图像样本.

  • 为了验证本文算法的有效性设计实验如下:

    1) 阴影检测精度对比实验(实验1):应用实验样本,进行本文算法2+算法3和本文算法2+算法4,文献[9]原始减法直方图算法(包括原始算法eSH和加速算法iSH算法)、文献[7]算法、文献[8]算法的对比实验,检测土壤彩色图像阴影,检验本文算法阴影检测精度,验证本文算法2+算法4计算的实际迭代次数与是否在理论(证明)最大迭代次数内的一致性问题.

    2) 阴影检测效率对比实验(实验2):应用实验样本,进行本文算法2+算法3和本文算法2+算法4,文献[9]原始减法直方图算法(包括原始算法eSH和加速算法iSH算法)、文献[7]算法、文献[8]算法的对比实验,检测土壤彩色图像阴影,检验本文算法阴影检测效率.

    3) 全图为阴影或非阴影检测实验(实验3):取土壤图像子块全图为阴影或非阴影(包括被人工用非阴影部分替换阴影部分像素的人工合成子图),验证本文算法2对于全图为阴影或非阴影图像检测的有效性.

  • 本文实验在Intel(R) Xeon(R) Silver 4114CPU @ 2.20GHz 2.19 GHz (2处理器),内存64GB,显卡NVIDIA TITAN V,Windows 10专业工作站版64位,Visual Studio 2017,OpenCV 3.4.1环境下完成(未使用多CPU、GPU并行加速).

  • 1) 阴影检测实验图像结果

    对20组实验图像样本进行本文算法2+算法3和本文算法2+算法4、文献[9]原始减法直方图算法(包括原始算法eSH和加速算法iSH算法)、文献[7]算法、文献[8]算法的阴影检测对比实验. 随机选取No.3和No.15组实验样本,阴影检测结果如图 6所示.

    2) 阴影检测实验数据结果

    上述实验的阴影检测——分割阴影与非阴影精度(用亮度标准差评估)数据如表 1所示.

    上述实验的阴影检测执行10次,平均时间花销如表 2所示.

  • 1) 重构α'特征的有效性分析

    阴影检测实验图像结果图 6(No.3组和No.15组样本)bcfg显示:本文算法2+算法3和算法2+算法4使用重构的α'特征阴影检测,相比于文献[9]的eSH算法和iSH算法使用α特征阴影检测,本文改进的算法分割效果更好. 表 1显示:本文算法2+算法3和算法2+算法4对20组样本阴影检测,分割的阴影与非阴影的亮度标准差均值分别为23.987 1,24.542 8和24.713 7,24.200 2;文献[9]eSH算法和iSH算法对20组样本阴影检测,分割的阴影与非阴影的亮度标准差均值分别为15.996 0,51.773 1和21.091 9,52.367 9. 本文改进算法分割的非阴影亮度标准差值远小于文献[9]eSH算法和iSH算法分割的非阴影亮度标准差值,且其分割的阴影与非阴影的亮度标准差均值也远小于文献[9]的算法,说明文献[9]算法阴影分割存在不足,没有从非阴影中分割出来,本文改进算法的阴影检测精度更高. 上述结果证明,重构α'特征对土壤图像阴影检测是有效的.

    2) 阴影检测精度分析

    阴影检测实验图像结果图 6(No.3组和No.15组样本)defg显示:文本算法2+算法3和算法2+算法4对20组样本阴影检测,相比于文献[7]算法和文献[8]算法,本文改进算法分割效果更好. 表 1显示:文献[7]算法和文献[8]对20组样本阴影检测,分割的阴影与非阴影的亮度标准差均值分别为18.036 2,41.665 5和20.851 7,33.930 6. 本文改进算法分割的非阴影亮度标准差值远小于文献[7-9]的对比算法分割的非阴影亮度标准差值,且其分割的阴影与非阴影的亮度标准差均值之和也都远小于对比算法,说明对比算法阴影分割不足,部分阴影没有从非阴影中分割出来,本文改进算法阴影检测精度更高.

    3) 本文算法2+算法4的实际迭代次数结果分析

    表 1显示:本文算法2+算法4对20组样本阴影检测的阈值搜索迭代次数为4~6次,本文3.3节理论证明阴影检测阈值搜索最大迭代次数为6次,实验结果证明算法计算的实际迭代次数在理论(证明)最大迭代次数内,与理论证明结果是一致的.

    4) 2条分割阈值折线交点数的分析与处理

    土壤图像可分为全图为阴影、全图为非阴影和包含部分阴影三类图像. 算法2可检测出全图为阴影或非阴影图像,不需继续阴影检测. 阴影检测是对包含部分阴影图像检测,是一个典型的二分类问题,通常2条分割阈值折线交点数为1. 由于受到土壤杂质等因素影响,极少数出现2条分割阈值折线交点数大于等于2的多个交点情形,选择其亮度标准差均值最小的交点分割阈值,实验结果证明是有效的.

    5) 阴影检测时间效率分析

    表 2显示:对20组样本执行10次阴影检测任务,本文算法2+算法3和算法2+算法4的平均时间花销分别为42.687±2.405、14.050±1.540;文献[9]eSH算法和iSH算法分别为61.016±3.171、4.718±0.570;文献[7]算法为1.897±0.169;文献[8]算法为1.142±0.129. 上述数据显示:本文原始算法——算法2+算法3比文献[9]原始算法——eSH算法快近1/3,文献[9]加速算法——iSH算法比本文加速算法——算法2+算法4快近3倍是因为iSH算法完全依赖于数据集计算的阴影检测经验值,在经验值附近搜索降低运行时间开销,而本文算法2+算法4是不需要任何先验知识的完全自适应单张图像阴影检测算法,是不需要任何人为参数的更先进的自适应算法. 文献[7]算法是自定义单测度的Otsu算法和文献[8]是利用HSI颜色空间数据定义一个测度(S-I)/(S+I),根据建筑物阴影检测的经验值指定分割阈值进行阴影检测,尽管它们的耗时都非常低,但它们主要是用于建筑物阴影检测的,不适用于土壤图像阴影检测.

  • 对20组土壤图像实验样本中取全图为阴影或非阴影的子块(如图 7). 在阴影和包含少量阴影的非阴影区域各取80*50像素大小的子块,对A子块中阴影像素用同子块中非阴影像素替换,人工合成非阴影子块A和阴影子块B作为检测样本,用算法2检测A、B子块的Iα'特征直方图.

    图 7显示:非阴影子块A和阴影子块B的Iα'特征直方图呈现单峰结构. 如果检测为单峰结构说明土壤图像为全图非阴影土壤图像或全阴影土壤图像,无需进一步分割,可直接进入下一步切割为用于土种识别的子图,进行子图归一化和土种识别操作.

    20组土壤图像实验样本中,对其他所有图像生成的非阴影和阴影子块检测,具有相同的检测结果.

  • 本文对土壤图像阴影检测的典型二分类问题和基于Iα特征阴影检测的原始减法直方图算法进行研究,依据典型二分类问题分类特征的双峰特性,改进减法直方图算法用于土壤图像阴影检测.

    1) 改进减法直方图算法将α特征重构为α'特征,提升该特征的双峰特性;改进减法直方图算法对获得的保留直方图进行拉伸,增大保留直方图的最大梯度差,使搜索保留直方图的最大梯度求解阈值变得更直观.

    2) 改进减法直方图算法从左右峰值点开始搜索分割阈值,减少了搜索范围,比改进前减少了近1/3计算时间开销. 理论证明改进减法直方图加速算法,最坏情形计算保留直方图和F'k的次数为12次,即减法直方图的上确界为12;通常情况下,迭代总次数为$n = \left\lceil {{\rm{lo}}{{\rm{g}}_2}{\rm{di}}{{\rm{s}}_B}} \right\rceil + \left\lceil {{\rm{lo}}{{\rm{g}}_2}{\rm{di}}{{\rm{s}}_{R'}}} \right\rceil $. 它也证明改进减法直方图算法是收敛的.

    3) 改进减法直方图加速算法改进了文献[9] iSH加速算法收敛速度对先验知识的依赖,成为更先进的不需要任何先验知识的自适应算法.

    4) 通过重构α'特征,相关算法对比和直方图单峰检测实验,结果显示:算法是有效的.

    本文20组实验土壤图像样本中,最小的阴影占比为2.386%,本文算法对低于此阴影占比土壤图像阴影检测的适应性尚需进一步实验验证,对低阴影占比土壤图像阴影检测可能尚需要进一步研究.

参考文献 (16)

目录

/

返回文章
返回