- การทดลองที่แสดงให้เห็นเป็นขั้นตอนว่าข้อมูล RAW ของเซนเซอร์ จากกล้องดิจิทัลถูกบันทึกในรูปแบบใด
- ข้อมูลเริ่มต้นเป็นภาพโทนเทา โดยนำ เอาต์พุต ADC 14 บิต มาแมปเป็น RGB 0–255 แบบง่าย ๆ ทำให้ช่วงความสว่างจริงยังถูกจำกัด
- ใช้ ฟิลเตอร์ Bayer เพื่อสะท้อนข้อมูลฟิลเตอร์สีของแต่ละพิกเซล และทำ demosaicing โดยเฉลี่ยค่าพิกเซลข้างเคียง
- ผ่านการปรับ แกมมา และ ไวต์บาลานซ์ เพื่อชดเชยความต่างของการรับรู้ความสว่างแบบ ไม่เชิงเส้น ระหว่างสายตามนุษย์กับจอแสดงผล
- ท้ายที่สุด เมื่อเทียบกับการประมวลผล JPEG ภายในกล้อง จะเห็นว่าแนวคิดเรื่อง “ภาพที่ไม่ผ่านการปรับแก้” แทบไม่มีอยู่จริง
สภาพเริ่มต้นของข้อมูล RAW จากเซนเซอร์
- ข้อมูลต้นฉบับที่เซนเซอร์กล้องบันทึกไว้ประกอบด้วยค่า ADC 14 บิต และเมื่อแปลงเป็น RGB 0–255 แบบตรงไปตรงมา จะได้ภาพในลักษณะโทนเทา
- ช่วงค่าของ ADC จริงอยู่ที่ประมาณ 2110~13600 จึงตั้งช่วงนี้เป็นเกณฑ์ขาวดำเพื่อปรับความสว่างใหม่
- ภาพในขั้นตอนนี้แทบไม่มีข้อมูลสี เพราะเซนเซอร์ วัดได้เพียงความเข้มของแสง
กระบวนการกู้คืนข้อมูลสี
- เซนเซอร์กล้องสีใช้ การจัดเรียงฟิลเตอร์ Bayer เพื่อให้แต่ละพิกเซลตรวจจับได้เพียงสีใดสีหนึ่งระหว่างแดง เขียว หรือ น้ำเงิน
- เมื่อลงสีให้ตรงกับฟิลเตอร์สีของแต่ละพิกเซล ภาพจะเริ่มมีสีสัน แต่ในหนึ่งพิกเซลจะมีเพียงหนึ่งค่าใน RGB เท่านั้น
- เมื่อเฉลี่ยค่าของพิกเซลข้างเคียงเพื่อทำ demosaicing สีของภาพทั้งภาพก็จะถูกกู้คืนขึ้นมา
ความสว่างและการปรับแกมมา
- สาเหตุที่ภาพดูมืด เป็นเพราะ ข้อจำกัดของช่วงไดนามิกของจอภาพ และ การรับรู้ความสว่างแบบไม่เชิงเส้นของสายตามนุษย์
- หากแสดงข้อมูลเชิงเส้นโดยตรง ภาพจะดูมืด จึงต้องใช้ เส้นโค้งแกมมาแบบไม่เชิงเส้น เพื่อเพิ่มความสว่างในส่วนมืด
- แต่ในกระบวนการนี้จะเกิดอาการ ช่องสีเขียวเด่นเกินไป เนื่องจากความไวต่อสีเขียวของเซนเซอร์และสัดส่วนของสีเขียวในโครงสร้าง Bayer
ไวต์บาลานซ์และการปรับสี
- ปรับแต่ละช่องสีตามสัดส่วนที่กำหนดเพื่อให้ได้ ไวต์บาลานซ์ ที่เหมาะสม
- ย้อนกลับไปยังขั้นตอนก่อนการแปลงแบบไม่เชิงเส้น ลดช่องสีเขียวลง แล้วจึงใช้เส้นโค้งแกมมาอีกครั้ง
- ผ่านกระบวนการนี้จึงได้ ภาพถ่ายที่มีสีสันเป็นธรรมชาติ
การเปรียบเทียบกับการประมวลผล JPEG ของกล้อง
- ภาพ JPEG ที่กล้องสร้างขึ้นภายใน จากข้อมูล RAW เดียวกัน เป็นผลลัพธ์ที่ผ่านการปรับแก้ทางคณิตศาสตร์หลายขั้นตอนมาแล้ว
- การปรับคอนทราสต์หรือไวต์บาลานซ์ในซอฟต์แวร์แต่งภาพ ก็คือการคำนวณแบบเดียวกับที่กล้องทำภายในโดยเนื้อแท้
- แนวคิดเรื่อง “ภาพที่ไม่ผ่านการแต่ง” ไม่มีอยู่จริงในทางปฏิบัติ และ ภาพทุกภาพล้วนเป็นผลของการประมวลผลทางคณิตศาสตร์
- การจำลองการมองเห็นของมนุษย์ให้สมบูรณ์แบบทำได้ยาก และด้วยข้อจำกัดของจอแสดงผล จึงยังมี ความจำเป็นของการปรับแก้ด้วยตนเอง อยู่เสมอ
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
กำลังลังเลว่าการใช้ ฟังก์ชันถ่ายทอดสัญญาณ เดียวกันกับทุกพิกเซล ควรถูกนับว่าเป็น ‘การประมวลผล’ หรือไม่
ในยุคฟิล์ม ถ้าใช้ฟิล์มขาวดำ ISO 400 แบบดันไปถ่ายที่ 1600 ก็จะเกิดเกรนหยาบ แต่สิ่งนั้นคือ ‘นอยส์’ ที่สม่ำเสมอทั้งภาพ
ทุกวันนี้การลดนอยส์พัฒนาไปไกลอย่างน่าทึ่ง แต่ในกระบวนการนั้นบางครั้ง ตัวภาพเองก็ถูกบิดเปลี่ยน
ตัวอย่างเช่น กล้อง IP ของฉันเวลาขี่จักรยานเข้ามา บางส่วนของล้อกลับหายไป อัลกอริทึมเข้าใจพื้นผิวแอสฟัลต์ผิดว่าเป็นนอยส์แล้วลบทิ้ง
สมาร์ตโฟนหรือกล้องดิจิทัลเองก็เช่นกัน ถ้าซูมหรือถ่ายในที่แสงน้อย ใบหน้าจะดูเหมือน ‘ภาพวาด’
ฉันกลับอยากได้ นอยส์ที่ซื่อสัตย์ มากกว่า หรืออย่างน้อยก็อยากได้อัลกอริทึมลดนอยส์ที่ปรับได้ตั้งแต่ ‘ไม่มี’ ไปจนถึงค่าเริ่มต้นปัจจุบัน
ชอบบทความที่ค่อย ๆ แกะชั้นนามธรรมของคำว่า ‘ภาพ’ ออกมา สุดท้ายแล้วการถ่ายภาพสมัยใหม่ก็เป็นแค่ การประมวลผลสัญญาณ ที่เติมการตลาดเข้าไปเท่านั้น
สาเหตุที่ Bayer pattern เป็นแบบ RGGB (สีเขียว 50%) ไม่ได้มีแค่เรื่องสมดุลสี แต่รวมถึง ความละเอียดเชิงพื้นที่ ด้วย
ดวงตามนุษย์ไวต่อสีเขียวมากที่สุด ดังนั้นช่องสีเขียวจึงรับหน้าที่เป็นความสว่าง (รายละเอียด) ส่วนใหญ่
อัลกอริทึม demosaicing ระดับสูงจะสร้าง แผนที่ความสว่าง ความละเอียดสูงจากช่องสีเขียวก่อน แล้วค่อยอินเตอร์โพเลตสีแดงและสีน้ำเงินเป็นชั้นความต่างสี
หลักการนี้เองที่ทำให้การบีบอัดวิดีโอแบบโครมาซับแซมปลิง 4:2:0 เป็นไปได้
ถ้าอยากลงลึกกว่านี้ แนะนำให้ดูซอร์สโค้ดของ dcraw หรือ libraw จะเห็นการจัดการกรณีพิเศษจำนวนมากเพื่อแปลความ ‘แรงดันดิบ’ ของผู้ผลิตเซ็นเซอร์แต่ละราย
g = .299r + .587g + .114bอัตราส่วนนี้เป็นตัวกำหนดความสว่างของภาพระดับเทา
และท่อนกวีที่อ้างไว้ตรงนั้นก็น่าประทับใจ เพราะมันบรรยายโลกที่สีสันหายไป พร้อมเสียดสีว่าท้ายที่สุดสิ่งที่เราตัดสินว่า ‘ถูกต้อง’ อาจเป็นเพียง ความคลาดเคลื่อนจากการควอนไทซ์ เท่านั้น
ทั้งที่จริงแค่เพิ่มแฟลกแปลง RGB→luma ในคำสั่ง FFmpeg ก็น่าจะแก้ได้แล้ว
แม้จะเข้าใจว่ามาจากการที่สายตามนุษย์ไวต่อสีเขียว แต่ก็ยังรู้สึกไม่ค่อยยุติธรรมอยู่ดี (⩺_⩹)
เพราะ JPEG ที่กล้องสร้างออกมาตั้งแต่แรกก็เป็น ผลลัพธ์ที่ผ่านการประมวลผลหนักมาก อยู่แล้ว
การใช้เส้นโค้ง การแมปปิง หรือค่าปรับแต่งต่างกันเพื่อสร้าง JPEG อีกแบบ ไม่ใช่ ‘การปลอมแปลง’ แต่เป็นเพียงการตีความอีกแบบหนึ่งเท่านั้น
ฉันทำงานเกี่ยวกับเซ็นเซอร์กล้อง และคิดว่าบทความนี้เหมาะมากสำหรับใช้สอนพนักงานใหม่
ถ้าแสดงให้เห็นกระบวนการตั้งแต่ ข้อมูล RAW ไปจนถึงผลลัพธ์ที่เราคุ้นเคย ความเข้าใจจะมาเร็วมาก
แค่ทักเรื่องพิมพ์ผิดเล็กน้อยว่า ควรใช้ “than” แทน “then”
ตอนเรียนปริญญาตรีฉันเรียน remote sensing จนได้เข้าใจเซ็นเซอร์และการประมวลผลสัญญาณอย่างจริงจัง
สิ่งที่ฉันเห็นไม่ใช่ ‘ความจริง’ แต่เป็น มุมมองบางส่วน ของข้อมูล
ดวงตามนุษย์ ดวงตาแมว และกล้อง ต่างก็เก็บและถ่ายทอดชุดย่อยของข้อมูลที่ต่างกัน
ถ้ามองอวกาศและเวลาเป็นมิติเพิ่มเติมของสัญญาณ ก็ยิ่งน่าสนใจขึ้นไปอีก
ท้ายที่สุดแล้วก็อดคิดไม่ได้ว่าเราทุกคนเป็นเพียง ระบบเซ็นเซอร์ ที่กำลังสังเกตจักรวาลเพียงบางส่วนเท่านั้น
ในภาพถ่ายดิจิทัล การบีบอัดไดนามิกเรนจ์ และ debayering เป็นสิ่งจำเป็น แต่ในทางกลับกัน การที่ AI มารับรู้วัตถุแล้ว สร้างภาพใหม่แบบเพ้อฝัน ตามสิ่งที่มันคิดว่า ‘ควรจะเป็น’ นั้นเป็นอีกเรื่องหนึ่ง
ผู้ผลิตกำลังผลักดันไปในทิศทางนี้ ซึ่งก่อปัญหาอย่างเรื่องความน่าเชื่อถือของภาพถ่ายที่ใช้เป็นหลักฐาน
ทุกภาพคือการตีความข้อมูล และเป็นผลลัพธ์ของการเลือกมากมาย
ถ้าจะจำแนกจริง ๆ อาจแบ่งเป็น การแก้ไขทั้งภาพ (global) กับ การแก้ไขเฉพาะจุด (local) โดยการแก้ไขเฉพาะจุดอาจถือว่าใกล้เคียงคำว่า ‘ปลอม’ มากกว่า
แต่ท้ายที่สุดแก่นสำคัญคือ เจตนา (intent)
ถ้ามีเจตนาจะหลอก ต่อให้เป็นภาพที่ออกมาจากกล้องตรง ๆ ก็อาจเป็น ‘ของปลอม’ ได้
คนส่วนใหญ่มองว่าการใส่ฟิลเตอร์คือ ‘ของปลอม’ แต่จริง ๆ แล้วรูปถ่ายทุกภาพต่างก็มีฟิลเตอร์อยู่แล้ว
การเรียกกระบวนการนั้นเองว่า ‘ของปลอม’ จึงไม่มีความหมาย
ทำให้นึกถึงคำพูดจากหนัง Tim’s Vermeer
ที่บอกว่า “แนวคิดสมัยใหม่ที่ว่า ศิลปะกับเทคโนโลยีควรถูกแยกออกจากกันนั้นเป็นความคิดที่ผิด”
ซึ่งสะท้อนว่า การผสานศิลปะกับเทคโนโลยี นี่เองคือคุณลักษณะของยุคทอง
อีกทั้งยังอยากแนะนำ The Science of Photography ของ John Lind และ
คำอธิบายเรื่องเซ็นเซอร์ของ Bob Atkins ด้วย
โดยเฉพาะส่วนที่อธิบายว่าทำไม ขนาดหลุมรับประจุของพิกเซล จึงสำคัญมากนั้นน่าประทับใจ
ฉันคิดว่าสาเหตุที่ข้อมูลเชิงเส้นดูมืดเมื่อแสดงตรง ๆ เป็นเพราะ ข้อจำกัดของจอภาพ
ถ้ามี bit depth มากพอ เราน่าจะแสดงแบบ linear light ได้โดยไม่ต้องแกมมาคอเรกชันหรือเปล่า
เพราะ การรับรู้ความสว่าง ของมนุษย์ไม่เป็นเชิงเส้น จึงจำเป็นต้องทำให้ไม่เป็นเชิงเส้นในขั้นตอนใดขั้นตอนหนึ่ง
วิธีที่เหมาะที่สุดคือคำนวณในปริภูมิสีเชิงเส้น 16 บิตขึ้นไป แล้วค่อยใส่แกมมาก่อนแสดงผล
ในอดีตเคยมีการเบลนด์ด้วย RGB แบบไม่เชิงเส้น จนเกิด แถบมืดเป็นขั้น ๆ อยู่บ่อยครั้ง
CRT ใช้แกมมาเพื่อชดเชยการตอบสนองแบบไม่เชิงเส้นของปืนอิเล็กตรอน ส่วนฟิล์มหรือเซ็นเซอร์ CMOS ก็มีความไวต่อแสงในลักษณะลอการิทึม จึงมีการประมวลผลคล้ายกัน
‘ภาพถ่ายที่ไม่ผ่านการประมวลผล’ แทบไม่มีอยู่จริง
RAW เป็นเพียงชุดค่าพิกเซลแบบ RGGB และการทิ้งข้อมูลอย่างมีกลยุทธ์เพื่อให้เข้ากับ ไดนามิกเรนจ์อันแคบของหน้าจอ
รวมถึงการกำหนดจุดเทากลาง ล้วนเป็นพื้นที่ของ การตีความเชิงสร้างสรรค์
รู้สึกเสียดายนิดหน่อยที่ตัวอย่างในบทความดูประดิษฐ์เกินไปและใช้แสงสีหลากหลายมาก จนยากจะเข้าใจว่า ‘ความจริงอ้างอิง’ คืออะไร
แค่เปรียบเทียบภาพสองภาพสุดท้าย แล้วตัดสิน ‘ผลลัพธ์’ ตามความชอบของแต่ละคนก็พอ