JSON
تعلم كيف يبسط JSON تبادل بيانات الذكاء الاصطناعي. اكتشف كيفية تصدير تنبؤات Ultralytics YOLO26 إلى JSON لتكامل API ونشر النماذج بسلاسة.
يُعد JSON، أو ما يُعرف بـ JavaScript Object Notation، تنسيقاً خفيف الوزن وقائماً على النصوص يُستخدم لتخزين البيانات ونقلها. في مجال الذكاء الاصطناعي والتعلم الآلي، يُعتبر معياراً عالمياً لتبادل البيانات بين الخوادم، وتطبيقات الويب، وinference engines. بنيته، التي تتكون من أزواج المفتاح والقيمة والقوائم المرتبة، سهلة القراءة والكتابة للبشر بينما يسهل على الآلات تحليلها وتوليدها. وبkونه مستقل لغوياً، يسهل JSON التواصل السلس بين نموذج مُدرب بلغة Python وبيئة نشر تعمل بلغة JavaScript أو C++ أو Go.
JSON في خطوط أنابيب الذكاء الاصطناعي والنشر#
عند نشر نموذج رؤية حاسوبية في الإنتاج، يتفاعل عادةً مع مكونات البرمجيات الأخرى عبر REST API. على سبيل المثال، عندما يُرسل نظام مراقبة إطار فيديو إلى خادم يشغل نموذج object detection، يقوم الخادم بتحليل الصورة وإرجاع النتائج. بدلاً من إرجاع صورة ثنائية، يستجيب الخادم بسلسلة نصية بتنسيق JSON تحتوي على إحداثيات bounding boxes، وأسماء الفئات المُكتشفة، ودرجات confidence المرتبطة بها. هذه الاستجابة النصية تُستهلك بسهولة بواسطة لوحات معلومات الواجهة الأمامية، أو تطبيقات الجوال، أو NoSQL databases مثل MongoDB للتسجيل والتحليلات.
إلى جانب الاستدلال، يُعد JSON بالغ الأهمية لهيكلة training data. تنسيق COCO dataset الشهير يستخدم مخطط JSON شامل لتحديد مسارات ملفات الصور، ومعلومات الترخيص، وإحداثيات التعليقات التوضيحية. يتناقض هذا مع تنسيقات أخرى مثل تنسيق YOLO TXT، الذي يستخدم ملفات نصية بسيطة تفصل بينها مسافات. الأدوات المتقدمة على Ultralytics Platform غالباً ما تستخدم JSON لإدارة بيانات وصفية معقدة للمشاريع وإصدارات مجموعات البيانات في السحابة.
تحويل تنبؤات النموذج إلى JSON#
تُبسط الأطر الحديثة عملية data serialization، مما يتيح للمطورين تصدير مخرجات النموذج مباشرة إلى 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 في كل مكان في web development وتصميم واجهات برمجة التطبيقات، من المهم تمييزه عن تنسيقات تسلسل البيانات الأخرى التي تُواجه عادةً في سير عمل Deep Learning.
- JSON مقابل YAML: صُمم YAML لتحقيق أقصى قدر من القراءة البشرية ويدعم التعليقات، مما يجعله الخيار المفضل لملفات التكوين. على سبيل المثال، إعدادات hyperparameter tuning أو مسارات مجموعات البيانات في Ultralytics مُعرّفة في ملفات
.yaml. JSON أكثر صرامة، ولا يدعم التعليقات، وعادةً ما يكون أسرع للآلات في التحليل، مما يجعله أكثر ملاءمة لنقل البيانات واستجابات واجهات برمجة التطبيقات. - JSON مقابل XML: يستخدم XML بنية مطولة تعتمد على الوسوم. على الرغم من أنه كان في السابق المعيار لمجموعات البيانات مثل Pascal VOC، فقد تم تجاوزه إلى حد كبير بواسطة JSON في عمليات Machine Learning Operations (MLOps) الحديثة بسبب صغر حجم ملف JSON وبساطة بناء جملته.
التوحيد وقابلية التشغيل البيني#
يعزز التبني الواسع النطاق لـ JSON القابلية للتشغيل البيني بين الأدوات المتنوعة. سواء أكان الأمر يتعلق بتصدير أقنعة instance segmentation، أو تخزين تسميات image classification، أو تكوين خط أنابيب model deployment، يضمن JSON أن تظل البيانات منظمة وفي متناول اليد. يمتد دوره إلى GeoJSON، وهو تنسيق متخصص لتشفير هياكل البيانات الجغرافية، والذي يُستخدم بشكل متكرر في satellite image analysis لربط الكائنات المُكتشفة بإحداثيات جغرافية. من خلال الاستفادة من json library المدمجة في Python، يمكن للمطورين بسهولة التحقق من صحة هياكل البيانات هذه وتحليلها ومعالجتها لبناء تطبيقات ذكاء اصطناعي قوية.






