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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux之ACL权限chmod命令

一. chmod命令 chmod命令来自英文词组change mode的缩写,其功能是改变文件或目录权限的命令。默认只有文件的所有者和管理员可以设置文件权限,普通用户只能管理自己文件的权限属性。 设置权限时可以使用数字法,亦可使用字母表达式&#xff0…

2.5G/5G/10G高速率网络变压器(网络隔离变压器)产品介绍(1)

Hqst华轩盛(石门盈盛)电子导读:高速率/2.5G 的带POE插件(DIP)款千兆双口网络变压器2G54801DP特点 一 ﹑2.5G高速率网络变压器(网络隔离变压器):2G54801DP外观与尺寸 2G54801DP这颗产品尺寸为:长…

Vue.js+SpringBoot开发超市商品管理系统

目录 一、摘要1.1 简介1.2 项目录屏 二、研究内容2.1 数据中心模块2.2 超市区域模块2.3 超市货架模块2.4 商品类型模块2.5 商品档案模块 三、系统设计3.1 用例图3.2 时序图3.3 类图3.4 E-R图 四、系统实现4.1 登录4.2 注册4.3 主页4.4 超市区域管理4.5 超市货架管理4.6 商品类型…

C语言——结构体——(第21篇)

坚持就是胜利 文章目录 一、结构体类型的声明1、结构的基础知识2、结构的声明3、结构成员的类型 二、结构体变量的定义和初始化结构体中包含结构体 三、结构体成员访问问题一:t.name "张三",对吗?问题二:set_Stu(s);应…

【深度学习目标检测】十九、基于深度学习的芒果计数分割系统-含数据集、GUI和源码(python,yolov8)

使用深度学习算法检测芒果具有显著的优势和应用价值。以下是几个主要原因: 特征学习的能力:深度学习,特别是卷积神经网络(CNN),能够从大量的芒果图像中自动学习和提取特征。这些特征可能是传统方法难以手动…

数学建模资料分享

1. 往年各赛题的优秀论文 可以用来参考一下论文是怎么写的。参考论文的结构,格式,思路等等。 链接:https://pan.baidu.com/s/1WG2t4-x9MjtaSgkq4ue5AQ?pwdnlzx 提取码:nlzx --来自百度网盘超级会员V4的分享 2.论文模板 链接&a…

操作系统访问控制机制

使用访问控制技术,可以设置用户对系统资源的访问权限,即限定用户只能访问允许访问的资源。访问控制还可以通过设置文件的属性,来保护文件只能被读而不能被修改,或只允许核准的用户对其进行修改等。 1.1 保护域 把一个进程能对某…

记录一次xpclr检测中报错(“No permission to write in the specified directory: {0}“)

这里写自定义目录标题 报错修正思路:将 -O参数修改成为相对目录加文件名称格式。 报错 看到这个问题,一头雾水,没有写入权限。结果是程序问题。 修正思路:将 -O’参数修改成为相对目录加文件名称格式。 代码:

软件实例,物流货运配货单打印模板软件单据打印查询管理系统软件教程,可以同时打印标签或补打

软件实例,物流货运配货单打印模板软件单据打印查询管理系统软件教程,可以同时打印标签或补打 一、前言 以下软件教程以 佳易王物流单打印查询系统V17.1为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 这个版本在原来基…

linux之JAVA环境配置Tomcat离线安装与启动

文章目录 一、jdk安装具体步骤二、tomcat安装具体步骤三、MySql具体步骤修改密码登录 四、部署单价项目具体步骤 一、jdk安装具体步骤 1、查询是否有jdk java -version 2、进入opt目录 cd /opt 3.连接服务器工具 进入opt目录,把压缩文件上传 4.等待传好之后&am…

二分算法(c++版)

二分的本质是什么? 很多人会认为单调性是二分的本质,但其实其本质并非单调性,只是说,有单调性的可以进行二分,但是有些题目没有单调性我们也可以进行二分。其本质其实是一个边界问题,给定一个条件&#xf…

【flutter】环境安装

安装flutter sdk 下载sdk flutter sdk就包含dart,所以我们只用安装flutter sdk就可以了。 我们去清华大学开源软件镜像站下载,flutter开发中,版本对不上基本项目就跑步起来,如果是团队协同开发的话,建议统一下载指定版…

【踩坑】PyTorch中指定GPU不生效和GPU编号不一致问题

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 指定GPU不生效问题 解释:就是使用os.environ["CUDA_VISIBLE_DEVICES"] "1"后,后面使用起来仍然是cuda0. 解决:在最开头就使用 import os os.environ[&…

python-mysql协程并发常用操作封装

目录 前言封装代码测试代码参考 前言 协程异步操作MYSQL是常用的,博主这里在GitHub上找了两个包,databases和aiomysql,第一个包除了mysql外还支持其他的数据库,且操作MYSQL时底层也是使用的aiomysql,但文档内容比较少…

【大数据】Flink 内存管理(三):TaskManager 内存分配(理论篇)

Flink 内存管理(三):TaskManager 内存分配 1.配置 Total Memory2.配置 Heap and Managed Memory2.1 Task (Operator) Heap Memory2.2 Managed Memory 3.配置 Off-Heap Memory(Direct or Native)4.详细内存模型5.Framew…

YOLO系列论文阅读(v1--v3)

搞目标检测,绕不开的一个框架就是yolo,而且更糟糕的是,随着yolo的发展迭代,yolo网络可以做的事越来越多,语义分割,关键点检测,3D目标检测。。。这几天决定把YOLO系列彻底梳理一下,在…

C++的STL常用算法->常用遍历算法、常用查找算法、常用排序算法、常用拷贝和替换算法、常用算术生成算法、常用集合算法

#include<iostream> using namespace std; #include <algorithm> #include <vector> //常用遍历算法 for_each //普通函数 void print01(int val) { cout << val << " "; } //仿函数 //函数对象 class print02 { public: v…

Wireshark TS | Linux 系统对时问题

问题描述 节前业务运维同事提交了一个 case &#xff0c;说是部署在新业务区域的 Linux 服务器和老业务区域的 Linux 服务器无法对时&#xff0c;脚本里使用的是 clockdiff 命令&#xff0c;无法正常返回结果&#xff0c;而在老业务区域两台服务器之间执行命令就正常&#xff…

Java基于微信小程序的校园二手物品交易系统,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

公厕智慧化_智慧化的公厕

公厕智慧化是现代城市建设中的重要一环。通过信息化、数字化和智慧化技术手段&#xff0c;实现对公共厕所的高效管理和服务&#xff0c;不仅提升了城市环境质量&#xff0c;还改善了居民生活品质。智慧公厕的智慧化包括监测、管理、服务和设备的智慧化&#xff0c;利用先进科技…