
实验代码
DOTA数据集
Liaojiajia-2020
CVLAB、Object Detection、Deep Learning
展开
-
【JSON格式划分数据】json格式数据划分训练集、验证集
json格式数据划分训练集、验证集split_train_val.py执行python split_train_val.py --img_path xxx --json_file *.json --output xxx即可。#!/usr/bin/env python# -*- coding:utf-8 -*-# 将一个文件夹下图片按比例分在两个文件夹下import osimport randomfrom shutil import copy2import jsonimport argpa原创 2022-03-04 16:07:17 · 6038 阅读 · 10 评论 -
【转换格式脚本】COCO格式转YOLO
import jsonimport argparse# json中bbox的格式是top_x, top_y, w, h # 转成Yolo的格式是cen_x, cen_y, w, h的相对位置def convert(img_size, box): dw = 1. / (img_size[0]) dh = 1. / (img_size[1]) x = box[0] + box[2] / 2.0 y = box[1] + box[3] / 2.0 w = b原创 2022-03-04 15:52:36 · 3114 阅读 · 0 评论 -
【画框脚本】YOLO和COCO格式画框
【画框脚本】YOLO和COCO格式画框1. yolo格式画框2. COCO格式画框1. yolo格式画框import cv2import osimport colorsysimport randomfrom tqdm import tqdmdef get_n_hls_colors(num): hls_colors = [] i = 0 step = 360.0 / num while i < 360: h = i s = 90 + random.rand原创 2022-03-02 16:16:47 · 3009 阅读 · 0 评论 -
【转换格式脚本】yolo\visdrone\detection转换COCO格式
【转换格式脚本】1. yolo2coco.py2. visdrone2coco.py3. 把yolov5 detect的输出转成coco4. visdrone-MOT转coco1. yolo2coco.pyimport impimport jsonimport cv2import osbnd_id_start = 0times = 0json_dict = { "images" : [], "type" : "instances", "ann原创 2022-03-02 15:56:07 · 3599 阅读 · 0 评论 -
自用代码 | 用Python对视频进行帧切割和帧合并
用Python对视频进行帧切割和帧合并一、视频帧切割二、视频帧合并一、视频帧切割cut.pyimport cv2import numpy as np def video2frame(videos_path,frames_save_path,time_interval): ''' :param videos_path: 视频的存放路径 :param frames_save_path: 视频切分成帧之后图片的保存路径 :param time_interval: 保存间隔 :原创 2021-06-04 13:19:44 · 2109 阅读 · 1 评论 -
自用代码 | YOLOv5 特征图可视化代码
在yolov5的项目中,添加一些代码就可以实现特征图可视化。在项目/home/jjliao/code/yolov5-feature/utils/utils.py中添加如下的代码:outDir是你的特征图可视化目录outDir = "/home/jjliao/code/yolov5-feature/output/feature_new/" def visualize_feature(features, imgid, i, num, sigmod=False): outDir = "/ho原创 2021-04-20 09:32:32 · 7383 阅读 · 19 评论 -
自用代码 | 读取pkl文件并保存为txt格式
import picklef=open(r'C:\Users\jiajia520\Desktop\R2CNN_20180922_DOTA_v28_detections_h.pkl', "rb")#文件所在路径inf=pickle.load(f, encoding='latin1')#读取pkl内容print (inf)f.close()原创 2021-04-20 09:29:54 · 3271 阅读 · 0 评论 -
自用代码 | 数据集画框代码(txt、xml、json三种格式画框)
1. json–>>txt–>>画框https://blog.youkuaiyun.com/mary_0830/article/details/103212958在这里插入代码片2. xml–>>画框https://blog.youkuaiyun.com/mary_0830/article/details/108776419(第五点)import osimport os.pathimport xml.etree.cElementTree as ETimport cv2def原创 2020-11-03 16:36:22 · 1152 阅读 · 1 评论 -
自用代码 | python操作处理数据
python操作处理数据一、 批量读取文件名并保存至txt1. 批量读取文件名,并将读取的文件名保存到指定路径下的txt中(带.*** 后缀)2. 只读取文件名,并将读取的文件名保存到指定路径下的txt中(不带文件后缀)3. 在txt文件中,在读取的文件名前批量添加 前缀/ 后缀二、根据txt文件中的id名,在另一个文件夹下提取出相应的文件三、 计算函数运行时间一、 批量读取文件名并保存至txt参考博客: Python批量读取文件名并保存至txt1. 批量读取文件名,并将读取的文件名保存到指定路径下的原创 2020-10-24 16:35:11 · 1021 阅读 · 0 评论 -
YOLOv5代码详解(yolov5l.yaml部分)
YOLOv5代码详解 (第三部分)3. yolov5l.yaml3.1 yaml介绍3.2 parameters3.3 anchors3.4 backbone3.5 head3. yolov5l.yaml这部分属于代码中的配置文件。该代码是xxxx.yaml使用配置文件,通过./models/yolo.py解析文件加了一个输入构成的网络模块。与config设置的网络不同,不需要进行叠加,只需要在配置文件中对number进行修改即可。特别说明是2020.7.4更新的那一版。3.1 yaml介绍Y原创 2020-07-05 14:16:55 · 35868 阅读 · 51 评论 -
YOLOv5代码详解(common.py部分)
YOLOv5代码详解 (第四部分)4. common.py4.1 卷积层4.1.1 深度分离卷积层4.1.1 标准卷积层4.2 标准Bottleneck4.3 BottleneckCSP4.4 SPP4.5 Flatten4.6 Focus4.7 Concat4. common.py该部分是backbone各个模块参数讲解。4.1 卷积层4.1.1 深度分离卷积层深度分离(DepthWise)卷积层,是GCONV的极端情况,分组数量等于输入通道数量,即每个通道作为一个小组分别进行卷积,结果联结作原创 2020-07-05 14:16:43 · 17671 阅读 · 19 评论 -
YOLOv5代码详解(test.py部分)
YOLOv5代码详解 (第二部分)2. test.py2.1 设置超参数2.2 设置任务(验证,测试,学习)2.3 测试函数2.3.1 初始化模型2. test.py该部分主要用于运行train.py时,计算每个epoch的mAP。PS,与train.py相似的部分就不再阐述。2.1 设置超参数权重,数据,batch size,图像尺寸,使用哪张显卡,数据增强,计算mAP。if __name__ == '__main__': parser = argparse.ArgumentParse原创 2020-07-05 14:16:28 · 17457 阅读 · 42 评论 -
YOLOv5代码详解(train.py部分)
1. train.py1.1 使用nvidia的apex接口计算混合精度训练mixed_precision = Truetry: # Mixed precision training https://github.com/NVIDIA/apex from apex import ampexcept: print('Apex recommended for faster mixed precision training: https://github.com/NVIDIA/apex'原创 2020-07-02 14:59:00 · 39506 阅读 · 44 评论 -
复现SCRDet:Towards More Robust Detection for Small, Cluttered and Rotated Objects(ICCV2019)遇到的问题及解决方案
复现SCRDet网络遇到的问题及解决方案问题一、OutOfRangeError (see above for traceback)可能的原因有:数据为空(出问题)或者局部变量没有初始化,初始化局部变量。一般这种问题都不是代码的问题,请先检查训练数据:\1. 训练数据中图像文件和标注文件数量是否相同\2. 训练数据中是否有损坏的图片(数量多的话可以用PIL写个简单的加载方法去判断)\3...原创 2020-02-08 11:11:36 · 1484 阅读 · 12 评论 -
记录跑通CenterNet的demo.py
第一次跑模型的代码,就需要首先跑通作者原来的代码,再修改成自己的数据集进行训练。所以!第一步!根据作者的Readme跑代码的时候,就遇到了下面的报错。查了百度也没有找到问题!报错:torch.jit.frontend.NotSupportedError: slicing multiple dimensions at the same time isn't supported yetpro...原创 2019-12-01 12:03:21 · 1874 阅读 · 10 评论