อัลกอริธึมการมองเห็นของคอมพิวเตอร์: ทุกสิ่งที่คุณอยากรู้ [2022]

เผยแพร่แล้ว: 2021-01-01

ทำความรู้จักกับอัลกอริธึมที่ช่วยให้คอมพิวเตอร์รับรู้

สารบัญ

บทนำ

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

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

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

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

ตัวอย่าง

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

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

ในท้ายที่สุด โมเดลการทำนาย (โมเดลที่ผ่านการฝึกอบรม) จะจัดประเภทรูปภาพตามคุณสมบัติที่ดึงออกมาในขั้นตอนตัวกลาง

อัลกอริทึม

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

ในการใช้การแปลงฟูริเยร์กับรูปภาพ เราได้สเปกตรัมขนาดที่ให้ข้อมูลความถี่ของภาพ จุดที่มีความเข้มข้นตรงกลางรูปภาพโดเมนความถี่หมายความว่ามีส่วนประกอบความถี่ต่ำจำนวนมากอยู่ในรูปภาพ ส่วนประกอบที่มีความถี่สูง ได้แก่ — ขอบ มุม แถบ ฯลฯ เรารู้ว่ารูปภาพเป็นฟังก์ชันของ x และ yf(x,y) ในการวัดการเปลี่ยนแปลงความเข้ม เราแค่หาอนุพันธ์ของฟังก์ชัน f(x,y)

ตัวกรองเงียบขรึม

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

ตัวดำเนินการ Sobel หมุนภาพด้วยตัวกรองค่าจำนวนเต็มขนาดเล็กในทิศทางแนวนอนและแนวตั้ง ทำให้ผู้ปฏิบัติงานมีราคาถูกในแง่ของความซับซ้อนในการคำนวณ ตัวกรอง Sx ตรวจจับขอบในแนวนอนและตัวกรอง Sy ตรวจจับขอบในแนวตั้ง เป็นตัวกรองความถี่สูง

การใช้ Sx กับรูปภาพ

การใช้ Sy กับรูปภาพ

อ่าน: เงินเดือนการเรียนรู้ของเครื่องในอินเดีย

ตัวกรองเฉลี่ย

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

การกรองแบบเฉลี่ย (หรือค่ากลาง) จะทำให้ภาพดูเรียบเนียนขึ้นโดยลดปริมาณความแปรผันของความเข้มระหว่างพิกเซลข้างเคียง

ฟิลเตอร์เฉลี่ย, แหล่งที่มาของรูปภาพ

ฟิลเตอร์เบลอแบบเกาส์เซียน

ฟิลเตอร์เบลอแบบเกาส์เซียนเป็นฟิลเตอร์กรองความถี่ต่ำและมีฟังก์ชันดังต่อไปนี้:

  1. ทำให้ภาพราบรื่น
  2. บล็อกส่วนความถี่สูงของรูปภาพ
  3. ถนอมขอบ

ในทางคณิตศาสตร์ โดยการใช้การเบลอแบบเกาส์เซียนกับรูปภาพ เรากำลังทำให้รูปภาพบิดเบี้ยวด้วยฟังก์ชันเกาส์เซียน

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

ฟิลเตอร์ Gaussian Blur, แหล่งที่มาของภาพ

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

อ่านเพิ่มเติม: ประเภทของอัลกอริทึม AI ที่คุณควรรู้

เครื่องตรวจจับขอบแคนนี่

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

  1. เป็นอัลกอริธึมการตรวจจับขอบที่แม่นยำที่ใช้กันอย่างแพร่หลาย
  2. กรองสัญญาณรบกวนโดยใช้ Gaussian Blur
  3. ค้นหาความแข็งแรงและทิศทางของขอบโดยใช้ฟิลเตอร์ Sobel
  4. ใช้การปราบปรามแบบ non-max เพื่อแยกขอบที่แข็งแรงที่สุดและทำให้บางเป็นเส้นพิกเซลเดียว
  5. ใช้ฮิสเทรีซิส (วิธีการกำหนดเกณฑ์สองเท่า) เพื่อแยกขอบที่ดีที่สุด

เครื่องตรวจจับ Canny Edge บนภาพถ่ายเครื่องยนต์ไอน้ำ, รูปภาพโดย Wikipedia

Haar Cascade

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

  1. ขอบ
  2. เส้น
  3. รูปแบบสี่เหลี่ยมผืนผ้า

ในการตรวจจับรูปแบบข้างต้น จะใช้คุณลักษณะต่อไปนี้:

ชั้น Convolutional

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

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

Convolutional Neural Network, ที่มาของภาพ

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

ต้องอ่าน: ประเภทของอัลกอริทึมการจำแนกประเภทใน ML

บทสรุป

ภาพรวมของอัลกอริธึมทั่วไปส่วนใหญ่ที่ใช้ใน Computer Vision ได้กล่าวถึงในบล็อกนี้พร้อมกับไปป์ไลน์ทั่วไป อัลกอริทึมเหล่านี้เป็นพื้นฐานของอัลกอริธึมที่ซับซ้อนมากขึ้น เช่น SIFT, SURF, ORB และอื่นๆ อีกมากมาย

หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับแมชชีนเลิร์นนิง โปรดดูที่ IIIT-B & upGrad's PG Diploma in Machine Learning & AI ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 450 ชั่วโมง กรณีศึกษาและการมอบหมายมากกว่า 30 รายการ IIIT- สถานะศิษย์เก่า B, 5+ โครงการหลักที่ใช้งานได้จริง & ความช่วยเหลือด้านงานกับบริษัทชั้นนำ

อะไรคือความแตกต่างระหว่างการประมวลผลภาพและคอมพิวเตอร์วิทัศน์?

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

เหตุใดจึงใช้ Deep Learning เพื่อสร้างอัลกอริธึม Computer Vision

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

ฟิลเตอร์ Low Pass และฟิลเตอร์ High Pass คืออะไร?

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