本站提供正體中文版。切換到正體中文本站提供简体中文版。切换到简体中文This site is available in English.View in Englishこのサイトには日本語版があります。日本語で表示이 사이트는 한국어로도 제공됩니다.한국어로 보기Diese Website ist auch auf Deutsch verfügbar.Auf Deutsch ansehenEste sitio web también está disponible en español.Ver en españolQuesto sito è disponibile anche in italiano.Visualizza in italianoCe site est également disponible en français.Afficher en françaisEste site também está disponível em português.Ver em portuguêsDeze website is ook beschikbaar in het Nederlands.In het Nederlands bekijkenЭтот сайт также доступен на русском языке.Смотреть на русскомयह वेबसाइट हिन्दी में भी उपलब्ध है।हिन्दी में देखेंهذا الموقع متاح أيضًا باللغة العربية.عرض بالعربيةSitus ini juga tersedia dalam bahasa Indonesia.Lihat dalam bahasa IndonesiaBu site Türkçe olarak da mevcut.Türkçe görüntüleTa strona jest dostępna także po polsku.Wyświetl po polskuاین وب‌سایت به فارسی هم در دسترس است.مشاهده به فارسی

Xử lý lỗi ảnh: defect column, hot/cold pixel, bụi và nhiễu điểm ảnh nóng

Tiền xử lý và xếp chồng2021.02

Trên con đường xử lý hậu kỳ ảnh thiên văn, chưa bao giờ có dữ liệu hoàn hảo, chỉ có lời giải tìm ra cho từng vấn đề. Các frame hiệu chỉnh đã dọn đi phần lớn lỗi mang tính hệ thống, nhưng luôn còn vài thứ lọt lưới: cột lỗi (defect column), điểm ảnh hỏng, bóng bụi, điểm ảnh nóng (hot pixel) còn sót lại. Bài này tổng hợp mấy loại lỗi thường gặp ở giai đoạn tiền xử lý, cùng cách xử lý tương ứng của từng loại.

Ba loại lỗi thường gặp và cách đối phó

Trước hết là một bảng tổng hợp — đây là ba loại lỗi hay gặp nhất trong tiền xử lý cùng nguyên tắc xử lý từng loại:

Bảng đối chiếu các lỗi thường gặp khi tiền xử lý và phương pháp xử lý

  1. defect column (cột lỗi, thường gặp ở CCD): khử bằng Defect Map.
  2. hot / cold pixel (điểm ảnh nóng/lạnh): khử bằng frame dark, phần nào frame dark không khử được thì xử lý tiếp bằng Cosmetic Correction.
  3. dust shadow (bóng bụi): khử bằng frame flat, phần nào frame flat không khử được thì sau khi tích hợp (integration) dùng kênh khác thay vào để vá lại.

Dưới đây tôi sẽ trình bày riêng hai loại khó nhằn hơn.

Cột lỗi (defect column): dựa vào Defect Map, đừng dựa vào pixel rejection

Defect column tương đối hay gặp ở camera CCD, còn ở camera CMOS thì khá hiếm. Có một chiếc CCD mà riêng việc làm Defect Map đã ngốn của tôi một tiếng đồng hồ, vì nó có khoảng 50 cột lỗi (chính là mấy vạch đen trên khung hình).

Có thể sẽ có người hỏi: sao không reject thẳng luôn lúc tích hợp cho xong? Vì reject không nổi — cột lỗi quá tối, muốn dựa vào pixel rejection (loại bỏ pixel dị thường) để khử thì phải hy sinh khá nhiều pixel tốt khác, mà hiệu quả lại kém. Nên cách làm đúng là tạo Defect Map cho camera, dùng process DefectMap nạp vào rồi áp lên những frame light có cột lỗi; như vậy ảnh hưởng của cột lỗi sẽ giảm đi rất nhiều, phần còn sót lại thì giao cho thuật toán pixel rejection lúc tích hợp khử nốt một cách nhẹ nhàng. Cách này bản thân tôi vẫn dùng lâu nay, chẳng hạn chiếc CCD 16803 của “Latte” có một cột lỗi rõ rệt ngay giữa khung hình cộng thêm ba cột lỗi mờ, và chính là được xử lý như vậy.

Hot pixel: nhất định phải xử lý xong trước khi căn chỉnh

Nếu hot pixel không được dọn sạch ở giai đoạn frame dark và Cosmetic Correction, chúng sẽ gây ra những rắc rối mà bạn không ngờ tới. Hãy xem ví dụ này:

Đối chiếu trước và sau khi căn chỉnh theo sao: hot pixel bị thuật toán nội suy biến thành hình bánh donut

Ảnh bên trái là trước khi căn chỉnh theo sao, ảnh bên phải là sau khi căn chỉnh — vì sao ảnh bên phải lại mọc ra một loạt hoa văn giống bánh donut? Câu trả lời là: những chấm trắng đó không phải sao, mà là hot pixel. Đáng lẽ chúng phải bị khử ngay khi trừ frame dark và chạy Cosmetic Correction, nhưng đã không như vậy, nên lúc căn chỉnh theo sao chúng bị thuật toán nội suy “sửa” thành hình bánh donut và nằm lại trong ảnh cuối cùng, mà số lượng còn không ít.

Tin vui là, khi số lượng frame đủ nhiều và các tham số của thuật toán pixel rejection được đặt hợp lý, cuối cùng đám bánh donut này vẫn bị xóa sạch. Nhưng điều đó cũng cho thấy đúng một điều: hot pixel nên được khử càng triệt để càng tốt ngay ở giai đoạn frame dark và Cosmetic Correction, tránh để quy trình căn chỉnh biến chúng thành thứ gây rối khung hình, đừng đẩy hết trách nhiệm cho pixel rejection ở phía sau.

Nhân tiện, nếu bạn thấy Cosmetic Correction có sẵn trong PixInsight chưa đủ tốt, trong cộng đồng cũng có một người bạn cùng sở thích (Roberto Sartori) từng viết đoạn mã PixelMath để xử lý hot and cold pixel. Tôi đã thử qua, hiệu quả hóa ra còn tốt hơn cả Cosmetic Correction có sẵn — thật sự ngưỡng mộ những người bạn biết lập trình.

Kết quả thử nghiệm khử điểm ảnh nóng/lạnh bằng PixelMath của Roberto Sartori

Trường hợp cực đoan: lỗi phức hợp của kính thiên văn lớn

Cuối cùng, hãy xem một ví dụ cực đoan kiểu “có bao nhiêu loại lỗi thì gom hết vào một chỗ”, đến từ một kính thiên văn lớn cỡ 1 mét. Chụp bằng loại kính này thật ra chẳng sướng chút nào — nó dùng giá đỡ kinh vĩ (alt-azimuth) và bộ xoay trường (field rotator); khi chụp mục tiêu nằm trong phạm vi 20 độ quanh thiên đỉnh, để giữ vị trí của mục tiêu, bộ xoay trường quay rất nhanh, thế là tia nhiễu xạ (diffraction spikes) bị chẻ đôi, góc của tia nhiễu xạ ở mỗi tấm ảnh một khác, thậm chí trong cùng một tấm ảnh đã có hai chùm tia ở hai góc khác nhau.

Lỗi phức hợp trên ảnh của kính thiên văn lớn: tia nhiễu xạ bị chẻ đôi, defect column và thứ nghi là AMP GLOW

Trong tấm ảnh này còn có một defect column (cái này xử lý coi như đơn giản), cùng với thứ rỉ ra từ bên cạnh, nghi là AMP GLOW, trông y như vết ẩm mốc trên tường. Với loại lỗi phức hợp kiểu này thì không có lời giải sẵn, chỉ có thể tách ra từng món một mà đối phó — và đó cũng là chuyện thường ngày của xử lý hậu kỳ ảnh thiên văn: dữ liệu hoàn hảo không tồn tại, điều chúng ta có thể làm là tìm ra lời giải cho từng vấn đề một.