Как определить пользовательскую функцию потерь в keras для Autoencoder, используя VGG в качестве кодировщика, с ограничивающими прямоугольниками в качестве входных данных вдоль входного изображения? - PullRequest
0 голосов
/ 18 июня 2020

вопрос 1: Как взять произвольное количество ограничивающих рамок для изображения? рекомендуется взять 1 ограничивающую рамку для изображения и сделать то же самое для всей ограничительной рамки?

проблема 2: я борюсь с пользовательской функцией потерь, до сих пор я пришел, это

def assymetric_loss(bboxes):
  def custom_loss(input_images,recons_images):
    batch_size=input_images.get_shape().as_list()[0]
    bbox_size=input_images.get_shape().as_list()[1]
    losses=[]
    for i in range(20):
      input_image=input_images[i]
      recons_image=recons_images[i]
      bbox=bboxes[i]  
      #condition = tf.placeholder(tf.int32, shape=[], name="condition")
      if bbox_size != None:   
        bbarea_input_image=create_mask_from_bounding_boxes(input_image, bbox)
        bbarea_recons_image=create_mask_from_bounding_boxes(recons_image, bbox)
        square = tf.square(tf.subtract(bbarea_input_image, bbarea_recons_image))
        reconstruction_error_bbarea=tf.reduce_sum(square)

        nonbbx_area_input_image    = create_inverse_mask_from_bounding_boxes(input_image, bbox)
        nonbbx_area_recons_image  = create_inverse_mask_from_bounding_boxes(recons_image, bbox)    
        square2 = tf.square(tf.subtract(nonbbx_area_input_image, nonbbx_area_recons_image))
        reconstruction_error_nonbbx=tf.reduce_sum(square2)
        total_loss=tf.add(reconstruction_error_bbarea,reconstruction_error_nonbbx)
        #loss=reconstruction_error_bbarea+reconstruction_error_nonbbx
        losses.append(tota_loss) 
      else:
        square3 = tf.square(tf.subtract(input_image,recons_image))
        reconstruction_loss=tf.reduce_sum(square3)
        losses.append(reconstruction_loss)
    loss = tf.stack(losses)
    return loss      
  return custom_loss

Примечание: я предполагаю, что размер партии равен 20

некоторые рекомендации помогут Спасибо

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