本站提供正體中文版。切換到正體中文本站提供简体中文版。切换到简体中文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این وب‌سایت به فارسی هم در دسترس است.مشاهده به فارسی

Pixel rejection khi tích hợp: chọn thuật toán và cách đọc Rejection Map

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

“Pixel rejection” khi tích hợp (integration) — loại bỏ pixel dị thường — là quá trình tự động loại bỏ, trong lúc xếp chồng nhiều tấm ảnh lên nhau, những giá trị ngoại lai lẽ ra không nên có mặt: vệt vệ tinh, đốm trắng do tia vũ trụ, điểm ảnh nóng (hot pixel) còn sót lại, phần rìa của những ngôi sao quá sáng, v.v. Chọn đúng thuật toán rejection và đọc hiểu được Rejection Map mà nó tạo ra chính là chìa khóa để có một bản tích hợp sạch sẽ. Bài viết này sắp xếp lại logic lựa chọn thuật toán rejection, cùng với chuyện hai tấm bản đồ rejection thường bị bỏ qua đó rốt cuộc phải đọc thế nào.

Họ các thuật toán rejection

Khi tích hợp, PixInsight cung cấp mấy loại thuật toán rejection khác nhau; tài liệu chính thức có liệt kê từng thuật toán hợp với tình huống nào, rất đáng đọc (lưu ý rằng tài liệu này đã công bố khá lâu và chưa bao gồm thuật toán GESD được thêm vào sau này).

Các thuật toán rejection được liệt kê trong tài liệu chính thức của PixInsight Image Integration

Đại thể có thể chia thành hai nhóm:

  • Họ Sigma: loại bỏ giá trị ngoại lai dựa trên độ lệch chuẩn, ví dụ Sigma Clipping, bản cải tiến Winsorized Sigma Clipping, và Percentile Clipping. Nguyên lý cùng phần toán học của chúng thuộc về cùng một hệ.
  • GESD Test: dựa trên Grubbs’s test, lý thuyết và toán học hoàn toàn khác với các phương pháp sigma-based, là thuật toán được thêm vào tương đối muộn.

GESD vs Sigma: số frame ít thì ai thắng?

Tôi đã thực sự so sánh. Có lần tôi lấy bộ dữ liệu chỉ có 12 frame rồi chạy song song GESD Test, Winsorized Sigma Clipping và Sigma Clipping truyền thống.

So sánh ba phương pháp GESD, Winsorized Sigma và Sigma Clipping (bộ dữ liệu 12 frame)

12 frame thật ra không đạt số frame khuyến nghị của GESD lẫn Winsorized Sigma, vậy mà trong bộ này GESD Test lại cho hiệu quả tốt nhất. Tuy nhiên xin bổ sung một ghi chú về sau: nếu là dữ liệu màu mà số frame lại không đủ, thì dùng Winsorized Sigma hoặc Sigma vẫn phù hợp hơn. Vậy nên không có thuật toán nào “luôn luôn tốt nhất”, tất cả tùy vào dữ liệu.

GESD đối phó với vệt vệ tinh mờ nhạt

GESD còn có một lợi thế thực chiến nữa. Trước đây khi tích hợp bằng họ sigma, tôi thường gặp những vệt vệ tinh khá mờ mà không sao loại bỏ nổi: dù có 17 frame, tích hợp xong vẫn còn sót lại một phần vệt; hơn nữa loại vệt mờ như thế cũng không thích hợp để loại bỏ bằng manual selective rejection (tô đen thủ công).

Điều chỉnh tham số GESD và cho vệt vệ tinh mờ giãn nở rồi loại bỏ thành công

Chuyển sang GESD Test, điều chỉnh tham số cho thích hợp và cho vệt vệ tinh mờ giãn nở lớn ra, tôi đã loại bỏ thành công một vệt cực kỳ mờ; và nhìn chung, tỷ số tín hiệu trên nhiễu (SNR) của GESD đều cao hơn Sigma Clipping truyền thống hay Winsorized Sigma Clipping. (Dù vậy, trong phần lớn trường hợp, dùng họ sigma sẽ không gặp phải kiểu không loại bỏ nổi như thế này, đây là ca khá cực đoan.)

Vũ khí đặc biệt: Range Clipping

Ngoài cách loại bỏ giá trị ngoại lai theo thống kê, còn một thủ pháp “thô bạo” nhưng hữu dụng — Range Clipping.

Dùng Low Range clipping để cưỡng chế loại bỏ các đốm đen do hiệu chỉnh bằng frame dark không tốt

Nếu trong tay bạn có những tấm bị hiệu chỉnh bằng frame dark không tốt, xuất hiện rất nhiều đốm đen (chẳng hạn 10 tấm có, 5 tấm không), thì các thuật toán rejection chính quy rất khó nhặt ra giá trị ngoại lai để dọn sạch những đốm đen ấy. Lúc đó, khi tích hợp bạn có thể dùng Range Low Clipping để cưỡng chế loại bỏ toàn bộ các đốm đen thấp hơn một ngưỡng nào đó. Đây là thủ pháp trực tiếp nhắm vào một khuyết tật cụ thể, bổ trợ cho rejection theo thống kê.

Hiệu quả loại bỏ đốm đen của Low Range clipping

Đọc hiểu Rejection Map

Tích hợp xong bằng ImageIntegration hay WBPP, ngoài thành phẩm bạn còn nhận thêm hai tấm bản đồ rejection: một tấm cho hướng độ sáng cao (rejection high), một tấm cho hướng độ sáng thấp (rejection low). Phần lớn mọi người bỏ qua thẳng hai tấm này — mà như vậy là lãng phí một nguồn thông tin chẩn đoán rất hữu ích.

Vệt vệ tinh, phần rìa sao phình to và vệt của thiên thể gần Trái Đất xuất hiện trong bản đồ Rejection High

Thông thường rejection low chẳng có gì đáng xem, trọng điểm nằm ở rejection high: đây là nơi xuất hiện đủ thứ nhiễu loạn mà bạn mong “đừng có mặt trong thành phẩm” — vệt vệ tinh, phần rìa của những ngôi sao quá sáng hoặc phình to, vệt của thiên thể gần Trái Đất, rồi cả hot pixel và đốm trắng do tia vũ trụ gây ra (hot pixel thì tôi thường dọn sạch bằng Cosmetic Correction từ trước khi tích hợp, nên ở đây số lượng không nhiều).

Cách đọc hữu dụng nhất của tấm bản đồ này là: nếu pixel mà bạn muốn loại bỏ có xuất hiện trong rejection high, tức là nó đã bị loại bỏ thành công; còn nếu nó không xuất hiện ở đây mà lại nằm lại trong thành phẩm đã tích hợp (ví dụ vệt vệ tinh còn sót), thì tức là tham số rejection chưa đủ, hoặc bạn nên đổi thuật toán.

Vài câu hỏi thường gặp kiểu “có nên loại tấm này ra không”

Hiểu được nguyên lý ở trên rồi thì nhiều điều khiến người mới băn khoăn sẽ có đáp án.

Ảnh có sao phình to thì có nên loại ra, không cho tham gia tích hợp? Trừ khi bị mất nét, còn lại tôi thường vẫn cho nó tham gia tích hợp.

Minh họa phần rìa sao phình to / quá sáng và vệt vệ tinh bị loại bỏ trong Rejection High

Xem rejection high sẽ thấy những phần sao có phạm vi quá lớn hoặc quá sáng đã bị phương pháp rejection dọn đi, không tham gia vào phép tính tích hợp; vệt vệ tinh nhân tạo, mảng trắng do tia vũ trụ cũng rơi vào rejection high y như vậy. Loại việc này cứ giao cho phần mềm là được.

Có vệt vệ tinh sáng cắt xuyên qua mục tiêu thì có nên xóa thủ công tấm đó không? Câu trả lời cũng là không cần.

Trong 7 frame có một tấm bị vệt vệ tinh cắt xuyên qua mục tiêu, được loại bỏ tự động nhờ tham số Sigma High nghiêm ngặt

Cách làm: nếu số frame ít thì dùng thuật toán có khả năng rejection mạnh hơn (ví dụ họ Sigma Clipping), đặt tham số Sigma High nghiêm ngặt hơn một chút (ví dụ thấp hơn 2.5). Có một ví dụ chỉ có 7 frame, trong đó một tấm bị vệt vệ tinh cắt ngang mục tiêu, mà từng tấm đều quan trọng với tỷ số tín hiệu trên nhiễu; vì vậy chỉ cần đặt tham số thích hợp (đừng dùng giá trị mặc định của phần mềm) là quy trình tích hợp sẽ tự động hoàn tất việc rejection, và vệt được loại bỏ thành công sẽ hiện ra trong rejection high. Đừng lãng phí bất kỳ pixel nào đã vất vả lắm mới có được.

Ngoại lệ cột lỗi: rejection không cứu nổi

Cuối cùng xin bổ sung một ngoại lệ mà rejection không cứu nổi — cột lỗi (defect column) của CCD.

Dùng Defect Map để khử cột lỗi của CCD, phần còn sót lại giao cho rejection

Cột lỗi vừa quá tối lại chạy xuyên suốt cả cột; cố ép rejection loại bỏ nó thì phải hy sinh quá nhiều pixel tốt mà hiệu quả vẫn kém. Cách đúng là trước hết làm một Defect Map cho máy ảnh (lấy CCD 16803 của “Latte” làm ví dụ: 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 không rõ rệt), rồi dùng process DefectMap nạp vào và áp lên các frame light để giảm mạnh ảnh hưởng của cột lỗi, phần còn lại mới giao cho rejection khi tích hợp dọn nốt cho nhẹ nhàng. Nói cách khác, rejection là người quét dọn ở khâu cuối chứ không phải tuyến phòng thủ đầu tiên vạn năng — những khuyết tật nên xử lý bằng công cụ chuyên dụng thì vẫn phải dùng đúng công cụ trước đã.