جيثب معدل الاعتراف أقنعة مذهلة كشف | برنامج القوة

الكاتب | شجرة صغيرة س، والمدونين CSDN

ذبيان | TANG الرصاص

صورة الغلاف | CSDN تنزيل من IC الشرقية

أنتجت | CSDN بلوق

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

شكرا AIZOOTech مشاريع مفتوحة المصدر - FaceMaskDetection، لعنوان جيثب العناصر التالية:

https://github.com/AIZOOTech/FaceMaskDetection

اختبار البيئة

نحن نستخدم:

  • أنظمة ويندوز.

  • البرنامج: PyCharm.

  • استخدام نموذج: TensorFlow.

نظرة على النتائج:

لم الكشف عن وسيم هو جي عدم ارتداء قناع. أحمر إطار الدائرة هو جزء من وجه الشخص، والجزء العلوي من الخط: NoMask، دقة 1 (أي 100 اليقين أنه لا توجد أقنعة).

إذا كان في حالة من كثير، ويمكن الكشف عن خروج منه؟ كما هو مبين في الشكل.

نعم نعم، يمكن لهذا النموذج كشف في وقت واحد كثيرة، ودقة عالية.

بعض الناس ارتداء الأقنعة، وبعض لم ارتداء الأقنعة، ويمكن أن يتم الكشف عن خروج منه؟

نجاح باهر، وهذا النموذج هو عظيم. الكشف عن عمه مع قناع، واثنين من الصبية بدون قناع.

يمكنك تجربة في الصفحة الأولى على العنوان التالي:

https://aizoo.com/face-mask-detection.html

بعد ذلك، نقوم بتحليل هذا المشروع تحديدا:

  • إطار التعلم العميق (PyTorch، TensorFlow، MXNet، Keras وكافيه)، لقد كتب 5 دعم التيار الرئيسي واجهة يصل، ويمكنك اختيار الإطار المناسب وفقا لبيئتها، مثل: TensorFlow، كل النماذج هي ضمن المجلد النماذج.

  • تفصح عن ما يقرب من 8000 وجه أقنعة وبيانات النماذج، ومجموعات البيانات من الوجه ومافا مجموعات البيانات على نطاق أوسع، إعادة تحرير التسمية والمعايرة (أساسا مافا وتفهمه للوجه تحدد موقع مختلف، لذلك وضع العلامات المعدل) وفتحه.

هيكل نموذج

في هذا المشروع، يمكن تشغيل استخدام نوع SSD العمارة، من أجل جعل هذا النموذج في الوقت الحقيقي على المتصفح والمعدات الطرفية، وتصميم نموذج صغير جدا، فقط 1015000 المعلمات. في بنية النموذج الملحق هنا.

هذا نموذج حجم مدخلات 260x260، فقط ثمانية التفاف طبقات الشبكة العمود الفقري، جنبا إلى جنب مع طبقة المواقع وتصنيف، ما مجموعه فقط 24 طبقات (عدد من القنوات من كل طبقة هو كبير 32 \ 64 \ 128)، والنموذج بحيث الصغيرة بشكل خاص، فقط 101.5 وان المعلمات. ليواجه الناس العاديين النموذج الأساسي يمكن الكشف، ولكن للتأثير الكشف الشرير الوجه هو بالتأكيد ليست جيدة كما في نموذج كبير.

يستخدم صفحة مكتبة Tensorflow.js، بحيث يتم تشغيل نموذج تماما داخل المتصفح. سرعة تشغيل السرعة، وهذا يتوقف على مستوى تكوين جهاز الكمبيوتر.

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

تحليل حزمة هندسة بنية الدليل

جيثب حزمة مشروع تنزيل:

https://github.com/AIZOOTech/FaceMaskDetection

بعد تحميل مضغوط FaceMaskDetection، بعد يتبع الضغط:

كيفية تشغيل البرنامج؟

في نموذج TensorFlow كمثال على ذلك، يجب أن يكون رمز نسخة TensorFlow 1.X.

إذا TensorFlow الإصدار 2.x صديق، يتم تعديل وظيفة الموافق tf.compat.v1.xxxx، الإصدار 1.x متوافق مع وظيفة.

إذا كنت ترغب في تشغيل الصورة:

الثعبان tenforflow_infer.py --img مسار / الطريق / / / IMG بك

على سبيل المثال، وضعت IMG كتالوج المؤلف بعض الصور، حدد demo2.jpg.

الثعبان tenforflow_infer.py --img مسار IMG / demo2.jpg

النتيجة:

إذا كنت ترغب في تشغيل تشغيل الفيديو:

الثعبان tenforflow_infer.py --img الوضع 0 --video مسار / الطريق / / فيديو

/ مسار / إلى / مسار الفيديو حيث الفيديو + اسم الفيديو.

إذا كنت ترغب في الوقت الحقيقي باستخدام كاميرا للكشف عن:

الثعبان tenforflow_infer.py --img الوضع 0 --video مسار 0

0 هنا، يمثل رقم الجهاز في الكمبيوتر، كاميرا 0 الكمبيوتر الافتراضية الخاصة.

إذا كنت ترغب في استخدام كاميرا خارجية التي يمكن تغييرها إلى 1 (مثل كاميرا USB الإضافة).

هنا نظرة على tenforflow_infer.py الرمز:

# - * - الترميز: UTF-8 - * - cv2 استيراد الوقت استيراد argparse استيراد استيراد نمباي كما أرستها من PIL استيراد صورة من keras.models model_from_json استيراد من generate_anchors استيراد utils.anchor_generator من utils.anchor_decode decode_bbox استيراد من utils.nms single_class_non_max_suppression استيراد من load_model.tensorflow_loader استيراد load_tf_model، tf_inference #sess، الرسم البياني = load_tf_model ( 'FaceMaskDetection رئيسية \ نماذج \ face_mask_detection.pb') sess، الرسم البياني = load_tf_model ( 'نماذج \ face_mask_detection.pb') # التكوين مرساة feature_map_sizes = anchor_sizes = anchor_ratios = * 5 # توليد المراسي المراسي = generate_anchors (feature_map_sizes، anchor_sizes، anchor_ratios) # لاستنتاج، وحجم الدفعة، خرج نموذج الشكل، لذلك توسع مرساة قاتمة anchors_exp = np.expand_dims (المراسي، محور = 0) id2class = {0: 'قناع'، 1: "NoMask '} مواطنه الاستدلال (صورة، conf_thresh = 0.5، iou_thresh = 0.4، target_shape = (160، 160)، draw_result = صحيح، show_result = صحيح): وتتمثل المهمة الرئيسية '' 'الكشف عن المنطق صورة بارام: # 3D مجموعة نمباي من الصورة #: بارام conf_thresh: الحد الأدنى احتمال تصنيف العتبة. #: عتبة NM IOU: بارام iou_thresh #: بارام target_shape: نموذج حجم المدخلات. #: بارام draw_result: سواء لسحب الحدود الصورة. #: بارام show_result: ما إذا كان لعرض الصور. '' ' # صورة = np.copy (صورة) output_info = الطول، العرض، _ = image.shape image_resized = cv2.resize (صورة، target_shape) image_np = image_resized / 255.0 # تطبيع إلى 0-1 image_exp = np.expand_dims (image_np، محور = 0) y_bboxes_output، y_cls_output = tf_inference (sess، الرسم البياني، image_exp) # إزالة البعد دفعة لدفعة دائما 1 للاستدلال. y_bboxes = decode_bbox (anchors_exp، y_bboxes_output) y_cls = y_cls_output # لتسريع الأمور، القيام NMS فئة واحدة، بدلا من NMS متعدد الطبقات. bbox_max_scores = np.max (y_cls، محور = 1) bbox_max_score_classes = np.argmax (y_cls، محور = 1) # Keep_idx المربع المحيط نشط بعد المتحف. keep_idxs = single_class_non_max_suppression (y_bboxes، bbox_max_scores، conf_thresh = conf_thresh، iou_thresh = iou_thresh) لIDX في keep_idxs: أسيوط = تعويم (bbox_max_scores) class_id = bbox_max_score_classes BBOX = y_bboxes # لقطة تنسيق، لتجنب القيمة هي خارج حدود الصورة. xmin = ماكس (0، الباحث (BBOX * العرض)) ymin = ماكس (0، الباحث (BBOX * الارتفاع)) xmax = دقيقة (كثافة العمليات (BBOX * العرض)، العرض) ymax = دقيقة (كثافة العمليات (BBOX * الارتفاع) والارتفاع) إذا draw_result: إذا class_id == 0: لون = (0، 255، 0) آخر: لون = (255، 0، 0) cv2.rectangle (صورة، (xmin، ymin)، (xmax، ymax)، اللون، 2) cv2.putText (صورة، " الصورة: .2f" (id2class، أسيوط)، (xmin + 2، ymin - 2)، cv2.FONT_HERSHEY_SIMPLEX، 1، اللون) output_info.append () إذا show_result: Image.fromarray (الصورة). تظهر العودة output_info مواطنه run_on_video (video_path، output_video_name، conf_thresh): الحد الأقصى = cv2.VideoCapture (video_path) ارتفاع = cap.get (cv2.CAP_PROP_FRAME_HEIGHT) العرض = cap.get (cv2.CAP_PROP_FRAME_WIDTH) إطارا في الثانية = cap.get (cv2.CAP_PROP_FPS) FOURCC = cv2.VideoWriter_fourcc (* XVID ') #writer = cv2.VideoWriter (output_video_name، FOURCC، الباحث (الثانية)، (الباحث (العرض)، الباحث (ارتفاع))) total_frames = cap.get (cv2.CAP_PROP_FRAME_COUNT) إن لم يكن cap.isOpened: رفع ValueError ( "فيديو فتح فاشلة".) عودة الحالة = صحيح IDX = 0 بينما الوضع: start_stamp = time.time الوضع، img_raw = cap.read img_raw = cv2.cvtColor (img_raw، cv2.COLOR_BGR2RGB) read_frame_stamp = time.time إذا (الحالة): الاستدلال (img_raw، conf_thresh، iou_thresh = 0.5، target_shape = (260، 260)، draw_result = صحيح، show_result = خطأ) cv2.imshow ( 'صورة'، img_raw) cv2.waitKey (1) inference_stamp = time.time # Writer.write (img_raw) write_frame_stamp = time.time IDX + 1 = طباعة ( " d من د" (IDX، total_frames)) طباعة ( "read_frame: و، الوقت يستنتج: و، وقت الكتابة: و" (read_frame_stamp - start_stamp، inference_stamp - read_frame_stamp، write_frame_stamp - inference_stamp)) # Writer.release إذا __name__ == "__main__": محلل = argparse.ArgumentParser (وصف = "قناع الوجه كشف") parser.add_argument ( '- img والوضع "، اكتب = كثافة العمليات، والتقصير = 0، مساعدة =' مجموعة 1 لتشغيل على الصورة، 0 لتشغيل على الفيديو. ') # 1 مجموعة فيها: الكشف عن الصورة؛ أو ل 0: ملفات الفيديو (بيانات الوقت الحقيقي صورة) الكشف عن parser.add_argument ( '- img والمسار'، اكتب = شارع، مساعدة = 'الطريق إلى الصور الخاصة بك.') parser.add_argument ( '- فيديو المسار'، اكتب = شارع، والتقصير = "0"، مساعدة = 'الطريق إلى الفيديو، `0` سيلة لاستخدام كاميرا"). # Parser.add_argument ( '- hdf5 "، اكتب = شارع، مساعدة =' keras ملف hdf5 ') وسائط = parser.parse_args إذا args.img_mode: imgPath = args.img_path #img = cv2.imread ( "imgPath") IMG = cv2.imread (imgPath) IMG = cv2.cvtColor (IMG، cv2.COLOR_BGR2RGB) الاستدلال (IMG، show_result = صحيح، target_shape = (260، 260)) آخر: video_path = args.video_path إذا args.video_path == '0': video_path = 0 run_on_video (video_path، ''، conf_thresh = 0.5)

PR مجموعة اختبار منحنى

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

بفضل AIZOOTech مشروع مفتوح المصدر مرة أخرى - FaceMaskDetection.

هذه المقالة المدونين CSDN، "شجرة صغيرة س" في المادة الأصلية، أذن الافراج عن مسؤول CSDN.

العنوان الأصلي: الشبكي: //blog.csdn.net/qq_41204464/article/details/104596777

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

استجابة الدخن "خفض العنف"، وقال التقرير الروبوت الهاتف هو فون ضعف معدل الاستهلاك؛ النملة تصميم 4.0.1 صدر | عناوين المهوسون

الثقل التكنولوجيا: ذهبت إلى، تكتب بيان التبديل جدا حنطي الآن!

تعويض Google 180،000،000 $! اوبر الطيار الآلي قبل المتهم المختصة الإفلاس

ظائف أرملة عارية التبرع 25 مليار $ الممتلكات: لا مصلحة لها في تراكم الثروة

تعقيد الوقت التمثيل والتحليل وحساب ...... هل قرأت مقالا مع تعقيد الوقت!

البرق شبكة من خمس مزايا وعيوب من أربعة، والطبيعة، والأصل والأعمال ...... تقرأ مقالا مع شبكة البرق!

إفلاس، أية خصوصية؟ حصريا سر مكتبة هجوم ضرب

الأصول المعنية ما يقرب من 500 مليون يوان! قوانغتشو هوانغبو دمرت الشرطة غرفتين مع الرهن العقاري "القروض روتينية" عصابة

ربط المدونات الصغيرة 500 مليون مستخدم لبيع رقم أو عنوان الهاتف المحمول الكتاب لواجهة وكانت مباراة عنيفة في داركنت

هي بو قوانغدونغ خرائط المحافظات المتاحة في اليوم الأول: المعجبين في المطر لرؤية معرض اللوحة، قدمت ما يقرب من 600 كتاب الصباح

الطلاب الفرنسيين: تتطلب المدارس لتلتزم بسياسة العزلة ورفض، وانخفضت 8 أكياس من الأرز اكتناز الحجرة إلى العودة إلى ديارهم

"بعد 85" رجال الأعمال جينينغ لتطوير نظام المشتريات عبر الإنترنت، الوقاية من الاوبئة ويساعد في السيطرة على التكنولوجيا

فتح متحف مدينة جينان اليوم، مما يحد يوميا 500

اغتنام اليوم، ويعيش شاو هوا، جنبا إلى جنب مع شي جين بينغ رئيس في 2020

بطاقة تقرير السماء الزرقاء لبكين لعام 2019 "الأشياء في الصين": بلغ متوسط تركيز PM2.5 السنوي مستوى منخفضًا جديدًا ، بانخفاض 17 على أساس سنوي

الكرز، برج الرافعة الصفراء، المعكرونة الجافة ...... كانت أجمل رسمت المجوهرات ووهان

2019 السنوي ستار CSDN بلوق أعلنت قائمة TOP10، القائمة التي حتى الآن؟

رد الدخن "خفض العنف"، وقال التقرير الروبوت الهاتف اي فون ضعف معدل الاستهلاك؛ النملة تصميم 4.0.1 صدر | عناوين المهوسون