การตรวจจับขอบ
| การตรวจจับคุณลักษณะ |
|---|
| การตรวจจับขอบ |
| การตรวจจับมุม |
| การตรวจจับวัตถุ |
| การตรวจจับสันเขา |
| ฮัฟ ทรานส์ฟอร์ม |
| เทนเซอร์โครงสร้าง |
| การตรวจจับคุณลักษณะที่ไม่เปลี่ยนแปลงเชิงแอฟฟิน |
| คำอธิบายคุณสมบัติ |
| พื้นที่มาตราส่วน |
การตรวจจับขอบ ประกอบด้วยวิธีการ ทางคณิตศาสตร์ที่หลากหลายซึ่งมีจุดมุ่งหมายเพื่อระบุขอบซึ่งกำหนดเป็นเส้นโค้งในภาพดิจิทัลที่ความสว่างของภาพเปลี่ยนแปลงอย่างรวดเร็ว หรือกล่าวอย่างเป็นทางการกว่านั้นคือ มีความไม่ต่อเนื่องปัญหาเดียวกันของการค้นหาความไม่ต่อเนื่องในสัญญาณหนึ่งมิติเรียกว่าการตรวจจับขั้นบันไดและปัญหาของการค้นหาความไม่ต่อเนื่องของสัญญาณเมื่อเวลาผ่านไปเรียกว่า การ ตรวจจับการเปลี่ยนแปลงการตรวจจับขอบเป็นเครื่องมือพื้นฐานในการประมวลผลภาพการมองเห็นด้วยเครื่องจักรและการมองเห็นด้วยคอมพิวเตอร์โดยเฉพาะอย่างยิ่งในด้านการตรวจจับคุณลักษณะและการสกัดคุณลักษณะ[ 1 ]
แรงจูงใจ

จุดประสงค์ของการตรวจจับการเปลี่ยนแปลงอย่างรวดเร็วของความสว่างของภาพคือการจับภาพเหตุการณ์สำคัญและการเปลี่ยนแปลงคุณสมบัติของโลก สามารถแสดงได้ว่าภายใต้สมมติฐานทั่วไปสำหรับแบบจำลองการสร้างภาพ ความไม่ต่อเนื่องของความสว่างของภาพมีแนวโน้มที่จะสอดคล้องกับ: [ 2 ] [ 3 ]
- ความไม่ต่อเนื่องในระดับความลึก
- ความไม่ต่อเนื่องในการวางแนวพื้นผิว
- การเปลี่ยนแปลงในคุณสมบัติของวัสดุและ
- การเปลี่ยนแปลงของแสงสว่างในฉาก
ในกรณีที่ดีที่สุด ผลลัพธ์ของการใช้ตัวตรวจจับขอบกับภาพอาจนำไปสู่ชุดของเส้นโค้งที่เชื่อมต่อกัน ซึ่งบ่งชี้ขอบเขตของวัตถุ ขอบเขตของร่องรอยบนพื้นผิว รวมถึงเส้นโค้งที่สอดคล้องกับความไม่ต่อเนื่องของทิศทางพื้นผิว ดังนั้น การใช้อัลกอริธึมตรวจจับขอบกับภาพอาจช่วยลดปริมาณข้อมูลที่จะต้องประมวลผลได้อย่างมาก และอาจกรองข้อมูลที่อาจถือว่ามีความสำคัญน้อยกว่าออกไป ในขณะที่ยังคงรักษาคุณสมบัติโครงสร้างที่สำคัญของภาพไว้ หากขั้นตอนการตรวจจับขอบประสบความสำเร็จ งานต่อไปของการตีความเนื้อหาข้อมูลในภาพต้นฉบับจึงอาจง่ายขึ้นอย่างมาก อย่างไรก็ตาม การจะได้ขอบที่สมบูรณ์แบบเช่นนั้นจากภาพจริงที่มีความซับซ้อนปานกลางนั้นไม่ใช่เรื่องง่ายเสมอไป
ขอบที่สกัดจากภาพที่ไม่ธรรมดามักจะถูกขัดขวางด้วยการแตกเป็นชิ้นเล็กชิ้นน้อยซึ่งหมายความว่าเส้นโค้งของขอบไม่ได้เชื่อมต่อกัน มีส่วนขอบที่หายไป รวมถึงขอบปลอมที่ไม่สอดคล้องกับปรากฏการณ์ที่น่าสนใจในภาพ ซึ่งทำให้การตีความข้อมูลภาพในภายหลังมีความซับซ้อนมากขึ้น[ 4 ]
การตรวจจับขอบเป็นหนึ่งในขั้นตอนพื้นฐานในกระบวนการประมวลผลภาพการวิเคราะห์ภาพการจดจำรูปแบบภาพ และเทคนิคคอมพิวเตอร์วิชั่น
คุณสมบัติของขอบ
ขอบที่สกัดได้จากภาพสองมิติของฉากสามมิติสามารถจำแนกได้เป็นขอบที่ขึ้นอยู่กับมุมมองและขอบที่ไม่ขึ้นอยู่กับมุมมอง ขอบที่ไม่ขึ้นอยู่กับมุมมองโดยทั่วไปจะสะท้อนคุณสมบัติโดยธรรมชาติของวัตถุสามมิติ เช่น รอยบนพื้นผิวและรูปร่างของพื้นผิวส่วนขอบที่ขึ้นอยู่กับมุมมองอาจเปลี่ยนแปลงไปเมื่อมุมมองเปลี่ยนไป และโดยทั่วไปจะสะท้อนถึงเรขาคณิตของฉาก เช่น วัตถุที่บดบังซึ่งกันและกัน
ตัวอย่างเช่น ขอบทั่วไปอาจเป็นเส้นแบ่งระหว่างบล็อกสีแดงกับบล็อกสีเหลือง ในทางตรงกันข้ามเส้น (ซึ่งสามารถตรวจจับได้ด้วยตัวตรวจจับสัน ) อาจเป็นกลุ่ม พิกเซลจำนวนเล็กน้อยที่มีสีต่างกันบนพื้นหลังที่ไม่เปลี่ยนแปลง สำหรับเส้นหนึ่งๆ จึงมักจะมีขอบหนึ่งด้านในแต่ละด้านของเส้นนั้น
แบบจำลองขอบแบบง่าย
แม้ว่าเอกสารบางฉบับจะกล่าวถึงการตรวจจับขอบขั้นบันไดในอุดมคติ แต่ขอบที่ได้จากภาพธรรมชาติมักไม่ใช่ขอบขั้นบันไดในอุดมคติเสมอไป แต่โดยปกติแล้วจะได้รับผลกระทบจากปัจจัยอย่างใดอย่างหนึ่งหรือหลายอย่างดังต่อไปนี้:
- ความเบลอของจุดโฟกัสเกิดจากความชัดลึก ที่จำกัด และฟังก์ชันการกระจายจุดที่จำกัด
- ความพร่ามัวที่เกิดจากเงาที่เกิดจากแหล่งกำเนิดแสงที่มีรัศมีไม่เป็นศูนย์
- การแรเงาบนวัตถุเรียบ
นักวิจัยจำนวนหนึ่งได้ใช้ขอบขั้นบันไดที่เรียบด้วยฟังก์ชันเกาส์เซียน ( ฟังก์ชันข้อผิดพลาด ) เป็นส่วนขยายที่ง่ายที่สุดของแบบจำลองขอบขั้นบันไดในอุดมคติสำหรับการจำลองผลกระทบของการเบลอขอบในการใช้งานจริง[ 4 ] [ 5 ] ดังนั้น ภาพหนึ่งมิติซึ่งมีขอบด้านหนึ่งวางอยู่ที่ตำแหน่งพอดีอาจแสดงในรูปแบบดังนี้:
ที่ด้านซ้ายของขอบ ความเข้มคือและอยู่ทางด้านขวาของขอบ พารามิเตอร์มาตราส่วนเรียกว่าค่าความเบลอของขอบภาพ โดยทั่วไปแล้ว ควรปรับค่าพารามิเตอร์นี้ตามคุณภาพของภาพ เพื่อหลีกเลี่ยงการทำลายขอบภาพที่แท้จริง
ความยากลำบาก
นอกเหนือจากภาพที่มีวัตถุเรียบง่ายหรือมีแสงที่ควบคุมได้ดี การตรวจจับขอบไม่ใช่เรื่องง่าย เนื่องจากอาจเป็นเรื่องยากที่จะกำหนดว่าควรใช้เกณฑ์ใดในการกำหนดขอบระหว่างพิกเซลสองพิกเซล[ 4 ]ตัวอย่างเช่น ในสัญญาณหนึ่งมิติต่อไปนี้ คนส่วนใหญ่จะบอกโดยสัญชาตญาณว่ามีขอบระหว่างพิกเซลที่ 4 และ 5:
| 5 | 7 | 6 | 4 | 152 | 148 | 149 |
อย่างไรก็ตาม หากความแตกต่างของความเข้มระหว่างพิกเซลที่ 4 และพิกเซลที่ 5 น้อยลง ก็จะไม่ใช่เรื่องง่ายที่จะบอกว่าควรมีขอบในบริเวณนั้น ในทำนองเดียวกัน หากความแตกต่างของความเข้มระหว่างพิกเซลข้างเคียงสูงขึ้น ก็อาจมีข้อโต้แย้งว่าควรพิจารณาว่ามีขอบมากกว่าหนึ่งขอบ หรืออาจไม่มีขอบเลยก็ได้
| 5 | 7 | 6 | 61 | 113 | 148 | 149 |
แนวทาง
มีวิธีการตรวจจับขอบหลายวิธี แต่ส่วนใหญ่สามารถแบ่งออกเป็นสองประเภท คือ วิธีการค้นหา และ วิธี การค้นหาจุดตัดศูนย์วิธีการค้นหาจุดตัดศูนย์จะตรวจจับขอบโดยการคำนวณค่าความแรงของขอบก่อน ซึ่งโดยทั่วไปจะเป็นนิพจน์อนุพันธ์อันดับหนึ่งเช่น ขนาดของเกรเดียนต์ จากนั้นจึงค้นหาค่าสูงสุดเฉพาะทิศทางของขนาดเกรเดียนต์โดยใช้ค่าประมาณของทิศทางเฉพาะที่ของขอบ ซึ่งโดยทั่วไปคือทิศทางของเกรเดียนต์ ส่วนวิธีการค้นหาจุดตัดศูนย์จะค้นหาจุดตัดศูนย์ในนิพจน์อนุพันธ์อันดับสองที่คำนวณจากภาพเพื่อค้นหาขอบ ซึ่งโดยทั่วไปคือจุดตัดศูนย์ของลาปลาเซียนหรือจุดตัดศูนย์ของนิพจน์เชิงอนุพันธ์ที่ไม่เป็นเชิงเส้น ในขั้นตอนการประมวลผลล่วงหน้าก่อนการตรวจจับขอบ มักจะมีการใช้ขั้นตอนการปรับให้เรียบ ซึ่งโดยทั่วไป คือ การปรับให้เรียบแบบเกาส์เซียน (ดูเพิ่มเติมที่การลดสัญญาณรบกวน )
วิธีการตรวจจับขอบภาพที่ได้รับการตีพิมพ์เผยแพร่ส่วนใหญ่แตกต่างกันในประเภทของตัวกรองปรับความเรียบที่ใช้และวิธีการคำนวณค่าความเข้มของขอบภาพ เนื่องจากวิธีการตรวจจับขอบภาพหลายวิธีอาศัยการคำนวณค่าความชันของภาพ จึงทำให้วิธีการเหล่านี้แตกต่างกันในประเภทของตัวกรองที่ใช้ในการคำนวณค่าประมาณความชันในทิศทางxและy ด้วย
การสำรวจวิธีการตรวจจับขอบที่แตกต่างกันหลายวิธีสามารถพบได้ใน (Ziou และ Tabbone 1998); [ 6 ]ดูบทความสารานุกรมเกี่ยวกับการตรวจจับขอบในสารานุกรมคณิตศาสตร์[ 3 ]และสารานุกรมวิทยาศาสตร์คอมพิวเตอร์และวิศวกรรม[ 7 ]
ฉลาดหลักแหลม
จอห์น แคนนีพิจารณาปัญหาทางคณิตศาสตร์ของการหาตัวกรองการปรับเรียบที่เหมาะสมที่สุด โดยพิจารณาจากเกณฑ์การตรวจจับ การระบุตำแหน่ง และการลดการตอบสนองหลายครั้งต่อขอบเดียว[ 8 ]เขาแสดงให้เห็นว่าตัวกรองที่เหมาะสมที่สุด ภายใต้สมมติฐานเหล่านี้ คือผลรวมของพจน์เลขชี้กำลังสี่พจน์ เขายังแสดงให้เห็นว่าตัวกรองนี้สามารถประมาณค่าได้ดีด้วยอนุพันธ์อันดับแรกของเกาส์เซียน แคนนียังได้แนะนำแนวคิดของการระงับค่าสูงสุดที่ไม่ใช่ค่าสูงสุด ซึ่งหมายความว่า เมื่อกำหนดตัวกรองการปรับเรียบเบื้องต้น จุดขอบจะถูกกำหนดให้เป็นจุดที่ขนาดของเกรเดียนต์มีค่าสูงสุดเฉพาะที่ในทิศทางของเกรเดียนต์ การมองหาจุดตัดศูนย์ของอนุพันธ์อันดับ 2 ตามทิศทางของเกรเดียนต์นั้นได้รับการเสนอครั้งแรกโดยฮาราลิค [ 9 ] ใช้ เวลาน้อยกว่าสองทศวรรษในการค้นหาความหมายเชิงแปรผันทางเรขาคณิตที่ทันสมัยสำหรับตัวดำเนินการนั้น ซึ่งเชื่อมโยงกับ ตัวตรวจจับขอบ Marr–Hildreth (จุดตัดศูนย์ของลาปลาเซียน) การสังเกตนั้นได้รับการนำเสนอโดยรอน คิมเมลและอัลเฟรด บรุคสไตน์[ 10 ]
แม้ว่างานของเขาจะทำในช่วงแรกๆ ของคอมพิวเตอร์วิชั่น แต่ตัวตรวจจับขอบ Canny (รวมถึงรูปแบบต่างๆ) ก็ยังคงเป็นตัวตรวจจับขอบที่ทันสมัยที่สุด[ 11 ]ตัวตรวจจับขอบที่ทำงานได้ดีกว่า Canny มักต้องการเวลาในการคำนวณที่นานกว่าหรือจำนวนพารามิเตอร์ที่มากกว่า
โควาเลฟสกี
Vladimir A. Kovalevsky [ 12 ]ได้เสนอแนวทางที่แตกต่างออกไป เขาใช้การประมวลผลล่วงหน้าของภาพด้วยตัวกรอง Sigma [ 13 ]และด้วยตัวกรองพิเศษสำหรับการเจือจางของแรมป์ วิธีนี้ไม่ใช้ความสว่างของภาพ แต่ใช้เฉพาะความเข้มของช่องสี ซึ่งมีความสำคัญต่อการตรวจจับขอบระหว่างพิกเซลที่อยู่ติดกันสองพิกเซลที่มีความสว่างเท่ากันแต่มีสีต่างกัน วิธีนี้จะสแกนภาพสองครั้ง ครั้งแรกตามแนวเส้นแนวนอน และครั้งที่สองตามแนวคอลัมน์แนวตั้ง ในแต่ละเส้นแนวนอนจะพิจารณาพิกเซลที่อยู่ติดกันหกพิกเซล และคำนวณความแตกต่างของสีห้าค่าระหว่างพิกเซลที่อยู่ติดกันแต่ละคู่ ความแตกต่างของสีแต่ละค่าคือผลรวมของความแตกต่างสัมบูรณ์ของความเข้มของช่องสีแดง สีเขียว และสีน้ำเงินของพิกเซลที่อยู่ติดกันที่สอดคล้องกัน หากผลรวมนี้มากกว่าเกณฑ์ที่กำหนด เครื่องหมายของความแตกต่างของสีจะถูกตั้งค่าให้เท่ากับเครื่องหมายของความแตกต่างของความเข้มสีเขียว หากความแตกต่างของสีเขียวเป็นศูนย์ เครื่องหมายของความแตกต่างของสีจะถูกตั้งค่าให้เท่ากับเครื่องหมายของความแตกต่างของความเข้มสีแดง อย่างไรก็ตาม หากความแตกต่างของสีเขียวและสีแดงเป็นศูนย์ทั้งคู่ เครื่องหมายของความแตกต่างของสีจะถูกกำหนดให้เท่ากับเครื่องหมายของความแตกต่างของสีน้ำเงิน ซึ่งในกรณีนี้ไม่สามารถเป็นศูนย์ได้ เนื่องจากผลรวมมากกว่าค่าเกณฑ์ มีการกำหนดเงื่อนไขบางประการสำหรับค่าและเครื่องหมายของความแตกต่างของสีทั้งห้าสี โดยหากตรงตามเงื่อนไข จะมีการวางเส้นแนวตั้งสั้นๆ ระหว่างพิกเซลที่สามและสี่จากหกพิกเซล เพื่อใช้เป็นป้ายกำกับของขอบ มีการคำนวณที่คล้ายกันสำหรับคอลัมน์แนวตั้ง ในกรณีนี้ จะมีการวางเส้นแนวนอนสั้นๆ ระหว่างพิกเซลที่สามและสี่จากหกพิกเซลที่ต่อเนื่องกัน เส้นแนวตั้งและแนวนอน (ซึ่งเป็นเซลล์หนึ่งมิติของกลุ่มเซลล์นามธรรมที่สอดคล้องกับภาพ) ส่วนใหญ่จะประกอบเป็นลำดับที่เชื่อมต่อกันซึ่งแสดงถึงขอบ วิธีนี้มีความแข็งแกร่งและรวดเร็วมาก และที่สำคัญกว่านั้นคือ สามารถตรวจจับขอบระหว่างพิกเซลที่อยู่ติดกันที่มีความสว่างเท่ากันได้ หากความแตกต่างของสีระหว่างพิกเซลเหล่านี้มากกว่าค่าเกณฑ์
ตัวตรวจจับ Canny–Deriche ได้รับการพัฒนาจากเกณฑ์ทางคณิตศาสตร์ที่คล้ายคลึงกันกับตัวตรวจจับขอบ Canny แม้ว่าจะเริ่มต้นจากมุมมองแบบไม่ต่อเนื่องแล้วนำไปสู่ชุดตัวกรองแบบวนซ้ำสำหรับการปรับภาพให้เรียบแทนที่จะใช้ตัวกรองแบบเอกซ์โปเนนเชียลหรือตัวกรองแบบเกาส์เซียน[ 14 ]
ตัวตรวจจับขอบแบบดิฟเฟอเรนเชียลที่อธิบายไว้ด้านล่างนี้ สามารถมองได้ว่าเป็นการปรับปรุงวิธีการของ Canny จากมุมมองของค่าคงที่แบบดิฟเฟอเรนเชียลที่คำนวณจากการแสดงพื้นที่มาตราส่วนซึ่งนำไปสู่ข้อดีหลายประการทั้งในแง่ของการวิเคราะห์เชิงทฤษฎีและการใช้งานระดับซับพิกเซล ในแง่นั้นตัวกรอง Log Gaborได้รับการพิสูจน์แล้วว่าเป็นตัวเลือกที่ดีในการแยกขอบเขตในฉากธรรมชาติ[ 15 ]
วิธีการลำดับแรกอื่นๆ
สามารถใช้ตัวดำเนินการหาค่าความชันที่แตกต่างกันเพื่อประมาณค่าความชันของภาพจากภาพอินพุตหรือภาพที่ปรับให้เรียบแล้ว วิธีที่ง่ายที่สุดคือการใช้ความแตกต่างแบบศูนย์กลาง:
ซึ่งสอดคล้องกับการประยุกต์ใช้มาสก์ตัวกรองต่อไปนี้กับข้อมูลภาพ:
ตัวดำเนินการ Sobelที่รู้จักกันดีและใช้งานกันมาก่อนหน้านี้มีพื้นฐานมาจากตัวกรองดังต่อไปนี้:
เมื่อได้ค่าประมาณของ อนุพันธ์อันดับแรกของ ภาพ แล้ว ขนาดของเกรเดียนต์จะถูกคำนวณดังนี้:
ในขณะที่สามารถประมาณทิศทางการไล่ระดับได้ดังนี้
ตัวดำเนินการความแตกต่างอันดับแรกอื่นๆ สำหรับการประมาณ ค่าเก รเดียนต์ของภาพได้รับการเสนอในตัวดำเนินการ Prewitt , Roberts cross , ตัวดำเนินการ Kayyali [ 16 ]และตัวดำเนินการ Frei–Chen
เป็นไปได้ที่จะขยายขนาดของฟิลเตอร์เพื่อหลีกเลี่ยงปัญหาการแยกแยะขอบในภาพที่มีอัตราส่วนสัญญาณต่อสัญญาณรบกวนต่ำ(SNR ) แต่ข้อเสียคือความละเอียดของภาพจะลดลง ตัวอย่างเช่น ฟิลเตอร์ Extended Prewitt ขนาด 7×7
การกำหนดเกณฑ์และการเชื่อมโยง
เมื่อเราคำนวณค่าความเข้มของขอบ (โดยทั่วไปคือขนาดของเกรเดียนต์) ได้แล้ว ขั้นตอนต่อไปคือการกำหนดค่าเกณฑ์เพื่อตัดสินว่ามีขอบอยู่หรือไม่ ณ จุดใดจุดหนึ่งของภาพ ยิ่งค่าเกณฑ์ต่ำเท่าไร ก็ยิ่งตรวจพบขอบได้มากขึ้นเท่านั้น และผลลัพธ์ก็จะยิ่งไวต่อสัญญาณรบกวนและการตรวจจับขอบของส่วนประกอบที่ไม่เกี่ยวข้องในภาพมากขึ้น ในทางกลับกัน ค่าเกณฑ์สูงอาจพลาดขอบที่ละเอียดอ่อน หรือทำให้ขอบแตกเป็นชิ้นๆ
หากใช้การหาขอบกับภาพที่มีเฉพาะค่าความชัน ขอบที่ได้โดยทั่วไปจะหนา และจำเป็นต้องมีการประมวลผลเพิ่มเติมเพื่อลดความหนาของขอบ อย่างไรก็ตาม สำหรับขอบที่ตรวจพบด้วยวิธีการระงับค่าสูงสุดที่ไม่ใช่ค่าสูงสุด (non-maximum suppression) เส้นโค้งของขอบจะบางโดยนิยาม และพิกเซลของขอบสามารถเชื่อมต่อกันเป็นรูปหลายเหลี่ยมของขอบได้โดยใช้กระบวนการเชื่อมต่อขอบ (การติดตามขอบ) บนตารางแบบไม่ต่อเนื่อง ขั้นตอนการระงับค่าสูงสุดที่ไม่ใช่ค่าสูงสุดสามารถทำได้โดยการประมาณทิศทางของความชันโดยใช้ค่าอนุพันธ์อันดับแรก จากนั้นปัดเศษทิศทางของความชันให้เป็นพหุคูณของ 45 องศา และสุดท้ายเปรียบเทียบค่าความชันในทิศทางของความชันที่ประมาณไว้
วิธีการที่นิยมใช้กันทั่วไปในการแก้ปัญหาการกำหนดค่าเกณฑ์ที่เหมาะสมสำหรับการทำ Thresholding คือการใช้Thresholdingร่วมกับHysteresisวิธีนี้ใช้ค่าเกณฑ์หลายค่าในการค้นหาขอบ เราเริ่มต้นด้วยการใช้ค่าเกณฑ์บนเพื่อหาจุดเริ่มต้นของขอบ เมื่อเราได้จุดเริ่มต้นแล้ว เราจะติดตามเส้นทางของขอบผ่านพิกเซลของภาพทีละพิกเซล โดยจะทำเครื่องหมายขอบเมื่อใดก็ตามที่ค่าสูงกว่าค่าเกณฑ์ล่าง เราจะหยุดทำเครื่องหมายขอบก็ต่อเมื่อค่าลดลงต่ำกว่าค่าเกณฑ์ล่าง วิธีนี้ตั้งสมมติฐานว่าขอบมักจะเป็นเส้นโค้งต่อเนื่อง และช่วยให้เราสามารถติดตามส่วนที่จางๆ ของขอบที่เราเคยเห็นมาก่อนได้ โดยไม่จำเป็นต้องทำเครื่องหมายพิกเซลที่มีสัญญาณรบกวนทุกพิกเซลในภาพว่าเป็นขอบ อย่างไรก็ตาม เรายังคงมีปัญหาในการเลือกพารามิเตอร์ Thresholding ที่เหมาะสม และค่า Thresholding ที่เหมาะสมอาจแตกต่างกันไปในแต่ละส่วนของภาพ
การเชื่อมต่อของความชันโดยไม่ต้องใช้เกณฑ์ขนาด (สูง)
วิธีนี้ค้นหาชุดพิกเซลที่เชื่อมต่อกันซึ่งมี ขนาด อนุพันธ์ทิศทางมากกว่าค่าเกณฑ์ที่ค่อนข้างเล็ก[ 17 ]โดยพิจารณาเฉพาะการมีอยู่ของเกรเดียนต์แทนที่จะเป็นความแรงของเกรเดียนต์ หลังจากใช้ค่าเกณฑ์ที่เล็กมาก (เช่น 5) จะได้ภาพไบนารี จากนั้นจึงใช้การดำเนินการเปิดทางสัณฐานวิทยาและการดำเนินการปิดทางสัณฐานวิทยากับภาพไบนารีเพื่อปิดช่องว่าง จากนั้นจึงใช้การดำเนินการแปลงระยะทางกับภาพไบนารีเพื่อล้างพิกเซลที่อยู่ห่างจากพื้นหลัง ดังนั้นรูปร่างคล้ายก้อนหรือบริเวณที่มีป้ายกำกับผิดพลาดอื่นๆ จะถูกลบออกจากแผนที่ขอบ
การลดความหนาของขอบ
การลดความหนาของขอบเป็นเทคนิคที่ใช้ในการกำจัดจุดที่ไม่ต้องการและผิดปกติบริเวณขอบของภาพ เทคนิคนี้ใช้หลังจากที่ภาพได้รับการกรองสัญญาณรบกวนแล้ว (โดยใช้ตัวกรองค่ามัธยฐาน ตัวกรองเกาส์เซียน ฯลฯ) จากนั้นจึงใช้ตัวดำเนินการตรวจจับขอบ (เช่นที่อธิบายไว้ข้างต้น Canny หรือ Sobel) เพื่อตรวจจับขอบ และหลังจากนั้นจึงทำการปรับขอบให้เรียบโดยใช้ค่าเกณฑ์ที่เหมาะสม วิธีนี้จะกำจัดจุดที่ไม่ต้องการทั้งหมด และหากใช้ด้วยความระมัดระวัง จะทำให้ได้ขอบที่มีความหนาเพียงหนึ่งพิกเซล
ข้อดี:
- ขอบที่คมและบางช่วยเพิ่มประสิทธิภาพในการจดจำวัตถุได้ ดียิ่งขึ้น
- หากใช้การแปลงฮอฟ (Hough transform) ในการตรวจจับเส้นตรงและวงรี การลดความหนาอาจให้ผลลัพธ์ที่ดีกว่ามาก
- หากขอบนั้นเป็นขอบเขตของบริเวณ การทำให้บางลงจะช่วยให้ได้พารามิเตอร์ของภาพ เช่น เส้นรอบวง โดยไม่ต้องใช้พีชคณิตมากนัก
มีอัลกอริธึมยอดนิยมหลายตัวที่ใช้ในการทำเช่นนี้ หนึ่งในนั้นมีรายละเอียดดังต่อไปนี้:
- เลือกประเภทการเชื่อมต่อเช่น 8, 6 หรือ 4
- การเชื่อมต่อแบบ 8เป็นที่นิยม โดยจะพิจารณาพิกเซลทั้งหมดที่อยู่รอบๆ พิกเซลที่กำหนด
- ลบจุดที่อยู่ทางทิศเหนือ ทิศใต้ ทิศตะวันออก และทิศตะวันตกออก
- ทำเช่นนี้ซ้ำหลายรอบ กล่าวคือ หลังจากผ่านรอบทางทิศเหนือแล้ว ให้ใช้ภาพที่ผ่านการประมวลผลบางส่วนเดียวกันในรอบอื่นๆ ต่อไปเรื่อยๆ
- ลบจุดออกหาก: จุดนั้นไม่มีจุดข้างเคียงในทิศเหนือ (หากคุณอยู่ในเส้นทางผ่านทิศเหนือ และทิศทางที่เกี่ยวข้องสำหรับเส้นทางผ่านอื่นๆ) จุดนั้นไม่ใช่จุดสิ้นสุดของเส้น จุดนั้นอยู่โดดเดี่ยวการลบจุดจะไม่ทำให้จุดข้างเคียงถูกตัดการเชื่อมต่อแต่อย่างใด
- มิเช่นนั้น ก็ให้คงประเด็นเอาไว้
จำนวนรอบการวัดในแต่ละทิศทางควรเลือกให้เหมาะสมกับระดับความแม่นยำที่ต้องการ
แนวทางลำดับที่สอง
ตัวดำเนินการตรวจจับขอบบางตัวใช้หลักการอนุพันธ์อันดับสองของความเข้มแสงเป็นพื้นฐาน ซึ่งโดยพื้นฐานแล้วจะจับอัตราการเปลี่ยนแปลงของความชันความเข้มแสง ดังนั้น ในกรณีต่อเนื่องที่สมบูรณ์แบบ การตรวจจับจุดตัดศูนย์ในอนุพันธ์อันดับสองจะจับค่าสูงสุดเฉพาะที่ในความชันได้
ตัวดำเนินการ Marr–Hildrethในยุคแรกนั้นอาศัยการตรวจจับจุดตัดศูนย์ของตัวดำเนินการ Laplacian ที่ใช้กับภาพที่ปรับให้เรียบด้วยฟังก์ชัน Gaussian อย่างไรก็ตาม สามารถแสดงให้เห็นได้ว่าตัวดำเนินการนี้จะให้ขอบปลอมที่สอดคล้องกับค่าต่ำสุดเฉพาะที่ของขนาดความชันด้วย นอกจากนี้ ตัวดำเนินการนี้จะให้การระบุตำแหน่งที่ไม่ดีที่ขอบโค้ง ดังนั้นในปัจจุบัน ตัวดำเนินการนี้จึงมีความสำคัญในเชิงประวัติศาสตร์เป็นหลัก
ความแตกต่าง
วิธีการตรวจจับขอบลำดับที่สองที่ละเอียดกว่า ซึ่งตรวจจับขอบโดยอัตโนมัติด้วยความแม่นยำระดับซับพิกเซล ใช้แนวทางเชิงอนุพันธ์ ต่อไปนี้ ในการตรวจจับจุดตัดศูนย์ของอนุพันธ์เชิงทิศทางลำดับที่สองในทิศทางเกรเดียนต์:
ตามวิธีการทางเรขาคณิตเชิงอนุพันธ์ในการแสดงข้อกำหนดของการระงับค่าสูงสุดที่ไม่ใช่ค่าสูงสุดที่เสนอโดย Lindeberg [ 4 ] [ 18 ]ให้เราแนะนำระบบพิกัดท้องถิ่นที่จุดภาพแต่ละจุดโดยมีทิศทางขนานกับทิศทางของเกรเดียนต์ โดยสมมติว่าภาพได้รับการปรับให้เรียบเบื้องต้นด้วยวิธีการปรับให้เรียบแบบเกาส์เซียนและการแสดงผลในปริภูมิมาตราส่วนแล้วในระดับใหญ่เมื่อคำนวณเสร็จแล้ว เราสามารถกำหนดให้ขนาดของเกรเดียนต์ของการแสดงพื้นที่มาตราส่วนซึ่งเท่ากับอนุพันธ์ทิศทางอันดับแรกใน-ทิศทางควรมีอนุพันธ์ทิศทางอันดับแรกในทิศทางเท่ากับศูนย์
ในขณะที่อนุพันธ์ทิศทางอันดับสองใน-ทิศทางของควรเป็นค่าลบ กล่าวคือ
เขียนออกมาเป็นนิพจน์ที่ชัดเจนในรูปของอนุพันธ์ย่อยเฉพาะที่นิยามของขอบนี้สามารถแสดงได้ในรูปของเส้นโค้งตัดศูนย์ของค่าคงที่เชิงอนุพันธ์
ซึ่งสอดคล้องกับเงื่อนไขเครื่องหมายบนตัวแปรเชิงอนุพันธ์ต่อไปนี้
ที่ไหนหมายถึงอนุพันธ์ย่อยที่คำนวณจากการแสดงแทนในปริภูมิมาตราส่วนได้มาจากการปรับภาพต้นฉบับให้เรียบด้วยเคอร์เนลแบบเกาส์เซียนด้วยวิธีนี้ ขอบจะถูกสร้างขึ้นโดยอัตโนมัติเป็นเส้นโค้งต่อเนื่องที่มีความแม่นยำระดับซับพิกเซล นอกจากนี้ยังสามารถใช้การกำหนดเกณฑ์แบบฮิสเทอรีซิสกับส่วนขอบที่แตกต่างกันและระดับซับพิกเซลเหล่านี้ได้อีกด้วย
ในทางปฏิบัติ การประมาณค่าอนุพันธ์อันดับแรกสามารถคำนวณได้โดยใช้ความแตกต่างแบบศูนย์กลางดังที่ได้อธิบายไว้ข้างต้น ในขณะที่อนุพันธ์อันดับสองสามารถคำนวณได้จากการแสดงแทนในปริภูมิมาตราส่วนตาม:
ซึ่งสอดคล้องกับหน้ากากกรองต่อไปนี้:
อนุพันธ์อันดับสูงกว่าสำหรับเงื่อนไขเครื่องหมายอันดับสามสามารถหาได้ในลักษณะเดียวกัน
อิงตามความสอดคล้องของเฟส
การพัฒนาล่าสุดในเทคนิคการตรวจจับขอบใช้แนวทางโดเมนความถี่ในการค้นหาตำแหน่งขอบ วิธี การความสอดคล้องของเฟส (หรือที่เรียกว่าความสอดคล้องของเฟส) พยายามค้นหาตำแหน่งในภาพที่ไซนูซอยด์ทั้งหมดในโดเมนความถี่อยู่ในเฟสเดียวกัน ตำแหน่งเหล่านี้โดยทั่วไปจะสอดคล้องกับตำแหน่งของขอบที่รับรู้ได้ โดยไม่คำนึงว่าขอบนั้นจะแสดงด้วยการเปลี่ยนแปลงความเข้มขนาดใหญ่ในโดเมนเชิงพื้นที่หรือไม่ ประโยชน์ที่สำคัญของเทคนิคนี้คือตอบสนองได้ดีต่อแถบ Machและหลีกเลี่ยงผลบวกเท็จที่มักพบรอบขอบหลังคาขอบหลังคาคือความไม่ต่อเนื่องในอนุพันธ์อันดับแรกของโปรไฟล์ระดับสีเทา[ 19 ]
การแปลงเฟสแบบยืด (PST)

การแปลงเฟสสเตรทช์หรือPST เป็นวิธีการคำนวณที่ได้รับแรงบันดาลใจจากฟิสิกส์สำหรับการประมวลผลสัญญาณและภาพ หนึ่งในประโยชน์ของมันคือการตรวจจับและจำแนกคุณลักษณะ[ 20 ] [ 21 ] PST เป็นผลสืบเนื่องมาจากการวิจัยเกี่ยวกับการแปลงฟูริเยร์แบบกระจายตัวแบบยืดเวลา PST แปลงภาพโดยจำลองการแพร่กระจายผ่านตัวกลางแบบเลี้ยวเบนที่มีคุณสมบัติการกระจายตัวแบบ 3 มิติที่ออกแบบมา (ดัชนีหักเห) การดำเนินการนี้อาศัยความสมมาตรของโปรไฟล์การกระจายตัวและสามารถเข้าใจได้ในแง่ของฟังก์ชันเฉพาะของการกระจายตัวหรือโหมดการยืด[ 22 ] PST ทำงานคล้ายกับกล้องจุลทรรศน์คอนทราสต์เฟส แต่ใช้กับภาพดิจิทัล PST ยังสามารถใช้ได้กับภาพดิจิทัล รวมถึงข้อมูลเชิงเวลาและอนุกรมเวลาด้วย
ซับพิกเซล
เพื่อเพิ่มความแม่นยำในการตรวจจับขอบ มีการเสนอเทคนิคย่อยพิกเซลหลายวิธี รวมถึงการปรับเส้นโค้ง วิธีการอิงโมเมนต์[ 23 ] [ 24 ]วิธีการสร้างใหม่ และวิธีการผลกระทบพื้นที่บางส่วน[ 25 ]วิธีการเหล่านี้มีลักษณะที่แตกต่างกัน วิธีการปรับเส้นโค้งนั้นง่ายต่อการคำนวณ แต่ได้รับผลกระทบจากสัญญาณรบกวนได้ง่าย วิธีการอิงโมเมนต์ใช้วิธีการอิงอินทิกรัลเพื่อลดผลกระทบของสัญญาณรบกวน แต่ในบางกรณีอาจต้องใช้การคำนวณมากขึ้น วิธีการสร้างใหม่ใช้การไล่ระดับแนวนอนหรือการไล่ระดับแนวตั้งเพื่อสร้างเส้นโค้งและค้นหาจุดสูงสุดของเส้นโค้งเป็นขอบย่อยพิกเซล วิธีการผลกระทบพื้นที่บางส่วนนั้นอิงตามสมมติฐานที่ว่าค่าพิกเซลแต่ละค่าขึ้นอยู่กับพื้นที่ทั้งสองด้านของขอบภายในพิกเซลนั้น ทำให้ได้การประมาณค่าที่แม่นยำสำหรับพิกเซลขอบแต่ละพิกเซล ตัวแปรบางอย่างของเทคนิคอิงโมเมนต์ได้รับการพิสูจน์แล้วว่ามีความแม่นยำที่สุดสำหรับขอบที่แยกเดี่ยว[ 24 ]

เครื่องตรวจจับขอบ Marr-Hildreth
ตัวตรวจจับขอบ Marr-Hildreth [ 26 ]โดดเด่นด้วยการใช้ตัวดำเนินการ Laplacian of Gaussian (LoG) สำหรับการตรวจจับขอบในภาพดิจิทัล แตกต่างจากวิธีการตรวจจับขอบอื่นๆ วิธีการ LoG ผสมผสานการปรับเรียบแบบเกาส์เซียนเข้ากับการดำเนินการอนุพันธ์อันดับสอง ทำให้สามารถลดสัญญาณรบกวนและเพิ่มความคมชัดของขอบได้พร้อมกัน ข้อได้เปรียบที่สำคัญของวิธีนี้อยู่ที่ความสามารถในการตรวจจับขอบในระดับต่างๆ โดยการปรับค่าเบี่ยงเบนมาตรฐานของเคอร์เนลเกาส์เซียน ทำให้สามารถตรวจจับรายละเอียดปลีกย่อยรวมถึงการเปลี่ยนแปลงที่กว้างขึ้นได้ ยิ่งไปกว่านั้น เทคนิคนี้ใช้การตรวจจับจุดตัดศูนย์บนการตอบสนองของ LoG เพื่อระบุตำแหน่งขอบได้อย่างแม่นยำ ทำให้มีความทนทานต่อสัญญาณรบกวนและรักษาความต่อเนื่องของขอบ วิธีการนี้มีประสิทธิภาพเป็นพิเศษสำหรับการตรวจจับขอบที่มีขอบเขตชัดเจนในภาพ ในขณะที่ลดผลบวกเท็จเนื่องจากสัญญาณรบกวน ทำให้เป็นเครื่องมือที่มีค่าในแอปพลิเคชันคอมพิวเตอร์วิชั่นที่การระบุตำแหน่งขอบที่แม่นยำมีความสำคัญ
โค้ดสำหรับการตรวจจับขอบโดยใช้ตัวดำเนินการ Prewitt, Scharr และ Sobel
แหล่งที่มา: [ 27 ]
การตรวจจับขอบโดยใช้ตัวดำเนินการ Prewitt
% โค้ด MATLAB สำหรับ prewitt% การตรวจจับขอบตัวดำเนินการk = imread ( "logo.png" );k = rgb2gray ( k );k1 = double ( k );p_msk = [ - 1 0 1 ; - 1 0 1 ; - 1 0 1 ];kx = conv2 ( k1 , p_msk , 'same' );ky = conv2 ( k1 , p_msk ' , 'same' );ked = sqrt ( kx .^ 2 + ky .^ 2 );แสดงภาพ %imtool ( k ,[]);% แสดงการตรวจจับขอบตามแกน ximtool ( abs ( kx ), []);% แสดงผลการตรวจจับขอบตามแกน yimtool ( abs ( ky ),[]);% แสดงการตรวจจับขอบแบบเต็มรูปแบบimtool ( abs ( ked ),[]);การตรวจจับขอบโดยใช้ตัวดำเนินการ Scharr
% ตัวดำเนินการ Scharr -> การตรวจจับขอบk = imread ( "logo.png" );k = rgb2gray ( k );k1 = double ( k );s_msk = [ - 3 0 3 ; - 10 0 10 ; - 3 0 3 ];kx = conv2 ( k1 , s_msk , 'same' );ky = conv2 ( k1 , s_msk ' , 'same' );ked = sqrt ( kx .^ 2 + ky .^ 2 );แสดงภาพ %imtool ( k ,[]);% แสดงการตรวจจับขอบตามแกน ximtool ( abs ( kx ), []);% แสดงผลการตรวจจับขอบตามแกน yimtool ( abs ( ky ), []);% แสดงการตรวจจับขอบแบบเต็มรูปแบบimtool ( abs ( ked ), []);การตรวจจับขอบโดยใช้ตัวดำเนินการโซเบล
% โค้ด MATLAB สำหรับตัวดำเนินการ Sobel% การตรวจจับขอบk = imread ( "logo.png" );k = rgb2gray ( k );k1 = double ( k );s_msk = [ - 1 0 1 ; - 2 0 2 ; - 1 0 1 ];kx = conv2 ( k1 , s_msk , 'same' );ky = conv2 ( k1 , s_msk ' , 'same' );ked = sqrt ( kx .^ 2 + ky .^ 2 );แสดงภาพ %imtool ( k ,[]);% แสดงการตรวจจับขอบตามแกน ximtool ( abs ( kx ), []);% แสดงผลการตรวจจับขอบตามแกน yimtool ( abs ( ky ), []);% แสดงการตรวจจับขอบแบบเต็มรูปแบบimtool ( abs ( ked ), []);ดูเพิ่มเติม
- การคอนโวลูชัน § การประยุกต์ใช้
- การกรองแบบรักษาขอบ
- การตรวจจับคุณลักษณะ (คอมพิวเตอร์วิชั่น)สำหรับตัวตรวจจับคุณลักษณะระดับต่ำอื่นๆ
- ภาพอนุพันธ์
- ตัวกรองกาบอร์
- การลดสัญญาณรบกวนในภาพ
- ตัวดำเนินการ Kirschสำหรับการตรวจจับขอบในทิศทางเข็มทิศ
- การตรวจจับสันนูนเพื่อหาความสัมพันธ์ระหว่างตัวตรวจจับขอบและตัวตรวจจับสันนูน
- ตัวกรองลอการิทึมกาบอร์
- การแปลงการยืดเฟส
อ่านเพิ่มเติม
- ลินเดเบิร์ก, โทนี่ (2001) [1994], "การตรวจจับขอบ" , สารานุกรมคณิตศาสตร์ , EMS Press
- บทความเกี่ยวกับการตรวจจับขอบในสารานุกรมวิทยาการคอมพิวเตอร์และวิศวกรรมศาสตร์
- การตรวจจับขอบโดยใช้ FPGA
- การตรวจจับส่วนของเส้นตรงแบบ A-contrario ด้วยโค้ดและการสาธิตออนไลน์
- การตรวจจับขอบโดยใช้ MATLAB
- การตรวจจับขอบระดับซับพิกเซลโดยใช้ Matlab เก็บถาวรเมื่อวันที่ 16 ธันวาคม 2021 ที่Wayback Machine
- เครื่องมือและเอฟเฟ็กต์ภาพ - ตรวจจับขอบ
- การตรวจจับขอบสำหรับการประมวลผลภาพ