这就是里面的图片的样子 终于找到了关于这个数据集的解释
停车场数据集(CARPK)包含来自4个不同停车场的近90,000辆汽车,这些停车场通过无人机(PHANTOM 3 PROFESSIONAL)收集。 用无人机视图收集图像,高度约为40米。 此外,我们从部分PUCPR数据集(称为PUCPR +数据集)中完成单个图像中所有汽车的注释,其中总共有近17,000辆汽车。 这是一个大型数据集焦点,用于在不同停车场的场景中进行车辆计数。 图像集由每辆车的边界框注释。 所有标记的边界框都记录了左上角和右下角。 它支持对象计数,对象本地化以及在边界框中使用注释格式进一步调查。 下载的数据集包含以下结构:
❤停车场数据集(CARPK) - 包含89,777辆汽车的信息
图像 - 无人机视图图像(* .png)与所属停车场的名称
注释 - 文本文件(* .txt),每行标记为汽车,文件名与图像文件相对应
❤巴拿马天主教大学+数据集(PUCPR +) - 包含16,456辆汽车的信息
图像 - PUCPR建筑物停车场的10楼视图(。* jpg)
注释 - 文本文件(* .txt),每行标记为汽车,文件名与图像文件相对应
❤其他工具
边界框绘图工具 - 用于边界框可视化的脚本
计数评估工具 - 用于估算MAE和RMSE的脚本
我:脚本是啥啊?什么jio?
狮虎:脚本简单地说就是一条条的文字命令,这些文字命令是可以看到的(如可以用记事本打开查看、编辑),脚本程序在执行时,是由系统的一个解释器,将其一条条的翻译成机器可识别的指令,并按程序顺序执行。比如,python就是一种脚本。
我:那C语言就不是脚本语言了吧。
狮虎:还真不是,你说说为啥啊?
我:是因为C要来回调用,不是顺序执行。
狮虎:不是不是,是因为C要编译,就是C语言要用编译器编译,需要把C语言的代码变成机器码。C就要写一个main然后整个写完之后编译,再运行。解释执行的就是脚本。
下面跟着解释,来看看到底标注是啥意思:
插播一句:可以看出来这里面的GF1和NTU便是所属停车场的名字打开其中一个脚本:
# Draw PUCPR+ ground truth bounding boxes
ipython ./tool/draw_bounding_boxes.py -- --annots_dir ./PUCPR+_devkit/data/Annotations/ --images_dir ./PUCPR+_devkit/data/Images/ --output_dir ./output_images/PUCPR+/
# Draw CARPK ground truth bounding boxes
ipython ./tool/draw_bounding_boxes.py -- --annots_dir ./CARPK_devkit/data/Annotations/ --images_dir ./CARPK_devkit/data/Images/ --output_dir ./output_images/CARPK/
狮虎:ipython跟python差不多,ipython xxx,就是在调用python执行一个python的脚本
那就一句一句地来看吧:
ipython ./tool/draw_bounding_boxes.py
就是执行这个.py文件狮虎讲话,记下来:
python xxx.py --yyy zzz:用python执行xxx.py,--yyy zzz是一个选项,比如,可能是用什么模式运行,或者告诉它标注在哪里。简而言之就是,python xxx.py就是告诉一个夫可以开始工作了,后面的就是具体干什么。起夫 该去实验室学习了,后面的也可以改成去图书馆学习,回宿舍学习。
看一下这个.py文件里面怎么写的吧:
就是把里面的参数读出来 \d+ :代表任意数字,是正则匹配里面的,相当于从一个字符串里,找出来一个数字。 这里就是在画了运行的时候:
print不再是语句,而是函数,比如原来是 print 'abc' 现在是 print('abc')
解压上传到jupyter的文件:
New Terminal 狮虎:居然又又又又又没安装 输入密码后: 用完以后要exit然后再×掉,就好了 一个函数一个函数地看作用这是第一张图的标注:
这是第一张图片:
就是我图上面标记的每个车的“左上角的坐标(x1,y1)和右下角的坐标(x2,y2)”由于原来的画图函数,不好理解,也不好用,所以改用以下函数:
好啦,这是在狮虎的指导下,我修改的画图的函数,简单又好:
请看效果图:
由于现在只画了一个,所以把所有的车车都画出来吧~
网友评论