การนำระบบไปใช้ ปัญหาสมัยใหม่ของวิทยาศาสตร์และการศึกษา อัลกอริธึมการประมวลผลภาพล่วงหน้า

ดิจิตอล กำลังประมวลผล สัญญาณ

หัวข้อที่ 17 การประมวลผลภาพ

ไม่มีอะไรที่จินตนาการของมนุษย์กล้าทำ

ติตัส ลูเครติอุส. นักปรัชญาและกวีชาวโรมัน ฉันศตวรรษ พ.ศ จ.

จินตนาการเป็นสิ่งที่ดี แต่ต้องดึงคนจรจัดออกจากห้องใต้ดิน ล้างมัน แปลงร่างเป็นอพอลโล แพ็คใส่กล่องไม้ขีด แล้วส่งให้เพื่อน อีเมลดี โปรแกรมกราฟิกจะทำได้ดีขึ้น

Anatoly Pyshmintsev นักธรณีฟิสิกส์แห่งโนโวซีบีร์สค์แห่งโรงเรียนอูราล ศตวรรษที่ XX

การแนะนำ.

1. แนวคิดพื้นฐาน การแสดงกราฟิกภาพ การแสดงสีในคอมพิวเตอร์กราฟิกส์ รุ่นสี RGB ระบบสี CIE XYZ

2. การแปลงทางเรขาคณิต ภาพแรสเตอร์- พื้นที่และขั้นตอนของการเปลี่ยนแปลง การสุ่มตัวอย่าง อนุกรมการประมาณค่าสำหรับการสร้างสัญญาณสองมิติขึ้นใหม่ การบิดเบือนความถี่ของภาพและการกำจัดภาพ การสุ่มตัวอย่างภาพอีกครั้ง

3. การกรองรูปภาพ ตัวกรองเชิงเส้น ตัวกรองต่อต้านนามแฝง ตัวกรองการเพิ่มความคมชัด ตัวกรองความแตกต่าง การบิดเป็นวงกลมสองมิติ ตัวกรองแบบไม่เชิงเส้น การกรองเกณฑ์ การกรองค่ามัธยฐาน ฟิลเตอร์สุดขีด

4. การบีบอัดภาพ อัลกอริธึมการเข้ารหัสความยาวซ้ำ (RLE) อัลกอริธึมพจนานุกรม อัลกอริธึมการเข้ารหัสเชิงสถิติ การบีบอัดภาพที่สูญเสียไป การประมาณการสูญเสียในภาพ การแปลงฟูริเยร์ การแปลงเวฟเล็ต

การแนะนำ

ขอบเขตการวิจัยด้านการถ่ายภาพดิจิทัลมีการเติบโตอย่างรวดเร็ว สิ่งนี้ถูกกำหนดโดยข้อเท็จจริงที่ว่าการประมวลผลภาพคือการประมวลผลสัญญาณหลายมิติ และสัญญาณส่วนใหญ่ในโลกแห่งความเป็นจริงนั้นเป็นหลายมิติ


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

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

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

17.1. แนวคิดพื้นฐาน

การแสดงภาพกราฟิก สำหรับการนำเสนอ ข้อมูลกราฟิกบนระนาบสองมิติ (หน้าจอมอนิเตอร์) มีการใช้สองวิธี: แรสเตอร์และเวกเตอร์

ด้วยวิธีเวกเตอร์ ข้อมูลกราฟิกจะถูกอธิบายว่าเป็นชุดของวัตถุเรขาคณิตเชิงนามธรรม เช่น เส้นตรง ส่วนโค้ง สี่เหลี่ยม ฯลฯ คำอธิบายเวกเตอร์จะถือว่าความรู้เบื้องต้นเกี่ยวกับโครงสร้างของภาพ

กราฟิกแรสเตอร์ทำงานกับรูปภาพที่กำหนดเองในรูปแบบของแรสเตอร์ แรสเตอร์คือคำอธิบายของรูปภาพบนระนาบโดยการแบ่ง (สุ่มตัวอย่าง) รูปภาพนั้นออกเป็นองค์ประกอบที่เหมือนกันบนตารางปกติ และกำหนดสีของตัวเองและคุณลักษณะอื่นๆ ให้กับแต่ละองค์ประกอบ แรสเตอร์ที่ง่ายที่สุดคือสี่เหลี่ยมซึ่งประหยัดที่สุดในแง่ของจำนวนตัวอย่างสำหรับการส่งภาพคือหกเหลี่ยม จากมุมมองทางคณิตศาสตร์ แรสเตอร์เป็นการประมาณค่าคงที่ทีละชิ้นบนระนาบของฟังก์ชันภาพต่อเนื่อง

องค์ประกอบแรสเตอร์เรียกว่าพิกเซล การระบุพิกเซลมาตรฐาน:


ฉ(i, j) = (A(i, j),C(i, j)), (17.1.1)

โดยที่ A(i, j) Ì R2 คือพื้นที่พิกเซล C(i, j) Î C คือคุณลักษณะพิกเซล (โดยปกติจะเป็นสี) มีแอตทริบิวต์สองประเภทที่ใช้บ่อยที่สุด:

C(i, j) = I(i, j) - ความเข้มของพิกเซล (ความสว่าง);

C(i, j) = (R(i, j), G(i, j), B(i, j)) - คุณลักษณะสีในรูปแบบสี RGB

ในรูปแบบเมทริกซ์:

มิจ = (ไอจ, ซีจ)

เมื่อแยกภาพต่อเนื่องกัน ค่าของ Aij สามารถกำหนดได้สองวิธี ไม่ว่าจะเป็นค่าของจุด Aij = (i, j) ซึ่งกำหนดคุณลักษณะของ Cij หรือเป็นค่าของ สี่เหลี่ยม Aij = (i, i+1) × (j, j+1) หรือรูปทรงอื่น ๆ โดย Cij ถูกกำหนดโดยค่าเฉลี่ยภายในรูปทรงนี้ (รูปที่ 17.1.1)

ในทางปฏิบัติ ตามกฎแล้ว X และ Y เป็นชุดจำนวนเต็มที่ไม่เป็นลบของแรสเตอร์สี่เหลี่ยมจัตุรัสหรือสี่เหลี่ยมที่มีอัตราส่วนกว้างยาว (อัตราส่วนกว้างยาว) ของความกว้างแรสเตอร์ต่อความสูง ซึ่งเขียนในรูปแบบ เช่น " 4:3".

การแสดงสีในคอมพิวเตอร์กราฟิกส์ แนวคิดเรื่องสีขึ้นอยู่กับการรับรู้ด้วยตาของมนุษย์เกี่ยวกับคลื่นแม่เหล็กไฟฟ้า บางช่วงความถี่ แสงกลางวันที่เรารับรู้มีความยาวคลื่น γ ตั้งแต่ 400 นาโนเมตร (สีม่วง) ถึง 700 นาโนเมตร (สีแดง) ฟลักซ์การส่องสว่างสามารถอธิบายได้ด้วยฟังก์ชันสเปกตรัม I(γ) แสงเรียกว่าเอกรงค์เดียวถ้าสเปกตรัมมีความยาวคลื่นเฉพาะเพียงช่วงเดียว

ตัวรับบนเรตินาของดวงตามีสองประเภท: เซลล์รูปแท่งและเซลล์รูปกรวย ความไวสเปกตรัมของแท่ง (รูปที่ 17.1.2) เป็นสัดส่วนโดยตรงกับความสว่างของแสงที่ตกกระทบ โคนแบ่งออกเป็นสามประเภท ซึ่งแต่ละประเภทมีความไวในช่วงที่จำกัด โดยมีสูงสุดเป็นสีแดง เขียว และน้ำเงิน และจะสูญเสียความไวอย่างรวดเร็วในความมืด ความไวของดวงตาต่อสีน้ำเงินนั้นต่ำกว่าอีกสองคนมาก คุณสมบัติที่สำคัญของการรับรู้แสงของมนุษย์คือความเป็นเส้นตรงเมื่อเพิ่มสีที่มีความยาวคลื่นต่างกัน

รุ่นสี RGB (แดง, เขียว, น้ำเงิน - แดง, เขียว, น้ำเงิน) ในคอมพิวเตอร์กราฟิกส์เป็นเรื่องธรรมดาที่สุดในปัจจุบัน ในแบบจำลองนี้ ฟังก์ชันสเปกตรัมจะแสดงเป็นผลรวมของเส้นโค้งความไวสำหรับกรวยแต่ละประเภทที่มีค่าสัมประสิทธิ์การถ่วงน้ำหนักที่ไม่เป็นลบ (ทำให้เป็นมาตรฐานตั้งแต่ 0 ถึง 1) ซึ่งกำหนดเป็น R, G และ B แบบจำลองนี้มีลักษณะเฉพาะด้วยคุณสมบัติ ของการเติมแต่งเพื่อให้ได้สีใหม่ ตัวอย่างเช่น การเข้ารหัสฟังก์ชันสเปกตรัม:

สีดำ: fblack = 0, (R, G, B) = (0,0,0);

สีม่วง fviolet = fred + fblue, (R, G, B) = (1,0,1);

สีขาว fสีขาว = fred + fgreen + fblue, (R, G, B) = (1,1,1)

พื้นที่สีสามมิติของโมเดล RGB แสดงในรูปที่ 1 17.1.3. เนื่องจากลักษณะเฉพาะของการรับรู้แสงโดยตัวรับ จึงไม่สามารถแสดงสีทั้งหมดที่มนุษย์มองเห็นได้ในแบบจำลองนี้ อย่างไรก็ตาม สัดส่วนของสีที่สร้างขึ้นใหม่นั้นมีมากกว่าสัดส่วนที่ไม่ได้แสดงในโมเดลนี้อย่างมาก

ระบบสี CIE XYZ มาตรฐานการแสดงสีสากล CIE (CIE - Commission Internationale de l'Eclairage) ถูกนำมาใช้ในปี 1931 โดยคณะกรรมาธิการระหว่างประเทศว่าด้วยความสว่าง ความยาวคลื่น การรวมกันเชิงเส้นซึ่งมีค่าสัมประสิทธิ์ที่ไม่เป็นลบ (X, Y และ Z) ช่วยให้เราได้สีทั้งหมดที่มนุษย์มองเห็นได้ ฟังก์ชันเหล่านี้คำนึงถึงการรับรู้สัมพัทธ์ของความเข้มของแสงโดยตัวรับสายตา ในพื้นที่สามมิติ ระบบสี CIE ก่อตัวเป็นรูปกรวยในจตุภาคแรกและใช้สำหรับการแสดงภาพสีคุณภาพสูง

17.2. การแปลงทางเรขาคณิตของภาพแรสเตอร์

พื้นที่และขั้นตอนของการเปลี่ยนแปลง รูปภาพสามารถแบ่งออกเป็นพื้นผิวและรายละเอียดได้ ในภาพพื้นผิว ตัวอย่าง (องค์ประกอบ) ทั้งหมดจะมีข้อมูล (ภาพบนหน้าจอทีวี) รูปภาพที่มีรายละเอียดคือรูปภาพที่สามารถระบุวัตถุที่รบกวน พื้นหลัง และวัตถุที่มีประโยชน์ได้

อัลกอริธึมการประมวลผลภาพบนคอมพิวเตอร์มีสามกลุ่มหลัก:

1. การประมวลผลภาพหลัก (เบื้องต้น) เพื่อวัตถุประสงค์ในการฟื้นฟู ทำความสะอาดจากสัญญาณรบกวนแบบสุ่ม ปรับปรุงคุณภาพ แก้ไขความผิดเพี้ยนทางเรขาคณิต ระบบแสง(พร่ามัว ความคลาดเคลื่อน ฯลฯ)

2. คำอธิบายรูปภาพ การจดจำรูปแบบ ดำเนินการเพื่อกำหนดพารามิเตอร์ของรายละเอียดภาพ และรวมถึง: การค้นหาพื้นที่ของภาพที่สม่ำเสมอในระดับความสว่างและสี การระบุคุณสมบัติของรูปร่างของภาพ การกำหนดพิกัดของจุดพิเศษของวัตถุ ฯลฯ

3. การเข้ารหัสที่มีประสิทธิภาพเพื่อลดปริมาณการส่งและการจัดเก็บ

วิธีการประมวลผลล่วงหน้าส่วนใหญ่ขึ้นอยู่กับการใช้ตัวกรองที่ไม่แปรเปลี่ยนเชิงพื้นที่เชิงเส้น (SPI) อัลกอริธึมเชิงเส้นดำเนินการโดยใช้อะนาล็อกสองมิติของตัวกรอง FIR และ IIR หนึ่งมิติ เช่น สามารถใช้ฟิลเตอร์เพื่อลดจุดรบกวนในภาพได้

ตัวกรอง FIR ถูกนำมาใช้โดยใช้วิธีการบิด ข้อดีของตัวกรอง 2D FIR คือความชัดเจน ความเรียบง่าย และความทนทานที่สมบูรณ์ ตัวกรอง IIR ถูกนำมาใช้โดยใช้สมการผลต่างและการแปลงค่า z เร็วกว่าตัวกรอง FIR แต่อาจไม่เสถียร การสังเคราะห์ตัวกรอง IIR สองมิติแตกต่างจากการสังเคราะห์ตัวกรองหนึ่งมิติเนื่องจากสำหรับฟังก์ชันสองมิตินั้นไม่สามารถระบุขั้วได้อย่างชัดเจน

อาจจำเป็นต้องใช้วิธีการไม่เชิงเส้นเพื่อคืนค่ารูปภาพและปรับปรุงคุณภาพ ตัวอย่างเช่น เพื่อที่จะระงับสัญญาณรบกวนและในขณะเดียวกันก็รักษาส่วนรูปร่างของภาพไว้ จำเป็นต้องใช้ตัวกรองแบบไม่แปรผันเชิงพื้นที่แบบไม่เชิงเส้น (SPNI) แบบไม่เชิงเส้นหรือเชิงเส้น ซึ่งใช้งานโดยอัลกอริธึมการจัดอันดับ ตัวกรองแบบไม่เชิงเส้นอันดับทั้งหมดจะขึ้นอยู่กับอัลกอริธึมที่รวดเร็วสำหรับการคำนวณฮิสโตแกรมในเครื่อง

วิธีหนึ่งคือการกรองค่ามัธยฐาน การใช้ตัวกรองค่ามัธยฐานมีประสิทธิผลในการลดเสียงรบกวนบางประเภทและการรบกวนเป็นระยะโดยไม่บิดเบือนสัญญาณไปพร้อมๆ กัน เช่น ในการระงับการระเบิดของเสียงรบกวน รวมถึงเส้นที่ตก วิธีการนี้ยังสามารถใช้เพื่อแก้ปัญหาที่เกี่ยวข้องกับการจดจำได้ เช่น เพื่อระบุเส้นบางๆ และวัตถุขนาดเล็กที่แยกออกจากกัน

อัลกอริธึมสำหรับคำอธิบายรูปภาพและการจดจำรูปแบบมักจะไม่เชิงเส้นและมีลักษณะเป็นฮิวริสติก คุณสมบัติของวัตถุ มักจะได้แก่ พื้นที่ของภาพของวัตถุ, เส้นรอบวงของรูปร่างของภาพ และอัตราส่วนของพื้นที่ต่อกำลังสองของเส้นรอบวงของภาพ รูปร่างของวัตถุสามารถกำหนดลักษณะได้ด้วยรัศมีของวงกลมที่จารึกไว้ในภาพหรืออธิบายรอบๆ รูปภาพของวัตถุ ความยาวของเวกเตอร์รัศมีต่ำสุดและสูงสุดจาก "จุดศูนย์กลางมวล" ของภาพ

การสุ่มตัวอย่าง การแปลงภาพในคอมพิวเตอร์และการจัดเก็บข้อมูลที่ประมวลผลจะดำเนินการในรูปแบบที่ไม่ต่อเนื่อง การสุ่มตัวอย่างใช้เพื่อให้ได้การแสดงภาพแยกจากภาพอะนาล็อกต่อเนื่องในโลกแห่งความเป็นจริง ในทางปฏิบัติจะดำเนินการโดยอุปกรณ์อินพุต (กล้องดิจิตอล สแกนเนอร์ หรืออื่นๆ) สำหรับการรับรู้ภาพของภาพที่ประมวลผลบนอุปกรณ์เอาท์พุต (จอแสดงผล พล็อตเตอร์ ฯลฯ) ภาพอะนาล็อกจะถูกสร้างขึ้นใหม่จากการนำเสนอตัวอย่าง

ในกรณีที่ง่ายที่สุดของภาพขาวดำที่เรามี อาร์เรย์สองมิติสา(x, y). สำหรับภาพสีในโมเดล RGB เมื่อคำนึงถึงคุณสมบัติของการเพิ่มสีเมื่อเพิ่มสี แต่ละเลเยอร์ R, G และ B ก็สามารถพิจารณาและประมวลผลเป็นอาร์เรย์สองมิติได้ ด้วยการรวมผลลัพธ์ที่ตามมา

วิธีสรุปการแยกส่วนเป็นระยะแบบหนึ่งมิติกับกรณีแบบสองมิติ วิธีที่ง่ายที่สุดคือการแยกส่วนแบบเป็นระยะในพิกัดสี่เหลี่ยม:

s(n, m) = sa(nDx, mDy)

โดยที่ Dx และ Dy คือช่วงการสุ่มตัวอย่างแนวนอนและแนวตั้งของสัญญาณต่อเนื่องสองมิติ sa(x, y) ที่มีพิกัดต่อเนื่อง x และ y ด้านล่างค่าของ Dx และ Dy เช่นเดียวกับในกรณีมิติเดียวจะเท่ากับ 1

การสุ่มตัวอย่างสัญญาณสองมิติยังนำไปสู่การแบ่งช่วงสเปกตรัมและในทางกลับกัน เงื่อนไขของความเท่าเทียมกันทางข้อมูลของการแสดงพิกัดและความถี่ของสัญญาณแยกจะถูกรักษาไว้ด้วยจำนวนจุดสุ่มตัวอย่างที่เท่ากันในช่วงหลักของสัญญาณ สำหรับการสุ่มตัวอย่างแบบสี่เหลี่ยม การแปลงฟูริเยร์ไปข้างหน้าและผกผันจะได้รับจาก:

S(k, l) =s(n, m) ประสบการณ์(-jn2pk/N-jm2pl/M), (17.2.1)

S(k, l) =exp(-jn2pk/N) s(n, m) exp(-jm2pl/M), (17.2.1")

s(n, m) =S(k, l) ประสบการณ์(-jn2pk/N-jm2pl/M) (17.2.2)

s(n, m) =ประสบการณ์(-jn2pk/N) S(k, l) ประสบการณ์(-jm2pl/M) (17.2.2")

ข้าว. 17.2.1. การกำหนดช่วงเวลาของสเปกตรัม

นิพจน์เหล่านี้แสดงให้เห็นว่า DFT สองมิติจากแรสเตอร์การสุ่มตัวอย่างข้อมูลรูปสี่เหลี่ยมผืนผ้าสามารถคำนวณได้โดยใช้ DFT ตามลำดับหนึ่งมิติ ผลรวมที่สองของนิพจน์ (17.2.1") และ (17.2.2") คือ DFT หนึ่งมิติของส่วนของฟังก์ชัน s(n, m) และ S(k, l) ตามเส้น n และ k ตามลำดับ และ อันแรกคือ DFT หนึ่งมิติของฟังก์ชันคำนวณในส่วนต่างๆ ตาม m และ l กล่าวอีกนัยหนึ่ง เมทริกซ์แหล่งที่มาค่าของ s(n, m) และ S(k, l) จะถูกคำนวณใหม่เป็นเมทริกซ์ระดับกลางโดยมี DFT ในแถว (หรือในคอลัมน์) และเมทริกซ์ระดับกลางเป็นเมทริกซ์สุดท้ายที่มี DFT ในคอลัมน์ (หรือตามลำดับในแถว) ).

เพื่อให้สเปกตรัมเกิดซ้ำเป็นระยะ (รูปที่ 17.2.1) ที่เกิดจากการสุ่มตัวอย่าง สัญญาณอะนาล็อกโดยที่ความถี่ Fx=1/Dx และ Fy=1/Dy จะไม่เปลี่ยนสเปกตรัมในช่วงความถี่หลัก (สัมพันธ์กับสเปกตรัมของสัญญาณอะนาล็อกดั้งเดิม) จำเป็นและเพียงพอที่ส่วนประกอบความถี่สูงสุด fmax ในสเปกตรัม ของสัญญาณแอนะล็อกทั้งในเส้นและตามคอลัมน์ต้องไม่เกินความถี่ Nyquist (fmax. x £ fN = Fx/2, fmax.y £ fM = Fy/2) ซึ่งหมายความว่าอัตราการสุ่มตัวอย่างสัญญาณจะต้องมีอย่างน้อยสองเท่าขององค์ประกอบความถี่สูงสุดในสเปกตรัมสัญญาณ:

Fx ³ 2fสูงสุด x, ปีงบประมาณ ³ 2fสูงสุด ใช่ (17.2.3)

ซึ่งทำให้มั่นใจได้ว่าฟังก์ชันสเปกตรัมจะมีค่าเป็นศูนย์ที่ส่วนท้ายของช่วงสเปกตรัมหลัก

อนุกรมการประมาณค่าสำหรับการสร้างสัญญาณสองมิติขึ้นใหม่ หากสัญญาณต่อเนื่อง sa(x, y) เป็นสัญญาณที่มีสเปกตรัมจำกัด และเลือกช่วงการสุ่มตัวอย่างน้อยพอที่จะทำให้สเปกตรัมของช่วงที่อยู่ติดกันไม่ทับซ้อนกัน:

Sa(Wx, Wy) = 0 สำหรับ |Wx|p/Dx, |Wy|p/Dx,

เช่นเดียวกับในกรณีมิติเดียว สัญญาณ sa(x, y) สามารถเรียกคืนได้จากสัญญาณแยกโดยใช้อะนาล็อกสองมิติของซีรีส์ Kotelnikov-Shannon:

sa(x, y) = Sn Sm s(n, m) . (17.2.4)

การบิดเบือนความถี่ของภาพและการกำจัดภาพ สัญญาณที่มีสเปกตรัมไม่จำกัดก็สามารถสุ่มตัวอย่างได้เช่นกัน แต่ในกรณีนี้จะมีนามแฝงของสเปกตรัมในช่วงเวลาที่อยู่ติดกัน และ ความถี่สูงความถี่ Nyquist ที่สูงกว่าจะถูก "ปกปิด" เช่นเดียวกับในกรณีมิติเดียวภายใต้ ความถี่ต่ำช่วงเวลาหลัก ผลกระทบของ "การสะท้อน" จากขอบเขตของช่วงเวลาทำให้ภาพที่ซับซ้อนยิ่งขึ้นเนื่องจากการรบกวนของความถี่ที่สะท้อนตามพิกัดที่แตกต่างกัน เอฟเฟกต์ที่คล้ายกันซึ่งเรียกว่านามแฝงจะถูกสังเกตเช่นกันเมื่ออัตราการสุ่มตัวอย่างภาพไม่เพียงพอ ผลกระทบนี้สามารถสังเกตได้อย่างชัดเจนโดยเฉพาะอย่างยิ่งเมื่อมีการเปลี่ยนแปลงความสว่างที่ตัดกันอย่างคมชัด

เพื่อต่อสู้กับปรากฏการณ์ดังกล่าว มีการใช้การกรองล่วงหน้า (การลดรอยหยัก) - การบิดเบื้องต้นของภาพแอนะล็อกด้วยฟังก์ชันฟิลเตอร์ถ่วงน้ำหนักที่ตัดส่วนประกอบความถี่สูงที่อาจนำไปสู่การใช้นามแฝง ในกรณีสองมิติ การกรองจะอธิบายดังนี้:

z(x, y) = h(x", y") 33 s(x-x", y-y") (17.2.5)

ควรสังเกตว่าภาพแอนะล็อกมีอยู่เฉพาะในช่วงแสงเท่านั้น เช่น ในรูปแบบของการแสดงแสงบนหน้าจอ กระดาษภาพถ่าย หรือฟิล์ม แต่ไม่มีอยู่ในหน่วยความจำคอมพิวเตอร์ ดังนั้น การใช้งานการกรองล่วงหน้าทางกายภาพจะเป็นไปได้ก็ต่อเมื่อลงทะเบียนรูปภาพโดยการเบลอโฟกัส ซึ่งตามกฎแล้วจะไม่ได้ใช้ ข้อมูลหลักควรได้รับการบันทึกด้วยความครบถ้วนและถูกต้องสูงสุดเสมอ และการล้างข้อมูลหลักจากรายละเอียดที่ไม่จำเป็นและความซ้ำซ้อนเป็นเรื่องของการประมวลผลข้อมูลในภายหลัง ดังนั้น ในความสัมพันธ์กับสมการ 17.2.5 การกรองล่วงหน้าแบบสองมิติในการใช้งานจริงสามารถแสดงได้เฉพาะการกรองรูปภาพตัวอย่างที่มีระยะขอบขนาดใหญ่ในช่วงความถี่หลัก (ที่มีความละเอียดมากเกินไป) และถูกใช้ตามกฎ เมื่อทำการสุ่มตัวอย่างใหม่เป็นขั้นตอนที่ใหญ่ขึ้น เช่น เมื่อบีบอัดรูปภาพ การกรองล่วงหน้าสามารถสร้างไว้ในอัลกอริธึมการสร้างภาพได้

ในรูป 17.2.3 และต่ำกว่า ตารางที่ 17.2.1 แสดงตัวอย่างของตัวกรองหนึ่งมิติที่พบบ่อยที่สุดสำหรับการต่อต้านนามแฝง นอกจากนี้ยังสามารถนำมาใช้ในรูปแบบของฟิลเตอร์แอนะล็อกและใช้เช่นเมื่อส่งเส้นภาพโทรทัศน์ในรูปแบบแอนะล็อกผ่านช่องสัญญาณวิทยุ (การลดรอยหยักในแนวนอน) โดยหลักการแล้ว การดำเนินการที่คล้ายกันสามารถทำได้ในคอลัมน์ (ภาพซ้อน) และหลังจากรวมภาพแล้ว จะดำเนินการป้องกันนามแฝงโดยสมบูรณ์ แต่วิธีนี้เป็นของสาขาการวิจัยทางวิทยาศาสตร์พิเศษมากกว่า

ตารางที่ 17.2.1.

ฟังก์ชั่นน้ำหนักพื้นฐาน

หน้าต่างเวลา

ฟังก์ชั่นน้ำหนัก

ภาพฟูริเยร์

ธรรมชาติ (พี)

P(t) = 1, |t|£t; П(t) = 0, |t|>t

П(w) = 2t ตั้งแต่

บาร์ตเล็ต (D)

B(w) = t sinc2(wt/2)

เฮนนิงก้า, กานนา

พี(ที) = 0.5

0.5P(w)+0.25P(w+p/t)+0.25P(w-p/t)

ริมผ้า

p(t) = 0.54+0.46 cos(pt/t)

0.54P(w)+0.23P(w+p/t)+0.23P(w-p/t)

คาร์เร (หน้าต่างที่ 2)

p(t) = b(t) บาป(pt/t)

t·B(w)*П(w), П(w) = 1 สำหรับ |w|

ลาปลาซ-เกาส์เซียน

พี(ที) = ประสบการณ์[-b2(t/t)2/2]

[(t/b) ประสบการณ์(-t2w2/(2b2))] 3 П(w)

อะนาล็อกสองมิติของฟิลเตอร์หนึ่งมิติ f1(x) ถูกสร้างขึ้นในสองตัวเลือกสมมาตร: หรือเป็นฟังก์ชันของรัศมี:

f2(x, y) = f1(),

หรือเป็นงาน:

f2(x, y) = f1(x) × f1(y)

ตัวเลือกแรกถูกต้องมากกว่า แต่ตัวเลือกที่สองมีคุณสมบัติการแยกกัน กล่าวคือ การบิดแบบสองมิติสามารถทำได้โดยการบิดแบบหนึ่งมิติสองครั้งตามลำดับตามแถวที่มี f1(x) และตามคอลัมน์ที่มี f1(y)

การสุ่มตัวอย่างรูปภาพ หรือการสุ่มตัวอย่างใหม่คือการเปลี่ยนแปลงความถี่ในการสุ่มตัวอย่างสัญญาณดิจิทัล เมื่อนำไปใช้กับภาพดิจิทัล นี่หมายถึงการปรับขนาดภาพ

มีอัลกอริธึมการสุ่มตัวอย่างภาพที่หลากหลาย ตัวอย่างเช่น หากต้องการขยายภาพ 2 เท่าโดยใช้วิธีแก้ไขแบบไบลิเนียร์ คอลัมน์และแถวระดับกลางจะได้มาจากการแก้ไขเชิงเส้นของค่าของคอลัมน์และแถวที่อยู่ติดกัน แต่ละจุดของรูปภาพใหม่สามารถรับได้เป็นผลรวมแบบถ่วงน้ำหนักของจุดจำนวนมากขึ้นในภาพต้นฉบับ (bicubic และการแก้ไขประเภทอื่นๆ) การสุ่มตัวอย่างคุณภาพสูงสุดจะเกิดขึ้นได้เมื่อใช้อัลกอริธึมที่ไม่เพียงคำนึงถึงโดเมนเวลาเท่านั้น แต่ยังรวมถึงโดเมนความถี่ของสัญญาณด้วย

ลองพิจารณาอัลกอริธึมการสุ่มตัวอย่างใหม่โดยรักษาข้อมูลความถี่ของภาพไว้สูงสุด เราจะพิจารณาการทำงานของอัลกอริธึมกับสัญญาณแบบมิติเดียว เนื่องจากภาพสองมิติสามารถขยายหรือบีบอัดในแนวนอน (ตามแถว) ก่อนแล้วจึงตามแนวตั้ง (ตามคอลัมน์) และลดการสุ่มตัวอย่างใหม่ของภาพสองมิติเป็นการสุ่มตัวอย่างใหม่ ของสัญญาณมิติเดียว

สมมติว่าเรามีสัญญาณมิติเดียว (รูปที่ 17.2.4) ที่ระบุในช่วง 0-T และสุ่มตัวอย่างด้วยขั้นตอน Dt=1 (ช่วง N) จำเป็นต้อง "ยืด" สัญญาณ m ครั้ง สเปกตรัมสัญญาณที่แสดงในภาพคำนวณโดยการแปลงฟูเรียร์แบบเร็ว (FFT จำนวนตัวอย่างสเปกตรัมเท่ากับจำนวนตัวอย่างสัญญาณ) และกำหนดไว้ในช่วง FFT หลัก (0-2p, ความถี่ Nyquist wN = p/Dt = p หรือ 0.5N ตามจำนวนตัวอย่างสเปกตรัมโดยมีขั้นตามสเปกตรัม Df = 1/T หรือ Dw = 2p/T) การยืดกล้ามเนื้อมี 2 ขั้นตอน

ขั้นตอนแรกคือการประมาณค่าเป็นศูนย์ ซึ่งจะเพิ่มความยาวของสัญญาณเป็น m เท่า (รูปที่ 17.2.5) คุณต้องคูณตัวอย่างทั้งหมดของสัญญาณต้นฉบับด้วย m จากนั้นใส่ค่าศูนย์ m-1 หลังตัวอย่างสัญญาณแต่ละตัวอย่าง ช่วง 0-T ซึ่งค่ายังคงไม่เปลี่ยนแปลง ขณะนี้มีช่วงการสุ่มตัวอย่างเพิ่มขึ้น m-times (mN) และขั้นตอนการสุ่มตัวอย่างใหม่จะเท่ากับ Dx=Dt/m ดังนั้น ความถี่ Nyquist ใหม่สำหรับสัญญาณนี้คือ mp/Dt = mp แต่ค่าทางกายภาพของขั้นตอนสเปกตรัมในหน่วยความถี่คือค่าผกผันของค่าทางกายภาพของช่วงการตั้งค่าสัญญาณ (Df = 1/T) ดังนั้น FFT จากจุด mN ของสัญญาณจะคำนวณจุดสเปกตรัม mN ใน ช่วง FFT หลัก 0-14.00 น. โดยมีขั้นสเปกตรัมของสัญญาณดั้งเดิม ซึ่งจะมีช่วง m ของสเปกตรัมของสัญญาณดั้งเดิม (ด้านหลักหนึ่งด้านและด้าน m-1)

ขั้นตอนที่สองคือการกรองแถบด้านข้างของสเปกตรัมออกโดยใช้ตัวกรองความถี่ต่ำผ่านในช่วงเวลาหรือโดเมนสเปกตรัม ในรูป 17.2.6 สเปกตรัมถูกเคลียร์และทำการแปลงฟูริเยร์ผกผัน ส่งผลให้สัญญาณยาวกว่าสัญญาณดั้งเดิมเป็น m เท่า โดยยังคงรักษาข้อมูลความถี่ทั้งหมดไว้อย่างสมบูรณ์

การใช้หลักการที่คล้ายกัน สามารถสร้างอัลกอริธึมสำหรับการบีบอัด (ลดขนาด) สัญญาณได้ n ครั้ง โดยลำดับของขั้นตอนจะกลับกัน เมื่อบีบอัดสัญญาณ ขั้นตอนการสุ่มตัวอย่างสัญญาณจะเพิ่มขึ้น และความถี่ Nyquist จะลดลง ในขณะที่การตัดความถี่สูงออก (เสียงรบกวนและส่วนความถี่สูงที่ไม่มีนัยสำคัญของสเปกตรัมสัญญาณ) จะสะท้อนจากขอบเขตของช่วงหลัก และสรุปด้วยข้อมูลหลักทำให้เกิดการบิดเบือน เพื่อกำจัดปรากฏการณ์นี้ สัญญาณจะถูกกรองผ่านความถี่ต่ำก่อนด้วยความถี่คัตออฟเท่ากับความถี่ Nyquist ใหม่ (การลดรอยหยัก) และจากนั้นเท่านั้นที่สัญญาณจะถูกทำลายโดยการลดขนาด

เมื่อดำเนินการสุ่มตัวอย่างใหม่เฉพาะในโดเมนเวลา ตามกฎแล้วอัลกอริธึมการยืดและการบีบอัดจะถูกรวมเป็นกระบวนการตามลำดับเดียวโดยระบุการเปลี่ยนแปลงในขั้นตอนการสุ่มตัวอย่างในรูปแบบของอัตราส่วน m/n ซึ่งช่วยให้คุณระบุได้ ค่าจำนวนเต็ม m และ n สำหรับค่าเศษส่วนของการเปลี่ยนขั้นตอนการสุ่มตัวอย่าง สิ่งนี้ทำให้อัลกอริธึมง่ายขึ้นอย่างมากและเพิ่มประสิทธิภาพและคุณภาพของงาน ตัวอย่างเช่น เมื่อขยายสัญญาณ 1.5 เท่าที่ m/n = 3/2 สัญญาณจะถูกยืดออกไป 3 ครั้งในขั้นแรก (การบวกศูนย์อย่างง่ายและสม่ำเสมอให้กับตัวอย่างทั้งหมด จากนั้นจึงทำการกรองผ่านความถี่ต่ำ หลังจากนั้น สัญญาณถูกทำให้บางลงด้วยปัจจัยสองเท่า ไม่จำเป็นต้องใช้ตัวกรอง anti-aliasing เนื่องจากความถี่คัตออฟซ้อนทับกับความถี่ของตัวกรองความถี่ต่ำผ่านตัวแรกในการดำเนินการบีบอัดย้อนกลับ (เช่น m/n = 2) /3) จะใช้เฉพาะตัวกรองการลดรอยหยักเท่านั้นในลักษณะเดียวกัน

17.3. การกรองภาพ

การกรองรูปภาพเป็นการดำเนินการที่ทำให้ได้รูปภาพที่มีขนาดเท่ากันซึ่งได้มาจากต้นฉบับตามกฎเกณฑ์บางประการ โดยทั่วไป ความเข้ม (สี) ของแต่ละพิกเซลในรูปภาพที่ได้จะถูกกำหนดโดยความเข้ม (สี) ของพิกเซลที่อยู่ในบริเวณใกล้เคียงของรูปภาพต้นฉบับ

กฎการกรองสามารถมีความหลากหลายมาก การกรองภาพเป็นหนึ่งในการทำงานขั้นพื้นฐานที่สุดของคอมพิวเตอร์วิทัศน์ การจดจำรูปแบบ และการประมวลผลภาพ การทำงานของวิธีการประมวลผลภาพส่วนใหญ่เริ่มต้นด้วยการกรองภาพต้นฉบับอย่างใดอย่างหนึ่ง

ตัวกรองเชิงเส้น มีคำอธิบายทางคณิตศาสตร์ที่ง่ายมาก เราจะถือว่าภาพฮาล์ฟโทนดั้งเดิมได้รับ A และเราจะแสดงความเข้มของพิกเซลเป็น A(x, y) ตัวกรองเชิงเส้นถูกกำหนดโดยฟังก์ชันมูลค่าจริง h (เคอร์เนลตัวกรอง) ที่กำหนดบนแรสเตอร์ การกรองนั้นดำเนินการโดยใช้การดำเนินการของการบิดแบบไม่ต่อเนื่อง (ผลรวมแบบถ่วงน้ำหนัก):

B(x, y) = h(i, j) 3IIIA(x, y) = h(i, j) A(x-i, y-j) (17.3.1)

ผลลัพธ์คือรูปภาพ B โดยทั่วไปแล้ว เคอร์เนลตัวกรองจะไม่เป็นศูนย์เฉพาะในย่านใกล้เคียง N ของจุด (0, 0) เท่านั้น นอกย่านใกล้เคียงนี้ h(i, j) เท่ากับศูนย์หรือใกล้มากและสามารถละเลยได้ การสรุปจะดำเนินการบน (i, j) О N และค่าของแต่ละพิกเซล B(x, y) ถูกกำหนดโดยพิกเซลของภาพ A ซึ่งอยู่ในหน้าต่าง N โดยมีศูนย์กลางอยู่ที่จุด (x, y) (แสดงแทน โดยเซต N(x, y) ) เคอร์เนลตัวกรองที่กำหนดบนพื้นที่ใกล้เคียงสี่เหลี่ยม N สามารถดูได้เป็นเมทริกซ์ขนาด m คูณ n โดยที่ความยาวด้านเป็นเลขคี่ เมื่อระบุเคอร์เนลเป็นเมทริกซ์ ควรให้เคอร์เนลอยู่ตรงกลาง หากพิกเซล (x, y) อยู่ในบริเวณใกล้เคียงกับขอบของรูปภาพ พิกัด A(x-i, y-j) สำหรับค่าที่แน่นอน (i, j) อาจตรงกับพิกเซล A ที่ไม่มีอยู่ภายนอกรูปภาพ ปัญหานี้สามารถแก้ไขได้หลายวิธี

หลีกเลี่ยงการกรองพิกเซลเหล่านี้โดยการครอบตัดขอบของภาพ B หรือใช้ค่าดั้งเดิมของภาพ A กับค่าของพวกเขา

อย่ารวมพิกเซลที่หายไปในการสรุป โดยกระจายน้ำหนัก h(i, j) เท่าๆ กัน ท่ามกลางพิกเซลอื่นๆ ในย่านใกล้เคียง N(x, y)

กำหนดค่าพิกเซลนอกขอบเขตภาพโดยใช้การประมาณค่า

กำหนดค่าพิกเซลที่อยู่นอกขอบเขตของภาพโดยใช้ความต่อเนื่องของภาพสะท้อน

การเลือกวิธีการนั้นคำนึงถึงคุณสมบัติฟิลเตอร์และรูปภาพเฉพาะ

ตัวกรองต่อต้านนามแฝง ตัวกรองการปรับให้เรียบเป็นรูปสี่เหลี่ยมผืนผ้าที่ง่ายที่สุดของรัศมี r ถูกระบุโดยใช้เมทริกซ์ขนาด (2r+1) × (2r+1) ค่าทั้งหมดจะเท่ากับ 1/(2r+1)2 และผลรวมของ ค่าจะเท่ากับหนึ่ง นี่คืออะนาล็อกสองมิติของฟิลเตอร์รูปตัว U ค่าเฉลี่ยเคลื่อนที่หนึ่งมิติต่ำผ่าน เมื่อกรองด้วยเคอร์เนลดังกล่าว ค่าพิกเซลจะถูกแทนที่ด้วยค่าเฉลี่ยของพิกเซลในสี่เหลี่ยมจัตุรัสโดยมีด้าน 2r+1 ล้อมรอบ ตัวอย่างหน้ากากกรอง 3×3:

.

การใช้ฟิลเตอร์อย่างหนึ่งคือการลดเสียงรบกวน สัญญาณรบกวนจะแตกต่างกันไปในแต่ละพิกเซล และหากค่าคาดหวังทางคณิตศาสตร์ของค่าสัญญาณรบกวนเป็นศูนย์ สัญญาณรบกวนของพิกเซลข้างเคียงจะหักล้างกันเมื่อรวมเข้าด้วยกัน ยิ่งหน้าต่างกรองมีขนาดใหญ่เท่าใด ความเข้มของสัญญาณรบกวนโดยเฉลี่ยก็จะยิ่งลดลง อย่างไรก็ตาม รายละเอียดที่สำคัญของภาพก็จะเบลอตามไปด้วย รูปภาพของจุดสีขาวบนพื้นหลังสีดำระหว่างการกรอง (ปฏิกิริยาต่อแรงกระตุ้นเดี่ยว) จะเป็นสี่เหลี่ยมจัตุรัสสีเทาสม่ำเสมอ

การลดจุดรบกวนโดยใช้ฟิลเตอร์สี่เหลี่ยมมีข้อเสียเปรียบที่สำคัญ: พิกเซลทั้งหมดในมาสก์ฟิลเตอร์ที่ระยะห่างจากพิกเซลที่กำลังประมวลผลจะมีผลเช่นเดียวกันกับผลลัพธ์ ได้ผลลัพธ์ที่ดีขึ้นเล็กน้อยโดยการปรับเปลี่ยนตัวกรองโดยการเพิ่มน้ำหนักของจุดศูนย์กลาง:

.

การลดจุดรบกวนที่มีประสิทธิภาพมากขึ้นสามารถทำได้หากอิทธิพลของพิกเซลต่อผลลัพธ์ลดลงเมื่อระยะห่างจากพิกเซลที่ประมวลผลเพิ่มขึ้น ตัวกรองแบบเกาส์เซียนที่มีเคอร์เนลมีคุณสมบัติดังนี้: h(i, j) = (1/2ps2) exp(-(i2+j2)/2s2) ตัวกรองแบบเกาส์เซียนมีเคอร์เนลที่ไม่เป็นศูนย์ซึ่งมีขนาดไม่สิ้นสุด อย่างไรก็ตาม ค่าของเคอร์เนลตัวกรองจะลดลงอย่างรวดเร็วมากเป็น n) ดังนั้นในทางปฏิบัติเราสามารถจำกัดตัวเองให้อยู่ในการบิดด้วยหน้าต่างขนาดเล็กรอบ ๆ (0, 0) เช่น โดยรับรัศมีของหน้าต่างเท่ากับ 3σ .

การกรองแบบเกาส์เซียนก็ราบรื่นเช่นกัน อย่างไรก็ตาม ไม่เหมือนกับฟิลเตอร์สี่เหลี่ยม ภาพของจุดที่มีการกรองแบบเกาส์เซียนจะเป็นจุดที่พร่ามัวแบบสมมาตร โดยมีความสว่างลดลงจากตรงกลางไปจนถึงขอบ ระดับความเบลอของภาพถูกกำหนดโดยพารามิเตอร์ σ

ตัวกรองการเพิ่มความคมชัด - แม้ว่าฟิลเตอร์ป้องกันนามแฝงจะลดคอนทราสต์เฉพาะจุดของรูปภาพโดยการทำให้รูปภาพเบลอ แต่ฟิลเตอร์เสริมคอนทราสต์จะให้ผลตรงกันข้ามและเป็นตัวกรองความถี่เชิงพื้นที่สูง เคอร์เนลของตัวกรองเพิ่มความคมชัดที่จุด (0, 0) มีค่ามากกว่า 1 โดยมีผลรวมของค่าเท่ากับ 1 ตัวอย่างเช่น ตัวกรองเพิ่มความคมชัดคือตัวกรองที่มีเคอร์เนลที่กำหนดโดยเมทริกซ์ : :

. .

ตัวอย่างการใช้ตัวกรองแสดงในรูป 17.3.1. ผลของการเพิ่มคอนทราสต์เกิดขึ้นได้เนื่องจากตัวกรองเน้นความแตกต่างระหว่างความเข้มของพิกเซลข้างเคียง โดยย้ายความเข้มเหล่านี้ออกจากกัน เอฟเฟกต์นี้จะแข็งแกร่งขึ้นตามค่าของคำกลางของเคอร์เนลที่มากขึ้น ลักษณะเฉพาะของการกรองเพื่อเพิ่มคอนทราสต์เชิงเส้นคือแสงที่สังเกตเห็นได้ชัดเจนและมีรัศมีสีเข้มที่สังเกตเห็นได้น้อยกว่ารอบๆ ขอบ

ตัวกรองความแตกต่าง – สิ่งเหล่านี้คือตัวกรองเชิงเส้นที่ระบุโดยการประมาณแบบไม่ต่อเนื่องของตัวดำเนินการดิฟเฟอเรนเชียล (โดยใช้วิธีผลต่างอันจำกัด) ฟิลเตอร์เหล่านี้มีบทบาทสำคัญในการใช้งานหลายอย่าง เช่น ในการค้นหาขอบในรูปภาพ

ตัวดำเนินการดิฟเฟอเรนเชียลที่ง่ายที่สุดคืออนุพันธ์เทียบกับพิกัด x d/dx ซึ่งถูกกำหนดไว้สำหรับฟังก์ชันต่อเนื่อง รูปแบบทั่วไปของตัวดำเนินการที่คล้ายกันสำหรับรูปภาพแยกคือตัวกรอง Prewitt และ Sobel:

. .

ตัวกรองที่ประมาณตัวดำเนินการอนุพันธ์ของพิกัด y d/dy ได้มาโดยการย้ายเมทริกซ์

อัลกอริทึมที่ง่ายที่สุดสำหรับการคำนวณบรรทัดฐานของการไล่ระดับสีจากจุดที่อยู่ติดกันสามจุด:

ก(x, y) = .

นอกจากนี้ยังใช้สูตรการคำนวณแบบง่าย:

การคำนวณบรรทัดฐานของการไล่ระดับสีเหนือจุดที่อยู่ติดกันสี่จุด (ตัวดำเนินการของ Roberts):

อัลกอริธึม Sobel ใช้ตัวอย่างความสว่างแปดตัวอย่างในบริเวณใกล้กับจุดศูนย์กลาง:

ก(x, y) = , ก(x, ย) @ ,

Gxx, y = - ,

Gyx, y = - .

นอกเหนือจากการกำหนดบรรทัดฐานการไล่ระดับสีที่แม่นยำยิ่งขึ้นแล้ว อัลกอริธึม Sobel ยังทำให้สามารถกำหนดทิศทางของเวกเตอร์การไล่ระดับสีในระนาบการวิเคราะห์ภาพในรูปแบบของมุม j ระหว่างเวกเตอร์การไล่ระดับสีและทิศทางของแถวเมทริกซ์ : :

j(x, y) = argtg(Gyx, y /Gxx, y)

ต่างจากฟิลเตอร์ปรับความเรียบและคอนทราสต์ซึ่งไม่เปลี่ยนความเข้มเฉลี่ยของภาพ การใช้ตัวดำเนินการที่แตกต่างกันมักจะส่งผลให้ภาพมีค่าพิกเซลเฉลี่ยใกล้กับศูนย์ ความแตกต่างในแนวตั้ง (เส้นขอบ) ของรูปภาพต้นฉบับสอดคล้องกับพิกเซลที่มีค่าโมดูลัสขนาดใหญ่ในรูปภาพที่ได้ ดังนั้น ตัวกรองความแตกต่างจึงเรียกว่าตัวกรองการเลือกขอบเขตวัตถุ

เช่นเดียวกับตัวกรองข้างต้น ตัวกรองสำหรับตัวดำเนินการดิฟเฟอเรนเชียลอื่นๆ สามารถสร้างขึ้นได้โดยใช้วิธีผลต่างอันจำกัด โดยเฉพาะอย่างยิ่ง ตัวดำเนินการ Laplace แบบดิฟเฟอเรนเชียล (Laplacian) D= 𝝏2/𝝏x2 + 𝝏2/𝝏y2 ซึ่งมีความสำคัญสำหรับการใช้งานหลายอย่าง สามารถประมาณสำหรับรูปภาพแยกกันโดยใช้ตัวกรองที่มีเมทริกซ์ (หนึ่งในตัวเลือก):

.

ดังที่เห็นได้ในรูป 17.3.2 จากการใช้ Laplacian แบบแยก ค่าที่มีขนาดใหญ่เป็นค่าสัมบูรณ์จะสอดคล้องกับความแตกต่างของความสว่างทั้งแนวตั้งและแนวนอน ตัวกรองจึงเป็นตัวกรองที่จะค้นหาขอบเขตของการวางแนวใดๆ การค้นหาขอบเขตในรูปภาพสามารถทำได้โดยใช้ตัวกรองนี้และรับพิกเซลทั้งหมดที่มีค่าสัมบูรณ์เกินเกณฑ์ที่กำหนด

อย่างไรก็ตาม อัลกอริธึมดังกล่าวมีข้อบกพร่องที่สำคัญ สิ่งสำคัญคือความไม่แน่นอนในการเลือกค่าเกณฑ์ สำหรับส่วนต่างๆ ของรูปภาพ โดยปกติแล้วจะได้ผลลัพธ์ที่ยอมรับได้โดยมีค่าเกณฑ์ที่แตกต่างกันอย่างมาก นอกจากนี้ ฟิลเตอร์ที่ต่างกันยังไวต่อสัญญาณรบกวนในภาพมาก

การบิดเป็นวงกลมสองมิติ เช่นเดียวกับสัญญาณแบบหนึ่งมิติ การบิดแบบสองมิติสามารถทำได้ในโดเมนความถี่เชิงพื้นที่โดยใช้อัลกอริธึมการแปลงฟูริเยร์ที่รวดเร็ว และคูณสเปกตรัมสองมิติของรูปภาพและเคอร์เนลตัวกรอง นอกจากนี้ยังเป็นวงจรและมักจะดำเนินการในเวอร์ชันแบบเลื่อน เมื่อพิจารณาถึงวัฏจักรในการคำนวณรูปแบบคงที่ของสเปกตรัมเคอร์เนล ขนาดของมาสก์ตัวกรองเคอร์เนลจะถูกเพิ่มเป็นสองเท่าตามแกนและเสริมด้วยศูนย์ และใช้ขนาดมาสก์เดียวกันเพื่อเลือกหน้าต่างที่เลื่อนข้ามรูปภาพ ซึ่งภายในนั้น FFT จะดำเนินการ การใช้ตัวกรอง FIR โดยใช้ FFT จะมีประสิทธิภาพเป็นพิเศษหากตัวกรองมีพื้นที่อ้างอิงขนาดใหญ่

ตัวกรองแบบไม่เชิงเส้น - ในการประมวลผลภาพดิจิทัล อัลกอริธึมแบบไม่เชิงเส้นตามสถิติอันดับถูกนำมาใช้กันอย่างแพร่หลายเพื่อเรียกคืนภาพที่เสียหายจากโมเดลสัญญาณรบกวนต่างๆ ช่วยให้คุณหลีกเลี่ยงการบิดเบือนของภาพเพิ่มเติมเมื่อลบจุดรบกวน และยังปรับปรุงผลลัพธ์ของฟิลเตอร์บนภาพที่มีระดับสัญญาณรบกวนสูงได้อย่างมาก

ให้เราแนะนำแนวคิดของย่านใกล้เคียง M ขององค์ประกอบภาพ A(x, y) ซึ่งเป็นศูนย์กลางของย่านนี้ ในกรณีที่ง่ายที่สุด M-neighborhood จะมี N-pixels - จุดที่ตกลงไปใน filter mask รวมถึง (หรือไม่รวม) จุดที่อยู่ตรงกลาง ค่าขององค์ประกอบ N เหล่านี้สามารถจัดเรียงได้ในชุดรูปแบบ V(r) โดยเรียงลำดับจากน้อยไปหามาก (หรือจากมากไปน้อย) และสามารถคำนวณช่วงเวลาบางช่วงของซีรีส์นี้ได้ เช่น ค่าเฉลี่ยของความสว่าง mN และ ความแปรปรวน dN ค่าเอาท์พุตของตัวกรองซึ่งมาแทนที่ตัวอย่างส่วนกลาง คำนวณโดยใช้สูตร:

B(x, y) = AA(x, y) + (1-a)มิลลินิวตัน (17.3.2)

ค่าของสัมประสิทธิ์ a = สัมพันธ์กับการขึ้นต่อกันกับสถิติของกลุ่มตัวอย่างในหน้าต่างตัวกรอง ตัวอย่างเช่น:

a = dN /(dN + k dS), (17.3.3)

โดยที่ dS คือการกระจายสัญญาณรบกวนเหนือภาพโดยรวมหรือเหนือพื้นที่ใกล้เคียง S สำหรับ S > M และ MÎS โดยที่ k คือค่าคงที่ความเชื่อมั่นสำหรับการกระจายตัวของพื้นที่ใกล้เคียง S ดังต่อไปนี้จากสูตรนี้ สำหรับ k = 1 และ dN » dS a » 0.5 เกิดขึ้น และค่า B(x, y) = (A(x, y) + mN)/2 กล่าวคือ พวกมันรวมกันเท่ากันบน ค่าของกลุ่มตัวอย่างส่วนกลางและค่าเฉลี่ยของพิกเซลของย่าน M-neighborhood เมื่อค่า dN เพิ่มขึ้น การมีส่วนร่วมกับผลลัพธ์ของค่าอ้างอิงส่วนกลางจะเพิ่มขึ้น และเมื่อค่า dN ลดลง ค่า mN จะเพิ่มขึ้น น้ำหนักของการมีส่วนร่วมของค่าเฉลี่ยในพื้นที่ใกล้เคียง M สามารถเปลี่ยนแปลงได้ตามค่าของสัมประสิทธิ์ k

การเลือกฟังก์ชันทางสถิติและธรรมชาติของการพึ่งพาค่าสัมประสิทธิ์ a อาจแตกต่างกันมาก (ตัวอย่างเช่นตามการกระจายตัวของความแตกต่างในกลุ่มตัวอย่างในย่าน M กับกลุ่มตัวอย่างส่วนกลาง) และขึ้นอยู่กับทั้งขนาด ของรูรับแสงของฟิลเตอร์ และลักษณะของภาพและสัญญาณรบกวน โดยพื้นฐานแล้ว ค่าสัมประสิทธิ์ a ควรระบุระดับความเสียหายต่อตัวอย่างส่วนกลาง และฟังก์ชันการยืมสำหรับการแก้ไขตัวอย่างจากย่าน M

ตัวกรองไม่เชิงเส้นประเภทที่ง่ายที่สุดและพบบ่อยที่สุดสำหรับการประมวลผลภาพคือตัวกรองเกณฑ์และค่ามัธยฐาน

การกรองเกณฑ์ จะได้รับเช่นดังต่อไปนี้:

ข(x, y) =

ขนาด พีคือเกณฑ์การกรอง หากค่าของจุดศูนย์กลางของตัวกรองเกินค่าเฉลี่ยของตัวอย่าง mN ในย่าน M-เพื่อนบ้านด้วยค่าเกณฑ์ ค่าเกณฑ์จะถูกแทนที่ด้วยค่าเฉลี่ย ค่าเกณฑ์อาจเป็นค่าคงที่หรือขึ้นอยู่กับการใช้งานตามค่าของจุดศูนย์กลาง

การกรองค่ามัธยฐาน มีการกำหนดไว้ดังนี้:

B(x, y) = กลาง (M(x, y))

นั่นคือ ผลลัพธ์การกรองคือค่ามัธยฐานของพิกเซลของพื้นที่ใกล้เคียง ซึ่งรูปร่างจะถูกกำหนดโดยมาสก์ตัวกรอง การกรองค่ามัธยฐานสามารถขจัดสัญญาณรบกวนออกจากภาพที่ส่งผลต่อแต่ละพิกเซลได้อย่างมีประสิทธิภาพ ตัวอย่างเช่น การรบกวนดังกล่าวคือพิกเซลที่ "ขาด" ในระหว่างการถ่ายภาพดิจิทัล สัญญาณรบกวน "หิมะ" เมื่อพิกเซลบางส่วนถูกแทนที่ด้วยพิกเซลที่มีความเข้มสูงสุด เป็นต้น ข้อดีของการกรองค่ามัธยฐานคือพิกเซลที่ "ร้อน" บนพื้นหลังสีเข้มจะ ให้เข้ามาแทนที่สีเข้มและไม่ “เปื้อน” บริเวณนั้น

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

ฟิลเตอร์สุดขีด ถูกกำหนดตามกฎ:

Bนาที(x, y) = นาที (M(x, y))

Bสูงสุด(x, y) = สูงสุด (M(x, y))

นั่นคือผลการกรองคือขั้นต่ำและ ค่าสูงสุดพิกเซลในรูปแบบฟิลเตอร์ ตัวกรองดังกล่าวมักจะใช้สำหรับภาพไบนารี

17.4. การบีบอัดภาพ

รูปภาพทั่วไปที่มีความละเอียดประมาณ 3000x2000 ที่ 24 บิตต่อพิกเซลสำหรับการส่งสีจะมีปริมาตร 17 เมกะไบต์ สำหรับอุปกรณ์ระดับมืออาชีพ ขนาดของรูปภาพแรสเตอร์ที่ได้อาจมีขนาดใหญ่กว่ามาก ความลึกของสีสูงสุด 48 บิตต่อพิกเซล และขนาดของรูปภาพหนึ่งรูปสามารถเกิน 200 เมกะไบต์ได้ ดังนั้นอัลกอริธึมการบีบอัดรูปภาพจึงมีความเกี่ยวข้องอย่างมากในการลดปริมาณข้อมูลที่แสดงถึงรูปภาพ

อัลกอริธึมมีสองคลาสหลัก:

1. การบีบอัดแบบไม่สูญเสีย A (การบีบอัดแบบไม่สูญเสีย) หากมีอัลกอริธึมผกผัน A-1 ซึ่งสำหรับ h - รูปภาพ A[h] = h1 เรามี A-1 = h การบีบอัดแบบไม่สูญเสียข้อมูลจะใช้ในรูปแบบภาพกราฟิก เช่น GIF, PCX, PNG, TGA, TIFF และใช้ในการประมวลผลข้อมูลหลักอันมีค่าโดยเฉพาะ (ภาพทางการแพทย์ ภาพถ่ายทางอากาศและอวกาศ ฯลฯ) เมื่อการบิดเบือนเพียงเล็กน้อยเป็นสิ่งที่ไม่พึงประสงค์

2. การบีบอัดแบบสูญเสียหากไม่สามารถกู้คืนภาพต้นฉบับได้อย่างแม่นยำ อัลกอริธึมการฟื้นฟูภาพโดยประมาณที่จับคู่กับ A จะถูกแสดงเป็น A* คู่ (A, A*) ถูกเลือกเพื่อให้อัตราส่วนการบีบอัดสูงในขณะที่ยังคงคุณภาพของภาพไว้ การบีบอัดแบบ Lossy ใช้ในรูปแบบภาพ: JPEG, JPEG2000 เป็นต้น

อัลกอริธึมและคำสั่งทั้งหมดใช้กับทั้งรูปภาพและลำดับที่กำหนดเอง ซึ่งเป็นองค์ประกอบที่สามารถรับค่าจำนวนจำกัดได้ โปรดทราบว่าไม่มีอัลกอริธึมในอุดมคติที่สามารถบีบอัดชุดข้อมูลใด ๆ ได้โดยไม่สูญเสีย

อัลกอริทึมการเข้ารหัสความยาวซ้ำ (RLE) จะขึ้นอยู่กับ หลักการง่ายๆ: แทนที่กลุ่มที่ซ้ำกันขององค์ประกอบของลำดับเดิมด้วยคู่ (ปริมาณ องค์ประกอบ) หรือเฉพาะปริมาณเท่านั้น

ระดับบิต เราจะพิจารณาแหล่งข้อมูลในระดับลำดับบิต เช่น การแสดงภาพขาวดำ โดยปกติแล้วจะมี 0 หรือ 1 หลายตัวติดกัน และคุณสามารถเข้ารหัสจำนวนหลักที่เหมือนกันในแถวได้ แต่จำนวนการทำซ้ำจะต้องเข้ารหัสเป็นบิตด้วย เราสามารถพิจารณาได้ว่าหมายเลขการซ้ำกันแต่ละรายการแตกต่างกันไปตั้งแต่ 0 ถึง 7 (รหัส 3 บิต) โดยสลับลำดับรหัสของหนึ่งและศูนย์ ตัวอย่างเช่นลำดับสามารถเปรียบเทียบกับตัวเลข 7 0 4 เช่น 7 อัน, 0 ศูนย์, 4 อันและเรามีปีใหม่ - ยิ่งความยาวของลำดับของบิตที่เหมือนกันนานขึ้นเท่าใดเอฟเฟกต์ก็จะยิ่งมากขึ้นเท่านั้น ดังนั้น ลำดับของ 21 หน่วย, 21 ศูนย์, 3 หน่วย และ 7 ศูนย์จะถูกเข้ารหัสดังนี้: กล่าวคือ จากลำดับดั้งเดิมที่มีความยาว 51 บิต เราก็มีลำดับที่ยาว 36 บิต

ระดับไบต์ สมมติว่าอินพุตเป็นรูปภาพฮาล์ฟโทน โดยที่ 1 ไบต์ได้รับการจัดสรรสำหรับค่าความเข้มของพิกเซล และความคาดหวังของสายโซ่ยาวของบิตที่เหมือนกันจะลดลงอย่างมาก

เราจะแบ่งอินพุตสตรีมออกเป็นไบต์ (รหัสตั้งแต่ 0 ถึง 255) และเข้ารหัสไบต์ที่ซ้ำกันด้วยคู่ (ปริมาณ ตัวอักษร) ไบต์เดียวสามารถไม่เปลี่ยนแปลงได้ ดังนั้นเราจึงเข้ารหัสไบต์ AABBBCDAA (2A) (3B) (C) (D) (2A)

อย่างไรก็ตาม การปรับเปลี่ยนอัลกอริธึมนี้ไม่ค่อยได้ใช้ด้วยตัวเอง (เช่น ในรูปแบบ PCX) เนื่องจากคลาสย่อยของลำดับที่อัลกอริธึมมีประสิทธิภาพนั้นค่อนข้างแคบ มักใช้เป็นหนึ่งในขั้นตอนของไปป์ไลน์การบีบอัด

อัลกอริธึมพจนานุกรม แทนที่จะเข้ารหัสเพียงองค์ประกอบเดียวของลำดับที่เข้ามา สายขององค์ประกอบจะถูกเข้ารหัส ในกรณีนี้ พจนานุกรมของลูกโซ่ (สร้างจากลำดับอินพุต) จะถูกนำมาใช้ในการเข้ารหัสรายการใหม่

อัลกอริธึม LZ77 เป็นหนึ่งในคนกลุ่มแรก ๆ ที่ใช้พจนานุกรม องค์ประกอบที่เข้ารหัสแล้วของลำดับ N ตัวสุดท้ายจะถูกใช้เป็นพจนานุกรม ในระหว่างกระบวนการบีบอัด พจนานุกรมลำดับย่อยจะ "เลื่อน" ตามลำดับอินพุต สายโซ่ขององค์ประกอบที่เอาต์พุตจะถูกเข้ารหัสดังนี้: ตำแหน่งของส่วนที่ตรงกันของสายโซ่ที่ประมวลผลขององค์ประกอบในพจนานุกรม - ออฟเซ็ต (สัมพันธ์กับตำแหน่งปัจจุบัน), ความยาว, องค์ประกอบแรกที่ตามหลังส่วนที่ตรงกันของสายโซ่ ความยาวของสายโซ่ที่ตรงกันจะถูกจำกัดไว้ด้านบนด้วยหมายเลข n ดังนั้น ภารกิจคือค้นหาสายโซ่ที่ใหญ่ที่สุดจากพจนานุกรมที่ตรงกับลำดับที่กำลังประมวลผล หากไม่มีค่าที่ตรงกัน ระบบจะบันทึกออฟเซ็ตเป็นศูนย์ ความยาวหน่วย และองค์ประกอบแรกของลำดับที่ไม่ได้เข้ารหัส

รูปแบบการเข้ารหัสที่อธิบายไว้ข้างต้นนำไปสู่แนวคิดของหน้าต่างบานเลื่อนซึ่งประกอบด้วยสองส่วน:

ผลสืบเนื่องขององค์ประกอบที่เข้ารหัสแล้วซึ่งมีความยาว N-dictionary - บัฟเฟอร์การค้นหา

ผลสืบเนื่องของความยาว n จากสายโซ่ขององค์ประกอบซึ่งจะพยายามค้นหารายการที่ตรงกัน - บัฟเฟอร์ ดูตัวอย่าง(บัฟเฟอร์มองไปข้างหน้า)

การถอดรหัสลำดับการบีบอัดคือการถอดรหัสของรหัสที่บันทึกไว้: แต่ละรายการจะจับคู่กับสายโซ่จากพจนานุกรมและองค์ประกอบที่เขียนอย่างชัดเจน หลังจากนั้นพจนานุกรมจะถูกเลื่อน พจนานุกรมจะถูกสร้างขึ้นใหม่เมื่ออัลกอริธึมการถอดรหัสทำงาน

อัลกอริธึมนี้เป็นผู้ก่อตั้งอัลกอริธึมทั้งตระกูล ข้อดีของมัน ได้แก่ ระดับการบีบอัดที่เหมาะสมในลำดับที่ค่อนข้างใหญ่และการบีบอัดที่รวดเร็ว ข้อเสีย ได้แก่ ความเร็วการบีบอัดที่ช้าและอัตราส่วนการบีบอัดที่ต่ำกว่าอัลกอริธึมทางเลือก

อัลกอริทึม LZW พจนานุกรมในอัลกอริธึมนี้คือตารางที่เต็มไปด้วยกลุ่มองค์ประกอบในขณะที่อัลกอริธึมทำงาน ในระหว่างกระบวนการบีบอัด จะพบสายโซ่ที่ยาวที่สุดที่บันทึกไว้ในพจนานุกรมแล้ว แต่ละครั้งไม่พบกลุ่มองค์ประกอบใหม่ในพจนานุกรม องค์ประกอบดังกล่าวจะถูกเพิ่มลงในพจนานุกรม และรหัสลูกโซ่จะถูกบันทึก ตามทฤษฎีแล้ว ไม่มีข้อจำกัดเกี่ยวกับขนาดของตาราง แต่การจำกัดขนาดช่วยให้คุณสามารถปรับปรุงอัตราส่วนการบีบอัดได้ เนื่องจากโซ่ที่ไม่จำเป็น (ไม่เกิดขึ้น) สะสมอยู่ ยิ่งตารางมีรายการมากเท่าใด ข้อมูลก็ยิ่งต้องได้รับการจัดสรรให้กับรหัสร้านค้ามากขึ้นเท่านั้น

การถอดรหัสประกอบด้วยการถอดรหัสรหัสโดยตรง เช่น การสร้างพจนานุกรมและส่งออกเชนที่เกี่ยวข้อง พจนานุกรมเริ่มต้นในลักษณะเดียวกับในตัวเข้ารหัส ข้อดีของอัลกอริธึมคือการบีบอัดระดับสูงและเพียงพอ ความเร็วสูงทั้งการบีบอัดและการถอดรหัส

อัลกอริธึมการเข้ารหัสเชิงสถิติ กำหนดรหัสให้กับแต่ละองค์ประกอบของลำดับเพื่อให้ความยาวของมันสอดคล้องกับความน่าจะเป็นที่องค์ประกอบนั้นจะเกิดขึ้น การบีบอัดเกิดขึ้นโดยการแทนที่องค์ประกอบของลำดับดั้งเดิมที่มีความยาวเท่ากัน (แต่ละองค์ประกอบครอบครองจำนวนบิตเท่ากัน) ด้วยองค์ประกอบที่มีความยาวต่างกัน เป็นสัดส่วนกับลอการิทึมลบของความน่าจะเป็น เช่น องค์ประกอบที่เกิดขึ้นบ่อยกว่าองค์ประกอบอื่น ๆ มีรหัส ที่มีความยาวสั้นกว่า

อัลกอริธึมของ Huffman ใช้โค้ดคำนำหน้าความยาวผันแปรได้ซึ่งมีคุณสมบัติพิเศษ: โค้ดที่สั้นกว่าจะไม่ตรงกับคำนำหน้า (ส่วนเริ่มต้น) ของโค้ดที่ยาวกว่า รหัสนี้อนุญาตให้เข้ารหัสแบบตัวต่อตัว กระบวนการบีบอัดเกี่ยวข้องกับการแทนที่แต่ละองค์ประกอบของลำดับอินพุตด้วยโค้ดของมัน โดยทั่วไปการสร้างชุดรหัสจะดำเนินการโดยใช้สิ่งที่เรียกว่า ต้นไม้รหัส.

อัลกอริธึม Huffman เป็นอัลกอริธึมแบบสองรอบ การส่งผ่านรูปภาพครั้งแรกจะสร้างตารางน้ำหนักองค์ประกอบ และในระหว่างวินาทีที่การเข้ารหัสเกิดขึ้น มีการใช้งานอัลกอริธึมกับตารางคงที่ มันมักจะเกิดขึ้นที่ไม่ทราบการกระจายความน่าจะเป็นแบบนิรนัยขององค์ประกอบของตัวอักษร เนื่องจากลำดับทั้งหมดไม่พร้อมใช้งานในคราวเดียว และใช้การแก้ไขแบบปรับตัวของอัลกอริทึมของ Huffman

การบีบอัดภาพที่สูญเสียไป ปริมาณข้อมูลที่ต้องใช้ในการจัดเก็บภาพมักจะมีขนาดใหญ่ อัลกอริธึมแบบคลาสสิกซึ่งเป็นอัลกอริธึมวัตถุประสงค์ทั่วไปไม่ได้คำนึงว่าข้อมูลที่บีบอัดนั้นเป็นรูปภาพ - วัตถุสองมิติและไม่ได้ให้ระดับการบีบอัดที่เพียงพอ

การบีบอัดแบบ Lossy ขึ้นอยู่กับลักษณะของการรับรู้ภาพของมนุษย์: ความไวสูงสุดในช่วงคลื่นสีบางช่วง ความสามารถในการรับรู้ภาพโดยรวมโดยไม่สังเกตเห็นการบิดเบือนเล็กน้อย คลาสหลักของรูปภาพที่อัลกอริธึมการบีบอัดข้อมูลสูญหายมุ่งเป้าไปที่ภาพถ่ายและรูปภาพที่มีการเปลี่ยนสีที่ราบรื่น

การประมาณการสูญเสียในภาพ มีมาตรการมากมายในการประเมินการสูญเสียในภาพหลังจากกู้คืน (ถอดรหัส) จากภาพที่ถูกบีบอัด แต่สำหรับทั้งหมดนั้น คุณสามารถเลือกภาพสองภาพได้ ซึ่งการวัดความแตกต่างจะมีขนาดค่อนข้างใหญ่ แต่ความแตกต่างจะแทบจะมองไม่เห็น ต่อดวงตา และในทางกลับกัน คุณสามารถเลือกภาพที่แตกต่างกับสายตามาก แต่มีความแตกต่างเพียงเล็กน้อย

การวัดการสูญเสียเชิงตัวเลขมาตรฐานมักจะเป็นค่าเบี่ยงเบนมาตรฐาน (RMS) ของค่าพิกเซลของรูปภาพที่สร้างใหม่จากต้นฉบับ อย่างไรก็ตาม "มาตรการ" ที่สำคัญที่สุดในการประเมินความสูญเสียคือความคิดเห็นของผู้สังเกตการณ์ ยิ่งผู้สังเกตการณ์ตรวจพบความแตกต่างน้อยลง (หรือดีกว่าไม่มีความแตกต่าง) คุณภาพของอัลกอริธึมการบีบอัดก็จะยิ่งสูงขึ้นเท่านั้น อัลกอริธึมการบีบอัดแบบ Lossy มักให้ผู้ใช้สามารถเลือกจำนวนข้อมูลที่ "สูญหาย" ได้ เช่น สิทธิ์ในการเลือกระหว่างคุณภาพและขนาด ภาพที่ถูกบีบอัด- โดยธรรมชาติแล้วยิ่งดี คุณภาพของภาพยิ่งอัตราส่วนการบีบอัดสูงเท่าไร อัลกอริธึมก็จะยิ่งดีขึ้นเท่านั้น

การแปลงฟูริเยร์ โดยทั่วไป รูปภาพสามารถดูได้เป็นฟังก์ชันของตัวแปรสองตัว ซึ่งกำหนดไว้ที่จุดแรสเตอร์สุดท้าย ชุดของฟังก์ชันดังกล่าวที่จุดของแรสเตอร์จำกัดคงที่ก่อให้เกิดปริภูมิยูคลิดที่มีมิติจำกัด และการแปลงฟูริเยร์แบบไม่ต่อเนื่อง กล่าวคือ การแสดงสเปกตรัมของรูปภาพ สามารถนำไปใช้กับฟังก์ชันเหล่านั้นได้ มันมี:

ค่าสัมประสิทธิ์สเปกตรัมที่ไม่สัมพันธ์กันและเป็นอิสระ กล่าวคือ ความแม่นยำของการแทนค่าสัมประสิทธิ์หนึ่งไม่ได้ขึ้นอยู่กับค่าสัมประสิทธิ์อื่น

- การบดอัดพลังงาน การแปลงจะจัดเก็บข้อมูลพื้นฐานด้วยค่าสัมประสิทธิ์จำนวนเล็กน้อย คุณสมบัตินี้เอฟเฟกต์นี้เด่นชัดที่สุดในภาพที่เหมือนจริง

ค่าสัมประสิทธิ์การแสดงสเปกตรัมคือแอมพลิจูดของความถี่เชิงพื้นที่ของภาพ ในกรณีของภาพที่มีการเปลี่ยนภาพอย่างราบรื่น ข้อมูลส่วนใหญ่จะอยู่ในสเปกตรัมความถี่ต่ำ

อัลกอริธึมการบีบอัดที่ใช้ใน รูปแบบ JPEGถูกสร้างขึ้นจากการใช้การแปลงฟูริเยร์โคไซน์แบบไม่ต่อเนื่อง รูปแบบการบีบอัดในอัลกอริธึมคือไปป์ไลน์ซึ่งการเปลี่ยนแปลงนี้เป็นเพียงขั้นตอนเดียว แต่เป็นหนึ่งในขั้นตอนหลัก อัลกอริทึมประกอบด้วยการดำเนินการหลักดังต่อไปนี้:

1. การแปลงเป็นปริภูมิสี YCbCr โดยที่ Y คือองค์ประกอบความสว่าง Cb และ Cr คือองค์ประกอบสี ดวงตาของมนุษย์ไวต่อความสว่างมากกว่าสี ดังนั้นจึงเป็นเรื่องสำคัญที่จะต้องรักษาความแม่นยำให้มากขึ้นเมื่อถ่ายโอน Y มากกว่าเมื่อถ่ายโอน Cb และ Cr

2. การแปลงโคไซน์แบบไม่ต่อเนื่อง (DCT) รูปภาพถูกแบ่งออกเป็นบล็อกขนาด 8 × 8 การแปลงโคไซน์แบบไม่ต่อเนื่องจะถูกนำไปใช้กับแต่ละบล็อก (แยกกันสำหรับส่วนประกอบ Y, Cb และ Cr)

3. การลดส่วนประกอบความถี่สูงในเมทริกซ์ DCT สายตามนุษย์แทบจะไม่สังเกตเห็นการเปลี่ยนแปลงในส่วนประกอบความถี่สูง ดังนั้นค่าสัมประสิทธิ์ที่รับผิดชอบต่อความถี่สูงจึงสามารถจัดเก็บได้อย่างแม่นยำน้อยลง

4. การเรียงลำดับเมทริกซ์ซิกแซก นี่คือการส่งผ่านเมทริกซ์พิเศษเพื่อให้ได้ลำดับหนึ่งมิติ อันดับแรกคือองค์ประกอบ T00 ตามด้วย T01, T10, T1 นอกจากนี้ สำหรับภาพเสมือนจริงทั่วไป อันดับแรกจะมีค่าสัมประสิทธิ์ที่ไม่เป็นศูนย์ซึ่งสอดคล้องกับส่วนประกอบความถี่ต่ำ จากนั้นจึงตั้งค่าศูนย์ (ส่วนประกอบความถี่สูง)

5. บีบอัดก่อน วิธีอาร์แอลอีแล้วตามด้วยวิธีฮัฟฟ์แมน

อัลกอริธึมการกู้คืนรูปภาพทำงานใน ลำดับย้อนกลับ- อัตราการบีบอัดอยู่ระหว่าง 5 ถึง 100 เท่าหรือมากกว่า ในขณะเดียวกัน คุณภาพของภาพสำหรับภาพที่สมจริงที่สุดยังคงอยู่ที่ ระดับดีเมื่อบีบอัดได้ถึง 15 เท่า อัลกอริธึมและรูปแบบเป็นวิธีที่ใช้กันมากที่สุดสำหรับการส่งและจัดเก็บภาพสีเต็มรูปแบบ

การแปลงเวฟเล็ต สัญญาณเป็นลักษณะทั่วไปของการแปลงฟูริเยร์แบบคลาสสิก คำว่า "wavelet" แปลจากภาษาอังกฤษหมายถึง "คลื่นเล็ก (สั้น)" Wavelets เป็นชื่อทั่วไปสำหรับครอบครัว ฟังก์ชันทางคณิตศาสตร์รูปแบบหนึ่งซึ่งเป็นเวลาและความถี่ในท้องถิ่น และฟังก์ชันทั้งหมดได้มาจากฐานหนึ่งผ่านการเลื่อนและยืดออกไปตามแกนเวลา

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

วรรณกรรม

46. ​​​​และอื่นๆ อัลกอริธึมที่รวดเร็วในการประมวลผลภาพดิจิทัล – อ.: วิทยุและการสื่อสาร, 2527. – 224 น.

47. การประมวลผลภาพโซเฟอร์ ส่วนที่ 2 วิธีการและอัลกอริทึม – นิตยสารการศึกษาของโซรอส ฉบับที่ 3, 1996.

48. เสียงคาร์ทริดจ์จากรูปภาพตามอัลกอริธึมไม่เชิงเส้นโดยใช้สถิติอันดับ - ยาโรสลาฟสกี้ มหาวิทยาลัยของรัฐ, 2007.

49. ระบบเฝ้าระวังโทรทัศน์ Andreev ส่วนที่ 2 รากฐานและอัลกอริธึมทางคณิตศาสตร์และตรรกะ บทช่วยสอน- - เซนต์ปีเตอร์สเบิร์ก: เซนต์ปีเตอร์สเบิร์ก, GUITMO, 2005. – 88 น.

51. การประมวลผลสัญญาณดิจิทัลเบื้องต้น (พื้นฐานทางคณิตศาสตร์) - อ.: มหาวิทยาลัยแห่งรัฐมอสโก, ห้องปฏิบัติการคอมพิวเตอร์กราฟิกและมัลติมีเดีย, 2545. - http://pv. *****/dsp/dspcourse. pdf, http://dsp-book. *****/dspcourse. ดีเจวู http://geogin. *****/arhiv/dsp/dsp4.pdf.

1i และอื่นๆ พื้นฐานอัลกอริธึมของกราฟิกแรสเตอร์ – มหาวิทยาลัยเทคโนโลยีสารสนเทศอินเทอร์เน็ต – http://www. *****/ไปที่/หลักสูตร/rastrgraph/

2i ลูกิน -ระบบอิเล็กทรอนิกส์: บันทึกการบรรยาย. ITMO, 2004. - เซนต์ปีเตอร์สเบิร์ก, ITMO IFF, 2004. - http://iff. *****/kons/oes/KL. htm

เกี่ยวกับข้อผิดพลาดที่สังเกตเห็นและข้อเสนอแนะสำหรับการเพิ่มเติม: *****@***ru

ลิขสิทธิ์©2008ดาวีดอฟก.วี.

สาระสำคัญของการประมวลผลภาพคือการลดขนาดภาพต้นฉบับของฉากให้อยู่ในรูปแบบที่ช่วยให้สามารถแก้ไขปัญหาในการจดจำวัตถุได้

เป้าหมายสูงสุดของการประมวลผลภาพใน VS คือการเตรียมวัตถุในฉากสำหรับการจดจำ เช่น การกำหนดรูปภาพให้กับคลาสที่กำหนดไว้ล่วงหน้าบางคลาส แม้จะมีการนำเสนอขั้นตอนการแปลงข้อมูลที่หลากหลาย แต่ขั้นตอนการประมวลผลหลักสามขั้นตอนมักจะแตกต่างกันใน VS:

1) การประมวลผลภาพล่วงหน้า

2) การแบ่งส่วน;

3) คำอธิบาย

ในทางกลับกัน การประมวลผลล่วงหน้ามีสองขั้นตอนพื้นฐาน: การสร้างภาพและการเข้ารหัส (การบีบอัด) ลำดับขั้นตอนไม่เข้มงวดและขึ้นอยู่กับงานเฉพาะ

การประมวลผลภาพล่วงหน้า

ทุกวิธี ก่อนการรักษารูปภาพใน STS แบ่งออกเป็นเชิงพื้นที่และความถี่ วิธีการเชิงพื้นที่เป็นขั้นตอนที่ทำงานโดยตรงกับพิกเซลของภาพ ความสว่างถูกใช้เป็นคุณลักษณะของภาพ ใช่(x, ย)วิธีความถี่เกี่ยวข้องกับการแปลงภาพให้เป็นระนาบเชิงซ้อนโดยใช้การแปลงฟูริเยร์

เมื่อพิจารณาขั้นตอนก่อนการประมวลผล เราจะจำกัดตัวเองอยู่เพียงวิธีเชิงพื้นที่เท่านั้น และภาพต้นฉบับจะถือเป็นฮาล์ฟโทน

ในขั้นตอนแรกของการประมวลผลล่วงหน้า การสร้างภาพการสร้างภาพเป็นขั้นตอนในการรับภาพโดยตรงในรูปแบบของอาร์เรย์ขององค์ประกอบที่ไม่ต่อเนื่อง - พิกเซล - ซึ่งอยู่ในหน่วยความจำของโปรเซสเซอร์วิดีโอซึ่งสร้างเมทริกซ์หรือรูปร่าง

ใน VS ในขั้นตอนของการสร้างภาพ เกณฑ์ความสว่างจะถูกเลือกโดยการปรับแสงและกรองภาพ

การกรองภาพเป็นขั้นตอนก่อนการประมวลผลที่ใช้เวลานานและซับซ้อนที่สุด โดยทั่วไป การกรองจะช่วยแก้ปัญหาหลักต่อไปนี้:

· ปรับให้เรียบ (ปราบปรามการรบกวนความถี่สูง เช่น “หิมะ”);

ความคมชัดที่เพิ่มขึ้น

· การเลือกโครงร่าง

ขั้นตอนการปรับให้เรียบจะดำเนินการทันทีหลังจากเลือกเกณฑ์ความสว่าง ความหมายของมันคือการหาค่าเฉลี่ยของฟังก์ชันความสว่างตามกฎเกณฑ์บางประการ ใช่(X, ย)ภายในส่วนของภาพที่วิเคราะห์

เพื่อกำจัดสัญญาณรบกวนความถี่สูง เช่น "หิมะ" จะใช้ฟิลเตอร์ความถี่ต่ำผ่าน ข้อเสีย การกรองผ่านต่ำคือการเสื่อมสภาพของคอนทราสต์ของภาพ

การแบ่งส่วน



จากผลการประมวลผลล่วงหน้า รูปภาพจะมีการแสดงรูปร่างของวัตถุตั้งแต่หนึ่งรายการขึ้นไป เรียกว่าขั้นตอนในการแยกรูปทรงเหล่านี้และสัมพันธ์กับวัตถุเฉพาะ การแบ่งส่วน

หากทราบเบื้องต้นแล้วว่ารูปภาพมีวัตถุหลายชิ้น ขั้นตอนการแบ่งส่วนจะดำเนินการหลังจากการแยกขอบก่อนขั้นตอนการเข้ารหัสรูปภาพ

อัลกอริธึมการแบ่งส่วนมักจะขึ้นอยู่กับการค้นหาความไม่ต่อเนื่องในรูปร่างและความคล้ายคลึงกันของพื้นที่ ในกรณีแรกจะพบวงจรและซอฟต์แวร์บายพาสจะดำเนินการตามกฎที่กำหนดไว้ หากเส้นขอบปิดจะถือว่าเป็นของวัตถุ ในกรณีที่สอง จะมีการกำหนดพื้นที่ของรูปภาพที่มีคุณสมบัติทั่วไป (เช่น ความสว่างของพิกเซลเท่ากัน) เมื่อพบพื้นที่ดังกล่าว พื้นที่เหล่านั้นจะถูกกำหนดให้กับพื้นหลังหรือวัตถุ

การเข้ารหัสรูปภาพ

สำหรับระบบที่ประมวลผลภาพฮาล์ฟโทนโดยใช้วิธีเชิงพื้นที่ มีวิธีการเข้ารหัสหลักสองวิธี:

· เข้ารหัสรูปภาพโดยใช้วิธีโค้ดความยาวรัน

· เข้ารหัสรูปร่างของภาพโดยใช้รหัสลูกโซ่ Freeman

ในทั้งสองกรณี ในระหว่างการเข้ารหัส ปริมาณข้อมูลที่แสดงลักษณะของรูปภาพจะลดลงอย่างมาก ประสิทธิภาพการเข้ารหัสถูกกำหนดโดยระดับการบีบอัดภาพ

สาระสำคัญของการเข้ารหัสโดยใช้วิธีโค้ด ความยาวซีรีย์นำไปใช้โดยใช้อัลกอริธึม RLE ประกอบด้วยการแสดงภาพด้วยส่วนที่สม่ำเสมอของเส้นสแกนโดยที่ความสว่างและสีของพิกเซลเท่ากัน นอกจากนี้ แต่ละซีรีส์ยังมีค่าที่สอดคล้องกันและความยาวของซีรีส์ (จำนวนพิกเซล)

ในการเข้ารหัสเส้นขอบของภาพโดยตรง มักใช้การเข้ารหัสแบบลูกโซ่ รหัสฟรีแมน(รูปที่ 6.22, ข)ในกรณีนี้ รูปร่างของวัตถุที่เริ่มต้นจากจุดหนึ่งจะถูกระบุโดยลำดับของเวกเตอร์ที่รับค่าที่ไม่ต่อเนื่อง โดยมีมุมเอียงของโมดูลที่เป็นผลคูณของ 45 ค่าโมดูลัสคือ 2 ถ้ามุมเอียงของเวกเตอร์ คือ 45 และ 1 หากตำแหน่งเป็นแนวตั้งหรือแนวนอน การเปลี่ยนแปลงทิศทางของเวกเตอร์เมื่อเคลื่อนที่จากจุดหนึ่งของเส้นโค้งไปยังอีกจุดหนึ่ง สะท้อนถึงธรรมชาติของการเปลี่ยนแปลงในเส้นโค้งที่จำลอง



คำอธิบายของภาพ

ภายใต้ คำอธิบาย หมายถึงการกำหนดพารามิเตอร์ลักษณะของวัตถุ - สัญญาณ(ผู้เลือกปฏิบัติ) จำเป็นต้องแยกแยะความแตกต่างจากสิ่งที่ก่อให้เกิดฉาก

ตามสาระสำคัญทางกายภาพสัญญาณแบ่งออกเป็นระดับโลกและระดับท้องถิ่น สัญญาณสากลรูปภาพเป็นคุณลักษณะที่สามารถคำนวณได้สำหรับรูปภาพใดๆ ของวัตถุ

สัญญาณท้องถิ่นใช้ไม่บ่อย; พวกเขาไม่ได้แสดงลักษณะของภาพทั้งหมด แต่เพียงบางส่วนเท่านั้น ซึ่งรวมถึงมุมระหว่างเส้นขอบสองเส้น จำนวนและพารามิเตอร์ของรูในภาพของวัตถุ ฯลฯ

การจดจำภาพ

การยอมรับเป็นกระบวนการที่พิจารณาจากชุดคุณลักษณะของรูปภาพบางรูปของวัตถุ ความเป็นสมาชิกในคลาสหนึ่งจะถูกกำหนด

การรู้จำใช้ฟังก์ชันการวิเคราะห์ภาพด้วยภาพ.

ตามอัตภาพ วิธีการจดจำทั้งหมดสามารถแบ่งออกเป็นสองกลุ่ม: เชิงทฤษฎีและเชิงโครงสร้าง วิธีการจดจำทางทฤษฎีที่ใช้บ่อยที่สุดใช้หลักการจากทฤษฎีการตัดสินใจ

ไม่สามารถระบุมูลค่าที่แท้จริงของคุณลักษณะของวัตถุได้ เนื่องจากค่าจะแตกต่างกันไปตามการวัดแต่ละครั้ง ดังนั้นงานการจดจำจึงมีดังต่อไปนี้: กำหนดความน่าจะเป็นที่วัตถุอยู่ในคลาสที่กำหนด

หนึ่งในพื้นที่ที่น่าสนใจที่สุดของการจดจำภาพใน STZ นั้นเกี่ยวข้องกับการพัฒนาอัลกอริธึมการจดจำใบหน้า อัลกอริธึมการรับรู้ (การตรวจสอบ) ใกล้เคียงกับอัลกอริธึมการลงทะเบียน คุณลักษณะที่แยกจากรูปภาพปัจจุบันจะรวมกันเป็นเวกเตอร์คุณลักษณะ ซึ่งส่วนประกอบต่างๆ จะถูกเปรียบเทียบกับส่วนประกอบที่สอดคล้องกันของเวกเตอร์ทั้งหมดที่มีอยู่ในฐานข้อมูล

1

ในบทความนี้ อัลกอริธึมสำหรับการประมวลผลภาพโดยหุ่นยนต์เคลื่อนที่อัจฉริยะที่ใช้ตรรกะคลุมเครือและโครงข่ายประสาทเทียมได้รับการพัฒนาขึ้น เพื่อระบุขอบเขตในภาพโดยใช้ตัวดำเนินการ Sobel สาระสำคัญของการประมวลผลภาพคือการลดขนาดภาพต้นฉบับของฉากให้อยู่ในรูปแบบที่ช่วยให้สามารถแก้ไขปัญหาในการจดจำวัตถุได้ พิจารณาปัญหาหลักตลอดจนวิธีแก้ปัญหาในระหว่างการเตรียมภาพเบื้องต้นเพื่อการจดจำ อัลกอริธึมการประมวลผลล่วงหน้าโดยใช้ลอจิกคลุมเครือและกระบวนการไบนาไรเซชันของภาพได้รับการวิเคราะห์อย่างละเอียด อัลกอริธึมการประมวลผลแบบคลุมเครือถูกสร้างขึ้นเพื่อระบุขอบเขตในภาพโดยใช้ตัวดำเนินการ Sobel

การประมวลผลภาพ

ตรรกะคลุมเครือ

ระบบอัจฉริยะ

การรับรู้วัตถุ

1. Vesnin E.N., Veto A.V., Tsarev V.A. ในประเด็นของการพัฒนาและการประยุกต์ใช้ระบบการมองเห็นออปโตอิเล็กทรอนิกส์แบบปรับตัว // ระบบอัตโนมัติในอุตสาหกรรม, 2552.- ฉบับที่ 11.- หน้า 48-52

2. กริชิน วี.เอ. ระบบการมองเห็นทางเทคนิคในการแก้ปัญหาการควบคุมยานพาหนะทางอากาศไร้คนขับ // เซ็นเซอร์และระบบหมายเลข 2, 2552.- หน้า 46-52

3. Klevalin V.A. , Polivanov A.Yu. วิธีการจดจำแบบดิจิทัลในระบบการมองเห็นทางเทคนิคของหุ่นยนต์อุตสาหกรรม // เมคคาทรอนิกส์, ระบบอัตโนมัติ, การควบคุม, 2551, ลำดับที่ 5.- หน้า 56-56

4. มิคาอิลอฟ เอส.วี., โรมานอฟ วี.วี., ไซคิน ดี.เอ. ระบบวิชันซิสเต็มทางเทคนิคสำหรับการวินิจฉัยกระบวนการตัดวัสดุ // กระดานข่าวคอมพิวเตอร์และ เทคโนโลยีสารสนเทศ, 2550, ฉบับที่ 3.- หน้า 12-19.

5. เซมิน MS ทบทวนการแก้ปัญหาที่ใช้โดยใช้ระบบการมองเห็นทางเทคนิค // http://www.videoscan.ru/page/718#13

ปัจจุบัน การประมวลผลภาพอัตโนมัติเป็นหนึ่งในพื้นที่ที่สำคัญที่สุดในด้านปัญญาประดิษฐ์ และเกี่ยวข้องกับการพัฒนาระบบหุ่นยนต์ที่ทำการจดจำภาพ หนึ่งในที่สุด เครื่องมือที่มีประสิทธิภาพสำหรับการจดจำรูปแบบคือระบบที่สร้างขึ้นบนลอจิกคลุมเครือและโครงข่ายประสาทเทียม ในระบบวิชันซิสเต็มทางเทคนิค (VTS) จำเป็นต้องใช้วิธีการและอัลกอริธึมหลายวิธีในการแก้ปัญหาเดียวกัน ในรูปแบบต่างๆพร้อมทั้งให้ตัวบ่งชี้ที่จำเป็นสำหรับความเร็วและความน่าเชื่อถือของการระบุตัวตน

สาระสำคัญของอัลกอริธึมการประมวลผลภาพไฮบริดใน SZ ของระบบหุ่นยนต์เคลื่อนที่ (MRC) คือการลดขนาดภาพดั้งเดิมของฉากให้อยู่ในรูปแบบที่ช่วยให้สามารถแก้ไขปัญหาในการจดจำวัตถุได้

อัลกอริธึมสำหรับการประมวลผลภาพล่วงหน้าโดยใช้ระบบฟัซซี่ใน STS

ในการประมวลผลภาพ การประมวลผลแบบคลุมเครือแสดงถึงวิธีการคลุมเครือที่แตกต่างกันมากมาย ซึ่งได้แก่ การทำความเข้าใจ การแสดง การประมวลผลภาพ การแบ่งส่วน และชุดคลุมเครือ ในกระบวนการจดจำรูปแบบกระบวนการประมวลผลภาพฟัซซี่เบื้องต้นมีความสำคัญอย่างยิ่ง เนื่องจากคุณภาพของข้อมูลที่เข้าสู่อินพุตของโครงข่ายประสาทเทียมจะขึ้นอยู่กับคุณภาพนั้น ภายในกรอบของปัญหาที่กำลังแก้ไข อัลกอริธึมการประมวลผลพรีฟัซซี่ที่พัฒนาขึ้นสามารถแสดงเป็นลำดับขั้นตอนต่อไปนี้ (รูปที่ 1): การจับภาพโดยใช้กล้องเว็บ การแปลงภาพสีที่ได้ให้เป็นภาพระดับสีเทา การประมวลผลภาพที่คลุมเครือ

ข้าว. 1. อัลกอริธึมสำหรับการประมวลผลภาพฟัซซี่เบื้องต้น

ดังนั้น ขั้นตอนแรกของการประมวลผลแบบพรีฟัซซี่คือการแปลงภาพจากสีเป็นระดับสีเทา การแปลงสีของภาพเป็นระดับสีเทาทำได้ดังนี้ จานสีทั้งหมดจะแสดงในรูปแบบของลูกบาศก์ ซึ่งจุดยอดตรงกับสีที่ต่างกัน ระดับสีเทาตั้งอยู่บนแนวทแยงของลูกบาศก์ที่เชื่อมต่อจุดยอดสีดำและสีขาว

ในการแปลงรูปภาพเป็นเฉดสีเทา ความเข้มขององค์ประกอบสีแดง เขียว และน้ำเงินจะถูกแยกออกจากแต่ละจุดในภาพ จากนั้นสีจะถูกแปลงโดยใช้สูตรต่อไปนี้:

โดยที่ ค่าสีใหม่ คือ ความเข้มขององค์ประกอบสีแดงของสี คือ ความเข้มขององค์ประกอบสีเขียวของสี และคือ ความเข้มขององค์ประกอบสีน้ำเงินของสี ผลลัพธ์ของแต่ละอัลกอริทึมจะเป็นระดับสีเทาระหว่าง 0 ถึง 1 มีเทคนิคบางอย่างในการแปลงภาพให้เป็นภาพระดับสีเทาเท่านั้น วิธีความสว่างใช้ค่าเฉลี่ยระหว่างสีที่มีนัยสำคัญมากที่สุดและน้อยที่สุดสองสี: วิธีเฉลี่ยใช้ค่าเฉลี่ยทั้งหมด สามสี: - วิธีปรับความสว่างใช้ค่าเฉลี่ยถ่วงน้ำหนักของสีทั้งสามสีเพื่อพิจารณาการรับรู้ของมนุษย์ ดังนั้น เนื่องจากดวงตาของมนุษย์ไวต่อสีเขียวมากที่สุด น้ำหนักจึงถือว่ามีความสำคัญที่สุด: วิธีการตรวจจับความสว่างที่ใช้ ซอฟต์แวร์สำหรับการประมวลผลภาพ มันใช้งานฟังก์ชั่น " rgb2gray" ใน MATLAB และมักใช้สำหรับการมองเห็นคอมพิวเตอร์ การประมวลผลล่วงหน้าแบบคลุมเครือมีกระบวนการแปลงภาพจากสี (RGB) เป็นระดับสีเทาโดยใช้วิธีการตรวจจับความสว่าง จากนั้นรูปภาพจะถูกแปลงจากระดับสีเทาเป็นขาวดำ (รูปที่ 2)

ข้าว. 2. กระบวนการแปลงภาพจากสีเป็นโทนสีเทา

การไบนาไรเซชันของภาพระหว่างการประมวลผลล่วงหน้า

วัตถุประสงค์ของการประมวลผลภาพฟัซซี่เบื้องต้นคือการสร้างและการปรับปรุงภาพในภายหลัง ไบนาไรเซชัน และการเข้ารหัส (โดยเฉพาะการได้การแสดงรูปร่าง) Image binarization เป็นกระบวนการแปลงภาพที่ประกอบด้วยการไล่สีหนึ่งสี (ในกรณีของเราคือสีเทา) ให้เป็นภาพไบนารี่ กล่าวคือ ภาพที่แต่ละพิกเซลสามารถมีได้เพียงสองสีเท่านั้น (ในกรณีของเราคือขาวดำ) จากการเปลี่ยนแปลงนี้ โดยทั่วไปแล้วสีของพิกเซลจะถือว่าเท่ากับศูนย์หรือหนึ่ง ในขณะที่พิกเซลที่มีค่าเป็นศูนย์ (ในกรณีนี้คือพิกเซลสีขาว) จะเรียกว่าพื้นหลัง และพิกเซลที่มีค่าเท่ากับหนึ่ง (สีดำ) เรียกว่า เบื้องหน้า. แต่ภาพไบนารี่ที่ได้รับจากการเปลี่ยนแปลงดังกล่าวจะบิดเบี้ยวเมื่อเปรียบเทียบกับภาพต้นฉบับซึ่งมีลักษณะของการแตกหักและความพร่ามัวบนวัตถุการปรากฏตัวของสัญญาณรบกวนของภาพในพื้นที่ที่เป็นเนื้อเดียวกันตลอดจนการสูญเสียความสมบูรณ์ ของโครงสร้างของวัตถุ

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

เกณฑ์จะแปลงรูปภาพสีหรือสีเทาให้เป็นรูปภาพขาวดำ การแปลงเกณฑ์เป็นจุดศูนย์กลางในปัญหาการแบ่งส่วนภาพที่นำไปใช้ เนื่องจากคุณสมบัติที่ใช้งานง่ายและความง่ายในการใช้งาน สำหรับแต่ละพิกเซลในภาพ จะมีการตรวจสอบระดับความเข้ม หากค่าของมันสูงกว่าระดับเกณฑ์ที่กำหนด ระดับนั้นจะสอดคล้องกับสีขาว หากต่ำกว่าเกณฑ์ที่ตั้งไว้ จะถูกตั้งค่าเป็นสีดำ ระดับเกณฑ์จะอยู่ระหว่าง 0 ถึง 255

ปัจจุบันมีวิธีการไบนาไรเซชันจำนวนมาก สาระสำคัญของการแปลงภาพแรสเตอร์นี้คือ การวิเคราะห์เปรียบเทียบความสว่างของพิกเซลปัจจุบันด้วยค่าเกณฑ์ที่กำหนด: หากความสว่างของพิกเซลปัจจุบันเกินค่าเกณฑ์ เช่น จากนั้นสีพิกเซลในภาพไบนารี่จะเป็นสีขาว มิฉะนั้นสีจะเป็นสีดำ พื้นผิวเกณฑ์คือเมทริกซ์ที่มีขนาดสอดคล้องกับขนาดของภาพต้นฉบับ

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

สำหรับวิธีการแก้ปัญหาเราจะใช้วิธีของเบิร์นเซ่น วิธีการนี้ขึ้นอยู่กับแนวคิดในการเปรียบเทียบระดับความสว่างของพิกเซลที่แปลงแล้วกับค่าของค่าเฉลี่ยท้องถิ่นที่คำนวณในสภาพแวดล้อม พิกเซลภาพจะถูกประมวลผลทีละพิกเซลโดยการเปรียบเทียบความเข้มกับค่าความสว่างเฉลี่ยในหน้าต่างที่อยู่กึ่งกลางจุด (รูปที่ 3)

ข้าว. 3. การแปลงพิกเซลของภาพ

อัลกอริธึมการประมวลผลแบบคลุมเครือสำหรับการตรวจจับขอบและการแบ่งส่วนภาพ

หลังจากแปลงภาพเป็นขาวดำ จะได้ภาพที่มีการไล่ระดับสีโดยใช้ตัวดำเนินการ Sobel และป้อนเข้ากับอินพุตของการประมวลผลภาพแบบคลุมเครือ (FIP) (รูปที่ 4)

การประมวลผลภาพคลุมเครือประกอบด้วยสามขั้นตอนหลัก: การเบลอภาพ ระบบอนุมานคลุมเครือเกี่ยวกับค่าสมาชิก และการเบลอภาพ การประมวลผลภาพคลุมเครือหลักอยู่ในขั้นตอนกลาง (ระบบอนุมานคลุมเครือ) หลังจากที่ส่งข้อมูลภาพจากระดับสีเทาไปสู่การคลุมเครือแล้ว ระบบการอนุมานแบบคลุมเครือจะถูกกำหนดโดยค่าสมาชิก การทำให้คลุมเครือคือการเข้ารหัสข้อมูลภาพ และการถอดรหัสคือการถอดรหัสผลลัพธ์ ซึ่งช่วยให้สามารถประมวลผลภาพด้วยเทคนิคคลุมเครือได้

รูปภาพ - ขนาดที่มีระดับสีเทา และสามารถกำหนดเป็นอาร์เรย์ของชุดจุดเดียวแบบคลุมเครือ (ชุดคลุมเครือสามารถรองรับได้เพียงจุดเดียว) ซึ่งระบุค่าสมาชิกของแต่ละพิกเซลสัมพันธ์กับคุณสมบัติเบื้องต้นของภาพ (เช่น - ความสว่าง ความเรียบเนียน ฯลฯ ).

(1)

ที่ไหน และ เป็นสมาชิกพิกเซลในรูปแบบฟัซซี่เซต การกำหนดค่าความเป็นสมาชิกขึ้นอยู่กับข้อกำหนดเฉพาะของแอปพลิเคชันเฉพาะและฐานความรู้ที่เกี่ยวข้อง

เอาต์พุตของระบบสำหรับระบบอินพุตกำหนดโดยสูตรต่อไปนี้:

(2)

ข้าว. 4. อัลกอริธึมการประมวลผลภาพที่คลุมเครือสำหรับการตรวจจับขอบ

การประยุกต์โครงข่ายประสาทเทียมเพื่อการจดจำรูปแบบ

เพอร์เซปตรอนหลายชั้นเป็นโครงข่ายประสาทเทียมที่ประกอบด้วยโหนดอินพุตหลายโหนดที่ก่อตัวเป็นเลเยอร์อินพุต เลเยอร์ของเซลล์ประสาทในการคำนวณหนึ่งเลเยอร์ขึ้นไป และเลเยอร์เอาท์พุตหนึ่งเลเยอร์ (รูปที่ 6) ในเครือข่ายดังกล่าว สัญญาณที่ใช้กับเลเยอร์อินพุตจะถูกส่งตามลำดับในทิศทางไปข้างหน้าจากเลเยอร์หนึ่งไปอีกเลเยอร์หนึ่ง ประเภทนี้ ANN ถูกนำมาใช้อย่างประสบความสำเร็จในการแก้ปัญหาต่างๆ โดยเฉพาะปัญหาการจดจำรูปแบบ

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

อัลกอริธึมที่พบบ่อยที่สุดประการหนึ่งสำหรับการฝึกอบรมโครงข่ายประสาทเทียมหลายชั้นคืออัลกอริธึมการแพร่กระจายกลับ อัลกอริทึมนี้จะคำนวณเวกเตอร์ไล่ระดับสีของพื้นผิวข้อผิดพลาด จากนั้นเราจะย้ายจำนวนหนึ่งไปในทิศทางของเวกเตอร์ (มันจะระบุทิศทางของการลงที่ชันที่สุดให้เราทราบ) โดยที่ค่าความผิดพลาดจะน้อยลง ความก้าวหน้าอย่างต่อเนื่องดังกล่าวจะค่อยๆ นำไปสู่การลดข้อผิดพลาดให้เหลือน้อยที่สุด ที่นี่ความยากลำบากเกิดขึ้นในการกำหนดจำนวนเงินที่จะล่วงหน้า หากขนาดขั้นค่อนข้างใหญ่จะทำให้ลงได้เร็วที่สุดแต่มีความเป็นไปได้ที่จะ “กระโดดข้าม”

ไปยังจุดที่ต้องการหรือไปผิดทิศทางหากพื้นผิวมีรูปร่างค่อนข้างซับซ้อน ตัวอย่างเช่น หากพื้นผิวเป็นหุบเขาแคบและมีทางลาดชัน อัลกอริธึมจะเคลื่อนที่ช้ามาก โดยกระโดดจากทางลาดหนึ่งไปยังอีกทางหนึ่ง หากขนาดของขั้นตอนมีขนาดเล็ก สิ่งนี้จะนำไปสู่การค้นหาทิศทางที่เหมาะสมที่สุด แต่สามารถเพิ่มจำนวนการวนซ้ำได้อย่างมาก เพื่อให้ได้ผลลัพธ์ที่ดีที่สุด ขนาดของขั้นบันไดจะต้องเป็นสัดส่วนกับความชันของทางลาดโดยมีค่าคงที่ที่แน่นอน นั่นคือ อัตราการเรียนรู้ การเลือกค่าคงที่นี้ดำเนินการทดลองและขึ้นอยู่กับเงื่อนไขของงานเฉพาะ

ให้เราแนะนำสัญกรณ์ต่อไปนี้ เรามาแสดงเมทริกซ์ของค่าสัมประสิทธิ์น้ำหนักจากอินพุตไปยังเลเยอร์ที่ซ่อนอยู่และเมทริกซ์ของน้ำหนักที่เชื่อมต่อเลเยอร์ที่ซ่อนอยู่และเลเยอร์เอาท์พุต - สำหรับดัชนี เราจะใช้สัญลักษณ์ต่อไปนี้: อินพุตจะมีหมายเลขตามดัชนีเท่านั้น องค์ประกอบของเลเยอร์ที่ซ่อนอยู่ - ตามดัชนี และเอาต์พุต - ตามดัชนี จำนวนอินพุตเครือข่ายคือ จำนวนเซลล์ประสาทในเลเยอร์ที่ซ่อนอยู่คือ จำนวนเซลล์ประสาทในเลเยอร์เอาต์พุตคือ ให้เครือข่ายได้รับการฝึกอบรมเกี่ยวกับตัวอย่าง . จากนั้นอัลกอริธึมการฝึกอบรม Perceptron หลายชั้นจะมีลักษณะดังนี้:

ขั้นตอนที่ 1 การเริ่มต้นเครือข่าย ค่าสัมประสิทธิ์การถ่วงน้ำหนักจะถูกกำหนดค่าสุ่มขนาดเล็ก เช่น จากช่วง (-0.3, 0.3) ได้รับการตั้งค่าไว้ - พารามิเตอร์ความแม่นยำในการเรียนรู้ - พารามิเตอร์ความเร็วในการเรียนรู้ (ตามกฎและสามารถลดลงได้อีกในระหว่างกระบวนการเรียนรู้) - จำนวนการวนซ้ำสูงสุดที่อนุญาต

ขั้นตอนที่ 2 คำนวณสัญญาณเอาท์พุตปัจจุบัน หนึ่งในภาพของตัวอย่างการฝึกอบรมจะถูกส่งไปยังอินพุตเครือข่ายและกำหนดค่าเอาต์พุตของเซลล์ประสาททั้งหมดของโครงข่ายประสาทเทียม

ขั้นตอนที่ 3 การตั้งค่าน้ำหนักสรุป คำนวณการเปลี่ยนแปลงน้ำหนักสำหรับเลเยอร์เอาต์พุตของโครงข่ายประสาทเทียมโดยใช้สูตร:

ที่ไหน , . คำนวณการเปลี่ยนแปลงน้ำหนักสำหรับเลเยอร์ที่ซ่อนอยู่โดยใช้สูตร: , ที่ไหน

ขั้นตอนที่ 4 ทำซ้ำขั้นตอนที่ 2-3 สำหรับเวกเตอร์การฝึกทั้งหมด การฝึกจะเสร็จสิ้นเมื่ออิมเมจการฝึกแต่ละภาพถึงค่าฟังก์ชันข้อผิดพลาดที่ไม่เกิน e หรือหลังจากจำนวนการวนซ้ำสูงสุดที่อนุญาต

ในขั้นตอนที่ 2 จะเป็นการดีกว่าที่จะนำเสนอเวกเตอร์จากลำดับการฝึกไปยังอินพุตตามลำดับแบบสุ่ม

ตามกฎแล้วจำนวนอินพุตและเอาต์พุตของเครือข่ายถูกกำหนดโดยเงื่อนไขของปัญหาและขนาดของเลเยอร์ที่ซ่อนอยู่นั้นพบได้จากการทดลอง โดยทั่วไปจำนวนเซลล์ประสาทในนั้นจะอยู่ที่ 30-50% ของจำนวนอินพุต มีเซลล์ประสาทมากเกินไปในเลเยอร์ที่ซ่อนอยู่ทำให้เครือข่ายสูญเสียความสามารถในการสรุป (เพียงจดจำองค์ประกอบของตัวอย่างการฝึกอย่างละเอียดและไม่ตอบสนองต่อตัวอย่างที่คล้ายกัน ซึ่งงานการจดจำไม่สามารถยอมรับได้) หากจำนวนเซลล์ประสาทในเลเยอร์ที่ซ่อนอยู่น้อยเกินไป เครือข่ายก็ไม่สามารถเรียนรู้ได้

บทสรุป

พิจารณาปัญหาหลักตลอดจนวิธีแก้ปัญหาในระหว่างการเตรียมภาพเบื้องต้นเพื่อการจดจำ อัลกอริธึมการประมวลผลล่วงหน้าโดยใช้ลอจิกคลุมเครือและกระบวนการไบนาไรเซชันของภาพได้รับการวิเคราะห์อย่างละเอียด อัลกอริธึมการประมวลผลแบบคลุมเครือถูกสร้างขึ้นเพื่อระบุขอบเขตในภาพโดยใช้ตัวดำเนินการ Sobel

ผู้วิจารณ์:

Gagarina L.G. วิทยาศาสตรดุษฎีบัณฑิต ศาสตราจารย์ หัวหน้าภาควิชาวิทยาการคอมพิวเตอร์และซอฟต์แวร์ ระบบคอมพิวเตอร์» มหาวิทยาลัยวิจัยแห่งชาติ "MIET" กรุงมอสโก

Portnov E.M., วิทยาศาสตรดุษฎีบัณฑิต, ศาสตราจารย์ภาควิชาวิทยาการคอมพิวเตอร์และซอฟต์แวร์ระบบคอมพิวเตอร์, หัวหน้าห้องปฏิบัติการวิจัย "ผู้จัดการ" ระบบสารสนเทศ» มหาวิทยาลัยวิจัยแห่งชาติ "MIET" กรุงมอสโก

ลิงค์บรรณานุกรม

ออง C.H., Tant Z.P., Fedorov A.R., Fedorov P.A. การพัฒนาอัลกอริธึมการประมวลผลภาพโดยหุ่นยนต์เคลื่อนที่อัจฉริยะโดยใช้ลอจิกแบบคลุมเครือและเครือข่ายประสาท // ปัญหาสมัยใหม่ของวิทยาศาสตร์และการศึกษา – 2014. – ลำดับที่ 6.;
URL: http://science-education.ru/ru/article/view?id=15579 (วันที่เข้าถึง: 02/01/2020) เรานำเสนอนิตยสารที่คุณจัดพิมพ์โดยสำนักพิมพ์ "Academy of Natural Sciences"

การนำเสนอภาพ

การแสดงภาพมีสองประเภทหลักๆ ได้แก่ เวกเตอร์และแรสเตอร์

ในการแสดงเวกเตอร์ รูปภาพจะอธิบายด้วยชุดของเส้น (เวกเตอร์) ซึ่งมีพิกัดของจุดเริ่มต้นและจุดสิ้นสุด ความโค้งของเส้น และลักษณะทางเรขาคณิตอื่น ๆ ยังได้อธิบายกฎสำหรับการสร้างพื้นที่ต่างๆ และลักษณะสีด้วย . กล่าวอีกนัยหนึ่งสำหรับการแสดงแรสเตอร์จำเป็นต้องสร้างบางส่วน แบบจำลองทางคณิตศาสตร์- ดังนั้นการแสดงเวกเตอร์จึงถูกนำมาใช้เป็นหลักในการแก้ปัญหาการสังเคราะห์ภาพ แม้ว่าอัลกอริธึมการรู้จำภาพบางภาพจำเป็นต้องมีการแสดงเวกเตอร์สำหรับงานของพวกเขา ซึ่งจะต้องได้มาจากภาพต้นฉบับ

ภาพแรสเตอร์คือเมทริกซ์ตั้งแต่หนึ่งเมทริกซ์ขึ้นไปที่อธิบายการกระจายเชิงพื้นที่ของคุณลักษณะของภาพบนตารางพิกัดคาร์ทีเซียนบางเส้น ในกรณีนี้ รูปภาพจะถูกสร้างขึ้นจากหลายจุดและมีโครงสร้างแรสเตอร์ องค์ประกอบหลักของการแสดงแรสเตอร์ของรูปภาพคือพิกเซล (ย่อมาจากวลี "องค์ประกอบรูปภาพ" - องค์ประกอบรูปภาพ) ซึ่งมีพิกัดในระบบพิกัดแรสเตอร์และคุณลักษณะบางอย่าง (สี ความสว่าง ความโปร่งใส ฯลฯ ) จำนวนพิกเซลในพิกัด X และ Y (แนวนอนและแนวตั้ง) จะกำหนดความละเอียด (มิติ) ของการนำเสนอภาพ สีของพิกเซลถูกระบุตามความลึก - จำนวนบิตที่จำเป็นในการระบุสีใดๆ

ภาพแรสเตอร์ ขึ้นอยู่กับวิธีการตั้งค่าสีพิกเซลและคุณสมบัติของภาพต้นฉบับ แบ่งออกเป็น:

ไบนารี่

ฮาล์ฟโทน

จานสี

ครบสี

ในการเป็นตัวแทนไบนารี สีของพิกเซลอาจเป็นสีขาวหรือสีดำก็ได้ และจะถูกเข้ารหัสเป็นบิตเดียว รูปภาพเป็นเมทริกซ์ แต่ละองค์ประกอบ I (i, j) ของเมทริกซ์นี้มีค่า 0 หรือ 1 โดยที่ i คือหมายเลขแถว และเป็นหมายเลขคอลัมน์ j ขององค์ประกอบที่สอดคล้องกับพิกเซลที่กำหนด (รูปที่ 1)

ในภาพระดับสีเทา พิกเซลจะแสดงค่าความสว่างที่สอดคล้องกับเฉดสีเทา ดัชนีเมทริกซ์ที่อธิบายภาพฮาล์ฟโทนจะระบุตำแหน่งของพิกเซลบนแรสเตอร์ และค่าขององค์ประกอบเมทริกซ์

– ตั้งค่าความสว่าง I (i, j) (รูปที่ 2)

รูปภาพจานสีอธิบายด้วยเมทริกซ์สองตัว (รูปที่ 3) หนึ่งเก็บค่าดัชนีที่ระบุการเข้าถึงแถวของเมทริกซ์จานสี เมทริกซ์จานสีเป็นแผนผังสี ประกอบด้วยคอลัมน์ 3 กลุ่ม - ซึ่งสอดคล้องกับสี "R" สีแดง, สีเขียว "G" และ "B" สีน้ำเงิน พวกเขากำหนดสีของพิกเซลที่เกี่ยวข้อง

จานสีเป็นเมทริกซ์ของมิติ Nc 3 โดยที่ Nc คือจำนวนสี

อัลกอริธึมการประมวลผลล่วงหน้ารูปภาพ

ภาพสีเต็ม-มีมาในตัว รูปแบบ RGBและเป็นตัวแทนของเมทริกซ์สามตัว R (i, j), G (i, j), B (i, j) องค์ประกอบที่สอดคล้องกันของแต่ละเมทริกซ์ประกอบด้วยความเข้มของสีแดง เขียว และน้ำเงินสำหรับพิกเซลที่ระบุโดยดัชนีเมทริกซ์ ดังนั้น รูปภาพสีเต็มจึงไม่มีแผนผังสี และสีของแต่ละพิกเซลจะแสดงด้วยตัวเลขสามตัวที่นำมาจากเมทริกซ์ที่สอดคล้องกัน (รูปที่ 4)

รูปแบบของตัวเลขในเมทริกซ์อาจเป็นจำนวนเต็มหรือจุดลอยตัวก็ได้ กรณีแรกเกี่ยวข้องกับสิ่งที่เรียกว่าภาพดิจิทัลที่ได้รับจากการใช้งาน อุปกรณ์ต่างๆ– เครื่องสแกน, กล้องดิจิตอล, กล้องโทรทัศน์ ฯลฯ ในรูปแบบนี้ข้อมูลเกี่ยวกับรูปภาพจะถูกจัดเก็บไว้ในไฟล์กราฟิกมาตรฐาน

ตัวเลือกที่สองใช้สำหรับการแสดงรูปภาพภายในระหว่างการประมวลผล ในกรณีนี้ จะสะดวกในการทำให้ข้อมูลความเข้มเป็นมาตรฐานเป็นช่วงเดียว เช่น ช่วง และทำการคำนวณต่างๆ ด้วยตัวเลขลอยตัว จากนั้นแปลงผลลัพธ์เป็นรูปแบบจำนวนเต็มดั้งเดิม วิธีนี้ช่วยให้คุณลดข้อผิดพลาดในการคำนวณและเพิ่มความแม่นยำของผลการประมวลผล

สำหรับรูปภาพสีเต็ม พารามิเตอร์ตัวใดตัวหนึ่งคือจำนวนสีสูงสุดที่สามารถแสดงในรูปแบบนั้นได้ รูปภาพที่ใช้บ่อยที่สุดคือรูปภาพที่มีสี 16, 256, 65536 (High Color) และ 10.7 ล้าน (True Color)

อัลกอริธึมการประมวลผลล่วงหน้ารูปภาพ

0 0 0 0 1 1 1 0 0

120 122 125 128 115 117 118

1 0 0 0 1 1 1 1 0

119 121 124 125 128 130 133

1 1 0 0 1 1 0 0 1

122 122 124 123 127 126 128

120 121 123 125 127 125 126

1 1 1 0 1 1 0 0 0

118 110 109 108 108 109 110

0 0 1 0 0 1 0 0 1

อัลกอริธึมการประมวลผลล่วงหน้ารูปภาพ

ดัชนีเมทริกซ์

31 15 03 09

จานสีเมทริกซ์

อัลกอริธึมการประมวลผลล่วงหน้ารูปภาพ

ภาพสีเต็มรูปแบบสามารถแสดงได้ไม่เพียงแต่ในรูปแบบ RGB เท่านั้น แต่ยังใช้ระบบสีอื่นๆ ได้ด้วย

ในระบบ HSB สีจะแสดงตามลักษณะสีต่อไปนี้: เฉดสี – โทนสี;

ความอิ่มตัว – ความอิ่มตัว; ความสว่าง – ความสว่าง.

เชื่อกันว่าระบบสีนี้สอดคล้องกับลักษณะเฉพาะของการรับรู้สีของมนุษย์

ในระบบ LAB สีถือเป็นการรวมกันของความสว่าง (ความสว่าง) และค่าสีอิสระสองค่า ซึ่งเป็นตัวกำหนดสีที่แท้จริงของพิกเซล Chromaticity A – ส่วนประกอบสีถูกเลือกในช่วงตั้งแต่สีม่วงไปจนถึงสีเขียว Chromaticity B - องค์ประกอบสีที่สองถูกเลือกจากช่วงตั้งแต่สีเหลืองถึงสีน้ำเงิน

มีระบบแสดงสีอื่นๆ โดยธรรมชาติแล้ว พวกมันทั้งหมดเชื่อมโยงกัน และหนึ่งตัวแทนสามารถใช้เพื่อรับอีกตัวแทนหนึ่งได้ ความหลากหลายของระบบสีถูกกำหนดโดยปัญหาที่แก้ไขได้ด้วยความช่วยเหลือ ตัวอย่างเช่น การแก้ไขสีในระบบ LAB จะสะดวกกว่า การสร้างภาพบนหน้าจอมอนิเตอร์ในระบบ RGB จะดีกว่า การพิมพ์จะดีกว่า

อัลกอริธึมการประมวลผลล่วงหน้ารูปภาพ

โดยใช้ตัวแทน CMYK อย่างไรก็ตาม ไม่ว่าในกรณีใด เมื่อประมวลผลภาพและจดจำภาพเหล่านั้น ภาพเหล่านั้นจะทำงานร่วมกับการแสดงภาพแรสเตอร์ที่มีเมทริกซ์ตั้งแต่หนึ่งเมทริกซ์ขึ้นไป

การจำแนกประเภทของอัลกอริธึมการประมวลผลล่วงหน้า

อัลกอริธึมการประมวลผลล่วงหน้าของภาพแบ่งออกเป็นกลุ่มต่างๆ ขึ้นอยู่กับคุณสมบัติการจัดประเภท อัลกอริธึมการประมวลผลล่วงหน้าทั้งหมดจะต้องปรับปรุงคุณภาพของภาพในแง่หนึ่ง หรือแปลงเป็นรูปแบบที่สะดวกที่สุดสำหรับการประมวลผลในภายหลัง

อัลกอริทึมที่มุ่งปรับปรุงการสร้างสีของภาพเรียกว่าอัลกอริธึมการแก้ไขสี กลุ่มนี้ยังรวมถึงอัลกอริธึมที่ทำงานกับภาพฮาล์ฟโทนที่เปลี่ยนลักษณะความสว่างและคอนทราสต์

อัลกอริทึมที่มุ่งประมวลผลลักษณะเชิงพื้นที่ของภาพเรียกว่าอัลกอริทึม การกรองเชิงพื้นที่กลุ่มนี้ประกอบด้วยอัลกอริธึมการลดเสียงรบกวน อัลกอริธึมการปรับให้เรียบเชิงพื้นที่ และอัลกอริธึมการขยายเชิงพื้นที่ อัลกอริธึมสำหรับการลดและขยายความถี่เชิงพื้นที่

เรียกว่าอัลกอริทึมที่ดำเนินการทางเรขาคณิตบนรูปภาพ อัลกอริธึมการประมวลผลทางเรขาคณิต- ซึ่งรวมถึง:

อัลกอริธึมการประมวลผลล่วงหน้ารูปภาพ

การครอบตัดรูปภาพ – การเลือกบางส่วนของรูปร่างสี่เหลี่ยมจากรูปภาพต้นฉบับ

ปรับขนาดรูปภาพ ใช้อัลกอริธึมเหล่านี้ วิธีการต่างๆการแก้ไขซึ่งช่วยให้คุณสามารถเติมพิกเซลที่หายไปในภาพที่ขยายใหญ่ได้อย่างถูกต้องหรือคำนวณค่าพิกเซลใหม่เมื่อลดขนาดรูปภาพ

หมุนภาพ อัลกอริธึมเหล่านี้จะหมุนภาพต้นฉบับตามมุมที่กำหนด โดยคำนวณค่าพิกเซลใหม่อย่างถูกต้องโดยใช้วิธีการแก้ไขต่างๆ

อัลกอริทึมที่ทำการแปลงจากระบบสีหนึ่งไปอีกระบบหนึ่งเรียกว่า อัลกอริธึมการแปลงสี- สิ่งเหล่านี้ยังรวมถึงอัลกอริธึมสำหรับการแปลงภาพสีเป็นระดับสีเทาและอัลกอริธึมไบนาไรเซชันที่แปลงภาพต้นฉบับเป็นไบนารี

อัลกอริธึมที่เน้นบางพื้นที่ในภาพต้นฉบับตามเงื่อนไขต่างๆ ที่มักไม่เป็นทางการเรียกว่าอัลกอริธึมการแบ่งส่วน ตัวอย่างของอัลกอริทึมดังกล่าวอาจเป็น ตัวอย่างเช่น อัลกอริทึมที่ควรเน้นพื้นที่ของข้อความและข้อมูลกราฟิกในภาพเอกสาร หรืออัลกอริทึมที่จะเน้นพื้นที่ในภาพข้อความที่เกี่ยวข้องกับคำแต่ละคำ

อัลกอริธึมการประมวลผลล่วงหน้ารูปภาพ

อัลกอริธึมการกรองเชิงพื้นที่

การกรองภาพเชิงพื้นที่ในรูปแบบทางคณิตศาสตร์เป็นการรวมตัวกันของภาพที่แยกจากกันโดยมีการตอบสนองแบบอิมพัลส์ของตัวกรองเชิงพื้นที่

ถ้า (ฉัน, เจ)

ฉัน(ฉัน m , j n )h (m , n ) โดยที่:

ม N11 และ N21

Im, หากเมทริกซ์ของรูปภาพต้นฉบับและรูปภาพที่ถูกกรอง, เมทริกซ์ h ของการตอบสนองแบบอิมพัลส์ของตัวกรอง

N 11, N 21 คือขอบเขตล่างและด้านบนของคอลัมน์ตอบสนองแรงกระตุ้น, N 12, N 22 คือขอบเขตด้านซ้ายและด้านขวาของแถวตอบสนองแรงกระตุ้น

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

โปรดทราบว่าการกรองสามารถทำได้ในโดเมนความถี่ด้วย ในเรื่องนี้

อัลกอริธึมการประมวลผลล่วงหน้ารูปภาพ

ในกรณีนี้ ลำดับการกรองจะเป็นดังนี้:

แปลงรูปภาพจากโดเมนเชิงพื้นที่เป็นโดเมนความถี่โดยใช้การแปลงฟูริเยร์แบบแยกสองมิติ

ดำเนินการคูณเมทริกซ์ความถี่ภาพทีละองค์ประกอบด้วยเมทริกซ์ความถี่ตัวกรอง

แปลงผลลัพธ์ที่ได้ให้เป็นโดเมนเชิงพื้นที่โดยใช้การแปลงฟูริเยร์แบบไม่ต่อเนื่องสองมิติผกผัน

ฉัน(x, y)

ฉัน(ฉ x , ฉ )

ถ้า (f x , f y ) Im(f x , f y ) H (f x , f y )

ถ้า(fx,fy)

ถ้า (x, y)

การกรองรูปภาพในโดเมนความถี่นั้นไม่ค่อยได้ใช้เนื่องจากมีการคำนวณจำนวนมาก อย่างไรก็ตาม วิธีการกรองนี้ใช้กันอย่างแพร่หลายในการคำนวณทางทฤษฎีเมื่อวิเคราะห์ตัวเลือกการประมวลผลภาพ ช่วยให้คุณจินตนาการได้ชัดเจนว่าต้องการการกรองแบบใด ตัวอย่างเช่น หากคุณต้องการเน้นการเปลี่ยนแปลงความสว่างอย่างคมชัดในภาพ ก็เห็นได้ชัดว่าคุณต้องใช้ฟิลเตอร์กรองความถี่สูง ในทางตรงกันข้ามหากคุณต้องการกำจัดสัญญาณรบกวนความถี่ต่ำ - วงจรสั่น, การปล่อยสัญญาณส่วนบุคคล ฯลฯ คุณต้องใช้ตัวกรองความถี่ต่ำผ่าน พารามิเตอร์ฟิลเตอร์เฉพาะจะถูกเลือกตามการวิเคราะห์ความถี่ของสัญญาณรบกวนและคุณสมบัติของภาพต้นฉบับ