【问题标题】:Sliding window input (image sequence) for convolutional neural network卷积神经网络的滑动窗口输入(图像序列)
【发布时间】:2022-05-12 16:01:43
【问题描述】:

我目前正在尝试将图像序列作为单个输入实体提供给我的 CNN。我找到了 numpy 实用程序numpy.lib.stride_tricks.sliding_window_view

我的图像数据包装数组的形状为:(num_of_images, height, width, channels),我想将 5 个图像切片在一起,生成一个新的单个输入数组 (5, height, width, channels),这将导致形状的包装器数组(num_of_images/5、5、高度、宽度、通道)。但是,我很难使用滑动窗口视图。有人能启发我吗?

额外问题:每张图片都有一个关联的标签。我不确定在处理图像序列时如何处理这些标签。

提前谢谢你!

【问题讨论】:

    标签: python numpy tensorflow conv-neural-network artificial-intelligence


    【解决方案1】:

    这就是你从资源中收集了多少

    image_1 = plt.imread(list_pictures[0])
    image_2 = plt.imread(list_pictures[1])
    image = np.concatenate((image_1, image_2), axis=0)
    image = np.reshape(image, (1920, 720, 4)) <<< confirm the input image shape
    print(np.asarray(image).shape) # (1920, 720, 4)
    
    shape = (64, 64, 4)
    v = np.lib.stride_tricks.sliding_window_view(np.asarray(image), shape)  
    
    (1920, 720, 4)
    (1857, 657, 1, 64, 64, 4)
    
    plt.imshow(np.reshape(v[:,:,:,0,0], (1857, 657, 4)))
    plt.show()
    plt.close()
    
    input('...')
    

    【讨论】:

      【解决方案2】:

      我在没有像这样的 numpy 实用程序的情况下做到了:

      im_pixels 是一个包含 n 个 1d 数组的数组,其中包含 im_height*im_width 条目。 1 源于 1 个通道(灰度)。

      def prep_images(im_pixels, window_size, im_height, im_width, pixel_normalizer):
          images = np.empty((len(im_pixels), window_size, im_height, im_width, 1))
      
          for i in range(len(im_pixels)):
              frame = im_pixels[i:i+window_size]
              im_frame = np.empty((window_size, im_height, im_width, 1))
              for j, image in enumerate(frame):
                  frame[j] = normalize_pixels(image, pixel_normalizer)
                  image_2d = np.reshape(frame[j], (im_height, im_width, 1))
                  im_frame[j] = image_2d
              images[i] = im_frame
          return images
      

      【讨论】:

        猜你喜欢
        • 2023-03-08
        • 2020-03-18
        • 2016-10-20
        • 1970-01-01
        • 1970-01-01
        • 2017-07-30
        • 2017-08-31
        • 2020-05-26
        • 2017-05-13
        相关资源
        最近更新 更多