需求分析
在机器视觉系统的训练过程中,需要大量带有标签的图像来增强识别能力.传统的方法是召集一部分人进行独立注释,效率低,质量差.本文设计一个基于众包的图像标注系统.该系统开放自行注册登录方式提供给具有相应专业或兴趣爱好的志愿者,然后在线通过LabelImage图像标注工具对同一幅图片的标签集进行整理和归类,最后得出准确有效的标签.测试结果表明,该系统比传统图像标注方法有更好的鲁棒性和更高的效率。
运行环境
JDK1.8、Tomcat8.0、MySql5.6、Eclipse
项目技术
Spring,、SpringMvc、MyBatis、 Bootstrap、Jsp、 JQuery
项目介绍
技术原理
本毕设基于B/S架构,MVC设计模式,分层结构清晰,后端框架采用的是Spring+SpringMVC+Mybatis技术,视图展示是JSP技术,前端采用JQuery+Bootstrap、采用Java语言开发,使用Mysql作为数据信息存储与管理的工具,通过Tomcat服务器运行,通过浏览器打开网页来进行数据的渲染和展示。
功能亮点
该系统构建了一个基于众包的图像标注系统,用于大规模数据的人工实时并行标记与验证.主要系统角色为管理员和标注用户.管理员的主要功能为用户管理和图片集管理,标注用户的主要功能为个人信息管理与图像标注管理.系统主要采用SSM框架来实现业务逻辑,通过使用MyBatis对JDBC进行封装,实现对MySQL数据库操作.系统前端实现采用JSP动态页面与Bootstrap框架.通过下载互联网上的各类图片构建测试数据集,对系统进行了测试,验证了系统的可行性.
LabelImage 是一款用于深度学习分割模型训练的图像标注工具(生成.json文件),可以对你将要训练的模型提供帮助。
【具有如下功能】
上传多个文件,可切换不同图片
生成与图片名一致的json文件 (在单个图片标注完成点击保存按钮)
矩形标注工具、多边形标注工具 (持续新增工具中……)
图片拖拽,缩放,缩略图显示
鼠标十字线,标签名显示控制
标签管理:增、删、改、查(存储在本地)
标注结果编辑修改、删除
全屏显示
系统实现如下功能
实现用户登录注册、用户密码修改等用户信息管理
实现采用百度WebUploader大规模图片数据的上传
实现采用LabelImage 进行图片处理,标注的方式支持三种主要任务:分类、标注及裁剪。对于分类任务,只需标注图片的类别;对于标注任务,需要标注每个目标的位置及类别;对于裁剪任务,需要在图片中裁剪出每个目标,并指明目标的类别
支持多人协同标注,比如一个标注任务有100张图片,分配给5个人做,且不冲突
支持标注任务的创建与分发。
实现系统管理:用户管理,用户权限管理,角色管理,菜单管理,系统操作日志管理功能。
数据库设计
部分数据库表设计如下, 其他参见源码包
用户表【POWER_USER】设计如下
字段 | 类型 | 备注 |
---|---|---|
id | int(11) | ID |
login_name | varchar(255) | 登录账号 |
user_name | varchar(255) | 用户名称 |
password | varchar(255) | 密码 |
sex | int(11) | 性别 |
varchar(255) | 邮箱 | |
tel | varchar(255) | 电话 |
state | int(11) | 状态 |
update_time | varchar(255) | 更新时间 |
role_id | int(11) | 角色ID |
【T_IMGS】任务图片集设计表如下:
字段 | 类型 | 备注 |
---|---|---|
id | int(11) | ID |
taskId | int(11) | 任务ID |
url | varchar(255) | 路径 |
level | varchar(255) | 等级 |
state | varchar(255) | 状态 |
userId | varchar(50) | 用户ID |
filed1 | varchar(255) | 标签 |
site | varchar(255) | 标注位置 |
【T_TASK】任务表设计表如下:
字段 | 类型 | 备注 |
---|---|---|
id | int(11) | ID |
name | varchar(255) | 任务名称 |
label | varchar(255) | 标注 |
userId | varchar(255) | 用户 |
creattime | varchar(255) | 创建时间 |
state | varchar(255) | 0,进行中,1,已完成 2,锁定 |
beizhu | varchar(255) | 备注 |
系统操作日志表【LOG_LOGIN】设计如下
字段 | 类型 | 备注 |
---|---|---|
id | int(11) | ID |
type | varchar(255) | 操作类型 |
login_name | varchar(255) | 登录名称 |
user_name | varchar(255) | 用户名 |
user_id | varchar(255) | 用户ID |
login_time | varchar(255) | 登录时间 |
login_ip | varchar(255) | 登录IP |
其余数据库表的设计参考代码包中的数据库文件
部分运行截图
1、基于SSM实现的图片标注系统-用户管理
2、基于SSM实现的图片标注系统-批量上传图片
3、基于SSM实现的图片标注系统-任务管理
4、基于SSM实现的图片标注系统-任务图片集
5、基于SSM实现的图片标注系统-图片处理
6、基于SSM实现的图片标注系统-图片标注
7、基于SSM实现的图片标注系统-图片标签