Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleHub
提交
8dc06771
P
PaddleHub
项目概览
PaddlePaddle
/
PaddleHub
9 个月 前同步成功
通知
280
Star
12117
Fork
2091
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
200
列表
看板
标记
里程碑
合并请求
4
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleHub
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
200
Issue
200
列表
看板
标记
里程碑
合并请求
4
合并请求
4
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
8dc06771
编写于
12月 14, 2020
作者:
jm_12138
提交者:
GitHub
12月 14, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update the U2Net and U2Netp
上级
13c0ceaf
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
29 addition
and
29 deletion
+29
-29
modules/image/semantic_segmentation/U2Net/README.md
modules/image/semantic_segmentation/U2Net/README.md
+2
-1
modules/image/semantic_segmentation/U2Net/processor.py
modules/image/semantic_segmentation/U2Net/processor.py
+12
-13
modules/image/semantic_segmentation/U2Netp/README.md
modules/image/semantic_segmentation/U2Netp/README.md
+2
-1
modules/image/semantic_segmentation/U2Netp/processor.py
modules/image/semantic_segmentation/U2Netp/processor.py
+13
-14
未找到文件。
modules/image/semantic_segmentation/U2Net/README.md
浏览文件 @
8dc06771
...
...
@@ -6,7 +6,8 @@
## 效果展示
![](
https://ai-studio-static-online.cdn.bcebos.com/4d77bc3a05cf48bba6f67b797978f4cdf10f38288b9645d59393dd85cef58eff
)
![](
https://ai-studio-static-online.cdn.bcebos.com/d7839c7207024747b32e42e49f7881bd2554d8408ab44e669fb340b50d4e38de
)
![](
https://ai-studio-static-online.cdn.bcebos.com/865b7b6a262b4ce3bbba4a5c0d973d9eea428bc3e8af4f76a1cdab0c04e3dd33
)
![](
https://ai-studio-static-online.cdn.bcebos.com/11c9eba8de6d4316b672f10b285245061821f0a744e441f3b80c223881256ca0
)
## API
```
python
...
...
modules/image/semantic_segmentation/U2Net/processor.py
浏览文件 @
8dc06771
...
...
@@ -33,13 +33,6 @@ class Processor():
def
preprocess
(
self
,
imgs
,
batch_size
=
1
,
input_size
=
320
):
input_datas
=
[]
for
image
in
imgs
:
# h, w = image.shape[:2]
# if h > w:
# new_h, new_w = input_size*h/w,input_size
# else:
# new_h, new_w = input_size,input_size*w/h
# image = cv2.resize(image, (int(new_w), int(new_h)))
image
=
cv2
.
resize
(
image
,
(
input_size
,
input_size
))
tmpImg
=
np
.
zeros
((
image
.
shape
[
0
],
image
.
shape
[
1
],
3
))
image
=
image
/
np
.
max
(
image
)
...
...
@@ -78,19 +71,25 @@ class Processor():
for
i
,
image
in
enumerate
(
self
.
imgs
):
# normalization
pred
=
1.0
-
outputs
[
i
,
0
,:,:]
pred
=
outputs
[
i
,
0
,:,:]
pred
=
self
.
normPRED
(
pred
)
# convert torch tensor to numpy array
pred
=
pred
.
squeeze
()
pred
=
(
pred
*
255
).
astype
(
np
.
uint8
)
h
,
w
=
image
.
shape
[:
2
]
pred
=
cv2
.
resize
(
pred
,
(
w
,
h
))
mask
=
cv2
.
resize
(
pred
,
(
w
,
h
))
results
.
append
(
pred
)
output_img
=
(
image
*
mask
[...,
np
.
newaxis
]
+
(
1
-
mask
[...,
np
.
newaxis
])
*
255
).
astype
(
np
.
uint8
)
mask
=
(
mask
*
255
).
astype
(
np
.
uint8
)
if
visualization
:
cv2
.
imwrite
(
os
.
path
.
join
(
output_dir
,
'result_%d.png'
%
i
),
pred
)
cv2
.
imwrite
(
os
.
path
.
join
(
output_dir
,
'result_mask_%d.png'
%
i
),
mask
)
cv2
.
imwrite
(
os
.
path
.
join
(
output_dir
,
'result_%d.png'
%
i
),
output_img
)
results
.
append
({
'mask'
:
mask
,
'front'
:
output_img
})
return
results
\ No newline at end of file
modules/image/semantic_segmentation/U2Netp/README.md
浏览文件 @
8dc06771
...
...
@@ -7,7 +7,8 @@
## 效果展示
![](
https://ai-studio-static-online.cdn.bcebos.com/4d77bc3a05cf48bba6f67b797978f4cdf10f38288b9645d59393dd85cef58eff
)
![](
https://ai-studio-static-online.cdn.bcebos.com/d7839c7207024747b32e42e49f7881bd2554d8408ab44e669fb340b50d4e38de
)
![](
https://ai-studio-static-online.cdn.bcebos.com/865b7b6a262b4ce3bbba4a5c0d973d9eea428bc3e8af4f76a1cdab0c04e3dd33
)
![](
https://ai-studio-static-online.cdn.bcebos.com/11c9eba8de6d4316b672f10b285245061821f0a744e441f3b80c223881256ca0
)
## API
```
python
...
...
modules/image/semantic_segmentation/U2Netp/processor.py
浏览文件 @
8dc06771
...
...
@@ -33,13 +33,6 @@ class Processor():
def
preprocess
(
self
,
imgs
,
batch_size
=
1
,
input_size
=
320
):
input_datas
=
[]
for
image
in
imgs
:
# h, w = image.shape[:2]
# if h > w:
# new_h, new_w = input_size*h/w,input_size
# else:
# new_h, new_w = input_size,input_size*w/h
# image = cv2.resize(image, (int(new_w), int(new_h)))
image
=
cv2
.
resize
(
image
,
(
input_size
,
input_size
))
tmpImg
=
np
.
zeros
((
image
.
shape
[
0
],
image
.
shape
[
1
],
3
))
image
=
image
/
np
.
max
(
image
)
...
...
@@ -78,19 +71,25 @@ class Processor():
for
i
,
image
in
enumerate
(
self
.
imgs
):
# normalization
pred
=
1.0
-
outputs
[
i
,
0
,:,:]
pred
=
outputs
[
i
,
0
,:,:]
pred
=
self
.
normPRED
(
pred
)
# convert torch tensor to numpy array
pred
=
pred
.
squeeze
()
pred
=
(
pred
*
255
).
astype
(
np
.
uint8
)
h
,
w
=
image
.
shape
[:
2
]
pred
=
cv2
.
resize
(
pred
,
(
w
,
h
))
results
.
append
(
pred
)
mask
=
cv2
.
resize
(
pred
,
(
w
,
h
))
output_img
=
(
image
*
mask
[...,
np
.
newaxis
]
+
(
1
-
mask
[...,
np
.
newaxis
])
*
255
).
astype
(
np
.
uint8
)
mask
=
(
mask
*
255
).
astype
(
np
.
uint8
)
if
visualization
:
cv2
.
imwrite
(
os
.
path
.
join
(
output_dir
,
'result_%d.png'
%
i
),
pred
)
cv2
.
imwrite
(
os
.
path
.
join
(
output_dir
,
'result_mask_%d.png'
%
i
),
mask
)
cv2
.
imwrite
(
os
.
path
.
join
(
output_dir
,
'result_%d.png'
%
i
),
output_img
)
results
.
append
({
'mask'
:
mask
,
'front'
:
output_img
})
return
results
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录