اكشف الأشياء داخل الصورة بإحداثيات دقيقة
تحدّد هذه الأداة كل عنصر بارز داخل الصورة — شخص، شيء، مركبة — وتُرجع لكل عنصر موضعه بإحداثيات مستطيل يحيط به. تصلح لتحليل محتوى الصور آليًا، أو بناء أنظمة عدّ ومراقبة تحتاج معرفة عدد العناصر ومواضعها بدقة، لا وصفها العام فقط بجملة واحدة.
شغّلها أونلاين
شغّل هذه المهمة على خوادمنا باستخدام حسابك. الأدوات المجانية تعمل داخل متصفحك، أما هذه فتُخصم من رصيدك في KIT حسب السعر الموضّح أعلاه.
الفرق بين الكشف والوصف العام
وصف الصورة يعطي فقرة عامة عمّا تُظهره؛ كشف الأشياء يذهب أبعد فيحدّد كل عنصر على حدة مع موضعه الدقيق داخل الإطار، معبَّرًا عنه بإحداثيات مستطيل يحيط بكل عنصر. النتيجة قائمة عناصر، لكل عنصر تصنيفه وموضعه ودرجة ثقة الكشف، وهو شكل يصلح للمعالجة الآلية اللاحقة أكثر من فقرة نصية حرة. برنامج يستقبل هذه القائمة يمكنه رسم إطار حول كل عنصر، أو عدّه، أو تصفية النتائج حسب نوع العنصر دون تحليل نص إضافي.
الاستخدامات الشائعة للإحداثيات
نظام عدّ المركبات في موقف سيارات يحتاج معرفة عدد السيارات الظاهرة ومواضعها في كل لقطة، ونظام جرد بصري لمستودع يحتاج تحديد عدد الصناديق على رفّ معيّن. في الحالتين، الإحداثيات الدقيقة تتيح رسم إطار حول كل عنصر على الصورة نفسها أو تغذية نظام إحصاء آلي دون تدخّل بشري في كل لقطة. الاستخدام يمتد أيضًا لتحليل صور المنتجات: معرفة أي قطع الملابس تظهر معًا في صورة واحدة تفيد في اقتراح منتجات مشابهة للعميل.
دقة الكشف وحدودها
الكشف يعمل جيدًا مع عناصر واضحة ومنفصلة نسبيًا؛ عناصر متلاصقة بكثافة أو صغيرة جدًا داخل صورة مزدحمة قد يقل معها عدد العناصر المكتشفة أو تتداخل حدود الإطارات. لمعرفة مستوى الدقة المتوقّع، يُستحسن اختبار عيّنة من الصور الفعلية قبل الاعتماد الكامل على النتائج في نظام تشغيلي. زاوية التصوير وجودة الإضاءة تؤثران أيضًا في وضوح النتيجة، تمامًا كما تؤثران في أي تحليل بصري آخر يعتمد على الذكاء الاصطناعي.
السعر
تكلفة الصورة الواحدة $0.010 لكل طلب إضافة إلى $0.0575 — نفس مقياس بقية أدوات الرؤية بالذكاء الاصطناعي في KIT، بلا فرق سعري بين صورة بسيطة وأخرى مزدحمة بالعناصر. مئة صورة تحليل تكلّف نحو $6.75، ولا يوجد اشتراك شهري يُضاف إلى هذا المبلغ. هذا التوحيد في السعر يسهّل تقدير تكلفة نظام مراقبة كامل مسبقًا، بمعرفة عدد اللقطات المتوقّع تحليلها يوميًا وحدها دون حاجة لحسابات معقّدة.
حالات الاستخدام
موقف سيارات يعدّ الإشغال آليًا
يراقب موقف سيارات تجاري في الرياض إشغال المساحات من كاميرات ثابتة. كشف السيارات في كل لقطة يغذّي لوحة إشغال تُحدَّث تلقائيًا دون موظف عدّ يدوي.
مستودع يجرد المخزون بصريًا
تُجري شركة الواحة للتجارة المحدودة جردًا بصريًا دوريًا لصناديق مستودعها. كشف الصناديق في كل صورة رفّ يقارن العدد الظاهر بسجل النظام تلقائيًا.
متجر يحلّل صور زبائن للمنتج
يحلّل متجر أزياء صور الزبائن التي يشاركونها لمنتجاته، ويكشف قطع الملابس الظاهرة فيها لربطها تلقائيًا بمنتجات مطابقة في الكتالوج.
الأسئلة الشائعة
ما شكل النتيجة التي أحصل عليها؟
قائمة عناصر، لكل عنصر تصنيفه، إحداثيات المستطيل المحيط به داخل الصورة، ودرجة ثقة الكشف.
هل يكشف النظام كل عنصر مهما صغر؟
العناصر الواضحة والمنفصلة تُكشف بدقة جيدة؛ العناصر الصغيرة جدًا أو المتلاصقة بكثافة داخل مشهد مزدحم قد يقل معها عدد العناصر المكتشفة.
كم تكلفة تحليل كمية كبيرة من الصور؟
$0.0575 للصورة إضافة إلى $0.010 لكل طلب، بصرف النظر عن عدد العناصر داخل كل صورة.
هل تُحفظ الصور بعد الكشف؟
لا، تُعالج فقط لإنتاج قائمة العناصر وإحداثياتها ولا تُحفظ لأي غرض آخر.
هل يمكن تحديد نوع محدّد من العناصر فقط؟
نعم، يمكن حصر الكشف في فئة معيّنة عبر API بدل إرجاع كل عنصر ظاهر في الصورة.
هل هناك حد لحجم الصورة المدخلة؟
حتى 15 ميجابايت و12 ميجابكسل للصورة الواحدة.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/image/detect-objects \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"image":"https://ejemplo.com/imagen.jpg"}'const res = await fetch("https://api.kit.forhosting.com/image/detect-objects", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"image": "https://ejemplo.com/imagen.jpg"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/detect-objects",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"image": "https://ejemplo.com/imagen.jpg"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/detect-objects", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"image":"https://ejemplo.com/imagen.jpg"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"image":"https://ejemplo.com/imagen.jpg"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/detect-objects", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"image": "https://ejemplo.com/imagen.jpg"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.detect_objects",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_mb | 15 |
max_megapixels | 12 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
422 | task_failed | لم تنجح معالجة المهمة، ولن تُحتسب عليك؛ أعد المحاولة أو راسلنا مباشرة. |