摘要:在计算机视觉领域,CANN最新开源的通用目标检测与识别样例,通过其强大的可定制、可扩展性,为AI开发者们提供了良好编程选择。

本文分享自华为云社区《摆平各类目标检测识别AI应用,有它就够了!》,作者:昇腾CANN。

很难想象突然有一天,开门不能刷指纹了、超速抓拍不到了、不认识的花草也扫不出来了,我们的生活会不会比被疫情截胡在家还要痛苦?可能满世界都是——出门找不到钥匙的健忘症患者、放飞自我一路高歌的马路杀手、被十万个为什么熊孩子问到怀疑人生的家长…

强大的社会粘性不断催温数字化发展,目标检测与识别作为计算机视觉领域的一项关键技术,应用场景越发广泛,不断从城市治理、楼宇园区、互联网等领域,延伸至智能家居、金融、医疗影像等更多创新领域。随着这些技术潜移默化地渗透入人们的生活中,各行各业竞相通过引入目标检测和识别等人工智能新技术打开市场空间,关于目标检测和识别等各类人工智能需求奔涌而来。

但人工智能应用开发门槛高,周期长,各类AI软件栈理解成本高、各类AI算法模型与业务结合难度高、AI领域开发人员技能要求高,这是AI开发者们的切肤之痛,也是AI基础服务提供商们必须医好的症结。

昇腾AI是以昇腾AI基础软硬件平台为基础构建的人工智能计算产业,昇腾AI基础软硬件平台包括Atlas系列硬件及伙伴硬件、异构计算架构CANN(Compute Architecture for Neural Networks)、全场景AI框架昇思MindSpore、昇腾应用使能MindX等。作为昇腾AI的核心,异构计算架构CANN兼容多种底层硬件设备形态提供强大的异构计算能力,并且通过多层次编程接口,支持用户快速构建AI应用和业务。同时,还开源了各种AI应用源码(https://gitee.com/ascend/samples)供个人和企业开发者们免费使用。

在计算机视觉领域,昇腾CANN最新开源的通用目标检测与识别样例,通过其强大的可定制、可扩展性,为AI开发者们提供了良好编程选择。大量模块化编程逻辑、可扩展配置,让开发者们像乐高搭积木一样,仅需进行简单的替换和定制,就能实现符合业务场景需求的高性能、企业级AI应用。开源仓地址:https://gitee.com/ascend/samples/tree/master/cplusplus/level3_application/1_cv/detect_and_classify

该样例使用了YoloV3图片检测模型与CNN颜色分类模型,基于昇腾CANN AI应用编程接口,对数据预处理、模型推理、模型后处理等AI核心计算逻辑进行模块化组装,实现了车辆检测和车身颜色识别基础功能:

同时,该样例开放出多个编程定制点,并公开了系统的定制文档,详细介绍了样例代码结构、编译运行方法,以及如何基于现有样例代码进行功能定制和扩展,让不同程度的AI开发者们轻松上手。

1.支持多格式输入和输出

昇腾CANN通用目标检测和识别样例支持图片、离线视频、RTSP视频流等多输入格式,开发者可基于此样例实现对图片和视频等不同格式的目标进行识别。另外在结果展示方面,该样例支持图片、离线视频、Web前端等多形式展现,可根据业务场景灵活呈现识别结果。

2.支持轻松替换和串接模型

样例目前选用的是YoloV3图片检测模型与CNN颜色分类模型的串接,可实现基本的车辆检测和车辆颜色识别,开发者可轻松修改程序代码,自行替换/增加/删除AI模型,实现更多AI功能。

3.支持高效数据预处理

图片、视频等各类数据是进行目标检测和识别的原料,在把数据投入AI算法或模型前,我们需要对数据进行预加工,才能达到更加高效和准确的计算。该样例采用独立数据预处理模块,支持开发者按需定制,高效实现解码、抠图、缩放、色域转换等各种常见数据处理功能。

4.支持图片数、分辨率可变场景定制

在目标检测和识别领域,开发者们除了需要应对输入数据格式等方面差异,还会经常遇到图片数量、分辨率不确定的场景,这也是格外头疼的问题之一。比如,在目标检测和识别过程中,由于检测出的目标个数不固定,导致程序要等到图片攒到固定数量再进行AI计算,浪费了大量宝贵的AI计算资源。该样例开放了便捷的定制入口,支持设置多种数据量Batch档位、多种分辨率档位,在推理时根据实际输入情况灵活匹配,不仅扩宽了业务场景,更有效节省计算资源,大大提升AI计算效率。

5.支持多路多线程高性能编程

同时,为了进一步提高编程的灵活性,满足开发者实现高性能AI应用,该样例支持通过极为友好和便捷的方式调整线程数和设备路数,极大降低学习成本,提升设备资源利用率。

6.高效后处理计算

除此之外,本样例还将原本需要在CPU上进行处理的功能推送到昇腾AI处理器上执行,利用昇腾AI处理器强大的算力实现后处理的加速,进一步提升整个AI应用的计算效率。

昇腾CANN为AI开发者用户提供了越来越灵活的编程技术支持,让越来越多的开发者们寻求到了更加友好且高效的编程体验。让大学生创新人才更轻松地上手AI开发、开展创意实践,让企业开发者们更高效落地商业应用。

欢迎广大开发者朋友多多体验、参与技术分享、项目改进和项目落地,共建人工智能开发者生态。我们也提供了专属通道,希望听到您的声音,加入“昇腾畅作社”,成为昇腾官方签约技术专家、分享AI技术、畅享昇腾官方渠道流量宣传、树立个人影响力、赢取Swithc等丰厚奖品!更多活动详情戳此处快速了解!

道阻且长,未来可期,期待昇腾AI以向上之力,持续推动人工智能产业生态的建设和发展,构建万物AI的美好世界。

点击关注,第一时间了解华为云新鲜技术~

摆平各类目标检测识别AI应用,有它就够了!的更多相关文章

  1. 基于 python imageai 对象检测 目标检测 识别 视频

    1.视频连接如下: http://www.iqiyi.com/w_19s6vownit.html

  2. 目标检测之R-CNN系列

    Object Detection,在给定的图像中,找到目标图像的位置,并标注出来. 或者是,图像中有那些目标,目标的位置在那.这个目标,是限定在数据集中包含的目标种类,比如数据集中有两种目标:狗,猫. ...

  3. 带你了解CANN的目标检测与识别一站式方案

    摘要: 了解通用目标检测与识别一站式方案的功能与特性,还有实现流程,以及可定制点. 本文分享自华为云社区<玩转CANN目标检测与识别一站式方案>,作者: Tianyi_Li. 背景介绍 目 ...

  4. AI佳作解读系列(二)——目标检测AI算法集杂谈:R-CNN,faster R-CNN,yolo,SSD,yoloV2,yoloV3

    1 引言 深度学习目前已经应用到了各个领域,应用场景大体分为三类:物体识别,目标检测,自然语言处理.本文着重与分析目标检测领域的深度学习方法,对其中的经典模型框架进行深入分析. 目标检测可以理解为是物 ...

  5. AI佳作解读系列(五) - 目标检测二十年技术综述

    计算机视觉中的目标检测,因其在真实世界的大量应用需求,比如自动驾驶.视频监控.机器人视觉等,而被研究学者广泛关注.   上周四,arXiv新出一篇目标检测文献<Object Detection ...

  6. Google AI推出新的大规模目标检测挑战赛

    来源 | Towards Data Science 整理 | 磐石 就在几天前,Google AI在Kaggle上推出了一项名为Open Images Challenge的大规模目标检测竞赛.当今计算 ...

  7. DeepLearning.ai学习笔记(四)卷积神经网络 -- week3 目标检测

    一.目标定位 这一小节视频主要介绍了我们在实现目标定位时标签该如何定义. 上图左下角给出了损失函数的计算公式(这里使用的是平方差) 如图示,加入我们需要定位出图像中是否有pedestrian,car, ...

  8. 第十九节、基于传统图像处理的目标检测与识别(词袋模型BOW+SVM附代码)

    在上一节.我们已经介绍了使用HOG和SVM实现目标检测和识别,这一节我们将介绍使用词袋模型BOW和SVM实现目标检测和识别. 一 词袋介绍 词袋模型(Bag-Of-Word)的概念最初不是针对计算机视 ...

  9. 第十八节、基于传统图像处理的目标检测与识别(HOG+SVM附代码)

    其实在深度学习中我们已经介绍了目标检测和目标识别的概念.为了照顾一些没有学过深度学习的童鞋,这里我重新说明一次:目标检测是用来确定图像上某个区域是否有我们要识别的对象,目标识别是用来判断图片上这个对象 ...

  10. OpenCV 学习笔记 07 目标检测与识别

    目标检测与识别是计算机视觉中最常见的挑战之一.属于高级主题. 本章节将扩展目标检测的概念,首先探讨人脸识别技术,然后将该技术应用到显示生活中的各种目标检测. 1 目标检测与识别技术 为了与OpenCV ...

随机推荐

  1. 如何在 Vue.js 中引入原子设计?

    本文为翻译文章,原文链接: https://medium.com/@9haroon_dev/introducing-atomic-design-in-vue-js-a9e873637a3e 前言 原子 ...

  2. 探究-ping指令的使用

    简介: 背景:一直以来在项目上经常使用ping指令来测试网络通信,最近稍微研究了一下常用的指令,记录以作备忘.--MaQaQ 2023-11-1 ping (Packet Internet Grope ...

  3. 广度优先搜索— —提高Ⅲ(BFS优化)

    双向广搜 所谓双向广搜,就是初始结点向目标结点和目标结点向初始结点同时扩展,直至在两个扩展方向上出现同一个结点,搜索结束.它适用的问题是,扩展结点较多,而目标结点又处在深沉,如果采用单纯的广搜解题,搜 ...

  4. (Good topic)哈希表:拼写单词 (3.17 leetcode每日打卡)

    给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars. 假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌 ...

  5. Webpack.devServer 配置项如何使用?附devServer完整示例

    前言: 我们在平常本地开发时,可能经常需要与后端进行联调,或者调用一些api,但是由于浏览器跨域的限制.开发与生产环境的差异.http与https等问题经常让联调的过程不够顺畅.所以本文介绍一下web ...

  6. 期望最大化(EM)算法:从理论到实战全解析

    本文深入探讨了期望最大化(EM)算法的原理.数学基础和应用.通过详尽的定义和具体例子,文章阐释了EM算法在高斯混合模型(GMM)中的应用,并通过Python和PyTorch代码实现进行了实战演示. 关 ...

  7. 阿里云轻量服务器上编译安装docker trojan时报错 fatal error: Killed signal terminated program cc1plus compilation

    轻量服务器编译安装docker trojan时报错   72%时 通过以下操作解决,和编译其他软件类似,是内存不足引起的 编译安装swoole的时候报错 fatal error: Killed sig ...

  8. 畅捷通T+与道一云对接集成报销信息列表连通凭证创建

    畅捷通T+与道一云对接集成获取报销信息列表连通凭证创建 数据源系统:道一云 在道一云坚实的技术基础上,道一云推出全新升级的2.0产品矩阵,分别是低码平台.智能门户.场景应用.基于云原生底座,为企业提供 ...

  9. 【译】使用 GitHub Copilot 编写 Git 提交

    在花费数小时修复 bug 或更新特性之后,我们开发人员最不愿意做的事情往往是仔细说明 Git 提交的内容.最新的 Visual Studio 预览版可以帮到您.使用新的生成 Git 提交消息特性来帮助 ...

  10. localhost工具:本地代码的远程之路

    在日常的开发过程中,本地代码远程调试一直是最理想的开发状态.本文通过介绍京东集团内开发的一个轻量简单的小工具"localhost",从多角度的方案思考,到原理介绍,到最终的方案落地 ...