Alpha事后诸葛亮(阳光普照队)
Alpha事后诸葛亮
设想和目标
- 1、实现文字识别,以用户喜欢的图片做背景将其保存,生成新的图片。
- 2、时间比较赶,主要是因为队员对于Android开发方面的了解不多,可以说是几乎没有,需要一步一步的慢慢学。
- 3、团队主要是以开会的方式,大家共同商讨统一意见。并没有太大的分歧产生。
成员的体会与想法
-
邹星:
总结: 首先,做完了这个阶段的时候,我还是舒了一口气的,因为中途各种各样的原因,比如我和几个组员要求准备参加考试,而且我们还都是前端的开发人员,一瞬间导致那时候前端开发是停滞的状态。更不要说我们都是从未进行过Android开发的人士,所以当时我们的确很困难,晚上睡觉躺在床上的时候也是在看相关教程。所以说我们前期没有commit,什么的打不出来,我们也就没东西来commit的。然后我也看到了部分小组给我们的报告的留言,说实话,还真是没办法,或许是他们没认真听过我们之前的报告之类的吧,我们做的东西他们都不太清楚了。所以情理之中。但是首先我还是比较满意我们的这个阶段的成果的,遇到过很多问题,也包括我们临时做出变更,让我去搞数据库之类的。当成果出来的时候,尽管问题很多,但是我也感觉我们临时抱佛脚做出来的也差不多了。至于第二阶段的冲刺,再说吧,我们会尽力去尝试。 反思: 其实也是得怪自己没有相关的技能啊,如果我之前会一些Android开发的话也不至于有如此囧境,所以确实是多学一点没坏处,而且如果不看作业的话,我也感觉Android其实本身是蛮有趣的,只是一直背负着作业,也就根本没有去细细品味。
-
珍发:
总结: 经过Alpha阶段的冲刺,我涉及并了解了部分Android开发的知识,但是总体来说就是累死累活,毫无收获。原本我想先进行系统的学习,但是发现时间不够,所以只能去百度开源代码。我相信很多人都没有学过Android。我不知道这种拔苗助长,就是让你硬学的方式对学习有什么帮助。如果说学了什么,就是学习了自己负责部分的功能实现,还有一些bug的解决方法,但是这些对于Android来说就是九牛一毛,而且那些代码我也完全弄懂,只是百度和修改bug。因此,我还差得很远,需要对Android进行系统的学习和了解。 反思: 在Alpha阶段的冲刺,由于我个人能力的不足,为团队的进度带来了许多不便之处,我是做相册导入和拍摄界面,并略微涉及其他界面的设计和参与部分整合工作。由于之前未进行过系统的学习,也从未涉及这方面的知识,所以我都是百度到的,导致出现一些bug,而一个简单的bug都要百度很久,拖慢了团队的进度,原本一些很简单的bug,我遇到了暂时解决不了,我就去换一个版本的代码,所以导致有多个相册导入和拍摄的代码,造成混乱和注意力分散,我应该从一而终,针对一个代码进行修改和完善,更专心一点。
-
琪文:
总结: 在本次项目中,本人主要负责手写识别模型的训练。这次冲刺从结果上来说是失败的,自己虽然完成了训练模型的部分,但是由于不知道如何在安卓上应用自己的算法,在这其中浪费了一些时间和多走了很多弯路,最后也没能在服务器上成功部署自己的算法。原因有二:一是缺乏对项目经验和类似的经历,不熟悉服务器的部署和操作。二是错误估计模型训练的进度,这主要是由于硬件条件的限制,GPU的性能不支持我在十几天的时间内跑出一个令人满意的模型,在这个过程中对硬件条件的一次次妥协使项目进度滞后。 反思: 由于没能将自己的算法部署到服务器上,项目在最后一天使用了腾讯关于文字识别的API,但是这不是我们满意的结果,无论是从识别的表现上,还是处于对自我的要求,我们的算法是致力与识别手写的汉字,但是该API只针对印刷体,这和我们的初心不符,在下一个版本,我们会将自己的算法部署到服务器上,敬请期待。时间紧,人物重是冲刺的一大难题,毕竟我们每天不用上课可以一直冲刺,就本人而言,冲刺期间的考试也没什么好在意的,毕竟做出自己想要的东西才是程序员的真谛,学习?学习代码就够了。挂科也没有关系,挂科可以补考,代码可是一辈子的事情,确实不占用期末考试的时间!!!冲刺的大部分时间花在了配置神经网络环境和神经网络参数调优上,因为之前没有在自己的电脑上跑过如此大数量级的神经网络,因此部署新的环境和配置GPU加速花去了大量时间。最后在因为GPU条件的限制,无法按时调优和完成模型,因此不断的妥协,减少训练集,却因此牺牲了准确度。通过这一段时间的学习,深刻体会到硬件条件真真切切地影响着软件的发展。
-
伟根:
总结: 在阿尔法阶段,我感觉我挺有收获的,就是对Android开发有了一定的了解,对sqlite数据库也有了一定的认识。只是自己能力不够,感觉对团队的作用没多大。在别人忙碌的时候,我不知道怎么如何下手,自己去学了sqlite后也不知道怎么和其他人整合在一起,之后因为时间紧迫,只好做UI的再做本地数据库,给他们添了不少麻烦。总之,自己没有合理处理问题,没有和队友及时对接和交流。之后还得继续努力。 反思: 该阶段有收获,就是Android开发算是勉勉强强的入了门。也清醒的意识到自己的对Android开发的欠缺以及编程能力的薄弱。还有就是和队友的沟通交流不是很足够。自己还没尽力花时间投入到项目开发里面去。自己的不足导致了团队的进度变慢,心有惭愧。我应该不懂的一点点去百度,而不是一个大问题拿去问以及查询,导致自己理解不过来,问题也没搞懂,从而让自己的进度变得更慢。之后应该以点破面,慢慢搞懂,尽量花时间进去,合理分配好时间,及时做好和队友的沟通。
-
志平:
Alpha阶段总结反思:我负责的是主要是GitHub团队项目管理以及安卓部分的统筹。首先是GitHub团队项目的管理,在这方面,由于对于GitHub这个工具不是很熟,第一次使用,后续的工作,在初期的时候,经常遇到各种问题,也没能够很好的指导队友使用,在使用的时候出现问题也是一个个帮他们解决,导致效率十分低下。另外,我们团队项目的文档也没有怎么去细分,只是简单地将python部分分离,对于更加细节的部分没有进一步去分。还有项目的燃尽图部分,由于个人事情比较多,有时候会忘记去做,导致燃尽图不是很规范,对此只能对队友说声抱歉;其次是安卓部分,由于种种,个人的工作量偏少,只是做了首页和搜索部分,虽然经常和队友讨论,但是实际编码却还是偏少,大部分实际都在研究理论,去指导队友学习;我最深的体会是,对于整个团队来说,我们要充分做好沟通,查好资料再下决定,不然后面出现的问题还是会层出不穷。当然,也还是有值得肯定的部分的,我们作为开发的小白团队,没有一个人有实际的软件开发的经历,各种东西都要去摸索、去学习,学习新语言、新技术、新知识,软件开发的流程等,在金工实习那两周几乎每天都熬到两三点,一门心思扑在上面,这种感觉也是很久没有过的的,特别是解决问题时的满足感是最爽的。最后一点是希望在接下来的beta阶段,我们的项目功能能够更加完善,特别是算法部分,我们能够真正地做出我们自己的特色!
-
晓健:
总结: 在刚接到这个团队项目的时候,我都不觉得的我们团队能够开发成功,因为Android开发组除了志平之外没有一个人之前有Android开发经验。整组人都在摸着石头过河。Alpha冲刺正值电气工程实践期间,所以白天基本都是在电气工程院楼实践,唯一可以用来冲刺的时间就只有晚上了,然而又一噩耗传来——11月9日面向对象UML要考试,所以那几天的生活就是白天电气实践,晚上9点半前在教室复习,9点半后回到宿舍学Android,感觉非常累,累的都怀疑人生了~。由于考试的关系,所以考试之前基本没有实质性的项目进展,都是在学Android。考试之后才开始争分夺秒地冲刺。我负责的模块是书摘速览,本质实际上是堆栈式的图片浏览,虽然只有一个模块,实现起来却挺困难的,不是拖动控件可以解决的。最后在《第一行代码》和百度的帮助下,终于完成了功能模块的实现,就是滑动起来有点卡顿,而且不是非常的美观,后续Beta阶段将进行性能和界面上的优化。 反思: 学习和写代码的效率有待提高,总觉得自己学的比别人慢,代码敲的也比别人慢。此次通过Alpha冲刺,学到了挺多的知识,从开发工具的使用,到Github团队项目的操作一些基本操作。虽然Alpha阶段开发成功了,也会使用Android Studio的一些基本功能了,但是Android代码的并没有得到太大的提高,有很多东西还是需要百度,后续准备利用寒假时间系统地学习Android开发。
-
剑南:
对我来说,整个alpha阶段冲刺下来收获很多,问题也同样很多。出现的问题可能比收获还多,有些没解决的问题也差点导致整个alpha版本不能及时完成。 收获: 1.学习了Python与如何使用Python和一些相关的库去处理图像的相关内容。在此之前,我并没有接触过Python,也没用任何一种语言去处理过图像。通过这个阶段的冲刺让我很好的 学到了这两者。 2.ocr知识的学习。与上面一样,之前没有接触过ocr相关的内容,只是使用过一些识别文字的软件。虽然我在这次冲刺中只负责ocr的图像预处理工作,但还是在过程中学习到了不少ocr的知识。 3.服务器的相关知识的学习。虽然最后服务器方面不是我处理的,但在决定利用服务器与安卓对接的时候,学习了不少服务器相关的内容,也写了一些相关的接口,虽然最后都没使用上。 问题: 1.编写算法时出现的问题。因为之前没有接触过相关内容,在编写算法时遇到了各种各样的问题,比如Python版本和OpenCV版本导致的各种问题。不过在网上查看了许多博客和资料后也都解决了。 2.语言的选择。在确定要做ocr相关的软件后,我们确定使用Python来编写算法。这在冲刺后期确成为了一个主要的问题。因为在编写完算法后发现算法并不能与安卓端直接对接,不得不使用服务器来进行对接。但服务器的接口是使用Java编写的,使我们又不得不把算法打包后在接口中调用。在打包过程中又出现了问题,识别算法的一些文件无法被打包进去,导致整个算法无法使用。最后只能调用网上的API,相当于这次冲刺编写的算法根本无法使用。或许是一开始语言的选择问题,导致后面出现的一个个问题。也许一开始使用JAVA或C结果会好一点。