Я использую Mask_RCNN в моем проекте, чтобы сегментировать части устройства.Он работает нормально, за исключением того факта, что выходные данные (карта сегментации) имеют перекрывающиеся области, что создает огромные проблемы позже в конвейере, который я имею.Смотрите изображение ниже для справки.Там, например, круг (оранжевый диск) перекрывается с ридером (фиолетовый).
Другими словами, я хотел бы иметь карты сегментации без перекрывающихся сегментов.Кто-нибудь использовал Mask_RCNN для задач сегментации?Поскольку он работает на основе региональных предложений, я немного запутался в подходе к проблеме.Как мы можем гарантировать, что каждый обнаруженный экземпляр будет иметь свои пиксели от самого себя, а не от других экземпляров?Как мы можем сделать сегменты уникальными?
# Compute overlaps [rpn_rois, gt_boxes]
overlaps = np.zeros((rpn_rois.shape[0], gt_boxes.shape[0]))
for i in range(overlaps.shape[1]):
gt = gt_boxes[i]
overlaps[:, i] = utils.compute_iou(
gt, rpn_rois, gt_box_area[i], rpn_roi_area)
Я заглянул в код и увидел, что есть даже комментарий с упоминаниями о перекрытиях.Однако я не мог понять, что именно нужно там изменить, чтобы избежать перекрытий.Не может быть просто удалить весь раздел кода.
Может ли кто-нибудь помочь мне в этом отношении?
PS: я спрашивал об этом там, но не получил ответа.