طريقة واحدة لحساب "متوسط الدقة: mAP".
لكني لست على علم بهذه الميزة المطبقة في darkflow.
هل لديك أي اقتراحات بخصوص Darknet repo أو الشخص الذي كتب نصًا للقيام بذلك؟
https://github.com/thtrieu/darkflow/blob/master/darkflow/utils/box.py يحتوي على التنفيذ الأساسي المطلوب لتقييم أو حساب التداخل بين صورتين. يمكنك تعديله حسب حاجتك وحساب متوسط الدقة كضرب احتمالية الفئة و box_iou
ألا يوجد أحد فعلها من قبل؟
لا أحد يختبر دقتها؟
لا أعرف لماذا لم يتم تنفيذ مثل هذه الأشياء المهمة بعد.
إذا لم يكن هناك أي شيء ، فربما أحتاج إلى تنفيذ هذه الميزة بنفسي والالتزام بها إلى الأبد.
سأكون مهتمًا أيضًا بهذه الميزة.
@ off99555 ، رأيت هذا الرجل يعمل على درجة F1.
مرحبًا @ off99555 ، أنا أبحث عن حساب الخريطة من بيانات الاختبار الخاصة بي أيضًا.
أعتقد أن sandeeprepakula لديها إجابة جيدة ، هل يمكنك شرح كيفية حساب الخريطة من iou box خطوة بخطوة؟ أنا مستجد جدًا في التعلم العميق واكتشاف الأشياء
شكرا لمساعدتك
andikira لم أفعل ذلك بعد. لست متأكدًا أيضًا.
مرحبًا @ off99555 ، يجب أن ترى هذا الريبو https://github.com/Cartucho/mAP ثم ترى المجلد الإضافي ، يمكنك تحويل ملف .xml و. json ، هذا الريبو يعمل بشكل مثالي مع darkflow.
andikirathtrieu تدربت شبكة yolo2 المركبات العضوية المتطايرة على PASCAL V0C 0712 مجموعة trainval واختبارها على PASCAL VOC 2007 مجموعة الاختبار، وأداء الخريطة هي فقط حوالي 52٪ (بعد الكثير من epoches (200 ~) معتبرا ان كنت تهيئة بأوزان مسبقة الصنع). إنه أقل بكثير من الأداء الرسمي (76.8٪ في الدقيقة). أرغب في تضمين النتائج التجريبية مع فكرتي باستخدام YOLO v2 على ورقتي. هل يمكن لأي شخص أن يعرف السبب؟
لقد رأيت هذه المشكلة من قبل ، يرجى التحقق من مشكلة أخرى bareblackfoot
andikira يعمل الريبو mAP
بشكل رائع. لقد ساهمت بنص هناك أيضا. شكرا لك!
هل تستطيع
andikira يعمل الريبو
mAP
بشكل رائع. لقد ساهمت بنص هناك أيضا. شكرا لك!
هل يمكن أن تشرح بشكل أكثر تحديدا من فضلك؟ كيف يعمل ؟ كيف حصلت على النتائج؟
srhtyldz انتقل إلى موقع https://github.com/Cartucho/mAP وانتقل إلى قسم
الفكرة هي أنك تحتاج إلى استنساخ الريبو ، وتوقع صورك باستخدام دارك فلو ثم تقوم بنسخ ملفات التنبؤ في مجلد الخريطة. قم أيضًا بنسخ ملفات الحقيقة الأساسية.
وأنت تفعل كل شيء كما اقترح ملف README mAP
repo ويجب أن ترى mAP
كمخرج رقم واحد.
تحتاج أيضًا إلى تحويل ملفاتك من تنسيق darkflow إلى تنسيقها. يقدمون البرنامج النصي لتحويل تنسيق darkflow إلى تنسيقهم هنا: https://github.com/Cartucho/mAP/tree/master/extra
اقرأ التمهيدي.
تحتاج أيضًا إلى تحويل ملفاتك من تنسيق darkflow إلى تنسيقها. يقدمون البرنامج النصي لتحويل تنسيق darkflow إلى تنسيقهم هنا: https://github.com/Cartucho/mAP/tree/master/extra
اقرأ التمهيدي.
اكتشفت أن darknet لها خاصية الخريطة ، هل جربت ذلك؟ وهل بينهما فرق أم فرق أدق؟
srhtyldz أعتقد أن الخوارزمية هي نفسها. باستثناء أن mAP
عبارة عن خوارزمية بها بعض المعلمات التي يمكنك تعيينها. عادة ، يتم تعيين هذا يدويًا بواسطة كاتب الخوارزمية. لذا فإن المرة الوحيدة التي ترى فيها أنهم يبلغون عن أرقام مختلفة هي عندما يكون لديهم معلمات مختلفة.
أقترح عليك قراءة شرح كيفية عمل mAP
حتى تتمكن من فهم المعلمة المخفية.
حاولت كلاهما. ذهبت مع darknet
في أطروحتي لأن darkflow
ليس لديه خيار تحديد مجلد الإخراج. إنه أمر بالغ الأهمية لمشروعي الكبير لأنني أقوم بتشغيل الكود على FloydHub
وهو عبارة عن سحابة تعلم عميقة تسمح لك فقط باستخدام مجلدات معينة.
استخدم أولاً darkflow
مع mAP
ثم اكتشفت لاحقًا أنه لا يمكنني تحديد مسار الإخراج ، لذلك قمت بالتبديل إلى darknet
mAP
واستخدمت حسابه الداخلي
والأهم من ذلك ، أن مالك الريبو darknet
(نسخة fork مع AlexeyAB هو المالك) مفيد للغاية. يجيب على جميع المشكلات التي نشرتها مما جعلني أنهي العمل قبل الموعد النهائي. كان مرهقا للغاية في ذلك الوقت. أنا ممتن جدًا له ، كما أنني كتبت اسمه في الأطروحة.
استخدم أولاً
darkflow
معmAP
ثم اكتشفت لاحقًا أنه لا يمكنني تحديد مسار الإخراج ، لذلك قمت بالتبديل إلىdarknet
mAP
واستخدمت حسابه الداخلي
ما المتغير الذي تريد تحديده؟
استخدم أولاً
darkflow
معmAP
ثم اكتشفت لاحقًا أنه لا يمكنني تحديد مسار الإخراج ، لذلك قمت بالتبديل إلىdarknet
mAP
واستخدمت حسابه الداخلي
رأيي هو أيضًا لـ darknet. أعتقد أنه لا يمكنك التبديل مع العتبة إلا عن طريق حساب الخريطة؟ حق ؟
ما المتغير الذي تريد تحديده؟
srhtyldz في darkflow
حوالي نصف عام ، عندما بدأت هذا الموضوع ، لا يسمح لي بتحديد مسار مجلد الإخراج. مسار مجلد الإخراج هو المسار حيث تتم كتابة صور التنبؤ.
إذا كنت أتذكر بشكل صحيح ، فسيتم تعيين مجلد الإخراج على المجلد out
داخل مجلد مجموعة البيانات الخاصة بك.
على سبيل المثال ، إذا كانت لديك بعض الصور داخل img/
، فستكون التوقعات داخل img/out/
.
في FloydHub
، لا يسمحون لك بكتابة الإخراج إلى مجلد مجموعة البيانات. لذلك إذا كان مجلد مجموعة البيانات هو img/
، فلا يمكنك إنشاء مجلد جديد مثل img/out
لأنك ستواجه رفض الإذن.
ربما يسمح لك بتحديد مسار الإخراج الآن ولكن عليك التحقق. لست متأكدا.
رأيي هو أيضًا لـ darknet. أعتقد أنه لا يمكنك التبديل مع العتبة إلا عن طريق حساب الخريطة؟ حق ؟
إذا كنت أتذكر بشكل صحيح ، فإن mAP
يحتوي على معلمة واحدة يحتاج الكاتب إلى تعريفها. إنه الحد من 0 إلى 1 الذي تقرر ما إذا كان يتم توقع الصورة بشكل صحيح. عادة ، يتم تعيين هذا على 0.5. لذا إذا تجاوزت نسبة المساحة 0.5 ، فهذا يعني الصورة الصحيحة.
وبعد ذلك عليك أيضًا تحديد Average Precision
. لغرامة المتوسط ، تحتاج إلى معرفة عدد الدقائق الموجودة. اتضح أنه يمكنك أيضًا تحديد عدد الدقة. عادةً ما يتم تعيين عدد الدقة على 11
بحيث يمكنك ترتيبها من 0 ، 0.1 ، 0.2 ، ... ، 0.9 ، 1.0.
لست متأكدًا مما أتحدث عنه رغم ذلك. لأنني نسيت بالفعل معظمها. عليك أن تتعلمها لتتأكد من أنني على صواب. لكنني متأكد تمامًا من الرقم 0.5
و 11
الشيء. أنا فقط لا أعرف ما يسمونه.
ملاحظة. عدت للعثور على شريحة أطروحتي (عندما أعرف ما تعنيه الخريطة) ، إليك كيف وصفتها في ذلك الوقت:
ما المتغير الذي تريد تحديده؟
srhtyldz في
darkflow
حوالي نصف عام ، عندما بدأت هذا الموضوع ، لا يسمح لي بتحديد مسار مجلد الإخراج. مسار مجلد الإخراج هو المسار حيث تتم كتابة صور التنبؤ.
إذا كنت أتذكر بشكل صحيح ، فسيتم تعيين مجلد الإخراج على المجلدout
داخل مجلد مجموعة البيانات الخاصة بك.
على سبيل المثال ، إذا كانت لديك بعض الصور داخلimg/
، فستكون التوقعات داخلimg/out/
.
فيFloydHub
، لا يسمحون لك بكتابة الإخراج إلى مجلد مجموعة البيانات. لذلك إذا كان مجلد مجموعة البيانات هوimg/
، فلا يمكنك إنشاء مجلد جديد مثلimg/out
لأنك ستواجه رفض الإذن.ربما يسمح لك بتحديد مسار الإخراج الآن ولكن عليك التحقق. لست متأكدا.
رأيي هو أيضًا لـ darknet. أعتقد أنه لا يمكنك التبديل مع العتبة إلا عن طريق حساب الخريطة؟ حق ؟
إذا كنت أتذكر بشكل صحيح ، فإن
mAP
يحتوي على معلمة واحدة يحتاج الكاتب إلى تعريفها. إنه الحد من 0 إلى 1 الذي تقرر ما إذا كان يتم توقع الصورة بشكل صحيح. عادة ، يتم تعيين هذا على 0.5. لذا إذا تجاوزت نسبة المساحة 0.5 ، فهذا يعني الصورة الصحيحة.
وبعد ذلك عليك أيضًا تحديدAverage Precision
. لغرامة المتوسط ، تحتاج إلى معرفة عدد الدقائق الموجودة. اتضح أنه يمكنك أيضًا تحديد عدد الدقة. عادةً ما يتم تعيين عدد الدقة على11
بحيث يمكنك ترتيبها من 0 ، 0.1 ، 0.2 ، ... ، 0.9 ، 1.0.لست متأكدًا مما أتحدث عنه رغم ذلك. لأنني نسيت بالفعل معظمها. عليك أن تتعلمها لتتأكد من أنني على صواب. لكنني متأكد تمامًا من الرقم
0.5
و11
الشيء. أنا فقط لا أعرف ما يسمونه.ملاحظة. عدت للعثور على شريحة أطروحتي (عندما أعرف ما تعنيه الخريطة) ، إليك كيف وصفتها في ذلك الوقت:
شكرا جزيلا . سأقوم بالبحث في الخريطة و IoU. حصلت على النتيجة ولكني لم أستطع تفسيرها ، هل يمكنني طرح سؤال آخر؟ هل استخدمت وظيفة "الاستدعاء"؟ وظيفة الخريطة والاستدعاء لها نفس الوظيفة أم لا؟ هل لديك أي أفكار_؟
srhtyldz mAP
يحسب من الدقة كدالة في الاسترجاع. لذلك تم تضمين الدقة والاستدعاء بالفعل. mAP
مقياس تقييم شائع وتقليدي لمهام اكتشاف الكائنات. لذلك لا يتعين عليك الاستدعاء أو الدقة بشكل فردي. فقط احسب mAP
وإذا كانت عالية فهذا يعني أن نموذجك يعمل بشكل جيد.
srhtyldz
mAP
يحسب من الدقة كدالة في الاسترجاع. لذلك تم تضمين الدقة والاستدعاء بالفعل.mAP
مقياس تقييم شائع وتقليدي لمهام اكتشاف الكائنات. لذلك لا يتعين عليك الاستدعاء أو الدقة بشكل فردي. فقط احسبmAP
وإذا كانت عالية فهذا يعني أن نموذجك يعمل بشكل جيد.
حصلت على 90.4٪ من mAP أعتقد أنه يعمل بشكل جيد.
srhtyldz هذا مرتفع جدًا إذا كان لديك العديد من الفصول الدراسية. (النماذج الشائعة في مجموعة البيانات الكبيرة تعمل بنسبة تتراوح بين 50 و 60٪ فقط) ولكن حتى لو كان لديك فئتان فقط ، فإنها لا تزال جيدة.
تأكد من التحقق من الصور المتوقعة باستخدام العيون البشرية للتحقق مما إذا كان mAP
معقولاً.
srhtyldz هذا مرتفع جدًا إذا كان لديك العديد من الفصول الدراسية. (النماذج الشائعة في مجموعة البيانات الكبيرة تعمل بنسبة تتراوح بين 50 و 60٪ فقط) ولكن حتى لو كان لديك فئتان فقط ، فإنها لا تزال جيدة.
تأكد من التحقق من الصور المتوقعة باستخدام العيون البشرية للتحقق مما إذا كانmAP
معقولاً.
لدي فصل واحد فقط ، كما قمت بحفظ جميع الصور مع المربع المحيط.
هل قمت برسم مخطط الخريطة؟ في Alex repo ، يوجد مخطط MAP وأثناء تدريب النموذج الخاص بك ، يجب عليك وضع "-map" للحصول على مخطط. لم أضع هذه الكلمة ، حتى أنك وضعت ذلك ، كيف يمكنك الحصول على مخطط الخريطة؟ جربها؟ هل جربت أيضًا وظيفة "صالحة"؟ هل تعرف الاختلافات؟
أعلم أنني طرحت العديد من الأسئلة ولكن إجاباتك مهمة جدًا في رسالتي :).
من darknet
، أقوم فقط بتقييم mAP
باستخدام المحطة الطرفية فقط وأخذ لقطة من وحدة التحكم.
لا أعلم عن الوظيفة الصالحة.
بالنسبة إلى مخطط الخريطة ، من الممكن إذا كنت تستخدم داركفلو واستخدمت mAP
repo أعلاه. هناك نص يولد الرسوم المتحركة والرسوم البيانية.
أعتقد أن mAP repo يعمل أيضًا مع darknet ربما.
من
darknet
، أقوم فقط بتقييمmAP
باستخدام المحطة الطرفية فقط وأخذ لقطة من وحدة التحكم.
لا أعلم عن الوظيفة الصالحة.
بالنسبة إلى مخطط الخريطة ، من الممكن إذا كنت تستخدم داركفلو واستخدمتmAP
repo أعلاه. هناك نص يولد الرسوم المتحركة والرسوم البيانية.
أعتقد أن mAP repo يعمل أيضًا مع darknet ربما.
المشكلة هي أنني لا أعرف كيف سيتم تشغيل الرسوم المتحركة ، لقد حاولت القيام بذلك أثناء التدريب ولكني لم أستطع الحصول على الرسوم المتحركة للخريطة. alexeyAB ربما سيساعد في هذا الشأن.
حصلت على خريطة لنتائج الاختبار الخاصة بي. من 56 صورة حصلت على 48 صورة صحيحة لاختباري. لدي أربعة فصول. كيفية عمل مصفوفة الارتباك من ذلك. هل يستطيع احد مساعدتي .
srhtyldz لقد استخدمت / darknet detector map cfg / aerial.data cfg / test_tiny.cfg backup \ my_yolov3_tiny_final.weights لكنني لم أتمكن من الحصول على أي درجة أو رسم بياني في نهاية التدريب. كيف حصلت على درجة MAP في darknet
mustafabuyuk مرر الوسيطة -map إلى ./darknet (darknet.exe). سيظهر على الرسم البياني عند حوالي 1000 تكرار. لست متأكدًا مما إذا كانت هناك حاجة إليها ، ولكن لدي أيضًا مجموعة من الصور للتحقق من الصحة.
هل يمكن لأي شخص أن يكون لديه فكرة؟ يحسب YOLOv5 الخريطة مقابل مجموعة بيانات التحقق أثناء التدريب. على الرغم من الأمر الذي يمكننا حساب مجموعة بيانات الاختبار غير المرئية (mAP ، و Class wise mAP)
@ off99555 يبدو أن
لدي مجموعة من الصور وملفات Yolo Annotation (بتنسيق txt) للتحقق من الصحة.
كيفية استخدام حجة -map في التحقق من صحة الصور للحصول على درجة MAP؟ هل سيكون من الممكن اشتقاق مصفوفة الارتباك من هذا؟
sandeeprepakula اقرأ إجابتي مباشرة قبل إغلاق المشكلة. هذه هي الطريقة التي يمكنك من خلالها حساب الخريطة.
لكنني أقترح المزيد ، لا تستخدم هذا الريبو بعد الآن. لم أعمل مع اكتشاف الكائنات لبضعة أشهر حتى الآن ، لذا لست متأكدًا من أي الريبو هو الأفضل ولكن من نظرة سريعة على آخر التزام في هذا الريبو ، كان ذلك في فبراير 2020. هل تعتقد أن الريبو الذي لم يتم تحديثه لمدة عام يستحق الاستخدام؟ إذا علقت في شيء فلن يساعدك أحد. ضع في اعتبارك جزء المجتمع أيضًا عند اختيار الريبو المراد استخدامه.
@ off99555 شكرا على الاقتراح
التعليق الأكثر فائدة
ألا يوجد أحد فعلها من قبل؟
لا أحد يختبر دقتها؟
لا أعرف لماذا لم يتم تنفيذ مثل هذه الأشياء المهمة بعد.
إذا لم يكن هناك أي شيء ، فربما أحتاج إلى تنفيذ هذه الميزة بنفسي والالتزام بها إلى الأبد.