【八月总结】回实验室第一个月
整整两个月没有更新博客了,真是越来越懒了,哎,拖延症一直都在,希望自己能战胜懒惰,重拾热情啊。
实习的六月
在理光的实习结束了,6月后半段,已经慢慢在准备交接的事情,写了一个MFC的演示程序,把检索的接口写好了给了师兄,整理了在公司所有的资料,该提交的,该删除的,该自己带走的,吃了告别的聚餐,依依惜别的组里的大小同事们。感觉这个实习对我的帮助还是很大的,最主要的还是在写C++上,包括代码封装,还有代码风格,还有大中型项目的开发。离别聚餐时,组里的同事对我的评价出乎意料的竟然是“工程能力很不错”,这真让我这个编程菜鸡意外的开心,也算真正意义上知道自己已经是个程序员了。在公司主要做的事主要分三个阶段,第一阶段做的是一个文本检测识别的任务,也是我的老本行,做了一个条码方向识别,一个数字识别,还是很easy的,也算预热,因为实习前太久没写c++了;第二阶段就是调研CBIR paper,也略微的研究了一下CNN理论以及CBIR的实践,重点研究的是VGG组的Vlfeat c&&matlab接口、MatConvNet,vlfeat是视觉工具包,后者是matlab的深度学习框架,其次也学习了java里面的做图像检索的lire包,编译了一下caffe windows(但是没咋用。。。)。做CBIR的方法还是主流的VLAD以及CNN feature,这里不得不提到袁勇大神的帮助,看他的博客对我的学习真的帮助很大。第三阶段就主要是整理代码,结合项目的实现了,值得一提的是,曾幻想在公司时水篇关于CBIR的论文,但是发现时间真的很短,一周才三天,一月才12天,于是弃了。
周总结
写的一些代码
看的部分paper
快节奏的七月
七月一开始,女友就突发阑尾炎,照顾了她一周,莫名其妙的见了家长及亲戚。。。get了一首做菜的技巧,我已经是土豆丝炒肉狂魔了。。。其实真的该说的是,身体才是革命的本钱,无论怎么努力,按时吃饭,按时睡觉,勤锻炼,作息规律才行。。。随后一周回学校,连着一周夏季学期的课,每天从早上八点到晚上9点,连着12节。。。真是惨,都怪自己因为实习错过了一门选修考试,结果挂了,现在要多选一门。之后就回城区进实验室了,青年公寓住宿跟怀柔那边比差好多,刚回来搬家,只能说寝室脏乱差,之后两天在实验室倒腾双系统系统,装VS,matlab,CUDA,opencv,2K15,dota2,war3,office。。。再就是ubuntu,一开始不熟悉,现在也好多了,搭caffe、cuda、theano、opencv3的环境,来来回回由于显卡驱动,windows装了2次,ubuntu装了3次,再就是装备买了个500的ducky茶轴机械键盘,借着搞DL之名公费买了500的GTX水显卡。一直到七月第三周结束,也啥都没干。七月最后一周回家了,先斩后奏,回家找大学基友玩了两天,回老家呆了两天,在家里宅了两天。于是七就这么快快的过了。
渐入佳境的八月
八月回来之后,开始反思自己,目标要明确,要有计划有规律,于是给自己制定了
大部分重要的也都完成了吧,leetcode的题目博客还没有写,太懒了。
part1:所幸DL for text detection上的工作已经超过预期了,(1)帮助师兄的SWT方法上用CNN提升了F值2个百分点;(2)读了4片CNN+TEXT的论文了,现在在细读其中2篇,现在在读一篇新的想复现;(3)用了vlfeat里面的MSER函数,准备应用到以后去的mser模块里;(4)编译了max大神linux下版本的matconvnet,能用他的detnet模型;(5)编译了opencv3 的 opencv_contrib module,使用了text detection demo;(6)python爬虫抓去了flickr上的40000张含有文本的图,程序提取出12W个样本,程序分类了大概8W正样本,之后就要手动的标注了,好苦逼。。当然这些都是为了caffe上训练CNN。(7)自己的slidng window+CNN classifier+NMS、multi channel等很多想法,发现前人的论文里也都有试过,现在打算试试图像检索+KNN试一试。
part2:caffe在linux下的使用,现在我跑了薛开宇的caffe笔记里面的1/2/3/4 已经知道caffe的大致用法了,使用起来还是比较简单的,主要是linux下的各种操作还不熟悉,再就是搭环境化了很多时间,自己试着用 alexnet的模型用500正 500负样本去train model,但是发现收敛的一点都不好每次都只有60。可能还是有问题可能是模型选的不好,也可能是样本本身不可分,也有可能是预处理的不好,总之还有很多要继续学习,目前caffe的使用上任然只会linux下的cmd c++接口。python、matlab接口都未尝试。
part3:theano,关于theano花的时间真的很少,python这部分的学习基本没有进展,主要是在自己的台式机以及实验室的服务器上搭CUDA+THEANO环境,CUDA+CAFFE环境花了一部分时间,其他都在用caffe了,接下来一个月要好好的用 numpy scipy skit-learn theano matlotlib这些了,跟着机器学习实战,还有skit-learn theano的tutorial来吧。
part4:leetcode题目博客,这个真的要检讨。目前一篇博客都没有,感觉刷完题目,一定需要总结一下:
174 Dungeon Game
5 Longest Palindromic Substring
148 Sort List
part5:刷题数目应该超过这个了差不多15道左右,其中的解数独的题,想写成一个QT的游戏
part6:师兄的代码还没看,主要想了解一下color extension部分
part7:python的学习这块准备下个月作为重点,参见part3
other:关于CNN的分享也做完了,和小boss讨论了1小时CNN的原理,关于BP,以及各层的作用,也制定了之后的短期目标;valse slide还没看,慢慢来吧
现在也有了每日学习计划,执行了2、3天感觉还行非常有规律,主要是 上午paper reading + 下午 code writing +晚上 self-learning的模式。
九月的期望
保证每周一篇paper细读,2篇粗读
skit-learning 结合 kaggle 结合 python 至少完成一个比赛任务
leetcode 结合 写博客 结合 c++ 4/每周
主题还是学习caffe、theano、skitlearn、opencv3
阅读一些有助于编程习惯的书
rrc 比赛希望能超过75% ER + CNN 或者其他方法
QT + SUDOKU