查看: 2181|回复: 0

使用物体探测对复杂图像分类场景识别(第一部分)

[复制链接]
  • TA的每日心情
    开心
    2019-11-4 13:48
  • 签到天数: 14 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2019-3-8 14:14:50 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 geren2014 于 2019-3-8 14:15 编辑

    1.png

    TLDR; 本系列是基于检测以下现实生活代码记录中复杂策略的工作。该系列的代码可以在这里找到。


    第1部分:AI计算机视觉革命
    计算机视觉的最新发展已经改变了计算机视觉领域。许多曾经被认为只能在科幻中使用的场景最近已经变得像使用API一样简单。
    例如,仅在四年前,以下漫画出现在XKCD上。
    2.png
    XKCD 2014年9月24日

    早在2014年,对于普通开发人员而言,进行基本的图像分类能力被认为近乎于科幻小说。仅仅三年之后,我们不仅可以确定图片是否包括鸟类,我们还可以告诉你鸟的种类,这只鸟在图片中的位置,并实时追踪鸟类的迁徙模式。
    3.png

    实际上,并非每个计算机视觉问题都与鸟类、花卉、猫和狗有关。
    4.png

    在本系列中,我们将回顾用于零售业的现实生活中的计算机视觉用例,并将比较和对比一些用于解决这个问题的不同方法和技术。
    一年多以前,微软与中欧和东欧的一家大型糖果产品制造商合作,建立了一个机器学习模型,用于验证经销商是否正确地存放巧克力。我们合作的公司拥有遍布14个国家的大型连锁超市分销网络。每个经销商都要根据标准政策在其展台上摆放巧克力。每一项政策都描述了给定巧克力应该放在什么架子上,以及应该按什么顺序存放。

    5.png

    执行这些政策的“常规”审计活动需要巨大的成本。我们的合作伙伴希望开发一个系统,在这个系统中,审核员或商店经理可以拍照,并立即得知货架是否正确存放,如上图所示。
    即使采用最先进的方法,这也是一项具有挑战性的工作,原因包括:
    • 图像质量
    • 图像角度
    • 轻微与规则不相符
    6.png

    模型很容易看出这里面没有巧克力


    尽管上图中右边一些错误存放的商品是显然“与规则不相符”的,并且很容易分类。但其他一些,例如下面这种“不相符”是更微妙的情况,更难以正确分类。
    7.png
    图像识别模型很难知道这个图像没有巧克力


    系列挑战
    在本系列中,我们将构建一个类似于上述场景的复杂策略分类器。要有效存储图像,必须按以下顺序存储。
    • 顶架(苏打水)
    • 中层(果汁)
    • 底架(水)

    8.png

    9.png
    在左边我们有一个有效的图像,右侧我们有一个无效的图像




    这个问题的潜在技术解决方案
    Microsoft提供了一系列可用于解决计算机视觉任务的人工智能服务,每个解决方案都可以在Azure上运行。
    Azure Cognitive ServicesAzure DSVMAzure Machine Learning 每种技术和方法都有不同的优势和权衡,适合计算机视觉用例的范围。

    认知服务
    Azure Cognitive Services 是一套开箱即用的API和高级服务,可帮助您在不需要任何领域经验的情况下开始执行AI任务。
    10.png
    11.png

    Azure 数据科学虚拟机机器学习服务
    12.png
    数据科学虚拟机是在Azure上的虚拟机镜像。它已经安装和配置了许多流行的数据科学和深度学习工具。这些镜像带有流行的数据科学和机器学习工具,包括Microsoft R Server Developer Edition,Microsoft R Open,Anaconda Python,Julia,Jupyter notebooks,Visual Studio Code,RStudio,xgboost等等。您可以通过配置DSVM(数据科学虚拟机),而不是自行创建一个类似的工作区,从而节省大量的安装,配置和包管理过程。部署了DSVM后,就可以立即开始数据科学项目的工作。
    关于如何使用DSVM的详细信息,请参阅在Azure上使用Linux数据科学虚拟机的数据科学
    13.png

    Azure 机器学习服务使您能够更快地构建和训练机器学习模型,并轻松地部署到云。使用最新的开源技术,如TensorFlow,PyTorch或Jupyter。在本地进行实验,然后在云上使用支持GPU的大型集群快速扩展。通过自动化机器学习和超参数调整对数据科学进行加速。使用集成的CI/CD工具跟踪您的实验、管理模型并轻松部署。


    深度学习框架与Keras
    14.png
    通常,深度学习工程师不会手动实现矩阵代数运算。相反,他们使用PyTorch或TensorFlow等框架。Keras是一个用Python编写的开源神经网络库。它能够运行在TensorFlow,Microsoft Cognitive Toolkit或Theano之上。它旨在实现对深层神经网络的快速实验,着重于用户友好、模块化和可扩展性。--维基百科
    在以下系列中,我们将探讨其中一些技术和体系结构,以解决我们自己的复杂策略分类方案。

    系列目标
    在这个系列的最后,你应该
    • 了解人工智能计算机视觉前沿
    • 能够构建部署自定义的视觉服务模型
    • 利用Keras和迁移学习构建CNN图像识别模型
    • 使用vott和fasterrcnn对复杂分类场景的目标检测模型进行注释和训练
    • 使用Azure ML Service和ACI在云上训练和部署自定义的计算机视觉模型



    资源





    关于作者
    Aaron(Ari)Bornstein是一位狂热的人工智能爱好者,对历史充满热情,致力于新技术和计算医学。作为微软云开发者倡导团队的开源工程师,他与以色列高科技社区合作,通过改变游戏规则的技术解决现实世界的问题,然后将其记录下来,开源并与世界其他地方共享。

    翻译 chesc
    来源 AI研习社

    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-20 07:14 , Processed in 0.117878 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.