YOLO_Online 将深度学习最火的目标检测做成在线服务实战经验分享 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
1722332572
V2EX    Python

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

  •  
  •   1722332572 2018-05-09 19:49:59 +08:00 5461 次点击
    这是一个创建于 2716 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    效果:

    1.上传文件

    http://objectdetection.cn/wp-content/uploads/2018/05/WechatIMG482.jpg

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

    http://objectdetection.cn/wp-content/uploads/2018/05/WechatIMG483-2.jpeg

    3.YOLO 一下

    http://objectdetection.cn/wp-content/uploads/2018/05/WechatIMG484.jpg

    技术实现

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

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

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

    坑 2:

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

    http://objectdetection.cn/wp-content/uploads/2018/05/WechatIMG485-2.jpeg

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

    坑 3:

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

    相关教程:

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

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

    YOLO QQ 群(求土豪赞助一波服务器啊)

    群号:167122861

    ObjectDetection:http://objectdetection.cn/

    13 条回复    2018-05-10 10:55:15 +08:00
    yagamilin1120
        1
    yagamilin1120  
       2018-05-09 20:05:09 +08:00
    租个带显卡的云服务吧,最好 2G 以上,不然。。
    inflationaaron
        3
    inflationaaron  
       2018-05-09 20:30:14 +08:00
    绝了,keras 部署还行,至少也要用 Caffe2 或者 TF Serving 吧。
    menc
        4
    menc  
       2018-05-09 20:36:06 +08:00
    请用 tf serving 来部署线上模型,
    为什么 keras 被 kill 心里没有点数么,标题的“将深度学习最火的目标检测做成在线服务”根本就没有做出来,谈何经验分享?
    1722332572
        5
    1722332572  
    OP
       2018-05-09 23:26:39 +08:00
    @menc 已经上线了,只是比较鸡肋,大佬。
    1722332572
        6
    1722332572  
    OP
       2018-05-09 23:32:21 +08:00
    @YRodT 多谢大佬指导,晚点试一下。
    1722332572
        7
    1722332572  
    OP
       2018-05-09 23:40:00 +08:00
    体验网址: http://objectdetection.cn/2018/05/08/yolo_online/
    最后上线的是 web 接收图片,传回自己电脑 YOLO,会比较慢。
    askfermi
        8
    askfermi  
       2018-05-09 23:44:40 +08:00
    正在做一整套开源的包括训练、检测、分割、分类任务的库[手动狗头],类似楼主这个,可以参考: https://github.com/unarxiv/CVTron,Serve 和 Vis 分别是后台和前端的程序
    askfermi
        9
    askfermi  
       2018-05-10 00:01:53 +08:00
    如果楼主有志于此,可以加入我们一起搞搞有趣的事 :D, 还有很多新的想法正在实验中
    askfermi
        10
    askfermi  
       2018-05-10 00:02:40 +08:00
    #8 应该是

    正在做一整套开源的包括训练、检测、分割、分类任务的库[手动狗头],类似楼主这个,可以参考: https://github.com/unarxiv/CVTron 其中 Serve 和 Vis 分别是后台和前端的程序
    Reign
        11
    Reign  
       2018-05-10 10:02:11 +08:00
    感谢楼主的项目,不过你博文中说的“解决,并没有解决,因为买不起更好地服务器了,只好本地运行然后截图了”,为啥一定要买贵的上天的国内服务器,用国外的服务器不就行了么?腾讯云 1G 内存的价格,至少可以买美国 or 法国 1000TB 内存的服务器了,推荐 online 家的 scaleway: https://www.scaleway.com 价格便宜,楼主可以试试
    1722332572
        12
    1722332572  
    OP
       2018-05-10 10:17:42 +08:00
    @Reign 多谢,最后实现了一个版本是 web 只用来让用户上传文件,然后我自己电脑 YOLO 完了传回去。这个版本可以运行了,目前还不稳定。
    1722332572
        13
    1722332572  
    OP
       2018-05-10 10:55:15 +08:00
    @askfermi 是的,想法差不多,我计划也是先用 YOLO 跑一下,后续试一下类似于分类之类的模型。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     907 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 20:42 PVG 04:42 LAX 13:42 JFK 16:42
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86