NOTIZ. Dieses Repository wird von mir nicht mehr aktiv aufrechterhalten. Wenn andere jedoch Änderungen vornehmen möchten, stellen Sie bitte eine Pull -Anfrage und ich werde mein Bestes tun, um die Änderungen so schnell wie möglich zusammenzuführen. Happy Coding! :)
Dieses Repository zeigt, wie man mit GPUs, die in Google Cloud kostenlos mit den 1 -Jahres -Credits von Google verfügbar sind, die Objekterkennung in Echtzeit durchführen kann. Wir verwenden einen Sie nur nach Erziktaturen für die Objekterkennung, die wie unten gezeigt in einem Webbrowser visualisiert werden kann.

Die Objekterkennung ist ein schwieriges und rechenintensives Problem, und nicht jeder hat Zugriff auf GPUs, um eine Echtzeit -Objekterkennung durchzuführen. Darüber hinaus gibt es Alternativen. Zum Beispiel bietet TensorFlow leichte Mobilenet -Modelle (siehe hier), aber sie sind Kosten für eine verringerte Genauigkeit. Die Objekterkennung ist auch auf iOS/Android verfügbar, aber sie haben die gleichen Probleme, die zuvor erwähnt wurden.
Eine interessante Lösung wurde auch auf Webebtchacks vorgestellt. Ich habe es selbst getestet und es funktioniert gut. Diese Lösung sendet jedoch Webcam -Video als eine Reihe codierter JPG -Bilder, die zu einer signifikanten Gebrauchsnutzung und Latenz von Bandbreite führen, die in dieser Lösung nicht vorhanden ist.
Durch die Erkennung von Objekten in der Cloud wird diese Probleme beseitigt. Darüber hinaus können Sie, da Sie auswählen können, welche GPU Sie verwenden möchten, viel "schwere" tiefe neuronale Netzwerke ausführen und gleichzeitig die Echtzeitgenauigkeit nahezu erreichen.
Inferenz/Tests in den folgenden Modellen wurden überprüft, alle mit einer Latenz von weniger als 100 ms. Die Latenz hängt vom Ort des Google Cloud -Servers und dem Ort ab, an dem Sie sich befinden (dazu später mehr).
asyncio -Implementierung von WebRTC namens Aiortc. AIortc muss gemäß ihrer Anweisung installiert werden und die Arbeit, bevor dieses Repository verwendet werden kann. Hier sind eine Zusammenfassung der Schritte, die ich zusammengestellt habe: Erstellen Sie eine Instanz der virtuellen Maschine, indem Sie Folgendes in der Google Cloud Shell ausführen. Ersetzen Sie YOUR_PROJECT_NAME durch den Namen Ihres Projekts, in dem die VM bereitgestellt werden sollte.
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 Öffnen Sie ein SSH -Terminal der neu erstellten Instanz, wie unten gezeigt. Beachten Sie auch die externe IP . Sie brauchen es für später. 
Sie erhalten eine Eingabeaufforderung, die NVIDIA -Treiber installieren zu können. Geben Sie y . 
Installieren Sie FFMPEG und zusätzliche Pakete.
sudo apt install ffmpegsudo apt install libavdevice-dev libavfilter-dev libopus-dev libvpx-dev pkg-configSobald die Installation abgeschlossen ist, klonen Sie das Git -Repository und installieren Sie die Abhängigkeiten. Nehmen Sie sich eine Tasse Kaffee. Dies wird ein paar Minuten dauern.
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 der in Schritt 2 erhalten hat.https://YOUR_IP_ADDRESS:8889 das ist es!Denken Sie daran, die Google Cloud VM sofort nach dem Experimentieren auszuschalten, um die Aufnahme Ihrer Google -Credits zu vermeiden und berechnet zu werden (wenn Sie Ihre Credits überschreiten).