Entropy của một hình ảnh


21

Cách chính xác nhất về thông tin / vật lý để tính toán entropy của hình ảnh là gì? Tôi không quan tâm đến hiệu quả tính toán ngay bây giờ - tôi muốn nó về mặt lý thuyết càng chính xác càng tốt.

Hãy bắt đầu với một hình ảnh tỷ lệ xám. Một cách tiếp cận trực quan là coi hình ảnh là một túi pixel và tính

H=kpklog2(pk)
trong đó là số mức xám và là xác suất liên quan đến mức xám .p k kKpkk

Có hai vấn đề với định nghĩa này:

  1. Nó hoạt động cho một băng tần (tức là thang màu xám), nhưng làm thế nào để mở rộng nó theo cách chính xác theo nhiều thống kê? Ví dụ: đối với 2 băng tần, một cơ sở có nên dựa vào (X1,X2) và do đó trên PMF sử dụng P(X1=x1,X2=x2) ? Nếu một người có nhiều ( B >> 2) ban nhạc sau đó , có vẻ sai.P(X1=x1,...,XB=xB)1/NBHMAX
  2. Thông tin không gian không được tính đến. Ví dụ, những hình ảnh dưới đây (quyền nuôi con của John Loomis ) có cùng , mặc dù rõ ràng chúng không truyền tải cùng một thông tin.H

nhập mô tả hình ảnh ở đâynhập mô tả hình ảnh ở đây

Bất cứ ai quan tâm để giải thích hoặc đưa ra lời khuyên, hoặc giới thiệu cho tôi một số tài liệu tham khảo phong nha về chủ đề này? Tôi chủ yếu quan tâm đến một cách tiếp cận đúng về mặt lý thuyết của vấn đề thứ hai (tức là thông tin không gian).


2
Tôi nghĩ bạn nên xem các trường ngẫu nhiên markov,
seanv507

1
cũng ma trận đồng phát
Graylevel

@ seanv507, đúng vậy. Các mô hình đồ họa vô hướng hoặc các trường ngẫu nhiên Markov là những gì tôi đang nghiên cứu. Sẽ gửi lại khi tôi biết nhiều hơn.
Davor Josipovic

Câu trả lời:


17

Cách chính xác nhất về thông tin / vật lý-lý thuyết để tính toán entropy của hình ảnh là gì?

Một câu hỏi xuất sắc và kịp thời.

Trái với niềm tin phổ biến, thực sự có thể định nghĩa một entropy thông tin tự nhiên (và về mặt lý thuyết) cho một hình ảnh.

Hãy xem xét hình sau:

enter image description here

Chúng ta có thể thấy rằng hình ảnh vi sai có biểu đồ nhỏ gọn hơn, do đó entropy thông tin Shannon của nó thấp hơn. Vì vậy, chúng ta có thể nhận được mức dự phòng thấp hơn bằng cách sử dụng entropy thứ hai của Shannon (tức là entropy có nguồn gốc từ dữ liệu vi sai). Nếu chúng ta có thể mở rộng ý tưởng này về mặt đẳng hướng thành 2D, thì chúng ta có thể mong đợi các ước tính tốt cho entropy thông tin hình ảnh.

Biểu đồ hai chiều của độ dốc cho phép mở rộng 2D.

Chúng ta có thể chính thức hóa các đối số và, thực sự, điều này đã được hoàn thành gần đây. Tóm tắt ngắn gọn:

Quan sát rằng định nghĩa đơn giản (xem ví dụ định nghĩa entropy của MATLAB) bỏ qua cấu trúc không gian là rất quan trọng. Để hiểu những gì đang xảy ra, đáng để quay lại trường hợp 1D một cách ngắn gọn. Từ lâu, người ta đã biết rằng sử dụng biểu đồ của tín hiệu để tính toán thông tin / entropy Shannon của nó bỏ qua cấu trúc không gian hoặc thời gian và đưa ra ước tính kém về khả năng nén hoặc dự phòng vốn có của tín hiệu. Giải pháp đã có sẵn trong văn bản cổ điển của Shannon; sử dụng các thuộc tính bậc hai của tín hiệu, tức là xác suất chuyển tiếp. Quan sát năm 1971 (Gạo & Vui lòng) rằng công cụ dự đoán tốt nhất của giá trị pixel trong quét raster là giá trị của pixel trước đó ngay lập tức dẫn đến bộ dự đoán vi phân và entropy bậc hai phù hợp với các ý tưởng nén đơn giản như mã hóa độ dài chạy. Những ý tưởng này đã được tinh chỉnh vào cuối những năm 80, dẫn đến một số kỹ thuật mã hóa hình ảnh (vi sai) cổ điển vẫn đang được sử dụng (PNG, JPG không mất dữ liệu, GIF, JPG2000 không mất dữ liệu) trong khi wavelet và DCT chỉ được sử dụng để mã hóa mất dữ liệu.

Chuyển sang 2D; các nhà nghiên cứu nhận thấy rất khó để mở rộng ý tưởng của Shannon lên các chiều cao hơn mà không đưa ra sự phụ thuộc định hướng. Theo trực giác, chúng ta có thể mong đợi entropy thông tin của Shannon là độc lập với định hướng của nó. Chúng tôi cũng hy vọng các hình ảnh có cấu trúc không gian phức tạp (như ví dụ nhiễu ngẫu nhiên của người hỏi) sẽ có entropy thông tin cao hơn so với hình ảnh có cấu trúc không gian đơn giản (như ví dụ tỷ lệ xám mịn của người hỏi). Hóa ra lý do rất khó để mở rộng ý tưởng của Shannon từ 1D sang 2D là vì có sự bất đối xứng (một phía) trong công thức ban đầu của Shannon ngăn cản công thức đối xứng (đẳng hướng) trong 2D. Khi tính không đối xứng 1D được sửa, phần mở rộng 2D có thể tiến hành dễ dàng và tự nhiên.

Cắt theo đuổi (độc giả quan tâm có thể kiểm tra giải trình chi tiết trong bản in trước arXiv tại https://arxiv.org/abs/1609.01117 ) trong đó entropy hình ảnh được tính từ biểu đồ 2D của độ dốc (hàm mật độ xác suất độ dốc).

Đầu tiên, pdf 2D được tính toán bằng cách ước tính theo tỷ lệ của các đạo hàm x và y. Điều này giống với hoạt động tạo thùng được sử dụng để tạo biểu đồ cường độ phổ biến hơn trong 1D. Các đạo hàm có thể được ước tính bằng các khác biệt hữu hạn 2 pixel được tính theo hướng ngang và dọc. Đối với ảnh vuông NxN f (x, y), chúng tôi tính các giá trị NxN của các giá trị fx và NxN phái sinh một phần của fy. Chúng tôi quét qua hình ảnh vi sai và với mỗi pixel chúng tôi sử dụng (fx, fy) để xác định vị trí một thùng rời rạc trong mảng đích (2D pdf) sau đó được tăng thêm một. Chúng tôi lặp lại cho tất cả các pixel NxN. Pdf 2D kết quả phải được chuẩn hóa để có xác suất đơn vị tổng thể (chỉ cần chia cho NxN đạt được điều này). Pdf 2D hiện đã sẵn sàng cho giai đoạn tiếp theo.

Việc tính toán entropy thông tin 2D Shannon từ pdf 2D gradient rất đơn giản. Công thức tính tổng logarit cổ điển của Shannon áp dụng trực tiếp ngoại trừ yếu tố quan trọng là một nửa bắt nguồn từ các cân nhắc lấy mẫu được phân tách bằng dải đặc biệt cho hình ảnh gradient (xem chi tiết giấy arXiv). Yếu tố nửa vời làm cho entropy 2D được tính toán thậm chí thấp hơn so với các phương pháp khác (dự phòng hơn) để ước tính entropy 2D hoặc nén không mất dữ liệu.

Tôi xin lỗi tôi đã không viết các phương trình cần thiết xuống đây nhưng mọi thứ đều có sẵn trong văn bản in sẵn. Các tính toán là trực tiếp (không lặp) và độ phức tạp tính toán là theo thứ tự (số lượng pixel) NxN. Entropy tính toán thông tin cuối cùng của Shannon là độc lập xoay và tương ứng chính xác với số bit cần thiết để mã hóa hình ảnh trong một biểu diễn gradient không dư thừa.

Nhân tiện, phép đo entropy 2D mới dự đoán một entropy (trực quan dễ chịu) 8 bit cho mỗi pixel cho hình ảnh ngẫu nhiên và 0.000 bit mỗi pixel cho hình ảnh gradient mượt mà trong câu hỏi ban đầu.


1
Công việc thú vị. Bây giờ, Razlighi đã thực hiện một so sánh về một số thuật toán entropy trong bài báo này . Tôi tự hỏi làm thế nào bạn sẽ so sánh, đặc biệt là trên hình ảnh tổng hợp mà anh ấy sử dụng ở đó. Có thể đáng để điều tra.
Davor Josipovic

Cảm ơn bạn đã đề cập đến bài báo của Razlighi's. Các kết quả thử nghiệm quan trọng được thể hiện trong Hình 2. Tôi tin rằng phép đo độ phân giải 2D của tôi sẽ có đơn vị entropy bình thường hóa cho tương quan 0,0 và sau đó giảm xuống gần mức entropy bình thường cho tương quan 1.0. Tôi chưa thực sự tính toán các giá trị này nhưng nó xuất phát trực tiếp từ phần 3.2 của bản in sẵn arXiv của tôi vì tương quan cao tương ứng với băng thông phổ thấp, do đó entropy thấp.
Kieran Larkin

Tôi thích cách tiếp cận này. Nó có vẻ trực quan đối với tôi. Bước bổ sung tính toán độ dốc trước khi tính toán entropy dường như mã hóa thông tin không gian theo trực giác. Tôi đã cố gắng chơi xung quanh và tính toán nó với Python ở đây . Nhưng tôi đã vật lộn để tái tạo chất ăn da từ giấy của bạn (xem mã, ví dụ cuối cùng). Tôi chỉ có thể tái tạo chúng bằng phao! Đó là bởi vì với số nguyên, độ dốc nằm trong [-6,6] cho hình ảnh thử nghiệm của tôi, ngay cả khi sử dụng 16 bit dẫn đến chỉ 49 thùng khác không cho biểu đồ.
mxmlnkn

giấy của bạn đã bao giờ được xuất bản chưa? Bạn hoặc người khác tiếp tục công việc?
Andrei

Mã mẫu Matlab sẽ là tuyệt vời.
Pedro77

8

Không có gì, tất cả phụ thuộc vào bối cảnh và thông tin trước đó của bạn. Entropy có nhiều cách hiểu như "đo lường trật tự" hay "đo lường thông tin", nhưng thay vì nhìn vào các diễn giải bạn chỉ có thể nhìn vào thực tế nó là gì. Entropy chỉ là một cách thể hiện số lượng trạng thái của một hệ thống. Một hệ thống có nhiều trạng thái có entropy cao và một hệ thống có ít trạng thái có entropy thấp.

Bạn và bài viết bạn liên kết đến - nói rằng hai hình ảnh có cùng một kiểu entropy. Điều này không đúng (đối với tôi).

Bài viết tính toán chính xác entropy là.

H=kpklog2(pk)

pk=1M=2n

Do đó, entropy là:

H=kpklog2(pk)=k2nlog2(2n)=log2(2n)=n

Tuy nhiên, đây không phải là trường hợp cho hình ảnh thứ hai.

Entropy vẫn có thể được tính như sau:

H=kpklog2(pk)

pk=1M=2np1p2,p3,p4pmany

Do đó, hai hình ảnh không có cùng một entropy.

Nghe có vẻ phản cảm rằng entropy phụ thuộc vào cách bạn nhìn nhận vấn đề. Tuy nhiên, bạn có thể biết nó từ nén. Việc nén tối đa một tệp được quyết định bởi định lý mã hóa nguồn của Shannon , đặt ra giới hạn trên cho việc thuật toán nén có thể nén tệp tốt đến mức nào. Giới hạn này phụ thuộc vào entropy của tệp. Tất cả các máy nén hiện đại sẽ nén một tệp gần với giới hạn này.

Tuy nhiên, nếu bạn biết tệp là tệp âm thanh, bạn có thể nén tệp bằng FLAC thay vì một số máy nén chung. FLAC là lossless nên tất cả thông tin được bảo tồn. FLAC không thể xoay quanh định lý mã hóa nguồn của Shannon, đó là toán học, nhưng nó có thể xem xét tệp theo cách làm giảm entropy của tệp, do đó thực hiện nén tốt hơn.

Chính xác, khi tôi nhìn vào hình ảnh thứ hai của bạn, tôi thấy rằng các pixel được sắp xếp theo giá trị màu xám, và do đó nó không có cùng một kiểu entropy với tôi như hình ảnh có nhiễu ngẫu nhiên.


Tôi nghĩ rằng OP biết nếu điều này - anh ta đang yêu cầu các mô hình xác suất bao gồm thông tin không gian
seanv507

@ seanv507 Tôi đọc lại câu hỏi. Tôi không chắc chắn nếu tôi đồng ý với bạn hay không. Tôi tin rằng OP đang tìm kiếm thứ gì đó không tồn tại.
Bottiger

H

@bottiger FLAC không thể giảm entropy của tệp âm thanh theo định nghĩa là nén mất dữ liệu Nó đạt được nén bằng cách loại bỏ dư thừa.
Paul Uszak

Có lẽ đúng khi nói rằng công thức entropy cổ điển chỉ đúng nếu các giá trị pixel độc lập quyết liệt?
volperossa

2

Về cơ bản, ý tưởng về entropy là một cái gì đó giống như "số lượng trạng thái vi mô phù hợp với macrostate".

Tôi nghĩ rằng nhận xét của sean507 và câu trả lời của Bottiger đều chỉ ra một khuôn khổ chung. Nếu bạn biểu diễn không gian hình ảnh bằng một mô hình tổng quát ,p[tôi,h], sau đó cho một hình ảnh nhất định tôibạn có thể (về nguyên tắc) tính toán một hậu thế qua các trạng thái ẩnp[h|tôi](xem thêm tại đây ). Sau đó, bạn có thể (về nguyên tắc) tính toán entropy của hậu thế.

Vì vậy, tôi đồng ý rằng bất kỳ "entropy" nào, ngay cả trong "ý nghĩa chính xác nhất về mặt lý thuyết", dường như phụ thuộc vào cả đại diện được sử dụng và mô hình thế hệ liên kết "microstates" (h) thành "macrostates" (tôi).


1

H= =-Σkpktôiog2(pk)

làm KHÔNG làm việc trong thực tế, vì lý do đơn giản rằng đó là hầu như không thể xác định Vn. Bạn nghĩ rằng bạn có thể làm điều đó, như bạn đã làm bằng cách xem xét số lượng các mức độ màu xám. Không phải vậy đâu. Tất cả là sự kết hợp có thể của các cấp độ màu xám. Vì vậy, bạn phải tạo một cây xác suất đa chiều khi xem xét kết hợp 1, 2, 3 ... pixel. Nếu bạn đọc tác phẩm của Shannon, bạn sẽ thấy anh ta thực hiện phép tính này cho tiếng Anh đơn giản khi xem xét độ sâu của cây gồm 3 chữ cái. Sau đó, nó trở nên khó sử dụng mà không có máy tính.

Bạn đã tự chứng minh điều này bằng tuyên bố 2. Đó là lý do tại sao phép tính entropy của bạn trả về cùng một mức entropy cho hai hình ảnh, mặc dù một hình rõ ràng ít được đặt hàng hơn hình kia.

Cũng không có khái niệm phân bố không gian như vậy trong tính toán entropy. Nếu có, bạn cũng phải tính toán entropy khác nhau cho các mẫu phân phối theo thời gian. Và bạn sẽ làm gì cho một mảng dữ liệu 11 chiều? Đối với entropy thông tin; nó được đo bằng byte.

Chỉ cần nén hình ảnh bằng thuật toán nén. Nó sẽ đưa ra một ước tính của entropy theo byte. Nó sẽ làm điều này cho bất kỳ hình ảnh hoặc nghĩa đen bất cứ điều gì khác có thể được số hóa, chẳng hạn như âm nhạc hoặc vở kịch Shakespearean.

Vì thế. Hình ảnh ngẫu nhiên của bạn chứa khoảng 114 KByte và hình ảnh được đặt hàng của bạn chứa khoảng 2,2 KByte. Đây là những gì bạn mong đợi, nhưng bạn đã biết loại này vì bạn đã thấy kích thước tệp hình ảnh có kích thước này. Tôi đã giảm 33% kích thước nén để cho phép cải tiến các thuật toán nén trong tương lai. Tôi không thể thấy họ cải thiện hơn điều này khi đường cong cải tiến đang trở nên không có giá trị đối với một giá trị cơ bản thực sự.

PS Vì lợi ích, Shakespeare chỉ sản xuất 1 MByte entropy trong toàn bộ công việc của mình, tính theo kỹ thuật này. Hầu hết nó khá tốt mặc dù.

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.