บทความ: กระแสน้ำวน, วิธีการเชิงแสง การสร้างกระแสแสง วิธีการกำหนดการไหลทางแสง

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

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

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

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

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

การคำนวณ

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

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

สำหรับกรณีมิติ 2D+ ที(เหมือนกันสำหรับ 3D หรือ ไม่มีกรณี) ตำแหน่งของว็อกเซลที่มีความเข้มที่จะเคลื่อนที่ต่อไป และระหว่างสองเฟรมภาพ และด้วยข้อจำกัดที่ตามมา ความสม่ำเสมอของความสว่างข้อจำกัดด้านความมั่นคง) สามารถเขียนได้:

สมมติว่าการเคลื่อนไหวไม่มีนัยสำคัญ เมื่อคำนวณการประมาณภาพโดยใช้อนุกรม Taylor เราจะได้:

… (สมาชิกลำดับที่สูงกว่า)

จากสมการเหล่านี้มีดังนี้:

ส่งผลให้

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

ดังนั้น:

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

เซ็นเซอร์วัดการไหลของแสง

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

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

รูปภาพที่เกี่ยวข้อง


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

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

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

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

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

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

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

โปรดทราบว่าหากต้องการ คุณสามารถเขียนเข้ามาได้เช่นกัน มุมมองทั่วไป- โดยที่ y และ t คงที่และเท่ากับศูนย์

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

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

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

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

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

เวกเตอร์การกระจัดอยู่ที่ไหน
ตามสมมติฐานที่ตั้งไว้ โปรดทราบว่านิพจน์นี้เทียบเท่ากับ นี่คือสิ่งที่เราต้องการ มาเขียนใหม่:

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

มาเขียนใหม่อีกครั้งโดยขยายการไล่ระดับสี:

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

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

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

ในการค้นหาค่าต่ำสุด เราใช้วิธีกำลังสองน้อยที่สุดและค้นหาอนุพันธ์ย่อยที่เกี่ยวข้องกับและ:

มาเขียนมันใหม่ในรูปแบบที่กะทัดรัดกว่านี้แล้วเท่ากับศูนย์:

ลองเขียนสมการทั้งสองนี้ใหม่ในรูปแบบเมทริกซ์:

หากเมทริกซ์ M กลับด้านได้ (มีอันดับ 2) เราสามารถคำนวณ และ ซึ่งจะลดข้อผิดพลาด E ให้เหลือน้อยที่สุด:

นั่นคือทั้งหมดที่ เรารู้การกระจัดของพิกเซลโดยประมาณระหว่างสองเฟรมที่อยู่ติดกัน

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

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

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

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

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

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

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

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

ข้าว. 1.

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

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

ลองยกเลิกทางซ้ายและขวา หารด้วย แล้วไปให้ถึงขีดจำกัดที่. เราได้รับ

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

ให้เราเขียน (4) ใหม่ในรูปแบบ

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

ปัญหาของการลดฟังก์ชัน (6) ให้เหลือน้อยที่สุด ได้รับการแก้ไขโดยใช้ขั้นตอนการวนซ้ำ (7)-(8) ลำดับความเร็วที่ลดการทำงาน (6) มีรูปแบบ:

ที่นี่ดัชนีจะแสดงจำนวนการวนซ้ำปัจจุบัน - ดัชนีของโหนดกริดปัจจุบัน

กระบวนการวนซ้ำจะสิ้นสุดลงเมื่อความคลาดเคลื่อน (9) ระหว่างการวนซ้ำสองครั้งติดต่อกันน้อยกว่าจำนวนที่กำหนดไว้:

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

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

เสนอให้คำนวณอนุพันธ์ของความสว่างของภาพดังนี้

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

ตอนนี้ ด้วยการแทนที่อนุพันธ์บางส่วน (10) และความเร็วเฉลี่ย (8) ลงในกระบวนการวนซ้ำ (7) ด้วยเงื่อนไขเริ่มต้น สำหรับทุกคนในภูมิภาค ทำให้ง่ายต่อการค้นหาความเร็วของจุดกริดทั้งหมดบนเฟรมที่สังเกตได้ของวิดีโอ ลำดับ.

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


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

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

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

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

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

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

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

โปรดทราบว่าหากต้องการคุณสามารถเขียนในรูปแบบทั่วไปได้: ; โดยที่ y และ t คงที่และเท่ากับศูนย์

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

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

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

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

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

เวกเตอร์การกระจัดอยู่ที่ไหน
ตามสมมติฐานที่ตั้งไว้ โปรดทราบว่านิพจน์นี้เทียบเท่ากับ นี่คือสิ่งที่เราต้องการ มาเขียนใหม่:

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

มาเขียนใหม่อีกครั้งโดยขยายการไล่ระดับสี:

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

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

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

ในการค้นหาค่าต่ำสุด เราใช้วิธีกำลังสองน้อยที่สุดและค้นหาอนุพันธ์ย่อยที่เกี่ยวข้องกับและ:

มาเขียนมันใหม่ในรูปแบบที่กะทัดรัดกว่านี้แล้วเท่ากับศูนย์:

ลองเขียนสมการทั้งสองนี้ใหม่ในรูปแบบเมทริกซ์:

หากเมทริกซ์ M กลับด้านได้ (มีอันดับ 2) เราสามารถคำนวณ และ ซึ่งจะลดข้อผิดพลาด E ให้เหลือน้อยที่สุด:

นั่นคือทั้งหมดที่ เรารู้การกระจัดของพิกเซลโดยประมาณระหว่างสองเฟรมที่อยู่ติดกัน

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

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

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

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

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

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

ในบันทึกที่เสแสร้งนี้ ฉันขอสรุปและไปยังแหล่งที่มาและลิงก์ที่มีประโยชน์
วิธีลูคัส-คานาเดะ

  • ลูคัสแคนาดา
  • เพิ่มแท็ก

    Agafonov V.Y. 1

    1 Agafonov Vladislav Yuryevich - นักศึกษาระดับบัณฑิตศึกษาของภาควิชา "การออกแบบโดยใช้คอมพิวเตอร์ช่วยและระบบการออกแบบการค้นหา", มหาวิทยาลัยเทคนิคแห่งรัฐโวลโกกราด,

    โวลโกกราด

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

    คำสำคัญ: การประมวลผลภาพ การค้นหาการแทนที่รูปภาพ

    การประยุกต์ใช้วิธีการไหลของแสงเพื่อประมาณค่าการเปลี่ยนภาพ

    Agafonov V.U. 1

    1 Agafonov Vladislav Urevich - นักศึกษาระดับบัณฑิตศึกษาของแผนก "ระบบการออกแบบโดยใช้คอมพิวเตอร์ช่วยและการออกแบบการค้นหา"

    มหาวิทยาลัยเทคนิคแห่งรัฐโวลโกกราด, โวลโกกราด

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

    คำสำคัญ: การประมวลผลภาพ การประมาณค่าการเปลี่ยนภาพ

    ยูดีซี 004.932.2

    การแนะนำ

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

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

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

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

    การไหลของแสงโดยวิธีลูคัส-คานาเดะ

    แนวคิดพื้นฐานของวิธีนี้คือการถือว่าค่าพิกเซลย้ายจากเฟรมหนึ่งไปยังเฟรมถัดไปโดยไม่มีการเปลี่ยนแปลง:

    ที่ไหน. โดยไม่สนใจเทอมที่เหลือเราจะได้สูตรสำหรับการประมาณ ????:

    โดยจะกำหนดออฟเซ็ต ตามสมมติฐานที่เราทำไว้เราได้รับสิ่งนั้น จากนั้นเราเขียนสมการ (4) เป็น

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

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

    การเท่ากันค่าสัมประสิทธิ์ที่สอดคล้องกันของพหุนามกำลังสองที่เรามี:

    สิ่งนี้เป็นจริงสำหรับสัญญาณใดๆ

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

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

    โดยที่สะท้อนถึงการแทนที่การกระจัดทั่วโลกด้วยการกระจัดที่แตกต่างกันในเชิงพื้นที่

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

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

    การประยุกต์วิธีการไหลของแสงกับปัญหาการค้นหาการกระจัดของภาพ

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

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

    สำหรับวิธี Farneback ก็เพียงพอที่จะเฉลี่ยค่าการกระจัดในแต่ละพิกเซลแล้ว

    การทดลองดำเนินการกับตัวอย่างคู่ทดสอบ 20 คู่ และคำนวณค่าเบี่ยงเบนมาตรฐานสำหรับแต่ละวิธี

    OP ลูคัส-แคนาดา

    โอพี ฟาร์เนบาก้า

    ตารางที่ 1 - ค่าเบี่ยงเบนมาตรฐานของการกระจัด

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

    แต่ละวิธีมีข้อดีและข้อเสีย รวมถึงขอบเขตและข้อจำกัดในตัวเอง วิธีลูคัส-คานาเดะใช้การไหลของแสงแบบกระจัดกระจายและ

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

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

    บทสรุป

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

    อ้างอิง/ อ้างอิง

    1. Fleet D., Weiss Y. การประมาณค่าการไหลด้วยแสง // คู่มือแบบจำลองทางคณิตศาสตร์ในคอมพิวเตอร์วิทัศน์ - Springer US, 2006. - หน้า 237-257.
    2. Farnebäck G. การประมาณค่าการเคลื่อนที่แบบสองเฟรมโดยอาศัยการขยายพหุนาม // การวิเคราะห์รูปภาพ - พ.ศ. 2546. - หน้า 363-370.


    
    สูงสุด