Example #1
0
from pylab import cm
from dnn_predict import get_instance as dnn_instance
from io_module.video_reader import VideoReader
from io_module.video_writer import VideoWriter;
from io_module.block_reader import BlockReader
from saliency import SaliencyProps,SaliencyMethods,get_instance as sal_instance
from bg_sub import get_instance as bg_instance,BGMethods
from tracker import get_instance as tracker_instance,TrackerMethods
from smoothing import get_instance as smooth_instance,SmoothMethods
from features.pixellete import allFeats as feats
from features.color import GRAY
from utils import normalize

sal = sal_instance(SaliencyMethods.REGION_CONTRAST,SaliencyProps())	
bg = bg_instance(BGMethods.FRAME_DIFFERENCING);
smoothner =  smooth_instance(feats,SmoothMethods.GMM_BASED);
tracker = tracker_instance(TrackerMethods.MIXTURE_BASED);

KERNEL = cv2.getStructuringElement(cv2.MORPH_CROSS,(3,3));
def __morphologicalOps__(mask):
	#_mask = binary_fill_holes(mask)
	_mask = cv2.medianBlur(np.uint8(mask),3)
	_mask = cv2.morphologyEx(_mask, cv2.MORPH_CLOSE,KERNEL)
	_mask = binary_fill_holes(_mask)
	_mask = remove_small_objects(_mask,min_size=128,connectivity=2)
	kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(5,5))
	_mask = cv2.dilate(np.uint8(_mask),kernel,iterations = 1)
	return _mask;
	
def load_labels(fileName):
	idx = 0; labels ={}

if __name__ == "__main__":	
	import argparse
	parser = argparse.ArgumentParser(description='Event tracking algorithm using saliency and bg subtraction')
	parser.add_argument("input",nargs='?',help = "input path",default="../examples/videos/sample_video1.avi");
	parser.add_argument("output",nargs='?',help = "output path",default="test_results/final.avi");
	parser.add_argument("--bg",nargs='?',help = "background subtraction method 1-FD, 2-ES, 3-MG default-2",default=1,type=int);
	parser.add_argument("--sal",nargs='?',help = "saliency method 1-CF, 2-CA, 3-RC, 4-SD default-3",default=3,type=int);
	parser.add_argument("--smoothner",nargs='?',help = "smoothing method 1-Eigen, 2-GMM, 3-SSL,  default-2",default=2,type=int);
	parser.add_argument("--write",nargs='?',help = "write path  default-Dont write",default="test_results/final.avi",type=str);
	parser.add_argument("--extract",nargs='?',help = "extract path default-Dont extract",default="test_results/final.feats",type=str);
	parser.add_argument("--num_prev_frames",nargs='?',help = "num prev frames default-3",default=2,type=int);
	parser.add_argument("--num_blocks",nargs='?',help = "num blocks default-6",default=6,type=int);
	parser.add_argument("--rsz_shape",nargs='+',help = "overlap default-[80 60]",default=[80,60],type=int);
	parser.add_argument("--write_gray",nargs ='?',help = "Write gray value  default-0",default=0,type=int);
	parser.add_argument("--write_bgsub",nargs='?',help = "Write bgsub default-0",default=0,type=int);
	parser.add_argument("--window",nargs='?',help = "window size default-5",default=5,type=int);
	parser.add_argument("--overlap",nargs='?',help = "overlap default-2",default=2,type=int);
	
	args = parser.parse_args()
	inp = args.input;	out = args.output
	vidreader = VideoReader(inp)
	sal = sal_instance(args.sal,SaliencyProps())	
	bg = get_instance(args.bg);
	smoothner = smooth_instance(feats,args.smoothner);
	start = time.time();
	process(vidreader,sal,bg,smoothner,args.num_prev_frames,args.num_blocks,args.write,args.extract,
				args.write_gray==1,args.write_bgsub==1,args.window,args.overlap,args.rsz_shape);
	print "Event Tracker ...",inp,"[DONE] in",(time.time()-start),"seconds";
Example #3
0
                        type=int)
    parser.add_argument("--write_bgsub",
                        nargs='?',
                        help="Write bgsub default-0",
                        default=0,
                        type=int)
    parser.add_argument("--window",
                        nargs='?',
                        help="window size default-5",
                        default=5,
                        type=int)
    parser.add_argument("--overlap",
                        nargs='?',
                        help="overlap default-2",
                        default=2,
                        type=int)

    args = parser.parse_args()
    inp = args.input
    out = args.output
    vidreader = VideoReader(inp)
    sal = sal_instance(args.sal, SaliencyProps())
    bg = get_instance(args.bg)
    smoothner = smooth_instance(feats, args.smoothner)
    start = time.time()
    process(vidreader, sal, bg, smoothner, args.num_prev_frames,
            args.num_blocks, args.write, args.extract, args.write_gray == 1,
            args.write_bgsub == 1, args.window, args.overlap, args.rsz_shape)
    print "Event Tracker ...", inp, "[DONE] in", (time.time() -
                                                  start), "seconds"