Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
一汁程序喵
ssd-pytorch
提交
0fd68d74
S
ssd-pytorch
项目概览
一汁程序喵
/
ssd-pytorch
与 Fork 源项目一致
从无法访问的项目Fork
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
ssd-pytorch
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
0fd68d74
编写于
5月 09, 2021
作者:
B
Bubbliiiing
提交者:
GitHub
5月 09, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add files via upload
上级
80da9702
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
85 addition
and
0 deletion
+85
-0
vision_for_prior.py
vision_for_prior.py
+85
-0
未找到文件。
vision_for_prior.py
0 → 100644
浏览文件 @
0fd68d74
from
itertools
import
product
from
math
import
sqrt
import
matplotlib.pyplot
as
plt
import
numpy
as
np
from
utils.config
import
Config
mean
=
[]
for
k
,
f
in
enumerate
(
Config
[
"feature_maps"
]):
x
,
y
=
np
.
meshgrid
(
np
.
arange
(
f
),
np
.
arange
(
f
))
x
=
x
.
reshape
(
-
1
)
y
=
y
.
reshape
(
-
1
)
for
i
,
j
in
zip
(
y
,
x
):
# print(x,y)
# 300/8
f_k
=
Config
[
"min_dim"
]
/
Config
[
"steps"
][
k
]
# 计算网格的中心
cx
=
(
j
+
0.5
)
/
f_k
cy
=
(
i
+
0.5
)
/
f_k
# 求短边
s_k
=
Config
[
"min_sizes"
][
k
]
/
Config
[
"min_dim"
]
mean
+=
[
cx
,
cy
,
s_k
,
s_k
]
# 求长边
s_k_prime
=
sqrt
(
s_k
*
(
Config
[
"max_sizes"
][
k
]
/
Config
[
"min_dim"
]))
mean
+=
[
cx
,
cy
,
s_k_prime
,
s_k_prime
]
# 获得长方形
for
ar
in
Config
[
"aspect_ratios"
][
k
]:
mean
+=
[
cx
,
cy
,
s_k
*
sqrt
(
ar
),
s_k
/
sqrt
(
ar
)]
mean
+=
[
cx
,
cy
,
s_k
/
sqrt
(
ar
),
s_k
*
sqrt
(
ar
)]
mean
=
np
.
clip
(
mean
,
0
,
1
)
mean
=
np
.
reshape
(
mean
,[
-
1
,
4
])
*
Config
[
"min_dim"
]
linx
=
np
.
linspace
(
0.5
*
Config
[
"steps"
][
4
],
Config
[
"min_dim"
]
-
0.5
*
Config
[
"steps"
][
4
],
Config
[
"feature_maps"
][
4
])
liny
=
np
.
linspace
(
0.5
*
Config
[
"steps"
][
4
],
Config
[
"min_dim"
]
-
0.5
*
Config
[
"steps"
][
4
],
Config
[
"feature_maps"
][
4
])
print
(
"linx:"
,
linx
)
print
(
"liny:"
,
liny
)
centers_x
,
centers_y
=
np
.
meshgrid
(
linx
,
liny
)
fig
=
plt
.
figure
()
ax
=
fig
.
add_subplot
(
111
)
plt
.
ylim
(
-
100
,
500
)
plt
.
xlim
(
-
100
,
500
)
plt
.
scatter
(
centers_x
,
centers_y
)
step_start
=
8708
step_end
=
8712
# step_start = 8728
# step_end = 8732
box_widths
=
mean
[
step_start
:
step_end
,
2
]
box_heights
=
mean
[
step_start
:
step_end
,
3
]
prior_boxes
=
np
.
zeros_like
(
mean
[
step_start
:
step_end
,:])
prior_boxes
[:,
0
]
=
mean
[
step_start
:
step_end
,
0
]
prior_boxes
[:,
1
]
=
mean
[
step_start
:
step_end
,
1
]
prior_boxes
[:,
0
]
=
mean
[
step_start
:
step_end
,
0
]
prior_boxes
[:,
1
]
=
mean
[
step_start
:
step_end
,
1
]
# 获得先验框的左上角和右下角
prior_boxes
[:,
0
]
-=
box_widths
/
2
prior_boxes
[:,
1
]
-=
box_heights
/
2
prior_boxes
[:,
2
]
+=
box_widths
/
2
prior_boxes
[:,
3
]
+=
box_heights
/
2
rect1
=
plt
.
Rectangle
([
prior_boxes
[
0
,
0
],
prior_boxes
[
0
,
1
]],
box_widths
[
0
],
box_heights
[
0
],
color
=
"r"
,
fill
=
False
)
rect2
=
plt
.
Rectangle
([
prior_boxes
[
1
,
0
],
prior_boxes
[
1
,
1
]],
box_widths
[
1
],
box_heights
[
1
],
color
=
"r"
,
fill
=
False
)
rect3
=
plt
.
Rectangle
([
prior_boxes
[
2
,
0
],
prior_boxes
[
2
,
1
]],
box_widths
[
2
],
box_heights
[
2
],
color
=
"r"
,
fill
=
False
)
rect4
=
plt
.
Rectangle
([
prior_boxes
[
3
,
0
],
prior_boxes
[
3
,
1
]],
box_widths
[
3
],
box_heights
[
3
],
color
=
"r"
,
fill
=
False
)
ax
.
add_patch
(
rect1
)
ax
.
add_patch
(
rect2
)
ax
.
add_patch
(
rect3
)
ax
.
add_patch
(
rect4
)
plt
.
show
()
print
(
np
.
shape
(
mean
))
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录