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

Hướng dẫn đầy đủ về WBPP: giao diện, master hiệu chỉnh và quy trình thực thi

Tiền xử lý và xếp chồng2021.03Ghi chú thời kỳ đầu

Bài viết này được tổng hợp từ những ghi chép trong các năm 2021–2024; một số công cụ hoặc quy trình đã có bản cập nhật mới, vì vậy bạn hãy lưu ý khi đọc. Một số giao diện, tùy chọn và hành vi của từng phiên bản được nhắc tới trong bài (ví dụ bản 2.1.2 và 2.5) đều là tình trạng ở thời điểm đó. Còn về các lỗi và bug đã biết gặp phải khi chạy, xin xem bài riêng “WBPP Troubleshooting”.

WBPP (WeightedBatchPreprocessing) là script trong PixInsight chạy trọn gói tự động cả “hiệu chỉnh, căn chỉnh và tích hợp (integration)”, tiện lợi đến mức đáng kinh ngạc. Mấy năm nay nó thay đổi phiên bản liên tục, và tôi cũng lần lượt viết khá nhiều ghi chép rời rạc về nó; bài này gom chúng lại thành một bản giải thích tương đối đầy đủ, chia thành ba lớp: những khái niệm cốt lõi ít thay đổi theo phiên bản, quy trình thực thi hiện hành, và một số thay đổi quan trọng qua các phiên bản trong những năm qua. Dù bạn dùng phiên bản nào, cứ nắm chắc khái niệm trước thì giao diện có đổi thế nào cũng không đến mức luống cuống.

Khái niệm cốt lõi 1: ảnh WBPP tích hợp ra chỉ là bản xem trước

Đây là điểm tôi muốn nói đầu tiên nhất, và cũng là điểm nhiều người bỏ qua nhất.

Bản thân tôi từng vấp phải: có lần sau khi dùng Drizzle Integration, tôi phát hiện tâm các ngôi sao (chỗ quá bão hòa) lại chuyển thành màu đen. Truy ngược lại thì thủ phạm chính là việc dùng WBPP để tích hợp.

WBPP tiện thì tiện thật, nhưng với tấm master light mà nó tự động tích hợp ra, thái độ của nhóm phát triển rất rõ ràng — đó chỉ là một bản xem trước tiện lợi của “hiệu quả có thể đạt được”, dùng xong là nên bỏ đi, không nên đem làm thành phẩm chính thức. Tôi trích lại phần trả lời của họ trên diễn đàn như sau:

The integrated image generated by WBPP is just a convenience preview of the achievable image, but it should always be deleted/ignored, and the integration should always be done manually with the registered frames. This is the only way to obtain an optimal integrated image with full control over the normalization, pixel rejection and noise reduction tasks.

Họ thậm chí còn nửa đùa nửa thật rằng câu này cần lặp lại “n+1 lần, trong đó n đã tiến tới vô cùng”: tấm master light do WBPP tạo ra không nên dùng cho mục đích chính thức, nó chỉ là bản xem trước; kết quả tốt nhất phải nhờ Image Integration chạy thủ công để tối ưu pixel rejection (loại bỏ pixel dị thường) và tỷ số tín hiệu trên nhiễu (SNR) mới có được.

Vì thế thói quen của tôi là: WBPP xa nhất chỉ dùng đến bước “căn chỉnh theo sao”, còn phần tích hợp thật sự thì trả về cho Image Integration làm thủ công. Cách làm bài bản là tách từng công đoạn — hiệu chỉnh (giao cho WBPP), căn chỉnh (Star Alignment), tích hợp (Image Integration) — tuy nhiều bước hơn, nhưng một khi có trục trặc thì dễ xác định mắt xích nào hỏng hơn nhiều. Đây cũng là quan điểm về sau của tôi; hai video hướng dẫn WBPP rất chi tiết của các bạn Nhật thời kỳ đầu thì tôi cũng rất khuyến khích xem, nhưng cũng phải bổ sung đúng lời nhắc này: kết quả tích hợp chỉ nên coi là để tham khảo.

Khái niệm cốt lõi 2: phân biệt rõ tệp nào trong thư mục Master mới là thành phẩm

Sau khi chạy trọn WBPP, trong thư mục Master mặc định sẽ có cả đống tệp nằm đó, và nhiều bạn không phân biệt được tấm nào mới là tấm bạn cần. Xin giải thích ở đây:

Hình minh họa phân biệt các loại tệp đầu ra trong thư mục Master của WBPP

  • Ảnh trong khung đỏ mới là tấm master light đã tích hợp xong mà bạn cần.
  • Ảnh trong khung vàng là ảnh tham chiếu (Ref) của Local Normalization, không phải master light, đừng nhầm lẫn.
  • Ảnh không có khung là master hiệu chỉnh, ở đây bao gồm master flat, master bias và master dark.

(Tuy vậy, tiếp nối phần trên, tấm “master light” này vẫn mang tính xem trước của WBPP; nếu muốn kỹ thì bạn vẫn nên tự tích hợp lại một lần nữa.)

Quy trình thực thi hiện hành: trọn gói cho camera màu

WBPP bấm một nút là chạy đến cùng, nhưng thực ra phía sau là một chuỗi dài các thủ tục tự động chạy theo thứ tự. Lấy camera màu (OSC) làm ví dụ, thứ tự thực thi đầy đủ như sau:

Màn hình thứ tự thực thi đầy đủ của trọn gói camera màu trong WBPP

  1. Calibration File Integration: tạo master hiệu chỉnh
  2. Calibration: hiệu chỉnh frame light
  3. Cosmetic Correction: loại bỏ điểm ảnh nóng (hot pixel) hoặc dòng hỏng
  4. Debayer: debayer (tách RGB)
  5. Measurements: đo frame light và gán trọng số
  6. Reference frame selection: chọn ảnh tham chiếu để căn chỉnh
  7. Plate solving reference frames: plate solving (giải tọa độ thiên văn) cho ảnh tham chiếu
  8. Registration: căn chỉnh theo sao
  9. LN reference generation: tạo ảnh tham chiếu cho Local Normalization
  10. Local Normalization: chạy Local Normalization
  11. Integration: tích hợp frame light
  12. RGB Combination: ghép lại ba kênh RGB

Nói gọn hơn thì cũng có thể rút thành tám bước: tạo tệp ảnh hiệu chỉnh → hiệu chỉnh ảnh → Cosmetic Correction → debayer (tách ba kênh RGB) → căn chỉnh theo sao → Local Normalization → tích hợp ảnh → ghép ba kênh RGB.

Quy trình tiền xử lý cho camera màu bản rút gọn

Ở đây có hai bước đáng nói thêm vài câu: tách RGB là để khắc phục tán sắc khí quyển (rìa sao trông như hai bên có màu khác nhau), cái giá phải trả là tốn thêm thời gian chạy; còn Drizzle Integration, nếu có dùng, thì mục đích của nó ở đây không phải để phóng to ảnh mà là tránh hiện tượng giả (artifact), nên chỉ có ý nghĩa khi số tấm có dither đủ nhiều — thông thường dưới 50 tấm thì thật ra có thể bỏ qua. Nhân tiện nói về cảm nhận thời gian trong thực tế: tôi từng lấy 360 tấm ảnh chín megapixel, làm từ hiệu chỉnh một mạch tới Drizzle Integration 1x, cũng mất hơn một tiếng; số điểm ảnh càng cao thì chỉ càng “gay cấn”.

Màn hình chạy trọn gói với 360 tấm ảnh chín megapixel

Master hiệu chỉnh: chỗ thông minh của WBPP

Ở khâu xử lý các frame hiệu chỉnh (flat, dark, bias…), WBPP giấu khá nhiều thiết kế chu đáo, đáng dành hẳn một mục để nói.

Frame hiệu chỉnh tốt nhất nên làm lại từ tệp gốc ngay trong WBPP. Không ít người sau khi hiệu chỉnh thấy frame light có vấn đề, mà nguyên nhân chính thường là đã dùng “tệp Master do phần mềm hoặc thủ tục khác tạo ra” (master flat/bias/dark). Cách chắc ăn nhất là ném tệp gốc của các frame hiệu chỉnh vào WBPP, để nó làm lại Master từ đầu.

Thời gian phơi sáng lệch chút xíu? Giao cho Exposure tolerance. Từng có một người bạn hỏi trong nhóm: anh ấy dùng tín hiệu Eqmod điều khiển để chụp frame dark, do vấn đề độ trễ nên frame dark 5 giây trên thực tế có thể rơi vào khoảng 4,980–5,02 giây, nên anh ấy muốn chuyển sang chụp bằng NINA. Thật ra WBPP đã nghĩ tới từ lâu: các frame hiệu chỉnh nằm trong một khoảng chênh lệch thời gian nhất định có thể được chỉ định vào cùng một nhóm, WBPP sẽ tự động làm những việc cần làm với các frame hiệu chỉnh cùng nhóm và tự động ghép cặp với frame light. Giá trị dung sai đó chính là Exposure tolerance.

Thiết lập dung sai phơi sáng Exposure tolerance trong WBPP

Ảnh chụp vào những ngày khác nhau? Grouping Keywords lo trọn một lần. Sau khi đổi phiên bản, WBPP có thêm chức năng phân nhóm, nên dù là ảnh chụp vào các ngày khác nhau cũng có thể ném vào một lượt để xử lý chung — chỉ cần phân loại bằng từ khóa (ví dụ ngày chụp) ở mục Grouping Keywords. Như bộ tệp của tôi, frame flat mỗi ngày một khác, WBPP vẫn tự động hiệu chỉnh riêng theo từng ngày, không cần tôi thiết lập thủ công cho frame light và frame flat của từng ngày một, rất tiện.

Tự động phân nhóm và hiệu chỉnh theo ngày bằng Grouping Keywords

Chỉ muốn làm master hiệu chỉnh? Không bỏ frame light vào cũng được. Đây là cách dùng mà nhiều người không biết: trong trường hợp không có frame light, bạn ném frame dark, frame bias, frame flat và frame flat dark vào WBPP, nó sẽ thông minh làm những frame hiệu chỉnh đó thành master hiệu chỉnh theo đúng trình tự các bước, rồi xuất ra thư mục bạn chỉ định, đỡ được cái phiền phải làm thủ công bằng đủ loại thủ tục khác nhau.

Chỉ bỏ frame hiệu chỉnh, không bỏ frame light, để WBPP chuyên làm master hiệu chỉnh

Tùy chọn ở trang Light và mẹo tăng tốc

Trang Light của WBPP có một dãy tùy chọn, người dùng có thể tích chọn theo nhu cầu. Ở trạng thái mặc định, ngoài subframe weighting ra thì đều chưa được tích chọn.

Giải thích công dụng của từng tùy chọn trên trang Light của WBPP

Đã có thể chọn bỏ các bước này thì nảy ra một câu hỏi thiết thực: tắt bớt những xử lý không cần thiết thì tiết kiệm được bao nhiêu thời gian? Tôi lấy một bộ dữ liệu nước ngoài được mở cho tải về tự do ra đo thử, tổng cộng 372 tấm ảnh mười sáu megapixel; sau khi loại bỏ những xử lý không cần, thời gian nhanh hơn khoảng 7 đến 8 lần (25 phút 03 giây vs. 03 phút 30 giây), còn chất lượng ảnh chỉ giảm sút chút ít — trên máy tôi chênh khoảng 15%, còn sau khi nén để truyền qua mạng thì gần như không nhìn ra. Với những tình huống đang chạy đua với tiến độ hoặc chỉ muốn xem qua đại thể trước, đánh đổi như vậy rất hời.

So sánh thời gian chạy trước và sau khi tắt bớt một phần xử lý

Còn bước nào ngốn thời gian nhất, tắt bước nào hiệu quả nhất, tôi sẽ bàn tiếp trong bài “WBPP Troubleshooting”.

Thay đổi qua các phiên bản: những thứ về sau mới có

Mấy năm nay WBPP bổ sung khá nhiều thứ; tôi tổng hợp lại vài mốc quan trọng để bạn tiện đối chiếu với phiên bản đang có trong tay:

Mấy chuyện của bản 2.1.2. Từ bản này, có ba điểm đáng chú ý: một là, frame light sau khi hiệu chỉnh bị lỗi thường do trộn lẫn tệp Master làm bằng công cụ bên ngoài (đã nói ở trên); hai là, Dark frame optimization chủ yếu dùng khi độ dài của frame light và frame dark không khớp nhau (ví dụ frame light 20 phút ghép với frame dark 30 phút), điều kiện tốt nhất là phơi sáng dài và có nhiều tấm, còn tùy chọn này thì phải bấm vào tệp light mới thấy; ba là, với người dùng CCD, theo thời gian sử dụng sẽ dần xuất hiện defect, nhất là column defect, trước kia phải làm defect map để loại bỏ, rất tốn thời gian, còn WBPP thì cung cấp Linear Pattern Subtraction để hỗ trợ xử lý.

Các tùy chọn liên quan tới WBPP 2.1.2 và Linear Pattern Subtraction

Execution Monitor (cửa sổ theo dõi quá trình chạy). Sau khi cập nhật lên bản mới hơn, lúc WBPP chạy sẽ bật ra một cửa sổ WBPP Execution Monitor, cho bạn biết hiện đang chạy tới bước nào, đã làm những việc gì, nội dung còn cuộn lên xuống và kéo được. Ở bản cũ, ngoài việc dán mắt vào console hiện thời, người dùng hoàn toàn không có cách nào biết tiến độ, chỉ có thể đợi chạy xong hết, hoặc gặp lỗi dừng lại, mới có cách kiểm chứng bằng console.

Cửa sổ theo dõi quá trình chạy WBPP Execution Monitor

Chức năng bộ nhớ đệm (cache) — từ bản 2.5 trở đi. Đây là một cải tiến rất then chốt. Chạy xong trọn gói mà phát hiện có lỗi hoặc không như ý, sửa vài thiết lập, chẳng lẽ lại phải chạy lại cả bộ? Không cần. Bộ nhớ đệm của WBPP sẽ tự phán đoán: chỉ cần thiết lập được sửa không ảnh hưởng tới ảnh thì dùng thẳng kết quả trong bộ nhớ đệm lần trước; chỉ phần ảnh thật sự bị ảnh hưởng mới được xử lý lại, nhờ đó thời gian chạy lần thứ hai rút ngắn đi rất nhiều.

Giải thích chức năng bộ nhớ đệm của WBPP

Script tái hiện được nằm trong thư mục log. Bản WBPP mới nhất sau khi chạy sẽ giữ lại log chi tiết cùng script thực thi trong thư mục log. Dùng Script Editor của PI đọc script đó, biên dịch rồi chạy, sẽ bật ra một Process Container chứa toàn bộ ICON của các thủ tục trong menu con Pipeline ở cửa sổ chính WBPP, mỗi cái đều mở riêng được trong PI. Việc này cực kỳ tiện cho Debug — chẳng hạn muốn tra vì sao Cosmetic Correction không chạy đúng hoặc không có tác dụng, bạn có thể mở bước đó từ đây, kiểm tra xem là vấn đề tham số hay là bug của chương trình. Một công dụng khác: người chưa quen tiền xử lý có thể nhờ cách này đọc ra từng bước thủ tục và tham số của WBPP, coi như bản mẫu tham khảo cho việc tự chạy tay.

Dùng Script Editor đọc script thực thi của WBPP và tái hiện Process Container

Bước đầu tiên sau khi mở WBPP thật ra không phải là nạp tệp

Cuối cùng quay lại chỗ cơ bản nhất mà cũng dễ làm sai nhất. Bước đầu tiên sau khi mở WBPP không phải là vội vàng “nạp các tệp light, dark, flat, bias”.

WBPP là một trong số ít script giữ lại nội dung của lần dùng trước. Nếu trước đó bạn từng dùng, mọi thiết lập vẫn còn nguyên. Vì vậy bước đầu tiên nên là xóa danh sách tệp; còn các tham số khác có xóa luôn hay không thì tùy nhu cầu.

Còn bước thứ hai rất dễ bị bỏ sót, nhiều video hướng dẫn cũng không nhắc tới — hãy bấm Purge Cache. Ở trên đã nói về cái lợi của bộ nhớ đệm (từ bản 2.5 trở đi): khi chỉ sửa một phần tham số, WBPP chỉ chạy phần thay đổi, phần còn lại dùng lại bộ nhớ đệm. Nhưng ngược lại, khi bạn đã chạy rồi mà không cần tới những nội dung trong bộ nhớ đệm đó nữa thì phải xóa sạch chúng đi, nếu không, lúc chạy tệp mới có thể vì nội dung bộ nhớ đệm trùng lặp mà sinh ra lỗi không lường trước được.

Sau khi mở WBPP, trước tiên xóa danh sách tệp rồi bấm Purge Cache

Thiết lập môi trường chuẩn bị cho người dùng Windows

Nếu bạn chạy WBPP trên Windows, có hai thiết lập môi trường tốt nhất nên xử lý ngay từ đầu, đỡ được cả đống lỗi khó hiểu về sau (các thông báo lỗi và cách chẩn đoán liên quan, xem chi tiết ở bài “WBPP Troubleshooting”):

Bật hỗ trợ đường dẫn dài. Sau một lần cập nhật nào đó, WBPP trên Windows hay hiện cảnh báo đường dẫn dài, nói rằng không tạo được đường dẫn vượt quá 256 ký tự. Tôi từng vì đường dẫn quá dài mà tệp WBPP xuất ra bị khuyết (do không lưu được). Cách giải quyết là tìm regedit trên thanh tác vụ để mở Registry Editor, tìm tới vị trí tương ứng rồi sửa giá trị LongPathsEnabled thành 1; khởi động lại PixInsight là cảnh báo này không xuất hiện nữa.

Cảnh báo đường dẫn dài trên Windows và cách đặt LongPathsEnabled trong regedit

Tránh đường dẫn có ký tự ngoài ASCII (ví dụ chữ Trung). Đây cũng là lý do tôi không khuyên dùng chữ Trung làm đường dẫn tệp. Trên Windows, nếu chương trình mở mặc định là PI thì nhấp đúp vào tệp có đường dẫn chứa chữ Trung sẽ bật ra thông báo lỗi, mà đám ký tự lộn xộn trong đó chính là chữ Trung. Cách khắc phục tạm là: không đổi đường dẫn, cứ kéo thả thẳng tệp vào PI là mở được.

Thông báo lỗi với các ký tự lộn xộn mà PixInsight hiện ra khi mở tệp có đường dẫn chứa chữ Trung


Ghép tất cả những điều trên lại, toàn cảnh của WBPP đại khái đã rõ: nó là một cỗ máy tiền xử lý tự động rất mạnh, nhưng bạn phải nhớ rằng thành quả tích hợp của nó chỉ là bản xem trước, phải biết cách phân nhóm hiệu chỉnh, biết tận dụng bộ nhớ đệm, cũng như trước khi bắt tay vào việc thì nên xóa gì, nên thiết lập môi trường ra sao. Khái niệm đã đúng thì phần còn lại chỉ là chuyện thuần thục.