Entropi dari suatu gambar

21

Apa cara paling benar informasi / fisika-teoretis untuk menghitung entropi suatu gambar? Saya tidak peduli dengan efisiensi komputasi saat ini - saya ingin secara teoritis seakurat mungkin.

Mari kita mulai dengan gambar skala abu-abu. Salah satu pendekatan intuitif adalah mempertimbangkan gambar sebagai sekumpulan piksel dan menghitung mana adalah jumlah tingkat abu-abu dan adalah probabilitas yang terkait dengan tingkat abu .K p k k

H=-khalklHaig2(halk)
Khalkk

Ada dua masalah dengan definisi ini:

  1. Ini bekerja untuk satu band (yaitu skala abu-abu), tetapi bagaimana kita harus memperluasnya dengan cara yang benar secara statistik untuk beberapa band? Misalnya, untuk 2 band, haruskah seseorang mendasarkan diri pada dan dengan demikian pada PMF menggunakan ? Jika seseorang memiliki banyak ( >> 2) band maka , yang tampaknya salah.P ( X 1 = x 1 , X 2 = x 2 ) B P ( X 1 = x 1 , . . . , X B = x B ) ~ 1 / N BH M A X(X1,X2)P(X1=x1,X2=x2)BP(X1=x1,...,XB=xB)1/NBHM.SEBUAHX
  2. Informasi spasial tidak diperhitungkan. Misalnya, gambar di bawah ini (hak asuh John Loomis ) memiliki sama , walaupun jelas mereka tidak menyampaikan informasi yang sama.H

masukkan deskripsi gambar di sinimasukkan deskripsi gambar di sini

Adakah yang mau menjelaskan atau memberi saran, atau merujuk saya ke beberapa bahan referensi yang layak tentang subjek? Saya terutama tertarik pada pendekatan yang benar secara teoritis dari masalah kedua (yaitu informasi spasial).

Davor Josipovic
sumber
2
Saya pikir Anda harus melihat bidang acak markov misalnya files.is.tue.mpg.de/chwang/papers/CVIU2013_MRFSurvey.pdf
seanv507
1
juga matriks cooccurrence tingkat abu
abu
@ seanv507, ya memang. Model grafis tak berarah atau bidang acak Markov adalah apa yang saya pelajari sekarang. Akan dikirim kembali ketika saya tahu lebih banyak.
Davor Josipovic

Jawaban:

17

"Apa cara paling benar informasi / fisika-teoritis untuk menghitung entropi suatu gambar?"

Pertanyaan yang sangat bagus dan tepat waktu.

Berlawanan dengan kepercayaan umum, memang mungkin untuk mendefinisikan entropi informasi alami (dan secara teoritis) secara intuitif untuk suatu gambar.

Pertimbangkan gambar berikut:

masukkan deskripsi gambar di sini

Kita dapat melihat bahwa gambar diferensial memiliki histogram yang lebih kompak, oleh karenanya entropi informasi Shannon lebih rendah. Jadi kita bisa mendapatkan redundansi yang lebih rendah dengan menggunakan entropi Shannon orde kedua (yaitu entropi yang berasal dari data diferensial). Jika kita dapat memperluas ide ini secara isotropis ke 2D, maka kita mungkin mengharapkan estimasi yang baik untuk entropi informasi gambar.

Histogram gradien dua dimensi memungkinkan ekstensi 2D.

Kami dapat memformalkan argumen dan, memang, ini telah selesai baru-baru ini. Rekap singkat:

Pengamatan bahwa definisi sederhana (lihat misalnya definisi entropi gambar MATLAB) mengabaikan struktur ruang sangat penting. Untuk memahami apa yang sedang terjadi, sebaiknya kembali ke kasus 1D secara singkat. Telah lama diketahui bahwa menggunakan histogram sinyal untuk menghitung informasi / entropinya Shannon mengabaikan struktur temporal atau spasial dan memberikan perkiraan yang buruk tentang kompresibilitas atau redundansi sinyal yang melekat. Solusinya sudah tersedia dalam teks klasik Shannon; menggunakan sifat urutan kedua dari sinyal, yaitu probabilitas transisi. Pengamatan pada tahun 1971 (Rice & Plaunt) bahwa prediktor terbaik dari nilai piksel dalam pemindaian raster adalah nilai piksel sebelumnya segera mengarah ke prediktor diferensial dan entropi urutan kedua Shannon yang sejajar dengan ide kompresi sederhana seperti pengkodean panjang berjalan. Ide-ide ini disempurnakan pada akhir 80-an menghasilkan beberapa teknik pengkodean lossless image (diferensial) klasik yang masih digunakan (PNG, JPG lossless, GIF, JPG2000 lossless) sementara wavelet dan DCT hanya digunakan untuk pengkodean lossy.

Pindah sekarang ke 2D; Peneliti menemukan sangat sulit untuk memperluas ide-ide Shannon ke dimensi yang lebih tinggi tanpa memperkenalkan ketergantungan orientasi. Secara intuitif, kita dapat mengharapkan entropi informasi Shannon menjadi independen dari orientasinya. Kami juga mengharapkan gambar dengan struktur spasial yang rumit (seperti contoh derau acak penanya) memiliki entropi informasi yang lebih tinggi daripada gambar dengan struktur spasial sederhana (seperti contoh skala abu-abu yang halus dari penanya). Ternyata alasan mengapa sangat sulit untuk memperluas ide-ide Shannon dari 1D ke 2D adalah bahwa ada asimetri (satu sisi) dalam formulasi asli Shannon yang mencegah formulasi simetris (isotropik) dalam 2D. Setelah asimetri 1D dikoreksi, ekstensi 2D dapat dilanjutkan dengan mudah dan alami.

Memotong ke pengejaran (pembaca yang berminat dapat memeriksa eksposisi terperinci dalam preprint arXiv di https://arxiv.org/abs/1609.01117 ) di mana entropi gambar dihitung dari histogram gradien 2D (fungsi kepadatan probabilitas gradien).

Pertama-tama pdf 2D dihitung dengan estimasi binning dari gambar x dan turunannya. Ini menyerupai operasi binning yang digunakan untuk menghasilkan histogram intensitas yang lebih umum dalam 1D. Derivatif dapat diperkirakan dengan perbedaan hingga 2-pixel yang dihitung dalam arah horizontal dan vertikal. Untuk gambar kotak NxN f (x, y) kami menghitung nilai NxN dari turunan parsial fx dan nilai NxN dari fy. Kami memindai melalui gambar diferensial dan untuk setiap piksel yang kami gunakan (fx, fy) untuk menemukan nampan terpisah dalam array tujuan (2D pdf) yang kemudian ditambahkan oleh satu. Kami ulangi untuk semua piksel NxN. 2D pdf yang dihasilkan harus dinormalisasi untuk memiliki probabilitas satuan keseluruhan (cukup dengan membagi oleh NxN untuk mencapai ini). 2D pdf sekarang siap untuk tahap selanjutnya.

Perhitungan entropi informasi Shannon 2D dari 2D gradient pdf sederhana. Rumus penjumlahan logaritmik klasik Shannon berlaku secara langsung kecuali untuk faktor penting setengah yang berasal dari pertimbangan pengambilan sampel terbatas pita khusus untuk gambar gradien (lihat makalah arXiv untuk perincian). Setengah faktor membuat entropi 2D yang dikomputasi bahkan lebih rendah dibandingkan dengan metode lain (lebih redundan) untuk memperkirakan entropi 2D atau kompresi lossless.

Maaf saya belum menulis persamaan yang diperlukan di sini, tetapi semuanya tersedia dalam teks pracetak. Komputasi bersifat langsung (non-iteratif) dan kompleksitas komputasinya teratur (jumlah piksel) NxN. Entropi informasi Shannon akhir yang dihitung adalah rotasi independen dan sesuai dengan jumlah bit yang diperlukan untuk menyandikan gambar dalam representasi gradien yang tidak redundan.

Omong-omong, ukuran entropi 2D yang baru memprediksi entropi (menyenangkan secara intuitif) 8 bit per piksel untuk gambar acak dan 0.000 bit per piksel untuk gambar gradien halus dalam pertanyaan awal.

Kieran Larkin
sumber
1
Pekerjaan yang menarik. Sekarang, Razlighi telah membuat perbandingan beberapa algoritma entropi dalam kertas . Saya ingin tahu bagaimana perbandingan Anda, terutama pada gambar sintetis yang ia gunakan di sana. Mungkin perlu diselidiki.
Davor Josipovic
Terima kasih telah menyebutkan makalah Razlighi. Hasil tes penting ditunjukkan pada Gambar 2. Saya percaya bahwa ukuran delentropi 2D saya akan memiliki unit dinormalisasi entropi untuk korelasi 0,0 dan kemudian turun menjadi mendekati nol entropi dinormalisasi untuk korelasi 1.0. Saya belum benar-benar menghitung nilai-nilai ini tetapi mengikuti langsung dari bagian 3.2 dari preprint arXiv saya karena korelasi tinggi sesuai dengan bandwidth spektral rendah, karenanya entropi rendah.
Kieran Larkin
Saya suka pendekatan ini. Tampaknya intuitif bagi saya. Langkah tambahan menghitung gradien sebelum menghitung entropi tampaknya menyandikan informasi spasial secara intuitif. Saya mencoba untuk bermain-main dan menghitungnya dengan Python di sini . Tapi saya kesulitan mereproduksi kaustik dari kertas Anda (lihat kode, contoh terakhir). Saya hanya bisa mereproduksi mereka dengan pelampung! Itu karena dengan bilangan bulat gradien berada di [-6,6] untuk gambar pengujian saya, bahkan ketika menggunakan 16 bit menghasilkan hanya 49 nampan yang tidak nol untuk histogram.
mxmlnkn
apakah makalah Anda pernah diterbitkan? Apakah Anda atau orang lain melanjutkan pekerjaan?
Andrei
Kode sampel Matlab akan lebih bagus.
Pedro77
8

Tidak ada, itu semua tergantung pada konteks dan informasi Anda sebelumnya. Entropy memiliki banyak interpretasi seperti "pengukuran urutan" atau "pengukuran informasi", tetapi alih-alih melihat interpretasi Anda bisa melihat apa itu sebenarnya. Entropi hanyalah cara untuk menyatakan jumlah status suatu sistem. Sistem dengan banyak negara memiliki entropi tinggi, dan sistem dengan beberapa negara memiliki entropi rendah.

Anda, dan artikel yang Anda tautkan - menyatakan bahwa kedua gambar memiliki entropi yang sama. Ini tidak benar (untuk saya).

Artikel dengan benar menghitung entropi tersebut.

H=-khalklHaig2(halk)

halk=1M.=2-n

Oleh karena itu entropinya adalah:

H=-khalklHaig2(halk)=-k2-nlHaig2(2-n)=-lHaig2(2-n)=n

Namun, ini bukan kasus untuk gambar kedua.

Entropi masih dapat dihitung sebagai:

H=-khalklHaig2(halk)

halk=1M.=2-nhal1hal2,hal3,hal4...halmSebuahny

Oleh karena itu, kedua gambar tidak memiliki entropi yang sama.

Mungkin terdengar kontra intuitif bahwa entropi tergantung pada bagaimana Anda melihat masalah. Namun, Anda mungkin tahu itu dari kompresi. Kompresi maksimum file ditentukan oleh teorema pengkodean sumber Shannon yang menetapkan batas atas seberapa baik algoritma kompresi dapat memampatkan file. Batas ini tergantung pada entropi file. Semua kompresor modern akan memampatkan file yang dekat dengan batas ini.

Namun, jika Anda tahu file tersebut adalah file audio, Anda dapat mengompresnya menggunakan FLAC bukan kompresor umum. FLAC bersifat lossless sehingga semua informasi dipertahankan. FLAC tidak dapat menyiasati teorema kode sumber Shannon, itu matematika, tetapi dapat melihat file dengan cara yang mengurangi entropi file, sehingga melakukan kompresi yang lebih baik.

Secara identik, ketika saya melihat Anda gambar kedua, saya melihat bahwa piksel diurutkan berdasarkan nilai abu-abu, dan karena itu tidak memiliki entropi yang sama dengan gambar dengan noise acak.

bottiger
sumber
Saya pikir OP sadar jika ini - ia meminta model probabilistik yang mencakup informasi spasial
seanv507
@ seanv507 Saya membaca kembali pertanyaannya. Saya tidak yakin apakah saya setuju dengan Anda atau tidak. Saya percaya OP sedang mencari sesuatu yang tidak ada.
bottiger
H
@ Bottiger FLAC tidak dapat mengurangi entropi file audio karena itu akan menjadi kompresi lossy. Ini mencapai kompresi dengan menghilangkan redundansi.
Paul Uszak
Mungkin benar untuk mengatakan bahwa rumus entropi klasik benar hanya jika nilai-nilai piksel secara independen independen?
volperossa
2

Pada dasarnya ide entropi adalah sesuatu seperti "jumlah kondisi-mikro yang konsisten dengan macrostate".

hal[saya,h]sayahal[hsaya]

hsaya

GeoMatt22
sumber
1

H=-khalklHaig2(halk)

tidak TIDAK bekerja dalam prakteknya, karena alasan sederhana bahwa itu hampir tidak mungkin untuk menentukan Pk. Anda berpikir bahwa Anda dapat melakukannya, seperti yang telah Anda lakukan dengan mempertimbangkan jumlah tingkat abu-abu. Pk bukan itu. Pk adalah semua kemungkinan kombinasi level abu-abu. Jadi, Anda harus membuat pohon probabilitas multi dimensi dengan mempertimbangkan 1, 2, 3 ... kombinasi piksel. Jika Anda membaca karya Shannon, Anda melihatnya melakukan perhitungan ini untuk bahasa Inggris biasa dengan mempertimbangkan kedalaman pohon 3 huruf. Itu kemudian menjadi sulit tanpa komputer.

Anda membuktikannya sendiri dengan pernyataan 2. Itu sebabnya perhitungan entropi Anda mengembalikan tingkat entropi yang sama untuk dua gambar, meskipun yang satu jelas kurang terurut daripada yang lain.

Juga tidak ada konsep distribusi spasial seperti itu dalam perhitungan entropi. Jika ada, Anda juga harus menghitung entropi secara berbeda untuk sampel yang didistribusikan sementara. Dan apa yang akan Anda lakukan untuk data array 11 dimensi? Untuk entropi informasi; diukur dalam byte.

Cukup dengan mengompres gambar menggunakan algoritma kompresi. Ini akan menampilkan perkiraan entropi dalam byte. Ini akan melakukan ini untuk gambar apa pun atau apa pun secara harfiah yang bisa didigitalkan, seperti musik atau drama Shakespeare.

Begitu. Gambar acak Anda berisi sekitar 114 KBytes, dan gambar yang Anda pesan berisi sekitar 2,2 KBytes. Ini yang Anda harapkan, tetapi Anda sudah tahu ini karena Anda melihat ukuran file gambar sebesar ini. Saya telah mengurangi ukuran terkompresi sebesar 33% untuk memungkinkan peningkatan di masa depan dalam algoritma kompresi. Saya tidak bisa melihat mereka membaik di luar ini karena kurva peningkatan menjadi asimptotik dengan nilai dasar yang sebenarnya.

Yang menarik, Shakespeare hanya menghasilkan 1 MByte entropi dalam seluruh pekerjaan hidupnya, dihitung dengan teknik ini. Sebagian besar itu cukup bagus.

Paul Uszak
sumber