Máy Keras có thể xử lý hình ảnh đầu vào với kích thước khác nhau không? Ví dụ, trong mạng nơron hoàn toàn chập chững, hình ảnh đầu vào có thể có bất kỳ kích thước nào. Tuy nhiên, chúng ta cần phải xác định hình dạng đầu vào khi chúng ta tạo một mạng bằng Keras. Vì vậy, làm thế nào chúng ta có thể sử dụng Keras để đối phó với kích thước đầu vào khác nhau mà không thay đổi kích thước hình ảnh đầu vào với cùng kích thước? Cảm ơn vì bất kì sự giúp đỡ.Máy ảnh có thể xử lý ảnh đầu vào với kích thước khác nhau không?
Trả lời
Thực hiện các mảng đầu vào có kích thước tùy ý với cùng các hạt nhân tính có thể gây ra nhiều thách thức - ví dụ: trên GPU, bạn cần biết dung lượng bộ đệm lớn, và yếu hơn bao nhiêu để bỏ vòng lặp của bạn, vv Đây là lý do chính khiến Keras yêu cầu hình dạng đầu vào không đổi, đầu vào có kích thước biến quá đau đớn để xử lý.
Điều này thường xảy ra hơn khi xử lý các chuỗi có độ dài thay đổi như các câu trong NLP. Cách tiếp cận chung là để thiết lập một giới hạn trên về kích thước (và cắt các chuỗi dài hơn), và sau đó pad các chuỗi có số không lên đến kích thước này.
(Bạn cũng có thể bao gồm mặt nạ trên không giá trị để bỏ qua tính toán trên các lĩnh vực đệm, ngoại trừ các lớp xoắn trong Keras có thể vẫn không hỗ trợ đầu vào đeo mặt nạ ...)
Tôi không chắc chắn nếu vì 3D cấu trúc dữ liệu, chi phí của padding không phải là cấm - nếu bạn bắt đầu nhận được lỗi bộ nhớ, cách giải quyết dễ nhất là giảm kích thước lô. Hãy cho chúng tôi biết về trải nghiệm của bạn khi áp dụng mẹo này trên hình ảnh!
Có. Chỉ cần thay đổi hình dạng đầu vào của bạn thành hình dạng = (n_channels, Không có, Không có). Trong đó n_channels là số kênh trong hình ảnh đầu vào của bạn.
Tôi đang sử dụng Theano backend mặc dù, vì vậy nếu bạn đang sử dụng tensorflow bạn có thể phải thay đổi nó để (Không, Không, n_channels)
Bạn nên sử dụng:
input_shape = (1, Không, Không)
Không có hình dạng nào biểu thị thứ nguyên biến. Lưu ý rằng không phải tất cả các lớp sẽ hoạt động với các thứ nguyên thay đổi như vậy, vì một số lớp yêu cầu thông tin hình dạng (chẳng hạn như Flatten). https://github.com/fchollet/keras/issues/1920
Ví dụ, sử dụng API chức năng keras của lớp đầu vào của bạn sẽ là:
Đối với một tập dữ liệu RGB
inp = Input(shape=(3,None,None))
Đối với một tập dữ liệu Grey
inp = Input(shape=(1,None,None))
- 1. Máy ảnh Android2 Kích thước đầu ra
- 2. Xử lý ảnh máy ảnh
- 3. UITableViewCell với hình ảnh ở các kích thước khác nhau
- 4. Kích thước hình ảnh trong các máy ảnh iOS khác nhau?
- 5. Kết hợp các hình ảnh có kích thước khác nhau với định dạng cụ thể
- 6. xử lý ảnh ở phía máy khách
- 7. Tải ảnh được máy ảnh chụp lên máy chủ có kích thước giới hạn
- 8. Con trỏ có thể có kích thước khác nhau không?
- 9. Máy chủ xử lý hình ảnh
- 10. là có thể cung cấp các hình ảnh khác nhau cho UIImageView trên các lớp có kích thước khác nhau
- 11. Android Giảm kích thước của máy ảnh Ảnh
- 12. Kích thước hình ảnh của máy ảnh Android
- 13. Twitter Bootstrap hình ảnh đáp ứng với kích cỡ khác nhau thay đổi kích thước unproportionaly
- 14. Xử lý khu vực có thể click vào ImageView
- 15. Cách tạo hình ảnh đơn trong các kích thước/kích thước khác nhau
- 16. Hình ảnh bicubic Java không đầu đổi kích thước
- 17. Javascript thay đổi kích thước hình ảnh ở các kích thước khác nhau chỉ với chiều rộng là
- 18. ImageMagick có thể trả lại kích thước hình ảnh không?
- 19. carousel bootstrap với ảnh: kích thước hình ảnh tối ưu?
- 20. Thay đổi kích thước hình ảnh trên máy chủ
- 21. Hình ảnh đào tạo CNN Tensorflow có tất cả các kích thước khác nhau
- 22. Làm cách nào để nhân phổ phổ của hai hình ảnh có kích thước khác nhau?
- 23. Xử lý ảnh WinRT
- 24. Cách đọc hình ảnh có kích thước khác nhau trong một tập tin TFRecord
- 25. Excel VBA gọi phụ từ một phụ khác với nhiều đầu vào, đầu ra có kích thước khác nhau
- 26. Xử lý tỷ lệ cho các kích thước thiết bị khác nhau ở dạng Xamarin
- 27. Các biểu tượng ActionBar có kích thước khác nhau
- 28. Xử lý kích thước cuộn trong UICollectionViewCell
- 29. Chạy các tiêu chuẩn Haskell trên các đầu vào có kích thước khác nhau
- 30. Sao chép/pha trộn hình ảnh có kích thước khác nhau bằng cách sử dụng opencv
Hi MAZ, tôi có chính xác cùng một vấn đề. Theo đề xuất của bạn, có nghĩa là tôi có thể sử dụng hình ảnh với các kích thước khác nhau để đào tạo và tương tự, tôi có thể dự đoán sự phân tách cho hình ảnh có kích thước khác nhau. – user288609
Không bao giờ thử đào tạo với các kích thước hình ảnh khác nhau, nhưng lý tưởng là nó nên hoạt động. Trong dự đoán, mặc dù, tôi đã thử nó và nó hoạt động (ymmv của khóa học). Kịch bản trường hợp xấu nhất bạn sẽ phải nạp theo lô có cùng kích thước hình ảnh. – maz