ملحوظة. لم يعد هذا المستودع يحتفظ به بنشاط. ومع ذلك ، إذا كان الآخرون يرغبون في إجراء تغييرات ، فيرجى طرح طلب سحب وسأبذل قصارى جهدي لدمج التغييرات في أسرع وقت ممكن. ترميز سعيد! سائدا
يوضح هذا المستودع كيف يمكن للمرء أن يفعل الكشف عن الكائنات في الوقت الفعلي باستخدام وحدات معالجة الرسومات المتوفرة على Google Cloud مجانًا باستخدام أرصدة Google لمدة عام واحد. نستخدم A You Soke Only Archictecture فقط للكشف عن الكائنات التي يمكن تصورها في متصفح الويب كما هو موضح أدناه.

يعتبر اكتشاف الكائنات مشكلة صعبة ومكلفة الحساب ، وليس كل شخص لديه إمكانية الوصول إلى وحدات معالجة الرسومات للقيام باكتشاف الكائن في الوقت الفعلي. علاوة على ذلك ، هناك بدائل. على سبيل المثال ، يوفر TensorFlow نماذج Mobilenet خفيفة الوزن (انظر هنا) ، لكنها تأتي على حساب انخفاض الدقة. يتوفر اكتشاف الكائنات أيضًا على iOS/Android ، لكنهم يواجهون نفس المشكلات المذكورة سابقًا.
كما تم تقديم حل مثير للاهتمام على Webrtchacks. لقد اختبرته بنفسي ويعمل بشكل جيد. ومع ذلك ، يرسل هذا الحل فيديو كاميرا الويب كسلسلة من صور JPG المشفرة مما يؤدي إلى استخدام عرض النطاق الترددي الكبير والكمون غير الموجودين في هذا الحل.
القيام بالكشف عن الكائن على السحابة يلغي هذه المشاكل. ما هو أكثر من ذلك هو أنه نظرًا لأنه يمكنك اختيار وحدة معالجة الرسومات التي تريد استخدامها ، يمكنك تشغيل الكثير من الشبكات العصبية العميقة "الثقيلة" مع الاستمرار في تحقيق دقة الوقت الحقيقي.
تم التحقق من الاستدلال/الاختبار على النماذج التالية ، كل ذلك مع زمن استمرار أقل من 100 مللي ثانية. يعتمد الكمون على موقع خادم Google Cloud ومكان وجودك (المزيد حول هذا لاحقًا).
asyncio لـ WebRTC يسمى AIORTC. يجب تثبيت AIORTC وفقًا لتعليماتهم والعمل قبل أن يكون هذا المستودع قابلاً للاستخدام. فيما يلي ملخص للخطوات التي قمت بتجميعها: قم بإنشاء مثيل للجهاز الظاهري عن طريق تشغيل ما يلي في Google Cloud Shell. استبدل YOUR_PROJECT_NAME باسم مشروعك يجب نشر VM فيه.
gcloud beta compute --project=YOUR_PROJECT_NAME instances create instance-1 --zone=us-east1-b --machine-type=n1-standard-2 --subnet=default --network-tier=PREMIUM --maintenance-policy=TERMINATE --service-account=740303654106-compute@developer.gserviceaccount.com --scopes=https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/trace.append --accelerator=type=nvidia-tesla-p100,count=1 --tags=http-server,https-server --image=c2-deeplearning-tf-1-12-cu100-20181120 --image-project=ml-images --boot-disk-size=60GB --boot-disk-type=pd-standard --boot-disk-device-name=instance-1 افتح محطة SSH للمثال الذي تم إنشاؤه حديثًا كما هو موضح أدناه. لاحظ أيضا أسفل IP الخارجي . سوف تحتاجه في وقت لاحق. 
سوف تحصل على مطالبة تطلب تثبيت برامج تشغيل NVIDIA. أدخل y . 
تثبيت FFMPEG وحزم إضافية.
sudo apt install ffmpegsudo apt install libavdevice-dev libavfilter-dev libopus-dev libvpx-dev pkg-configبمجرد اكتمال التثبيت ، استنساخ مستودع GIT وتثبيت التبعيات. احصل على فنجان من القهوة. هذا سوف يستغرق بضع دقائق.
cd ~git clone https://github.com/omarabid59/YOLO_Google-Cloud.gitcd ~/YOLO_Google-Cloudpip3 install -r requirements.txtmkdir -p ~/YOLO_Google-Cloud/mlserver/modelcd ~/YOLO_Google-Cloud/mlserver/modelwget https://raw.githubusercontent.com/pjreddie/darknet/master/cfg/yolov3.cfgwget https://pjreddie.com/media/files/yolov3.weightswget https://raw.githubusercontent.com/pjreddie/darknet/master/data/coco.namesnohup python3 ~/YOLO_Google-Cloud/mlserver/mlserverclient.py &cd ~/YOLO_Google-Cloud/webserver/ && python3 httpserver.py
YOUR_IP_ADDRESS هو الشخص الذي حصلت عليه في الخطوة 2.https://YOUR_IP_ADDRESS:8889 هذا كل شيء!تذكر أن تغلق Google Cloud VM فورًا بعد انتهائك من التجربة لتجنب استخدام أرصدة Google الخاصة بك وتشحنها (إذا تجاوزت اعتماداتك)