حماية الأشخاص من المناطق الخطرة من خلال الحدود الافتراضية باستخدام Computer Vision

عقدة المصدر: 807925

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

بالنسبة لهذا المشروع ، ستقوم بتدريب نموذج مخصص لاكتشاف الكائنات باستخدام الأمازون SageMaker ونشر النموذج على جهاز AWS DeepLens. اكتشاف الكائن هو خوارزمية ML تأخذ صورة كمدخلات وتحدد الكائنات وموقعها داخل الصورة. بالإضافة إلى حلول الحدود الافتراضية ، يمكنك تطبيق التقنيات التي تم تعلمها في هذا المنشور عندما تحتاج إلى اكتشاف مكان وجود كائنات معينة داخل صورة أو حساب عدد مثيلات الكائن المطلوب في صورة ، مثل عد العناصر في حاوية التخزين أو على رف البيع بالتجزئة.

حل نظرة عامة

يتضمن الدليل الخطوات التالية:

  1. قم بإعداد مجموعة البيانات الخاصة بك لإدخالها في خوارزمية ML.
  2. تدريب نموذج مع Amazon SageMaker.
  3. نموذج اختبار مع مناطق تقييد مخصصة.
  4. انشر الحل لـ AWS DeepLens.

نناقش أيضًا حالات استخدام أخرى في العالم الحقيقي حيث يمكنك تطبيق هذا الحل.

يوضح الرسم البياني التالي بنية الحل.

المتطلبات الأساسية المسبقة

لإكمال هذا الدليل ، يجب أن يكون لديك المتطلبات الأساسية التالية:

قم بإعداد مجموعة البيانات الخاصة بك لإدخالها في خوارزمية ML

يستخدم هذا المنشور خوارزمية ML تسمى نموذج اكتشاف الكائن لبناء حل يكتشف ما إذا كان الشخص في منطقة مقيدة مخصصة. أنت تستخدم المتاحة للجمهور مجموعة بيانات اكتشاف المشاة متوفر على Kaggle ، الذي يحتوي على أكثر من 2,000 صورة. تحتوي مجموعة البيانات هذه على ملصقات للأشياء البشرية والأشياء الشبيهة بالبشر (مثل العارضات) بحيث يمكن للنموذج المدرب التمييز بدقة أكبر بين البشر الحقيقيين والدعائم أو التماثيل المصنوعة من الورق المقوى.

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

لبدء تدريب نموذجك ، أنشئ أولاً حاوية S3 لتخزين بيانات التدريب وإخراج النموذج. بالنسبة لمشروعات AWS DeepLens ، يجب أن تبدأ أسماء مجموعات S3 بالبادئة deeplens-. يمكنك استخدام هذه البيانات لتدريب نموذج باستخدام SageMaker ، وهي خدمة مُدارة بالكامل توفر القدرة على إنشاء نماذج ML وتدريبها ونشرها بسرعة.

تدريب نموذج مع Amazon SageMaker

يمكنك استخدام دفاتر SageMaker Jupyter كبيئة تطوير لتدريب النموذج. Jupyter Notebook هو تطبيق ويب مفتوح المصدر يسمح لك بإنشاء ومشاركة المستندات التي تحتوي على تعليمات برمجية مباشرة ومعادلات وتصورات ونص سردي. لهذا المنشور ، نحن نقدم Train_Object_Detection_People_DeepLens.ipynb، دفتر ملاحظات كامل يمكنك متابعته.

لإنشاء نموذج مخصص لاكتشاف الكائن ، تحتاج إلى استخدام مثيل لمهمة تدريب تم تمكينها بواسطة وحدة معالجة الرسومات (GPU). تعد وحدات معالجة الرسومات ممتازة في إجراء العمليات الحسابية المتوازية اللازمة لتدريب الشبكة العصبية. على الرغم من أن الكمبيوتر الدفتري نفسه هو مثيل ml.t2.medium واحد ، فإن مهمة التدريب تستخدم على وجه التحديد مثيل ml.p2.xlarge. للوصول إلى مثيل وظيفة التدريب التي تدعم GPU ، يجب عليك ذلك تقديم طلب لزيادة حد الخدمة إلى مركز دعم AWS.

بعد أن تتلقى زيادة الحد الخاص بك ، أكمل الخطوات التالية لإنشاء مثيل دفتر ملاحظات SageMaker:

  1. في وحدة تحكم SageMaker ، اختر مثيلات دفتر الملاحظات.
  2. اختار إنشاء مثيل دفتر.
  3. في حالة اسم مثيل دفتر الملاحظات، أدخل اسمًا لمثيل دفتر الملاحظات الخاص بك.
  4. في حالة نوع الطلب، اختر t2.medium.

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

  1. في حالة دور IAM، اختر قم بإنشاء دور جديد.

تأكد من هذا إدارة الهوية والوصول AWS (IAM) له حق الوصول إلى حاوية S3 التي أنشأتها مسبقًا (بادئة deeplens-).

  1. اختار إنشاء مثيل دفتر. يمكن أن يستغرق مثيل الكمبيوتر الدفتري بضع دقائق لبدء التشغيل.
  1. عندما تتغير الحالة في صفحة مثيلات دفتر الملاحظات إلى InService ، اختر فتح كوكب المشتري لإطلاق نسخة مفكرة Jupyter التي تم إنشاؤها حديثًا.
  2. اختار تحميل لتحميل ملف Train_Object_Detection_people_DeepLens.ipynb ملف قمت بتحميله في وقت سابق.

  1. افتح دفتر الملاحظات وتابعه حتى النهاية.
  2. إذا تم سؤالك عن تعيين kernel ، فحدد conda_mxnet_p36.

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

  1. قم بتنزيل مجموعة البيانات من حاوية S3 العامة إلى مثيل SageMaker المحلي وفك ضغط البيانات. يمكن القيام بذلك باتباع الكود الموجود في دفتر الملاحظات:
     !aws s3 cp s3://deeplens-public/samples/pedestriansafety/humandetection_data.zip . !rm -rf humandetection/ !unzip humandetection_data.zip -d humandetection 

  2. تحويل مجموعة البيانات إلى تنسيق (تسجيل) التي يمكن إدخالها في خوارزمية SageMaker:
     !python $mxnet_path/tools/im2rec.py --pass-through --pack-label $DATA_PATH/train_mask.lst $DATA_PATH/ !python $mxnet_path/tools/im2rec.py --pass-through --pack-label $DATA_PATH/val_mask.lst $DATA_PATH/ 

  3. انقل ملفات RecordIO مرة أخرى إلى Amazon S3.

الآن بعد أن انتهيت من إعداد جميع البيانات ، فأنت جاهز لتدريب كاشف الكائنات.

هناك عدة أنواع مختلفة من خوارزميات اكتشاف الكائنات. في هذا المنشور ، تستخدم ملف خوارزمية اكتشاف MultiBox أحادي الطلقة (SSD). تتمتع خوارزمية SSD بتوازن جيد بين السرعة والدقة ، مما يجعلها مثالية للتشغيل على الأجهزة المتطورة مثل AWS DeepLens.

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

  1. قم بإعداد المعلمات التشعبية وقنوات البيانات. ضع في اعتبارك استخدام تعريف المثال التالي للمعلمات التشعبية:
     od_model = sagemaker.estimator.Estimator(training_image, role, train_instance_count=1, train_instance_type='ml.p2.xlarge', train_volume_size = 50, train_max_run = 360000, input_mode= 'File', output_path=s3_output_location, sagemaker_session=sess) od_model.set_hyperparameters(base_network='resnet-50', use_pretrained_model=1, num_classes=2, mini_batch_size=32, epochs=100, learning_rate=0.003, lr_scheduler_step='3,6', lr_scheduler_factor=0.1, optimizer='sgd', momentum=0.9, weight_decay=0.0005, overlap_threshold=0.5, nms_threshold=0.45, image_shape=300, num_training_samples=n_train_samples) 

يحتوي الكمبيوتر الدفتري على بعض المعلمات التشعبية الافتراضية التي تم تحديدها مسبقًا. بالنسبة لاكتشاف المشاة ، تقوم بتدريب النموذج لمدة 100 عصر. يجب أن تستغرق خطوة التدريب هذه حوالي ساعتين باستخدام مثيل ml.p2.xlarge واحد. يمكنك تجربة مجموعات مختلفة من المعلمات الفائقة ، أو التدرب على المزيد من الفترات لتحسين الأداء. للحصول على معلومات حول أحدث الأسعار ، راجع الأمازون SageMaker التسعير.

  1. يمكنك بدء مهمة تدريبية بسطر واحد من التعليمات البرمجية ومراقبة الدقة بمرور الوقت على وحدة تحكم SageMaker:
    od_model.fit(inputs=data_channels, logs=True) 

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

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

عند انتهاء المهمة ، يمكنك العثور على ملفات النماذج المدربة في حاوية S3 والمجلد المحدد مسبقًا في s3_output_location:

s3_output_location = 's3://{}/{}/output'.format(BUCKET, PREFIX)

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

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

نموذج اختبار مع مناطق تقييد مخصصة

قبل نشر النموذج المدرب في AWS DeepLens ، يمكنك اختباره في السحابة باستخدام نقطة نهاية مستضافة من SageMaker. نقطة نهاية SageMaker هي خدمة مُدارة بالكامل تتيح لك إجراء استنتاجات في الوقت الفعلي عبر واجهة برمجة تطبيقات REST. يتيح لك SageMaker نشر نقاط نهاية جديدة بسرعة لاختبار النماذج الخاصة بك حتى لا تضطر إلى استضافة النموذج على المثيل المحلي الذي تم استخدامه لتدريب النموذج. يسمح لك هذا بعمل تنبؤات (أو استدلال) من النموذج على الصور التي لم تراها الخوارزمية أثناء التدريب.

ليس عليك الاستضافة على نفس نوع المثيل الذي استخدمته للتدريب. التدريب هو مهمة مطولة ومرهقة للحسابات تتطلب مجموعة مختلفة من متطلبات الحوسبة والذاكرة التي لا تتطلبها الاستضافة عادةً. يمكنك اختيار أي نوع من المثيل تريده لاستضافة النموذج. في هذه الحالة ، اخترنا المثيل ml.p3.2xlarge للتدريب ، لكننا اخترنا استضافة النموذج على مثيل CPU الأقل تكلفة ، ml.m4.xlarge. يوضح مقتطف الشفرة التالي نشر نقطة النهاية لدينا.

object_detector = od_model.deploy(initial_instance_count = 1, instance_type = 'ml.m4.xlarge') 

الكشف في منطقة تقييد مخصصة (منطقة اهتمام)

يمكن تمثيل تنسيق الإخراج كـ [class_index، trust_score، xmin، ymin، xmax، ymax]. غالبًا ما يكون للتنبؤات منخفضة الثقة فرص أكبر في الحصول على نتيجة إيجابية خاطئة أو سلبية خاطئة ، لذا يجب عليك على الأرجح تجاهل تنبؤات الثقة المنخفضة. يمكنك استخدام الكود التالي لاكتشاف ما إذا كان المربع المحيط للشخص يتداخل مع المنطقة المقيدة.

def inRestrictedSection(ImShape = None, R1 = None, restricted_region = None, kclass = None, score = None, threshold = None): statement = 'Person Not Detected in Restricted Zone' if (kclass == 1) and (score > threshold): Im1 = np.zeros((ImShape[0],ImShape[1],3), np.int32) cv2.fillPoly(Im1, [R1], 255) Im2 = np.zeros((ImShape[0],ImShape[1],3), np.int32) if restricted_region is None: restricted_region = np.array([[0,ImShape[0]],[ImShape[1],ImShape[0]],[ImShape[1],0], [0,0]], np.int32) cv2.fillPoly(Im2, [restricted_region], 255) Im = Im1 * Im2 if np.sum(np.greater(Im, 0))>0: statement = 'Person Detected in Restricted Zone' else: statement = statement return statement 

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

restricted_region = None #restricted_region = np.array([[0,200],[100,200],[100,0], [10,10]], np.int32) 

يوضح نموذج الكود التالي المشاة الذين تم تحديدهم داخل منطقة محظورة:

file_name = 'humandetection/test_images/t1_image.jpg' img = cv2.imread(file_name) img =cv2.cvtColor(img,cv2.COLOR_BGR2RGB) thresh = 0.2 height = img.shape[0] width = img.shape[1] colors = dict() with open(file_name, 'rb') as image: f = image.read() b = bytearray(f) ne = open('n.txt','wb') ne.write(b) results = object_detector.predict(b, initial_args={'ContentType': 'image/jpeg'}) detections = json.loads(results) object_categories = ['no-person', 'person'] for det in detections['prediction']: (klass, score, x0, y0, x1, y1) = det if score < thresh: continue cls_id = int(klass) prob = score if cls_id not in colors: colors[cls_id] = (random.random(), random.random(), random.random()) xmin = int(x0 * width) ymin = int(y0 * height) xmax = int(x1 * width) ymax = int(y1 * height) R1 = np.array([[xmin,ymin],[xmax,ymin],[xmax,ymax], [xmin,ymax]], np.int32) cv2.polylines(img,[R1],True, (255,255,0), thickness = 5) cv2.polylines(img,[restricted_region],True, (255,0,0), thickness = 5) plt.imshow(img) print(inRestrictedSection(img.shape,R1 = R1, restricted_region= restricted_region, kclass = cls_id, score = prob, threshold=0.2)) 

الصور التالية تظهر نتائجنا.

انشر الحل لـ AWS DeepLens

تحويل النموذج للنشر إلى AWS DeepLens

عند نشر نموذج SSD مُدرب من قِبل SageMaker على AWS DeepLens ، يجب عليك تشغيله أولاً نشر لتحويل الأداة النموذجية إلى نموذج قابل للنشر:

!rm -rf incubator-mxnet !git clone -b v1.7.x https://github.com/apache/incubator-mxnet MODEL_PATH = od_model.model_data TARGET_PATH ='s3://'+BUCKET+'/'+PREFIX+'/patched/' !rm -rf tmp && mkdir tmp rm -rf tmp && mkdir tmp !aws s3 cp $MODEL_PATH tmp !tar -xzvf tmp/model.tar.gz -C tmp !mv tmp/model_algo_1-0000.params tmp/ssd_resnet50_300-0000.params !mv tmp/model_algo_1-symbol.json tmp/ssd_resnet50_300-symbol.json !python incubator-mxnet/example/ssd/deploy.py --network resnet50 --data-shape 300 --num-class 2 --prefix tmp/ssd_ !tar -cvzf ./patched_model.tar.gz -C tmp ./deploy_ssd_resnet50_300-0000.params ./deploy_ssd_resnet50_300-symbol.json ./hyperparams.json !aws s3 cp patched_model.tar.gz $TARGET_PATH

استيراد النموذج الخاص بك إلى AWS DeepLens

لتشغيل النموذج على جهاز AWS DeepLens ، تحتاج إلى إنشاء مشروع AWS DeepLens. ابدأ باستيراد نموذجك إلى AWS DeepLens.

  1. على وحدة التحكم AWS DeepLens ، تحت الموارد، اختر الموديلات .
  2. اختار نموذج استيراد.

  1. في حالة مصدر الاستيراد، حدد نموذج مدرب خارجيًا.
  2. أدخل موقع Amazon S3 الخاص بـ نموذج مصحح التي قمت بحفظها من تشغيل publish.py في الخطوة أعلاه.
  3. في حالة إطار نموذجي، اختر MXNet.
  4. اختار نموذج استيراد.

قم بإنشاء دالة الاستدلال

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

أولاً ، نحتاج إلى إنشاء وظيفة Lambda لنشرها في AWS DeepLens.

  1. تحميل وظيفة الاستدلال لامدا.
  2. في وحدة تحكم لامدا ، اختر وظائف.
  3. اختار خلق وظيفة.
  4. أختار مؤلف من الصفر.
  5. في حالة اسم وظيفة، إدخال اسم.
  6. في حالة وقت التشغيل، اختر بيثون 3.7.
  7. في حالة اختر أو أنشئ دور تنفيذي، اختر استخدم دورًا موجودًا.
  8. اختار دور الخدمة / AWSDeepLensLambdaRole.
  9. اختار خلق وظيفة.

  1. في صفحة تفاصيل الوظيفة ، في ملف الإجراءات القائمة، اختر قم بتحميل ملف .zip.

  1. تحميل استنتاج لامدا ملف قمت بتحميله في وقت سابق.
  2. اختار حفظ لحفظ الرمز الذي أدخلته.
  3. على الإجراءات القائمة، اختر نشر إصدار جديد.

يؤدي نشر الوظيفة إلى جعلها متاحة على وحدة تحكم AWS DeepLens بحيث يمكنك إضافتها إلى مشروعك المخصص.

  1. أدخل رقم الإصدار واختر نشر.

فهم وظيفة الاستدلال

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

  • labels.txt - يحتوي على تعيين الإخراج من الشبكة العصبية (أعداد صحيحة) إلى ملصقات يمكن قراءتها بواسطة الإنسان (سلسلة)
  • lambda_function.py - يحتوي على رمز للوظيفة التي يتم استدعاؤها لإنشاء تنبؤات على كل إطار كاميرا وإرسال النتائج مرة أخرى

في lambda_function.py ، تقوم أولاً بتحميل النموذج وتحسينه. بالمقارنة مع الأجهزة الافتراضية السحابية المزودة بوحدة معالجة الرسومات ، تتمتع AWS DeepLens بقدرة حوسبة أقل. يستخدم AWS DeepLens مُحسِّن نموذج Intel OpenVino لتحسين النموذج المُدرَّب في SageMaker للتشغيل على أجهزته. تعمل الشفرة التالية على تحسين نموذجك للتشغيل محليًا:

client.publish(topic=iot_topic, payload='Optimizing model...') ret, model_path = mo.optimize('deploy_ssd_resnet50_300', INPUT_W, INPUT_H) # Load the model onto the GPU. client.publish(topic=iot_topic, payload='Loading model...') model = awscam.Model(model_path, {'GPU': 1}) 

ثم تقوم بتشغيل نموذج الإطار لكل إطار فوق الصور من الكاميرا. انظر الكود التالي:

while True: # Get a frame from the video stream ret, frame = awscam.getLastFrame() if not ret: raise Exception('Failed to get frame from the stream') # Resize frame to the same size as the training set. frame_resize = cv2.resize(frame, (INPUT_H, INPUT_W)) # Run the images through the inference engine and parse the results using # the parser API, note it is possible to get the output of doInference # and do the parsing manually, but since it is a ssd model, # a simple API is provided. parsed_inference_results = model.parseResult(model_type, model.doInference(frame_resize)) 

أخيرًا ، ترسل نتائج التنبؤ النصي مرة أخرى إلى السحابة. يعد عرض نتائج النص في السحابة طريقة ملائمة للتأكد من أن النموذج يعمل بشكل صحيح. يحتوي كل جهاز AWS DeepLens على iot_topic مخصص تم إنشاؤه تلقائيًا لتلقي نتائج الاستدلال. انظر الكود التالي:

# Send results to the cloud client.publish(topic=iot_topic, payload=json.dumps(cloud_output)) 

إنشاء مشروع AWS DeepLens مخصص

لإنشاء مشروع AWS DeepLens جديد ، أكمل الخطوات التالية:

  1. في وحدة تحكم AWS DeepLens ، في ملف المشاريع الصفحة ، اختر إنشاء مشروع.
  2. في حالة نوع المشروع، حدد إنشاء مشروع فارغ جديد.
  3. اختار التالى.

  1. اسم مشروعك yourname-pedestrian-detector-.
  2. اختار إضافة نموذج.
  3. حدد النموذج الذي قمت بإنشائه للتو.
  4. اختار إضافة وظيفة.
  5. ابحث عن وظيفة Lambda التي أنشأتها سابقًا بالاسم.
  6. اختار إنشاء مشروع.
  7. على المشاريع الصفحة ، حدد المشروع الذي تريد نشره.
  8. اختار نشر على الجهاز.
  9. في حالة الجهاز الهدف، اختر جهازك.
  10. اختار التقيم.
  11. راجع إعداداتك واختر نشر.

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

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

للحصول على إرشادات خطوة بخطوة حول عرض دفق الفيديو أو إخراج النص ، راجع عرض النتائج من AWS DeepLens.

حالات الاستخدام في العالم الحقيقي

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

  • فهم عدد الأشخاص في يوم معين الذين دخلوا منطقة محظورة حتى تتمكن مواقع البناء من تحديد المواقع التي تتطلب المزيد من علامات الأمان. يمكن القيام بذلك عن طريق جمع النتائج واستخدامها لإنشاء لوحة معلومات باستخدام أمازون QuickSight. لمزيد من التفاصيل حول إنشاء لوحة معلومات باستخدام QuickSight ، راجع قم ببناء متتبع الموقف للعمل من المنزل مع AWS DeepLens و GluonCV.
  • تجميع الإخراج من AWS DeepLens وتكوين Raspberry Pi لإصدار صوت تنبيه عندما يسير شخص ما في منطقة محظورة. لمزيد من التفاصيل حول توصيل جهاز AWS DeepLens بجهاز Raspberry Pi ، راجع بناء فارز قمامة مع AWS DeepLens.

وفي الختام

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

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


حول المؤلف

ياش شاه هو عالم بيانات في Amazon ML Solutions Lab ، حيث يعمل على مجموعة من حالات استخدام التعلم الآلي من الرعاية الصحية إلى التصنيع والبيع بالتجزئة. لديه خلفية رسمية في العوامل البشرية والإحصاءات ، وكان سابقًا جزءًا من فريق Amazon SCOT لتصميم المنتجات لتوجيه بائعي 3P من خلال إدارة فعالة للمخزون.

فو نجوين هو مدير منتج لـ AWS Panorama. إنه يصمم المنتجات التي تمنح المطورين من أي مستوى مهارة مقدمة عملية سهلة للتعلم الآلي.

المصدر: https://aws.amazon.com/blogs/machine-learning/protecting-people-through-virtual-boundaries-computer-vision/

الطابع الزمني:

اكثر من AWS مدونة التعلم الآلي