【大厂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://xiahunao.cn/news/2808460.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Unity使用的GC方式——贝姆GC(BOEHM GC)

Unity合作的Mono版本为Mono的早期版本,此时还没有使用SGen GC,后来Mono将默认GC方式改为SGen GC,Unity并没有继续购买,因此Unity使用的GC方式仍然是老的贝姆GC。 贝姆GC官方网页:https://www.hboehm.info/gc/index.htm…

15.4K Star,超强在线编辑器

Hi,骚年,我是大 G,公众号「GitHub指北」会推荐 GitHub 上有趣有用的项目,一分钟 get 一个优秀的开源项目,挖掘开源的价值,欢迎关注。 今天推荐一款非常棒的开源实时协作编辑器,可用于多人同时编…

SQLServer 格式化数据的方法

格式化数据一般考虑使用FORMAT 或者CONVERT ​​​​​​​函数,FORMAT 函数是在 SQL Server 2012 中引入的,如果你使用的是较早版本的 SQL Server,则可能需要考虑使用其他方法,如 CONVERT 函数。 在 SQL Server 中,FO…

【C++ QT项目5】——基于HTTP与JSON数据流的天气预报界面设计

【C QT项目5】——基于HTTP与JSON数据流的天气预报界面设计 一、项目概述二、UI设计与stylesheet样式表三、天气预报数据接口四、JSON数据4.1 概述4.2 QT生成JSON数据4.3 QT解析JSON数据4.4 将JSON数据解析到QMap中 五、软件开发网络通信架构5.1 BS架构/CS架构5.2 HTTP基本概念…

探索Java11新世界:JDK 11新特性详解

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

Python自定义logger模块(附Demo)

目录 1. 内置logger2. 自定义logger 1. 内置logger Python标准库中的logging模块提供了日志记录的功能 允许开发者通过创建日志记录器、处理程序和格式化器来控制日志的生成和输出 以下是logging模块的一些主要组件和概念: 日志记录器 (Logger):整个…

JavaScript中的内存泄漏

一、是什么 内存泄漏(Memory leak)是在计算机科学中,由于疏忽或错误造成程序未能释放已经不再使用的内存 并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失…

【前端素材】推荐优质医院后台管理系统I-Health平台模板(附源码)

一、需求分析 后台管理系统是一种用于管理和监控网站、应用程序或系统的在线工具。它通常是通过网页界面进行访问和操作,用于管理网站内容、用户权限、数据分析等。后台管理系统是网站或应用程序的控制中心,管理员可以通过后台系统进行各种管理和配置操…

基于自适应波束成形算法的matlab性能仿真,对比SG和RLS两种方法

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于自适应波束成形算法的matlab性能仿真,对比SG和RLS两种方法. 2.测试软件版本以及运行结果展示 MATLAB2022a版本运行 3.核心程序 ........................…

深度学习基础(一)神经网络基本原理

之前的章节我们初步介绍了机器学习相关基础知识,目录如下: 机器学习基础(一)理解机器学习的本质-CSDN博客 机器学习基础(二)监督与非监督学习-CSDN博客 机器学习基础(四)非监督学…

智慧校园的未来已来!AI与数字孪生领航教育新时代

随着科技的飞速发展,人工智能(AI)和数字孪生技术正逐渐渗透到我们生活的方方面面,而在教育领域,它们的结合更是催生出一种全新的智慧校园模式。这种模式的出现,不仅预示着教育管理方式的彻底变革&#xff0…

Linux之用户跟用户组

目录 一、简介 1.1、用户 1.2用户组 1.3UID和GID 1.4用户账户分类 二、用户 2.1、创建用户:useradd 2.2、删除用户:userdel 2.3 、修改用户 usermod 2.4、用户口令的管理:passwd 2.5、切换用户 三、用户组 3.1、增加一个用户组:groupadd 3.…

linux 文本编辑命令【重点】

目录 vi&vim介绍 vim安装 vim使用 查找命令 find grep 文本编辑的命令,主要包含两个: vi 和 vim vi&vim介绍 作用: vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于Windows中的记事本 语法: vi file…

微信小程序开发(实战案例):本地生活 - 列表页面开发(动态渲染处理)、节流防抖(节流阀应用)

文章目录 本地生活 - 列表页面开发一、将九宫格分类换成navigator组件二、动态设置商品列表页的 title三、动态渲染商品列表页面四、上拉触底加载数据五、添加Loading加载效果六、数据加载节流防抖处理 本地生活 - 列表页面开发 导入我们上次写的 本地生活 - 首页开发的项目 运…

CCF-CSP: 因子化简(100分)

第一次提交的时候90分,显示的超时,第一反应是难道有死循环? 检查一遍发现并没有,那就是真的超时了,然后翻阅blog,发现不需要去做判断是否是素数这一步,原因是任意一个非素数都是素数乘积构成,比如说&#…

板块二 JSP和JSTL:第四节 EL表达式 来自【汤米尼克的JAVAEE全套教程专栏】

板块二 JSP和JSTL:第四节 EL表达式 一、什么是表达式语言二、表达式取值(1)访问JSP四大作用域(2)访问List和Map(3)访问JavaBean 三、 EL的各种运算符(1).和[ ]运算符&…

2.21学习总结

1.【模板】ST 表 2.Balanced Lineup G 3.景区导游 4.最近公共祖先(LCA) 倍增思想:主要用于LCA问题,RMQ问题。在进行 递推 时,如果 状态空间很大,通常的 线性递推 无法满足 时间 与 空间复杂度 的要求&…

【GPTs分享】GPTs分享之Write For Me

Write For Me 是一个专门定制的GPT版本,旨在为用户提供高质量的文本内容创作服务。它适用于各种写作需求,从商业计划、学术文章到创意故事等。下面是从简介、主要功能、使用案例、优点和局限性几个方面对Write For Me 的详细介绍。 简介 Write For Me …

java基于redis实现分布式锁

文章目录 前言一、redis二、Redisson1.引入库2. 分布式锁3. 锁自动续期 总结 前言 上篇文章介绍了Java中锁的应用,在SpringBoot单体应用中完全够用,但是SpringCloud微服务集群中就力所不及了。 我的使用场景是某些微服务应用中使用spring注解的形式来完成定时任务的功能,服务集…

深度学习系列59:文字识别

1. 简单文本: 使用google加的tesseract,效果不错。 首先安装tesseract,在mac直接brew install即可。 python调用代码: import pytesseract from PIL import Image img Image.open(1.png) pytesseract.image_to_string(img, lan…