2019APMCM比赛复盘

赛题

  • 工业中发现铁尾矿的熔融过程,可以用二氧化硅的熔化代替,工业中使用了CCD技术,对二氧化硅的熔融过程进行视频分析。所以题目就是围绕怎么检测二氧化硅熔融过程中的运动轨迹,怎么识别二氧化硅的轮廓并建立二维平面指标,然后分析二氧化硅的熔化速率

解决方案

  1. 怎么识别二氧化硅的质心并生成轨迹图

    • yolov3深度学习神经网络,根据制作的VOC数据集,训练出最好的模型,然后检测出每张图片二氧化硅所在的位置,然后使用opencv的canny算法,对轮廓进行识别,由于轮廓为不规则形状还需要进行多边形近似估计
    • 得出轮廓之后,计算轮廓的质心位置,获取到坐标,并生成最后的轨迹图。
  2. 如何检测二氧化硅的轮廓,并建立相应的二维指标(面积,周长,广义半径)

    • 根据第一问的轮廓检测算法,还有opencv的求周长和面积的函数,建立二维平面指标。
  3. 根据建立的二维指标跟体积建立关系,从而求出二氧化硅的熔化速率

    • 我们使用面积作为评价二氧化硅熔化速率的模型基础。使用matplotlib库,画出面积的变化曲线,并对其进行多项式拟合。然后求得方程的系数,从而得到斜率的变化曲线。

问题

  1. 使用opencv的轮廓检测不够精确,并且辨识能力不高,至于如何优化,水平有限,对opencv对应的算法了解不够深入。
  2. 二维平面指标只想到了面积,周长,广义半径,还有很多没有想到,所以可能指标的建立不够合理。
  3. 二维指标与三维体积的对应关系,没有很好的得到解决。只能通过假设二氧化硅为大致的球体,这样刚开始误差就比较大。

你可能感兴趣的:(python,c++11,opencv-python,matlab)