FasterRCNN 训练自己的数据集
这学期接手了一个project,关于宫颈癌前期筛查,我的任务是训练网络识别细胞切片里的细菌和微生物。
学长给我的是fasterRCNN的代码。
那么我的任务本质就是用fasterRCNN在我自己的数据集上训练,已达到识别的目的。
数据预处理
代码里有学长写好的自己的数据类型训练方法,输入图片是1024*1024,原先是用来进行多label的识别。
我拿到的数据也是多label的,那首先要把dirty的数据变得‘单纯’。
先从4.+G的图片数据内提取出文件名含‘fungi’的,发现有400+M。
由于一个样本特别大,所以分成了多个2048*3072的图片(称为视野图),只要这些视野图里有一个有医生标注的fungi,则整个样本都命名为fungi。
所以,还要将那些确实有fungi label的视野图找出来,用python.xml.etree.ElementTree库可以实现。
最后将图片crop成1024*1024的,并生成相应的XML文件。
然后出现了最大的问题。
问题!
最后的有用数据只有 80 多个。。。。
从4G+的原始数据里只有4M的有用数据。。。
还是试着训练了几下,调了点参数,出来几个model,训练时的loss感觉还好,在1.+~2.+之间,于是再demo。
出大事了。
所有的model对不同的图片输出都是固定的。。。
?就是这样。
后来又搞了一批数据,同上处理了一波,数据量加大到200+(?)
训练、demo–>还是固定输出。
现在僵在数据量这里了,有突破了再更。
关于fasterRCNN
有几篇blog写的都不错。
贴下:
http://www.telesens.co/2018/03/11/object-detection-and-classification-using-r-cnns/
知乎上还有一篇,写的不错。