小编nab*_*abs的帖子

为什么基本矩阵有7个自由度?

基本矩阵中有9个参数用于关联左右图像的像素坐标,但仅有7个自由度(DOF).

在我搜索的几个页面上的原因是:

  1. 均匀方程意味着我们失去了一定程度的自由

  2. F = 0的决定因素,因此我们失去了另一个自由度.

我不明白为什么这两个原因意味着我们失去了2个自由度 - 有人可以解释一下吗?

camera image-processing computer-vision

6
推荐指数
2
解决办法
1357
查看次数

平滑骰子损失如何区分?

我正在通过最小化dice_loss普遍用于此问题的功能来在keras中训练U-Net :从此处此处改编

def dsc(y_true, y_pred):
     smooth = 1.
     y_true_f = K.flatten(y_true)
     y_pred_f = K.flatten(y_pred)
     intersection = K.sum(y_true_f * y_pred_f)
     score = (2. * intersection + smooth) / (K.sum(y_true_f) + K.sum(y_pred_f) + smooth)
     return score

def dice_loss(y_true, y_pred):
    return (1 - dsc(y_true, y_pred))
Run Code Online (Sandbox Code Playgroud)

这种实现方式与传统的骰子损失有所不同,因为它具有使它“可区分”的平滑术语。我只是不明白如何用smooth术语代替1e-7分母中的术语来使它更好,因为它实际上会改变损耗值。我通过在具有常规dice实现的测试集上使用经过训练的unet模型进行了检查,如下所示:

def dice(im1,im2):
     im1 = np.asarray(im1).astype(np.bool)
     im2 = np.asarray(im2).astype(np.bool)
     intersection = np.logical_and(im1, im2)
     return np.float(2. * intersection.sum()) / (im1.sum() + im2.sum() + 1e-7))
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么通常使用平滑骰子损失吗?

image-processing image-segmentation deep-learning keras tensorflow

5
推荐指数
1
解决办法
1453
查看次数

如何在 Keras 中创建依赖于纪元数的损失函数参数?

我有一个带有超参数的自定义损失函数alpha,我想在训练中每 20 个时期更改一次。损失函数类似于:

def custom_loss(x, x_pred): 
    loss1 = binary_crossentropy(x, x_pred)
    loss2 = (x, x_pred)
    return (alpha)* loss1 + (1-alpha)*loss2
Run Code Online (Sandbox Code Playgroud)

根据我的研究,创建自定义回调是可行的方法。我在此处此处查看了类似问题的解决方案,但这些解决方案没有实现我想要完成的回调解决方案。

我试图通过更改LearningRateScheduler来自keras 存储库的回调来创建自定义回调

class changeAlpha(Callback):
    def __init__(self, alpha):
        super(changeAlpha, self).__init__()
        self.alpha = alpha 

    def on_epoch_begin(self, epoch, logs={}):
        if epoch%20 == 0:   
             K.set_value(self.alpha, K.get_value(self.alpha) * epoch**0.95)
             print("Setting alpha to =", str(alpha))
Run Code Online (Sandbox Code Playgroud)

但是,我不确定 alpha 值实际上对应于我的损失函数中的 alpha 值。无论如何,当我将changeAlpha回调放入model.fit方法中时,我会收到一个attribute error.

有人可以帮我编辑回调,使其alpha在一定数量的时期后改变我的参数吗?

python deep-learning keras tensorflow loss-function

5
推荐指数
1
解决办法
1433
查看次数