CNN Semanti c сеть сегментации (UNET) работает плохо при тестировании с изображениями - PullRequest
0 голосов
/ 31 марта 2020

Я работаю над созданием сети сегментации UNET semanti c, чтобы обнаружить радужную оболочку в изображениях глаз, мы используем функцию потери DICE, и мы достигли более 90% среднего значения IOU и около 87% по данным проверки, но потеря проверки и среднее IOU показывали флуктуации в течение 200 эпох, и когда мы тестировали нашу сеть, она показывала действительно плохие результаты, выходное изображение не было близко к истине, даже если мы использовали изображения из обучающего набора, оно все еще работало плохо, любые предложения о том, что мы можем сделать, чтобы преодолеть это.

Ответы [ 2 ]

0 голосов
/ 01 апреля 2020

Как выглядит ваша реализация DS C Loss? А какую функцию активации вы используете? Я лично использовал:

def dice_coef(y_true, y_pred, smooth=1e-3):
    y_true_f = K.flatten(y_true)
    y_pred_f = K.flatten(y_pred)
    intersection = K.sum(y_true_f * y_pred_f)
    dice = (2. * intersection + smooth) / (K.sum(y_true_f) + K.sum(y_pred_f) + smooth)
    return dice

def dice_coef_loss(y_true, y_pred):
    return 1 - dice_coef(y_true, y_pred)

в качестве функции потерь и metri c в нескольких архитектурах сегментации U- Net, а сигмоид - в качестве функции активации (при условии, что это проблема двоичной классификации). Кроме того, если вы оптимизируете IOU, вы можете изменить свою потерю на потерю IOU - что-то вроде:

def iou(y_true, y_pred, smooth=1e-3):
    intersection = K.sum(K.abs(y_true * y_pred), axis=-1)
    union = K.sum((y_true,-1) + K.sum(y_pred,-1) - intersection
    return (intersection + smooth) / ( union + smooth)

def iou_loss(y_true, y_pred):
    return -iou_coef(y_true, y_pred)

Надеюсь, это поможет!

0 голосов
/ 31 марта 2020

Является ли набор данных опубликованным c? Вы можете найти некоторые хорошие ресурсы и рекомендации здесь: https://github.com/NVIDIA/DeepLearningExamples/tree/master/TensorFlow2/Segmentation/UNet_Medical вы найдете также результаты тестов. Я думаю, что они используют оптимизатор ADAM с коэффициентом обучения 0,0001. Подробнее в разделе учебного процесса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...