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

不学习不行了

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


反正运行后出错了:


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

我就被打了一顿


原来没写这句话

加上了还是不对:



狮虎让我打印一下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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容