• [问题求助] mdc300f - Camera目标检测应用开发没有demo数据
    用mdc在做目标识别算法的时候,发现没有实验指导手册中提及的camera_mini0_11.zip数据,哪位大神有,或者这个数据到底是什么数据,要怎么自己生成呢
  • [问题求助] yolov5成功安装算法App,但检测不出来结果,有没有一个嵌入成功并且可检测的模型,需要排查一下问题。
     什么报错的信息都没有,就是检测框不出来。
  • [课程学习] 【华为云AI实战】【ModelArts零代码】基于华为云ModelArts实现小白版目标检测
    基于华为云ModelArts实现零代码版目标检测【摘要】在基于ModelArts中实现零代码目标检测技术 在这篇学习博客中,我将分享我何使用华为云的ModelArts平台,实现零代码的目标检测技术,文章的最后会分享数据集,大家可以自由尝试。ModelArts是一个面向开发者的一站式AI开发平台,提供了数据处理、模型训练、模型管理和模型部署等全流程的支持。我使用了ModerArts中内置的模型,创建了一个目标检测项目,通过简单的数据标注即可完成模型的训练与部署。什么是ModelArtsModelArts是面向AI开发者的一站式开发平台,提供海量数据预处理及半自动化标注、大规模分布式训练、自动化模型生成及端-边-云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期AI工作流。ModelArts的理念就是让AI开发变得更简单、更方便。面向不同经验的AI开发者,提供便捷易用的使用流程。例如,面向业务开发者,不需关注模型或编码,可使用自动学习流程快速构建AI应用;面向AI初学者,不需关注模型开发,使用预置算法构建AI应用;面向AI工程师,提供多种开发环境,多种操作流程和模式,方便开发者编码扩展,快速构建模型及应用。实验流程基于ModelArts实现目标物体检测模型训练和部署。本实验要检测的目标是云宝,来快速熟悉ModelArts自动学习的使用过程。大致流程可分为:创建OBS,准备数据集通过预置的图像数据集,自动训练并生成检测模型将生成的模型部署为在线服务部署完成后,用通过在线服务识别输入图片检测训练成果准备密钥登录华为云官方网站,击页面的“控制台”切换至控制台界面,在账号名称的下拉菜单中点击“我的凭证”,进入创建管理访问密钥(AK/SK)的界面。如图: 什么是访问密钥: 访问密钥即AK/SK(Access Key ID/Secret Access Key),是通过开发工具(API、CLI、SDK)访问华为云时的身份凭证,不能登录控制台。系统通过AK识别访问用户的身份,通过SK进行签名验证,通过加密签名验证可以确保请求的机密性、完整性和请求者身份的正确性。+选择“访问密钥”,点击“新增访问密钥”。在这里需要通过安全验证,通过验证之后就会自动生成密钥,并获得一个csv文件,妥善保存。创建OBS桶和目录进入方式,控制台->服务列表->存储->对象存储服务,页面右上角点击“创建桶”按钮进入创建页面。 什么是OBS: 对象存储服务(Object Storage Service,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力,包括:创建、修改、删除桶,上传、下载、删除对象等。这是我创建的参数: OBS创建文件夹点击刚创建的桶名称,进入详情页左侧栏选择“对象”,点击“新建文件夹”,在弹出的新建窗口中:文件夹名称:自定义(此名称会在后续步骤中使用)授权服务由于创建自动学习项目需要使用数据管理功能,在开始使用前,需为数据管理模块获取访问OBS权限。在ModelArts管理控制台,进入数据管理->数据集页面,单击“服务授权”,由具备授权的账号“同意授权”后,即可正常使用。准备数据ModelArts在公共OBS桶中提供了云宝的示例数据集,命名为“Yunbao-Data-Custom”,因此,本文的操作示例使用此数据集进行模型构建。关于数据集的下载,可以在华为云搜索栏,搜索Yunbao-Data-Custom。在本地,将“Yunbao-Data-Custom.zip”压缩包解压。按照之前的步骤进入对象存储服务OBS,点击创建好的桶,进入对象页面,点击创建好的文件夹,选择“上传对象”,即可。 点击上传即可完成本地到云端的数据上传:创建物体检测项目进入ModelArts管理控制台主页,单击左侧导航栏“自动学习”添加步骤1保存的访问密钥文件中的密钥:在“物体检测”方框中单击“创建项目” 在“创建物体检测项目”页面中,填写“项目名称”、“数据集名称”->选择“数据集输入位置”云宝数据集OBS路径为“/object-detection-test/dataset-yun/train/”“数据集输出位置”选择一个空目录如“/object-detection-test/dataset-yun/output/”添加标签集为“yunbao”数据标注数据标注:针对物体检测项目,即在已有数据集图像中,标注出物体位置,并为其打上标签。 标注好的数据用于模型训练。云宝数据集中,已标注部分数据,还有部分数据未标注,我们需要选择未标注数据进行手动标注。 自动学习项目创建时,会自动执行数据源同步操作。由于数据源同步需要一定时间,如果出现同步失败,可单击“同步数据源”手动执行。在 自动学习->数据标注 页面单击“未标注”按钮,此页面展示了所有未标注的图片数据。单击任意一张图片,即可进入图片标注界面。用鼠标框选图片中的云宝所在区域,然后在弹出的对话框中输入标签名称,例如此图片中的“yunbao”,按回车键完成此图片的添加。 标注完成后,左侧图片目录中此图片的状态将显示为“已标注”。自动训练,生成模型建议将图片数据集全部标注,以得到一个比较好的模型。标注完数据之后,便可以进入workflow流中开始工作首先是数据集版本发布,后是数据校验,同时可以查看后台的工作记录,跟进工作流的进度,之后就可以开始训练模型了。点击开始训练,设置训练参数。 单击“确定”开始模型的自动训练。深度学习训练时间相对较长,建议耐心等待。如果关闭或退出此页面,系统仍然在执行训练操作。 训练完成后,我们就可以在界面中查看训练详情,如 “准确率”“评估结果”“训练参数”“分类统计表”等。结果测试模型训练完成之后,点击页面中的“部署”按钮,在弹出的部署设置对话框中,选择“计算节点规格”,设置“自动停止”功能,单击“确定”开始将物体检测模型部署上线为在线服务。如果选择免费规格,则不需要设置“自动停止”功能,1小时之后自动停止。启动部署上线后,系统自动跳转至部署上线页面。此页面将呈现模型部署上线的进度和状态。部署上线将耗费较多时间,还需耐心等待。模型部署完成后,我们就可以添加图片进行检测,在“部署上线”界面,选择状态为“运行中”的服务版本,在“服务测试”区域单击“上传”检测图片进行检测。 资源释放至此实验全部完成。 最后,使用的云端资源记得全部删除如对象存储服务创建的桶,文件夹,创建的数据集,部署的模型等都需要删除,并停用访问密钥,以免造成不必要的花费。实验总结在这篇博客中,我详细介绍了如何使用华为云ModelArts实现目标检测的demo,并部署上线服务的过程。通过这次实践,我深刻地体会到了ModelArts的强大和便捷。在我们提供了一个一站式的AI通用流程框架,让我们可以零代码实现AI项目的训练部署,给AI初学者或者其他行业人员提供了一个通用的零代码工具。
  • [优秀实践] 基于Modelart的YOLOv3物体检测实践
    物体检测YOLOv3实践原理:ModelArts是面向AI开发者的一站式开发平台,支持自动学习的功能,还预置了多种已训练好的模型,ModelArts相对而言降低了AI应用的门槛,是一个高灵活、零代码的定制化模型开发工具,平台根据标注数据自动设计模型、自动调参、自动训练、自动压缩和部署模型。本次实验使用自动学习中的物体检测功能,用于识别图片中车的数量和位置。物体检测是计算机视觉中的一个重要的研究领域,在人流检测,行人跟踪,自动驾驶,医学影像等领域有着广泛的应用。不同于简单的图像分类,物体检测旨在对图像中的目标进行精确识别,包括物体的位置和分类,因此能够应用于更多高层视觉处理的场景。例如在自动驾驶领域,需要辨识摄像头拍摄的图像中的车辆、行人、交通指示牌及其位置,以便进一步根据这些数据决定驾驶策略。本期学习案例,我们将聚焦于YOLO算法,YOLO(You Only Look Once)是一种one-stage物体检测算法。1.数据和代码下载运行下面代码,进行数据和代码的下载和解压本案例使用coco数据,共80个类别。2.准备数据2.1文件路径定义2.2读取标注数据2.3数据读取函数,构建数据生成器。每次读取一个批次的数据至内存训练,并做数据增强。3.模型训练本案例使用Keras深度学习框架搭建YOLOv3神经网络。可以进入相应的文件夹路径查看源码实现。3.1构建神经网络可以在./yolo3/model.py文件中查看细节训练回调函数定义3.2开始训练3.3保存模型4.模型测试4.1打开一张测试图片4.2图片预处理4.3构建模型4.4加载模型权重,或将模型路径替换成上一步训练得出的模型路径4.5定义IOU以及score:IOU: 将交并比大于IOU的边界框作为冗余框去除score:将预测分数大于score的边界框筛选出来4.6构建输出[boxes, scores, classes]4.7进行预测成功预测出图片中含有的内容(人物,雨伞)注意事项:本案例使用框架: TensorFlow-1.13.1本案例使用硬件规格: GPU V100
  • [问题求助] mindx sdk如何实现存储视频流的某一帧?
    我在基于【SDK案例系列 10】基于 Live555 + MindX SDK + Pytorch YoLoV5的视频检测 https://blog.csdn.net/hiascend/article/details/128588487?spm=1001.2014.3001.5502修改了pipeline同时拿到序列化数据以及检测的视频,但是我想获取某一帧的图片该如何实现?pipeline如下:{     "classification": {         "stream_config": {             "deviceId": "0"         },         "mxpi_rtspsrc0": {             "factory": "mxpi_rtspsrc",             "props": {                 "rtspUrl": "rtsp://127.0.0.1:8554/zhanyong",                 "channelId": "0"             },             "next": "mxpi_videodecoder0"         },         "mxpi_videodecoder0": {             "factory": "mxpi_videodecoder",             "props": {                 "inputVideoFormat": "H264",                 "outputImageFormat": "YUV420SP_NV12",                 "vdecChannelId": "0"             },             "next": "tee0"         },         "tee0": {             "factory": "tee",             "next": [                 "queue1",                 "queue2"             ]         },         "queue1": {             "props": {                 "max-size-buffers": "100"             },             "factory": "queue",             "next": "mxpi_imageresize0"         },         "queue2": {             "props": {                 "max-size-buffers": "100"             },             "factory": "queue",             "next": "mxpi_opencvosd_plugin:0"         },         "mxpi_imageresize0": {             "props": {                 "dataSource": "mxpi_videodecoder0",                 "resizeHeight": "640",                 "resizeWidth": "640",                 "resizeType": "Resizer_KeepAspectRatio_Fit"             },             "factory": "mxpi_imageresize",             "next": "queue3"         },         "queue3": {             "props": {                 "max-size-buffers": "100"             },             "factory": "queue",             "next": "mxpi_modelinfer0"         },         "mxpi_modelinfer0": {             "props": {                 "dataSource": "mxpi_imageresize0",                 "modelPath": "data/models/yolov5/yolov5l.om",                 "postProcessConfigPath": "data/models/yolov5/yolov5.cfg",                 "labelPath": "data/models/yolov5/coco2014.names",                 "postProcessLibPath": "libMpYOLOv5PostProcessor.so"             },             "factory": "mxpi_modelinfer",             "next": "queue4"         },         "queue4": {             "props": {                 "max-size-buffers": "100"             },             "factory": "queue",             "next": "tee1"         },          "tee1": {             "factory": "tee",             "next": ["mxpi_dataserialize0","mxpi_object2osdinstances0"]         },          "mxpi_dataserialize0": {       "props": {         "outputDataKeys": "mxpi_modelinfer0"       },       "factory": "mxpi_dataserialize",       "next": "appsink1"     },         "mxpi_object2osdinstances0": {             "props": {                 "dataSource": "mxpi_modelinfer0",                 "colorMap":"100,100,100|200,200,200|0,128,255|255,128,0",                 "fontFace":"16",                 "fontScale":"0.5",                 "fontThickness":"2",                 "fontLineType":"16",                 "rectThickness":"2",                 "rectLineType":"16"             },             "factory":"mxpi_object2osdinstances",             "next": "queue5"         },         "queue5": {             "props": {                 "max-size-buffers": "100"             },             "factory": "queue",             "next": "mxpi_opencvosd_plugin:1"         },         "mxpi_opencvosd_plugin":{             "factory":"mxpi_opencvosd",             "next":"queue6"         },         "queue6": {             "props": {                 "max-size-buffers": "100"             },             "factory": "queue",             "next": "mxpi_videoencoder0"         },         "mxpi_videoencoder0": {             "props": {                 "imageHeight": "1080",                 "imageWidth": "1920",                 "inputFormat": "YUV420SP_NV12",                 "outputFormat": "H264",                 "fps": "1",                 "maxBitRate":"20000",                 "iFrameInterval": "50"             },             "factory": "mxpi_videoencoder",             "next": "queue7"         },         "queue7": {             "props": {                 "max-size-buffers": "100"             },             "factory": "queue",             "next": "appsink0"         },         "appsink0": {             "factory": "appsink"         },            "appsink1": {             "factory": "appsink"         }     } }这种方式存储的图片显示格式有问题,请问有大佬帮忙解决吗
  • [问题求助] Atlas200 ,YOLOv3转YOLOV7后,PCIe发送数据异常
    Atlas200 RC+xinilx FPGA,通过PCIe进行数据交互,采用YOLOv3,功能都正常。最近换成YOLOv7算法,PCIe传输720P图像正常,传输1080P图像,运行一段时间,约10分钟左右,Atlas200读取PCIe正常,驱动写入DMA正常。但FPGA端不能读取数据。arready信号一直为低。并且发现换成YOLOv7后,Atlas200向FPGA传输数据变慢,无法正常传输1080P@30的图像数据。CANN版本:Ascend-cann-amct_5.0.4_linux-aarch64.tar.gz