基于嵌入式GPU的数码印花缺陷检测客户端软件设计
发布时间:2020-07-03 09:41
【摘要】:数码印花技术是促进我国印染工业转型升级的关键技术,目前国内研发的数码印花机器主要采用人工检测方法实现产品质量检测,不但检测准确度低,而且人工成本高。随着机器视觉技术的发展和广泛应用,对数码印花过程中印花图案缺陷的自动检测成为行业发展趋势。本论文研究的数码印花缺陷检测系统,基于实际的数码印花机平台,配置基于嵌入式GPU的实时数据处理单元和图像自动检测单元,设计GUI交互软件,具有很高的工程应用价值。本论文研发的缺陷检测客户端软件是数码印花缺陷检测系统的重要组成部分,通过与用户的交互实现对整个系统的控制与管理,提高了系统的稳定性和通用性。该软件基于Qt图形开发框架,运行环境是Windows 7操作系统。本论文设计了软件的整体架构,将实际开发分为用户界面层和逻辑业务层;基于模块化思想将软件分为用户登录、配置、图像检测、用户管理、告警、历史记录、算法七大模块;设计了基于SQLite数据库的管理类实现对大批量数据的存储、查询、删改等操作;研发了 SDK接口与基于TCP的通信协议实现与服务器平台的信令交流;通过Qt的QGraphicsView架构设计图像显示模块,具有图像放大、缩小、平移和区域选择等图像处理功能;基于NTFS文件管理系统实现历史缺陷图像的查询和管理;基于多尺度LBP算法和统计投影实现对条状图像缺陷的实时检测。本论文研发的缺陷检测客户端软件经过严格的测试,具有数码印花流程控制、图像自动检测与实时显示等多种功能,能够满足系统的各项需求。
【学位授予单位】:浙江大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP311.52
【图文】:
于基本矩阵与线性代数运算的的函数库。CUDPP邋(CUDA邋Data邋Parallel邋Primitives)逡逑库提供了一系列常用的并行操作函数,例如排序函数、搜索函数等。CUDA的软逡逑件分层架构如图2-1所示。逡逑CPU逡逑—I逡逑二逡逑i逡逑GPU逡逑图2-1邋CUDA软件架构逡逑2.1.2CUDA编程模型逡逑CUDA采用并行异构编程模型[24],将代码分成主机(Host)和设备(Device)两部逡逑分。Hosl是CPU,邋Device即GPU,也被视为主机的协处理器(Co-processor)。在逡逑这个异构系统中,一个Host可以搭配多个Device,邋Host中的程序负责串行计算逡逑和逻辑控制,Device中的程序负责高度并行化的线程数据处理,这一部分的程序逡逑称为kernel函数,在具体的实现中,通过添加_global__限定符与Host端代码加逡逑以区分,具体的并行数据处理工作都交由kernel中的线程完成。Kemd线程模型逡逑9逡逑
存储器(Shared邋memory)、局部存储器(Local邋memory)、常量存储器(Constant逡逑memory)、纹理存储器(Texture邋memory)和全局存储器(Global邋memory),这些存储逡逑器分别具有不同的空间和生命周期,存储器架构如图2-3所示。逡逑Device/Grid逡逑Shared邋memory逡逑▲邋“逡逑Registers逦Registers逦Registers逡逑逦y逦y逦y邋逦邋逦逡逑Thread(0,邋0)逦Thread(0,邋0)逦Thread(0,邋0)逡逑i逦tn逦j逦tn逦t逦nt逡逑Local逦Local逦Local逡逑Memory逦Memory逦Memory逡逑、'逦>邋r逦T逡逑^逦>逦Global邋memo邋y逡逑<———>逦Contant邋memorv逡逑-j邋-逦-逦Texture逦memory逡逑图2-3邋CUDA存储器架构1281逡逑寄存器是GPU中数据访问速率最快的存储器,因此用来存放kemd中的没逡逑有特殊声明的自动变量,每一个自动变量都是线程的私有变量,线程结g?时,变逡逑量即自动销毁失效。GPU硬件结构包含多个流处理器簇SM,k胃觯樱桶蛔殄义霞拇嫫鞯ピ
本文编号:2739499
【学位授予单位】:浙江大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP311.52
【图文】:
于基本矩阵与线性代数运算的的函数库。CUDPP邋(CUDA邋Data邋Parallel邋Primitives)逡逑库提供了一系列常用的并行操作函数,例如排序函数、搜索函数等。CUDA的软逡逑件分层架构如图2-1所示。逡逑CPU逡逑—I逡逑二逡逑i逡逑GPU逡逑图2-1邋CUDA软件架构逡逑2.1.2CUDA编程模型逡逑CUDA采用并行异构编程模型[24],将代码分成主机(Host)和设备(Device)两部逡逑分。Hosl是CPU,邋Device即GPU,也被视为主机的协处理器(Co-processor)。在逡逑这个异构系统中,一个Host可以搭配多个Device,邋Host中的程序负责串行计算逡逑和逻辑控制,Device中的程序负责高度并行化的线程数据处理,这一部分的程序逡逑称为kernel函数,在具体的实现中,通过添加_global__限定符与Host端代码加逡逑以区分,具体的并行数据处理工作都交由kernel中的线程完成。Kemd线程模型逡逑9逡逑
存储器(Shared邋memory)、局部存储器(Local邋memory)、常量存储器(Constant逡逑memory)、纹理存储器(Texture邋memory)和全局存储器(Global邋memory),这些存储逡逑器分别具有不同的空间和生命周期,存储器架构如图2-3所示。逡逑Device/Grid逡逑Shared邋memory逡逑▲邋“逡逑Registers逦Registers逦Registers逡逑逦y逦y逦y邋逦邋逦逡逑Thread(0,邋0)逦Thread(0,邋0)逦Thread(0,邋0)逡逑i逦tn逦j逦tn逦t逦nt逡逑Local逦Local逦Local逡逑Memory逦Memory逦Memory逡逑、'逦>邋r逦T逡逑^逦>逦Global邋memo邋y逡逑<———>逦Contant邋memorv逡逑-j邋-逦-逦Texture逦memory逡逑图2-3邋CUDA存储器架构1281逡逑寄存器是GPU中数据访问速率最快的存储器,因此用来存放kemd中的没逡逑有特殊声明的自动变量,每一个自动变量都是线程的私有变量,线程结g?时,变逡逑量即自动销毁失效。GPU硬件结构包含多个流处理器簇SM,k胃觯樱桶蛔殄义霞拇嫫鞯ピ
本文编号:2739499
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2739499.html