Ultralytics YOLO27: انضم إلى قائمة الانتظار.
ترخيص YOLO
العودة إلى مسرد Ultralytics

XML

XML تنسيق نصي يضع وسومًا مخصصة متداخلة في بنية شجرية للبيانات المنظمة. يتناول هذا النص صياغته ومخططاته وتعليقات PASCAL VOC ومقارنته بـ JSON وYAML.

XML (لغة الترميز القابلة للامتداد) تنسيق نصي للبيانات المنظّمة، تتداخل فيه الوسوم المخصصة لتشكّل شجرة، مثل عنصر <size> يحتوي على <width> و<height>. ونشر اتحاد شبكة الويب العالمية XML 1.0 توصيةً في فبراير 1998، بوصفه مجموعة فرعية مبسطة من SGML (لغة الترميز العامة القياسية) لتبادل المستندات والبيانات عبر الويب. ولا يتضمن XML وسومًا محددة مسبقًا، بخلاف HTML: إذ يحدد كل تطبيق وسومه الخاصة للدلالة على بياناته، ولهذا بُنيت عليه تنسيقات ملفات كثيرة، من رسومات SVG وخلاصات RSS إلى مستندات Microsoft Office. وفي تعلم الآلة والرؤية الحاسوبية، يظهر XML في الغالب في ملفات التعليقات التوضيحية، وملفات النماذج، وأنظمة الرعاية الصحية والمؤسسات التي توفر بيانات التدريب.

صياغة XML والتحقق من صحته#

يحتوي مستند XML على عنصر جذر واحد بالضبط. ويمكن للعناصر أن تضم نصًا وعناصر فرعية وسمات مكتوبة داخل وسم الفتح، كما في <box label="car" xtl="10">، وتفصل المساحات الاسمية المعلنة باستخدام xmlns بين الوسوم المنتمية إلى مفردات مختلفة. ويكون المستند حسن التكوين إذا اتبع قواعد الصياغة، فأُغلقت جميع الوسوم، وتداخلت العناصر على نحو صحيح، ووُضعت قيم السمات بين علامتي اقتباس، ويجب على المحللات التوقف عند أول خطأ في سلامة التكوين. ويكون المستند صالحًا أيضًا عندما يطابق مخططًا، يُكتب بتعريف نوع المستند (DTD) أو بمخطط XML (XSD)، يسرد العناصر المسموح بها وترتيبها وأنواع بياناتها. وتحدد تعبيرات XPath، مثل size/width، العقد من الشجرة، وتحول أوراق أنماط XSLT مفردات XML من صيغة إلى أخرى.

XML في الرؤية الحاسوبية وتعلم الآلة#

جعل تحدي PASCAL VOC، الذي أُقيم بين عامي 2005 و2012، من XML تنسيق التعليقات التوضيحية التقليدي لـاكتشاف الكائنات. فلكل صورة ملف XML واحد يتضمن اسم الملف وحجمه، وعنصر <object> لكل كائن، يحتوي على اسم الفئة والعلامتين truncated وdifficult، وعنصر <bndbox> الذي تحدد زواياه بالبكسل xmin وymin وxmax وymax مربع الإحاطة. وتحفظ أداة التعليقات التوضيحية LabelImg هذا التنسيق افتراضيًا، لذا لا تزال كثير من مجموعات البيانات توزّع به، وتحتاج إلى تحويله أثناء المعالجة المسبقة للبيانات. ويخزن تصدير CVAT for images 1.1 من CVAT كل التعليقات التوضيحية لمهمة واحدة في ملف XML واحد، مع كتابة المربعات كسمات مثل xtl وytl وxbr وybr.

يصف XML النماذج والسجلات أيضًا. يخزن التمثيل الوسيط لـIntel OpenVINO طبقات الشبكة وروابطها في ملف .xml، وأوزانها في ملف .bin مطابق، كما تُوزّع كواشف الوجوه المدرّبة مسبقًا باستخدام Haar cascade في OpenCV بصيغة XML. ويمكن تبادل سجلات HL7 FHIR الصحية، التي تقرنها مشاريع الذكاء الاصطناعي السريري بالصور من أجل تحليل الصور الطبية، بصيغة XML أو JSON، كما أن ملفات Word وExcel أرشيفات ZIP لأجزاء XML تقرؤها أنظمة الذكاء الاصطناعي.

يحلّل هذا المثال تعليقًا توضيحيًا بتنسيق VOC باستخدام ElementTree المضمّن في Python، ويحوّل كل مربع إلى إحداثيات المركز والعرض والارتفاع المُطبَّعة وفق تنسيق تسميات YOLO:

import xml.etree.ElementTree as ET

# A PASCAL VOC annotation: one XML file per image, one <object> per box
voc = """
<annotation>
  <filename>000017.jpg</filename>
  <size><width>480</width><height>364</height><depth>3</depth></size>
  <object><name>person</name><difficult>0</difficult>
    <bndbox><xmin>185</xmin><ymin>62</ymin><xmax>279</xmax><ymax>199</ymax></bndbox></object>
  <object><name>horse</name><difficult>0</difficult>
    <bndbox><xmin>90</xmin><ymin>78</ymin><xmax>403</xmax><ymax>336</ymax></bndbox></object>
</annotation>
"""
root = ET.fromstring(voc)
w, h = int(root.find("size/width").text), int(root.find("size/height").text)

# Convert corner pixels to YOLO's normalized center x, center y, width, height
for obj in root.iter("object"):
    box = obj.find("bndbox")
    x1, y1, x2, y2 = (float(box.find(k).text) for k in ("xmin", "ymin", "xmax", "ymax"))
    cx, cy = ((x1 + x2) / 2 - 1) / w, ((y1 + y2) / 2 - 1) / h  # VOC pixel indices start at 1
    print(obj.find("name").text, f"{cx:.3f} {cy:.3f} {(x2 - x1) / w:.3f} {(y2 - y1) / h:.3f}")

يطبع المثال person 0.481 0.356 0.196 0.376 وhorse 0.511 0.566 0.652 0.709: المربعين نفسيهما معبّرًا عنهما بكسور من حجم الصورة، وجاهزين للكتابة في أسطر التسميات بعد فهارس الفئات. ويتولى ملف مجموعة بيانات Ultralytics VOC.yaml هذا التحويل تلقائيًا عند الاستخدام الأول؛ إذ ينزّل VOC 2007 و2012، ويحلل كل تعليق توضيحي بصيغة XML باستخدام ElementTree، ويتخطى الكائنات الموسومة بـ difficult، ويكتب تسميات YOLO .txt لـ16,551 صورة تدريب و4,952 صورة تحقق.

XML مقارنةً بـJSON وYAML#

  • JSON: كائنات ومصفوفات وسلاسل وأرقام وقيم منطقية بصياغة أبسط من XML، مع تحويل مباشر إلى قواميس Python وكائنات JavaScript. وتستخدمه واجهات الويب وتعليقات مجموعة بيانات COCO.
  • YAML: يستخدم المسافات البادئة بدلًا من وسوم الإغلاق، ويدعم التعليقات، ويقبل منذ YAML 1.2 أي مستند JSON، ما يجعله شائعًا لملفات الإعدادات التي تُحرر يدويًا، مثل ملفات مجموعات بيانات YOLO وملفات النماذج.
  • XML: أكثر إسهابًا، ويتميز بالمخططات والمساحات الاسمية والسمات والمحتوى المختلط، أي النص المصحوب بترميز مضمن، ما يجعله مناسبًا للمستندات والهيئات المعنية بالمعايير التي تحتاج إلى تحقق صارم.

تحليل XML غير الموثوق به#

تتيح ميزة الكيانات في XML للمستند تعريف نص قابل لإعادة الاستخدام، ويستغل المهاجمون هذه الميزة. ففي هجوم «مليار ضحكة»، تشير نحو عشرة تعريفات متداخلة للكيانات، يكرر كل منها الإشارة إلى التعريف السابق عشر مرات، إلى توسعة ملف لا يتجاوز بضع مئات من البايتات إلى غيغابايتات من النص. ويعرّف هجوم الكيانات الخارجية في XML ‏(XXE) كيانًا يشير إلى ملف محلي أو عنوان URL داخلي، بحيث يقرأ المحلل الضعيف الأسرار إلى داخل المستند أو يرسل طلبات من داخل الشبكة. ولا توسّع xml.etree.ElementTree في Python الكيانات الخارجية، وتُصدر خطأ تحليل عند مصادفة أحدها، كما أن محلل Expat يقاوم هجوم مليار ضحكة بدءًا من الإصدار 2.4.1. وتمضي حزمة defusedxml إلى أبعد من ذلك، إذ تُصدر EntitiesForbidden عند أي تصريح بكيان، داخليًا كان أم خارجيًا.

استكشف الحلول

الرؤية الحاسوبية في الرياضة

الرؤية الحاسوبية في الرياضة

اكتشف كيف يعزّز Ultralytics YOLO الرؤية الحاسوبية الرياضية عبر تتبّع اللاعبين والكرة، وتحليلات الأداء، ورؤى التدريب، وإعادة تأهيل الرياضيين.
معرفة المزيد
الرؤية الحاسوبية للصور الجوية

الرؤية الحاسوبية للصور الجوية

حوّل صور الطائرات المسيّرة والصور الجوية إلى رؤى آنية للزراعة وتربية الأحياء المائية والحفاظ على البيئة والتحليل الجغرافي المكاني باستخدام Ultralytics YOLO.
معرفة المزيد
الرؤية الحاسوبية في قطاع الطيران والفضاء

الرؤية الحاسوبية في قطاع الطيران والفضاء

طبّق الرؤية الحاسوبية في مجال الطيران والفضاء باستخدام Ultralytics YOLO لفحص الطائرات، واكتشاف الأجسام الغريبة على المدارج (FOD)، والعمليات الأرضية في المطارات، واكتشاف عيوب المواد المركّبة.
معرفة المزيد
الرؤية الحاسوبية في مجال الأمن

الرؤية الحاسوبية في مجال الأمن

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

الرؤية الحاسوبية في الروبوتات

عزّز أداء الآلات الذكية باستخدام نماذج Ultralytics YOLO. يدعم الذكاء الاصطناعي البصري في الروبوتات الملاحة الذاتية والإدراك وتعقب الأجسام والتحكم الآني.
معرفة المزيد
الرؤية الحاسوبية في الخدمات اللوجستية

الرؤية الحاسوبية في الخدمات اللوجستية

بسّط العمليات اللوجستية باستخدام نماذج Ultralytics YOLO. يتيح الذكاء الاصطناعي البصري فحص الطرود وفرزها وتتبع المركبات ومراقبة سلامة المستودعات في الوقت الفعلي.
معرفة المزيد
الرؤية الحاسوبية في تجارة التجزئة

الرؤية الحاسوبية في تجارة التجزئة

أعِد تصور تجارة التجزئة باستخدام نماذج Ultralytics YOLO. يتيح الذكاء الاصطناعي البصري تتبع المخزون ومراقبة الرفوف وإدارة الطوابير واستخلاص رؤى أذكى عن العملاء.
معرفة المزيد
الرؤية الحاسوبية في الرعاية الصحية

الرؤية الحاسوبية في الرعاية الصحية

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

الرؤية الحاسوبية في التصنيع

حسّن التصنيع باستخدام نماذج Ultralytics YOLO. يعزز الذكاء الاصطناعي للرؤية مراقبة الجودة واكتشاف العيوب والالتزام بمعدات الوقاية الشخصية وأتمتة خطوط التجميع.
معرفة المزيد
الرؤية الحاسوبية في قطاع السيارات

الرؤية الحاسوبية في قطاع السيارات

طبّق الرؤية الحاسوبية في قطاع السيارات باستخدام نماذج Ultralytics YOLO. يعزز الذكاء الاصطناعي للرؤية سلامة الطرق ومساعدة السائق وأتمتة المركبات لإنشاء طرق أكثر ذكاءً.
معرفة المزيد
الرؤية الحاسوبية في الزراعة

الرؤية الحاسوبية في الزراعة

أدخل الذكاء الاصطناعي البصري إلى الزراعة الذكية باستخدام نماذج Ultralytics YOLO. عزّز مراقبة المحاصيل وتتبع الماشية والزراعة الدقيقة لزيادة الإنتاجية وتحسينها.
معرفة المزيد

لنبنِ مستقبل الذكاء الاصطناعي معًا!

ابدأ رحلتك نحو مستقبل تعلّم الآلة