Class-Agnostic Counting——模型复现(终篇

2019-03-04  本文已影响0人  PolarBearWYY
不学习不行了

我突然发现,有的图片是这样的:

反正运行后出错了:

狮虎说,要整数,但是我给的是浮点数

我就被打了一顿

原来没写这句话

加上了还是不对:

狮虎让我打印一下draw看看 draw是空的;再打印一下img img也是空的 原来路径错了 这次就对了

准备画出来所有的时候:

发现无论一直只能画一个:

检查了一下,原来是return的缩进不对。

这样就对了

于是都画出来了:

下面开始写批量训练的程序了:

已经是个成熟的代码了,要学着自己一个一个滴读取了

对比之前的项目,看看有哪些部分:网络定义、数据、训练

网络定义已经写好了,数据正在做,训练还没有做。

很久很久以前,有个叫做WYY的博主,把网络定义已经写好了,突然发现轻松了很多,那就直接抄一下她的,就可以了。

数据还没写好,开始写数据部分吧

赶紧拿来face项目的代码,来看看是怎么个写法:

是将图片和label一一对应。

简而言之,我现在的问题是,我不会写,把所有的图片都读了的程序。

首先看一下此处的init是在做什么。init是在指明数据路径,数据转换,以及是训练集还是测试集

数据分为图片和label两部分,图片如下:

label如下:

图片与label是一一对应的 其他部分不改,画框的地方改一下

红色部分是在读取所有的图片,将它们改成这样:

之前写过读取标注文件并画出来。

巴拉巴拉,就是把之前face的拿过来改一下:

这是标注的路径 这是img们的路径

注意,label与img两个路径,所以这里要做相应的改正:

这时候,还不是label与img还不是一一对应的关系,所以要sort一下:

让他们按照名字排序,这样就可以一一对应了:

sorted(iterable[, cmp[, key[, reverse]]])

Return a new sorted list from the items in iterable.(会返回一个重新排列好的list)

iterable(可迭代):可迭代对象,可以是list也可以是dict

cmp:可以自定义比较规则,这里不详细叙述(比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。)

key:用于比较的值(主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。)

reverse:指定是顺序还是逆序(reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认))

请看以下实例:

啊,你看,还有sort和sotred的区别:

先试一下sorted怎么用吧:

在这之后加上一个sorted吧

今天是开心的一天!开始写代码咯!

改正了一些小问题以后,发现还是网络部分有问题:

总说它没有“孩子”,救救孩子吧 同样的,你看这里,就有啊。

比较一下,这两身衣服:

原来是拼写错了,是孩子,不是该子 原来有fc层 优化器这里也有 滴滴哒滴滴哒

(1)得到“小图”与“大图”:

1)小图:63*63,切割出的小汽车(随机决定切哪个小汽车,这样可以保证,无论切的是哪个小汽车,都能数出来)

如果我们认为(0,0)为图像的左上角,则称为im以左到右为x方向,自上而下为y方向,我们以(x1,y1)为左上角顶点,(x2,y2)为该图像中矩形区域的右下角顶点,然后:roi = im[y1:y2, x1:x2]

获取各个汽车的左上角和右下角的坐标的代码已经写过了:

这是一个二维数组吧,或者叫做一个矩阵吧

但是我只需要从中随机取一组即可:任弱水三千,我只取一瓢而已。

我的瓢如下:

取得时候出现了以下错误:

查资料后:

这下就对了:

终于啊:

这里红色的就是说,如果版本更新了,可能会有不同,我们暂时不用管它 这部分应该放在dataset的transform部分 希望今天能调通代码

(1)dataset模块调试:

1)实例化一个dataset;

2)再调用一下(看看这个dataset里面有什么);

该dataset里面是许多img和许多label 此处不一样是正常的,每次都是新的 注意,这里一开始写错了啊 朕惊 据说我的for循环这里,一直在找文件夹,结果找不到。 改正以后,就对了。

是不是终于对了:

还是有点不对,于是今天,我又来改了。

但是这里还是有点不对,因为txt只读到了文件名,并没有读到文件里面是啥,怎么回事呢。 哈哈哈哈哈

终于对了:

你看,就对了啊哈哈哈 就还不对

在这里说一下,如果到下周三,我这个“数数”还数不完,就不做了。

好美丽

heatmap:

1.先生成一个和原图一样大的全为0的图

2.计算图上每一个点到中心点的距离

3.根据距离计算值

代码已经写好:请看本人github:https://github.com/POLARBEARWYY/Class-Agnostic-Counting

上一篇下一篇

猜你喜欢

热点阅读