【大厂AI课学习笔记NO.53】2.3深度学习开发任务实例(6)数据采集

这个系列写了53期了,很多朋友收藏,看来还是觉得有用。

后续我会把相关的内容,再次整理,做成一个人工智能专辑。

今天学习到了数据采集的环节。

这里有个问题,数据准备包括什么,还记得吗?

数据准备包括了数据采集、数据清洗、数据标注、数据验收、数据交付5个核心过程。

这里要区分数据标注和特征工程中的打标签。

根据确认的需求,采集对应的图片,图片采集需要注意:

  • 使用真实的玩具车进行数据采集
  • 覆盖不同场景
  • 涵盖所有可能的光照情况
  • 涵盖所有可能的交通标志,推动了一大类 非线性映射函数学习问题 的解决

采集数量:根据任务要求不同略有差异,玩具车场景任务较为简单,总计采集1万张图片。

采集方式:让小车在不同场景形式,使用摄像头录制视频,然后将每帧导出为jpg格式图片。

 

这里有一些特定的工具,来进行视频图像的采集。

延伸学习:


  • 图像采集
    • 使用玩具车上的摄像头录制视频。
    • 将视频分解为图像帧,以便进一步处理。
  • 图像预处理
    • 调整图像大小、裁剪、旋转等,使其适合输入到神经网络中。
    • 归一化图像,通常是将像素值缩放到0-1之间。
    • 可能还需要进行图像增强,如亮度调整、对比度增强、噪声减少等。
  • 数据标注
    • 对于监督学习,你需要标注数据集。这意味着你需要手动或通过半自动工具为图像中的交通标志牌打上标签。
    • 开源工具如LabelImg或CVAT可用于图像标注。
  • 模型训练
    • 选择一个深度学习框架,如TensorFlow、PyTorch等。
    • 构建或选择一个预训练的卷积神经网络(CNN)模型来进行图像分类或目标检测。
    • 使用标注的数据集来训练模型。
    • 调整模型参数(超参数调优)以优化性能。
  • 模型评估与优化
    • 使用验证集评估模型的性能,查看准确率、召回率等指标。
    • 根据评估结果进行模型优化,如调整网络结构、增加数据等。
  • 部署与测试
    • 将训练好的模型部署到玩具车上,这可能需要将模型转换为适合嵌入式设备或边缘计算的格式。
    • 在实际环境中测试模型的表现,确保它能够准确地识别交通标志牌。
  • 实时视频处理
    • 使用OpenCV等库实时捕获和处理视频流。
    • 将每一帧图像输入到部署好的模型中进行预测。
    • 根据预测结果做出相应的动作或决策。

开源工具方面,除了之前提到的标注工具外,还有以下一些建议:

  • 深度学习框架:TensorFlow、PyTorch、Keras等。
  • 图像处理库:OpenCV、PIL等。
  • 模型转换工具:如TensorRT、OpenVINO等,用于将模型转换为适合部署的格式。
  • 边缘计算平台:如NVIDIA Jetson系列,适用于在嵌入式设备上运行深度学习模型。

关键技术包括卷积神经网络(CNN)的设计与训练、目标检测算法(如YOLO、SSD等)、图像预处理与增强技术、模型压缩与优化技术(如量化、剪枝等)以及实时视频处理技术。这些技术的具体实现会根据你的需求和硬件条件而有所不同。

摄像头选择:

  1. 分辨率:选择至少VGA(640x480像素)或更高分辨率的摄像头。更高的分辨率通常意味着更清晰的图像,有助于提高识别准确性。

  2. 帧率:至少30帧每秒(FPS)的帧率是比较理想的,这样可以捕捉到流畅的视频,并有助于实时处理。

  3. 焦距和视场角:根据玩具小车的大小和行驶速度,选择合适的焦距和视场角(FOV)。宽视场角有助于捕捉更多的环境信息,但可能会牺牲图像的清晰度。

  4. 接口类型:选择适合你的处理设备的接口类型,比如USB或MIPI CSI。

  5. 尺寸和重量:确保摄像头足够小巧轻便,以便安装在玩具小车上而不会对其性能造成太大影响。

处理器和边缘计算设备:

是的,你需要一个处理器或边缘计算设备来运行你的深度学习模型并处理摄像头捕捉到的图像。以下是一些可能的选项:

  1. 微控制器/单片机:对于一些基本的图像处理和简单的机器学习模型,像Arduino或ESP32这样的微控制器可能就足够了。但它们可能不适合运行复杂的深度学习模型。

  2. 单板计算机:像Raspberry Pi或NVIDIA Jetson Nano这样的单板计算机更适合运行深度学习模型。它们有足够的处理能力来处理视频流,并且有足够的内存来存储和加载模型。

  3. 边缘计算设备:NVIDIA Jetson系列(如Jetson Nano、Jetson TX2/TX2i、Jetson AGX Xavier)是专为机器学习和人工智能应用设计的边缘计算设备。它们具有强大的GPU,可以加速深度学习推理,并且尺寸小巧,适合安装在玩具小车上。

集成到玩具小车上:

  1. 物理安装:确保摄像头和处理设备可以稳固地安装在玩具小车上,并且摄像头的视角能够清晰地捕捉到交通标志。

  2. 电源管理:你需要一个合适的电源解决方案来为摄像头和处理设备供电。这可能包括电池、电压转换器等。

  3. 数据传输:确保摄像头和处理设备之间的数据传输是稳定和高效的。这可能涉及到选择合适的接口和线缆。

  4. 实时性能优化:对于实时应用,你可能需要优化你的深度学习模型和图像处理流程,以确保它们可以在你的处理设备上实时运行而不会造成太大的延迟。

总之,选择合适的摄像头和处理设备是实现玩具小车识别交通标志的关键步骤。根据你的需求和预算,你可以从上述建议中选择适合你的组件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/712003.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ZStack Cube超融合入选IDC《中国超融合基础架构市场评估》报告

近日,IDC发布了《中国超融合基础架构市场评估,2023》。IDC针对中国超融合基础架构市场的发展现状展开了调研,明确了最终用户构建融合型云平台的痛点和难点,阐述了市场中各技术服务提供商的服务方案和优势,并对未来中国…

vue3+ts+vite数据大屏自适应总结(两种方法)

总结一下我常用的数据大屏自适应方法 目录 1、通过css缩放方案: 利用transform:scale 进行适配2、采用rem布局, 根据屏幕分辨率大小不同,调整根元素html的font-size, 从而达到每个元素宽高自动变化,适配不…

接口测试实战--mock测试、日志模块

一、mock测试 在前后端分离项目中,当后端工程师还没有完成接口开发的时候,前端开发工程师利用Mock技术,自己用mock技术先调用一个虚拟的接口,模拟接口返回的数据,来完成前端页面的开发。 接口测试和前端开发有一个共同点,就是都需要用到后端工程师提供的接口。所以,当…

Redis速学

一、介绍Redis 基本概念和特点 Redis是一个开源的内存数据库,它主要用于数据缓存和持久化。其数据存储在内存中,这使得它具有非常快的读写速度。Redis支持多种数据结构,包括字符串、哈希、列表、集合和有序集合,这使得它非常灵活…

书生·浦语大模型图文对话Demo搭建

前言 本节我们先来搭建几个Demo来感受一下书生浦语大模型 InternLM-Chat-7B 智能对话 Demo 我们将使用 InternStudio 中的 A100(1/4) 机器和 InternLM-Chat-7B 模型部署一个智能对话 Demo 环境准备 在 InternStudio 平台中选择 A100(1/4) 的配置,如下图所示镜像…

微店商品详情 API 支持哪些商品信息的获取?

微店(Weidian)并没有一个公开的、官方维护的API文档来供开发者使用。这意味着,如果你想要获取微店商品详情或其他相关信息,你通常需要通过微店官方提供的方式来实现,例如使用其开放平台、官方SDK或联系微店的技术支持获…

Spring常见面试题知识点总结(三)

7. Spring MVC: MVC架构的概念。 MVC(Model-View-Controller)是一种软件设计模式,旨在将应用程序分为三个主要组成部分,以实现更好的代码组织、可维护性和可扩展性。每个组件有着不同的职责,相互之间解耦…

11.Prometheus常见PromeQL表达式

平凡也就两个字: 懒和惰; 成功也就两个字: 苦和勤; 优秀也就两个字: 你和我。 跟着我从0学习JAVA、spring全家桶和linux运维等知识,带你从懵懂少年走向人生巅峰,迎娶白富美! 关注微信公众号【 IT特靠谱 】,每天都会分享技术心得~ …

YOLO算法

YOLO介绍 YOLO,全称为You Only Look Once: Unified, Real-Time Object Detection,是一种实时目标检测算法。目标检测是计算机视觉领域的一个重要任务,它不仅需要识别图像中的物体类别,还需要确定它们的位置。与分类任务只关注对…

【矩阵】【方向】【素数】3044 出现频率最高的素数

作者推荐 动态规划的时间复杂度优化 本文涉及知识点 素数 矩阵 方向 LeetCode 3044 出现频率最高的素数 给你一个大小为 m x n 、下标从 0 开始的二维矩阵 mat 。在每个单元格,你可以按以下方式生成数字: 最多有 8 条路径可以选择:东&am…

安装 Ubuntu 22.04.3 和 docker

文章目录 一、安装 Ubuntu 22.04.31. 简介2. 下载地址3. 系统安装4. 系统配置 二、安装 Docker1. 安装 docker2. 安装 docker compose3. 配置 docker 一、安装 Ubuntu 22.04.3 1. 简介 Ubuntu 22.04.3 是Linux操作系统的一个版本。LTS 版本支持周期到2032年。 系统要求双核 C…

C++的模板template

一、什么是模板 C中的模板分为类模板和函数模板,并不是一个实际的类或函数,这指的是编译器不会自动为其生成具体的可执行代码。只有在具体执行时,编译器才帮助其实例化。 二、为什么引入模板 拿我们最常见的交换函数来举例子,如果…

代码随想录 二叉树第二周

目录 101.对称二叉树 100.相同的树 572.另一棵树的子树 104.二叉树的最大深度 559.N叉树的最大深度 111.二叉树的最小深度 222.完全二叉树的节点个数 110.平衡二叉树 257.二叉树的所有路径 101.对称二叉树 101. 对称二叉树 已解答 简单 相关标签 相关企业 给你一…

《求生之路2》服务器如何选择合适的内存和CPU核心数,以避免丢包和延迟高?

根据求生之路2服务器的实际案例分析选择合适的内存和CPU核心数以避免丢包和延迟高的问题,首先需要考虑游戏的类型和对服务器配置的具体要求。《求生之路2》作为一款多人在线射击游戏,其服务器和网络优化对于玩家体验至关重要。 首先,考虑到游…

Java应用程序注册成Linux系统服务后,关闭Java应用程序打印系统日志

Java应用程序有自己的日志框架,有指定位置的日志文件,不需要在系统日志里记录,占用磁盘空间。 1.Linux系统文件目录 /etc/systemd/system/ 找到要修改的Java应用程序服务配置 比如bis-wz-80.service 2.设置不打印日志 StandardOutputnull S…

centos7 搭建 harbor 私有仓库

一、下载安装 1.1、harbor 可以直接从 github 上下载:Releases goharbor/harbor GitHub 这里选择 v2.10.0 的版本 wget https://github.com/goharbor/harbor/releases/download/v2.10.0/harbor-offline-installer-v2.10.0.tgz 1.2、解压 tar zxvf harbor-offlin…

L2 网络 Mint Blockchain 正式对外发布测试网

Mint Blockchain 是由 NFTScan Labs 发起的聚焦在 NFT 生态的 L2 网络,致力于促进 NFT 资产协议标准的创新和 NFT 在现实商业应用场景中的大规模采用。 Mint Blockchain 于 2024 年 2 月 28 号正式对外发布测试网,开始全面进入生态开发者测试开发阶段。 …

2403C++,C++11玩转无栈协程

原文 C11里也能玩无栈协程了? 答案是:可以! 事实上异网在很早时,C11里就可用无栈协程写异步代码了,只不过用起来不太方便,来看看C11里怎么用异网无栈协程写一个回音服务器的吧. #包含 <异网.h> #包含 <内存> #包含 <向量> #包含 <异网/产生.h> 用 …

c++异常机制(5)-- 继承与异常

我们在c异常机制(3)中自定义类型&#xff0c;我们将相应的异常封装成了类&#xff0c;在类中实现一些方法&#xff0c;对异常进行处理。其中每一个类都实现了print()方法。 我们使用throw抛出相应异常的虚拟对象&#xff0c;在catch参数中进行匹配&#xff0c;但是如果有很多异…

Springboot项目集成短信验证码(超简单)

操作流程 注册验证码平台创建验证码模版开始集成&#xff08;无需引入第三方库&#xff09; 注册并登陆中昱维信验证码平台 获取AppID和AppKey。 创建验证码模版 创建验证码模版&#xff0c;获取验证码模版id 开始集成 创建controller import org.springframework.web.bi…