forked from DrewNF/Tensorflow_Object_Tracking_Video
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathVID_tensorbox.py
More file actions
executable file
·84 lines (64 loc) · 3.23 KB
/
Copy pathVID_tensorbox.py
File metadata and controls
executable file
·84 lines (64 loc) · 3.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# -*- coding: UTF-8 -*-
#### My import
import argparse
import Utils_Image
import Utils_Video
import Utils_Tensorbox
import Utils_Imagenet
import frame
import vid_classes
import progressbar
import time
import os
######### MAIN ###############
def main():
'''
Parse command line arguments and execute the code
'''
######### TENSORBOX PARAMETERS
start = time.time()
parser = argparse.ArgumentParser()
# parser.add_argument('--result_folder', default='summary_result/', type=str)
# parser.add_argument('--summary_file', default='results.txt', type=str)
parser.add_argument('--output_name', default='output.mp4', type=str)
#parser.add_argument('--hypes', default='./TENSORBOX/hypes/overfeat_rezoom.json', type=str)
parser.add_argument('--hypes', default='./TENSORBOX/data/lstm/hypes.json', type=str)
parser.add_argument('--weights', default='./TENSORBOX/data/lstm/save.ckpt-400000', type=str)
parser.add_argument('--perc', default=100, type=int)
parser.add_argument('--path_video', default='02dpm_libx264.mp4', type=str)# required=True, type=str)
args = parser.parse_args()
# hypes_file = './hypes/overfeat_rezoom.json'
# weights_file= './output/save.ckpt-1090000'
path_video_folder = os.path.splitext(os.path.basename(args.path_video))[0]
pred_idl = './%s/%s_val.idl' % (path_video_folder, path_video_folder)
idl_filename=path_video_folder+'/'+path_video_folder+'.idl'
frame_tensorbox=[]
frame_inception=[]
# 画像生成 tensorbox(640*480)とInception(original)
frame_tensorbox, frame_inception = Utils_Video.extract_frames_incten(args.path_video, args.perc, path_video_folder, idl_filename )
progress = progressbar.ProgressBar(widgets=[progressbar.Bar('=', '[', ']'), ' ',progressbar.Percentage(), ' ',progressbar.ETA()])
# ReSize tensorbox(640*480)
for image_path in progress(frame_tensorbox):
Utils_Image.resizeImage(image_path)
# ウィンドウ削除
Utils_Image.resizeImage(-1)
##video_info=utils_tensorbox.bbox_det_tensorbox_multiclass(frame_tensorbox, path_video_folder, args.hypes, args.weights, pred_idl)
## fixed
video_info=utils_tensorbox.bbox_det_tensorbox_multiclass(frame_tensorbox, path_video_folder, args.hypes, args.weights)
# previousフレームと比較してtrackingし、id付加、矩形描写を行う
tracked_video=Utils_Video.recurrent_track_objects(video_info)
# tracked_video=utils_video.track_objects(video_info)
# labeled_video=Utils_Imagenet.label_video(tracked_video, frame_inception)
# ----------------------------------------------------------------------#
labeled_video=Utils_Imagenet.recurrent_label_video(tracked_video, frame_inception)
# tracked_video=utils_video.track_objects(video_info)
# tracked_video=utils_video.track_and_label_objects(video_info)
labeled_frames=Utils_Video.draw_rectangles(path_video_folder, labeled_video)
Utils_Video.make_tracked_video(args.output_name, labeled_frames)
frame.saveVideoResults(idl_filename,labeled_video)
# utils_video.make_tracked_video(args.output_name, labeled_video)
end = time.time()
print("Elapsed Time:%d Seconds"%(end-start))
print("Running Completed with Success!!!")
if __name__ == '__main__':
main()