基于RK3399+YOLO目标检测人工智能图像系统设计

news2024/11/26 4:32:12
随着 5G 通信技术的大范围普及,传统的目标检测系统已经不再能满足如今步入智
能化的各行各业的需求。消费者对以往依靠机器学习的传统目标检测系统提出了更高的
要求,相关的生产企业也开始向智能化和低功耗化过渡。其中如何将图像增强技术、目
标检测技术与神经网络相结合,移植到便携的嵌入式平台已经成为了如今开发人员研究
的热点。本课题设计了一种基于异构处理器的目标检测系统,可以针对一些目标物体密
集的特定环境下可以对目标物体进行高效准确地识别。
本文首先对目标检测系统的总体进行了设计,在硬件设计方面选用多核异构的 ARM
处理器 RK3399 作为核心处理器,图像采集模块选用了 CAM1320 模组,并且搭建外围
附属电路,完成硬件设计;软件部分对卷积神经网络进行了介绍。如今主流的目标检测
算法将图像的像素矩阵通过卷积和池化处理提取出特征信息,在全连接层对图像进行类
别预测。并对其中的典型代表算法 YOLOv3 中的网络结构、边界框和损失函数进行了分
析。通过对比 YOLOv3 和其他目标检测算法的性能指标,最终选择了 YOLOv3 作为本
文算法改进的基础。
之后对系统的目标检测的软件部分整体进行了阐述。首先介绍了基于 HSI 的图像增
强算法,对图像的特征信息和色彩信息分别做多尺度 Retinex 增强和色彩拉伸处理,将
增强后的图像作为目标检测算法的输入。然后针对 YOLOv3 在检测特定环境下所表现出
的目标漏检和检测分类集中现象,对 YOLOv3 算法做出了优化,一方面引入了 SE 单元
加强特征,另一方面将原先的三个尺度输出优化为针对密集环境的四尺度输出。
最后在目标检测系统平台的交叉编译调试环境进行搭建后,将优化后的神经网络模
型移植到嵌入式平台上,对目标检测系统平台进行测试,通过对图像的各项参数和目标
检测的准确率等指标分析,并得出实验结论,证明该目标检测系统可以有效增强图像,
其识别有效率达到 92.56% ,系统满足实际场景的高准确性需求。
针对系统目标检测硬件处理的需求,本论文设计了一种基于多核异构架构 ARM
嵌入式目标检测系统平台。系统原理框图如下:

 

为便于进行系统电路设计,可以根据系统的各个功能进行分部设计,可以划分为五
部分:采集模块,算法处理模块,存储模块,通信模块和显示模块。图像采集模块负责
采集外部视频流数据,将采集到的视频流数据接收到缓存区,之后由算法处理模块对视
频流数据进行读取;算法处理模块使用 RK3399 处理器完成对摄像头视频流的接收,将
数据缓存到外部存储模块 LPDDR4,之后由处理器进行图像增强处理、运行目标检测算
法、视频流编码压缩等一系列处理工作,将图像实时传输给显示模块,同时打包视频流
转送给传输模块;显示模块使用 HDMI 接口将处理后的数据流转化为视频信号,实时显
示到显示设备上。
2.2 主控处理器
片上系统 (System On Chip SOC) 是广泛使用预定制模块而得以快速开发的集成电
路。 SOC 包含了微处理器、存储器以及其他专用功能逻辑,可以在较短时间设计出来,
缩短产品的上市周期,同时 SOC 可以降低因信号在多个芯片之间交互带来的延迟而导
致性能不佳,在满足低功耗的前提下保证了信号传输的稳定性。
本文设计的目标检测系统的中央处理器选用瑞芯微 28 纳米制程生产的基于
big.LITTLE 多核异构的旗舰级芯片 RK3399 处理器,可以采集图像、对图像进行增强
和运行目标检测算法。

                                                     信迈RK3399开发板

 在图 2-2 所示的 信迈RK3399 硬件图中, RJ45 接口在本文设计的系统中用于连接网线进行图像传输、HDMI 接口用于连接屏幕进行显示、USB 插槽用于插入 U 盘保存文件、 其他空余 IO 口可以对系统功能进行扩展、MIPI 接口用于连接图像传感器进行视频采 集,通过串口和网口对系统进行实时调试。图 2-3 RK3399 的硬件资源图。

上述图中对 RK3399 的软件资源进行了介绍, RK3399 处理器内部集成有双核
Cortex − A72 + 四核 Cortex − A53 处理器,主频最高可达 2.4GHz 。同时内部配有 Mal
i-T860 高端 GPU ,集成了带宽压缩技术,利用了 OpenCL RGA 等硬件加速模块,以
降低 CPU 负载,可搭载 AI 专用芯片 RK1808 提升运算效率,支持 TensorFlow / TF Li
te / Caffe / ONNX / Darknet 等模型,可达 3.0TOPs 。支持 4K 10bits H265/H264
频解码,帧率最高可达 60fps
采集模块设计
图像采集部分采用 CAM1320 模组作为视频图像的采集主体。 CAM1320 模组是采用
Omni Vision 公司研发的一款高性能 1300 万像素(
4224x3136 )传感器 OV13850 ,通过
MIPI 接口与 ARM 主板连接,可以支持同类最佳的高光和微光性能和多种图像控制功能,
同时 OV13850 还包括改进的全井容量 (FWC) 和行业领先的高光和微光性能的灵敏度。与
上一代传感器相比,其功耗降低了 40% ,使 OV13850 非常适合功能丰富的移动设备。
最高支持 13.2MP 30fps 高清流畅录像,实现零快门延迟 [21] 。此外,该图像传感器最高
支持 60 / 秒的高帧率 1080p 高清视频,具有 EIS ,可采集高质量视频,可以达到设计
的目标检测系统的要求。如图 2-8 OV13850 传感器的功能框图。

CPU 发出采集命。令时,图像采集模块开始采集视频图像。采集过程中,传感器
会将采集到的模拟信号经过自带的处理模块进行自动增益等处理,之后模拟信号会由
A/D 转换模块转换为数字信号,便于嵌入式平台进行处理,并由传感器自带的 FIFO
高速数据进行缓存,之后由处理器将 FIFO 中的数据读取到 DDR 中进行后续的图像算法
处理。
OV13850 图像传感器采用标准的 Serial Camera Control Bus
SCCB )协议, SCCB 协 议与 I2C 协议极其相似,由时钟信号线 SIOC 和传输信号线 SIOD 组成,与 I2C 总线 不同的是 SCCB 一次传输 9 位数据,前 8 位为有用数据,第 9 位为无效位。其 OV13850 传感器的 RGB 输出时序如图 2-9 所示:
从图 2-9 中,可以看到 CAM1320 图像数据通过 D [9 2] 输出一个字节,前两个字节
形成 16 RGB565 数据。在时序图中,当 HREF 为高电平时,数据传输开始,一个 PCLK
传输一个字节,而当最后一个字节传输完成时, HREF 变为低电平。 HREF 周期由 640 tp
144 tp 组成。 1 t PCLK 发送 1 个字节。 480 HREF 周期组成一个帧,在 8t LINE
间后, VSYNC 将形成一个上升沿以表示图像传输帧的结束。
3 目标检测算法研究
本章的主要对基于卷积神经网络的典型检测算法代表 YOLOv3 进行了详细分析。与
传统目标检测算法相比,引入卷积神经网络可以使目标检测算法受环境因素的影响较
小,更适用于外界环境。同时将几种基于神经网络的目标检测算法进行性能对比,选择
最符合本课题需求的 YOLOv3 作为本课题系统改进优化的算法基础。
3.1 卷积神经网络相关知识简介
卷积神经网络( Convolutional Neural Network )在多层感知器的基础上增加了卷积
和池化对图像进行处理 [25] ,属于一种前馈神经网络。常见的卷积神经网络结构如图 3-1
卷积神经网络通常包括特征提取器和分类器,其中特征提取器由三个部分组成:输入层
(即待检测图像对应像素矩阵)、卷积层和池化层;分类器包括全连接层和输出层。在
训练学习时,像素矩阵经过卷积和池化处理后提取出图像中物体的特征信息,全连接层
负责把各个物体的特征信息如颜色、轮廓等转化为一维特征向量。网络的最后一层即输
出层通过目标物体的预测值及损失函数计算出物体所属类别的概率,通过进行比较,将
概率最高的结果输出 [26]

3.2 YOLO 目标检测算法
YOLO 是由 Joseph Redmon Faster R-CNN 的基础上提出 [38] ,其创新点是在保持
较高检测精度的前提下实现了对整幅图片的实时检测。 YOLO 将目标检测问题转化为回
归问题 [39] ,通过使用神经网络对图像进行遍历,对图像中的目标物体进行预测并分类。
YOLO 算法首先将输入的图片重新调整为适合检测的尺寸,之后使用神经网络对图像进
行处理,将输入图片平均分为若干个网格,待识别物体的中心处于的网格负责对该物体
进行预测识别。

 

YOLO 为目标检测提供了一个新的解决思路,具有以下优点:
1 )速度快。将检测问题转换为回归问题,减少了计算量,检测速度可达 150FPS [42]
2 YOLO 在检测时对图片进行整体推理。与 Fast RCNN 不同, YOLO 可以在训练
和检测时提取检测图片的特征信息,包含特征信息和语义信息。 Fast RCNN 有时会把背
景误检测为目标物体 [43] YOLO 的误检率比 Fast RCNN 至少低 50%
3 YOLO 识别算法拥有较强的鲁棒性。通过神经网络的不断训练学习,使算法对形
状、色彩较大差异的物体进行检测时,其准确率不会有明显的波动。
针对前两个版本 YOLO 存在的问题, YOLOv3 通过采用 Darknet-53 作为基础网络结
[44] ,通过不同的卷积层对图像进行降采样,舍弃原本的池化处理,有效减弱了池化处
理带来的梯度消失缺陷。同时 YOLOv3 将原先一层检测层扩展为 13x13 26x26 52x52
三个不同尺度的特征图,同时沿用了 K-means 聚类出的边界框,增加了边界框数量 [45]
根据其大小分别在三个特征图进行预测。
4 目标检测系统软件的原理与设计
通过在第三章介绍了卷积神经网络与目标检测算法 YOLOv3 的算法原理,本章针对
传统目标检测算法存在运行环境需求较高和无法用于复杂环境的缺陷,以 YOLOv3
改进基础,提出一种适用于嵌入式平台的目标检测模型。同时,本章对系统地软件部分
如数据集制作和图像增强处理进行了论述。
4.1 目标检测算法软件设计
目标检测系统的图像识别软件运行流程如图 4-1 所示。

 

 最终得到的数据集文件如下所示。

JPEGImages 包含数据集所有的图像信息,包括训练图像和测试图像。 Annotations
中包含标签文件,每个标签文件对应于 JPEGImages 文件夹中的一个图像;
label.txt 用于 保存目标类别(背景类别除外)的文件;train_list.txt test_list .txt trainval.txt 存储学 习所需的图像和注释文件的相对路径; 这三个文件的区别在于它们包含不同的数据集。
train_list 约为全部数据集的 50 %, trainval 是整个数据集的其余 50 %; test_list 是训练
量的剩余 50 %。

 

 

其中, Windows 平台、 Linux 虚拟机 Ubuntu 与嵌入式开发平台通过路由器连接在同
一个局域网内,可以在 Windows 平台对代码进行编写和修改,虚拟机 Ubuntu 则可以将
编写好的代码交叉编译为能够在嵌入式系统中运行的文件,并且通过在虚拟机 Linux
统下完成对嵌入式平台运行所需的 Bootloader 、系统内核的裁剪和移植、根文件系统的
搭建以及对检测算法的移植和模型转换,最终通过交叉编译工具链将整体程序编译为可
执行文件。在调试过程中, Ubuntu 虚拟机可以通过串口打印嵌入式平台的系统运行信
息和调试信息,也可以通过局域网实时对系统中的文件进行操作。将 RK3399 目标检测
系统通过 HDMI 线与显示屏相连。系统连接如图 5-3 所示:

 

 

 

 

本章对目标检测系统的硬件平台和测试环境进行了搭建,包括在开发主机上搭建开
发环境以及 OpenCV 库和 TensorFlow 框架的搭建。本目标检测系统既实现了低功耗、
结构紧凑的特点,又留有足够的接口,可对系统进行进一步的优化。并且对图像增强算
法和目标检测算法的性能指标做出介绍,最后对系统的图像增强、目标检测和视频实时
推流功能进行了测试,对测试结果进行了多方面的分析。通过测试并分析可得出结论,
本系统在测试精确率方面优于传统目标检测算法,可以大范围在实际生活场景中运用。
信迈提供RK3399/3568+YOLO软硬件一体解决方案。

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

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

相关文章

报表生成工具Stimulsoft中的电子签名和 PDF 数字签名

Stimulsoft Reports 是一款报告编写器,主要用于在桌面和Web上从头开始创建任何复杂的报告。可以在大多数平台上轻松实现部署,如ASP.NET, WinForms, .NET Core, JavaScript, WPF, Angular, Blazor, PHP, Java等,在你的应用程序中嵌入报告设计器…

炔基染料试剂1998119-13-3,Cyanine7 alkyne,花青素CY7炔基

试剂基团反应特点:Cyanine7 alkyne染料在水中的溶解度有限,但可以通过添加二甲基亚砜或二甲基甲酰胺在水性缓冲液中成功结合。氰基7的炔烃衍生物,近红外荧光团,Cy7的类似物。炔烃可以通过铜催化的点击化学与多种叠氮化合物共轭。C…

vue2 Object.definProperty响应式原理(面试题)

注意: 响应式原理和双向数据绑定原理是两回事,一般面试官会先问响应式原理再问双向数据绑定的原理 详细文章 1.响应式原理 核心是数据劫持和依赖收集,是通过数据劫持结合发布者-订阅者模式的方式来实现的。通过Object.defineProperty()为对象…

找出字符串中第一个匹配项的下标-力扣28-java

一、题目描述给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。示例 1:输入:hayst…

java ssm计算机系统在线考试平台idea

本系统主要包括以下功能模块学生、教师、班级、考试评阅、在线考试、试题内容、考试等模块,通过这些模块的实现能够基本满足日常计算机系统平台的操作。 本文着重阐述了计算机系统平台的分析、设计与实现,首先介绍开发系统和环境配置、数据库的设计&…

ASP.NET大型绩效考核评估系统源码

分享一套ASP.NET大型绩效考核评估系统源码,功能基本完善,代码完整,适合学习。本系统采用.Net2010开发,数据库基于SQL2000/2005/2008引擎开发。系统运行环境为.NET2.0IIS6.0基础环境。 源码分享学习,私信获取&#xff…

第40天|LeetCode139. 单词拆分、多重背包

1.题目链接:139. 单词拆分 题目描述: 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。 解法&…

SpringBoot 指标监控 Actuator

Spring Boot Actuator为 Micrometer 提供了依赖管理和自动配置&#xff0c;Micrometer是一个支持 众多监控系统 的应用程序指标接口 该功能与&#xff1a;java\jdk\bin 下的 Jconsole 功能雷同 1、pom文件中引入依赖&#xff08;使用的springboot是2.7.2&#xff09; <dep…

15- 决策回归树, 随机森林, 极限森林 (决策树优化) (算法)

1. 决策回归树: from sklearn.tree import DecisionTreeRegressor model DecisionTreeRegressor(criterionmse,max_depth3) model.fit(X,y) # X是40个点 y是一个圆 2. 随机森林 稳定预测: from sklearn.ensemble import RandomForestClassifier # model RandomForestC…

Flink相关的记录

Flink源码编译首次编译的时候&#xff0c;去除不必要的操作&#xff0c;同时install会把Flink中的module安装到本地仓库&#xff0c;这样依赖当前module的其他组件就无需去远程仓库拉取当前module&#xff0c;节省了时间。mvn clean install -T 4 -DskipTests -Dfast -Dmaven.c…

对比Vector、ArrayList、LinkedList有何区别?

第8讲 | 对比Vector、ArrayList、LinkedList有何区别&#xff1f; 我们在日常的工作中&#xff0c;能够高效地管理和操作数据是非常重要的。由于每个编程语言支持的数据结构不尽相同&#xff0c;比如我最早学习的 C 语言&#xff0c;需要自己实现很多基础数据结构&#xff0c;管…

SpringCloud入门实战(六)-OpenFeign服务调用

⭐️ SpringCloud 入门实战系列不迷路&#xff1a; SpringCloud 入门实战&#xff08;一&#xff09;什么是SpringCloud&#xff1f;SpringCloud 入门实战&#xff08;二&#xff09;-SpringCloud项目搭建SpringCloud 入门实战&#xff08;三&#xff09;-Eureka注册中心集成S…

基于JAVA+SpringBoot+LayUI+Shiro的仓库管理系统

基于JAVASpringBootLayUIShiro的仓库管理系统 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项…

React基础用法,脚手架创建项目。父子及兄弟通信,跨组件通信,定时器时钟案例

create React App 脚手架工具创建项目1.下载插件2.打开终端npx create-react-app my-app //my-app是自己创建的项目名创建完成后cd my-app&#xff0c;到该项目的盘符执行npm start&#xff0c;就可以运行起来了组件通讯父传子在父亲组件中引用子组件在render&#xff08;&…

基于商品理解的成交能力和成交满意度优化在Lazada的实践

作者&#xff1a;马蕊 Lazada推荐算法团队 在Lazada各域推荐场景中&#xff0c;既有优质商品优质卖家不断涌现带来的机会&#xff0c;也有商品质量参差带来的问题。如何才能为用户提供更好的体验&#xff0c;对卖家变化行为进行正向激励呢&#xff1f;下面本文将为大家分享我们…

在TheSandbox 的「BOYS PLANET」元宇宙中与你的男孩们见面吧!

世界各的男孩们成为 K-Pop 男团的旅程。 Mnet 的全球项目 BOYS PLANET 终于在 2 月 2 日首次亮相&#xff01; The Sandbox 与 CJ ENM 合作&#xff0c;于 2 月 6 日晚上 10 点开始举办两个基于 BOYS PLANET 生存节目的虚拟体验&#xff1a;BOYS PLANET&#xff1a;BOYS LAND 和…

五年制转本学历很重要江苏专转本

五年制转本学历很重要&#xff01; 大专和本科是有区别的 越好的公司&#xff0c;越重要的职位&#xff0c;要求越高。 目前在中大型企业&#xff0c;除了销售、行政等岗位&#xff0c;其他普遍要求本科学历&#xff0c;有些可以放宽到大专。很多公司对于程序员等岗位的要求不仅…

java中方法的学习笔记

java中方法是完成特定的功能的&#xff0c;相对独立的程序段&#xff0c;与其他编程语言中的子程序&#xff0c;函数等概念相当。 方法一定义&#xff0c;就可以在不同的程序段中调用&#xff0c;因此方法可以增强程序的清晰度&#xff0c;提高编码的效率 方法的声明 [修饰符…

装备制造业数字化转型CRM系统解决方案(信息图)

一、制造企业面临的机遇与挑战 2021年12月28日&#xff0c;工业和信息化部等八部门联合对外发布《“十四五”智能制造发展规划》&#xff0c;明确提到“推进智能制造&#xff0c;要立足制造本质&#xff0c;紧扣智能特征&#xff0c;以工艺、装备为核心&#xff0c;以数据为基…

jsp(全部知识点)

&#x1f44c; 棒棒有言&#xff1a;也许我一直照着别人的方向飞&#xff0c;可是这次&#xff0c;我想要用我的方式飞翔一次&#xff01;人生&#xff0c;既要淡&#xff0c;又要有味。凡事不必太在意&#xff0c;一切随缘&#xff0c;缘深多聚聚&#xff0c;缘浅随它去。凡事…