YOLO_Online 将深度学习最火的目标检测做成在线服务实战经验分享

部分 YOLO 结果:

YOLO_Online 将深度学习最火的目标检测做成在线服务

第一次接触 YOLO 这个目标检测项目的时候,我就在想,怎么样能够封装一下让普通人也能够体验深度学习最火的目标检测项目,不需要关注技术细节,不需要装很多软件。只需要网页就能体验呢。

在踩了很多坑之后,终于实现了。

效果:

1.上传文件

2.选择了一张很多狗的图片

3.YOLO 一下

技术实现

  1. web 用了 Django 来做界面,就是上传文件,保存文件这个功能。
  2. YOLO 的实现用的是 keras-yolo3,直接导入yolo 官方的权重即可。
  3. YOLO 和 web 的交互最后使用的是 socket。

坑1:

Django 中 Keras 初始化会有 bug,原计划是直接在 Django 里面用 keras,后来发现坑实在是太深了。

最后 Django 是负责拿文件,然后用 socket 把文件名传给 yolo。

坑2:

说好的在线服务,为什么没有上线呢?买了腾讯云 1 CPU 2 G 内存,部署的时候发现 keras 根本起不来,直接被 Killed 。

解决,并没有解决,因为买不起更好地服务器了,只好本地运行然后截图了。

坑3:

YOLO 的识别是需要一定的时间的,做成 web 的服务,上传完文件之后,并不能马上识别出来,有一定的延迟。

相关教程:

TensorFlow + Keras 实战 YOLO v3 目标检测图文并茂教程

https://zhuanlan.zhihu.com/p/36152438

YOLO QQ 群

群号:167122861

计算机视觉项目合作微信:voicer008

 

谷歌发布 Open Images V4数据集,190万张图片开启公开图像挑战赛

4 月 30 日,谷歌在其官方博客上发文称将开放 Images V4 数据库,并同时开启 ECCV 2018 公开图像挑战赛。雷锋网编译全文如下:
2016 年,我们发布了一个包含大约 900 万张图片、标注了数千个对象类别标签的数据集 Open Images。发布之后,我们一直在努力更新和改进数据集,以便为计算机视觉社区提供有用的资源来开发新模型。
今天,我们很高兴地宣布开放 Open Images V4,它包含在 190 万张图片上针对 600 个类别的 1540 万个边框盒,这也是现有最大的具有对象位置注释的数据集。这些边框盒大部分都是由专业注释人员手动绘制的,确保了它们的准确性和一致性。另外,这些图像是非常多样化的,并且通常包含有多个对象的复杂场景(平均每个图像 8 个)。

与此同时,我们还将宣布启动 Open Images 挑战赛,这将是在 2018 计算机视觉欧洲会议(ECCV 2018)上举办的一场新的对象检测挑战赛。Open Images 挑战赛将遵循 PASCAL VOC、ImageNet 和 COCO 等赛事的传统,但是其规模将是空前的。

Open Images 挑战赛在一下这几个方面将是独一无二的:

有 170 万张训练图片,其中有 500 个类别和 1220 万个边框注释;

与以前的检测挑战相比,将有更广泛的类别,包括诸如「fedora」、「snowman」等这样的新对象;

除了主流的物体检测外,本次挑战赛中在检测物体对时还将包括视觉关系检测,例如「woman playing guitar」。

训练数据集现在已经可以使用;一个包含有 10 万张图片的测试集将于 2018 年 7 月 1 日发布在 Kaggle 上。挑战赛提交结果的截止日期为 2018 年 9 月 1 日。

我们希望更大的训练集能够刺激对更复杂检测模型的研究,这些模型将超过当前 state-of-the-art 的性能;而从另一方面,我们希望 500 个类别能够更精确地评估不同探测器在哪些方面表现的更好。此外,拥有大量带有多个对象标注的图像,可以帮组你探索视觉关系检测,这还是一个热门的新兴话题,而且具有越来越多的子社区。

除了上述内容外,Open Images V4 还包含了 3010 万张经过人工验证的针对 19794 个类别图像级标签的图片。当然这些标签不属于挑战赛的一部分,其中的 550 万张图像级标签是由来自世界各地成千上万名用户通过 crowdsource.google.com 生成的。

原文链接:https://www.leiphone.com/news/201805/AlOdBu0uXZY0ZVT9.html

TensorFlow + Keras 实战 YOLO v3 目标检测图文并茂教程

运行步骤
1.从 YOLO 官网下载 YOLOv3 权重

wget https://pjreddie.com/media/files/yolov3.weights

下载过程如图:

 

2.转换 Darknet YOLO 模型为 Keras 模型

python convert.py yolov3.cfg yolov3.weights model_data/yolo.h5

转换过程如图:

3.运行YOLO 目标检测

python yolo.py

需要下载一个图片,然后输入图片的名称,如图所示:

我并没有使用经典的那张图,随便从网上找了一个,来源见图片水印:

识别效果:

项目地址:https://github.com/qqwweee/keras-yolo3

教程来自:http://objectdetection.cn/

Mask_RCNN:基于Keras and TensorFlow 的 Mask R-CNN 为 目标检测和情景分割

Mask R-CNN for Object Detection and Segmentation

这是一个基于 Python 3, Keras, TensorFlow 实现的 Mask R-CNN。这个模型为图像中的每个对象实例生成边界框和分割掩码。它基于 Feature Pyramid Network (FPN) and a ResNet101 backbone.

这个项目包括包括:

在FPN和ResNet101上构建的Mask R-CNN的源代码。

MS COCO的训练代码

MS COCO 预先训练的权重

Jupyter notebooks 来可视化在每一个步骤的检测管道

用于多GPU训练的ParallelModel类

MS COCO指标评估(AP)

训练您自己的数据集的例子

代码被记录和设计为易于扩展。 如果您在研究中使用它,请考虑引用此项目。 如果您从事3D视觉工作,您可能会发现我们最近发布的Matterport3D数据集也很有用。 这个数据集是由我们的客户拍摄的三维重建空间创建的,这些客户同意将这些数据公开供学术使用。 你可以在这里看到更多的例子。

This is an implementation of Mask R-CNN on Python 3, Keras, and TensorFlow. The model generates bounding boxes and segmentation masks for each instance of an object in the image. It’s based on Feature Pyramid Network (FPN) and a ResNet101 backbone.

The repository includes:

  • Source code of Mask R-CNN built on FPN and ResNet101.
  • Training code for MS COCO
  • Pre-trained weights for MS COCO
  • Jupyter notebooks to visualize the detection pipeline at every step
  • ParallelModel class for multi-GPU training
  • Evaluation on MS COCO metrics (AP)
  • Example of training on your own dataset

The code is documented and designed to be easy to extend. If you use it in your research, please consider referencing this repository. If you work on 3D vision, you might find our recently released Matterport3D dataset useful as well. This dataset was created from 3D-reconstructed spaces captured by our customers who agreed to make them publicly available for academic use. You can see more examples here.

项目地址:matterport/Mask_RCNN

https://github.com/matterport/Mask_RCNN

YOLO:3 步实时目标检测安装运行教程

封面图是作者运行图,我在 ubuntu 环境下只有文字预测结果。

Detection Using A Pre-Trained Model

使用训练好的模型来检测物体

运行一下命令来下载和编译模型

git clone https://github.com/pjreddie/darknet
cd darknet
make

运行一下模型来下载预训练权重

wget https://pjreddie.com/media/files/yolo.weights

运行以下命令来测试模型

./darknet detect cfg/yolo.cfg yolo.weights data/dog.jpg

最终结果截图

英文原文

pjreddie.com/darknet/yo

教程原文

tensorflownews.com/2017

更多机器学习教程

tensorflownews.com