JSON
تعلّم كيف يبسّط JSON تبادل بيانات الذكاء الاصطناعي. اكتشف كيفية تصدير تنبؤات Ultralytics YOLO26 إلى JSON لتحقيق تكامل سلس مع API ونشر النماذج.
JSON، أو ترميز كائنات JavaScript، هو تنسيق خفيف قائم على النص يُستخدم لتخزين البيانات ونقلها. وفي مجالَي الذكاء الاصطناعي وتعلّم الآلة، يعمل معيارًا عالميًا لتبادل البيانات بين الخوادم وتطبيقات الويب ومحركات الاستدلال. وتتكون بنيته من أزواج مفتاح-قيمة وقوائم مرتبة، ما يجعل قراءتها وكتابتها سهلة للبشر، وتحليلها وإنشاءها أمرًا يسيرًا للآلات. وبما أنه مستقل عن لغة البرمجة، يسهّل JSON التواصل السلس بين نموذج مُدرَّب باستخدام Python وبيئة نشر تعمل باستخدام JavaScript أو C++ أو Go.
JSON في مسارات عمل الذكاء الاصطناعي والنشر#
عند نشر نموذج للرؤية الحاسوبية في بيئة الإنتاج، فإنه يتفاعل عادةً مع مكونات برمجية أخرى عبر REST API. فعلى سبيل المثال، عندما يرسل نظام مراقبة إطارًا من الفيديو إلى خادم يشغّل نموذجًا لـاكتشاف الكائنات، يحلل الخادم الصورة ويعيد النتائج. وبدلًا من إرسال صورة ثنائية، يستجيب الخادم بسلسلة JSON تتضمن إحداثيات المربعات المحيطة، وأسماء الفئات المكتشفة، ودرجات الثقة المرتبطة بها. ويُستهلك هذا الرد القائم على النص بسهولة من لوحات معلومات الواجهة الأمامية أو تطبيقات الأجهزة المحمولة أو قواعد بيانات NoSQL مثل MongoDB لأغراض التسجيل والتحليلات.
إلى جانب الاستدلال، يُعد JSON عنصرًا أساسيًا في هيكلة بيانات التدريب. ويستخدم تنسيق مجموعة بيانات COCO الشائع مخطط JSON شاملًا لتعريف مسارات ملفات الصور ومعلومات التراخيص وإحداثيات التعليقات التوضيحية. ويختلف ذلك عن تنسيقات أخرى مثل تنسيق YOLO TXT، الذي يستخدم ملفات نصية بسيطة تفصل بينها مسافات. وغالبًا ما تستخدم الأدوات المتقدمة على منصة Ultralytics JSON لإدارة البيانات الوصفية المعقدة للمشروعات وإصدارات مجموعات البيانات في السحابة.
تحويل تنبؤات النموذج إلى JSON#
تعمل أُطر العمل الحديثة على تبسيط عملية تسلسل البيانات، ما يتيح للمطورين تصدير مخرجات النموذج مباشرةً إلى JSON. وتوفر مكتبة ultralytics أساليب مضمّنة لتسلسل نتائج الاكتشاف، مما يسهّل دمج نماذج YOLO26 في منظومات برمجية أكبر.
يوضح المثال التالي كيفية تشغيل الاستدلال باستخدام نموذج Ultralytics YOLO26 وتحويل نتائج الاكتشاف إلى سلسلة JSON موحّدة:
import json
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Convert the first result object to a JSON string
# This serializes boxes, classes, and confidence scores
json_output = results[0].tojson()
# Parse back to a dict to verify structure
data = json.loads(json_output)
print(f"Detected {len(data)} objects.")JSON مقابل التنسيقات ذات الصلة#
مع أن JSON شائع في تطوير الويب وتصميم واجهات API، فمن المهم تمييزه عن تنسيقات تسلسل البيانات الأخرى الشائعة في مسارات عمل التعلّم العميق.
- JSON مقابل YAML: صُمم YAML لتحقيق أقصى قدر من سهولة القراءة للبشر، ويدعم التعليقات، مما يجعله الخيار المفضل لملفات الإعداد. فعلى سبيل المثال، تُعرَّف إعدادات ضبط المعلمات الفائقة أو مسارات مجموعات البيانات في Ultralytics داخل ملفات
.yaml. أما JSON فهو أكثر صرامة، ولا يدعم التعليقات، ويكون عمومًا أسرع في التحليل بواسطة الآلات، مما يجعله أنسب لنقل البيانات واستجابات واجهات API. - JSON مقابل XML: يستخدم XML بنية مطوّلة قائمة على الوسوم. ومع أنه كان فيما مضى المعيار لمجموعات بيانات مثل Pascal VOC، فقد حل JSON محله إلى حد كبير في عمليات تعلّم الآلة (MLOps) الحديثة، بفضل حجم ملف JSON الأصغر وبنيته الأبسط.
التوحيد القياسي وقابلية التشغيل البيني#
يعزز اعتماد JSON على نطاق واسع قابلية التشغيل البيني بين الأدوات المتنوعة. وسواء أكان الأمر يتعلق بتصدير أقنعة تقسيم الكائنات، أو تخزين تسميات تصنيف الصور، أو إعداد مسار نشر النموذج، يضمن JSON بقاء البيانات منظمة وسهلة الوصول. ويمتد دوره إلى GeoJSON، وهو تنسيق متخصص لترميز هياكل البيانات الجغرافية، ويُستخدم كثيرًا في تحليل صور الأقمار الصناعية لإسقاط الكائنات المكتشفة على الإحداثيات الجغرافية. ومن خلال الاستفادة من مكتبة json المضمّنة في Python، يستطيع المطورون بسهولة التحقق من صحة هياكل البيانات هذه وتحليلها ومعالجتها لبناء تطبيقات ذكاء اصطناعي متينة.









