شرح تتبع الألوان#

ما هو تتبع اللون وكيف تفعله CMUcam4؟#

تتبع الألوان هو القدرة على أخذ صورة وعزل لون معين واستخراج معلومات عن موقع منطقة من تلك الصورة تحتوي على ذلك اللون فقط. كمثال، افترض أنه أُعطيت صورة فوتوغرافية تحتوي على كرة حمراء على طريق ترابي. إذا طلب منك أحدهم رسم مربع حول أي شيء لونه أحمر في الصورة، فستتمكن بسهولة تامة من رسم مستطيل حول الكرة. هذه هي الفكرة الأساسية وراء تتبع الألوان. لم تكن بحاجة لمعرفة أن الجسم كرة. كل ما احتجته هو أن يكون لديك مفهوم عن اللون الأحمر لتتمكن من عزل الجسم في الصورة. أدناه، سنتناول بإيجاز كيف تستخدم CMUcam4 فعلياً المعلومات في صورة الكاميرا لأداء تتبع الألوان.

لتحديد لون، تحتاج إلى تعريف قيمة دنيا وقصوى مسموح بها لثلاث قنوات لونية. يُمثَّل كل لون فريد بقيمة حمراء وخضراء وزرقاء تشير إلى مقدار كل قناة يُمزج في اللون الفريد. الجزء الصعب في تحديد لون هو أنك تحتاج إلى تعريف نطاق من القيم المسموح بها لجميع القنوات اللونية الثلاث. وبما أن الضوء ليس موحداً تماماً ولون الجسم ليس موحداً تماماً، فأنت بحاجة لمراعاة هذه التغيرات. ومع ذلك، لا تريد تخفيف هذه الحدود كثيراً، وإلا ستُقبل ألوان غير مرغوبة كثيرة. وبما أنه، في حالة CMUcam4، تُحوّل كل قناة لون إلى رقم بين 0 و255، يمكنك تحديد حدود كل قناة برقمين، حد أعلى وحد أدنى. إذا كان لديك حدان لكل قناة من القنوات الثلاث، فهذا يعني أنه يمكن استخدام ست قيم لتقييد فضاء اللون الكامل الذي ترغب في تتبعه. إذا تخيلت الألوان مُمثَّلة بمكعب حيث يكون كل جانب قناة لون مختلفة (أحمر وأخضر وأزرق) فإن القيم الست المستخدمة لاختيار لونك سترسم صندوقاً ثلاثي الأبعاد داخل ذلك المكعب يحدد مجموعة الألوان المرغوبة.

بمجرد أن يكون لديك حد للون الذي ترغب في تتبعه، تأخذ CMUcam4 هذه الحدود وتعالج الصورة. هناك طرق عديدة لتتبع الألوان في صورة يمكن أن تكون معقدة جداً. تستخدم CMUcam4 خوارزمية بسيطة أحادية المرور تعالج كل إطار صورة جديد من الكاميرا بشكل مستقل. تبدأ من أعلى يسار الصورة وتفحص بالتتابع كل بكسل صفاً تلو الآخر. إذا كان البكسل الذي تفحصه يقع ضمن نطاق الألوان الذي حدده المستخدم، فإنها تسم ذلك البكسل كمتتبَّع. كما تفحص موضع البكسل المتتبَّع الحالي لمعرفة ما إذا كان الموضع الأعلى أو الأدنى أو الأيسر أو الأيمن لجميع البكسلات المتتبَّعة الموجودة حتى الآن في الصورة. إذا وجدت أن البكسل خارج المربع المحيط الحالي للمنطقة المتتبَّعة، فإنها توسّع المربع المحيط ليحتوي على هذا البكسل الجديد. ولأن موقع حتى بكسل متتبَّع واحد يمكن أن يغيّر المربع المحيط، يمكن أن يتذبذب المربع المحيط أحياناً كثيراً من إطار لآخر. يمكن استخدام ترشيح الضوضاء (انظر الفقرة التالية) لتقليل بعض ذلك التذبذب. المعلومة الرئيسية الأخرى الوحيدة التي تُخزَّن هي مجموع الإحداثيات الأفقية والرأسية للبكسلات المتتبَّعة. في نهاية الصورة تأخذ CMUcam4 المجموع الأفقي والمجموع الرأسي للبكسلات المتتبَّعة وتقسم كلاً منهما على العدد الإجمالي للبكسلات المتتبَّعة وتحصل على قيمة تُظهر أين يقع منتصف الجسم المتتبَّع. ولأن كل بكسل متتبَّع يساهم بجزء صغير فقط في المجموعين الأفقي والرأسي النهائيين، فإن منتصف (الذي يُسمى غالباً مركز الثقل) البكسلات المتتبَّعة يكون عادةً قياساً أكثر استقراراً بكثير من المربع المحيط. بمجرد فحص جميع البكسلات في الصورة، يمكن أيضاً استخدام العدد الإجمالي للبكسلات المتتبَّعة بالاقتران مع مساحة المربع المحيط لحساب مستوى الثقة وعدد البكسلات في الجسم المتتبَّع.

يتيح لنا ترشيح الضوضاء جعل نطاقات تتبع الألوان أكبر حتى نتمكن من استيعاب تغيرات أكبر في قيم بكسل الصورة دون التسبب في تتبع تغيرات عشوائية أخرى في الصورة. الفكرة وراء ترشيح الضوضاء هي أننا نريد فقط اعتبار بكسل من اللون المتتبَّع إذا كان جزءاً من مجموعة بكسلات تقع ضمن حدود تتبع اللون. في CMUcam4 ننفّذ هذا بطريقة تتطلب مروراً واحداً فقط على الصورة. أثناء معالجة البكسلات في صورة تحتفظ CMUcam4 بعدّاد يتتبع عدد البكسلات المتتالية في الصف الحالي، قبل البكسل الحالي، التي كانت ضمن حدود اللون المتتبَّع. إذا كانت تلك القيمة أعلى من قيمة مرشح الضوضاء فسيُوسم البكسل الحالي كبكسل متتبَّع.

ما هو المدرج التكراري وما فائدته؟#

المدرج التكراري هو نوع من الرسوم البيانية يعرض تكرار البيانات وتوزيعها. في حالة CMUcam4، يُظهر المدرج التكراري تكرار وتوزيع قيم الألوان الموجودة في الصورة. يمثل كل عمود نطاقاً من قيم الألوان لقناة محددة. يمكن لـ CMUcam4 تقسيم قيم الألوان الممكنة من 0 إلى 255 إلى 1 و2 و4 و8 و16 و32 و64 حاوية مختلفة. تحتوي كل حاوية على عدد البكسلات الموجودة في الصورة التي تقع ضمن حدود لون معينة. لذا فإن قيمة كبيرة في حاوية معينة تعني أن العديد من تلك الألوان وُجدت في الصورة. يمثل كل مدرج تكراري قناة لون واحدة مختارة فقط.

المدرجات التكرارية هي طريقة لتجريد محتويات صورة. لها استخدامات عديدة مثل التعرف البدائي على الأجسام أو تحديد العتبة أو موازنة الألوان. وهي مفيدة بشكل خاص للتمييز بين مواد مختلفة الملمس. جرّب توجيه CMUcam4 مع إيقاف الكسب التلقائي نحو سطحين مختلفي الملمس ولاحظ الفرق في توزيعات ألوانهما. يمكن استخدام هذا التأثير للتمييز بين أسطح الأرضية أو كشف العوائق.