تعديل الصورة: دروس آداب عالم البيانات ، الجزء الثاني

مرحبا هبر!



نواصل سلسلة من المقالات حول الإشراف على المحتوى في مواقع مركز تطوير التقنيات المالية التابع للبنك الزراعي الروسي. في المقال الأخير ، تحدثنا عن كيفية حلنا لمشكلة تعديل النص لأحد مواقع النظام البيئي للمزارعين "الزراعة الخاصة" . يمكنك قراءة القليل عن الموقع نفسه والنتيجة التي حصلنا عليها هنا .



باختصار ، استخدمنا مجموعة من المصنف الساذج (مرشح حسب القاموس) و BERT. تم السماح للنصوص التي اجتازت مرشح القاموس بإدخال BERT ، حيث تم فحصها أيضًا.



ونحن ، جنبًا إلى جنب مع مختبر MIPT ، نواصل تحسين موقعنا ، ونضع أنفسنا في مهمة أكثر صعوبة تتمثل في الإشراف المسبق على المعلومات الرسومية. تبين أن هذه المهمة أصعب من المهمة السابقة ، لأنه عند معالجة لغة طبيعية ، يمكن للمرء الاستغناء عن استخدام نماذج الشبكة العصبية. مع الصور ، كل شيء أكثر تعقيدًا - يتم حل معظم المهام باستخدام الشبكات العصبية واختيار بنيتها الصحيحة. لكن مع هذه المهمة ، كما يبدو لنا ، تعاملنا جيدًا! وما حصلنا عليه من هذا ، تابع القراءة.



صورة







ماذا نريد؟



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



تعد مهمة الإشراف المسبق للصور أمرًا شائعًا ، لكن الحل غالبًا ما يختلف من موقع لآخر. لذلك ، قد تكون صور الأعضاء الداخلية مقبولة في المنتديات الطبية ، لكنها غير مناسبة لوسائل التواصل الاجتماعي. أو ، على سبيل المثال ، تُقبل صور جيف الحيوانات المقطوعة على موقع الويب حيث يتم بيعها ، ولكن من غير المحتمل أن يحبها الأطفال الذين يتصلون بالإنترنت لمشاهدة Smesharikov. أما بالنسبة لموقعنا ، فإن صور المنتجات الزراعية (خضروات / فواكه ، علف حيواني ، أسمدة ، إلخ) ستكون مقبولة بالنسبة له من ناحية أخرى ، من الواضح أن موضوع سوقنا لا يعني وجود صور ذات محتوى فاحش أو مسيء مختلف.



بادئ ذي بدء ، قررنا التعرف على الحلول المعروفة بالفعل للمشكلة ومحاولة تكييفها مع موقعنا. كقاعدة عامة ، يتم تقليل العديد من مهام الإشراف على المحتوى الرسومي إلى حل مشكلات فئة NSFW ، والتي توجد مجموعة بيانات لها في المجال العام.

لحل مهام NSFW ، كقاعدة عامة ، يتم استخدام المصنفات القائمة على ResNet ، والتي تُظهر دقة الجودة> 93 ٪.



صورة

مصفوفة خطأ مصنف NSFW الأصلي



حسنًا ، لنفترض أن لدينا نموذجًا جيدًا ومجموعة بيانات جاهزة لـ NSFW ، ولكن هل سيكون ذلك كافيًا لتحديد مدى قبول الصورة للموقع؟ اتضح لا. بعد مناقشة هذا النهج الأولي مع نموذج NSFW مع مالكي موقعنا ، أدركنا أنه من الضروري تحديد المزيد من الفئات ، وهي:



  • ( , )
  • ( , , , . )
  • ( )


أي أنه لا يزال يتعين علينا تكوين مجموعة البيانات الخاصة بنا والتفكير في النماذج الأخرى التي يمكن أن تكون مفيدة.



هذا هو المكان الذي نواجه فيه مشكلة التعلم الآلي الشائعة: نقص البيانات. يرجع ذلك إلى حقيقة أن موقعنا تم إنشاؤه منذ وقت ليس ببعيد ، ولا توجد أمثلة سلبية عليه ، أي أنه تم وضع علامة على أنه غير مقبول. لحلها ، تأتي طريقة التعلم قليلة اللقطات لمساعدتنا . يتمثل جوهر هذه الطريقة في أنه يمكننا إعادة تدريب شبكة ResNet ، على سبيل المثال ، على مجموعات بيانات صغيرة قمنا بتجميعها ، والحصول على دقة أعلى مما لو صنعنا مصنفًا من البداية وباستخدام مجموعة البيانات الصغيرة فقط.



كيف فعلتها؟



يوجد أدناه مخطط عام للحل الخاص بنا ، بدءًا من صورة الإدخال وتنتهي بنتيجة اكتشاف الفئات المختلفة ، إذا تم تغذية صورة تفاحة إلى الإدخال.



صورة

مخطط الحل العام



دعنا نفكر في كل جزء من المخطط بمزيد من التفصيل.



المرحلة 1: كاشف الجرافيتي



نتوقع أن يتم تحميل البضائع التي تحتوي على نصوص على العبوات على موقعنا ، وبناءً عليه ، تنشأ مهمة اكتشاف النقوش وتحديد معناها.

في المرحلة الأولى ، استخدمنا مكتبة OpenCV Text Detection للعثور على الملصقات على الحزم.



OpenCV Text Detection عبارة عن أداة للتعرف الضوئي على الأحرف (OCR) لبايثون. أي أنه يتعرف و "يقرأ" النص المضمن في الصور.



صورة

مثال على تشغيل كاشف EAST



يمكنك مشاهدة مثال على اكتشاف النقوش في الصورة. لتحديد المربع المحيط ، استخدمنا نموذج EAST ، ولكن هنا قد يشعر القارئ بالاهتمام ، حيث تم تدريب هذا النموذج على التعرف على النصوص الإنجليزية ، وعلى صورنا ، تكون النصوص باللغة الروسية. لهذا السبب ، علاوة على ذلك ، نستخدم نموذج تصنيف ثنائي (الكتابة على الجدران / ليس الكتابة على الجدران) استنادًا إلى ResNet ، والتي تم تدريبها على الجودة المطلوبة في بياناتنا. أخذنا ResNet-18 ، حيث أثبت هذا النموذج أنه الأفضل عند اختيار الهندسة المعمارية.



في مهمتنا ، نود أن نميز الصورة التي تكون فيها النقوش عبارة عن نقوش على عبوات البضائع من الكتابة على الجدران. لذلك ، قررنا تقسيم جميع الصور التي تحتوي على نص إلى فئتين: الكتابة على الجدران وغير الكتابة



على الجدران ، وكانت دقة النموذج التي تم الحصول عليها 95٪ في عينة مؤجلة مسبقًا

صورة

مصفوفة علة كاشف الكتابة على الجدران



ليست سيئة! الآن نحن قادرون على عزل النص في الصورة وباحتمال جيد نفهم ما إذا كان مناسبًا للنشر. ولكن ماذا لو لم يكن هناك نص في الصورة؟



المرحلة 2: كاشف NSFW



إذا لم نجد نصًا في الصورة ، فهذا لا يعني أنه غير مقبول ، لذلك ، بعد ذلك نريد تقييم كيفية توافق المحتوى الموجود على الصورة مع موضوع الموقع.



في هذه المرحلة ، تتمثل المهمة في تعيين الصورة إلى إحدى الفئات:



  • المخدرات
  • الإباحية (الإباحية)
  • الحيوانات
  • الصور التي يمكن أن تسبب الرفض (بما في ذلك الرسومات) (gore / drawing_gore)
  • هنتاي (هنتاي)
  • صور محايدة (محايدة)


من المهم ألا يُرجع النموذج الفئة فحسب ، بل يُرجع أيضًا درجة ثقة الخوارزميات فيه.



تم استخدام نموذج قائم على NSFW للتصنيف. لقد تم تدريبها بطريقة تقسم الصورة إلى 7 فصول ، ونتوقع رؤية واحدة منها فقط على الموقع. لذلك ، نترك فقط الصور المحايدة.



نتيجة هذا النموذج هي 97٪ (من حيث الدقة)

صورة

مصفوفة خطأ كاشف NSFW



المرحلة 3: جهاز الكشف عن الأشخاص



ولكن حتى بعد أن تعلمنا كيفية تصفية NSFW ، لا تزال المشكلة لا يمكن حلها. على سبيل المثال ، لا تندرج صورة شخص ما في فئة NSFW أو الصورة التي تحتوي على فئة النص ، لكننا لا نرغب في رؤية مثل هذه الصور على الموقع أيضًا. ثم أضفنا إلى هندستنا نموذجًا للكشف البشري - كاشف طلقة واحدة (يشار إليه فيما يلي باسم SSD).



يعد اختيار الأشخاص أو بعض الكائنات الأخرى المعروفة سابقًا أيضًا مهمة شائعة مع مجموعة واسعة من التطبيقات. استخدمنا نموذج nvidia_ssd الجاهز من pytorch.



صورة

مثال على خوارزمية SSD



نتائج النموذج أقل (دقة - 96٪):

صورة

مصفوفة خطأ الكاشف البشري



النتائج



قمنا بتقييم جودة أداتنا باستخدام مقاييس مرجحة F1 و Precision و Recall. النتائج معروضة في الجدول:

المقاييس تم الحصول على الدقة
مرجح F1 0.96
الدقة المرجحة 0.96
مرجح استدعاء 0.96


وإليك بعض الأمثلة التوضيحية لعملها:



صورة



صورة

أمثلة على الأداة



خاتمة



في عملية الحل ، استخدمنا "حديقة حيوانات" كاملة من النماذج التي غالبًا ما تستخدم لمهام رؤية الكمبيوتر. لقد تعلمنا "قراءة" نص من الصور والبحث عن أشخاص وتمييز المحتوى غير اللائق.



أخيرًا ، أود أن أشير إلى أن المشكلة المدروسة مفيدة من وجهة نظر اكتساب الخبرة واستخدام النماذج الكلاسيكية المعدلة. فيما يلي بعض الأفكار التي حصلنا عليها:



  1. يمكنك التغلب على مشكلة نقص البيانات باستخدام طريقة التعلم قليلة اللقطات: يمكن تدريب النماذج الكبيرة على الدقة المطلوبة على بياناتها الخاصة
  2. : ,
  3. , ,
  4. , , . , , ,
  5. على الرغم من أن مهمة تعديل الصور شائعة جدًا ، إلا أن حلها ، كما في حالة النصوص ، قد يختلف من موقع إلى آخر ، لأن كل واحد منهم مصمم لجمهور مختلف. في حالتنا ، على سبيل المثال ، بالإضافة إلى المحتوى غير اللائق ، اكتشفنا أيضًا حيوانات وأشخاصًا


شكرا لاهتمامكم ونراكم في المقال القادم!



All Articles