Con mèo xuất hiện trong chiều gương
(lcamtuf.substack.com)Sir, there's a cat in your mirror dimension
-
Trước đây đã từng nói về miền tần số.
- Đây là kỹ thuật biến đổi một tín hiệu thông thường thành biên độ của các dạng sóng cấu thành nó.
- Nền tảng cơ bản phổ biến nhất là sóng sin có tần số tăng dần.
- Nhiều dạng sóng khác cũng có thể tạo ra nhiều miền tần số khác nhau.
-
Hai đặc tính quan trọng của phép biến đổi sang miền tần số:
- Tính khả nghịch: có thể khôi phục dữ liệu gốc từ hình ảnh miền tần số.
- Tính đối xứng đầu vào-đầu ra: có thể biến đổi theo cả hai chiều bằng cùng một phép toán toán học.
-
Trên thực tế, sự phân biệt này rất quan trọng.
- Đặc biệt quan trọng trong nén dữ liệu.
- Nếu biến đổi ảnh sang miền tần số rồi giảm độ chính xác của các thành phần tần số cao thì lượng dữ liệu sẽ giảm xuống.
- Ảnh kết quả vẫn trông gần như giống hệt về mặt thị giác.
Dùng MS Paint như một công cụ nén tối tân
-
Ảnh trong miền tần số trông như nhiễu bị trải ra.
- Phần lớn trong đó không quan trọng về mặt thị giác.
- Phép biến đổi là một đòn bẩy qua lại giữa hai chiều về mặt chức năng là tương đương nhau.
- Từ đó nảy sinh câu hỏi liệu có thể xem chiều gương này như nhà mình và chuyển một phần dữ liệu sang đó hay không.
-
Để kiểm tra, tác giả lấy một bức ảnh con mèo và tính biểu diễn miền tần số của nó bằng biến đổi cosin rời rạc (DCT).
- Mèo thời gian, mèo tần số.
-
Tác giả dùng bức ảnh người phụ nữ từ ví dụ trước và chồng mẫu "nhiễu mèo" của chiều gương lên đó với độ mờ thấp hơn.
- Người phụ nữ thời gian và mèo tần số.
-
Quá trình tổng hợp chắc chắn gây ra mất mát dữ liệu.
- Về lý thuyết, nếu lấy ảnh tổng hợp rồi tính biểu diễn miền tần số bằng DCT thì ảnh người phụ nữ sẽ bị phân rã thành nhiễu đồng đều.
- Còn "nhiễu mèo" được đưa vào sẽ kết tụ lại thành một hình ảnh con mèo có thể nhận ra.
-
Và thực tế đúng là như vậy.
- Mèo tần số và người phụ nữ thời gian.
-
Nếu muốn tự kiểm tra, bạn có thể tải ảnh tổng hợp xuống và chạy đoạn sau trong MATLAB:
woman = imread("woman-with-cat.png"); colormap('gray'); imagesc(woman, [0 255]); pause(1); cat = dct2(woman); imagesc(imgaussfilt(cat, 1), [-4 4]); -
Điều thú vị là con mèo vẫn sống sót khi tài liệu chủ bị thay đổi kích thước.
- Phóng to sẽ lát ô ảnh.
- Thu nhỏ sẽ cắt bớt ảnh.
-
Tác giả cũng tò mò nén mất dữ liệu sẽ làm con mèo hỏng đến mức nào.
- Tác động nhỏ hơn dự đoán.
- Với thiết lập chất lượng JPEG cao, hình ảnh trông vẫn khá ổn.
- Khi giảm thiết lập chất lượng, góc phần tư dưới bên phải sẽ bị lượng tử hóa rất nặng.
- Sự hỗn loạn của nén JPEG nhìn từ miền tần số.
-
Cách trực quan hóa này cho thấy thuật toán JPEG phá hủy bao nhiêu thông tin.
- Nhưng phần lớn là thứ chúng ta không nhận ra.
-
Trước đây đã có nhiều ví dụ dùng phổ phổ âm thanh làm thông điệp ẩn.
- Cũng có thảo luận về steganography văn bản sử dụng các hệ số DCT của JPEG.
- Không phải vì kỹ thuật này đặc biệt hữu dụng, mà là để nhấn mạnh rằng miền tần số và miền thời gian được kết nối với nhau theo một cách rất thú vị.
Ý kiến của GN⁺
- Hiểu về phép biến đổi miền tần số: Phép biến đổi miền tần số đóng vai trò quan trọng trong nén dữ liệu và xử lý tín hiệu. Hiểu được nó sẽ giúp xử lý dữ liệu hình ảnh hoặc âm thanh hiệu quả hơn.
- Ứng dụng MATLAB: MATLAB là công cụ mạnh cho phân tích dữ liệu và trực quan hóa. Bài viết này cho thấy một ví dụ sử dụng thực tế của MATLAB.
- Giới hạn của nén JPEG: Có thể hiểu trực quan các giới hạn của nén JPEG. Điều này hữu ích khi tìm cách giảm kích thước tệp mà vẫn giữ chất lượng hình ảnh.
- Steganography: Steganography dùng miền tần số là một chủ đề thú vị liên quan đến bảo mật dữ liệu. Qua đó có thể học cách truyền các thông điệp ẩn.
- Ứng dụng thú vị của công nghệ: Bài viết cho thấy cách ứng dụng công nghệ theo hướng vui nhộn và sáng tạo. Điều này khơi gợi hứng thú với công nghệ và những ý tưởng mới.
1 bình luận
Ý kiến trên Hacker News
Tóm tắt các bình luận trên Hacker News
Chủ thể của bức ảnh và năng lượng phổ:
Cơ sở của watermark số:
Tính đối ngẫu thời gian - tần số của biến đổi Fourier:
Yêu cầu xác nhận quy trình:
Ứng dụng steganography:
Mẹo spectrogram âm thanh của Aphex Twin:
Tầm quan trọng của vị trí trong DCT:
Hiểu về nén ảnh:
Phương pháp DCT cụ thể:
Mã hóa hình ảnh trong âm nhạc: