ویڈیو کو سمجھنا (Video understanding) ایک ساتھ دو مشکل سوالات پوچھتا ہے۔ فریم میں کیا ہے، اور وہ کہاں جا رہا ہے؟ کمپیوٹر ویژن کے نظام روایتی طور پر ان کا جواب ایک وقت میں ایک ہی سوال کے لیے دیتے ہیں۔ پہلے وہ سیگمنٹیشن (segmentation) کرتے ہیں، یعنی پکسلز سے اشیاء کو الگ کرتے ہیں۔ پھر وہ ٹریکنگ (tracking) کرتے ہیں، یعنی ان اشیاء کو وقت کے ساتھ جوڑتے ہیں۔ یہ تقسیم رکاوٹ پیدا کرتی ہے۔ پہلے مرحلے کی غلطیاں دوسرے مرحلے میں اثر انداز ہوتی ہیں۔ حدود (boundaries) بدل جاتی ہیں۔ شناختیں (identities) تبدیل ہو جاتی ہیں۔ جب لوگ یا گاڑیاں ایک دوسرے کے اوپر آتی ہیں، تو پوری پائپ لائن رک جاتی ہے۔
ملٹی کٹ فارمولیشنز (multi-cut formulations) پر حالیہ کام ایک مختلف راستہ پیش کرتا ہے۔ دو ماڈلز کو ایک کے بعد ایک جوڑنے کے بجائے، یہ سیگمنٹیشن اور ٹریکنگ کو ایک ہی آپٹیمائزیشن (optimization) کے مسئلے کے طور پر پیش کرتا ہے۔ اس کا نتیجہ بہتر حدود، کم شناخت کی تبدیلیوں، اور ایک ایسی پائپ لائن کی صورت میں نکلتا ہے جو مناظر کے پرہجوم ہونے پر بھی برقرار رہتی ہے۔
پائپ لائنز کے ساتھ مسئلہ
زیادہ تر پروڈکشن سسٹم پہلے ڈیٹیکشن (detection) یا سیگمنٹیشن چلاتے ہیں، اور پھر آؤٹ پٹ ٹریکنگ ماڈیول کو دے دیتے ہیں۔ یہ ہینڈ آف (handoff) ہی وہ جگہ ہے جہاں چیزیں غلط ہو جاتی ہیں۔ ساکن تصاویر پر تربیت یافتہ سیگمنٹیشن ماڈیول فریم دس میں ایک ایسا ماسک (mask) تیار کر سکتا ہے جو تھوڑا بڑا ہو، اور فریم گیارہ میں تھوڑا چھوٹا ہو۔ ایک ٹریکر جو صرف باکس سینٹرز یا ایمبیڈنگ فاصلوں (embedding distances) کو دیکھ رہا ہے، اسے یہ فیصلہ کرنا پڑتا ہے کہ آیا وہ دونوں ماسک ایک ہی چیز کے ہیں۔ اس کے پاس یہ کہنے کا کوئی طریقہ نہیں ہے کہ سیگمنٹر کو بتائے کہ حد غلط لگ رہی ہے۔ دونوں نظام ایک دوسرے سے بات نہیں کرتے۔
جب اشیاء (objects) ایک دوسرے کے ساتھ تعامل (interact) کرتی ہیں تو یہ علیحدگی مہنگی پڑ جاتی ہے۔ ایک ایسے اسٹریٹ کراسنگ کا تصور کریں جہاں پیدل چلنے والے ایک دوسرے کے درمیان سے گزر رہے ہوں، یا ایک روبوٹک بازو (robot arm) مخصوص حصے کو پکڑنے کے لیے باکسوں کے ڈھیر کے پاس پہنچ رہا ہو۔ ان لمحات میں، روایتی ٹریکرز شناخت برقرار رکھنے کے لیے موشن ماڈلز یا ظاہری خصوصیات (appearance features) پر انحصار کرتے ہیں۔ جب اوکلوژن (occlusion) چند فریموں سے زیادہ دیر تک رہتا ہے، تو وہ اشارے ختم ہو جاتے ہیں۔ ٹریکر یا تو اسی چیز کے لیے ایک نئی شناخت ایجاد کر لیتا ہے یا شناخت کسی دوسری چیز پر منتقل کر دیتا ہے۔ اس دوران، سیگمنٹر ماسک بناتا رہتا ہے، اس بات سے بالکل بے خبر کہ لیبلز میں تبدیلی آ چکی ہے۔ اس تبدیلی کو درست کرنے کے لیے بھاری پوسٹ پروسیسنگ یا دستی اینوٹیشن (manual annotation) کی ضرورت ہوتی ہے، جو خودکار نظام (automation) کے مقصد کو ہی ختم کر دیتی ہے۔
روایتی ماڈلز اکثر اسی وقت ٹریک کھو دیتے ہیں جب اشیاء ایک دوسرے کے اوپر آتی ہیں۔ یہ غلطیاں بے ترتیب نہیں ہوتیں؛ یہ ساختی (structural) ہوتی ہیں۔ ایک ایسی پائپ لائن جو وقت کو بعد میں سوچنے والی چیز سمجھتی ہے، تسلسل (continuity) کے ساتھ جدوجہد کرنے کے لیے مجبور ہے۔
ملٹی کٹ (Multi-Cut) کیا پیش کرتا ہے
ایک ملٹی کٹ فارمولیشن سیگمنٹیشن اور ٹریکنگ کے درمیان دیوار کو ختم کر دیتی ہے۔ الگ الگ ماسک کا ایک سلسلہ بنانے اور پھر انہیں بعد میں آپس میں جوڑنے کے بجائے، یہ طریقہ ایک ایسا گراف بناتا ہے جو جگہ (space) اور وقت (time) دونوں پر محیط ہوتا ہے۔ ہر فریم میں ہر ممکنہ آبجیکٹ ریجن ایک نوڈ (node) بن جاتا ہے۔ ایجز (edges) ان ریجنز کو جوڑتے ہیں جو ایک ہی ہستی (entity) کے ہو سکتے ہیں، چاہے وہ ایک ہی فریم کے اندر ہوں یا مسلسل فریموں میں۔ اس کے بعد الگورتھم ان ایجز کو کاٹنے کا بہترین طریقہ تلاش کرتا ہے تاکہ باقی ماندہ منسلک اجزاء ویڈیو میں قدرتی طور پر حرکت کرتی ہوئی مستقل اشیاء بنا سکیں۔
چونکہ فیصلہ عالمی (global) ہوتا ہے، اس لیے فریم پندرہ میں حدود کی درستی فریم پانچ کے شواہد سے متاثر ہو سکتی ہے۔ اگر دو لوگ ایک دوسرے کے راستے میں آتے ہیں، تو فارمولیشن کو صرف ویلوسٹی (velocity) کی بنیاد پر اندازہ لگانے کی ضرورت نہیں پڑتی۔ یہ ظاہری شکل، شکل (shape)، حرکت، اور حدود کے تسلسل (boundary coherence) کو ایک ساتھ تولتا ہے۔ ماسک کا معیار اور ٹریک کا معیار ایک ہی مقصد کے تحت بہتر بنایا جاتا ہے۔ جب سالور (solver) کسی شناخت کا تعین کرتا ہے، تو وہ پہلے ہی چیک کر چکا ہوتا ہے کہ متعلقہ پکسلز مکانی طور پر (spatially) درست ہیں۔ یہی وہ جوڑ (coupling) ہے جو فریم ورک کو ان اوکلوژن سے نکلنے میں مدد دیتا ہے جو ایک پائپ لائنڈ اپروچ کو ناکام بنا دیتے ہیں۔
ویژول ڈیٹا کو براہ راست ٹریکنگ لاجک سے جوڑنا فیڈ بیک لوپ کو مکمل کر دیتا ہے۔ سیگمنٹیشن ٹریکنگ کو معلومات فراہم کرتی ہے، اور ٹریکنگ کی پابندیاں (constraints) سیگمنٹیشن کو درست کرتی ہیں۔ آپ کو کم سے کم دستی اصلاحات کے ساتھ زیادہ درست نتائج ملتے ہیں کیونکہ سسٹم اب ہر مرحلے پر تنہائی میں اندازہ نہیں لگا رہا ہوتا۔
یہ عملی طور پر کہاں نظر آتا ہے
ایک متحد فارمولیشن (unified formulation) کے فوائد صرف نظریاتی نہیں ہیں۔ یہ تین مخصوص شعبوں میں اہمیت رکھتے ہیں جو تعیناتی (deployment) کے دوران مسلسل سامنے آتے ہیں۔
فریم ٹو فریم تسلسل (Frame-to-frame consistency)۔ اسپورٹس اینالیٹکس میں، ایک ایتھلیٹ کا خاکہ (silhouette) درست رہنا چاہیے تاکہ بائیومیخانیکل میٹرکس جیسے کہ قدم کی لمبائی یا جوڑوں کے زاویوں کو قابل اعتماد طریقے سے نکالا جا سکے۔ اگر سیگمنٹیشن ٹریکنگ سے آزادانہ طور پر ہلتی ہے، تو نتیجے میں حاصل ہونے والی کائنی میٹکس (kinematics) شور زدہ (noisy) ہو جاتی ہے۔ ایک متحد فارمولیشن ایتھلیٹ کے خدوخال کو پوری کلپ میں ایک مسلسل ہستی کے طور پر دیکھ کر اس لرزش کو ختم کر دیتی ہے۔
ہجوم والے مناظر۔ نگرانی اور ہجوم گننے والی ایپلی کیشنز کی درستگی اس وقت کم ہو جاتی ہے جب لوگ ایک دوسرے کے قریب جمع ہو جاتے ہیں۔ الگ الگ ٹریکرز اکثر شناختوں کو آپس میں ملا دیتے ہیں یا جسموں کے درمیان خالی جگہوں پر فرضی اشیاء (phantom objects) بنا دیتے ہیں۔ بصری شواہد کو براہ راست ٹریکنگ لاجک کے ساتھ جوڑ کر، multi-cut طریقہ کار ہجوم والے مناظر میں اشیاء کی شناخت کو بہتر طریقے سے برقرار رکھتا ہے۔ افراد کی شناخت الگ رہتی ہے چاہے ان کے bounding boxes تقریباً مکمل طور پر ایک دوسرے کے اوپر آ جائیں۔
حدود کی سالمیت۔ روبوٹکس میں، ایک pick-and-place سسٹم کو گرفت (grasp) کی منصوبہ بندی کرنے کے لیے اشیاء کے درست کنٹورز (contours) کی ضرورت ہوتی ہے۔ ایک segmentation ماڈل جو وقتی سیاق و سباق (temporal context) کو نظر انداز کرتا ہے، پس منظر کے کسی حصے کو شامل کر سکتا ہے یا کسی چیز کے کونے کو کاٹ سکتا ہے۔ جب segmentation اور tracking کا مقصد ایک ہی ہو، تو ماڈل یہ سیکھتا ہے کہ حدود کو وقتی طور پر مستحکم ہونا چاہیے۔ اس کے نتیجے میں بننے والے ماسکس (masks) حقیقی کناروں کے ساتھ زیادہ صفائی سے جڑ جاتے ہیں، جس کا مطلب ہے کہ گرفت میں ناکامی کے امکانات کم ہوں گے اور حفاظتی مارجنز کی ضرورت بھی کم پڑے گی۔
بہتر پائپ لائنز بنانا
ویڈیو تجزیہ یا روبوٹکس میں کام کرنے والے انجینئرز کے لیے، اس تبدیلی کے آپ کے سسٹم کے ڈیزائن (architect) کرنے کے طریقے پر ٹھوس اثرات مرتب ہوتے ہیں۔
detection، segmentation اور tracking کو تین الگ الگ مائیکرو سروسز کے طور پر دیکھنا بند کریں جو ایک کنویئر بیلٹ پر tensors منتقل کرتی ہیں۔ اس کے بجائے ایسے فریم ورکس تلاش کریں جو ایک مشترکہ مقصد پیش کرتے ہوں۔ اگر آپ ایک کسٹم پائپ لائن بنا رہے ہیں، تو اس بات پر غور کریں کہ آیا آپ کا گراف اسٹرکچر ایک ہی loss میں spatial affinity اور temporal continuity دونوں کو شامل کر سکتا ہے۔ اگرچہ آپ خود مکمل multi-cut solver نافذ نہیں کرتے، پھر بھی یہ اصول لاگو ہوتا ہے۔ ایسی پابندیاں (constraints) شامل کریں جو وقت کے ساتھ ظاہری شکل کو ہر فریم کے ماسک کے معیار کے ساتھ جوڑ دیں۔
occlusion پر سختی سے تجربہ کریں۔ سادہ پیٹرن میں حرکت کرتی ہوئی الگ تھلگ اشیاء والی ڈیمو ویڈیو پائپ لائنڈ اپروچ کی کمزوریوں کو ظاہر نہیں کرے گی۔ ایسی ترتیبیں (sequences) جمع کریں جہاں اہداف ایک دوسرے کے اوپر ہوں، جہاں occlusion کے دوران روشنی تبدیل ہو رہی ہو، اور جہاں اشیاء اسکرین سے باہر سے دوبارہ داخل ہو رہی ہوں۔ یہی وہ لمحات ہیں جو ایک جوڑ کر بنائی گئی پائپ لائن اور ایک حقیقی متحد (unified) پائپ لائن کے درمیان فرق کرتے ہیں۔
اپنی annotation حکمت عملی کو احتیاط سے تیار کریں۔ مشترکہ ماڈلز کو اکثر خالص segmentation یا خالص tracking ڈیٹا سیٹس کے مقابلے میں مختلف ground truth اسٹرکچرز کی ضرورت ہوتی ہے۔ آپ کو صرف فی تصویر پکسل کلاسز کے بجائے تمام فریمز میں مستقل طور پر instance identities کو لیبل کرنے کی ضرورت پڑ سکتی ہے۔ شروع میں اس لیبلنگ میں سرمایہ کاری کرنے کا فائدہ بعد میں تعیناتی (deployment) کے دوران دستی اصلاحات میں کمی کی صورت میں ملتا ہے۔
اصل حاصل
segmentation اور tracking کو آزادانہ کاموں کے طور پر سمجھنا اس وقت درست تھا جب کمپیوٹنگ اور ماڈل کی صلاحیت محدود تھی۔ اب ایسا نہیں رہا۔ ایک multi-cut فارمولیشن یہ ظاہر کرتی ہے کہ یہ دونوں کام درحقیقت ایک ہی ہیں: ایسی مربوط اشیاء تلاش کرنا جو وقت کے ساتھ برقرار رہیں۔ انہیں ایک ساتھ حل کرنے سے، آپ کو ایسے ماسکس ملتے ہیں جو حرکت کا لحاظ رکھتے ہیں اور ایسی ٹریکس ملتی ہیں جو شکل کا لحاظ رکھتی ہیں۔ اس کا نتیجہ ایک ایسی ویڈیو سمجھنے والی پائپ لائن ہے جو فریموں کے درمیان غلطیوں کو کم کرتی ہے، حرکت کرتی ہوئی اشیاء کے گرد صاف ستھری حدود بناتی ہے، اور occlusion اور ہجوم کی پیچیدہ حقیقت کے باوجود درست رہتی ہے۔
