Skip to content

دعم الذكاء الاصطناعي المرئي

مساعدة مدعومة بالذكاء الاصطناعي للتعليق التوضيحي على الصور والفيديو باستخدام نماذج الرؤية.

دعم الذكاء الاصطناعي المرئي

جديد في الإصدار v2.1.0

يوفر Potato مساعدة مدعومة بالذكاء الاصطناعي لمهام التعليق التوضيحي على الصور والفيديو باستخدام نماذج رؤية متنوعة بما في ذلك YOLO لاكتشاف الأجسام ونماذج اللغة المرئية (VLLMs) مثل GPT-4o وClaude ونماذج رؤية Ollama.

نظرة عامة

يتيح دعم الذكاء الاصطناعي المرئي:

  • اكتشاف الأجسام: اكتشاف الأجسام وتحديد مواقعها تلقائياً في الصور باستخدام YOLO أو VLLMs
  • التعليق التوضيحي المسبق: اكتشاف جميع الأجسام تلقائياً للمراجعة البشرية
  • التصنيف: تصنيف الصور أو المناطق داخل الصور
  • التلميحات: الحصول على إرشادات دون الكشف عن المواقع الدقيقة
  • اكتشاف المشاهد: تحديد الأجزاء الزمنية في مقاطع الفيديو
  • اكتشاف الإطارات الرئيسية: العثور على اللحظات المهمة في مقاطع الفيديو
  • تتبع الأجسام: تتبع الأجسام عبر إطارات الفيديو

نقاط النهاية المدعومة

نقطة نهاية YOLO

الأفضل لاكتشاف الأجسام السريع والدقيق باستخدام الاستدلال المحلي.

yaml
ai_support:
  enabled: true
  endpoint_type: "yolo"
  ai_config:
    model: "yolov8m.pt"  # or yolov8n, yolov8l, yolov8x, yolo-world
    confidence_threshold: 0.5
    iou_threshold: 0.45

النماذج المدعومة:

  • YOLOv8 (متغيرات n/s/m/l/x)
  • YOLO-World (اكتشاف بمفردات مفتوحة)
  • نماذج مدرّبة مخصصة

نقطة نهاية Ollama Vision

للاستدلال المحلي بنماذج اللغة المرئية.

yaml
ai_support:
  enabled: true
  endpoint_type: "ollama_vision"
  ai_config:
    model: "llava:latest"  # or llava-llama3, bakllava, llama3.2-vision, qwen2.5-vl
    base_url: "http://localhost:11434"
    max_tokens: 500
    temperature: 0.1

النماذج المدعومة:

  • LLaVA (7B, 13B, 34B)
  • LLaVA-LLaMA3
  • BakLLaVA
  • Llama 3.2 Vision (11B, 90B)
  • Qwen2.5-VL
  • Moondream

نقطة نهاية OpenAI Vision

للتحليل المرئي السحابي باستخدام GPT-4o.

yaml
ai_support:
  enabled: true
  endpoint_type: "openai_vision"
  ai_config:
    api_key: "${OPENAI_API_KEY}"
    model: "gpt-4o"  # or gpt-4o-mini
    max_tokens: 1000
    detail: "auto"  # low, high, or auto

نقطة نهاية Anthropic Vision

لاستخدام Claude مع إمكانيات الرؤية.

yaml
ai_support:
  enabled: true
  endpoint_type: "anthropic_vision"
  ai_config:
    api_key: "${ANTHROPIC_API_KEY}"
    model: "claude-sonnet-4-20250514"
    max_tokens: 1024

قدرات نقاط النهاية

لكل نقطة نهاية نقاط قوة مختلفة:

نقطة النهايةتوليد النصوصالرؤيةمخرجات Bboxالكلمات المفتاحيةالتبرير
ollama_visionنعمنعملالانعم
openai_visionنعمنعملالانعم
anthropic_visionنعمنعملالانعم
yoloلانعمنعملالا

أفضل الممارسات:

  • لـاكتشاف الأجسام الدقيق، استخدم نقطة نهاية yolo
  • لـتصنيف الصور مع التفسيرات، استخدم VLLM مثل ollama_vision مع Qwen-VL أو LLaVA
  • لـسير العمل المجمّع، هيّئ كلاً من نقطة نهاية نصية ونقطة نهاية مرئية

التعليق التوضيحي على الصور بالذكاء الاصطناعي

هيّئ التعليق التوضيحي على الصور بمساعدة الذكاء الاصطناعي مع ميزات الاكتشاف والتعليق المسبق والتصنيف والتلميحات:

yaml
annotation_schemes:
  - annotation_type: image_annotation
    name: object_detection
    description: "Detect and label objects in the image"
    tools:
      - bbox
      - polygon
    labels:
      - name: "person"
        color: "#FF6B6B"
      - name: "car"
        color: "#4ECDC4"
      - name: "dog"
        color: "#45B7D1"
 
    ai_support:
      enabled: true
      features:
        detection: true      # "Detect" button - find objects
        pre_annotate: true   # "Auto" button - detect all
        classification: false # "Classify" button - classify region
        hint: true           # "Hint" button - get guidance
 
ai_support:
  enabled: true
  endpoint_type: "yolo"
  ai_config:
    model: "yolov8m.pt"
    confidence_threshold: 0.5

التعليق التوضيحي على الفيديو بالذكاء الاصطناعي

yaml
annotation_schemes:
  - annotation_type: video_annotation
    name: scene_segmentation
    description: "Segment video into scenes"
    mode: segment
    labels:
      - name: "intro"
        color: "#4ECDC4"
      - name: "action"
        color: "#FF6B6B"
      - name: "outro"
        color: "#45B7D1"
 
    ai_support:
      enabled: true
      features:
        scene_detection: true     # Detect scene boundaries
        keyframe_detection: false
        tracking: false
        pre_annotate: true        # Auto-segment entire video
        hint: true
 
ai_support:
  enabled: true
  endpoint_type: "ollama_vision"
  ai_config:
    model: "llava:latest"
    max_frames: 10  # Frames to sample for video analysis

فصل نقاط النهاية المرئية والنصية

يمكنك تهيئة نقطة نهاية منفصلة للمهام المرئية، باستخدام أفضل نموذج لكل نوع محتوى:

yaml
ai_support:
  enabled: true
  endpoint_type: "openai"  # For text annotations
  ai_config:
    api_key: "${OPENAI_API_KEY}"
    model: "gpt-4o-mini"
 
  # Separate visual endpoint
  visual_endpoint_type: "yolo"
  visual_ai_config:
    model: "yolov8m.pt"
    confidence_threshold: 0.5

أو باستخدام نموذج لغة مرئية بجانب نموذج نصي:

yaml
ai_support:
  enabled: true
  endpoint_type: "ollama"  # Main endpoint for text
  visual_endpoint_type: "ollama_vision"  # Visual endpoint for images
  ai_config:
    model: "llama3.2"
    include:
      all: true
  visual_ai_config:
    model: "qwen2.5-vl:7b"

ميزات الذكاء الاصطناعي

الاكتشاف

يعثر على الأجسام المطابقة للتسميات المهيّأة ويرسم مربعات إحاطة مقترحة. تظهر الاقتراحات كطبقات متقطعة يمكن قبولها أو رفضها.

التعليق التوضيحي المسبق (تلقائي)

يكتشف جميع الأجسام في الصورة/الفيديو تلقائياً وينشئ اقتراحات للمراجعة البشرية. مفيد لتسريع التعليق التوضيحي على مجموعات البيانات الكبيرة.

التصنيف

يصنّف منطقة محددة أو الصورة بالكامل. يعيد تسمية مقترحة مع درجة الثقة والتبرير.

التلميحات

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

اكتشاف المشاهد (فيديو)

يحلل إطارات الفيديو لتحديد حدود المشاهد ويقترح أجزاء زمنية مع تسميات.

اكتشاف الإطارات الرئيسية (فيديو)

يحدد اللحظات المهمة في الفيديو التي تصلح كنقاط تعليق توضيحي جيدة.

تتبع الأجسام (فيديو)

يقترح مواقع الأجسام عبر الإطارات للتعليق التوضيحي المتسق للتتبع.

استخدام اقتراحات الذكاء الاصطناعي

  1. انقر على زر مساعدة الذكاء الاصطناعي (اكتشاف، تلقائي، تلميح، إلخ.)
  2. انتظر ظهور الاقتراحات كطبقات متقطعة
  3. قبول اقتراح: انقر نقراً مزدوجاً على طبقة الاقتراح
  4. رفض اقتراح: انقر بزر الماوس الأيمن على طبقة الاقتراح
  5. قبول الكل: انقر على "Accept All" في شريط الأدوات
  6. مسح الكل: انقر على "Clear" لإزالة جميع الاقتراحات

تنسيق استجابة واجهة برمجة الاكتشاف

json
{
  "detections": [
    {
      "label": "person",
      "bbox": {"x": 0.1, "y": 0.2, "width": 0.3, "height": 0.5},
      "confidence": 0.95
    }
  ]
}

للتلميحات:

json
{
  "hint": "Look for objects in the lower right corner",
  "suggestive_choice": "Focus on overlapping regions"
}

لأجزاء الفيديو:

json
{
  "segments": [
    {
      "start_time": 0.0,
      "end_time": 5.5,
      "suggested_label": "intro",
      "confidence": 0.85
    }
  ]
}

المتطلبات

لنقطة نهاية YOLO

bash
pip install ultralytics opencv-python

لنقطة نهاية Ollama Vision

  1. ثبّت Ollama من ollama.ai
  2. حمّل نموذج رؤية: ollama pull llava
  3. شغّل خادم Ollama (يعمل على http://localhost:11434 افتراضياً)

لنقاط نهاية OpenAI/Anthropic Vision

  • اضبط مفتاح API في البيئة أو التهيئة
  • تأكد من الوصول إلى النماذج القادرة على الرؤية

استكشاف الأخطاء وإصلاحها

"No visual AI endpoint configured"

تأكد من:

  1. تعيين ai_support.enabled: true
  2. تعيين endpoint_type صالح يدعم الرؤية (yolo، ollama_vision، openai_vision، anthropic_vision)
  3. تثبيت التبعيات المطلوبة لنقطة النهاية المختارة

YOLO لا يكتشف الأجسام المتوقعة

  • جرّب خفض confidence_threshold
  • تأكد من أن تسمياتك تتطابق مع أسماء فئات YOLO (أو استخدم YOLO-World للمفردات المخصصة)
  • تحقق من وجود ملف النموذج وصلاحيته

أخطاء Ollama Vision

  • تحقق من تشغيل Ollama: curl http://localhost:11434/api/tags
  • تأكد من تحميل نموذج رؤية: ollama list
  • تحقق من أن النموذج يدعم الرؤية (llava، bakllava، llama3.2-vision، إلخ.)

قراءات إضافية

للاطلاع على تفاصيل التنفيذ، راجع الوثائق المصدرية.