Я прочитал реализацию yolov2. У меня есть несколько вопросов по поводу его потери. Ниже приведен псевдокод функции потерь, надеюсь, я все понял правильно.
costs = np.zeros(output.shape)
for pred_box in all prediction box:
if (max iou pred_box has with all truth box < threshold):
costs[pred_box][obj] = (sigmoid(obj)-0)^2 * 1
else:
costs[pred_box][obj] = 0
costs[pred_box][x] = (sigmoid(x)-0.5)^2 * 0.01
costs[pred_box][y] = (sigmoid(y)-0.5)^2 * 0.01
costs[pred_box][w] = (w-0)^2 * 0.01
costs[pred_box][h] = (h-0)^2 * 0.01
for truth_box all ground truth box:
pred_box = the one prediction box that is supposed to predict for truth_box
costs[pred_box][obj] = (1-sigmoid(obj))^2 * 5
costs[pred_box][x] = (sigmoid(x)-truex)^2 * (2- truew*trueh/imagew*imageh)
costs[pred_box][y] = (sigmoid(y)-truey)^2 * (2- truew*trueh/imagew*imageh)
costs[pred_box][w] = (w-log(truew/anchorw))^2 * (2- truew*trueh/imagew*imageh)
costs[pred_box][h] = (h-log(trueh/anchorh))^2 * (2- truew*trueh/imagew*imageh)
costs[pred_box][classes] = softmax_euclidean
total loss = sum(costs)
IУ меня есть несколько вопросов по этому поводу:
1.Код случайным образом изменяет размеры изображений поезда до размеров от 320 до 608 каждые 10 партий, но размер якорного ящика не изменяется соответственно. Почему бы не изменить размер якоря тоже.означает, что вы выбрали набор наиболее распространенных привязок на карте объектов 13 * 13, эти привязки не будут распространены на карте объектов 19 * 19, так почему бы не изменить размер привязки в соответствии с размером изображения.
2. Применяется ли стоимость для прогноза x, y, w, h для ящиков, которым не назначена истина, которая толкает w, h для точного соответствия якоря, а x, y центрироваться в ячейке с помощьюпо умолчанию, полезно и почему. Почему бы не применить прогнозирование стоимости местоположения только к тем, кому присвоена истина, и игнорировать неназначенные.прогнозирование всех блоков без назначенной правды. В yolov2 прогноз obj для блоков без назначенной правды - это не все применяемые затраты, а только те, для которых не назначена истина, и они не сильно совпадают со всей правдой и применяются.Почему это сложно?