Làm niềm tin có làm phẳng hình ảnh phẳng?


8

Tôi đang tìm kiếm một lời giải thích tốt về cách kết hợp trong học tập sâu khi áp dụng cho hình ảnh đa kênh. Ví dụ: giả sử tôi có hình ảnh 100 x 100 pixel với ba kênh, RGB. Các tenx đầu vào sau đó sẽ có kích thước 100 x 100 x 3.

Nếu tôi áp dụng tích chập với N bộ lọc và sải chân của một bộ lọc, thì kích thước đầu ra sẽ là:

100 x 100 x 3 x N?

hoặc là

100 x 100 x N?

Nói cách khác, liệu tích chập được áp dụng "làm phẳng" hình ảnh, hay là tích chập được áp dụng trên một kênh theo cơ sở kênh?

Câu trả lời:


7

Trong tất cả các triển khai cho CNN xử lý hình ảnh mà tôi đã thấy, đầu ra ở bất kỳ lớp nào là

Width x Height x Channels

hoặc một số hoán vị. Đây là cùng số lượng kích thước với đầu vào, không có kích thước bổ sung nào được thêm vào bởi các lớp chập. Mỗi kênh bản đồ tính năng trong đầu ra của lớp CNN là một mảng 2D "phẳng" được tạo bằng cách thêm kết quả của nhiều hạt nhân 2D (một cho mỗi kênh trong lớp đầu vào).

Thông thường, ngay cả các hình ảnh đầu vào thang độ xám được dự kiến ​​sẽ được thể hiện Width x Height x 1sao cho phù hợp với cùng một mẫu và cùng một mô hình lớp.

Hoàn toàn khả thi khi xây dựng một thiết kế lớp chuyển đổi lớp đầu vào kênh 2D + tiêu chuẩn thành lớp kênh 3D +. Nó không phải là thứ tôi đã thấy trước đây, nhưng bạn không bao giờ có thể loại trừ rằng nó có thể hữu ích trong một vấn đề cụ thể.

Bạn cũng có thể thấy các kết quả kênh 3D + trong CNN được áp dụng cho video, nhưng trong trường hợp đó, cấu trúc sẽ có một số biến thể của

Width x Height x Frames x Channels

Cảm ơn rất nhiều. Tôi thực sự đã tìm thấy một lời giải thích tốt khác bao gồm hình dạng của hạt nhân chập ở đây: link
David Ruiz

2

Nó phụ thuộc vào số lượng bộ lọc bạn chọn. nói rằng bạn đã chọn 64 bộ lọc.

tenxơ trọng lượng của bạn sẽ có hình dạng [3, 3, 3, 64] (3 thứ 3 là số kênh trong lớp đầu vào và 64 là số kênh trong lớp đầu ra) và hình dạng tenxơ thiên vị [64]

đầu ra sẽ là nếu Pad = "CÙNG" và sải bước 1 cho hình ảnh đầu vào là 224 * 224 * 3 = 224 * 224 * 64

đầu ra sẽ là nếu Pad = "Hợp lệ" và sải bước 1 cho hình ảnh đầu vào là 224 * 224 * 3 = 221 * 221 * 64

Bây giờ với đầu vào là 221 * 221 * 64 nếu bạn muốn tạo 128 bộ lọc trong lớp tiếp theo, hình dạng vectơ trọng lượng của bạn sẽ là [3, 3, 64, 128] và hình dạng vecotr thiên vị sẽ là [128]

và hình dạng đầu ra - if Pad = "CÙNG" [221, 221, 128] - nếu Pad = "VALID" [198, 198, 128] xem xét sải bước = [1,1,1,1]

bạn có thể kiểm tra các kết quả này trong khi xây dựng biểu đồ bằng layername.get_shape ().


1
Về mặt kỹ thuật, câu trả lời cho câu hỏi của OP không phụ thuộc vào số lượng bộ lọc. Vì vậy, câu đầu tiên của bạn có thể làm với thay đổi / làm rõ. Tuy nhiên, các giá trị mẫu là hữu ích, đặc biệt là làm rõ hình dạng của mảng trọng số.
Neil Slater

1

Kích thước đầu ra của tích chập trong học tập sâu phụ thuộc vào nhiều yếu tố

  1. kích thước của bộ lọc (còn gọi là kernel)
  2. phần đệm (cho dù bạn thêm số không hay không xung quanh hình ảnh của bạn và bao nhiêu)
  3. số lượng bộ lọc mà bạn sử dụng
  4. sải chân

Sự phụ thuộc đơn giản nhất là vào số lượng bộ lọc N. Nó cung cấp cho bạn số lượng bản đồ tính năng mà đầu ra của bạn có. Đối với đầu vào có thể là các kênh RGB tức là 3, đối với đầu ra, số này có thể được chọn tự do.

Yếu tố tiếp theo là không đệm. Nếu bạn sử dụng kích thước bộ lọc là (3,3) và phần đệm "hợp lệ", tức là thêm KHÔNG số 0 xung quanh hình ảnh, bạn sẽ có đầu ra là thứ nguyên.

(100, 100, 3) -> (98, 98, N)

Bởi vì bạn sử dụng sải chân là 1. Nếu bạn di chuyển bộ lọc qua hình ảnh ở cuối hình ảnh theo mỗi hướng, bộ lọc sẽ chạm đường viền sau 98 bước.

Tuy nhiên, nếu bạn sử dụng phần đệm "CÙNG", bạn sẽ bù cho kích thước bộ lọc - trong trường hợp kích thước bộ lọc là (3,3) tương ứng với một dòng số không xung quanh hình ảnh - bạn sẽ kết thúc bằng:

(100, 100, 3) -> (100, 100, N)

Ví dụ, với sải chân là 2, bạn dịch chuyển vị trí của bộ lọc theo hai pixel. Do đó, bạn nhận được

(100, 100, 3) -> (50, 50, N)

1

Ba kênh RGB được tích hợp bởi các hạt nhân khác nhau và được thêm vào trong mỗi bản đồ tính năng. Vì vậy, bạn sẽ có 100 x 100 x N làm lớp đầu ra.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.