计算机毕业设计

计算机毕业设计 · 圈子

8739 位酷友已加入

本圈子收集计算机类的毕业设计与毕业论文,本科、硕士、博士各阶段的都可以,上传时请尽量注明毕设的概述信息~加入圈子可以上传、下载资料,也可以使用提问来寻求资料或分享你认为有价值的站外链接~

关注推荐最新

热门标签

资源

【Demo】基于内容的图像检索系统

介绍 基于内容的图像检索系统(Content Based Image Retrieval, 以下简称 CBIR),是计算机视觉领域中关注大规模数字图像内容检索的研究分支。典型的 CBIR 系统,允许用户输入一张图像,在图像数据库(或本地机、或网络)中查找具有相同或相似内容的其它图片。 本实训的基本功能要求是实现基于视觉特征的图像检索。具体包括: (1)实现基于颜色信息的图像 检索,可通过颜色直方图、颜色矩、颜色一致性矢量等方法来实现。 (2)实现基于纹理特征 的图像检索,可从四个方面进行:统计法、结构法、模型法、频谱法。 (3)实现基于形状特 征的图像检索,可分别从图像的边缘信息和区域信息来实现。 (4)实现基于综合信息的图像检索 功能 能够利用颜色特征实时从图像库中检索出和输入图像相同或相似的图像,并显示在系统中。 能够利用纹理特征实时从图像库中检索出和输入图像相同或相似的图像,显示在系统中。 能够利用形状特征实时从图像库中检索出和输入图像相同或相似的图像,并显示在系统中。 使用 运行Service/gui.py 详细介绍 见下载文件note 来源https://github.com/justtreee/Simple-Search-by-Image

资源

进销存管理系统

进销存管理系统 2019/03/15 - 2019/04/11 毕业设计项目 环境配置 JDK 1.8 Tomcat 9.0 MySQL 5.1 Maven 3.5.4 系统架构 Spring+SpringMVC+Mybatis 开发环境介绍 系统环境:Windows 10 JDK版本:JDK 1.8 服务器:Tomcat 9.0 数据库:MySQL 5.7 管理工具:Maven3.5.4 开发工具:Eclipse / IDEA 前台技术:BootStrap+JavaScript+jQUery+Ajax+CSS+HTML 使用工具:LogBack日志+MD5账户加密+DES数据库加密+Echarts数据统计 测试工具: Junit底层测试+PostMan请求测试 设计思想:MVC设计模式+前后端分离开发 功能图 流程图 本地部署 在mysql中新建数据库sdims,将sdims.sql导入该数据库 打开sdims.war, 打开sdims.war\WEB-INF\classes\jdbc.properties配置文件,修改数据库用户名和密码为自己本地数据库的用户名和密码「注:用util包里边DES加密工具跑出来加密后的账户密码进行替换」 将sdims.war包放入tomcat/webapps目录下 启动tomcat服务器 打开浏览器,输入 localhost:8080/sdims 进入登录界面 输入用户名admin和密码111111访问系统 使用须知 © 项目来源: https://github.com/Lotharing/SDIMS 作者:QQ 809676295 「系统疑难解答」 公众号

资源

基于Web的图书推荐系统展示平台

推荐系统是目前互联网中最常见的一种智能产品形式。由于网络中信息量的快速增长以及图书出版行业出版量的攀升,人们需要一种办法,来解决信息过载的问题。 此外,用户访问网络是为了获取信息,但并不是所有的访问都有很强的目的性,所以对于这些没有明确的目的的访问,就需要智能系统把一些用户可能感兴趣的信息推送给用户。基于这些需求,图书网站的推荐功能就变得非常重要。 主要内容 首先对图书推荐系统的发展历史做了介绍,然后对开发图书推荐系统所需的项目管理工具(Maven、Git)、数据持久化工具(MyBatis,Spring MVC框架)和Bootstrap前端开发框架进行了简单分析,在此基础上,设计并开发了一套基于Web的图书推荐系统展示平台,主要工作可概括为四个方面。 对图书推荐系统的结构进行了重新设计。主要是在Spring MVC框架的基础上,将系统分为了三层:Web层、服务与模块层、数据层,并对每层的结构与需要完成的功能做了定义。 基于MySQL数据库管理系统,设计并建立了图书推荐系统所需的数据库,该数据库的数据共分为三个部分:原始数据、清洗后数据和用户数据。 从便于操作和使用的角度出发,设计了图书推荐系统的页面,主要包括首页、搜索、展示、登录、注册等页面。 对整个开发过程以及系统组成的三个主要类:控制器类、模块类与视图类进行了分析。 经过后期的数据库优化与功能测试,系统与同类网站相比,性能良好。 数据清洗程序流程图 界面展示

资源

【毕业设计】汉语多音字注音研究

准确率 计算准确率的方法: 某个数据集上的准确率 = 该数据集中所有标注正确的多音字数 / 数据集中含有的多音字总数 之前的准确率计算有些问题,将<unk>和<pad>也算作多音字了,改正之后准确率变为85% - 88%。 我们试着增加了LSTM的层数,发现在当前情况下,随着层数增加,准确率有所降低。 调研阶段 查了一些国内外的论文,总结了一下其中用到的方法,以下是对这个问题的一些认识。 多音字个数是有限的,要根据其在不同情况下的读音来建立规则,以后再遇到新词时就去匹配这些规则,无法匹配时就更新规则。应该是通过机器学习实现的。 对这个问题的研究经历了几个过程 早期是对多音字统计不同读音下的使用频率,以频率最高的读音来标注新词。准确率低 统计法。通过构建词库,建立规则来进行注音,是以词语为单位,准确率有所提升,但仍无法解决多音字前后的字一样但读音不同的情况。 规则法。语言学家建立规则,再输入到计算机,但无法指定一个很完备的规则集 论文中的解决方案 数据统计 用到的数据见Code里的data目录。 pinyindata.txt :汉字拼音库,使用《现代汉语词典》中的拼音数据,汉字数:11017,多音字个数:1217,来自pinyin-data polyphones.txt:将汉字拼音库中的多音字全部提取出来,存入该文件中 统计了一下多音字的读音个数。 读音个数 多音字个数 polyphones.json:将所有多音字和读音存储成json文件 198801.txt:人民日报1988年一月的新闻语料,一共有19374条新闻,包含5593个多音字,其中有85种不同的多音字,来自pkuopendata 198801output.txt:存储每个多音字出现的次数,按出现频次从多到少排序 news.txt:将所有包含多音字的新闻全部提取出来,存入该文件 phrase.txt:带注音的中文短语,一共有96809条,来自ChineseTone poly_phrase.txt:将所有含多音字的短语输出到该文件中,共有47289条含多音字的短语。每条短语前面的数字是多音字在短语中的位置(从0开始计算)。 对该文件中的所有句子按多音字出现次数的多少排序,并对每个句子中多音字的个数进行了统计。结果如下。 句子中包含的多音字个数 句子数量 phrase_frequency.txt :输出包含多音字的短语中所有多音字出现的次数,按出现次数从多到少排序。 phrase.csv:将短语和读音转换成特定格式(text, label),text为句子,label为读音,非多音字编码为'NA',多音字编码为其读音。 correct.csv:标注正确的语句(只包含一句话中所有多音字均标注正确的句子) wrong.csv:标注错误的语句(一句话中只要有一个多音字标注错误,就输出到该文件中) 语料处理 主要是将语料划分为训练集、验证集与测试集,并将句子和读音做tokenize,建立词典,设定batchsize与生成迭代器,使数据能送入模型进行训练。 在进行处理时使用了torchtext库,能方便的对文本进行处理,并且支持csv、tsv等格式的读取。 最终生成的数据集: train.csv:训练集,有29928条短语,包含30041个多音字。 valid.csv:验证集,有8723条短语,包含12696个多音字。 test.csv:有8638条短语,包含19198个多音字。 模型搭建 目前想到用两种方法搭建模型。 两种方法模型大体一致,但在将lstm的输出喂进全连接层时的输入不一样。 说明:代码中的各种参数并不是最优的参数,只是一个示例。 按照多音字的读音的分类方法 这种方法将训练数据按照其中某个多音字的读音进行分类,如训练数据中含有多音字“都”的句子将分为以下两类: 句子中“都”的读音为dū的数据 句子中“都”的读音为dōu的数据 此方法最大的弊端就是需要对每个多音字单独训练一个模型并测试,另外当一句话中含有两个及以上的多音字时,该方法并不能完成所有多音字的注音。 仿照词性标注问题的分类方法 代码:code/PolyphoneDisambiguation/disambiguation_pos.py 这种方法仿照了词性标注的处理思路,将训练数据编码为如下格式: ('在古都西安', '都', ['NA', 'NA', 'dū', 'NA', 'NA']) 其中“NA”代表非多音字,多音字则使用读音来编码。 目前主要使用该方法进行注音,已将短语数据送入模型并进行训练,然后使用测试集计算准确率,将标注正确的语句和标注错误的语句输出到相应文件中。 来源:https://github.com/hjzin/PolyphoneDisambiguation

资源

【毕业设计】基于SpringBoot的校内信息共享平台

这是一个类似于论坛的信息发布平台,后端基于SpringBoot开发,前端使用LayUI框架 + freemarker动态模板生成,数据库使用MySQL MVC三层架构 来源:https://github.com/Wwzb/cisp

资源

【毕业设计】毕业设计管理系统

需要环境 jdk1.8、tomcat7.0、MySQL5.7、Eclipse等 操作 localhost:8080/BSManager 这是的登陆到系统的主页。(包括学生和教师的登陆) localhost:8080/BSManager/admin/index.jsp 这是登陆到管理员的登陆界面 项目介绍 该项目可以实现大学毕业设计中流程的大多是操作。主要有以下几点: 1、管理员添加教师信息和学生信息 2、教师网上报课题,管理员进行审核,审核通过的课题可以作为最终的选题开供学生选择 3、学生选择课题,并会实时显示选题信息 4、待选题结束之后,学生可以下载相关课题的任务书和开题报告模板 5、教师可以提醒学生提交开题报告 6、教师进行对自己管理的学生的开题报告进行审核,通过后可以进行之后的操作 7、学生上传毕业论文,审核通过之后该学生具有答辩资格,可进行答辩 8、教师最终把学生的开题报告进行提交,供管理员查看,保存 源码介绍 该系统使用的是SSM(Spring+SptingMVC+MyBatis)框架,因此第一步就是搭建框架。 使用的是maven,所以生成的结构如上面所示。 简单介绍一下: 包Java Resources 下包含4个包 src/main/java src/main/resources src/test/java Libraries 第一个是写Java文件的包,包括开发时所用到的dao包、entity包、service包、controller包等等 第二个是配置存放的包,包括mapper(用于sql的实现) spring(spring的配置文件) jdbc.properties(数据库的常规信息) logback.xml (日志) mybatis-config.xml (MyBatis的配置) 第三个是用于测试的包,你可以在写了dao和mapping之后测试是否可以获得想要的结果 第四个是开发中所用到的jar包,由于使用了Maven 所以会有一个Maven Dependencies包,用于存放开发中的jar包 来源:https://github.com/Zhangchao999/Graduation-Design-Management-System

资源

【Demo】在线考试系统

1.登陆界面 2.注册界面 3.首页 4.同户信息页 5.试卷列表 6.成绩查询页 7.试卷界面 8.考试结束页 来源https://github.com/zhangbinchao/TestOlinebc

资源

基于SSM的毕业设计管理系统

毕业设计管理系统可以分为五个模块:登录模块,选题模块,信息管理模块,流程管理模块,文件管理模块。 该系统在技术上使用Spring+SpringMVC+MyBatis整合框架作为后台开发框架,AmazeUI作为前端开发框架。 并使用Ehcache作为项目的缓存,druid作为项目的数据库连接池,使用FreeMarker实现word的导出,使用Shiro完成项目的登录认证,数据库使用的则是MySQL。 该系统可以分为三类角色:学生,教师,教务管理员。 该系统前端界面使用纯HTML实现,与后台的交互则都是通过Ajax完成。 登录模块 登录模块主要完成教务管理员,教师,学生用户的登录功能,每个角色登录之后会看到不同的操作界面。 选题模块 选题模块主要完成师生双选这一业务流程。 信息管理模块 信息管理模块主要完成对各种信息的crud操作。 流程管理模块 流程管理主要完成对开题报告,中期检查,免答辩申请,验收/答辩,论文审核,盲审的流程的管理。 文件管理模块 文件管理模块主要对文件的上传与下载。 部分界面 登录(学生,教师统一使用该登录界面进行登录) 主页(主页可以看到一些内容概要与相关提示) 教师列表(通过选择某一教师进而选择其课题) 申报课题(教师只有填写课题名之后才可以申报课题) 来源:https://github.com/Li-Zhan/graduation

资源

【毕业设计】基于流程监控的本科毕业设计管理系统

技术栈 SpringBoot2 JPA JWT LayUI 考虑Vue 和 iview PostgreSQL Redis 需求 目录 脚本 reconfig.sh 修改配置文件application.yml reboot.sh 更新镜像重启Docker容器 截图 压测情况: 来源:https://github.com/Kuangcp/Graduate

资源

【Demo】基于SSM框架实现的一个轻论坛

受GitHub的一个BBS项目Genesis的启发,重新写了一个BBS论坛,实现了基本功能 技术栈 本项目基于Spring、Spring MVC、MyBatis框架实现 数据库采用MySql 5.7.22 前端采用HTML、CSS、jQuery、Bootstrap 功能实现 发布主题、回复主题 按照活跃度、最后更新时间、是否为精品对帖子进行排序展示 管理员账户能够实现设置主题为精品、删除主题、删除回复功能 后天统计访客信息、统计用户登陆信息 用户登陆与注册、用户信息界面展示、用户修改头像 回复消息后发帖者能够收到消息提醒、未读消息和已读消息展示 在页面展示全站最热议的主题 用户发帖、登陆、回帖行为的积分系统 翻页功能 待更新的功能 使用Redis实现缓存 发帖人编辑主题 使用Nginx实现动静分离、负载均衡 可以发送图片 用户回帖记录展示 主题里用户之间的回复 界面展示 首页 发帖界面 用户信息界面 用户消息列表 主题详情 管理员的主题详情界面 网站信息展示 来源https://github.com/lhf2018/Lhfly-BBS

资源

【Demo】基于ssm框架的简单选课系统

基本功能 学生部分 登录、修改密码 查询个人信息 查询排课情况、根据老师姓名/学院筛选、进行选课、查询个人选课情况、查询成绩 教师部分 登录、修改密码 查询个人信息 查询个人开课情况、添加、修改、删除课程 查看课程选课情况、删除学生、评分 开发环境 后台基于maven使用SSM框架整合(Spring、SpringMVC、Mybatis) 前端jsp页面样式基于layui框架,bootstrap和jquery ide:Intellij IDEA 2017.2.4 java版本:jdk1.8.0_152 数据库版本:mysql 5.7.18-1 数据库设计 有学生、教师、学院、课程、课程的学院限制、课程选择六张表 简单展示 学生 登录 数据表中有10个学生账号(2018000001--2018000010)和4个教师账号(2018100001--2018100004),密码和账号一样 首页 个人信息 修改密码 开课列表 课程详情 选课确认 已选列表 退课 教师 开课列表 添加新课程 修改课程 删除课程 课程管理 评分 删除学生 来源https://github.com/Zeng1998/Course-Selecting-System

资源

【Demo】基于Tensorflow实现YOLO V3检测安全帽佩戴

最近几年深度学习的发展让很多计算机视觉任务落地成为可能,这些任务渗透到了各行各业,比如工业安全,包含的任务如安全帽佩戴检测、高空坠物检测、异常事故检测(行人跌倒不起等),火灾检测等等,我们使用YOLO V3训练了一个安全帽佩戴检测的模型。 1. 📣 数据介绍 确定了业务场景之后,需要收集大量的数据(之前参加过一个安全帽识别检测的比赛,但是数据在比赛平台无法下载为己用),一般来说包含两大来源,一部分是网络数据,可以通过百度、Google图片爬虫拿到,另一部分是用户场景的视频录像,后一部分相对来说数据量更大,但出于商业因素几乎不会开放。 本项目使用开源的安全帽检测数据集(SafetyHelmetWearing-Dataset, SHWD)主要通过爬虫拿到,总共有7581张图像,包含9044个佩戴安全帽的bounding box(正类),以及111514个未佩戴安全帽的bounding box(负类),所有的图像用labelimg标注出目标区域及类别。其中每个bounding box的标签:“hat”表示佩戴安全帽,“person”表示普通未佩戴的行人头部区域的bounding box。另外本数据集中person标签的数据大多数来源于SCUT-HEAD数据集,用于判断是未佩戴安全帽的人。大致说一下数据集构造的过程: 1.数据爬取 用的爬百度图片和Google图片的方法,百度图片用自己写的访问web页面的方式,通过不同的关键词多线程爬取数据,如果是Google图的话推荐用google-images-download,使用方法不多描述,也是爬取多个不同的关键词。关键词是个很有意思的选项,直接用“安全帽”这样的并不是一个好的选择,更多的时候可以用“建筑工人”等之类的词语;英文注意安全帽既可以是“safety Helmet”也可以是“safety hat”,“hard hat”等等。 2.数据清洗 显然用以上爬取得到的图片包含大量重复的,或者是并不包含ROI的图片,需要过滤掉大量的这些图片,这里介绍自己用到的几个方法: (1)用已有的行人检测方法过滤掉大部分非ROI图像; (2)可以使用深度学习模型zoo,比如ImageNet分类预训练好的模型提取特征,判断图像相似度,去除极为相似的图像; (3)剩余的部分存在重名或者文件大小一致的图像,通常情况下这些都是不同链接下的相同图片,在数量少的情况下可以手动清洗。 3.bounding box标注 用的开源标注工具labelImg,这个没什么多说的,是个体力活,不过一个更为省力的方法是数据回灌,也就是先用标注好的一部分数据训练出一个粗糙的检测模型,精度虽然不高,不过可以拿来定位出大致的目标区域位置,然后进行手动调整bounding box位置,这样省时省力,反复这样可以减少工期。 另外标注的过程中会出不少问题比如由于手抖出现图中小圈的情形,这种情况会导致标注的xml出现bounding box的四个坐标宽或高相等,显然不符合常理,所以需要手动写脚本检查和处理有这种或者其他问题的xml的annotation,比如还有的检测算法不需要什么都没标注的背景图像,可以检测有没有这种“空”类别的数据;甚至是笔误敲错了类别的标签;等等这些都需要手动写自动化或半自动化的脚本来做纠错处理,这样的工具在标注时应该经常用到。也可以看出,一旦标注项目形成规模,规范的自动化流程会节省很多资源。 2.✨ 模型介绍 我们使用纯Tensorflow实现的YOLOv3. 包含了训练和测试自己数据集的全pipeline. 其主要的特点包括: 高效的 tf.data pipeline 将COCO数据集预训练的模型迁移学习 支持GPU版的NMS. 训练和测试推断过程全部有代码样例. 使用Kmeans自己训练先验的anchor. Python 版本: 2 or 3 Packages: tensorflow >= 1.8.0 (支持tf.data的版本都可以) opencv-python tqdm 将预训练的darknet的权重下载,官方下载地址:https://pjreddie.com/media/files/yolov3.weights,并将该weight文件拷贝到 ./data/darknet_weights/ 下,因为这是darknet版本的预训练权重,需要转化为Tensorflow可用的版本,运行如下代码可以实现: 这样转化后的Tensorflow checkpoint文件被存放在:./data/darknet_weights/ 目录。你也可以下载已经转化好的模型:GitHub Release 3.🔰 训练数据构建 训练集的整体结构同VOC相同,可以参考VOC构建自己的数据集。 (1) annotation文件 运行 分割训练集,验证集,测试集并在 ./data/my_data/labal 下生成 train.txt/val.txt/test.txt ,对于一张图像对应一行数据,包括 image_index , image_absolute_path , img_width , img_height , box_1 , box_2 ,..., box_n ,每个字段中间是用空格分隔的,其中: image_index 文本的行号 image_absolute_path 一定是绝对路径 img_width , img_height , box_1 , box_2 ,..., box_n 中涉及数值的取值一定取int型 box_x的形式为:label_index,x_min,y_min,x_max,y_max (注意坐标原点在图像的左上角) label_index是label对应的index(取值为[0~class_num-1]),这里要注意YOLO系列的模型训练与SSD不同,label不包含background 例子: (2) class_names文件: coco.names 文件在 ./data/ 路径下,每一行代表一个label name,例如: (3) 先验anchor文件: 使用Kmeans生成先验anchors: 可以得到9个anchors和平均的IOU,把anchors保存在文本文件:./data/yolo_anchors.txt, 注意: Kmeans计算出的YOLO Anchors是在调整大小的图像比例的,默认的调整大小方法是保持图像的纵横比。 4.📝 训练 修改arg.py中的一些参数,如下: 修改arg.py 运行: 我们训练的环境为: ubuntu 16.04 Tesla V100 32G 5.🔖 推断 我们使用 test_single_image.py 和 video_test.py 推断单张图片和视频,测试Demo在 6.⛏Demo 提供。你可以下载我们预训练的安全帽识别模型进行测试,下载地址:GitHub Release 6.⛏Demo 7.⛏训练的一些Trick 这些Trick来源于:https://github.com/wizyoung/YOLOv3_TensorFlow (1) 使用two-stage训练或one-stage训练: Two-stage training: 第一阶段:在COCO数据集训练的ckeckpoints上加载darknet53_body部分的weights,训练YOLO V3的head部分,使用较大的学习率比如0.001,直到损失降下来; 第二阶段:加载第一阶段训练的模型,训练整个模型的参数,使用较小的学习率比如0.0001。 One-stage training: 直接加载除Conv_6,Conv_14和Conv_22(这三层是输出层需要根据自己训练数据调整)的预训练模型,这种情况需要注意Loss的nan问题,对于该项目为了简单,我们采用One-stage training。 (2) args.py中有很多有用的训练参数调整策略: 学习率的decay(Cosine decay of lr (SGDR)) 多尺度训练(Multi-scale training) 标签平滑(Label smoothing) 数据增强(Mix up data augmentation) Focal loss(来源于RetinaNet主要修正目标检测中的unblance问题) 这么多策略,不一定都能提升你的模型性能,根据自己的数据集自行调整选择. (3) 注意: 来自于gluon-cv的这篇paper 已经证明对于YOLO V3数据增强是很有必要的, 但是对于我们的实验来看一些数据增强的策略看起来是合理的,但是会导致我们的模型不work,比如,使用随机的色彩抖动数据增强策略,我们的模型的mAP掉的很厉害,所有需要好好研究数据增强的使用策略。 (4) Loss nan? 出现Loss nan的情况尽量设置大一点的warm_up_epoch的值,或者小一点的学习率,多试几次。如果你使用的是one-stage的训练过程,使用adam优化器可能会出现nan的问题,请选择momentum optimizer 。 来源https://github.com/DataXujing/YOLO-V3-Tensorflow

  • 1
  • 6
  • 7
  • 8
  • 20
前往