Hiểu video đặt ra hai câu hỏi khó cùng một lúc. Có gì trong khung hình, và nó đang đi đâu? Các hệ thống thị giác máy tính theo truyền thống thường trả lời từng câu hỏi một. Đầu tiên chúng phân đoạn (segment), tách các đối tượng ra khỏi các điểm ảnh. Sau đó chúng theo dõi (track), kết nối các đối tượng đó theo thời gian. Sự chia tách này tạo ra sự xung đột. Các lỗi từ giai đoạn đầu sẽ ảnh hưởng đến giai đoạn sau. Ranh giới bị dịch chuyển. Danh tính bị hoán đổi. Khi con người hoặc phương tiện chồng lấp lên nhau, toàn bộ quy trình (pipeline) sẽ bị đình trệ.

Các nghiên cứu gần đây về công thức multi-cut mang lại một hướng đi khác. Thay vì xâu chuỗi hai mô hình, phương pháp này coi phân đoạn và theo dõi là một bài toán tối ưu hóa duy nhất. Kết quả là ranh giới chặt chẽ hơn, ít bị hoán đổi danh tính hơn và một quy trình hoạt động ổn định ngay cả khi các cảnh quay trở nên đông đúc.

Vấn đề với các quy trình (Pipelines)

Hầu hết các hệ thống thực tế (production systems) đều chạy phát hiện (detection) hoặc phân đoạn trước, sau đó chuyển đầu ra cho một mô-đun theo dõi. Chính bước chuyển giao đó là nơi mọi thứ trở nên sai lệch. Một mô hình phân đoạn được huấn luyện trên hình ảnh tĩnh có thể tạo ra một mặt nạ (mask) hơi quá lớn ở khung hình thứ mười và hơi quá nhỏ ở khung hình thứ mười một. Một bộ theo dõi chỉ nhìn vào tâm của các hộp (box centers) hoặc khoảng cách nhúng (embedding distances) sẽ phải quyết định xem liệu hai mặt nạ đó có thuộc về cùng một đối tượng hay không. Nó không có cách nào để phản hồi và báo cho bộ phân đoạn rằng ranh giới trông có vẻ sai. Hai hệ thống này không hề "nói chuyện" với nhau.

Sự chia tách này trở nên tốn kém khi các đối tượng tương tác với nhau. Hãy tưởng tượng một ngã tư đường với những người đi bộ len lỏi giữa nhau, hoặc một cánh tay robot vươn qua một chồng hộp để cầm một bộ phận cụ thể. Trong những khoảnh khắc này, các bộ theo dõi truyền thống dựa vào các mô hình chuyển động hoặc các đặc trưng ngoại hình để duy trì danh tính. Khi sự che khuất (occlusion) kéo dài hơn vài khung hình, các manh mối đó sẽ bị sụp đổ. Bộ theo dõi sẽ hoặc là tự tạo ra một danh tính mới cho cùng một đối tượng, hoặc gán danh tính đó cho một đối tượng khác. Trong khi đó, bộ phân đoạn vẫn tiếp tục tạo ra các mặt nạ mà không hề hay biết rằng các nhãn đã bị lệch. Việc xử lý sự sai lệch đó đòi hỏi hậu xử lý nặng nề hoặc chú thích thủ công, điều này làm mất đi mục đích của tự động hóa.

Các mô hình truyền thống thường mất dấu chính xác vào lúc các đối tượng chồng lấp lên nhau. Các lỗi này không phải ngẫu nhiên; chúng mang tính cấu trúc. Một quy trình coi thời gian chỉ là yếu tố phụ sau cùng chắc chắn sẽ gặp khó khăn với tính liên tục.

Những gì Multi-Cut mang lại

Công thức multi-cut xóa bỏ bức tường ngăn cách giữa phân đoạn và theo dõi. Thay vì tạo ra một chuỗi các mặt nạ rời rạc rồi mới khâu chúng lại với nhau sau đó, phương pháp này xây dựng một đồ thị trải dài cả không gian và thời gian. Mỗi vùng đối tượng tiềm năng trong mỗi khung hình trở thành một nút (node). Các cạnh (edges) kết nối các vùng có thể thuộc về cùng một thực thể, cả trong một khung hình duy nhất và qua các khung hình liên tiếp. Sau đó, thuật toán tìm ra cách tối ưu để cắt các cạnh đó sao cho các thành phần liên kết còn lại tạo thành các đối tượng nhất quán, di chuyển một cách tự nhiên xuyên suốt video.

Vì quyết định mang tính toàn cục (global), việc hiệu chỉnh ranh giới ở khung hình thứ mười lăm có thể chịu ảnh hưởng bởi các bằng chứng ở khung hình thứ năm. Nếu hai người đi cắt ngang đường nhau, công thức này không cần phải đoán chỉ dựa trên vận tốc. Nó cân nhắc đồng thời cả ngoại hình, hình dạng, chuyển động và tính mạch lạc của ranh giới. Chất lượng mặt nạ và chất lượng theo dõi đều được tối ưu hóa dưới cùng một mục tiêu. Khi bộ giải (solver) xác định một danh tính, nó đã kiểm tra xem các điểm ảnh tương ứng có hợp lý về mặt không gian hay chưa. Sự kết hợp này chính là điều cho phép khung làm việc (framework) phục hồi từ các tình trạng che khuất mà một cách tiếp cận theo quy trình (pipelined approach) sẽ bị phá vỡ.

Việc liên kết trực tiếp dữ liệu hình ảnh với logic theo dõi giúp đóng kín vòng lặp phản hồi. Phân đoạn cung cấp thông tin cho việc theo dõi, và các ràng buộc theo dõi sẽ làm sạch kết quả phân đoạn. Bạn sẽ nhận được kết quả chính xác hơn với ít lần hiệu chỉnh thủ công hơn vì hệ thống không còn phải đoán một cách biệt lập ở mỗi bước.

Ứng dụng trong thực tế

Lợi ích của một công thức thống nhất không chỉ dừng lại ở lý thuyết. Chúng có ý nghĩa quan trọng trong ba lĩnh vực cụ thể thường xuyên xuất hiện trong quá trình triển khai.

Tính nhất quán giữa các khung hình. Trong phân tích thể thao, hình bóng (silhouette) của một vận động viên cần phải duy trì độ chính xác để các chỉ số cơ sinh học như chiều dài bước chân hoặc góc khớp có thể được trích xuất một cách đáng tin cậy. Nếu việc phân đoạn bị rung lắc (wobbles) độc lập với việc theo dõi, các thông số động học (kinematics) thu được sẽ bị nhiễu. Một công thức thống nhất sẽ loại bỏ sự rung lắc đó bằng cách coi đường nét của vận động viên là một thực thể liên tục xuyên suốt toàn bộ đoạn clip.

Cảnh đông đúc. Các ứng dụng giám sát và đếm đám đông bị giảm độ chính xác khi mọi người tụ tập lại với nhau. Các bộ theo dõi (tracker) riêng biệt thường trộn lẫn danh tính hoặc tạo ra các vật thể ảo trong các khoảng trống giữa các cơ thể. Bằng cách liên kết trực tiếp các bằng chứng thị giác vào logic theo dõi, phương pháp multi-cut duy trì danh tính đối tượng tốt hơn trong các cảnh đông đúc. Các cá nhân vẫn giữ được sự riêng biệt ngay cả khi các bounding box của họ gần như chồng lấp hoàn toàn lên nhau.

Tính toàn vẹn của ranh giới. Trong robot học, một hệ thống gắp và đặt (pick-and-place) cần các đường bao đối tượng chính xác để lập kế hoạch gắp. Một mô hình phân đoạn (segmentation) nếu bỏ qua ngữ cảnh thời gian có thể bao gồm một phần của nền hoặc cắt mất một góc của vật thể. Khi việc phân đoạn và theo dõi chia sẻ cùng một mục tiêu, mô hình sẽ học được rằng các ranh giới cần phải ổn định theo thời gian. Các mặt nạ (mask) kết quả sẽ khớp chính xác hơn với các cạnh thực tế, giúp giảm thiểu các lần gắp lỗi và giảm bớt nhu cầu về các biên an toàn thận trọng.

Xây dựng các Pipeline tốt hơn

Đối với các kỹ sư làm việc trong lĩnh vực phân tích video hoặc robot học, sự thay đổi này có những tác động cụ thể đến cách bạn thiết kế kiến trúc hệ thống của mình.

Đừng coi phát hiện (detection), phân đoạn (segmentation) và theo dõi (tracking) là ba microservices riêng biệt truyền các tensor qua một băng chuyền. Thay vào đó, hãy tìm kiếm các framework cung cấp một mục tiêu chung. Nếu bạn đang xây dựng một pipeline tùy chỉnh, hãy xem xét liệu cấu trúc đồ thị của bạn có thể mã hóa cả mối tương quan không gian (spatial affinity) và tính liên tục thời gian (temporal continuity) trong cùng một hàm loss hay không. Ngay cả khi bạn không tự triển khai toàn bộ bộ giải multi-cut, nguyên lý này vẫn được áp dụng. Hãy thêm các ràng buộc giúp liên kết đặc điểm ngoại hình theo thời gian trở lại với chất lượng của mặt nạ trong từng khung hình.

Hãy kiểm thử mạnh mẽ với các trường hợp che khuất (occlusion). Một video demo với các vật thể tách biệt di chuyển theo các mô hình đơn giản sẽ không bộc lộ được điểm yếu của cách tiếp cận theo pipeline. Hãy thu thập các chuỗi video mà ở đó các mục tiêu chồng lấp lên nhau, ánh sáng thay đổi giữa lúc đang bị che khuất, và các vật thể xuất hiện trở lại từ ngoài màn hình. Đây chính là những khoảnh khắc phân biệt một pipeline chắp vá với một pipeline thực sự thống nhất.

Hãy chuẩn bị chiến lược gán nhãn (annotation) một cách cẩn thận. Các mô hình kết hợp thường cần cấu trúc ground truth khác với các tập dữ liệu phân đoạn thuần túy hoặc theo dõi thuần túy. Bạn có thể cần phải gán nhãn danh tính thực thể (instance identities) một cách nhất quán qua các khung hình, chứ không chỉ là các lớp pixel cho mỗi hình ảnh. Việc đầu tư vào khâu gán nhãn ngay từ đầu sẽ mang lại hiệu quả về sau khi giảm bớt việc chỉnh sửa thủ công trong quá trình triển khai.

Bài học cốt lõi

Việc coi phân đoạn và theo dõi là các nhiệm vụ độc lập từng có lý khi năng lực tính toán và dung lượng mô hình còn hạn chế. Nhưng giờ đây thì không còn nữa. Một công thức multi-cut cho thấy hai nhiệm vụ này thực chất là một: tìm kiếm các vật thể nhất quán tồn tại xuyên suốt thời gian. Bằng cách giải quyết chúng cùng nhau, bạn sẽ có được các mặt nạ tuân thủ chuyển động và các quỹ đạo theo dõi tuân thủ hình dạng. Kết quả là một pipeline hiểu video giúp giảm thiểu lỗi giữa các khung hình, tạo ra các ranh giới sạch hơn xung quanh các vật thể đang di chuyển, và duy trì độ chính xác thông qua thực tế phức tạp của sự che khuất và đám đông.