笔记。这个存储库不再由我积极维护。但是,如果其他人愿意进行更改,请提出一个拉动请求,我会尽快将更改合并。愉快的编码! :)
该存储库说明了如何使用Google Cloud上使用Google的1年学分在Google Cloud上使用的GPU实时进行对象检测。我们只使用一个You Gout Gool曾经的临床检测来检测,可以在Web浏览器中可视化,如下所示。

对象检测是一个困难且计算上昂贵的问题,并不是每个人都可以访问GPU来进行实时对象检测。此外,还有其他选择。例如,TensorFlow提供了轻量级的Mobilenet型号(请参阅此处),但它们是以降低精度为代价的。对象检测也可以在iOS/Android上使用,但它们面临着前面提到的相同问题。
Webrtchacks也提出了一个有趣的解决方案。我自己测试了它,它运行良好。但是,该解决方案将网络摄像头视频发送为一系列编码的JPG图像,从而导致该解决方案中不存在的大量带宽使用和延迟。
在云上进行对象检测会消除这些问题。更重要的是,由于您可以选择要使用的GPU,因此您可以运行很多“重”的深神经网络,同时仍然可以实现接近实时准确性。
已经验证了以下模型的推理/测试,所有延迟均小于100 ms。延迟将取决于Google Cloud Server的位置以及您所在的位置(稍后将详细介绍)。
WebRTC的asyncio实现。 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信用并收取费用(如果您超出了信用额度)