2 poin oleh GN⁺ 2024-05-15 | 1 komentar | Bagikan ke WhatsApp
  • Sekilas tampak seperti foto seorang perempuan, tetapi ketika DCT diterapkan pada gambar, kucing yang disembunyikan di ranah frekuensi akan muncul
  • Ranah waktu·ruang dan ranah frekuensi terhubung oleh transformasi yang dapat dibalik, sehingga gambar yang sama dapat ditafsirkan dengan cara yang berbeda
  • Jika pola “noise” hasil mengubah foto kucing ke DCT dikomposisikan dengan opasitas rendah, gambar asli tetap dipertahankan sementara bentuk kucing tertinggal pada hasil transformasi
  • Gambar komposit masih menyimpan informasi kucing setelah diubah ukurannya, tetapi saat diperbesar ia berulang seperti ubin dan saat diperkecil ia terpotong
  • Jika kualitas JPEG diturunkan, terutama komponen frekuensi tinggi akan dikuantisasi dengan kuat, sehingga kita bisa melihat langsung berapa banyak informasi yang dibuang oleh kompresi lossy

Eksperimen “dimensi cermin” dengan DCT

  • Ranah frekuensi adalah cara menafsirkan sinyal sehari-hari dengan mengubahnya menjadi amplitudo gelombang penyusunnya
    • Dasar yang paling umum adalah gelombang sinus dengan frekuensi yang meningkat
    • Bentuk gelombang lain juga bisa digunakan untuk membuat ranah frekuensi alternatif
  • Transformasi ini memiliki dua sifat
    • Reversibilitas untuk kembali ke data asli di ranah waktu atau ranah ruang
    • Simetri input-output yang memungkinkan transformasi dua arah dilakukan dengan operasi matematika yang sama
  • Dalam kompresi, pembedaan ini penting
    • Setelah gambar diubah ke ranah frekuensi, presisi komponen frekuensi tinggi bisa diturunkan atau dihapus, tetapi gambar hasilnya tetap dapat terlihat mirip secara perseptual
    • Dengan begitu, data yang perlu dikirim atau disimpan menjadi lebih sedikit

Proses menyembunyikan kucing di ranah frekuensi

  • Proses dimulai dengan mengubah foto kucing ke bentuk ranah frekuensi menggunakan discrete cosine transform (DCT)
  • Lalu pola “noise kucing” dari ranah frekuensi dikomposisikan dengan opasitas rendah di atas foto perempuan dari contoh sebelumnya
    • Proses komposit ini bersifat lossy
    • Hasil yang diharapkan adalah foto perempuan terurai menjadi noise yang relatif seragam dalam DCT, sementara noise kucing yang disisipkan berkumpul kembali menjadi gambar kucing
  • Pada praktiknya, ketika DCT diterapkan pada gambar komposit, bentuk kucing memang muncul
  • Tersedia gambar komposit dan contoh MATLAB yang bisa diperiksa langsung
    • woman-with-cat.png
    • Menampilkan hasil perhitungan DCT dengan dct2(woman) dan hasil yang telah dihaluskan dengan imgaussfilt(cat, 1)
  • Kucing tetap terlihat bahkan setelah ukuran gambar diubah
    • Saat diperbesar, gambar berulang seperti ubin
    • Saat diperkecil, gambar terpotong
  • Jika pengaturan kualitas JPEG diturunkan, informasi kucing akan rusak
    • Pada kualitas JPEG tinggi, gambar masih terlihat cukup baik
    • Pada kualitas rendah, kuadran kanan bawah yang mewakili komponen frekuensi tinggi akan terkuantisasi parah
  • Visualisasi ini menunjukkan bahwa algoritme JPEG menghancurkan banyak informasi dengan cara yang sering tidak mudah kita sadari
  • Ada contoh terdahulu seperti pesan tersembunyi dalam spektrogram audio atau pembahasan tentang steganografi teks pada koefisien DCT JPEG
    • Fokusnya bukan pada kepraktisan atau kebaruan mutlak teknik ini, melainkan pada bagaimana ranah frekuensi dan ranah waktu berpadu dengan cara yang menarik
  • Sebagai bonus, ada video degradasi “kucing ranah frekuensi” versi mandiri untuk tiap pengaturan kualitas JPEG: https://vimeo.com/940487310/8a929a5eb5

1 komentar

 
GN⁺ 2024-05-15
Komentar Hacker News
  • Pada sebagian besar foto yang memiliki subjek yang dapat dikenali, seperti di sini, energi spektral terkonsentrasi di titik asal, yaitu di sekitar sudut kiri atas

    https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_pr...

    DCT pada gambar perempuan juga demikian. Sebaliknya, subjek foto biasanya ditempatkan di dekat tengah frame. Karena itu, pada gambar komposit, data domain spasial dan data domain frekuensi tidak terlalu saling mengganggu, dan ekspresi kucing tetap terjaga saat dilakukan transformasi balik

    https://substackcdn.com/image/fetch/w_1456,c_limit,f_webp,q_...

    Prinsip yang sama berlaku sebaliknya untuk sisi gambar perempuan

    • Ini hanya berlaku untuk DCT. Transformasi Fourier 2D pada gambar biasanya datanya terkonsentrasi di dekat pusat gambar
  • Saya ingin memastikan apakah tepat jika memahami prosesnya seperti ini: a) ambil foto perempuan dan foto kucing, b) ubah kucing ke domain frekuensi dengan DCT, c) kompositkan kucing dalam domain frekuensi di atas citra visual perempuan, d) jika gambar komposit itu di-DCT, kucing akan muncul lagi
    Lebih tepatnya, hasilnya adalah komposit antara kucing visual dan perempuan di domain frekuensi, tetapi sepertinya maksudnya kucing visual lebih menonjol

  • Dari yang saya ingat melihat proyek mahasiswa lama, teknik ini adalah dasar watermarking digital yang tangguh yang bisa diterapkan pada sinyal apa pun, baik gambar maupun audio

    Kegunaan utamanya adalah mendeteksi materi berhak cipta bahkan setelah sinyal diproses secara besar-besaran. Misalnya film yang di-rip atau direkam dengan camcorder, atau materi yang disediakan dalam JPEG-2000

    Kalau ada orang dari industri film yang bisa memberi detail teknis lebih lanjut, saya ingin mendengarnya

    • Saya pernah menguji sistem watermarking dulu; sistem itu tahan terhadap segala macam noise dan penskalaan, tetapi gagal hanya dengan memutar gambar 1%
      Sepertinya itu Digimarc, dan saya penasaran apakah algoritmanya berbasis transformasi Fourier
  • Ini contoh yang sangat bagus dari dualitas waktu-frekuensi pada transformasi Fourier, atau dalam kasus ini dualitas ruang-frekuensi
    Matematika transformasi Fourier tidak peduli pada “arah” transformasi, jadi fungsi yang tampak mirip di waktu/frekuensi juga memiliki transformasi Fourier yang mirip di ruang frekuensi/waktu

    Dalam kasus ini, jika plot frekuensi kucing ditanamkan ke plot spasial perempuan, kucing akan muncul dalam transformasi Fourier gambar perempuan, dan sebaliknya juga berlaku

  • Aplikasi steganografi yang sangat keren dan menarik
    Jika ingin menyembunyikan gambar ilegal di dalam gambar biasa, cukup ubah ke domain frekuensi lalu kompositkan ke gambar lain. Selama penerima tahu cara membaliknya, ini bisa menjadi cara pengiriman gambar terselubung yang sulit dideteksi

    • Akan sulit dideteksi jika pihak lain tidak tahu apa yang harus dicari, tetapi jika mereka tahu, mungkin mudah

      Jika gambar tersembunyi digabungkan dengan one-time pad, bukankah seharusnya ia tidak bisa dibedakan dari noise? Pada gambar kompresi lossy, noise juga secara alami diharapkan. Saya penasaran apakah seseorang sudah pernah mencobanya, dan kecuali mereka memberi tahu, mungkin kita tidak akan pernah tahu

  • Aphex Twin dan lainnya pernah memakai trik serupa yang menarik, sehingga wajah aneh muncul di spektrogram audio sebuah track: https://news.ycombinator.com/item?id=8509105

    • MetaSynth sudah ada sejak akhir 90-an, dan mengubah sampel domain waktu audio serta gambar domain frekuensi, lalu menggabungkannya dengan filter gambar ala Photoshop

      https://uisoftware.com/metasynth/

  • Artikelnya makin bagus sampai akhir

    Sulit dipercaya saya baru sekarang menyadari bahwa domain frekuensi bisa dipakai untuk kompresi gambar. Setelah melihatnya, rasanya sangat jelas. Apakah sebagian besar algoritma kompresi gambar bekerja seperti ini? Dengan begitu saja menghapus bagian yang lebih lemah di domain frekuensi?

    • Benar. MP3, Ogg-Vorbis, dan JPEG semuanya bekerja seperti ini
      Pemilihan bobot untuk frekuensi mana yang dipertahankan mungkin didasarkan pada model psikoakustik, tetapi secara kasar, itu benar-benar berarti membuang informasi frekuensi orde tinggi

    • DCT juga sering dipakai sebagai sublangkah dalam algoritma kompresi gambar atau video yang lebih kompleks
      Misalnya, pertama-tama mencari area tertentu pada gambar yang memiliki banyak detail, menerapkan DCT pada area itu dan mempertahankan lebih banyak spektrum, lalu melakukan hal yang sama pada area lain sambil mempertahankan spektrum lebih banyak atau lebih sedikit. Parameter kuantisasi yang mungkin pernah Anda lihat di algoritma kompresi video memengaruhi perilaku ini

    • Biasanya frekuensi tinggi tidak dihapus sepenuhnya, melainkan dienkode dengan lebih sedikit bit

    • Gambar tidak benar-benar band-limited, jadi tidak bisa direpresentasikan sempurna hanya dengan domain frekuensi
      Karena itu, komprominya adalah membaginya menjadi blok-blok kecil dan mengenkode dengan campuran domain frekuensi serta prediktor domain spasial. Namun intinya secara umum benar

      Sebagian besar masalah berasal dari tepi yang tajam. Tepi seperti ini membutuhkan jumlah frekuensi tak terbatas untuk direpresentasikan, jadi jika sebagian dihilangkan, muncul blur atau artefak ringing

      Alasan lainnya adalah sinyal band-limited berulang tanpa batas, sedangkan gambar nyata tidak demikian. Apa yang ada di sisi kiri foto tidak selalu memprediksi apa yang ada di sisi kanan

    • Ada lebih banyak faktor. Bukan sekadar membuang frekuensi; yang juga penting adalah data dengan varians kecil bisa dienkode dengan lebih efisien
      Bukan hanya karena informasi frekuensi tinggi adalah noise, tetapi umumnya magnitudonya sendiri juga lebih kecil

  • JPEG 2000 lebih aneh lagi. Ini memakai transformasi wavelet
    Jika file JPEG 2000 dipotong di tengah, Anda masih bisa memulihkan gambar dengan resolusi lebih rendah. Jika panjang file turun di bawah batas tertentu, informasi warna hilang dan gambar menjadi grayscale

    • Mengapa itu aneh? Kedengarannya seperti fitur
  • Saya rasa demo ini tidak akan bekerja sebaik itu jika kucingnya lebih terkonsentrasi di kiri atas
    Dalam DCT, banyak komponen frekuensi rendah bermagnitudo besar muncul, dan jika kucing berada di dekat kiri atas, komponen-komponen itu akan menutupi kucing

    • Bahwa JPEG membuang banyak data tanpa kita sadari bukanlah sebuah penemuan, melainkan lebih dekat dengan tujuan eksplisit dari algoritma kompresi itu sejak awal
  • Dalam representasi mekanika kuantum atas posisi dan frekuensi, atau jika mempertimbangkan hbar, atas posisi dan momentum, kita tidak bisa menjejalkan dua fungsi berbeda ke dalam satu fungsi dengan cara seperti ini
    Sebab fungsi yang hanya berbeda pada fase yang bergantung pada posisi pun merupakan keadaan kuantum yang berbeda