Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
s920243400
PaddleDetection
提交
0b763b3d
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看板
未验证
提交
0b763b3d
编写于
6月 10, 2021
作者:
G
George Ni
提交者:
GitHub
6月 10, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[MOT] decord video infer (#3251)
* decord video infer * add video infer write results
上级
51d311d3
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
14 addition
and
16 deletion
+14
-16
ppdet/data/source/mot.py
ppdet/data/source/mot.py
+10
-15
ppdet/engine/tracker.py
ppdet/engine/tracker.py
+2
-0
requirements.txt
requirements.txt
+2
-1
未找到文件。
ppdet/data/source/mot.py
浏览文件 @
0b763b3d
...
...
@@ -13,8 +13,8 @@
# limitations under the License.
import
os
import
cv2
import
numpy
as
np
import
decord
as
de
from
collections
import
OrderedDict
try
:
from
collections.abc
import
Sequence
...
...
@@ -317,26 +317,23 @@ class MOTVideoDataset(DetDataset):
self
.
dataset_dir
=
dataset_dir
self
.
keep_ori_im
=
keep_ori_im
self
.
roidbs
=
None
self
.
frame_rate
=
25
def
parse_dataset
(
self
,
):
if
not
self
.
roidbs
:
self
.
roidbs
=
self
.
_load_video_images
()
def
_load_video_images
(
self
):
self
.
cap
=
cv2
.
VideoCapture
(
self
.
video_file
)
self
.
vn
=
int
(
self
.
cap
.
get
(
cv2
.
CAP_PROP_FRAME_COUNT
))
self
.
frame_rate
=
int
(
round
(
self
.
cap
.
get
(
cv2
.
CAP_PROP_FPS
)))
logger
.
info
(
'Length of the video: {:d} frames'
.
format
(
self
.
vn
))
res
=
True
ct
=
0
self
.
video_frames
=
de
.
VideoReader
(
self
.
video_file
)
self
.
video_length
=
len
(
self
.
video_frames
)
logger
.
info
(
'Length of the video: {:d} frames.'
.
format
(
self
.
video_length
))
records
=
[]
while
res
:
res
,
img
=
self
.
cap
.
read
()
image
=
np
.
ascontiguousarray
(
img
,
dtype
=
np
.
float32
)
image
=
cv2
.
cvtColor
(
image
,
cv2
.
COLOR_BGR2RGB
)
for
idx
in
range
(
self
.
video_length
):
image
=
self
.
video_frames
.
get_batch
([
idx
]).
asnumpy
()[
0
]
im_shape
=
image
.
shape
rec
=
{
'im_id'
:
np
.
array
([
ct
]),
'im_id'
:
np
.
array
([
idx
]),
'image'
:
image
,
'h'
:
im_shape
[
0
],
'w'
:
im_shape
[
1
],
...
...
@@ -347,10 +344,8 @@ class MOTVideoDataset(DetDataset):
}
if
self
.
keep_ori_im
:
rec
.
update
({
'ori_image'
:
image
})
ct
+=
1
records
.
append
(
rec
)
records
=
records
[:
-
1
]
assert
len
(
records
)
>
0
,
"No image file found"
assert
len
(
records
)
>
0
,
"No image file found."
return
records
def
set_video
(
self
,
video_file
):
...
...
ppdet/engine/tracker.py
浏览文件 @
0b763b3d
...
...
@@ -372,6 +372,8 @@ class Tracker(object):
else
:
raise
ValueError
(
model_type
)
self
.
write_mot_results
(
result_filename
,
results
,
data_type
)
if
save_videos
:
output_video_path
=
os
.
path
.
join
(
save_dir
,
'..'
,
'{}_vis.mp4'
.
format
(
seq
))
...
...
requirements.txt
浏览文件 @
0b763b3d
...
...
@@ -13,4 +13,5 @@ setuptools>=42.0.0
lap
sklearn
motmetrics
openpyxl
\ No newline at end of file
openpyxl
decord
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录