Active Shape Models 的拟合过程与统计模型拟合函数不收敛

Posted

技术标签:

【中文标题】Active Shape Models 的拟合过程与统计模型拟合函数不收敛【英文标题】:Active Shape Models' fitting procedure doesn't converge with Statistical Model fitting function 【发布时间】:2014-07-07 10:17:08 【问题描述】:

我遵循了 Tim Cootes 在 textbook 和 original paper。到目前为止一切顺利(Procrustes 分析、主成分分析、图像预处理(对比度、噪声))。只有拟合过程本身似乎没有收敛。

我使用textbook (p. 13) 中描述的灰度结构方法的统计模型为 8 个门牙中的每一个、40 个地标中的每一个创建一个拟合函数(因此 320 个不同的拟合函数总共创建)每个门牙通过沿剖面垂直于边界的两侧采样 5 个 (=k) 点,通过 8 个门牙中的每一个的 40 个地标中的每一个。这些函数等于马氏距离 (textbook 第 14 页)。

在拟合过程中,我通过当前近似牙齿的 40 个界标中的每一个沿垂直于边界的轮廓在两侧采样 10 个 (=m>k) 点。这样我必须使用相应的拟合函数评估2(m-k)+1 样本。 这些样本中的每一个都包含2k+1 点的梯度值。选择最小化函数的样本,并将相应的界标定位在那些2k+1 点的中间点。这是针对 40 个地标中的每一个完成的。这会产生一个新的(尚未验证的)牙齿近似值。

图像坐标系中的这种近似与图像坐标系中的牙齿模型对齐。然后计算主成分分析的系数(bi)并检查|bi|<3*sqrt(eigenvalue_i)是否与模型的形状有太大的偏差。必要时限制系数 (bi),然后我们转换回图像坐标系并开始一些新的迭代。

显示我们想要找到左上门牙的图像。

在第 19 次迭代中显示在图像坐标系中具有牙齿近似的梯度图像。 (红色:验证前 - 绿色:验证后)正如我们所看到的,我们有点偏离了最佳解决方案。

def create_gradient(img):
    temp = cv2.Scharr(img, ddepth=-1, dx=1, dy=0)
    return cv2.Scharr(temp, ddepth=-1, dx=0, dy=1)

显示第 19 次迭代中模型坐标系中牙齿的近似值。 (蓝色:模型 - 红色:验证前 - 绿色:验证后)正如我们所看到的,我们仍然接近模型的形状。

在模型坐标系中显示 19 次迭代的牙齿近似值。 (蓝色:模型 - 红色:验证前 - 绿色:验证后)正如我们所看到的,在所有这些迭代过程中,我们都保持接近模型的形状

所以我们保持接近形状(由主成分分析保护),但不接近地标周围的强度行为(由拟合函数保护)。

【问题讨论】:

【参考方案1】:

梯度图像错误或更好没有任何用处,因为需要沿轮廓法线而不是水平和垂直方向求导。

【讨论】:

以上是关于Active Shape Models 的拟合过程与统计模型拟合函数不收敛的主要内容,如果未能解决你的问题,请参考以下文章

我的 LSTM 模型过拟合验证数据

综述:Active Appearance Models——2001

文本分类 CNN 过拟合训练

减少神经网络中的过拟合

论文笔记 Shape and Time Distortion Loss for Training DeepTime Series Forecasting Models

Sklearn线性回归拟合输入顺序?外生变量先行吗?