تأكد من أن لديك توقيعات لونية و رمز لوني تم تكوينهما باستخدام مستشعر الرؤية AI الخاص بك حتى يمكن استخدامها مع الكتل الخاصة بك. لمعرفة المزيد حول كيفية تكوينها، يمكنك قراءة المقالات أدناه:

يمكن لمستشعر الرؤية AI أيضًا اكتشاف تصنيفات AI وAprilTags. لتعلم كيفية تمكين أوضاع الكشف هذه، انتقل إلى هنا:

لمعرفة المزيد من التفاصيل حول هذه الكتل الفردية وكيفية استخدامها في VEXcode، انتقل إلى موقع API.


التقط لقطة

كتلة VEXcode EXP Take Snapshot التي تنص على أخذ لقطة AIVision1 من COL1. هناك قائمتان منسدلتان، واحدة لتحديد مستشعر الرؤية AI والثانية لتحديد رمز اللون.

تلتقط كتلةTake Snapshot صورة لما يراه مستشعر الرؤية AI حاليًا وتسحب البيانات من تلك اللقطة التي يمكن استخدامها بعد ذلك في مشروع. عند التقاط لقطة، يتعين عليك تحديد نوع الكائن الذي يجب أن يجمع مستشعر الرؤية AI بيانات عنه:

  • توقيع اللون
  • رمز اللون
  • تصنيفات الذكاء الاصطناعي
  • علامات أبريل

سيؤدي التقاط لقطة إلى إنشاء مجموعة من جميع الكائنات المكتشفة التي حددتها. على سبيل المثال، إذا كنت تريد اكتشاف توقيع لون "أحمر"، واكتشف مستشعر الرؤية بالذكاء الاصطناعي 3 كائنات حمراء مختلفة، فسيتم وضع البيانات من الثلاثة في المصفوفة.

من المعلومات حول كيفية التحديد بين الكائنات المختلفة، انتقل إلى قسم "تعيين عنصر الكائن" في هذه المقالة.

كتلة VEXcode EXP Take Snapshot التي تنص على التقاط لقطة AIVision2 من Blue.

في هذا المثال، سيتم فقط اكتشاف الكائنات التي تتطابق مع توقيع اللون "الأزرق" تم تكوينه ولا شيء آخر.

البيانات المأخوذة من لقطة

ضع في اعتبارك أن مستشعر الرؤية بالذكاء الاصطناعي سيستخدم آخر لقطة تم التقاطها لأي كتل تأتي بعد ذلك. لتتأكد من حصولك دائمًا على أحدث المعلومات من مستشعر الرؤية AI الخاص بك، قم بإعادة التقاط لقطة الشاشة في كل مرة تريد فيها سحب البيانات منها. 

دقة

رسم تخطيطي لدقة مستشعر الرؤية AI. الزاوية العلوية اليسرى تحمل العلامة 0، 0، والزاوية العلوية اليمنى تحمل العلامة 320، 0، والزاوية السفلية اليسرى تحمل العلامة 0، 240. تم وضع علامة 160، 120 على وسط الشاشة.

يعد فهم دقة مستشعر الرؤية AI أمرًا بالغ الأهمية لتفسير البيانات بشكل دقيق. يتمتع المستشعر بدقة 320 × 240 بكسل، مع مركز دقيق عند الإحداثيات (160، 120).

تتوافق إحداثيات X التي تقل عن 160 مع النصف الأيسر من مجال رؤية المستشعر، في حين تمثل تلك التي تزيد عن 160 النصف الأيمن. وبالمثل، تشير إحداثيات Y الأقل من 120 إلى النصف العلوي من العرض، وتمثل تلك الأكبر من 120 النصف السفلي

انتقل إلى فهم البيانات في أداة AI Vision في VEXcode EXP للحصول على مزيد من المعلومات حول كيفية قياس الكائنات باستخدام مستشعر AI Vision.

العرض والارتفاع

هذا هو العرض أو الارتفاع للكائن المكتشف بالبكسل.

يظهر مستشعر الرؤية AI وهو يتتبع كرة Buckyball الزرقاء. تحتوي Buckyball على مستطيل تتبع حولها، ويُظهر الملصق الموجود أعلاه أن عرضها 80 بكسل وارتفاعها 78 بكسل. تسلط الأسهم الحمراء الضوء على مستطيل التتبع لإظهار عرضه وارتفاعه.

تساعد قياسات العرض والارتفاع في تحديد الكائنات المختلفة. على سبيل المثال، سيكون ارتفاع كرة باكي أكبر من الحلقة.

يظهر مستشعر الرؤية AI وهو يتتبع مكعبين أزرقين. تحتوي المكعبات على مستطيلات تتبع حولها، وواحدة منها أقرب كثيرًا إلى الكاميرا. الأقرب عرضه 144 وارتفاعه 113 والأبعد عرضه 73 وارتفاعه 84.

يشير العرض والارتفاع أيضًا إلى مسافة الكائن من مستشعر الرؤية AI. عادةً ما تعني القياسات الأصغر أن الجسم أبعد، في حين تشير القياسات الأكبر إلى أنه أقرب.

مشروع VEXcode Blocks حيث يقترب الروبوت من الكائن حتى يصل العرض إلى حجم معين قبل التوقف. يبدأ المشروع بكتلة "عندما بدأ" وحلقة "إلى الأبد". أما بقية المشروع فهو موجود داخل حلقة Forever. أولاً، قم بأخذ لقطة AIVision1 من Blue، ثم يكون باقي المشروع داخل كتلة If التي تقرأ ما إذا كان كائن AIVision1 موجودًا؟ داخل كتلة If هذه يوجد كتلة If Else التي تقرأ إذا كان عرض كائن AIVision1 أقل من 250 فيجب القيادة للأمام، وإلا فيجب التوقف عن القيادة.

في هذا المثال، يتم استخدام عرض الكائن للتنقل. سوف يقترب الروبوت من الجسم حتى يصل عرضه إلى حجم معين قبل التوقف.

مركز X ومركز Y

هذه هي إحداثيات مركز الكائن المكتشف بالبكسل.

يظهر مستشعر الرؤية AI وهو يتتبع كرة Buckyball الزرقاء. تحتوي كرة Buckyball على مستطيل تتبع حولها، ويُظهر الملصق الموجود أعلاه أنها تحتوي على موضع X 176 وموضع Y 117. يتم تسليط الضوء على مركز مستطيل التتبع لإظهار أن الموضع يتم قياسه من المركز.

تساعد إحداثيات CenterX وCenterY في التنقل وتحديد المواقع. يتمتع مستشعر الرؤية AI بدقة 320 × 240 بكسل.

يظهر مستشعر الرؤية AI وهو يتتبع مكعبين أزرقين. تحتوي المكعبات على مستطيلات تتبع حولها، وواحدة منها أقرب كثيرًا إلى الكاميرا. كلما اقترب الشخص من المكان، كان موقعه على المحور Y هو 184، وكلما ابتعد الشخص من المكان، كان موقعه على المحور Y هو 70.

يمكنك أن ترى أن الكائن الأقرب إلى مستشعر الرؤية AI سيكون له إحداثيات مركز Y أقل من الكائن الأبعد.

مشروع VEXcode Blocks حيث يتجه الروبوت نحو الكائن المكتشف حتى يصبح في مركز رؤية مستشعر الرؤية AI. يبدأ المشروع بكتلة "عندما بدأ" وحلقة "إلى الأبد". أما بقية المشروع فهو موجود داخل حلقة Forever. أولاً، قم بأخذ لقطة AIVision1 من Blue، ثم يكون باقي المشروع داخل كتلة If التي تقرأ ما إذا كان كائن AIVision1 موجودًا؟ داخل كتلة If هذه يوجد كتلة If Else التي تقرأ إذا كان مركز كائن AIVision1 X أكبر من 150 و مركز كائن AIVision1 X أقل من 170، فانعطف يمينًا، وإلا فتوقف عن القيادة.

في هذا المثال، نظرًا لأن مركز رؤية مستشعر الرؤية الذكية هو (160، 120)، فسوف يدور الروبوت إلى اليمين حتى يصبح إحداثي مركز X للكائن المكتشف أكبر من 150 بكسل، ولكن أقل من 170 بكسل.

زاوية

رسوم متحركة لمربع أحمر ومربع أخضر يتم تدويرهما معًا لإظهار قيمة الزاوية البالغة 360 درجة.

الزاوية هي خاصية متاحة فقط لـرمز لون وAprilTags. يمثل هذا ما إذا كان رمز اللونالمكتشفأو AprilTag موجهًا بشكل مختلف.

يظهر مستشعر الرؤية AI وهو يتتبع رمز اللون الأخضر ثم الأزرق. يُظهر موجز الفيديو مكعبًا أخضرًا مكدسًا أعلى مكعب أزرق. يتم تمييز قيمة زاوية رمز اللون وتظهر 87 درجة، مما يشير إلى أن رمز اللون موجه عموديا.

يمكنك معرفة ما إذا كان الروبوت موجهًا بشكل مختلف فيما يتعلق برمز اللون أوAprilTag واتخاذ قرارات التنقل وفقًا لذلك.

يظهر مستشعر الرؤية AI وهو يتتبع رمز اللون الأخضر ثم الأزرق. يُظهر موجز الفيديو مكعبًا أخضرًا يجلس بجوار مكعب أزرق، لكنهما في زاوية غير ملائمة مقارنة بالمستشعر. يتم تمييز قيمة زاوية رمز اللون وتظهر 0 درجة، مما يشير إلى أنه لا يمكن قراءة زاوية رمز اللون.

على سبيل المثال، إذا لم يتم اكتشاف رمز اللون بزاوية مناسبة، فقد لا يتمكن الروبوت من التقاط الكائن الذي يمثله بشكل صحيح.

OriginX و OriginY

OriginX و OriginY هو الإحداثي في الزاوية العلوية اليسرى للكائن المكتشف بالبكسل.

يظهر مستشعر الرؤية AI وهو يتتبع كرة Buckyball الزرقاء. تحتوي كرة Buckyball على مستطيل تتبع حولها، ويُظهر الملصق الموجود أعلاه أنها تحتوي على موضع X 176 وموضع Y 117. يتم تسليط الضوء على الزاوية العلوية اليسرى لمستطيل التتبع لإظهار أن موضع الأصل يتم قياسه من الزاوية العلوية اليسرى.

تساعد إحداثيات OriginX وOriginY في التنقل وتحديد المواقع. من خلال الجمع بين هذا الإحداثي مع عرض الكائن وارتفاعه، يمكنك تحديد حجم الصندوق المحيط بالكائن. يمكن أن يساعد هذا في تتبع الكائنات المتحركة أو التنقل بين الكائنات.

مشروع VEXcode Blocks حيث يقوم الروبوت برسم كائن تم اكتشافه على شاشته كمستطيل. يبدأ المشروع بكتلة "عندما بدأ" وحلقة "إلى الأبد". أما بقية المشروع فهو موجود داخل حلقة Forever. أولاً، قم بأخذ لقطة AIVision1 من Blue، ثم يكون باقي المشروع داخل كتلة If التي تقرأ ما إذا كان كائن AIVision1 موجودًا؟ يوجد داخل كتلة If هذه كتلة رسم مستطيل تقرأ رسم مستطيل كائن AIVision1 الأصل X، وكائن AIVision1 الأصل Y، وعرض كائن AIVision1، وارتفاع كائن AIVision1 على Brain.

في هذا المثال، سيتم رسم مستطيل على الدماغ باستخدام الإحداثيات الدقيقة لأصله وعرضه وارتفاعه.

معرف العلامة

معرف العلامة متاح فقط لـAprilTags. هذا هو رقم المعرف لـAprilTagالمحدد.

يتم تتبع ثلاث علامات AprilTags بواسطة AI Vision Utility. يتم تحديد كل علامة وتحديد موقعها وإبرازها، مما يشير إلى تعقبها بواسطة النظام. معرفات AprilTag في هذا المثال هي 0 و3 و9.

يتيح تحديد AprilTags محددة إمكانية التنقل الانتقائي. يمكنك برمجة الروبوت الخاص بك للتحرك نحو علامات معينة مع تجاهل علامات أخرى، واستخدامها بشكل فعال كعلامات إرشادية للملاحة الآلية.

نتيجة

يتم استخدام خاصية النتيجة عند اكتشافتصنيفات الذكاء الاصطناعي باستخدام مستشعر الرؤية بالذكاء الاصطناعي.

يتم تعقب أربعة أشياء بواسطة أداة AI Vision، وهي كرتان من BuckyBalls وحلقتان. يتم تحديد كل كائن وتحديد موقعه وتحديد معالمه، مما يشير إلى تعقبه بواسطة النظام. تسرد الأداة المساعدة أيضًا درجة تصنيف الذكاء الاصطناعي لكل كائن، وفي هذا المثال تقرأ كل درجة 99%.

تشير درجة الثقة إلى مدى ثقة مستشعر الرؤية AI في اكتشافه. في هذه الصورة، هناك ثقة بنسبة 99% في تحديد تصنيفات الذكاء الاصطناعي لهذه الكائنات الأربعة. يمكنك استخدام هذه النتيجة للتأكد من أن الروبوت الخاص بك يركز فقط على الاكتشافات الواثقة للغاية.


تعيين عنصر الكائن

عندما يتم اكتشاف كائن بواسطة مستشعر الرؤية AI، يتم وضعه في مصفوفة. بشكل افتراضي، سيقوم مستشعر الرؤية AI بسحب البيانات من الكائن الأول في المصفوفة، أو الكائن الذي يحمل فهرس 1. إذا اكتشف مستشعر الرؤية AI الخاص بك كائنًا واحدًا فقط، فسيتم تحديد هذا الكائن بشكل افتراضي.
ومع
، عندما يكتشف مستشعر الرؤية AI الخاص بك عدة كائنات في وقت واحد، فستحتاج إلى استخدام كتلةSet Object Item لتحديد الكائن الذي تريد سحب البيانات منه.

VEXcode EXP تعيين كتلة عنصر الكائن التي تقرأ تعيين عنصر كائن AIVision1 إلى 1. هناك قائمة منسدلة لتحديد مستشعر الرؤية AI، وحقل نص لإدخال فهرس الكائن.

عندما يتم اكتشاف عدة كائنات بواسطة مستشعر الرؤية AI، يتم ترتيبها في المصفوفة من الأكبر إلى الأصغر. وهذا يعني أن أكبر كائن تم اكتشافه سيتم تعيينه دائمًا على مؤشر الكائن 1، وسيتم تعيين أصغر كائن دائمًا على أعلى رقم.

يظهر مستشعر الرؤية AI وهو يتتبع مكعبين أزرقين. تحتوي المكعبات على مستطيلات تتبع حولها، وواحدة منها أقرب كثيرًا إلى الكاميرا. الأقرب يكون عرضه 136، والأبعد يكون عرضه 78.

في هذا المثال، تم اكتشاف كائنين بتوقيع اللون"". سيتم وضعهما معًا في المصفوفة عند استخدام كتلةTake Snapshot.

يظهر مستشعر الرؤية AI وهو يتتبع مكعبين أزرقين. تحتوي المكعبات على مستطيلات تتبع حولها، وواحدة منها أقرب كثيرًا إلى الكاميرا. يتم تسمية المكعب الأقرب بالرقم 1 ويتم تسمية المكعب الأبعد بالرقم 2.

هنا، سيصبح الكائن الموجود في المقدمة هو الكائن ذو الفهرس 1، لأنه الكائن الأكبر، وسيصبح الكائن الأصغر هو الكائن ذو الفهرس 2.


الكائن موجود

قبل سحب أي بيانات من لقطة، من المهم للتأكد من أن مستشعر الرؤية AI قد اكتشف أي كائنات من تلك اللقطة أولاً. هذا هو المكان الذي يأتي فيه كتلةObject Exists للعب دورها.

هل يوجد كائن VEXcode EXP موجود في الكتلة التي تقرأ كائن AIVision1 موجود؟ هناك قائمة منسدلة لاختيار مستشعر الرؤية AI.

ستعيد هذه الكتلة قيمةTrue أوFalse فيما يتعلق بما إذا كانت آخر لقطة تم التقاطها تحتوي على أي كائنات تم اكتشافها أم لا.

استخدام هذه الكتلة من عدم محاولة سحب أي بيانات من لقطة فارغة محتملة.

مشروع VEXcode Blocks حيث سيتحرك الروبوت نحو الجسم الأزرق الذي تم اكتشافه. يبدأ المشروع بكتلة "عندما بدأ" وحلقة "إلى الأبد". أما بقية المشروع فهو موجود داخل حلقة Forever. أولاً، قم بالتقاط لقطة AIVision2 من Blue، ثم كتلة If Else التي تقرأ إذا كان كائن AIVision2 موجودًا، فقم بالقيادة للأمام، وإلا فتوقف عن القيادة.

على سبيل المثال، هنا سوف يقوم الروبوت بالتقاط صور بشكل مستمر باستخدام مستشعر الرؤية AI. إذا تم التعرف أي كائن يحمل توقيع اللون "الأزرق" فسوف يتحرك للأمام.


إذا لم تحتوي أي لقطة على التوقيع اللوني "الأزرق" ، فسيتوقف الروبوت عن الحركة.


عدد الكائنات

كتلة عدد كائنات VEXcode EXP التي تقرأ عدد كائنات AIVision1. هناك قائمة منسدلة لاختيار مستشعر الرؤية AI.

سيسمح لك استخدام كتلة عدد الكائنات برؤية عدد الكائنات ذات التوقيع اللوني المحدد الذي يمكن لمستشعر الرؤية AI رؤيته في لقطة أخيرة. 

يظهر مستشعر الرؤية AI وهو يتتبع مكعبين أزرقين. تحتوي المكعبات على مستطيلات تتبع حولها، وواحدة منها أقرب كثيرًا إلى الكاميرا.

هنا، نرى أن مستشعر الرؤية AI لديه توقيع لوني محدد وهو "أزرق" ، ويكتشف كائنين.

مشروع VEXcode Blocks حيث يقوم الروبوت بطباعة عدد الكائنات الزرقاء المكتشفة على وحدة التحكم في الطباعة. يبدأ المشروع بكتلة "عندما بدأ" وحلقة "إلى الأبد". أما بقية المشروع فهو موجود داخل حلقة Forever. أولاً، قم بالتقاط لقطة AIVision2 من اللون الأزرق، ثم قم بمسح جميع الصفوف على وحدة التحكم، ثم قم بتعيين المؤشر على الصف التالي على وحدة التحكم. التالي هو كتلة If التي تقرأ إذا كان كائن AIVision2 موجودًا ثم تطبع عدد كائنات AIVision2 على وحدة التحكم وتضبط المؤشر على الصف التالي. خارج كتلة If، هناك كتلة Wait تم ضبطها للانتظار لمدة ثانيتين.مخرجات وحدة التحكم في الطباعة لمشروع VEXcode Blocks السابق مع رسالة مطبوعة تقرأ 2.

في هذا الكود، يقوم مستشعر الرؤية AI بالتقاط لقطة وطباعة "2" على وحدة التحكم VEXcode، لأنه يكتشف فقط توقيعين لونيين "أزرق" .


هدف

كتلة كائن VEXcode EXP AI Vision التي تقرأ عرض الكائن AIVision1. هناك قائمة منسدلة لتحديد مستشعر الرؤية AI، وقائمة منسدلة مفتوحة لتحديد سمة الكائن للاستشعار. تتضمن قائمة الخيارات العرض والارتفاع وCentreX وCentreY والزاوية وOriginX وOriginY وTagID والنتيجة.

تتيح لك كتلةObject الإبلاغ عن خصائص الكائن المحدد. يتيح لك هذا استخدام أي من البيانات المتاحة المستخرجة من لقطة الشاشة الملتقطة مؤخرًا.

خصائص الكائن التي يمكن سحبها من اللقطات الملتقطة هي:

  • عرض
  • ارتفاع
  • مركزX
  • مركز ي
  • زاوية
  • الأصلX
  • الأصلY
  • معرف العلامة
  • نتيجة

اقرأ قسم "البيانات المأخوذة من اللقطة" في هذه المقالة للحصول على مزيد من المعلومات حول هذه الخصائص.


تم اكتشاف AprilTag هو

تم اكتشاف VEXcode EXP أن AprilTag عبارة عن كتلة تقرأ AIVision1 وتم اكتشاف AprilTag هو 1؟ هناك قائمة منسدلة لاختيار مستشعر الرؤية AI.

تتوفر كتلةAprilTag فقط عند تشغيل وضع اكتشاف AprilTag
سيقوم
المربع بالإبلاغ عن القيمة True أو False اعتمادًا على ما إذا كان الكائن المحدد عبارة عن AprilTag معين.

يتم تتبع ثلاث علامات AprilTags بواسطة AI Vision Utility. يتم تحديد كل علامة وتحديد موقعها وإبرازها، مما يشير إلى تعقبها بواسطة النظام. معرفات AprilTag في هذا المثال هي 0 و3 و9.

عند اكتشاف علامات AprilTags متعددة في لقطة واحدة، يتم ترتيبها في المصفوفة بناءً على معرفها المحدد، وليس حسب الحجم.
في هذه الصورة، تم الكشف عن ثلاثة AprilTags بمعرفات
و3 و9. سيتم تنظيمها بترتيب تصاعدي لمعرفاتها في المصفوفة. سيتوافق الكائن الموجود عند الفهرس 1 مع AprilTag بالمعرف 0، وفي الفهرس 2 مع AprilTag بالمعرف 3، وفي الفهرس 3 مع AprilTag بالمعرف 9.

لمزيد من المعلومات حول ما هي AprilTags وكيفية تمكين اكتشافها باستخدام AI Vision Sensor، اقرأ هذه المقالة.


تصنيف الذكاء الاصطناعي هو

تصنيف VEXcode EXP AI هو كتلة تقرأ تصنيف AIVision1 AI هو BlueBall؟ هناك قائمة منسدلة لتحديد مستشعر الرؤية AI، وقائمة منسدلة أخرى لتحديد كائن تصنيف الذكاء الاصطناعي المستهدف.

يتوفر تصنيف الذكاء الاصطناعيفي كتلة فقط عند تشغيل وضع اكتشاف تصنيف الذكاء الاصطناعي.

 

سيقوم هذا المربع بالإبلاغ عن القيمة "صحيح" أو "خطأ" اعتمادًا على ما إذا كان الكائن المحدد هو تصنيف ذكاء اصطناعي معين.

تختلف تصنيفات الذكاء الاصطناعي التي يمكن لمستشعر الرؤية بالذكاء الاصطناعي اكتشافها وفقًا للطراز الذي تستخدمه. لمزيد من المعلومات حول تصنيفات الذكاء الاصطناعي المتاحة وكيفية تمكين اكتشافها باستخدام مستشعر الرؤية بالذكاء الاصطناعي، اقرأ هذه المقالة.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: