Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
s920243400
PaddleDetection
提交
a5816de8
P
PaddleDetection
项目概览
s920243400
/
PaddleDetection
与 Fork 源项目一致
Fork自
PaddlePaddle / PaddleDetection
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleDetection
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
a5816de8
编写于
11月 11, 2022
作者:
P
pk_hk
提交者:
GitHub
11月 11, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[ppyoloe-sod] add im_size to box_distribution (#7308)
上级
c5ab55e3
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
21 addition
and
3 deletion
+21
-3
configs/smalldet/README.md
configs/smalldet/README.md
+9
-3
tools/box_distribution.py
tools/box_distribution.py
+12
-0
未找到文件。
configs/smalldet/README.md
浏览文件 @
a5816de8
...
@@ -136,7 +136,8 @@ Tower(59)
...
@@ -136,7 +136,8 @@ Tower(59)
`
`
</details>
</details>
,原始数据集
[
下载链接
](
https://challenge.xviewdataset.org/download-links
)
。
,原始数据集
[
下载链接
](
https://challenge.xviewdataset.org/
)
。
### 用户自定义数据集准备
### 用户自定义数据集准备
...
@@ -289,10 +290,15 @@ CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output_inferenc
...
@@ -289,10 +290,15 @@ CUDA_VISIBLE_DEVICES=0 python deploy/python/infer.py --model_dir=output_inferenc
python tools/box_distribution.py
--json_path
../../dataset/DOTA/annotations/train.json
--out_img
box_distribution.jpg
python tools/box_distribution.py
--json_path
../../dataset/DOTA/annotations/train.json
--out_img
box_distribution.jpg
```
```
-
`--json_path`
:待统计数据集COCO 格式 annotation 的json文件路径
-
`--json_path`
:待统计数据集COCO 格式 annotation 的json文件路径
-
`--eval_size`
:推理尺度(默认640)
-
`--small_sride`
:模型最小步长(默认8)
-
`--out_img`
:输出的统计分布图路径
-
`--out_img`
:输出的统计分布图路径
以DOTA数据集的train数据集为例,统计结果打印如下:
以DOTA数据集的train数据集为例,统计结果打印如下:
```
bash
```
bash
Suggested reg_range[1] is 13
Mean of all img_w is 2304.3981547196595
Mean of all img_h is 2180.9354151880766
Median of ratio_w is 0.03799439775910364
Median of ratio_w is 0.03799439775910364
Median of ratio_h is 0.04074914637387802
Median of ratio_h is 0.04074914637387802
all_img with box: 1409
all_img with box: 1409
...
@@ -301,8 +307,8 @@ Distribution saved as box_distribution.jpg
...
@@ -301,8 +307,8 @@ Distribution saved as box_distribution.jpg
```
```
**注意:**
**注意:**
-
当原始数据集全部有标注框的图片中,
**有1/2以上的图片标注框的平均宽高与原图宽高比例小于0.04时**
,建议进行切图训练
。
-
`Suggested reg_range[1]`
为数据集在优化后DFL算法中推荐的
`reg_range`
上限,即
` reg_max+1`
。
-
当原始数据集全部有标注框的图片中,
**原图宽高均值大于1500且有1/2以上的图片标注框的平均宽高与原图宽高比例小于0.04时**
,建议进行切图训练。
### SAHI切图
### SAHI切图
...
...
tools/box_distribution.py
浏览文件 @
a5816de8
...
@@ -53,6 +53,7 @@ def get_ratio_infos(jsonfile, out_img, eval_size, small_stride):
...
@@ -53,6 +53,7 @@ def get_ratio_infos(jsonfile, out_img, eval_size, small_stride):
be_im_h
=
[]
be_im_h
=
[]
ratio_w
=
[]
ratio_w
=
[]
ratio_h
=
[]
ratio_h
=
[]
im_wid
,
im_hei
=
[],[]
for
ann
in
tqdm
(
allannjson
[
'annotations'
]):
for
ann
in
tqdm
(
allannjson
[
'annotations'
]):
if
ann
[
'iscrowd'
]:
if
ann
[
'iscrowd'
]:
continue
continue
...
@@ -63,6 +64,8 @@ def get_ratio_infos(jsonfile, out_img, eval_size, small_stride):
...
@@ -63,6 +64,8 @@ def get_ratio_infos(jsonfile, out_img, eval_size, small_stride):
else
:
else
:
im_w
=
coco
.
imgs
[
be_im_id
][
'width'
]
im_w
=
coco
.
imgs
[
be_im_id
][
'width'
]
im_h
=
coco
.
imgs
[
be_im_id
][
'height'
]
im_h
=
coco
.
imgs
[
be_im_id
][
'height'
]
im_wid
.
append
(
im_w
)
im_hei
.
append
(
im_h
)
im_m_w
=
np
.
mean
(
be_im_w
)
im_m_w
=
np
.
mean
(
be_im_w
)
im_m_h
=
np
.
mean
(
be_im_h
)
im_m_h
=
np
.
mean
(
be_im_h
)
dis_w
=
im_m_w
/
im_w
dis_w
=
im_m_w
/
im_w
...
@@ -72,9 +75,16 @@ def get_ratio_infos(jsonfile, out_img, eval_size, small_stride):
...
@@ -72,9 +75,16 @@ def get_ratio_infos(jsonfile, out_img, eval_size, small_stride):
be_im_id
=
ann
[
'image_id'
]
be_im_id
=
ann
[
'image_id'
]
be_im_w
=
[
w
]
be_im_w
=
[
w
]
be_im_h
=
[
h
]
be_im_h
=
[
h
]
im_w
=
coco
.
imgs
[
be_im_id
][
'width'
]
im_w
=
coco
.
imgs
[
be_im_id
][
'width'
]
im_h
=
coco
.
imgs
[
be_im_id
][
'height'
]
im_h
=
coco
.
imgs
[
be_im_id
][
'height'
]
im_wid
.
append
(
im_w
)
im_hei
.
append
(
im_h
)
all_im_m_w
=
np
.
mean
(
im_wid
)
all_im_m_h
=
np
.
mean
(
im_hei
)
im_m_w
=
np
.
mean
(
be_im_w
)
im_m_w
=
np
.
mean
(
be_im_w
)
im_m_h
=
np
.
mean
(
be_im_h
)
im_m_h
=
np
.
mean
(
be_im_h
)
dis_w
=
im_m_w
/
im_w
dis_w
=
im_m_w
/
im_w
...
@@ -100,6 +110,8 @@ def get_ratio_infos(jsonfile, out_img, eval_size, small_stride):
...
@@ -100,6 +110,8 @@ def get_ratio_infos(jsonfile, out_img, eval_size, small_stride):
ratio_w
=
[
i
*
1000
for
i
in
ratio_w
]
ratio_w
=
[
i
*
1000
for
i
in
ratio_w
]
ratio_h
=
[
i
*
1000
for
i
in
ratio_h
]
ratio_h
=
[
i
*
1000
for
i
in
ratio_h
]
print
(
f
'Suggested reg_range[1] is
{
reg_max
+
1
}
'
)
print
(
f
'Suggested reg_range[1] is
{
reg_max
+
1
}
'
)
print
(
f
'Mean of all img_w is
{
all_im_m_w
}
'
)
print
(
f
'Mean of all img_h is
{
all_im_m_h
}
'
)
print
(
f
'Median of ratio_w is
{
mid_w
}
'
)
print
(
f
'Median of ratio_w is
{
mid_w
}
'
)
print
(
f
'Median of ratio_h is
{
mid_h
}
'
)
print
(
f
'Median of ratio_h is
{
mid_h
}
'
)
print
(
'all_img with box: '
,
len
(
ratio_h
))
print
(
'all_img with box: '
,
len
(
ratio_h
))
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录