JSON
تعلم كيف يبسط JSON تبادل بيانات الذكاء الاصطناعي. اكتشف كيفية تصدير تنبؤات Ultralytics YOLO26 إلى JSON لتكامل API ونشر النماذج بسلاسة.
JSON، أو JavaScript Object Notation، هو تنسيق خفيف الوزن يعتمد على النصوص ويُستخدم لتخزين البيانات ونقلها. في مجال الذكاء الاصطناعي وتعلم الآلة، يعمل كمعيار عالمي لتبادل البيانات بين الخوادم وتطبيقات الويب ومحركات الاستنتاج. هيكله، المكون من أزواج المفاتيح والقيم والقوائم المرتبة، سهل القراءة والكتابة بالنسبة للبشر، كما يسهل على الآلات تحليله وإنشائه. ونظراً لأنه مستقل عن لغة البرمجة، يسهل JSON التواصل السلس بين نموذج تم تدريبه باستخدام Python وبيئة تشغيل تعتمد على JavaScript أو C++ أو Go.
Link to this sectionJSON في خطوط أنابيب الذكاء الاصطناعي والنشر#
عند نشر نموذج رؤية حاسوبية في بيئة الإنتاج، فإنه يتفاعل عادةً مع مكونات برمجية أخرى عبر REST API. على سبيل المثال، عندما يرسل نظام مراقبة إطار فيديو إلى خادم يقوم بتشغيل نموذج اكتشاف الكائنات، يقوم الخادم بتحليل الصورة وإرجاع النتائج. بدلاً من إرسال صورة ثنائية، يستجيب الخادم بسلسلة نصية بتنسيق JSON تحتوي على إحداثيات صناديق التحديد، وأسماء الفئات المكتشفة، ودرجات الثقة المرتبطة بها. هذه الاستجابة النصية يسهل استهلاكها بواسطة لوحات معلومات الواجهة الأمامية، أو تطبيقات الهاتف المحمول، أو قواعد بيانات NoSQL مثل MongoDB لأغراض التسجيل والتحليلات.
بعيداً عن الاستنتاج، يعتبر JSON حيوياً لهيكلة بيانات التدريب. يستخدم تنسيق مجموعة بيانات COCO مخطط JSON شاملاً لتحديد مسارات ملفات الصور، ومعلومات الترخيص، وإحداثيات التعليقات التوضيحية. يتناقض هذا مع تنسيقات أخرى مثل تنسيق YOLO TXT، الذي يستخدم ملفات نصية بسيطة مفصولة بمسافات. غالباً ما تستخدم الأدوات المتقدمة على منصة Ultralytics تنسيق JSON لإدارة بيانات المشروع الوصفية المعقدة وإصدارات مجموعات البيانات في السحابة.
Link to this sectionتحويل تنبؤات النموذج إلى JSON#
تعمل الأطر الحديثة على تبسيط عملية تسلسل البيانات، مما يسمح للمطورين بتصدير مخرجات النموذج مباشرة إلى JSON. توفر مكتبة ultralytics طرقاً مدمجة لتسلسل نتائج الاكتشاف، مما يجعل من السهل دمج نماذج YOLO26 في أنظمة برمجية أكبر.
يوضح المثال التالي كيفية إجراء الاستنتاج باستخدام نموذج 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.")Link to this sectionJSON مقابل التنسيقات ذات الصلة#
على الرغم من أن JSON منتشر في تطوير الويب وتصميم واجهات برمجة التطبيقات، فمن المهم تمييزه عن تنسيقات تسلسل البيانات الأخرى التي تُصادف عادةً في سير عمل التعلم العميق.
- JSON مقابل YAML: صُمم YAML لتحقيق أقصى قدر من القراءة البشرية ويدعم التعليقات، مما يجعله الخيار المفضل لملفات الإعدادات. على سبيل المثال، يتم تحديد إعدادات ضبط المعلمات الفائقة أو مسارات مجموعات البيانات في Ultralytics في ملفات
.yaml. يعد JSON أكثر صرامة، ولا يدعم التعليقات، وعموماً هو أسرع في التحليل بواسطة الآلات، مما يجعله أكثر ملاءمة لنقل البيانات واستجابات واجهات برمجة التطبيقات. - JSON مقابل XML: يستخدم XML بنية مطولة تعتمد على الوسوم. بينما كان في يوم من الأيام المعيار لمجموعات بيانات مثل Pascal VOC، فقد تم استبداله إلى حد كبير بواسطة JSON في عمليات تعلم الآلة (MLOps) الحديثة نظراً لحجم ملفه الأصغر وبنيته الأبسط.
Link to this sectionالتوحيد وقابلية التشغيل البيني#
يعزز الاعتماد الواسع لـ JSON قابلية التشغيل البيني بين الأدوات المتنوعة. سواء كنت تقوم بتصدير أقنعة تجزئة المثيلات، أو تخزين تسميات تصنيف الصور، أو تهيئة خط أنابيب نشر النموذج، يضمن JSON بقاء البيانات منظمة ويمكن الوصول إليها. يمتد دوره إلى GeoJSON، وهو تنسيق متخصص لتشفير هياكل البيانات الجغرافية، والذي يُستخدم بشكل متكرر في تحليل صور الأقمار الصناعية لرسم خرائط الكائنات المكتشفة على إحداثيات جغرافية. من خلال الاستفادة من مكتبة json المدمجة في Python، يمكن للمطورين بسهولة التحقق من صحة هذه الهياكل البيانات، وتحليلها، ومعالجتها لبناء تطبيقات ذكاء اصطناعي قوية.






