อ่าน 9 นาที
ผู้ดำเนินการโซเบล
ตัว ดำเนินการ Sobel ซึ่งบางครั้งเรียกว่า ตัวดำเนินการ Sobel–Feldman หรือ ตัวกรอง Sobel ใช้ใน การประมวลผลภาพ และ คอมพิวเตอร์วิชั่น โดยเฉพาะอย่างยิ่งใน อัลกอริธึมการ ตรวจจับขอบ...
ผู้ดำเนินการโซเบล
| การตรวจจับคุณลักษณะ |
|---|
| การตรวจจับขอบ |
| การตรวจจับมุม |
| การตรวจจับวัตถุ |
| การตรวจจับสันเขา |
| ฮัฟ ทรานส์ฟอร์ม |
| เทนเซอร์โครงสร้าง |
| การตรวจจับคุณลักษณะที่ไม่เปลี่ยนแปลงเชิงแอฟฟิน |
| คำอธิบายคุณสมบัติ |
| พื้นที่มาตราส่วน |
ตัวดำเนินการ Sobelซึ่งบางครั้งเรียกว่าตัวดำเนินการ Sobel–Feldmanหรือตัวกรอง Sobelใช้ในการประมวลผลภาพและคอมพิวเตอร์วิชั่นโดยเฉพาะอย่างยิ่งใน อัลกอริธึมการ ตรวจจับขอบซึ่งจะสร้างภาพที่เน้นขอบ ชื่อนี้ตั้งตามชื่อของIrwin Sobelและ Gary M. Feldman เพื่อนร่วมงานที่Stanford Artificial Intelligence Laboratory (SAIL) Sobel และ Feldman นำเสนอแนวคิดของ " ตัวดำเนินการไล่ระดับภาพแบบ ไอโซโทรปิก 3 × 3" ในการบรรยายที่ SAIL ในปี 1968 [ 1 ]ในทางเทคนิคแล้ว มันคือตัวดำเนินการหาอนุพันธ์แบบไม่ต่อเนื่องซึ่งคำนวณค่าประมาณของไล่ระดับของฟังก์ชันความเข้มของภาพ ที่แต่ละจุดในภาพ ผลลัพธ์ของตัวดำเนินการ Sobel–Feldman คือเวกเตอร์ไล่ระดับที่สอดคล้องกันหรือค่าปกติของเวกเตอร์นี้ ตัวดำเนินการ Sobel–Feldman ใช้การคอนโวลูชันภาพกับตัวกรองขนาดเล็กที่แยกได้และมีค่าเป็นจำนวนเต็มในทิศทางแนวนอนและแนวตั้ง ดังนั้นจึงมีต้นทุนการคำนวณค่อนข้างต่ำ ในทางกลับกัน การประมาณค่าความชันที่ได้นั้นค่อนข้างหยาบ โดยเฉพาะอย่างยิ่งสำหรับการเปลี่ยนแปลงความถี่สูงในภาพ
สูตร
ตัวดำเนินการใช้เคอร์เนล 3×3 สองตัวซึ่งถูกคอนโวลูชันกับภาพต้นฉบับเพื่อคำนวณค่าประมาณของอนุพันธ์ – หนึ่งสำหรับการเปลี่ยนแปลงในแนวนอน และอีกหนึ่งสำหรับการเปลี่ยนแปลงในแนวตั้ง หากเรากำหนดAเป็นภาพต้นฉบับ และG xและG yเป็นภาพสองภาพที่แต่ละจุดมีค่าประมาณอนุพันธ์ในแนวนอนและแนวตั้งตามลำดับ การคำนวณจะเป็นดังนี้: [ 1 ]
โดยที่ ในที่นี้ หมายถึง การดำเนินการ คอนโวลูชันของการประมวลผลสัญญาณแบบ 2 มิติ
ในข้อความของเขาที่อธิบายที่มาของตัวดำเนินการ[ 1 ] Sobel แสดงเครื่องหมายที่แตกต่างกันสำหรับเคอร์เนลเหล่านี้ เขากำหนดตัวดำเนินการเป็นมาสก์เพื่อนบ้าน (เช่น เคอร์เนลความสัมพันธ์) และด้วยเหตุนี้จึงสะท้อนจากสิ่งที่อธิบายไว้ที่นี่ว่าเป็นเคอร์เนลการสังเคราะห์ เขายังสมมติว่าแกนแนวตั้งเพิ่มขึ้นขึ้นด้านบนแทนที่จะลงด้านล่างอย่างที่พบได้ทั่วไปในการประมวลผลภาพในปัจจุบัน ดังนั้นเคอร์เนลแนวตั้งจึงถูกพลิกกลับ
เนื่องจากเคอร์เนลของโซเบลสามารถแยกออกเป็นผลคูณของเคอร์เนลการหาค่าเฉลี่ยและเคอร์เนลการหาอนุพันธ์ได้ จึงสามารถคำนวณเกรเดียนต์ด้วยการปรับให้เรียบได้ ตัวอย่างเช่นและสามารถเขียนได้ดังนี้
ในที่นี้ พิกัดxถูกกำหนดให้เพิ่มขึ้นในทิศทาง "ขวา" และ พิกัด yถูกกำหนดให้เพิ่มขึ้นในทิศทาง "ลง" ณ แต่ละจุดในภาพ ค่าประมาณความชันที่ได้สามารถนำมารวมกันเพื่อให้ได้ขนาดของความชัน โดยใช้การบวกแบบพีทาโกเรียน :
เมื่อใช้ข้อมูลนี้ เรายังสามารถคำนวณทิศทางของความชันได้อีกด้วย:
โดยที่ค่าจะเป็น 0 สำหรับขอบแนวตั้งซึ่งมีสีอ่อนกว่าทางด้านขวา ( ดูตัวอย่าง ที่ atan2 )
อย่างเป็นทางการมากขึ้น
เนื่องจากฟังก์ชันความเข้มของภาพดิจิทัลทราบได้เฉพาะที่จุดไม่ต่อเนื่องเท่านั้น อนุพันธ์ของฟังก์ชันนี้จึงไม่สามารถกำหนดได้ เว้นแต่เราจะสมมติว่ามีฟังก์ชันความเข้มที่หาอนุพันธ์ได้ซึ่งถูกสุ่มตัวอย่างที่จุดภาพ ด้วยสมมติฐานเพิ่มเติมบางประการ อนุพันธ์ของฟังก์ชันความเข้มต่อเนื่องสามารถคำนวณได้เป็นฟังก์ชันของฟังก์ชันความเข้มที่สุ่มตัวอย่างแล้ว นั่นคือภาพดิจิทัล ปรากฏว่าอนุพันธ์ที่จุดใดจุดหนึ่งเป็นฟังก์ชันของค่าความเข้มที่จุดภาพเกือบทั้งหมด อย่างไรก็ตาม สามารถกำหนดค่าประมาณของฟังก์ชันอนุพันธ์เหล่านี้ได้ที่ระดับความแม่นยำที่น้อยหรือมากต่างกัน
ตัวดำเนินการ Sobel–Feldman เป็นการประมาณค่าความชันของภาพที่ไม่แม่นยำนัก แต่ก็ยังมีคุณภาพเพียงพอที่จะนำไปใช้ประโยชน์ได้จริงในหลายแอปพลิเคชัน กล่าวคือ มันใช้ค่าความเข้มแสงเฉพาะในบริเวณ 3×3 รอบจุดภาพแต่ละจุดเพื่อประมาณค่าความชันของภาพที่สอดคล้องกัน และใช้เฉพาะค่าจำนวนเต็มสำหรับสัมประสิทธิ์ที่ถ่วงน้ำหนักความเข้มแสงของภาพเพื่อสร้างการประมาณค่าความชัน
การขยายไปสู่มิติอื่นๆ
ตัวดำเนินการ Sobel–Feldman ประกอบด้วยการดำเนินการแยกส่วนสองอย่าง: [ 2 ]
- การปรับให้เรียบในทิศทางตั้งฉากกับทิศทางอนุพันธ์ด้วยตัวกรองรูปสามเหลี่ยม:
- ผลต่างศูนย์กลางอย่างง่ายในทิศทางอนุพันธ์:
ตัวกรอง Sobel–Feldman สำหรับภาพอนุพันธ์ในมิติต่างๆ ด้วย :
1D:
2 มิติ:
2 มิติ:
3 มิติ:
3 มิติ:
4D:
ตัวอย่างเช่น เคอร์เนล Sobel–Feldman 3 มิติในทิศทาง z :
รายละเอียดทางเทคนิค
จากนิยามของมัน ตัวดำเนินการโซเบลสามารถนำไปใช้งานได้ง่ายๆ ทั้งในฮาร์ดแวร์และซอฟต์แวร์: ต้องการเพียงจุดภาพแปดจุดรอบๆ จุดหนึ่งเพื่อคำนวณผลลัพธ์ที่สอดคล้องกัน และใช้เพียงการคำนวณเลขจำนวนเต็มเพื่อคำนวณการประมาณเวกเตอร์เกรเดียนต์ ยิ่งไปกว่านั้น ตัวกรองแบบไม่ต่อเนื่องสองตัวที่อธิบายไว้ข้างต้นนั้นสามารถแยกออกจากกันได้:
และอนุพันธ์ทั้งสองG xและG yจึงสามารถคำนวณได้ดังนี้
ในการใช้งานบางกรณี การคำนวณแบบแยกส่วนนี้อาจมีข้อดี เนื่องจากหมายถึงการคำนวณทางคณิตศาสตร์ที่น้อยลงสำหรับแต่ละจุดภาพ
การใช้การแปลงคอนโวลูชันKกับกลุ่มพิกเซลPสามารถแสดงในรูปรหัสเทียมได้ดังนี้:
โดยที่แทนเมทริกซ์พิกเซลใหม่ที่ได้หลังจากใช้การแปลงคอนโวลูชันKกับPโดย ที่ Pคือเมทริกซ์พิกเซลเดิม
ตัวอย่าง
ผลลัพธ์ของตัวดำเนินการ Sobel–Feldman คือแผนที่ 2 มิติของค่าความชัน ณ แต่ละจุด สามารถประมวลผลและแสดงผลได้ราวกับว่าเป็นภาพ โดยบริเวณที่มีค่าความชันสูง (ซึ่งน่าจะเป็นขอบ) จะปรากฏเป็นเส้นสีขาว ภาพต่อไปนี้แสดงให้เห็นถึงสิ่งนี้ โดยแสดงการคำนวณตัวดำเนินการ Sobel–Feldman บนภาพอย่างง่าย
ภาพด้านล่างแสดงให้เห็นถึงการเปลี่ยนแปลงทิศทางของความลาดชันบนวงกลมสีเทา เมื่อเครื่องหมายของและเหมือนกัน มุมของความลาดชันจะเป็นบวก และจะเป็นลบเมื่อเครื่องหมายต่างกัน ในตัวอย่างด้านล่าง สีแดงและสีเหลืองที่ขอบของวงกลมแสดงถึงมุมบวก และสีน้ำเงินและสีฟ้าแสดงถึงมุมลบ ขอบแนวตั้งด้านซ้ายและด้านขวาของวงกลมมีมุม 0 เนื่องจากไม่มีการเปลี่ยนแปลงของ ในบริเวณนั้นขอบแนวนอนด้านบนและด้านล่างของวงกลมมีมุม − π/2และπ/2 respectively because there is no local change in . The negative angle for top edge signifies the transition is from a bright to dark region, and the positive angle for the bottom edge signifies a transition from a dark to bright region. All other pixels are marked as black due to no local change in either or , and thus the angle is not defined. Since the angle is a function of the ratio of to pixels with small rates of change can still have a large angle response. As a result noise can have a large angle response which is typically undesired. When using gradient angle information for image processing applications effort should be made to remove image noise to reduce this false response.
Alternative operators
The Sobel–Feldman operator, while reducing artifacts associated with a pure central differences operator, does not exhibit a good rotational symmetry (about 1° of error). Scharr looked into optimizing this property by producing kernels optimized for specific given numeric precision (integer, float…) and dimensionalities (1D, 2D, 3D).[3][4] Optimized 3D filter kernels up to a size of 5 x 5 x 5 have been presented there, but the most frequently used, with an error of about 0.2° is:
This factors similarly:
Scharr operators result from an optimization minimizing weighted mean squared angular error in the Fourier domain. This optimization is done under the condition that resulting filters are numerically consistent. Therefore they really are derivative kernels rather than merely keeping symmetry constraints. The optimal 8 bit integer valued 3x3 filter stemming from Scharr's theory is
A similar optimization strategy and resulting filters were also presented by Farid and Simoncelli.[5][6] They also investigate higher-order derivative schemes. In contrast to the work of Scharr, these filters are not enforced to be numerically consistent.
The problem of derivative filter design has been revisited e.g. by Kroon.[7]
Derivative filters based on arbitrary cubic splines were presented by Hast.[8] He showed how first and second order derivatives can be computed correctly using cubic or trigonometric splines by a double filtering approach giving filters of length 7.
Another similar operator that was originally generated from the Sobel operator is the Kayyali operator,[9] a perfect rotational symmetry based convolution filter 3x3.
เคอร์เนลอนุพันธ์ที่ปรับให้เหมาะสมกับการวางแนวจะช่วยลดข้อผิดพลาดในการประมาณค่าอย่างเป็นระบบในการประมาณการไหลของแสง ได้อย่างมาก แผนการขนาดใหญ่ที่มีความแม่นยำสูงขึ้นและตระกูลตัวกรองที่ได้รับการปรับให้เหมาะสมสำหรับการประมาณการไหลของแสงแบบขยายได้ถูกนำเสนอในงานต่อมาโดย Scharr [ 10 ]ชุดตัวกรองอนุพันธ์ลำดับที่สองได้รับการตรวจสอบสำหรับการประมาณการเคลื่อนไหวแบบโปร่งใส[ 11 ]พบว่ายิ่งเคอร์เนลที่ได้มีขนาดใหญ่ขึ้นเท่าใด ก็ยิ่งประมาณตัวกรองอนุพันธ์ของเกาส์เซียนได้ดีขึ้นเท่านั้น
ตัวอย่างการเปรียบเทียบ
ในที่นี้ มีการใช้ตัวดำเนินการหาค่าความชันที่แตกต่างกันสี่แบบเพื่อประมาณขนาดของค่าความชันของภาพทดสอบ
ดูเพิ่มเติม
- การประมวลผลภาพดิจิทัล
- การตรวจจับคุณลักษณะ (คอมพิวเตอร์วิชั่น)
- การสกัดคุณลักษณะ
- ตัวดำเนินการลาปลาสแบบไม่ต่อเนื่อง
- ผู้ดำเนินการพรีวิตต์
ลิงก์ภายนอก
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ผู้ดำเนินการโซเบล
ตัว ดำเนินการ Sobel ซึ่งบางครั้งเรียกว่า ตัวดำเนินการ Sobel–Feldman หรือ ตัวกรอง Sobel ใช้ใน การประมวลผลภาพ และ คอมพิวเตอร์วิชั่น โดยเฉพาะอย่างยิ่งใน อัลกอริธึมการ ตรวจจับขอบ...
สูตร
ตัวดำเนินการใช้เคอร์เนล 3×3 สองตัวซึ่งถูก คอนโวลูชัน กับภาพต้นฉบับเพื่อคำนวณค่าประมาณของ อนุพันธ์ – หนึ่งสำหรับการเปลี่ยนแปลงในแนวนอน และอีกหนึ่งสำหรับการเปลี่ยนแปลงในแนวตั้ง หากเรากำหนด A เป็นภาพต้นฉบับ และ G x และ G y...
อย่างเป็นทางการมากขึ้น
เนื่องจากฟังก์ชันความเข้มของภาพดิจิทัลทราบได้เฉพาะที่จุดไม่ต่อเนื่องเท่านั้น อนุพันธ์ของฟังก์ชันนี้จึงไม่สามารถกำหนดได้ เว้นแต่เราจะสมมติว่ามีฟังก์ชันความเข้มที่หาอนุพันธ์ได้ซึ่งถูกสุ่มตัวอย่างที่จุดภาพ ด้วยสมมติฐานเพิ่มเติมบางประการ...
การขยายไปสู่มิติอื่นๆ
ตัวดำเนินการ Sobel–Feldman ประกอบด้วยการดำเนินการแยกส่วนสองอย่าง: [ 2 ]





