การทำความเข้าใจวิดีโอ (Video understanding) ต้องตอบคำถามที่ยากสองข้อพร้อมกัน: มีอะไรอยู่ในเฟรม และสิ่งนั้นกำลังเคลื่อนที่ไปที่ไหน? โดยปกติแล้ว ระบบคอมพิวเตอร์วิทัศน์ (Computer vision) จะตอบคำถามเหล่านี้ทีละขั้นตอน เริ่มจากการทำ segmentation เพื่อแยกวัตถุออกจากพิกเซล จากนั้นจึงทำการ tracking เพื่อเชื่อมโยงวัตถุเหล่านั้นเข้าด้วยกันตามช่วงเวลา การแยกส่วนแบบนี้ทำให้เกิดปัญหา (friction) ข้อผิดพลาดจากขั้นตอนแรกจะส่งผลกระทบต่อเนื่องไปยังขั้นตอนที่สอง ขอบเขตของวัตถุเปลี่ยนไป อัตลักษณ์ (identity) สลับกัน เมื่อคนหรือยานพาหนะเคลื่อนที่ซ้อนทับกัน ระบบทั้งหมดก็จะหยุดชะงัก

งานวิจัยล่าสุดเกี่ยวกับ multi-cut formulations นำเสนอแนวทางที่แตกต่างออกไป แทนที่จะเป็นการต่อโมเดลสองตัวเข้าด้วยกัน แต่มันกำหนดให้การทำ segmentation และ tracking เป็นปัญหาการหาค่าที่เหมาะสมที่สุด (optimization problem) เพียงหนึ่งเดียว ผลลัพธ์ที่ได้คือขอบเขตที่แม่นยำขึ้น การสลับอัตลักษณ์ที่น้อยลง และระบบที่ยังคงทำงานได้อย่างต่อเนื่องแม้ในฉากที่มีความหนาแน่นสูง

ปัญหาของระบบแบบ Pipelines

ระบบที่ใช้งานจริงส่วนใหญ่จะรันการตรวจจับ (detection) หรือ segmentation ก่อน จากนั้นจึงส่งผลลัพธ์ไปยังโมดูล tracking จุดส่งต่อข้อมูลนี้เองที่เป็นจุดที่เกิดข้อผิดพลาด โมเดล segmentation ที่ฝึกด้วยภาพนิ่งอาจสร้าง mask ที่ใหญ่เกินไปเล็กน้อยในเฟรมที่สิบ และเล็กเกินไปเล็กน้อยในเฟรมที่สิบเอ็ด ในขณะที่ tracker ที่ดูเพียงแค่จุดศูนย์กลางของกล่อง (box centers) หรือระยะห่างของ embedding จะต้องตัดสินใจว่า mask ทั้งสองนั้นเป็นวัตถุชิ้นเดียวกันหรือไม่ โดยที่มันไม่มีวิธีที่จะโต้แย้งหรือบอกโมเดล segmenter ได้เลยว่าขอบเขตนั้นดูไม่ถูกต้อง เนื่องจากทั้งสองระบบไม่ได้สื่อสารกัน

การแยกส่วนแบบนี้จะกลายเป็นปัญหาใหญ่เมื่อวัตถุมีการปฏิสัมพันธ์กัน ลองนึกถึงทางม้าลายที่มีคนเดินสลับไปมา หรือแขนกลหุ่นยนต์ที่เอื้อมผ่านกองกล่องเพื่อหยิบชิ้นส่วนเฉพาะ ในช่วงเวลาเหล่านี้ tracker แบบดั้งเดิมจะพึ่งพาโมเดลการเคลื่อนที่ (motion models) หรือลักษณะปรากฏ (appearance features) เพื่อรักษาอัตลักษณ์ไว้ แต่เมื่อเกิดการบดบัง (occlusion) นานกว่าไม่กี่เฟรม ข้อมูลเหล่านี้จะใช้ไม่ได้ผล tracker อาจจะสร้างอัตลักษณ์ใหม่ให้กับวัตถุเดิม หรือนำอัตลักษณ์ของวัตถุหนึ่งไปสวมให้อีกวัตถุหนึ่ง ในขณะเดียวกัน segmenter ก็ยังคงสร้าง mask ต่อไปโดยไม่รู้เลยว่าป้ายกำกับ (labels) นั้นคลาดเคลื่อนไปแล้ว การแก้ไขความคลาดเคลื่อนนี้จำเป็นต้องใช้การประมวลผลหลังการทำงาน (post-processing) อย่างหนัก หรือต้องใช้การทำ annotation ด้วยมือ ซึ่งขัดกับวัตถุประสงค์ของการทำงานแบบอัตโนมัติ

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

สิ่งที่ Multi-Cut มอบให้

การใช้ multi-cut formulation ช่วยทลายกำแพงระหว่าง segmentation และ tracking แทนที่จะสร้างลำดับของ mask ที่ไม่ต่อเนื่องกันแล้วค่อยนำมาเย็บเข้าด้วยกันในภายหลัง วิธีนี้จะสร้างกราฟที่ครอบคลุมทั้งมิติพื้นที่และเวลา โดยทุกพื้นที่ที่อาจเป็นวัตถุในทุกเฟรมจะกลายเป็นโหนด (node) และมีเส้นเชื่อม (edges) เชื่อมโยงพื้นที่ที่อาจเป็นเอนทิตี (entity) เดียวกัน ทั้งภายในเฟรมเดียวกันและระหว่างเฟรมที่ต่อเนื่องกัน จากนั้นอัลกอริทึมจะหาวิธีที่เหมาะสมที่สุดในการตัดเส้นเชื่อมเหล่านั้น เพื่อให้ส่วนประกอบที่เชื่อมต่อกันที่เหลืออยู่กลายเป็นวัตถุที่มีความต่อเนื่องและเคลื่อนที่ผ่านวิดีโอได้อย่างเป็นธรรมชาติ

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

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

การนำไปใช้งานจริง

ประโยชน์ของการใช้รูปแบบที่เป็นหนึ่งเดียว (unified formulation) ไม่ได้เป็นเพียงแค่ในทางทฤษฎีเท่านั้น แต่มันมีความสำคัญในสามด้านเฉพาะเจาะจงที่พบได้บ่อยในการใช้งานจริง

ความต่อเนื่องระหว่างเฟรม (Frame-to-frame consistency). ในการวิเคราะห์ด้านกีฬา รูปร่าง (silhouette) ของนักกีฬาจำเป็นต้องมีความแม่นยำ เพื่อให้สามารถดึงค่าตัวชี้วัดทางชีวกลศาสตร์ (biomechanical metrics) เช่น ความยาวก้าวหรือมุมของข้อต่อได้อย่างน่าเชื่อถือ หาก segmentation เกิดการสั่นไหว (wobble) โดยไม่สัมพันธ์กับการ tracking ค่าจลนศาสตร์ (kinematics) ที่ได้ก็จะเกิดสัญญาณรบกวน (noisy) การใช้ unified formulation จะช่วยกำจัดอาการสั่นไหวนั้นโดยการปฏิบัติกับเส้นขอบของนักกีฬาให้เป็นเอนทิตีที่ต่อเนื่องกันตลอดทั้งคลิป

ฉากที่มีฝูงชนหนาแน่น. แอปพลิเคชันด้านการเฝ้าระวังและการนับจำนวนฝูงชนจะสูญเสียความแม่นยำเมื่อผู้คนรวมกลุ่มกัน ตัวติดตาม (trackers) ที่แยกจากกันมักจะรวมอัตลักษณ์เข้าด้วยกันหรือสร้างวัตถุหลอก (phantom objects) ขึ้นในช่องว่างระหว่างร่างกาย ด้วยการเชื่อมโยงหลักฐานทางภาพเข้ากับตรรกะการติดตามโดยตรง แนวทางแบบ multi-cut จะช่วยรักษาอัตลักษณ์ของวัตถุได้ดีกว่าในฉากที่มีฝูงชนหนาแน่น บุคคลจะยังคงมีความแตกต่างกันแม้ว่า bounding boxes ของพวกเขาจะซ้อนทับกันเกือบทั้งหมดก็ตาม

ความสมบูรณ์ของขอบเขต. ในด้านหุ่นยนต์ ระบบ pick-and-place จำเป็นต้องมีเส้นขอบวัตถุที่แม่นยำเพื่อวางแผนการหยิบจับ โมเดลการแบ่งส่วนภาพ (segmentation) ที่ละเลยบริบททางเวลา (temporal context) อาจรวมเอาส่วนของพื้นหลังเข้ามาหรือตัดมุมของวัตถุออกไป เมื่อการแบ่งส่วนภาพและการติดตามมีเป้าหมายร่วมกัน โมเดลจะเรียนรู้ว่าขอบเขตควรจะมีความเสถียรทางเวลา มาสก์ (masks) ที่ได้จะแนบสนิทกับขอบจริงได้สะอาดขึ้น ซึ่งหมายถึงความล้มเหลวในการหยิบจับที่น้อยลง และความจำเป็นในการใช้ระยะเผื่อความปลอดภัย (safety margins) ที่น้อยลง

การสร้าง Pipeline ที่ดีกว่า

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

เลิกคิดว่าการตรวจจับ (detection), การแบ่งส่วนภาพ (segmentation) และการติดตาม (tracking) เป็นไมโครเซอร์วิสสามตัวที่แยกจากกันซึ่งส่งต่อเทนเซอร์ (tensors) ผ่านสายพานลำเลียง แต่ให้มองหาเฟรมเวิร์กที่แสดงเป้าหมายร่วมกัน (joint objective) แทน หากคุณกำลังสร้าง pipeline แบบกำหนดเอง ให้พิจารณาว่าโครงสร้างกราฟของคุณสามารถเข้ารหัสทั้งความสัมพันธ์เชิงพื้นที่ (spatial affinity) และความต่อเนื่องทางเวลา (temporal continuity) ไว้ใน loss เดียวกันได้หรือไม่ แม้ว่าคุณจะไม่ได้ implement ตัวแก้ปัญหา multi-cut แบบเต็มรูปแบบด้วยตัวเอง แต่หลักการนี้ยังคงใช้ได้ ให้เพิ่มข้อจำกัด (constraints) ที่เชื่อมโยงรูปลักษณ์เมื่อเวลาผ่านไปกลับเข้ากับคุณภาพของมาสก์ในแต่ละเฟรม

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

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

บทสรุปที่สำคัญ

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