软件工程 之 结队项目——第一次作业
3129罗睿致 3135雷成明
项目题目:通过人工智能算法的产品缺陷检测问题
一、需求分析(NABCD模型)
1、N(Need,需求)
随着现代社会工业的自动化程度不断提高,越来越多的工作由机器替代了,机器的功能也越来越丰富,在这样子的社会环境下工厂也越来越多的使用机器,但对于产品质量的缺陷检测却成了问题,产品公司需要对产品的质量进行缺陷检测以确保对产品质量的了解及对产品质量的保证,以避免出现产品的质量问题,保证产品的质量良好,同时公司也希望尽可能的使用机器,减少人工的使用而减少相应的人工成本,改变多人工的局面。客户和国家监管部门也需要对产品质量进行了解,通过系统检测出来的产品质量的数据也可以对外公布,以求对客户等群体对于产品的质量有更好的认识。
2、A(Approach,做法)
1、对各个情况下的缺陷图片进行大量收集汇总并按照程度不同进行分类。
2、通过机器学习,不断训练其增强对于缺陷的判断能力。
3、用系统分析产品缺陷的图片,测试系统的效果是否达标。
4、包装形成相应的软件,使得其功能完善、齐全、美观。
3、B(Benefit,好处)
减少企业的人工成本,帮助企业减少花销。
可对所有产品都进行检测,可以确保产品输出0问题。
可以对所有出厂产品的质量都进行检测记录。
可以对所有生产的产品在同一标准下进行评判和比较,所得到的数据信息更具说服力。
可以方便国家相应的质量监察部门更好的对产品质量进行监督检测。
得到的相应的产品数据可以公布,让社会对公司的产品质量有更直观的了解。
在同一系统下,不同的公司的产品可以进行对比,让消费者能够有更好的选择。
4、C(Competitors,竞争)
相应的内容技术含量较低,大部分的高水平大学生都可以完成此项目,因此潜在竞争对手极多。且项目的发展前景好,因此竞争极大。
5、D(Delivery,推广)
系统制作出来后立即投入使用
制作完成后开展试用,一方面作为推广,另一方面更好的了解产品的情况和问题,能够及时改进和升级产品。
定期对产品问题进行收集,根据问题不断改良升级系统,以求更好的维护系统。
增加对产品的公告营销,时常去工厂进行推广,以求能让更多的人了解到此产品并能更好的发展。
二、原型系统
我们采用Faster RCNN的方法对得到的相应图像进行实时的处理,整体架构包括RPN方法和Fast RCNN方法这两个部分,RPN方法和Fast RCNN方法使用的是相同的CNN网络,在相应的网络得到图像,然后在图像中提取特征,CNN方法的主要结构如图。
RPN方法的作用是为提出候选目标,其结构示意如图,其流程包括:
输入相应的图像后,我们利用CNN网络来得到特征图像,
然后我们把每个特征图上的每一个CONV的特征映射成为向量并输入Softmax层和Regressor层里面,
然后预测其缺陷边界框的具体坐标。
Fast RCNN方法的作用是为对所得图像中的缺陷的位置进行精确的定位和缺陷的分类,流程如图:
首先我们从输入的图像中提取相应的特征图并获得感兴趣的区域,
然后我们在ROI池内,将预先计算的兴趣区域覆盖在其特征图上,提取固定大小的特征向量数据,
然后我们把所得相应的向量输入全连接层中,计算边界框的准确位置及对框内部的对象进行情况分类。
三、PSP表格
PSP | Personal Software Process Stages | 预计消耗(小时) | 实际消耗(小时) |
Planning | 计划 | ||
-Estimate | -估计这个任务需要多少时间 | 10 | 13 |
Development | 开发 | ||
-Analysis | -需求分析(包括学习新技术) | 9 | 11 |
-Design Spec | -生成设计文档 | 5 | 7 |
-Design Review | -设计复审(与组员审核设计文档) | 4 | 5 |
-Coding Standard | -代码规范(为目前的开发制定合适的规范) | 3 | 3 |
-Design | -具体设计 | 3 | 3 |
-Coding | -具体编码 | 3 | 3 |
-Code Review | -代码复审 | 7 | 8 |
-Test | -测试(自我测试、修改代码、提交修改) | 5 | 6 |
Reporting | 报告 | ||
-Test Report | -测试报告 | 3 | 4 |
-Size Measurement | -计算工作量 | 4 | 4 |
-Postmortem & Process Improvement Plan | -事后总结,并提出过程改进计划 | 2 | 2 |
合计 | 58 | 69 |
四、结对心得
雷成明
队友很负责任,在完成报告的时候很辛苦努力,很高兴能和睿致同学一起组队,在组队中也学到了很多新的东西,我们会努力完成任务
罗睿致
这次任务十分的辛苦,也十分的艰辛,我和队友一起努力去完成这次任务,感觉在整个过程中,学习到了很多的知识和内容,也得到了进步和提升,虽然感觉很累,但收获满满。
五、项目总结
缺陷检测项目是一个十分有意义的一个项目,随着现代社会工业的自动化程度不断提升,各个工作岗位也慢慢给自动化代替,因此自动化的产品在未来的发展是十分的可观的,而产品质量一直是一个大问题,在人工时代下,产品质量能够得到比较好的保证,但在自动化的情况下,我们对产品质量的了解程度大大降低,这样子也就很难保证产品质量的良好,因此缺陷检测技术是未来十分必要的,可以说这在未来自动化的工业化中是刚性需求,因此通过人工智能进行缺陷的检测这门技术就变得十分的有意义,可以让公司保证出厂的产品质量以及让消费者和监管部门对产品的质量有更好的了解、监督管理,发展前景极好,潜在市场大,在未来的发展中有很好的前景。