สารบัญ:
- ขั้นตอนที่ 1: ขยายช่วงไดนามิกของรูปภาพหรือรูปภาพของคุณ
- เหตุผล:
- ขั้นตอนที่ 2: ประมวลผลภาพหรือดำเนินการ Computer Vision, Machine Learning หรือ Like
- ขั้นตอนที่ 3: บีบอัดช่วงไดนามิกของผลลัพธ์อีกครั้ง
- ขั้นตอนที่ 4: คุณอาจต้องการลองรูปแบบอื่น ๆ
- ขั้นตอนที่ 5: ก้าวต่อไป: ลองใช้ด้วยคอมโพสิตภาพ HDR
วีดีโอ: การประมวลผลภาพเชิงควอนตัม: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
(รูปด้านบนแสดงการเปรียบเทียบวิธีการประมวลผลภาพที่มีอยู่กับการประมวลผลภาพเชิงปริมาณ สังเกตผลลัพธ์ที่ดีขึ้น ภาพบนขวาแสดงสิ่งแปลกปลอมที่มาจากสมมติฐานที่ไม่ถูกต้องว่าภาพวัดบางอย่างเช่นแสง ภาพล่างขวาแสดงผลลัพธ์ที่ดีขึ้นโดยทำแบบเดียวกัน เชิงปริมาณ)
ในคำแนะนำนี้ คุณจะได้เรียนรู้วิธีปรับปรุงประสิทธิภาพของระบบการถ่ายภาพหรือการตรวจจับด้วยสายตาที่มีอยู่อย่างมากโดยใช้แนวคิดที่เรียบง่ายมาก: การตรวจจับภาพแบบควอนไทม์เมตริก
การประมวลผลภาพเชิงควอนตัมช่วยปรับปรุงสิ่งต่อไปนี้อย่างมาก:
- การประมวลผลภาพที่มีอยู่เช่นการทำให้ภาพเบลอ
- แมชชีนเลิร์นนิง คอมพิวเตอร์วิทัศน์ และการจดจำรูปแบบ
- เครื่องจดจำใบหน้าที่สวมใส่ได้ (ดู https://wearcam.org/vmp.pdf) วิสัยทัศน์ตาม AI และ HI ฯลฯ
แนวคิดพื้นฐานคือการประมวลผลภาพล่วงหน้าและหลังการประมวลผลเชิงปริมาณดังนี้:
- ขยายช่วงไดนามิกของรูปภาพหรือรูปภาพ
- ประมวลผลรูปภาพหรือรูปภาพตามปกติ
- บีบอัดช่วงไดนามิกของรูปภาพหรือรูปภาพ (เช่น เลิกทำขั้นตอนที่ 1)
ในคำแนะนำก่อนหน้านี้ ฉันสอนบางแง่มุมของการตรวจจับ HDR (ช่วงไดนามิกสูง) และการตรวจจับเชิงปริมาณ เช่น ความเป็นเส้นตรง การทับซ้อน ฯลฯ..
ตอนนี้ให้เรานำความรู้นี้ไปใช้
ใช้กระบวนการที่มีอยู่ที่คุณต้องการใช้ ตัวอย่างที่ฉันจะแสดงคือการทำให้ภาพเบลอ แต่คุณยังสามารถใช้เพื่ออย่างอื่นได้
ขั้นตอนที่ 1: ขยายช่วงไดนามิกของรูปภาพหรือรูปภาพของคุณ
(ตัวเลขที่ดัดแปลงมาจาก "การประมวลผลภาพอัจฉริยะ", John Wiley and Sons Interscience Series, Steve Mann, พฤศจิกายน 2544)
ขั้นตอนแรกคือการขยายช่วงไดนามิกของภาพที่ป้อนเข้า
ตามหลักการแล้วคุณควรกำหนดฟังก์ชันการตอบสนองของกล้อง f แล้วใช้การตอบสนองผกผัน f inverse กับภาพ
กล้องทั่วไปมีการบีบอัดช่วงไดนามิก ดังนั้นเราจึงต้องการใช้ฟังก์ชันแบบขยาย
หากคุณไม่ทราบฟังก์ชันการตอบสนอง ให้เริ่มต้นด้วยการลองทำอะไรง่ายๆ เช่น โหลดรูปภาพลงในอาร์เรย์รูปภาพ แคสต์ตัวแปรเป็นประเภทข้อมูล เช่น (ลอย) หรือ (สองเท่า) และเพิ่มค่าพิกเซลแต่ละค่าเป็นเลขชี้กำลัง เช่น การยกกำลังสองค่าพิกเซลแต่ละค่า
เหตุผล:
เราจะทำเช่นนี้ทำไม?
คำตอบคือกล้องส่วนใหญ่จะบีบอัดช่วงไดนามิก เหตุผลที่พวกเขาทำเช่นนี้คือสื่อแบบดิสเพลย์ส่วนใหญ่จะขยายช่วงไดนามิก นี่เป็นเรื่องบังเอิญมาก: ปริมาณแสงที่ปล่อยออกมาจากจอโทรทัศน์หลอดรังสีแคโทดมีค่าเท่ากับแรงดันไฟฟ้าที่ยกขึ้นเป็นเลขชี้กำลัง 2.22 โดยประมาณ ดังนั้นเมื่อแรงดันไฟวิดีโออินพุตอยู่ประมาณครึ่งทาง ปริมาณแสงที่ปล่อยออกมาจะมาก น้อยกว่าครึ่ง.
สื่อภาพถ่ายยังมีช่วงไดนามิกที่กว้างขวางอีกด้วย ตัวอย่างเช่น การ์ดสีเทาที่ "เป็นกลาง" ในการถ่ายภาพจะปล่อยแสงที่ตกกระทบ 18% (ไม่ใช่ 50% ของแสงที่ตกกระทบ) เบามาก (18%) นี้ถือว่าอยู่ตรงกลางของการตอบสนอง ดังที่คุณเห็น ถ้าเราดูกราฟของเอาต์พุตเป็นฟังก์ชันของอินพุต สื่อแสดงผลจะทำงานราวกับว่าเป็นจอแสดงผลเชิงเส้นในอุดมคติที่มีตัวขยายช่วงไดนามิกก่อนการตอบสนองเชิงเส้นในอุดมคติ
ในรูปด้านบน คุณจะเห็นกล่องแสดงผลที่มีเส้นประ และเทียบเท่ากับการมีตัวขยายก่อนการแสดงผลเชิงเส้นในอุดมคติ
เนื่องจากจอแสดงผลมีความกว้างโดยธรรมชาติ กล้องจึงต้องได้รับการออกแบบให้มีการบีบอัดเพื่อให้ภาพดูดีบนจอแสดงผลที่มีอยู่
ย้อนกลับไปในสมัยก่อน เมื่อมีเครื่องรับโทรทัศน์หลายพันจอและมีสถานีออกอากาศเพียงหนึ่งหรือสองสถานี (เช่น กล้องโทรทัศน์เพียงหนึ่งหรือสองตัว) การแก้ไขความไม่เชิงเส้นแบบบีบอัดเข้าไปในกล้องนั้นง่ายกว่าการเรียกคืนโทรทัศน์ทั้งหมดและ ใส่เครื่องรับโทรทัศน์แต่ละเครื่อง
โดยบังเอิญสิ่งนี้ช่วยลดเสียงรบกวนด้วย ในเสียงเราเรียกสิ่งนี้ว่า "Dolby" ("companding") และได้รับรางวัลสิทธิบัตรสำหรับมัน ในวิดีโอมันเกิดขึ้นโดยบังเอิญโดยสิ้นเชิง สต็อคแฮมเสนอว่าเราควรใช้ลอการิทึมของภาพก่อนประมวลผล จากนั้นจึงนำแอนติล็อกมาใช้ สิ่งที่เขาไม่รู้ก็คือกล้องและจอแสดงผลส่วนใหญ่ทำโดยบังเอิญอยู่แล้ว สิ่งที่ฉันเสนอคือเราทำตรงกันข้ามกับที่ Stockham เสนอ (ดู "การประมวลผลภาพอัจฉริยะ", John Wiley and Sons Interscience Series, หน้า 109-111)
ในภาพด้านล่าง คุณจะเห็นการประมวลผลภาพต่อต้านโฮโมมอร์ฟิค (เชิงปริมาณ) ที่เสนอ ซึ่งเราได้เพิ่มขั้นตอนของการขยายและบีบอัดช่วงไดนามิก
ขั้นตอนที่ 2: ประมวลผลภาพหรือดำเนินการ Computer Vision, Machine Learning หรือ Like
ขั้นตอนที่สอง หลังจากการขยายช่วงไดนามิกคือการประมวลผลภาพ
ในกรณีของฉัน ฉันเพียงแค่ทำการ deconvolution ของภาพ โดยใช้ฟังก์ชันเบลอ เช่น การทำให้ภาพเบลอ ดังที่ทราบกันทั่วไปในงานศิลปะก่อนหน้านี้
การตรวจจับภาพเชิงปริมาณมีสองประเภทกว้างๆ:
- ช่วยให้ผู้คนมองเห็น;
- เครื่องช่วยดู.
หากเราพยายามช่วยให้คนอื่นเห็น (ซึ่งเป็นตัวอย่างที่ฉันกำลังแสดงที่นี่) เรายังไม่เสร็จสิ้น: เราจำเป็นต้องนำผลลัพธ์ที่ประมวลผลกลับเข้าไปในพื้นที่ภาพ
หากเรากำลังช่วยให้เครื่องมองเห็นได้ (เช่น การจดจำใบหน้า) เราก็ทำเสร็จแล้ว (ไม่ต้องไปยังขั้นตอนที่ 3)
ขั้นตอนที่ 3: บีบอัดช่วงไดนามิกของผลลัพธ์อีกครั้ง
เมื่อเรากำลังทำงานในช่วงไดนามิกที่ขยายออก เราจะอยู่ใน "lightspace" (quantimetric imagespace)
ในตอนท้ายของขั้นตอนที่ 2 เราอยู่ใน lightspace และเราต้องกลับไปที่ imagespace
ดังนั้น ขั้นตอนที่ 3 นี้คือการกลับไปที่พื้นที่ภาพ
ในการดำเนินการขั้นตอนที่ 3 เพียงบีบอัดช่วงไดนามิกของเอาต์พุตของขั้นตอนที่ 2
หากคุณทราบฟังก์ชันการตอบสนองของกล้อง เพียงใช้เพื่อให้ได้ผลลัพธ์ f(p(q))
หากคุณไม่ทราบฟังก์ชันตอบสนองของกล้อง ให้เดาให้ถูกต้อง
หากคุณยกกำลังพิกเซลของภาพในขั้นตอนที่ 1 ตอนนี้เป็นเวลาที่จะใช้สแควร์รูทของพิกเซลภาพแต่ละพิกเซลเพื่อกลับไปคาดเดาเกี่ยวกับพื้นที่ภาพ
ขั้นตอนที่ 4: คุณอาจต้องการลองรูปแบบอื่น ๆ
Deblurring เป็นเพียงหนึ่งในตัวอย่างที่เป็นไปได้มากมาย ตัวอย่างเช่น ลองพิจารณาการรวมภาพซ้อน
ถ่ายภาพสองภาพใด ๆ เช่นสองภาพที่ฉันมีด้านบน ตัวหนึ่งถ่ายตอนกลางวันและอีกตัวถ่ายตอนกลางคืน
รวมเข้าด้วยกันเพื่อสร้างภาพเหมือนพลบค่ำ
ถ้าเอามาเฉลี่ยรวมกันก็ดูเหมือนขยะ ลองด้วยตัวคุณเอง!
แต่ถ้าคุณขยายช่วงไดนามิกของแต่ละภาพก่อน แล้วจึงเพิ่มช่วงไดนามิก จากนั้นบีบอัดช่วงไดนามิกของผลรวม ก็จะดูดี
เปรียบเทียบการประมวลผลภาพ (การเพิ่มภาพ) กับการประมวลผลภาพเชิงปริมาณ (การขยาย เพิ่ม และบีบอัด)
คุณสามารถดาวน์โหลดโค้ดของฉันและตัวอย่างเนื้อหาเพิ่มเติมได้จากที่นี่:
ขั้นตอนที่ 5: ก้าวต่อไป: ลองใช้ด้วยคอมโพสิตภาพ HDR
(ภาพด้านบน: หมวกเชื่อม HDR ใช้การประมวลผลภาพเชิงปริมาณสำหรับการซ้อนทับความเป็นจริงยิ่ง ดู Slashgear 2012 12 กันยายน)
สรุป:
จับภาพและใช้ขั้นตอนต่อไปนี้:
- ขยายช่วงไดนามิกของภาพ
- ประมวลผลภาพ
- บีบอัดช่วงไดนามิกของผลลัพธ์
และถ้าคุณต้องการผลลัพธ์ที่ดียิ่งขึ้นไปอีก ให้ลองทำสิ่งต่อไปนี้:
จับภาพหลายภาพที่เปิดเผยต่างกัน
- ขยายช่วงไดนามิกเป็น lightspace ตามคำสั่งก่อนหน้าของฉันบน HDR;
- ประมวลผลภาพเชิงปริมาณที่ได้ q ในไลท์สเปซ
- บีบอัดช่วงไดนามิกผ่านการทำแผนที่โทนสี
ขอให้สนุกและโปรดคลิก "ฉันทำมัน" และโพสต์ผลลัพธ์ของคุณ เรายินดีที่จะแสดงความคิดเห็นหรือให้ความช่วยเหลือเชิงสร้างสรรค์
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง