4

我遵循了 Tim Cootes 在 教科书原始论文中描述的 Active Shape Models 方法。到目前为止一切顺利(Procrustes 分析、主成分分析、图像预处理(对比度、噪声))。只有拟合过程本身似乎没有收敛。

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

在拟合过程中,我m>k通过牙齿当前近似值的 40 个界标中的每一个,沿垂直于边界的轮廓在两侧采样 10 个 (= ) 点。这样我必须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 次迭代的牙齿近似值。(蓝色:模型 - 红色:验证前 - 绿色:验证后)正如我们所看到的,在所有这些迭代过程中,我们都保持接近模型的形状

在此处输入图像描述

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

4

1 回答 1

4

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

于 2014-05-19T15:38:37.193 回答