In [6]:
import subprocess
import os

not_small_video_files = [f.lower().split(".mp4")[0] for f in os.listdir("videos/") if f[0] != "." and "small" not in f]
small_video_files = [f.lower().split("-small.mp4")[0] for f in os.listdir("videos/") if f[0] != "." and "small" in f]
videos_to_process = [n for n in not_small_video_files if n not in small_video_files]

print not_small_video_files
print small_video_files
print videos_to_process

for video in videos_to_process: 
    print "processing video", video
    fn_in = "videos/" + video + ".mp4"
    fn_out = "videos/" + video + "-small.mp4"
    
    # ffmpeg -i nocuts.MP4 -vf scale=500:-1 nocuts-small.MP4
    # subprocess.call(["ffmpeg", "-i", fn_in, "-vf", "scale=500:-1", fn_out])


['arctic', 'congo_2048', 'equation-2', 'equation', 'gittes-2', 'gittes-reg-2', 'gittes-reg', 'invasion', 'nocuts', 'probation-reg', 'probation-shoulder', 'steve-walking', 'toy-story-shoulder-2', 'toy-story-shoulder', 'toy-story']
['arctic', 'congo_2048', 'equation-2', 'equation', 'gittes-2', 'gittes-reg-2', 'gittes-reg', 'invasion', 'nocuts', 'nocuts-smaller.mp4', 'probation-reg', 'probation-shoulder', 'steve-walking', 'toy-story-shoulder-2', 'toy-story-shoulder', 'toy-story']
[]

In [7]:
import numpy as np
import cv2
from collections import defaultdict
import json

# attempting optical flow on one 360 video
# sparse features 
# from - http://docs.opencv.org/3.2.0/d7/d8b/tutorial_py_lucas_kanade.html

def save_important_points_fn(fn, recorded_important_points):
    
    out_fn = "analysis/optical-flow/" + fn.lower().split(".mp4")[0].split("/")[-1] + ".json"
    print "Saving to", out_fn
    print recorded_important_points[0:20]

    new_points = []
    for p in recorded_important_points:
        p["movement"] = float(p["movement"])
        p["a"] = [float(p["a"][0]), float(p["a"][1])]
        p["b-a"] = [float(p["b-a"][0]), float(p["b-a"][1])]
        p["b"] = [float(p["b"][0]), float(p["b"][1])]
        new_points.append(p)

    with open("analysis/optical-flow/" + fn.lower().split(".mp4")[0].split("/")[-1] + ".json", 'w') as f:
        json.dump(new_points, f)

def find_important_points_for_fn(fn):
    cap = cv2.VideoCapture(fn)
    fps = cap.get(cv2.CAP_PROP_FPS)

    # params for ShiTomasi corner detection
    feature_params = dict( maxCorners = 100,
                           qualityLevel = 0.3,
                           minDistance = 7,
                           blockSize = 7 )
    lk_params = dict( winSize  = (15,15),
                      maxLevel = 2,
                      criteria = (cv2.TERM_CRITERIA_EPS | cv2.TERM_CRITERIA_COUNT, 10, 0.03))

    # Create some random colors
    color = np.random.randint(0,255,(100,3))

    # Take first frame and find corners in it
    ret, old_frame = cap.read()
    old_gray = cv2.cvtColor(old_frame, cv2.COLOR_BGR2GRAY)
    p0 = cv2.goodFeaturesToTrack(old_gray, mask = None, **feature_params)

    # Create a mask image for drawing purposes
    mask = np.zeros_like(old_frame)

    def dist(x,y):   
        return np.sqrt(np.sum((x-y)**2))

    frame_count = 0
    feature_sums = defaultdict(float)
    feature_counts = defaultdict(float)
    feature_initial_values = defaultdict(list)
    recorded_important_points = []

    while(1):
        frame_count += 1

        ret,frame = cap.read()
        
        if frame != None and frame.any(): 
            frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

            p1, st, err = cv2.calcOpticalFlowPyrLK(old_gray, frame_gray, p0, None, **lk_params)
            good_new = p1[st==1]
            good_old = p0[st==1]

            for i,(new,old) in enumerate(zip(good_new,good_old)):

                a,b = new.ravel()
                c,d = old.ravel()
                mask = cv2.line(mask, (a,b),(c,d), color[i].tolist(), 2)
                frame = cv2.circle(frame,(a,b),5,color[i].tolist(),-1)

                # added to record important points
                diff = dist(new, old)

                key = str(i)
                feature_sums[key] += diff
                feature_counts[key] += 1.0

                if frame_count % 29 == 0 and frame_count != 0:
                    movement = feature_sums[key]/feature_counts[key]
                    b_minus_a = new-feature_initial_values[key]

                    # if abs(b_minus_a[0]) >= 1.0 or abs(b_minus_a[1]) >= 1.0:
                    point = {
                            "b": new.tolist(), 
                            "a": feature_initial_values[key].tolist(),
                            "b-a": b_minus_a.tolist(),
                            "feature": key,
                            "frame": frame_count,
                            "movement": movement,
                            "time": frame_count/fps
                        }
                    recorded_important_points.append(point)

                    feature_initial_values[key] = new

                if frame_count == 1: 
                    feature_initial_values[key] = new

            img = cv2.add(frame,mask)
            cv2.imshow('frame',img)

            k = cv2.waitKey(30) & 0xff
            if k == 27:
                break

            # Now update the previous frame and previous points
            old_gray = frame_gray.copy()
            p0 = good_new.reshape(-1,1,2)
        else:
            return recorded_important_points
    return recorded_important_points
        
    cv2.waitKey(1)
    cv2.destroyAllWindows()
    cv2.waitKey(1)
    cap.release()

In [8]:
import time

result_root = "analysis/optical-flow/"
small_video_files = [f for f in os.listdir("videos/") if f[0] != "." and "small" in f][2:]
# result_files = [m.split('.json')[0] + ".mp4" for m in os.listdir(result_root) if m[0] != "."]
result_files = [] # need to reprocess all of the files
videos_to_process = [s for s in small_video_files if s.lower() not in result_files and "invasion" not in s]
print videos_to_process

for video_fn in videos_to_process: 
    fn = "videos/" + video_fn
    print "Processing:", fn
    
    start = time.time()
    recorded_important_points = find_important_points_for_fn(fn)
    save_important_points_fn(fn, recorded_important_points)
    print "Minutes to process:", (time.time() - start)/60.0


['equation-2-small.mp4', 'equation-small.mp4', 'gittes-2-small.mp4', 'gittes-reg-2-small.mp4', 'gittes-reg-small.mp4', 'nocuts-small.MP4', 'nocuts-smaller.mp4', 'probation-reg-small.mp4', 'probation-shoulder-small.mp4', 'steve-walking-small.mp4', 'toy-story-shoulder-2-small.mp4', 'toy-story-shoulder-small.mp4', 'toy-story-small.mp4']
Processing: videos/equation-2-small.mp4
Saving to analysis/optical-flow/equation-2-small.json
[{'a': [215.98696899414062, 127.0182113647461], 'b': [216.0643768310547, 126.94255828857422], 'frame': 29, 'feature': '0', 'b-a': [0.0774078369140625, -0.075653076171875], 'time': 0.9860000000000001, 'movement': 0.019925923212652158}, {'a': [215.96563720703125, 150.0102081298828], 'b': [216.0249481201172, 149.9840087890625], 'frame': 29, 'feature': '1', 'b-a': [0.0593109130859375, -0.0261993408203125], 'time': 0.9860000000000001, 'movement': 0.027426232262675106}, {'a': [453.9976806640625, 138.0035400390625], 'b': [453.99493408203125, 138.00169372558594], 'frame': 29, 'feature': '2', 'b-a': [-0.00274658203125, -0.0018463134765625], 'time': 0.9860000000000001, 'movement': 0.0026466182156080573}, {'a': [447.001708984375, 150.0011749267578], 'b': [447.0017395019531, 150.0034942626953], 'frame': 29, 'feature': '3', 'b-a': [3.0517578125e-05, 0.0023193359375], 'time': 0.9860000000000001, 'movement': 0.0028823505211942667}, {'a': [149.0017852783203, 132.99911499023438], 'b': [149.00064086914062, 133.00009155273438], 'frame': 29, 'feature': '4', 'b-a': [-0.0011444091796875, 0.0009765625], 'time': 0.9860000000000001, 'movement': 0.0030273220317181327}, {'a': [217.0023956298828, 100.99722290039062], 'b': [217.00083923339844, 100.9973373413086], 'frame': 29, 'feature': '5', 'b-a': [-0.001556396484375, 0.00011444091796875], 'time': 0.9860000000000001, 'movement': 0.0041309782049963892}, {'a': [465.99688720703125, 176.0015106201172], 'b': [465.9945373535156, 176.0008544921875], 'frame': 29, 'feature': '6', 'b-a': [-0.002349853515625, -0.0006561279296875], 'time': 0.9860000000000001, 'movement': 0.0029984441814655117}, {'a': [432.0008544921875, 129.99778747558594], 'b': [432.0025329589844, 129.9947509765625], 'frame': 29, 'feature': '7', 'b-a': [0.001678466796875, -0.0030364990234375], 'time': 0.9860000000000001, 'movement': 0.0025254847388513834}, {'a': [150.00193786621094, 160.00018310546875], 'b': [150.00221252441406, 160.00503540039062], 'frame': 29, 'feature': '8', 'b-a': [0.000274658203125, 0.004852294921875], 'time': 0.9860000000000001, 'movement': 0.0035912504074452766}, {'a': [142.99803161621094, 90.9976806640625], 'b': [142.99818420410156, 91.00178527832031], 'frame': 29, 'feature': '9', 'b-a': [0.000152587890625, 0.0041046142578125], 'time': 0.9860000000000001, 'movement': 0.0025682651085562297}, {'a': [480.0015563964844, 182.99473571777344], 'b': [480.0016174316406, 182.99905395507812], 'frame': 29, 'feature': '10', 'b-a': [6.103515625e-05, 0.0043182373046875], 'time': 0.9860000000000001, 'movement': 0.0040286050583557068}, {'a': [143.9955291748047, 147.99830627441406], 'b': [143.99851989746094, 148.00045776367188], 'frame': 29, 'feature': '11', 'b-a': [0.00299072265625, 0.0021514892578125], 'time': 0.9860000000000001, 'movement': 0.0023596675942073866}, {'a': [458.9985656738281, 165.9968719482422], 'b': [458.99530029296875, 165.99940490722656], 'frame': 29, 'feature': '12', 'b-a': [-0.003265380859375, 0.002532958984375], 'time': 0.9860000000000001, 'movement': 0.0028684483118483731}, {'a': [151.99781799316406, 91.00263977050781], 'b': [151.99781799316406, 91.00065612792969], 'frame': 29, 'feature': '13', 'b-a': [0.0, -0.001983642578125], 'time': 0.9860000000000001, 'movement': 0.0028863716730045089}, {'a': [20.998428344726562, 207.00067138671875], 'b': [21.00149917602539, 207.00421142578125], 'frame': 29, 'feature': '14', 'b-a': [0.003070831298828125, 0.0035400390625], 'time': 0.9860000000000001, 'movement': 0.003049156495072911}, {'a': [174.999755859375, 146.9996795654297], 'b': [175.00071716308594, 147.0016632080078], 'frame': 29, 'feature': '15', 'b-a': [0.0009613037109375, 0.001983642578125], 'time': 0.9860000000000001, 'movement': 0.0029302163095743365}, {'a': [231.9958038330078, 133.00108337402344], 'b': [232.00030517578125, 133.0072021484375], 'frame': 29, 'feature': '16', 'b-a': [0.0045013427734375, 0.0061187744140625], 'time': 0.9860000000000001, 'movement': 0.0035297100929992981}, {'a': [17.999435424804688, 220.99977111816406], 'b': [17.970130920410156, 220.99176025390625], 'frame': 29, 'feature': '17', 'b-a': [-0.02930450439453125, -0.0080108642578125], 'time': 0.9860000000000001, 'movement': 0.0031427808501356251}, {'a': [170.00082397460938, 136.00030517578125], 'b': [170.00091552734375, 136.0008544921875], 'frame': 29, 'feature': '18', 'b-a': [9.1552734375e-05, 0.00054931640625], 'time': 0.9860000000000001, 'movement': 0.0033608581288717687}, {'a': [482.9993896484375, 219.9993438720703], 'b': [482.998779296875, 219.9990997314453], 'frame': 29, 'feature': '19', 'b-a': [-0.0006103515625, -0.000244140625], 'time': 0.9860000000000001, 'movement': 0.0028208595999628947}]
Minutes to process: 6.30963134766
Processing: videos/equation-small.mp4
Saving to analysis/optical-flow/equation-small.json
[{'a': [462.002197265625, 221.00393676757812], 'b': [458.6006164550781, 220.28172302246094], 'frame': 29, 'feature': '0', 'b-a': [-3.401580810546875, -0.7222137451171875], 'time': 0.9860000000000001, 'movement': 0.13158754337627185}, {'a': [432.0022888183594, 130.99984741210938], 'b': [431.82830810546875, 130.93592834472656], 'frame': 29, 'feature': '1', 'b-a': [-0.173980712890625, -0.0639190673828125], 'time': 0.9860000000000001, 'movement': 0.0088886008417265946}, {'a': [149.0001220703125, 132.99984741210938], 'b': [149.00003051757812, 133.00100708007812], 'frame': 29, 'feature': '2', 'b-a': [-9.1552734375e-05, 0.00115966796875], 'time': 0.9860000000000001, 'movement': 0.002327817502724617}, {'a': [150.00228881835938, 160.00131225585938], 'b': [150.0072021484375, 159.99351501464844], 'frame': 29, 'feature': '3', 'b-a': [0.004913330078125, -0.0077972412109375], 'time': 0.9860000000000001, 'movement': 0.002321084391261483}, {'a': [216.99948120117188, 101.00432586669922], 'b': [216.99671936035156, 100.9459457397461], 'frame': 29, 'feature': '4', 'b-a': [-0.0027618408203125, -0.058380126953125], 'time': 0.9860000000000001, 'movement': 0.0053480722487839905}, {'a': [143.99777221679688, 147.99771118164062], 'b': [144.0144805908203, 148.002685546875], 'frame': 29, 'feature': '5', 'b-a': [0.0167083740234375, 0.004974365234375], 'time': 0.9860000000000001, 'movement': 0.0035747636786003694}, {'a': [16.99756622314453, 220.9965057373047], 'b': [16.98591423034668, 221.1026153564453], 'frame': 29, 'feature': '6', 'b-a': [-0.011651992797851562, 0.106109619140625], 'time': 0.9860000000000001, 'movement': 0.0060365574297912674}, {'a': [143.9998016357422, 91.00303649902344], 'b': [143.99253845214844, 91.00690460205078], 'frame': 29, 'feature': '7', 'b-a': [-0.00726318359375, 0.00386810302734375], 'time': 0.9860000000000001, 'movement': 0.0032445379151011303}, {'a': [487.1059875488281, 185.0153045654297], 'b': [475.3122863769531, 186.43858337402344], 'frame': 29, 'feature': '8', 'b-a': [-11.793701171875, 1.42327880859375], 'time': 0.9860000000000001, 'movement': 0.59260717249507533}, {'a': [279.9970703125, 181.99595642089844], 'b': [280.0120849609375, 181.98980712890625], 'frame': 29, 'feature': '9', 'b-a': [0.0150146484375, -0.0061492919921875], 'time': 0.9860000000000001, 'movement': 0.0033577080747787037}, {'a': [20.996498107910156, 206.99862670898438], 'b': [21.014408111572266, 207.0485382080078], 'frame': 29, 'feature': '10', 'b-a': [0.017910003662109375, 0.0499114990234375], 'time': 0.9860000000000001, 'movement': 0.0051160250722173733}, {'a': [232.00013732910156, 133.99905395507812], 'b': [231.97787475585938, 133.9452667236328], 'frame': 29, 'feature': '11', 'b-a': [-0.0222625732421875, -0.0537872314453125], 'time': 0.9860000000000001, 'movement': 0.0070421761714708833}, {'a': [175.00039672851562, 146.99412536621094], 'b': [174.9959716796875, 146.96923828125], 'frame': 29, 'feature': '12', 'b-a': [-0.004425048828125, -0.0248870849609375], 'time': 0.9860000000000001, 'movement': 0.0045376200076385305}, {'a': [220.99769592285156, 134.99798583984375], 'b': [220.9851531982422, 134.9285125732422], 'frame': 29, 'feature': '13', 'b-a': [-0.012542724609375, -0.0694732666015625], 'time': 0.9860000000000001, 'movement': 0.0044499510871085883}, {'a': [170.00218200683594, 136.00575256347656], 'b': [170.00216674804688, 136.00416564941406], 'frame': 29, 'feature': '14', 'b-a': [-1.52587890625e-05, -0.0015869140625], 'time': 0.9860000000000001, 'movement': 0.0037544798246456376}, {'a': [151.99990844726562, 90.99927520751953], 'b': [151.99285888671875, 91.00343322753906], 'frame': 29, 'feature': '15', 'b-a': [-0.007049560546875, 0.00415802001953125], 'time': 0.9860000000000001, 'movement': 0.0037434937107248298}, {'a': [484.0526123046875, 215.99989318847656], 'b': [482.4276428222656, 216.4529266357422], 'frame': 29, 'feature': '16', 'b-a': [-1.624969482421875, 0.453033447265625], 'time': 0.9860000000000001, 'movement': 0.072117179559929107}, {'a': [432.0042724609375, 139.00279235839844], 'b': [431.6622009277344, 138.99868774414062], 'frame': 29, 'feature': '17', 'b-a': [-0.342071533203125, -0.0041046142578125], 'time': 0.9860000000000001, 'movement': 0.014714360114684778}, {'a': [478.06488037109375, 224.00424194335938], 'b': [475.3829650878906, 223.9342803955078], 'frame': 29, 'feature': '18', 'b-a': [-2.681915283203125, -0.0699615478515625], 'time': 0.9860000000000001, 'movement': 0.11665134465899961}, {'a': [220.99217224121094, 148.00503540039062], 'b': [221.0191192626953, 147.93807983398438], 'frame': 29, 'feature': '19', 'b-a': [0.026947021484375, -0.06695556640625], 'time': 0.9860000000000001, 'movement': 0.0054644423452655556}]
Minutes to process: 7.90118351777
Processing: videos/gittes-2-small.mp4
Saving to analysis/optical-flow/gittes-2-small.json
[{'a': [456.001220703125, 110.99919891357422], 'b': [455.9861755371094, 110.98699951171875], 'frame': 29, 'feature': '0', 'b-a': [-0.015045166015625, -0.01219940185546875], 'time': 0.9860000000000001, 'movement': 0.003789331647567451}, {'a': [495.6469421386719, 102.82315826416016], 'b': [466.98236083984375, 117.00455474853516], 'frame': 29, 'feature': '1', 'b-a': [-28.664581298828125, 14.181396484375], 'time': 0.9860000000000001, 'movement': 1.6709280034591412}, {'a': [23.544391632080078, 190.168212890625], 'b': [422.0282287597656, 209.98008728027344], 'frame': 29, 'feature': '2', 'b-a': [398.48382568359375, 19.811874389648438], 'time': 0.9860000000000001, 'movement': 1.7020365254259027}, {'a': [422.0003967285156, 209.99949645996094], 'b': [309.97662353515625, 109.01148223876953], 'frame': 29, 'feature': '3', 'b-a': [-112.02377319335938, -100.9880142211914], 'time': 0.9860000000000001, 'movement': 0.0034141076030209661}, {'a': [309.9993896484375, 108.9990234375], 'b': [312.513671875, 140.00946044921875], 'frame': 29, 'feature': '4', 'b-a': [2.5142822265625, 31.01043701171875], 'time': 0.9860000000000001, 'movement': 0.15379373751408099}, {'a': [317.0028381347656, 140.00357055664062], 'b': [215.95245361328125, 222.9853515625], 'frame': 29, 'feature': '5', 'b-a': [-101.05038452148438, 82.98178100585938], 'time': 0.9860000000000001, 'movement': 0.012301913924226216}, {'a': [215.99862670898438, 223.00048828125], 'b': [469.0154724121094, 153.50283813476562], 'frame': 29, 'feature': '6', 'b-a': [253.016845703125, -69.49765014648438], 'time': 0.9860000000000001, 'movement': 1.5506208427491244}, {'a': [494.53729248046875, 177.280029296875], 'b': [315.9908142089844, 114.0401840209961], 'frame': 29, 'feature': '7', 'b-a': [-178.54647827148438, -63.239845275878906], 'time': 0.9860000000000001, 'movement': 0.22767837430703744}, {'a': [316.0011901855469, 113.99822235107422], 'b': [259.96124267578125, 221.01087951660156], 'frame': 29, 'feature': '8', 'b-a': [-56.039947509765625, 107.01265716552734], 'time': 0.9860000000000001, 'movement': 0.0037970082485117018}, {'a': [259.9996337890625, 220.99691772460938], 'b': [269.99664306640625, 213.024658203125], 'frame': 29, 'feature': '9', 'b-a': [9.99700927734375, -7.972259521484375], 'time': 0.9860000000000001, 'movement': 0.0032928199999050461}, {'a': [269.9993896484375, 213.00039672851562], 'b': [391.01080322265625, 95.03973388671875], 'frame': 29, 'feature': '10', 'b-a': [121.01141357421875, -117.96066284179688], 'time': 0.9860000000000001, 'movement': 0.0045565086896611571}, {'a': [390.999755859375, 94.99905395507812], 'b': [21.293365478515625, 210.51226806640625], 'frame': 29, 'feature': '11', 'b-a': [-369.7063903808594, 115.51321411132812], 'time': 0.9860000000000001, 'movement': 0.03597246240503315}, {'a': [21.00519561767578, 209.9949188232422], 'b': [298.9660949707031, 117.02423095703125], 'frame': 29, 'feature': '12', 'b-a': [277.9609069824219, -92.97068786621094], 'time': 0.9860000000000001, 'movement': 0.0071005664930421991}, {'a': [299.00347900390625, 116.99942016601562], 'b': [242.98818969726562, 205.01797485351562], 'frame': 29, 'feature': '13', 'b-a': [-56.015289306640625, 88.0185546875], 'time': 0.9860000000000001, 'movement': 0.0038629740974384136}, {'a': [243.00094604492188, 204.99920654296875], 'b': [422.0039367675781, 194.001708984375], 'frame': 29, 'feature': '14', 'b-a': [179.00299072265625, -10.99749755859375], 'time': 0.9860000000000001, 'movement': 0.0036508827149097263}, {'a': [422.0011901855469, 193.9978790283203], 'b': [70.98041534423828, 215.99411010742188], 'frame': 29, 'feature': '15', 'b-a': [-351.0207824707031, 21.996231079101562], 'time': 0.9860000000000001, 'movement': 0.0029972950799454904}, {'a': [70.99855041503906, 215.99923706054688], 'b': [321.0059814453125, 206.00369262695312], 'frame': 29, 'feature': '16', 'b-a': [250.00743103027344, -9.99554443359375], 'time': 0.9860000000000001, 'movement': 0.0043054419491391884}, {'a': [320.9989318847656, 206.00308227539062], 'b': [248.98077392578125, 225.9912109375], 'frame': 29, 'feature': '17', 'b-a': [-72.01815795898438, 19.988128662109375], 'time': 0.9860000000000001, 'movement': 0.0031545974217869087}, {'a': [248.99781799316406, 225.9985809326172], 'b': [267.9767761230469, 197.00918579101562], 'frame': 29, 'feature': '18', 'b-a': [18.978958129882812, -28.989395141601562], 'time': 0.9860000000000001, 'movement': 0.0035976976806554816}, {'a': [267.9964904785156, 196.99964904785156], 'b': [482.3688049316406, 205.6590118408203], 'frame': 29, 'feature': '19', 'b-a': [214.372314453125, 8.65936279296875], 'time': 0.9860000000000001, 'movement': 0.11772162487915043}]
Minutes to process: 5.45013913314
Processing: videos/gittes-reg-2-small.mp4
Saving to analysis/optical-flow/gittes-reg-2-small.json
[{'a': [488.6524658203125, 104.18718719482422], 'b': [476.2348327636719, 104.88154602050781], 'frame': 29, 'feature': '0', 'b-a': [-12.417633056640625, 0.6943588256835938], 'time': 0.9860000000000001, 'movement': 0.47654319289622121}, {'a': [455.9986877441406, 110.99864959716797], 'b': [455.99566650390625, 110.89966583251953], 'frame': 29, 'feature': '1', 'b-a': [-0.003021240234375, -0.0989837646484375], 'time': 0.9860000000000001, 'movement': 0.0051625018843032165}, {'a': [478.6061706542969, 148.50587463378906], 'b': [476.6455993652344, 151.22048950195312], 'frame': 29, 'feature': '2', 'b-a': [-1.9605712890625, 2.7146148681640625], 'time': 0.9860000000000001, 'movement': 0.29431149981723265}, {'a': [310.0014953613281, 109.00035095214844], 'b': [310.0023498535156, 109.00358581542969], 'frame': 29, 'feature': '3', 'b-a': [0.0008544921875, 0.00323486328125], 'time': 0.9860000000000001, 'movement': 0.0025983961120424471}, {'a': [421.9995422363281, 209.99830627441406], 'b': [422.0242919921875, 209.89923095703125], 'frame': 29, 'feature': '4', 'b-a': [0.024749755859375, -0.0990753173828125], 'time': 0.9860000000000001, 'movement': 0.0054938436951488256}, {'a': [316.9988098144531, 139.99794006347656], 'b': [317.0099792480469, 139.987548828125], 'frame': 29, 'feature': '5', 'b-a': [0.01116943359375, -0.0103912353515625], 'time': 0.9860000000000001, 'movement': 0.0040916041932711053}, {'a': [8.400105476379395, 155.9936065673828], 'b': [480.60589599609375, 132.28140258789062], 'frame': 29, 'feature': '6', 'b-a': [472.2057800292969, -23.712203979492188], 'time': 0.9860000000000001, 'movement': 0.65460505876248576}, {'a': [1.6982417106628418, 167.85667419433594], 'b': [298.00933837890625, 117.0051498413086], 'frame': 29, 'feature': '7', 'b-a': [296.31109619140625, -50.851524353027344], 'time': 0.9860000000000001, 'movement': 0.29993658023083519}, {'a': [483.6318359375, 133.05264282226562], 'b': [422.011962890625, 196.90069580078125], 'frame': 29, 'feature': '8', 'b-a': [-61.619873046875, 63.848052978515625], 'time': 0.9860000000000001, 'movement': 0.18821927548610959}, {'a': [297.9986267089844, 117.00003814697266], 'b': [216.14730834960938, 223.1031951904297], 'frame': 29, 'feature': '9', 'b-a': [-81.851318359375, 106.10315704345703], 'time': 0.9860000000000001, 'movement': 0.0029370694648040907}, {'a': [421.99981689453125, 197.01016235351562], 'b': [390.9574890136719, 94.9243392944336], 'frame': 29, 'feature': '10', 'b-a': [-31.042327880859375, -102.08582305908203], 'time': 0.9860000000000001, 'movement': 0.0071608245489187539}, {'a': [216.00048828125, 222.99510192871094], 'b': [260.2191162109375, 221.05657958984375], 'frame': 29, 'feature': '11', 'b-a': [44.2186279296875, -1.9385223388671875], 'time': 0.9860000000000001, 'movement': 0.0085281562080189322}, {'a': [391.0025329589844, 95.00179290771484], 'b': [20.87718963623047, 209.9384002685547], 'frame': 29, 'feature': '12', 'b-a': [-370.1253356933594, 114.93660736083984], 'time': 0.9860000000000001, 'movement': 0.0055172404611547442}, {'a': [260.000732421875, 220.9983673095703], 'b': [315.9952087402344, 114.005126953125], 'frame': 29, 'feature': '13', 'b-a': [55.994476318359375, -106.99324035644531], 'time': 0.9860000000000001, 'movement': 0.0092720407912314957}, {'a': [21.00065040588379, 210.004638671875], 'b': [243.1641387939453, 205.0838165283203], 'frame': 29, 'feature': '14', 'b-a': [222.16348266601562, -4.9208221435546875], 'time': 0.9860000000000001, 'movement': 0.0073095719281840938}, {'a': [316.00146484375, 113.99929809570312], 'b': [270.200439453125, 213.03465270996094], 'frame': 29, 'feature': '15', 'b-a': [-45.801025390625, 99.03535461425781], 'time': 0.9860000000000001, 'movement': 0.0038993651785482332}, {'a': [242.9973602294922, 205.0006561279297], 'b': [16.784820556640625, 215.9591827392578], 'frame': 29, 'feature': '16', 'b-a': [-226.21253967285156, 10.958526611328125], 'time': 0.9860000000000001, 'movement': 0.008844599031425756}, {'a': [269.9988708496094, 212.99700927734375], 'b': [71.78205871582031, 216.0328826904297], 'frame': 29, 'feature': '17', 'b-a': [-198.21681213378906, 3.0358734130859375], 'time': 0.9860000000000001, 'movement': 0.0096094216534201513}, {'a': [1.6138792037963867, 132.89422607421875], 'b': [249.2402801513672, 226.07252502441406], 'frame': 29, 'feature': '18', 'b-a': [247.62640380859375, 93.17829895019531], 'time': 0.9860000000000001, 'movement': 0.245393386030377}, {'a': [16.995250701904297, 216.00294494628906], 'b': [497.894775390625, 208.93142700195312], 'frame': 29, 'feature': '19', 'b-a': [480.8995361328125, -7.0715179443359375], 'time': 0.9860000000000001, 'movement': 0.010635259088554323}]
Minutes to process: 4.75200681686
Processing: videos/gittes-reg-small.mp4
Saving to analysis/optical-flow/gittes-reg-small.json
[{'a': [488.6524658203125, 104.18718719482422], 'b': [476.2348327636719, 104.88154602050781], 'frame': 29, 'feature': '0', 'b-a': [-12.417633056640625, 0.6943588256835938], 'time': 0.9860000000000001, 'movement': 0.47654319289622121}, {'a': [455.9986877441406, 110.99864959716797], 'b': [455.99566650390625, 110.89966583251953], 'frame': 29, 'feature': '1', 'b-a': [-0.003021240234375, -0.0989837646484375], 'time': 0.9860000000000001, 'movement': 0.0051625018843032165}, {'a': [478.6061706542969, 148.50587463378906], 'b': [476.6455993652344, 151.22048950195312], 'frame': 29, 'feature': '2', 'b-a': [-1.9605712890625, 2.7146148681640625], 'time': 0.9860000000000001, 'movement': 0.29431149981723265}, {'a': [310.0014953613281, 109.00035095214844], 'b': [310.0023498535156, 109.00358581542969], 'frame': 29, 'feature': '3', 'b-a': [0.0008544921875, 0.00323486328125], 'time': 0.9860000000000001, 'movement': 0.0025983961120424471}, {'a': [421.9995422363281, 209.99830627441406], 'b': [422.0242919921875, 209.89923095703125], 'frame': 29, 'feature': '4', 'b-a': [0.024749755859375, -0.0990753173828125], 'time': 0.9860000000000001, 'movement': 0.0054938436951488256}, {'a': [316.9988098144531, 139.99794006347656], 'b': [317.0099792480469, 139.987548828125], 'frame': 29, 'feature': '5', 'b-a': [0.01116943359375, -0.0103912353515625], 'time': 0.9860000000000001, 'movement': 0.0040916041932711053}, {'a': [8.400105476379395, 155.9936065673828], 'b': [480.60589599609375, 132.28140258789062], 'frame': 29, 'feature': '6', 'b-a': [472.2057800292969, -23.712203979492188], 'time': 0.9860000000000001, 'movement': 0.65460505876248576}, {'a': [1.6982417106628418, 167.85667419433594], 'b': [298.00933837890625, 117.0051498413086], 'frame': 29, 'feature': '7', 'b-a': [296.31109619140625, -50.851524353027344], 'time': 0.9860000000000001, 'movement': 0.29993658023083519}, {'a': [483.6318359375, 133.05264282226562], 'b': [422.011962890625, 196.90069580078125], 'frame': 29, 'feature': '8', 'b-a': [-61.619873046875, 63.848052978515625], 'time': 0.9860000000000001, 'movement': 0.18821927548610959}, {'a': [297.9986267089844, 117.00003814697266], 'b': [216.14730834960938, 223.1031951904297], 'frame': 29, 'feature': '9', 'b-a': [-81.851318359375, 106.10315704345703], 'time': 0.9860000000000001, 'movement': 0.0029370694648040907}, {'a': [421.99981689453125, 197.01016235351562], 'b': [390.9574890136719, 94.9243392944336], 'frame': 29, 'feature': '10', 'b-a': [-31.042327880859375, -102.08582305908203], 'time': 0.9860000000000001, 'movement': 0.0071608245489187539}, {'a': [216.00048828125, 222.99510192871094], 'b': [260.2191162109375, 221.05657958984375], 'frame': 29, 'feature': '11', 'b-a': [44.2186279296875, -1.9385223388671875], 'time': 0.9860000000000001, 'movement': 0.0085281562080189322}, {'a': [391.0025329589844, 95.00179290771484], 'b': [20.87718963623047, 209.9384002685547], 'frame': 29, 'feature': '12', 'b-a': [-370.1253356933594, 114.93660736083984], 'time': 0.9860000000000001, 'movement': 0.0055172404611547442}, {'a': [260.000732421875, 220.9983673095703], 'b': [315.9952087402344, 114.005126953125], 'frame': 29, 'feature': '13', 'b-a': [55.994476318359375, -106.99324035644531], 'time': 0.9860000000000001, 'movement': 0.0092720407912314957}, {'a': [21.00065040588379, 210.004638671875], 'b': [243.1641387939453, 205.0838165283203], 'frame': 29, 'feature': '14', 'b-a': [222.16348266601562, -4.9208221435546875], 'time': 0.9860000000000001, 'movement': 0.0073095719281840938}, {'a': [316.00146484375, 113.99929809570312], 'b': [270.200439453125, 213.03465270996094], 'frame': 29, 'feature': '15', 'b-a': [-45.801025390625, 99.03535461425781], 'time': 0.9860000000000001, 'movement': 0.0038993651785482332}, {'a': [242.9973602294922, 205.0006561279297], 'b': [16.784820556640625, 215.9591827392578], 'frame': 29, 'feature': '16', 'b-a': [-226.21253967285156, 10.958526611328125], 'time': 0.9860000000000001, 'movement': 0.008844599031425756}, {'a': [269.9988708496094, 212.99700927734375], 'b': [71.78205871582031, 216.0328826904297], 'frame': 29, 'feature': '17', 'b-a': [-198.21681213378906, 3.0358734130859375], 'time': 0.9860000000000001, 'movement': 0.0096094216534201513}, {'a': [1.6138792037963867, 132.89422607421875], 'b': [249.2402801513672, 226.07252502441406], 'frame': 29, 'feature': '18', 'b-a': [247.62640380859375, 93.17829895019531], 'time': 0.9860000000000001, 'movement': 0.245393386030377}, {'a': [16.995250701904297, 216.00294494628906], 'b': [497.894775390625, 208.93142700195312], 'frame': 29, 'feature': '19', 'b-a': [480.8995361328125, -7.0715179443359375], 'time': 0.9860000000000001, 'movement': 0.010635259088554323}]
Minutes to process: 22.1082677007
Processing: videos/nocuts-small.MP4
Saving to analysis/optical-flow/nocuts-small.json
[{'a': [163.9983673095703, 134.00033569335938], 'b': [163.99801635742188, 133.93792724609375], 'frame': 29, 'feature': '0', 'b-a': [-0.0003509521484375, -0.062408447265625], 'time': 0.9860000000000001, 'movement': 0.0039158777779385702}, {'a': [495.01873779296875, 177.67491149902344], 'b': [497.455322265625, 169.67623901367188], 'frame': 29, 'feature': '1', 'b-a': [2.43658447265625, -7.9986724853515625], 'time': 0.9860000000000001, 'movement': 0.31971256878098536}, {'a': [364.0014343261719, 128.00189208984375], 'b': [364.0113525390625, 128.07717895507812], 'frame': 29, 'feature': '2', 'b-a': [0.009918212890625, 0.075286865234375], 'time': 0.9860000000000001, 'movement': 0.0051380024684978456}, {'a': [191.00416564941406, 142.9991455078125], 'b': [190.99407958984375, 142.98374938964844], 'frame': 29, 'feature': '3', 'b-a': [-0.0100860595703125, -0.0153961181640625], 'time': 0.9860000000000001, 'movement': 0.0031988578848540783}, {'a': [101.00057983398438, 150.99745178222656], 'b': [100.99864959716797, 150.87551879882812], 'frame': 29, 'feature': '4', 'b-a': [-0.00193023681640625, -0.1219329833984375], 'time': 0.9860000000000001, 'movement': 0.0052633905795338599}, {'a': [180.99806213378906, 161.9964599609375], 'b': [180.9521942138672, 161.97061157226562], 'frame': 29, 'feature': '5', 'b-a': [-0.045867919921875, -0.025848388671875], 'time': 0.9860000000000001, 'movement': 0.0046096720014184968}, {'a': [75.99858093261719, 150.9997100830078], 'b': [76.013671875, 150.90728759765625], 'frame': 29, 'feature': '6', 'b-a': [0.0150909423828125, -0.0924224853515625], 'time': 0.9860000000000001, 'movement': 0.0050116572614381863}, {'a': [155.9983367919922, 136.001220703125], 'b': [155.995849609375, 135.91001892089844], 'frame': 29, 'feature': '7', 'b-a': [-0.0024871826171875, -0.0912017822265625], 'time': 0.9860000000000001, 'movement': 0.0052833402597602325}, {'a': [454.9981384277344, 123.99772644042969], 'b': [454.9963073730469, 123.99503326416016], 'frame': 29, 'feature': '8', 'b-a': [-0.0018310546875, -0.00269317626953125], 'time': 0.9860000000000001, 'movement': 0.0031999613816753544}, {'a': [96.00090789794922, 155.9976043701172], 'b': [95.99739074707031, 155.89736938476562], 'frame': 29, 'feature': '9', 'b-a': [-0.00351715087890625, -0.1002349853515625], 'time': 0.9860000000000001, 'movement': 0.0049576900241061535}, {'a': [20.00015640258789, 124.00262451171875], 'b': [20.11273193359375, 123.16105651855469], 'frame': 29, 'feature': '10', 'b-a': [0.11257553100585938, -0.8415679931640625], 'time': 0.9860000000000001, 'movement': 0.035412968768625812}, {'a': [143.99436950683594, 161.99755859375], 'b': [143.94459533691406, 161.92315673828125], 'frame': 29, 'feature': '11', 'b-a': [-0.049774169921875, -0.07440185546875], 'time': 0.9860000000000001, 'movement': 0.0051178971028501361}, {'a': [444.99725341796875, 125.0026626586914], 'b': [445.0079345703125, 125.01563262939453], 'frame': 29, 'feature': '12', 'b-a': [0.01068115234375, 0.012969970703125], 'time': 0.9860000000000001, 'movement': 0.0035386250258005901}, {'a': [81.99906158447266, 119.00112915039062], 'b': [82.00698852539062, 118.9203109741211], 'frame': 29, 'feature': '13', 'b-a': [0.00792694091796875, -0.08081817626953125], 'time': 0.9860000000000001, 'movement': 0.0061178989025988968}, {'a': [73.00016784667969, 82.99944305419922], 'b': [72.97711944580078, 82.93257904052734], 'frame': 29, 'feature': '14', 'b-a': [-0.02304840087890625, -0.066864013671875], 'time': 0.9860000000000001, 'movement': 0.0060857236846992421}, {'a': [466.9969177246094, 127.99842071533203], 'b': [467.01739501953125, 128.0048370361328], 'frame': 29, 'feature': '15', 'b-a': [0.020477294921875, 0.00641632080078125], 'time': 0.9860000000000001, 'movement': 0.003817674980884225}, {'a': [173.99851989746094, 134.00030517578125], 'b': [173.98968505859375, 133.946044921875], 'frame': 29, 'feature': '16', 'b-a': [-0.0088348388671875, -0.05426025390625], 'time': 0.9860000000000001, 'movement': 0.0041878108228235664}, {'a': [142.99526977539062, 153.9975128173828], 'b': [142.9623260498047, 153.93699645996094], 'frame': 29, 'feature': '17', 'b-a': [-0.0329437255859375, -0.060516357421875], 'time': 0.9860000000000001, 'movement': 0.0045908541270082114}, {'a': [44.99744415283203, 146.9987030029297], 'b': [44.9955940246582, 146.88970947265625], 'frame': 29, 'feature': '18', 'b-a': [-0.001850128173828125, -0.1089935302734375], 'time': 0.9860000000000001, 'movement': 0.0055522741318343146}, {'a': [497.0081787109375, 223.0001678466797], 'b': [497.336181640625, 222.8241729736328], 'frame': 29, 'feature': '19', 'b-a': [0.3280029296875, -0.175994873046875], 'time': 0.9860000000000001, 'movement': 0.014864413968913642}]
Minutes to process: 3.26997063557
Processing: videos/nocuts-smaller.mp4
Saving to analysis/optical-flow/nocuts-smaller.json
[{'a': [97.99714660644531, 80.9994125366211], 'b': [97.99520111083984, 80.9723129272461], 'frame': 29, 'feature': '0', 'b-a': [-0.00194549560546875, -0.027099609375], 'time': 0.9860000000000001, 'movement': 0.0025302319935972578}, {'a': [115.00382995605469, 86.99827575683594], 'b': [114.99552154541016, 86.99827575683594], 'frame': 29, 'feature': '1', 'b-a': [-0.00830841064453125, 0.0], 'time': 0.9860000000000001, 'movement': 0.0028351500373462149}, {'a': [60.00270462036133, 88.99681854248047], 'b': [59.99714660644531, 88.94905853271484], 'frame': 29, 'feature': '2', 'b-a': [-0.005558013916015625, -0.047760009765625], 'time': 0.9860000000000001, 'movement': 0.0036292308251521998}, {'a': [297.99462890625, 132.0008544921875], 'b': [298.1387023925781, 131.96151733398438], 'frame': 29, 'feature': '3', 'b-a': [0.144073486328125, -0.039337158203125], 'time': 0.9860000000000001, 'movement': 0.008101651451052648}, {'a': [285.5630798339844, 111.47763061523438], 'b': [288.04510498046875, 96.3011703491211], 'frame': 29, 'feature': '4', 'b-a': [2.482025146484375, -15.176460266113281], 'time': 0.9860000000000001, 'movement': 0.7458359552868481}, {'a': [109.00038146972656, 94.99903869628906], 'b': [108.96743774414062, 95.00133514404297], 'frame': 29, 'feature': '5', 'b-a': [-0.0329437255859375, 0.00229644775390625], 'time': 0.9860000000000001, 'movement': 0.0034727987658698112}, {'a': [297.0209655761719, 106.79122161865234], 'b': [298.4311828613281, 101.84754180908203], 'frame': 29, 'feature': '6', 'b-a': [1.41021728515625, -4.9436798095703125], 'time': 0.9860000000000001, 'movement': 0.20000804981602163}, {'a': [61.00217056274414, 75.00172424316406], 'b': [60.993507385253906, 74.95906066894531], 'frame': 29, 'feature': '7', 'b-a': [-0.008663177490234375, -0.04266357421875], 'time': 0.9860000000000001, 'movement': 0.0049721906102133976}, {'a': [50.00074005126953, 70.00143432617188], 'b': [50.00246047973633, 69.95149230957031], 'frame': 29, 'feature': '8', 'b-a': [0.001720428466796875, -0.0499420166015625], 'time': 0.9860000000000001, 'movement': 0.0043676984777417166}, {'a': [41.99898147583008, 50.999393463134766], 'b': [41.982086181640625, 50.96096420288086], 'frame': 29, 'feature': '9', 'b-a': [-0.016895294189453125, -0.03842926025390625], 'time': 0.9860000000000001, 'movement': 0.0034607775702044882}, {'a': [216.99948120117188, 77.0020980834961], 'b': [216.99832153320312, 77.0458755493164], 'frame': 29, 'feature': '10', 'b-a': [-0.00115966796875, 0.0437774658203125], 'time': 0.9860000000000001, 'movement': 0.0038217681435996601}, {'a': [43.00104522705078, 88.99933624267578], 'b': [43.01870346069336, 88.95528411865234], 'frame': 29, 'feature': '11', 'b-a': [0.017658233642578125, -0.0440521240234375], 'time': 0.9860000000000001, 'movement': 0.0044114627546213312}, {'a': [278.0025329589844, 77.00279998779297], 'b': [278.02569580078125, 77.01982879638672], 'frame': 29, 'feature': '12', 'b-a': [0.023162841796875, 0.01702880859375], 'time': 0.9860000000000001, 'movement': 0.0039840380727425859}, {'a': [83.00311279296875, 91.00334930419922], 'b': [82.99768829345703, 90.99536895751953], 'frame': 29, 'feature': '13', 'b-a': [-0.00542449951171875, -0.0079803466796875], 'time': 0.9860000000000001, 'movement': 0.002432689293496439}, {'a': [90.00247955322266, 95.00173950195312], 'b': [89.9952392578125, 94.99432373046875], 'frame': 29, 'feature': '14', 'b-a': [-0.00724029541015625, -0.007415771484375], 'time': 0.9860000000000001, 'movement': 0.002899603318053715}, {'a': [146.9296417236328, 77.04924774169922], 'b': [145.9529266357422, 77.98603057861328], 'frame': 29, 'feature': '15', 'b-a': [-0.976715087890625, 0.9367828369140625], 'time': 0.9860000000000001, 'movement': 0.051198675393544398}, {'a': [209.99876403808594, 84.00138854980469], 'b': [209.99610900878906, 84.04442596435547], 'frame': 29, 'feature': '16', 'b-a': [-0.002655029296875, 0.04303741455078125], 'time': 0.9860000000000001, 'movement': 0.0037813283029365643}, {'a': [98.00289916992188, 50.999969482421875], 'b': [98.001953125, 50.95749282836914], 'frame': 29, 'feature': '17', 'b-a': [-0.000946044921875, -0.042476654052734375], 'time': 0.9860000000000001, 'movement': 0.0055695220904328439}, {'a': [10.976996421813965, 75.99797821044922], 'b': [11.043296813964844, 75.5518798828125], 'frame': 29, 'feature': '18', 'b-a': [0.0663003921508789, -0.44609832763671875], 'time': 0.9860000000000001, 'movement': 0.023807628385337263}, {'a': [223.00296020507812, 81.00065612792969], 'b': [223.01153564453125, 81.05014038085938], 'frame': 29, 'feature': '19', 'b-a': [0.008575439453125, 0.0494842529296875], 'time': 0.9860000000000001, 'movement': 0.0045256227624185128}]
Minutes to process: 1.99079976479
Processing: videos/probation-reg-small.mp4
Saving to analysis/optical-flow/probation-reg-small.json
[{'a': [259.0023193359375, 118.00041198730469], 'b': [259.03436279296875, 117.88640594482422], 'frame': 29, 'feature': '0', 'b-a': [0.03204345703125, -0.11400604248046875], 'time': 0.9860000000000001, 'movement': 0.0061008344009992315}, {'a': [346.99993896484375, 62.00002670288086], 'b': [347.1059265136719, 62.021888732910156], 'frame': 29, 'feature': '1', 'b-a': [0.105987548828125, 0.021862030029296875], 'time': 0.9860000000000001, 'movement': 0.0052367493104799809}, {'a': [107.99921417236328, 87.00260162353516], 'b': [107.9802017211914, 86.9548568725586], 'frame': 29, 'feature': '2', 'b-a': [-0.019012451171875, -0.0477447509765625], 'time': 0.9860000000000001, 'movement': 0.005868072671703352}, {'a': [486.9997863769531, 79.9985580444336], 'b': [486.962646484375, 80.11476135253906], 'frame': 29, 'feature': '3', 'b-a': [-0.037139892578125, 0.11620330810546875], 'time': 0.9860000000000001, 'movement': 0.0069234064556377263}, {'a': [435.99896240234375, 116.0017318725586], 'b': [435.99029541015625, 116.09944915771484], 'frame': 29, 'feature': '4', 'b-a': [-0.0086669921875, 0.09771728515625], 'time': 0.9860000000000001, 'movement': 0.0055105507670869603}, {'a': [280.00341796875, 119.00184631347656], 'b': [279.9935302734375, 118.9520034790039], 'frame': 29, 'feature': '5', 'b-a': [-0.0098876953125, -0.04984283447265625], 'time': 0.9860000000000001, 'movement': 0.0042560213498353703}, {'a': [341.0014953613281, 79.99934387207031], 'b': [341.0672302246094, 80.00935363769531], 'frame': 29, 'feature': '6', 'b-a': [0.06573486328125, 0.010009765625], 'time': 0.9860000000000001, 'movement': 0.0038943664734813802}, {'a': [311.00030517578125, 76.9974365234375], 'b': [311.06195068359375, 76.95784759521484], 'frame': 29, 'feature': '7', 'b-a': [0.0616455078125, -0.03958892822265625], 'time': 0.9860000000000001, 'movement': 0.0047858639031644621}, {'a': [356.99725341796875, 114.9973373413086], 'b': [357.0112609863281, 115.00364685058594], 'frame': 29, 'feature': '8', 'b-a': [0.014007568359375, 0.00630950927734375], 'time': 0.9860000000000001, 'movement': 0.0040287330449590908}, {'a': [370.9988708496094, 94.00017547607422], 'b': [371.0312194824219, 94.0363540649414], 'frame': 29, 'feature': '9', 'b-a': [0.0323486328125, 0.0361785888671875], 'time': 0.9860000000000001, 'movement': 0.0039459247190248353}, {'a': [406.9993896484375, 94.99893188476562], 'b': [407.0384216308594, 95.10316467285156], 'frame': 29, 'feature': '10', 'b-a': [0.039031982421875, 0.1042327880859375], 'time': 0.9860000000000001, 'movement': 0.005878582201368208}, {'a': [113.99995422363281, 49.99997329711914], 'b': [113.84489440917969, 49.94831848144531], 'frame': 29, 'feature': '11', 'b-a': [-0.155059814453125, -0.051654815673828125], 'time': 0.9860000000000001, 'movement': 0.0069595477848608802}, {'a': [462.99945068359375, 100.99627685546875], 'b': [462.9991455078125, 101.14036560058594], 'frame': 29, 'feature': '12', 'b-a': [-0.00030517578125, 0.1440887451171875], 'time': 0.9860000000000001, 'movement': 0.0074255048570319501}, {'a': [476.9999694824219, 57.9999885559082], 'b': [476.9342346191406, 58.12455368041992], 'frame': 29, 'feature': '13', 'b-a': [-0.06573486328125, 0.12456512451171875], 'time': 0.9860000000000001, 'movement': 0.0071475170428537491}, {'a': [206.99977111816406, 77.99984741210938], 'b': [206.97970581054688, 77.86085510253906], 'frame': 29, 'feature': '14', 'b-a': [-0.0200653076171875, -0.1389923095703125], 'time': 0.9860000000000001, 'movement': 0.0068037520877310426}, {'a': [331.99957275390625, 66.00033569335938], 'b': [332.110595703125, 66.00807189941406], 'frame': 29, 'feature': '15', 'b-a': [0.11102294921875, 0.0077362060546875], 'time': 0.9860000000000001, 'movement': 0.006024682529045847}, {'a': [305.000732421875, 82.00025177001953], 'b': [305.0841064453125, 81.96218872070312], 'frame': 29, 'feature': '16', 'b-a': [0.0833740234375, -0.03806304931640625], 'time': 0.9860000000000001, 'movement': 0.005148376014027423}, {'a': [171.9923553466797, 124.9156723022461], 'b': [171.99832153320312, 124.88324737548828], 'frame': 29, 'feature': '17', 'b-a': [0.0059661865234375, -0.0324249267578125], 'time': 0.9860000000000001, 'movement': 0.011219796106411979}, {'a': [487.0008239746094, 93.00204467773438], 'b': [486.9850158691406, 93.1156234741211], 'frame': 29, 'feature': '18', 'b-a': [-0.01580810546875, 0.11357879638671875], 'time': 0.9860000000000001, 'movement': 0.0064305086070189955}, {'a': [409.9977111816406, 116.00090026855469], 'b': [410.0055847167969, 116.05670166015625], 'frame': 29, 'feature': '19', 'b-a': [0.00787353515625, 0.0558013916015625], 'time': 0.9860000000000001, 'movement': 0.0051326085391839773}]
Minutes to process: 9.59442098538
Processing: videos/probation-shoulder-small.mp4
Saving to analysis/optical-flow/probation-shoulder-small.json
[{'a': [26.02570152282715, 209.99493408203125], 'b': [26.6270809173584, 209.9645538330078], 'frame': 29, 'feature': '0', 'b-a': [0.60137939453125, -0.0303802490234375], 'time': 0.9860000000000001, 'movement': 0.025238547281458461}, {'a': [142.26829528808594, 54.7690315246582], 'b': [143.0460968017578, 54.41653823852539], 'frame': 29, 'feature': '1', 'b-a': [0.777801513671875, -0.3524932861328125], 'time': 0.9860000000000001, 'movement': 0.081749536113106994}, {'a': [270.2029113769531, 118.02147674560547], 'b': [271.2196044921875, 117.99745178222656], 'frame': 29, 'feature': '2', 'b-a': [1.016693115234375, -0.02402496337890625], 'time': 0.9860000000000001, 'movement': 0.064885072101003902}, {'a': [364.1557922363281, 57.082210540771484], 'b': [365.4399108886719, 57.44832992553711], 'frame': 29, 'feature': '3', 'b-a': [1.28411865234375, 0.366119384765625], 'time': 0.9860000000000001, 'movement': 0.084699892246260719}, {'a': [279.0002746582031, 180.99876403808594], 'b': [278.70220947265625, 181.14341735839844], 'frame': 29, 'feature': '4', 'b-a': [-0.298065185546875, 0.1446533203125], 'time': 0.9860000000000001, 'movement': 0.015404959024604538}, {'a': [448.1006774902344, 124.11133575439453], 'b': [449.11590576171875, 124.3949966430664], 'frame': 29, 'feature': '5', 'b-a': [1.015228271484375, 0.283660888671875], 'time': 0.9860000000000001, 'movement': 0.064322879060235774}, {'a': [290.1995849609375, 118.98526763916016], 'b': [291.27838134765625, 119.08663940429688], 'frame': 29, 'feature': '6', 'b-a': [1.07879638671875, 0.10137176513671875], 'time': 0.9860000000000001, 'movement': 0.066259217733549397}, {'a': [26.021648406982422, 226.98397827148438], 'b': [26.96616554260254, 226.82908630371094], 'frame': 29, 'feature': '7', 'b-a': [0.9445171356201172, -0.1548919677734375], 'time': 0.9860000000000001, 'movement': 0.035138112846119653}, {'a': [139.16683959960938, 129.88275146484375], 'b': [140.05067443847656, 129.5473175048828], 'frame': 29, 'feature': '8', 'b-a': [0.8838348388671875, -0.3354339599609375], 'time': 0.9860000000000001, 'movement': 0.074064647423601221}, {'a': [143.27218627929688, 44.77393341064453], 'b': [144.01023864746094, 44.43634033203125], 'frame': 29, 'feature': '9', 'b-a': [0.7380523681640625, -0.33759307861328125], 'time': 0.9860000000000001, 'movement': 0.08692009644663154}, {'a': [57.1280632019043, 85.88732147216797], 'b': [57.86664962768555, 85.66584777832031], 'frame': 29, 'feature': '10', 'b-a': [0.73858642578125, -0.22147369384765625], 'time': 0.9860000000000001, 'movement': 0.060358802836131431}, {'a': [56.1882209777832, 142.93370056152344], 'b': [57.180137634277344, 142.7220458984375], 'frame': 29, 'feature': '11', 'b-a': [0.9919166564941406, -0.2116546630859375], 'time': 0.9860000000000001, 'movement': 0.070275229721025012}, {'a': [448.0933837890625, 93.11903381347656], 'b': [452.4861145019531, 95.83059692382812], 'frame': 29, 'feature': '12', 'b-a': [4.392730712890625, 2.7115631103515625], 'time': 0.9860000000000001, 'movement': 0.21416920569628992}, {'a': [326.1693420410156, 76.0169448852539], 'b': [327.4501037597656, 76.35909271240234], 'frame': 29, 'feature': '13', 'b-a': [1.28076171875, 0.3421478271484375], 'time': 0.9860000000000001, 'movement': 0.076219962749244835}, {'a': [316.28173828125, 62.0269660949707], 'b': [317.5804748535156, 62.283599853515625], 'frame': 29, 'feature': '14', 'b-a': [1.298736572265625, 0.2566337585449219], 'time': 0.9860000000000001, 'movement': 0.083629237913430257}, {'a': [357.1861267089844, 46.05936050415039], 'b': [358.5534973144531, 46.4387092590332], 'frame': 29, 'feature': '15', 'b-a': [1.36737060546875, 0.3793487548828125], 'time': 0.9860000000000001, 'movement': 0.094801823576462677}, {'a': [366.200439453125, 31.085039138793945], 'b': [367.5710144042969, 31.45472526550293], 'frame': 29, 'feature': '16', 'b-a': [1.370574951171875, 0.3696861267089844], 'time': 0.9860000000000001, 'movement': 0.094426293022416785}, {'a': [259.37744140625, 55.98036575317383], 'b': [260.8279724121094, 55.85736083984375], 'frame': 29, 'feature': '17', 'b-a': [1.450531005859375, -0.12300491333007812], 'time': 0.9860000000000001, 'movement': 0.10015467567176654}, {'a': [92.14353942871094, 131.9008331298828], 'b': [93.15770721435547, 131.65406799316406], 'frame': 29, 'feature': '18', 'b-a': [1.0141677856445312, -0.24676513671875], 'time': 0.9860000000000001, 'movement': 0.068796485774861332}, {'a': [309.15594482421875, 111.01905822753906], 'b': [310.2630615234375, 111.23757934570312], 'frame': 29, 'feature': '19', 'b-a': [1.10711669921875, 0.2185211181640625], 'time': 0.9860000000000001, 'movement': 0.068119029373990309}]
Minutes to process: 6.21931256851
Processing: videos/steve-walking-small.mp4
Saving to analysis/optical-flow/steve-walking-small.json
[{'a': [214.9980926513672, 109.99305725097656], 'b': [214.974853515625, 109.72384643554688], 'frame': 29, 'feature': '0', 'b-a': [-0.0232391357421875, -0.2692108154296875], 'time': 0.9860000000000001, 'movement': 0.011057809460908175}, {'a': [63.99720764160156, 102.99882507324219], 'b': [63.9472770690918, 103.2017593383789], 'frame': 29, 'feature': '1', 'b-a': [-0.049930572509765625, 0.20293426513671875], 'time': 0.9860000000000001, 'movement': 0.0090467400832808225}, {'a': [406.0062255859375, 84.00199890136719], 'b': [406.28131103515625, 84.12088775634766], 'frame': 29, 'feature': '2', 'b-a': [0.27508544921875, 0.11888885498046875], 'time': 0.9860000000000001, 'movement': 0.012833507229766712}, {'a': [55.99358367919922, 106.00065612792969], 'b': [55.91524124145508, 106.2022476196289], 'frame': 29, 'feature': '3', 'b-a': [-0.07834243774414062, 0.20159149169921875], 'time': 0.9860000000000001, 'movement': 0.01111712048617031}, {'a': [94.00118255615234, 114.00080871582031], 'b': [94.01153564453125, 114.04667663574219], 'frame': 29, 'feature': '4', 'b-a': [0.01035308837890625, 0.045867919921875], 'time': 0.9860000000000001, 'movement': 0.0045860507535539436}, {'a': [227.9960174560547, 115.99715423583984], 'b': [227.9386749267578, 115.72805786132812], 'frame': 29, 'feature': '5', 'b-a': [-0.057342529296875, -0.26909637451171875], 'time': 0.9860000000000001, 'movement': 0.011797205914325756}, {'a': [328.9963684082031, 74.99527740478516], 'b': [329.1321105957031, 74.79095458984375], 'frame': 29, 'feature': '6', 'b-a': [0.1357421875, -0.20432281494140625], 'time': 0.9860000000000001, 'movement': 0.01164343342353622}, {'a': [433.9992980957031, 95.999267578125], 'b': [434.1021728515625, 96.18354797363281], 'frame': 29, 'feature': '7', 'b-a': [0.102874755859375, 0.1842803955078125], 'time': 0.9860000000000001, 'movement': 0.0089828095434972173}, {'a': [28.001728057861328, 88.9994125366211], 'b': [27.9787540435791, 89.23812103271484], 'frame': 29, 'feature': '8', 'b-a': [-0.022974014282226562, 0.23870849609375], 'time': 0.9860000000000001, 'movement': 0.012132782332502819}, {'a': [31.000530242919922, 96.99573516845703], 'b': [30.98737907409668, 97.27980041503906], 'frame': 29, 'feature': '9', 'b-a': [-0.013151168823242188, 0.28406524658203125], 'time': 0.9860000000000001, 'movement': 0.012145394503524334}, {'a': [25.003173828125, 79.00984191894531], 'b': [24.958786010742188, 79.27445220947266], 'frame': 29, 'feature': '10', 'b-a': [-0.0443878173828125, 0.26461029052734375], 'time': 0.9860000000000001, 'movement': 0.012718419536370141}, {'a': [441.0001525878906, 107.00360870361328], 'b': [441.02978515625, 107.17826843261719], 'frame': 29, 'feature': '11', 'b-a': [0.029632568359375, 0.17465972900390625], 'time': 0.9860000000000001, 'movement': 0.010029024890110153}, {'a': [305.99505615234375, 77.00010681152344], 'b': [306.1148681640625, 76.726806640625], 'frame': 29, 'feature': '12', 'b-a': [0.11981201171875, -0.2733001708984375], 'time': 0.9860000000000001, 'movement': 0.013115978599044269}, {'a': [396.99554443359375, 83.99755859375], 'b': [397.32818603515625, 84.09815216064453], 'frame': 29, 'feature': '13', 'b-a': [0.3326416015625, 0.10059356689453125], 'time': 0.9860000000000001, 'movement': 0.01350553403608501}, {'a': [464.9972229003906, 107.00025177001953], 'b': [465.018310546875, 107.28543853759766], 'frame': 29, 'feature': '14', 'b-a': [0.021087646484375, 0.285186767578125], 'time': 0.9860000000000001, 'movement': 0.011273899420710474}, {'a': [77.9994125366211, 118.00177764892578], 'b': [77.9781723022461, 118.1548843383789], 'frame': 29, 'feature': '15', 'b-a': [-0.021240234375, 0.153106689453125], 'time': 0.9860000000000001, 'movement': 0.0088608469091484253}, {'a': [113.98577117919922, 109.99885559082031], 'b': [113.98200225830078, 110.01868438720703], 'frame': 29, 'feature': '16', 'b-a': [-0.0037689208984375, 0.01982879638671875], 'time': 0.9860000000000001, 'movement': 0.0058964023904489547}, {'a': [23.003910064697266, 71.00455474853516], 'b': [22.97245216369629, 71.29449462890625], 'frame': 29, 'feature': '17', 'b-a': [-0.03145790100097656, 0.28993988037109375], 'time': 0.9860000000000001, 'movement': 0.013021282209404584}, {'a': [214.974853515625, 109.72384643554688], 'b': [214.96292114257812, 109.63154602050781], 'frame': 58, 'feature': '0', 'b-a': [-0.011932373046875, -0.0923004150390625], 'time': 1.9720000000000002, 'movement': 0.0087053347981117402}, {'a': [63.9472770690918, 103.2017593383789], 'b': [63.94071960449219, 103.3048324584961], 'frame': 58, 'feature': '1', 'b-a': [-0.006557464599609375, 0.1030731201171875], 'time': 1.9720000000000002, 'movement': 0.0072334264109015526}]
Minutes to process: 1.47125024796
Processing: videos/toy-story-shoulder-2-small.mp4
Saving to analysis/optical-flow/toy-story-shoulder-2-small.json
[{'a': [467.0010070800781, 208.99754333496094], 'b': [467.0796813964844, 208.9759521484375], 'frame': 29, 'feature': '0', 'b-a': [0.07867431640625, -0.0215911865234375], 'time': 0.9860000000000001, 'movement': 0.0065425858584007828}, {'a': [8.755325317382812, 128.38259887695312], 'b': [11.900432586669922, 125.6460189819336], 'frame': 29, 'feature': '1', 'b-a': [3.1451072692871094, -2.7365798950195312], 'time': 0.9860000000000001, 'movement': 0.50653046215402664}, {'a': [389.18756103515625, 138.93995666503906], 'b': [390.2583923339844, 139.07127380371094], 'frame': 29, 'feature': '2', 'b-a': [1.070831298828125, 0.131317138671875], 'time': 0.9860000000000001, 'movement': 0.056373652905739584}, {'a': [23.836688995361328, 112.05585479736328], 'b': [25.56842613220215, 111.43230438232422], 'frame': 29, 'feature': '3', 'b-a': [1.7317371368408203, -0.6235504150390625], 'time': 0.9860000000000001, 'movement': 0.11114622976084979}, {'a': [379.06292724609375, 108.03172302246094], 'b': [383.33197021484375, 109.17022705078125], 'frame': 29, 'feature': '4', 'b-a': [4.26904296875, 1.1385040283203125], 'time': 0.9860000000000001, 'movement': 0.16311405252279906}, {'a': [489.00372314453125, 194.004638671875], 'b': [489.0806884765625, 193.9424285888672], 'frame': 29, 'feature': '5', 'b-a': [0.07696533203125, -0.0622100830078125], 'time': 0.9860000000000001, 'movement': 0.0056848137374517736}, {'a': [272.9268493652344, 171.97389221191406], 'b': [273.34771728515625, 172.15431213378906], 'frame': 29, 'feature': '6', 'b-a': [0.420867919921875, 0.180419921875], 'time': 0.9860000000000001, 'movement': 0.027167372774846595}, {'a': [191.99444580078125, 226.00071716308594], 'b': [191.7459259033203, 226.09654235839844], 'frame': 29, 'feature': '7', 'b-a': [-0.2485198974609375, 0.0958251953125], 'time': 0.9860000000000001, 'movement': 0.016616583946321546}, {'a': [367.5588073730469, 115.1977310180664], 'b': [374.314697265625, 117.25736236572266], 'frame': 29, 'feature': '8', 'b-a': [6.755889892578125, 2.05963134765625], 'time': 0.9860000000000001, 'movement': 0.27240650060361832}, {'a': [299.0204162597656, 199.02659606933594], 'b': [301.9108581542969, 201.875], 'frame': 29, 'feature': '9', 'b-a': [2.89044189453125, 2.8484039306640625], 'time': 0.9860000000000001, 'movement': 0.14154373231376038}, {'a': [23.00057601928711, 205.99911499023438], 'b': [23.04731559753418, 205.95559692382812], 'frame': 29, 'feature': '10', 'b-a': [0.04673957824707031, -0.04351806640625], 'time': 0.9860000000000001, 'movement': 0.0054911498566447151}, {'a': [372.11248779296875, 97.38298034667969], 'b': [381.289306640625, 103.31623840332031], 'frame': 29, 'feature': '11', 'b-a': [9.17681884765625, 5.933258056640625], 'time': 0.9860000000000001, 'movement': 0.46557876018100769}, {'a': [285.99237060546875, 191.93910217285156], 'b': [292.41961669921875, 198.6688690185547], 'frame': 29, 'feature': '12', 'b-a': [6.42724609375, 6.729766845703125], 'time': 0.9860000000000001, 'movement': 0.33165462363254405}, {'a': [4.003076553344727, 215.00035095214844], 'b': [4.15366792678833, 215.01788330078125], 'frame': 29, 'feature': '13', 'b-a': [0.15059137344360352, 0.0175323486328125], 'time': 0.9860000000000001, 'movement': 0.0089019452169505423}, {'a': [456.0045471191406, 94.00190734863281], 'b': [455.9450378417969, 93.88727569580078], 'frame': 29, 'feature': '14', 'b-a': [-0.05950927734375, -0.11463165283203125], 'time': 0.9860000000000001, 'movement': 0.0069486120924482061}, {'a': [490.0019836425781, 105.9999008178711], 'b': [490.0356140136719, 105.98120880126953], 'frame': 29, 'feature': '15', 'b-a': [0.03363037109375, -0.0186920166015625], 'time': 0.9860000000000001, 'movement': 0.003858032196776235}, {'a': [20.007221221923828, 213.0010528564453], 'b': [20.060997009277344, 212.96177673339844], 'frame': 29, 'feature': '16', 'b-a': [0.053775787353515625, -0.039276123046875], 'time': 0.9860000000000001, 'movement': 0.0070182604520533489}, {'a': [18.053495407104492, 175.05740356445312], 'b': [18.069679260253906, 175.2244415283203], 'frame': 29, 'feature': '17', 'b-a': [0.016183853149414062, 0.1670379638671875], 'time': 0.9860000000000001, 'movement': 0.10328705851309772}, {'a': [27.01957130432129, 186.07034301757812], 'b': [27.478073120117188, 185.39059448242188], 'frame': 29, 'feature': '18', 'b-a': [0.45850181579589844, -0.67974853515625], 'time': 0.9860000000000001, 'movement': 0.13267379088712664}, {'a': [371.8529357910156, 105.13124084472656], 'b': [378.9736022949219, 108.53690338134766], 'frame': 29, 'feature': '19', 'b-a': [7.12066650390625, 3.4056625366210938], 'time': 0.9860000000000001, 'movement': 0.31509190245435154}]
Minutes to process: 4.20352231661
Processing: videos/toy-story-shoulder-small.mp4
Saving to analysis/optical-flow/toy-story-shoulder-small.json
[{'a': [265.3615417480469, 200.9896697998047], 'b': [266.8216552734375, 201.205810546875], 'frame': 29, 'feature': '0', 'b-a': [1.460113525390625, 0.2161407470703125], 'time': 0.9860000000000001, 'movement': 0.23622883478147461}, {'a': [248.0247039794922, 147.02980041503906], 'b': [248.14080810546875, 146.82110595703125], 'frame': 29, 'feature': '1', 'b-a': [0.1161041259765625, -0.2086944580078125], 'time': 0.9860000000000001, 'movement': 0.055661300582618548}, {'a': [253.04373168945312, 152.07325744628906], 'b': [253.38436889648438, 152.3861541748047], 'frame': 29, 'feature': '2', 'b-a': [0.34063720703125, 0.312896728515625], 'time': 0.9860000000000001, 'movement': 0.14065049171190838}, {'a': [304.001708984375, 140.99923706054688], 'b': [304.0025939941406, 141.00074768066406], 'frame': 29, 'feature': '3', 'b-a': [0.000885009765625, 0.0015106201171875], 'time': 0.9860000000000001, 'movement': 0.00448329112058955}, {'a': [270.0162658691406, 191.04608154296875], 'b': [270.2093505859375, 191.3079071044922], 'frame': 29, 'feature': '4', 'b-a': [0.193084716796875, 0.2618255615234375], 'time': 0.9860000000000001, 'movement': 0.04793652546881088}, {'a': [280.0352478027344, 193.04530334472656], 'b': [280.2342834472656, 193.3405303955078], 'frame': 29, 'feature': '5', 'b-a': [0.19903564453125, 0.29522705078125], 'time': 0.9860000000000001, 'movement': 0.092932911678056784}, {'a': [271.2113037109375, 210.8634796142578], 'b': [272.13409423828125, 210.37525939941406], 'frame': 29, 'feature': '6', 'b-a': [0.92279052734375, -0.48822021484375], 'time': 0.9860000000000001, 'movement': 0.14181899993102356}, {'a': [437.1590881347656, 115.05178833007812], 'b': [455.75677490234375, 127.97704315185547], 'frame': 29, 'feature': '7', 'b-a': [18.597686767578125, 12.925254821777344], 'time': 0.9860000000000001, 'movement': 0.85844749584794044}, {'a': [298.996826171875, 110.9998779296875], 'b': [298.9977722167969, 110.99813842773438], 'frame': 29, 'feature': '8', 'b-a': [0.000946044921875, -0.001739501953125], 'time': 0.9860000000000001, 'movement': 0.0037039534895327584}, {'a': [293.99957275390625, 118.00077056884766], 'b': [293.9986572265625, 118.00360870361328], 'frame': 29, 'feature': '9', 'b-a': [-0.00091552734375, 0.002838134765625], 'time': 0.9860000000000001, 'movement': 0.0029512010434449747}, {'a': [381.00408935546875, 95.002685546875], 'b': [381.8118591308594, 94.98065185546875], 'frame': 29, 'feature': '10', 'b-a': [0.807769775390625, -0.02203369140625], 'time': 0.9860000000000001, 'movement': 0.029492694964825081}, {'a': [307.99169921875, 115.99181365966797], 'b': [307.9954833984375, 115.98973083496094], 'frame': 29, 'feature': '11', 'b-a': [0.0037841796875, -0.00208282470703125], 'time': 0.9860000000000001, 'movement': 0.0044005724886464403}, {'a': [278.1186828613281, 217.90736389160156], 'b': [278.6553955078125, 217.4440155029297], 'frame': 29, 'feature': '12', 'b-a': [0.536712646484375, -0.463348388671875], 'time': 0.9860000000000001, 'movement': 0.087400261461253057}, {'a': [222.99903869628906, 211.00149536132812], 'b': [222.97598266601562, 210.94564819335938], 'frame': 29, 'feature': '13', 'b-a': [-0.0230560302734375, -0.05584716796875], 'time': 0.9860000000000001, 'movement': 0.0052232463173728823}, {'a': [260.0035095214844, 82.9957046508789], 'b': [259.99127197265625, 82.9735336303711], 'frame': 29, 'feature': '14', 'b-a': [-0.012237548828125, -0.0221710205078125], 'time': 0.9860000000000001, 'movement': 0.0047747971297338095}, {'a': [442.1372985839844, 108.03781127929688], 'b': [462.7783508300781, 117.16629028320312], 'frame': 29, 'feature': '15', 'b-a': [20.64105224609375, 9.12847900390625], 'time': 0.9860000000000001, 'movement': 0.85171679201824912}, {'a': [276.9991149902344, 184.0019073486328], 'b': [276.9885559082031, 183.98007202148438], 'frame': 29, 'feature': '16', 'b-a': [-0.01055908203125, -0.0218353271484375], 'time': 0.9860000000000001, 'movement': 0.0039052752946535573}, {'a': [241.001953125, 177.00572204589844], 'b': [240.99624633789062, 176.99664306640625], 'frame': 29, 'feature': '17', 'b-a': [-0.005706787109375, -0.0090789794921875], 'time': 0.9860000000000001, 'movement': 0.004121345146719752}, {'a': [9.993849754333496, 215.0059356689453], 'b': [10.041545867919922, 215.019775390625], 'frame': 29, 'feature': '18', 'b-a': [0.04769611358642578, 0.0138397216796875], 'time': 0.9860000000000001, 'movement': 0.0048905510098095342}, {'a': [235.00013732910156, 201.9964599609375], 'b': [235.0027313232422, 201.98690795898438], 'frame': 29, 'feature': '19', 'b-a': [0.002593994140625, -0.009552001953125], 'time': 0.9860000000000001, 'movement': 0.0046486739643271371}]
Minutes to process: 4.75023621718
Processing: videos/toy-story-small.mp4
Saving to analysis/optical-flow/toy-story-small.json
[{'a': [310.00201416015625, 109.99930572509766], 'b': [309.9977722167969, 109.96334838867188], 'frame': 29, 'feature': '0', 'b-a': [-0.004241943359375, -0.03595733642578125], 'time': 0.9860000000000001, 'movement': 0.0036807869850047702}, {'a': [316.9981689453125, 140.99880981445312], 'b': [316.9955749511719, 140.964111328125], 'frame': 29, 'feature': '1', 'b-a': [-0.002593994140625, -0.034698486328125], 'time': 0.9860000000000001, 'movement': 0.0036280136876578988}, {'a': [423.0057373046875, 209.99879455566406], 'b': [423.92608642578125, 207.67459106445312], 'frame': 29, 'feature': '2', 'b-a': [0.92034912109375, -2.3242034912109375], 'time': 0.9860000000000001, 'movement': 0.12065049239177385}, {'a': [23.012598037719727, 203.990966796875], 'b': [22.686296463012695, 203.7466583251953], 'frame': 29, 'feature': '3', 'b-a': [-0.32630157470703125, -0.2443084716796875], 'time': 0.9860000000000001, 'movement': 0.024438395594439374}, {'a': [395.0385437011719, 212.99234008789062], 'b': [404.2074890136719, 210.1881103515625], 'frame': 29, 'feature': '4', 'b-a': [9.1689453125, -2.804229736328125], 'time': 0.9860000000000001, 'movement': 0.35681566866596454}, {'a': [258.9964904785156, 222.0033721923828], 'b': [259.1431579589844, 221.98533630371094], 'frame': 29, 'feature': '5', 'b-a': [0.14666748046875, -0.018035888671875], 'time': 0.9860000000000001, 'movement': 0.0074787659124985082}, {'a': [390.9991455078125, 94.99869537353516], 'b': [391.042724609375, 94.92925262451172], 'frame': 29, 'feature': '6', 'b-a': [0.0435791015625, -0.0694427490234375], 'time': 0.9860000000000001, 'movement': 0.0050983324622863842}, {'a': [18.996753692626953, 213.00364685058594], 'b': [18.937503814697266, 213.02255249023438], 'frame': 29, 'feature': '7', 'b-a': [-0.0592498779296875, 0.0189056396484375], 'time': 0.9860000000000001, 'movement': 0.0074484656918151629}, {'a': [215.0003204345703, 223.00149536132812], 'b': [215.17987060546875, 222.9729461669922], 'frame': 29, 'feature': '8', 'b-a': [0.1795501708984375, -0.0285491943359375], 'time': 0.9860000000000001, 'movement': 0.0079462725271727767}, {'a': [452.7160949707031, 129.637451171875], 'b': [471.5032653808594, 109.90046691894531], 'frame': 29, 'feature': '9', 'b-a': [18.78717041015625, -19.736984252929688], 'time': 0.9860000000000001, 'movement': 2.317605065888372}, {'a': [299.0032958984375, 117.99678802490234], 'b': [299.0054931640625, 117.9731674194336], 'frame': 29, 'feature': '10', 'b-a': [0.002197265625, -0.02362060546875], 'time': 0.9860000000000001, 'movement': 0.0045564155584072756}, {'a': [435.6994934082031, 189.138916015625], 'b': [454.14483642578125, 193.61663818359375], 'frame': 29, 'feature': '11', 'b-a': [18.445343017578125, 4.47772216796875], 'time': 0.9860000000000001, 'movement': 1.3710243619721512}, {'a': [223.0015411376953, 198.9967041015625], 'b': [223.0091552734375, 199.00010681152344], 'frame': 29, 'feature': '12', 'b-a': [0.0076141357421875, 0.0034027099609375], 'time': 0.9860000000000001, 'movement': 0.0036288347207652084}, {'a': [70.99908447265625, 215.9942626953125], 'b': [71.00718688964844, 216.05580139160156], 'frame': 29, 'feature': '13', 'b-a': [0.0081024169921875, 0.0615386962890625], 'time': 0.9860000000000001, 'movement': 0.0052437093670897441}, {'a': [316.0010070800781, 114.99813079833984], 'b': [316.00189208984375, 114.96941375732422], 'frame': 29, 'feature': '14', 'b-a': [0.000885009765625, -0.028717041015625], 'time': 0.9860000000000001, 'movement': 0.0046810329157120452}, {'a': [426.4736633300781, 190.91885375976562], 'b': [445.1846923828125, 191.22169494628906], 'frame': 29, 'feature': '15', 'b-a': [18.711029052734375, 0.3028411865234375], 'time': 0.9860000000000001, 'movement': 0.82817666515194133}, {'a': [250.36087036132812, 162.01541137695312], 'b': [249.6997833251953, 162.1389617919922], 'frame': 29, 'feature': '16', 'b-a': [-0.6610870361328125, 0.1235504150390625], 'time': 0.9860000000000001, 'movement': 0.09294306033226693}, {'a': [443.5052490234375, 136.6865234375], 'b': [467.3368225097656, 115.89884948730469], 'frame': 29, 'feature': '17', 'b-a': [23.831573486328125, -20.787673950195312], 'time': 0.9860000000000001, 'movement': 2.369199349962432}, {'a': [240.9978790283203, 206.99996948242188], 'b': [241.12149047851562, 206.9521026611328], 'frame': 29, 'feature': '18', 'b-a': [0.1236114501953125, -0.0478668212890625], 'time': 0.9860000000000001, 'movement': 0.0067574154497284829}, {'a': [248.00157165527344, 225.99571228027344], 'b': [248.16622924804688, 225.9332275390625], 'frame': 29, 'feature': '19', 'b-a': [0.1646575927734375, -0.0624847412109375], 'time': 0.9860000000000001, 'movement': 0.0082631988755973249}]
Minutes to process: 4.48213553429
/usr/local/lib/python2.7/site-packages/ipykernel/__main__.py:65: FutureWarning: comparison to `None` will result in an elementwise object comparison in the future.

In [20]:



Processing: videos/equation-2-small.mp4
Saving to analysis/optical-flow/equation-2-small.json
[{'a': [216.0580291748047, 126.96463012695312], 'b': [218.3977813720703, 129.02935791015625], 'frame': 87, 'feature': '0', 'b-a': [2.339752197265625, 2.064727783203125], 'time': 2.958, 'movement': 0.08474402544245889}, {'a': [216.2547149658203, 149.899658203125], 'b': [234.08021545410156, 147.72576904296875], 'frame': 87, 'feature': '1', 'b-a': [17.82550048828125, -2.17388916015625], 'time': 2.958, 'movement': 0.23165659439795511}, {'a': [232.00070190429688, 133.00161743164062], 'b': [237.9292755126953, 128.9722442626953], 'frame': 87, 'feature': '16', 'b-a': [5.9285736083984375, -4.0293731689453125], 'time': 2.958, 'movement': 0.099226436310115906}, {'a': [205.16656494140625, 159.39088439941406], 'b': [207.86172485351562, 158.98165893554688], 'frame': 87, 'feature': '24', 'b-a': [2.695159912109375, -0.4092254638671875], 'time': 2.958, 'movement': 0.062072473449696755}, {'a': [242.09002685546875, 147.95608520507812], 'b': [249.42457580566406, 148.7047882080078], 'frame': 87, 'feature': '27', 'b-a': [7.3345489501953125, 0.7487030029296875], 'time': 2.958, 'movement': 0.10827254574885056}, {'a': [212.5015869140625, 155.53521728515625], 'b': [224.7846221923828, 153.0426483154297], 'frame': 87, 'feature': '34', 'b-a': [12.283035278320312, -2.4925689697265625], 'time': 2.958, 'movement': 0.17890075407922268}, {'a': [248.0020751953125, 136.01284790039062], 'b': [249.50039672851562, 135.6405487060547], 'frame': 87, 'feature': '37', 'b-a': [1.498321533203125, -0.3722991943359375], 'time': 2.958, 'movement': 0.02212425643757478}, {'a': [240.00634765625, 134.99412536621094], 'b': [243.1168212890625, 130.67984008789062], 'frame': 87, 'feature': '45', 'b-a': [3.1104736328125, -4.3142852783203125], 'time': 2.958, 'movement': 0.066962473646098017}, {'a': [235.1300811767578, 144.9420166015625], 'b': [245.43406677246094, 145.55325317382812], 'frame': 87, 'feature': '49', 'b-a': [10.303985595703125, 0.611236572265625], 'time': 2.958, 'movement': 0.13084263606104016}, {'a': [210.3218994140625, 144.9476318359375], 'b': [215.56304931640625, 143.9878692626953], 'frame': 87, 'feature': '54', 'b-a': [5.24114990234375, -0.9597625732421875], 'time': 2.958, 'movement': 0.077402032209271249}, {'a': [234.08021545410156, 147.72576904296875], 'b': [240.43630981445312, 145.5345458984375], 'frame': 116, 'feature': '1', 'b-a': [6.3560943603515625, -2.19122314453125], 'time': 3.9440000000000004, 'movement': 0.23244589570646801}, {'a': [237.9292755126953, 128.9722442626953], 'b': [244.22537231445312, 130.69021606445312], 'frame': 116, 'feature': '16', 'b-a': [6.2960968017578125, 1.7179718017578125], 'time': 3.9440000000000004, 'movement': 0.13338182567907819}, {'a': [249.42457580566406, 148.7047882080078], 'b': [268.6298522949219, 152.1512908935547], 'frame': 116, 'feature': '27', 'b-a': [19.205276489257812, 3.446502685546875], 'time': 3.9440000000000004, 'movement': 0.25076214052487872}, {'a': [249.50039672851562, 135.6405487060547], 'b': [266.13433837890625, 137.50457763671875], 'frame': 116, 'feature': '37', 'b-a': [16.633941650390625, 1.8640289306640625], 'time': 3.9440000000000004, 'movement': 0.16730488596859405}, {'a': [243.1168212890625, 130.67984008789062], 'b': [261.39630126953125, 134.77996826171875], 'frame': 116, 'feature': '45', 'b-a': [18.27947998046875, 4.100128173828125], 'time': 3.9440000000000004, 'movement': 0.21470402049102444}, {'a': [245.43406677246094, 145.55325317382812], 'b': [266.5085754394531, 148.412841796875], 'frame': 116, 'feature': '49', 'b-a': [21.074508666992188, 2.859588623046875], 'time': 3.9440000000000004, 'movement': 0.28282739918133049}, {'a': [280.14825439453125, 182.11534118652344], 'b': [278.7550354003906, 179.6505126953125], 'frame': 145, 'feature': '21', 'b-a': [-1.393218994140625, -2.4648284912109375], 'time': 4.930000000000001, 'movement': 0.025357580029080493}, {'a': [268.6298522949219, 152.1512908935547], 'b': [270.0199279785156, 152.28858947753906], 'frame': 145, 'feature': '27', 'b-a': [1.39007568359375, 0.137298583984375], 'time': 4.930000000000001, 'movement': 0.24619561170613199}, {'a': [266.13433837890625, 137.50457763671875], 'b': [267.19525146484375, 139.98089599609375], 'frame': 145, 'feature': '37', 'b-a': [1.0609130859375, 2.476318359375], 'time': 4.930000000000001, 'movement': 0.17735208802944821}, {'a': [261.39630126953125, 134.77996826171875], 'b': [262.8914794921875, 138.43118286132812], 'frame': 145, 'feature': '45', 'b-a': [1.49517822265625, 3.651214599609375], 'time': 4.930000000000001, 'movement': 0.24254407468753675}]
Minutes to process: 6.212628901
Processing: videos/equation-small.mp4
Saving to analysis/optical-flow/equation-small.json
[{'a': [462.002197265625, 221.00393676757812], 'b': [458.6006164550781, 220.28172302246094], 'frame': 29, 'feature': '0', 'b-a': [-3.401580810546875, -0.7222137451171875], 'time': 0.9860000000000001, 'movement': 0.13158754337627185}, {'a': [487.1059875488281, 185.0153045654297], 'b': [475.3122863769531, 186.43858337402344], 'frame': 29, 'feature': '8', 'b-a': [-11.793701171875, 1.42327880859375], 'time': 0.9860000000000001, 'movement': 0.59260717249507533}, {'a': [484.0526123046875, 215.99989318847656], 'b': [482.4276428222656, 216.4529266357422], 'frame': 29, 'feature': '16', 'b-a': [-1.624969482421875, 0.453033447265625], 'time': 0.9860000000000001, 'movement': 0.072117179559929107}, {'a': [478.06488037109375, 224.00424194335938], 'b': [475.3829650878906, 223.9342803955078], 'frame': 29, 'feature': '18', 'b-a': [-2.681915283203125, -0.0699615478515625], 'time': 0.9860000000000001, 'movement': 0.11665134465899961}, {'a': [389.0019836425781, 143.99427795410156], 'b': [387.4354553222656, 149.49386596679688], 'frame': 29, 'feature': '33', 'b-a': [-1.5665283203125, 5.4995880126953125], 'time': 0.9860000000000001, 'movement': 0.20047155132814279}, {'a': [491.0989074707031, 167.72335815429688], 'b': [431.28192138671875, 167.6227264404297], 'frame': 29, 'feature': '34', 'b-a': [-59.816986083984375, -0.1006317138671875], 'time': 0.9860000000000001, 'movement': 2.5359870470289527}, {'a': [497.02166748046875, 221.98597717285156], 'b': [495.3966369628906, 222.3737335205078], 'frame': 29, 'feature': '38', 'b-a': [-1.625030517578125, 0.38775634765625], 'time': 0.9860000000000001, 'movement': 0.065165932097568588}, {'a': [458.6006164550781, 220.28172302246094], 'b': [322.9026184082031, 128.69493103027344], 'frame': 58, 'feature': '0', 'b-a': [-135.697998046875, -91.5867919921875], 'time': 1.9720000000000002, 'movement': 1.1506730132949026}, {'a': [431.82830810546875, 130.93592834472656], 'b': [148.99652099609375, 132.98233032226562], 'frame': 58, 'feature': '1', 'b-a': [-282.831787109375, 2.0464019775390625], 'time': 1.9720000000000002, 'movement': 1.1041371595909306}, {'a': [149.00003051757812, 133.00100708007812], 'b': [150.0451202392578, 160.00572204589844], 'frame': 58, 'feature': '2', 'b-a': [1.0450897216796875, 27.004714965820312], 'time': 1.9720000000000002, 'movement': 0.0031678111958297387}, {'a': [150.0072021484375, 159.99351501464844], 'b': [216.9941864013672, 100.91950988769531], 'frame': 58, 'feature': '3', 'b-a': [66.98698425292969, -59.074005126953125], 'time': 1.9720000000000002, 'movement': 0.003460600470385418}, {'a': [216.99671936035156, 100.9459457397461], 'b': [144.00294494628906, 147.9891357421875], 'frame': 58, 'feature': '4', 'b-a': [-72.9937744140625, 47.043190002441406], 'time': 1.9720000000000002, 'movement': 0.004621406600625929}, {'a': [144.0144805908203, 148.002685546875], 'b': [16.992782592773438, 221.1549530029297], 'frame': 58, 'feature': '5', 'b-a': [-127.02169799804688, 73.15226745605469], 'time': 1.9720000000000002, 'movement': 0.0030607318486576772}, {'a': [16.98591423034668, 221.1026153564453], 'b': [143.95838928222656, 91.01112365722656], 'frame': 58, 'feature': '6', 'b-a': [126.97247314453125, -130.09149169921875], 'time': 1.9720000000000002, 'movement': 0.0059107534009320986}, {'a': [143.99253845214844, 91.00690460205078], 'b': [473.5601501464844, 185.89671325683594], 'frame': 58, 'feature': '7', 'b-a': [329.567626953125, 94.88980865478516], 'time': 1.9720000000000002, 'movement': 0.0050524741290528564}, {'a': [475.3122863769531, 186.43858337402344], 'b': [279.9999694824219, 181.9967498779297], 'frame': 58, 'feature': '8', 'b-a': [-195.31231689453125, -4.44183349609375], 'time': 1.9720000000000002, 'movement': 0.33615025994367898}, {'a': [280.0120849609375, 181.98980712890625], 'b': [21.009571075439453, 207.0428466796875], 'frame': 58, 'feature': '9', 'b-a': [-259.00250244140625, 25.05303955078125], 'time': 1.9720000000000002, 'movement': 0.0051829451441680529}, {'a': [21.014408111572266, 207.0485382080078], 'b': [231.96180725097656, 133.90133666992188], 'frame': 58, 'feature': '10', 'b-a': [210.94740295410156, -73.14720153808594], 'time': 1.9720000000000002, 'movement': 0.0056551021171516967}, {'a': [231.97787475585938, 133.9452667236328], 'b': [175.03794860839844, 146.96031188964844], 'frame': 58, 'feature': '11', 'b-a': [-56.93992614746094, 13.015045166015625], 'time': 1.9720000000000002, 'movement': 0.00558200651320131}, {'a': [174.9959716796875, 146.96923828125], 'b': [220.97967529296875, 134.86595153808594], 'frame': 58, 'feature': '12', 'b-a': [45.98370361328125, -12.103286743164062], 'time': 1.9720000000000002, 'movement': 0.0048482112299474281}]
Minutes to process: 6.92907663584
Processing: videos/gittes-2-small.mp4
Saving to analysis/optical-flow/gittes-2-small.json
[{'a': [495.6469421386719, 102.82315826416016], 'b': [466.98236083984375, 117.00455474853516], 'frame': 29, 'feature': '1', 'b-a': [-28.664581298828125, 14.181396484375], 'time': 0.9860000000000001, 'movement': 1.6709280034591412}, {'a': [23.544391632080078, 190.168212890625], 'b': [422.0282287597656, 209.98008728027344], 'frame': 29, 'feature': '2', 'b-a': [398.48382568359375, 19.811874389648438], 'time': 0.9860000000000001, 'movement': 1.7020365254259027}, {'a': [422.0003967285156, 209.99949645996094], 'b': [309.97662353515625, 109.01148223876953], 'frame': 29, 'feature': '3', 'b-a': [-112.02377319335938, -100.9880142211914], 'time': 0.9860000000000001, 'movement': 0.0034141076030209661}, {'a': [309.9993896484375, 108.9990234375], 'b': [312.513671875, 140.00946044921875], 'frame': 29, 'feature': '4', 'b-a': [2.5142822265625, 31.01043701171875], 'time': 0.9860000000000001, 'movement': 0.15379373751408099}, {'a': [317.0028381347656, 140.00357055664062], 'b': [215.95245361328125, 222.9853515625], 'frame': 29, 'feature': '5', 'b-a': [-101.05038452148438, 82.98178100585938], 'time': 0.9860000000000001, 'movement': 0.012301913924226216}, {'a': [215.99862670898438, 223.00048828125], 'b': [469.0154724121094, 153.50283813476562], 'frame': 29, 'feature': '6', 'b-a': [253.016845703125, -69.49765014648438], 'time': 0.9860000000000001, 'movement': 1.5506208427491244}, {'a': [494.53729248046875, 177.280029296875], 'b': [315.9908142089844, 114.0401840209961], 'frame': 29, 'feature': '7', 'b-a': [-178.54647827148438, -63.239845275878906], 'time': 0.9860000000000001, 'movement': 0.22767837430703744}, {'a': [316.0011901855469, 113.99822235107422], 'b': [259.96124267578125, 221.01087951660156], 'frame': 29, 'feature': '8', 'b-a': [-56.039947509765625, 107.01265716552734], 'time': 0.9860000000000001, 'movement': 0.0037970082485117018}, {'a': [259.9996337890625, 220.99691772460938], 'b': [269.99664306640625, 213.024658203125], 'frame': 29, 'feature': '9', 'b-a': [9.99700927734375, -7.972259521484375], 'time': 0.9860000000000001, 'movement': 0.0032928199999050461}, {'a': [269.9993896484375, 213.00039672851562], 'b': [391.01080322265625, 95.03973388671875], 'frame': 29, 'feature': '10', 'b-a': [121.01141357421875, -117.96066284179688], 'time': 0.9860000000000001, 'movement': 0.0045565086896611571}, {'a': [390.999755859375, 94.99905395507812], 'b': [21.293365478515625, 210.51226806640625], 'frame': 29, 'feature': '11', 'b-a': [-369.7063903808594, 115.51321411132812], 'time': 0.9860000000000001, 'movement': 0.03597246240503315}, {'a': [21.00519561767578, 209.9949188232422], 'b': [298.9660949707031, 117.02423095703125], 'frame': 29, 'feature': '12', 'b-a': [277.9609069824219, -92.97068786621094], 'time': 0.9860000000000001, 'movement': 0.0071005664930421991}, {'a': [299.00347900390625, 116.99942016601562], 'b': [242.98818969726562, 205.01797485351562], 'frame': 29, 'feature': '13', 'b-a': [-56.015289306640625, 88.0185546875], 'time': 0.9860000000000001, 'movement': 0.0038629740974384136}, {'a': [243.00094604492188, 204.99920654296875], 'b': [422.0039367675781, 194.001708984375], 'frame': 29, 'feature': '14', 'b-a': [179.00299072265625, -10.99749755859375], 'time': 0.9860000000000001, 'movement': 0.0036508827149097263}, {'a': [422.0011901855469, 193.9978790283203], 'b': [70.98041534423828, 215.99411010742188], 'frame': 29, 'feature': '15', 'b-a': [-351.0207824707031, 21.996231079101562], 'time': 0.9860000000000001, 'movement': 0.0029972950799454904}, {'a': [70.99855041503906, 215.99923706054688], 'b': [321.0059814453125, 206.00369262695312], 'frame': 29, 'feature': '16', 'b-a': [250.00743103027344, -9.99554443359375], 'time': 0.9860000000000001, 'movement': 0.0043054419491391884}, {'a': [320.9989318847656, 206.00308227539062], 'b': [248.98077392578125, 225.9912109375], 'frame': 29, 'feature': '17', 'b-a': [-72.01815795898438, 19.988128662109375], 'time': 0.9860000000000001, 'movement': 0.0031545974217869087}, {'a': [248.99781799316406, 225.9985809326172], 'b': [267.9767761230469, 197.00918579101562], 'frame': 29, 'feature': '18', 'b-a': [18.978958129882812, -28.989395141601562], 'time': 0.9860000000000001, 'movement': 0.0035976976806554816}, {'a': [267.9964904785156, 196.99964904785156], 'b': [482.3688049316406, 205.6590118408203], 'frame': 29, 'feature': '19', 'b-a': [214.372314453125, 8.65936279296875], 'time': 0.9860000000000001, 'movement': 0.11772162487915043}, {'a': [481.0006408691406, 208.0017852783203], 'b': [394.025146484375, 215.982666015625], 'frame': 29, 'feature': '20', 'b-a': [-86.97549438476562, 7.9808807373046875], 'time': 0.9860000000000001, 'movement': 0.0043746668540326685}]
Minutes to process: 5.21359588305
Processing: videos/gittes-reg-2-small.mp4
Saving to analysis/optical-flow/gittes-reg-2-small.json
[{'a': [488.6524658203125, 104.18718719482422], 'b': [476.2348327636719, 104.88154602050781], 'frame': 29, 'feature': '0', 'b-a': [-12.417633056640625, 0.6943588256835938], 'time': 0.9860000000000001, 'movement': 0.47654319289622121}, {'a': [478.6061706542969, 148.50587463378906], 'b': [476.6455993652344, 151.22048950195312], 'frame': 29, 'feature': '2', 'b-a': [-1.9605712890625, 2.7146148681640625], 'time': 0.9860000000000001, 'movement': 0.29431149981723265}, {'a': [8.400105476379395, 155.9936065673828], 'b': [480.60589599609375, 132.28140258789062], 'frame': 29, 'feature': '6', 'b-a': [472.2057800292969, -23.712203979492188], 'time': 0.9860000000000001, 'movement': 0.65460505876248576}, {'a': [1.6982417106628418, 167.85667419433594], 'b': [298.00933837890625, 117.0051498413086], 'frame': 29, 'feature': '7', 'b-a': [296.31109619140625, -50.851524353027344], 'time': 0.9860000000000001, 'movement': 0.29993658023083519}, {'a': [483.6318359375, 133.05264282226562], 'b': [422.011962890625, 196.90069580078125], 'frame': 29, 'feature': '8', 'b-a': [-61.619873046875, 63.848052978515625], 'time': 0.9860000000000001, 'movement': 0.18821927548610959}, {'a': [297.9986267089844, 117.00003814697266], 'b': [216.14730834960938, 223.1031951904297], 'frame': 29, 'feature': '9', 'b-a': [-81.851318359375, 106.10315704345703], 'time': 0.9860000000000001, 'movement': 0.0029370694648040907}, {'a': [421.99981689453125, 197.01016235351562], 'b': [390.9574890136719, 94.9243392944336], 'frame': 29, 'feature': '10', 'b-a': [-31.042327880859375, -102.08582305908203], 'time': 0.9860000000000001, 'movement': 0.0071608245489187539}, {'a': [216.00048828125, 222.99510192871094], 'b': [260.2191162109375, 221.05657958984375], 'frame': 29, 'feature': '11', 'b-a': [44.2186279296875, -1.9385223388671875], 'time': 0.9860000000000001, 'movement': 0.0085281562080189322}, {'a': [391.0025329589844, 95.00179290771484], 'b': [20.87718963623047, 209.9384002685547], 'frame': 29, 'feature': '12', 'b-a': [-370.1253356933594, 114.93660736083984], 'time': 0.9860000000000001, 'movement': 0.0055172404611547442}, {'a': [260.000732421875, 220.9983673095703], 'b': [315.9952087402344, 114.005126953125], 'frame': 29, 'feature': '13', 'b-a': [55.994476318359375, -106.99324035644531], 'time': 0.9860000000000001, 'movement': 0.0092720407912314957}, {'a': [21.00065040588379, 210.004638671875], 'b': [243.1641387939453, 205.0838165283203], 'frame': 29, 'feature': '14', 'b-a': [222.16348266601562, -4.9208221435546875], 'time': 0.9860000000000001, 'movement': 0.0073095719281840938}, {'a': [316.00146484375, 113.99929809570312], 'b': [270.200439453125, 213.03465270996094], 'frame': 29, 'feature': '15', 'b-a': [-45.801025390625, 99.03535461425781], 'time': 0.9860000000000001, 'movement': 0.0038993651785482332}, {'a': [242.9973602294922, 205.0006561279297], 'b': [16.784820556640625, 215.9591827392578], 'frame': 29, 'feature': '16', 'b-a': [-226.21253967285156, 10.958526611328125], 'time': 0.9860000000000001, 'movement': 0.008844599031425756}, {'a': [269.9988708496094, 212.99700927734375], 'b': [71.78205871582031, 216.0328826904297], 'frame': 29, 'feature': '17', 'b-a': [-198.21681213378906, 3.0358734130859375], 'time': 0.9860000000000001, 'movement': 0.0096094216534201513}, {'a': [1.6138792037963867, 132.89422607421875], 'b': [249.2402801513672, 226.07252502441406], 'frame': 29, 'feature': '18', 'b-a': [247.62640380859375, 93.17829895019531], 'time': 0.9860000000000001, 'movement': 0.245393386030377}, {'a': [16.995250701904297, 216.00294494628906], 'b': [497.894775390625, 208.93142700195312], 'frame': 29, 'feature': '19', 'b-a': [480.8995361328125, -7.0715179443359375], 'time': 0.9860000000000001, 'movement': 0.010635259088554323}, {'a': [72.00171661376953, 216.00143432617188], 'b': [223.16404724121094, 220.1123809814453], 'frame': 29, 'feature': '20', 'b-a': [151.16232299804688, 4.1109466552734375], 'time': 0.9860000000000001, 'movement': 0.011227203127606932}, {'a': [248.99757385253906, 225.99546813964844], 'b': [487.8302917480469, 214.90176391601562], 'frame': 29, 'feature': '21', 'b-a': [238.8327178955078, -11.093704223632812], 'time': 0.9860000000000001, 'movement': 0.012624345727842944}, {'a': [497.99847412109375, 209.00270080566406], 'b': [427.00323486328125, 105.91051483154297], 'frame': 29, 'feature': '22', 'b-a': [-70.9952392578125, -103.0921859741211], 'time': 0.9860000000000001, 'movement': 0.010349861426471636}, {'a': [222.99913024902344, 219.99667358398438], 'b': [483.32232666015625, 165.25558471679688], 'frame': 29, 'feature': '23', 'b-a': [260.32318115234375, -54.7410888671875], 'time': 0.9860000000000001, 'movement': 0.11405931143009843}]
Minutes to process: 4.46830123266
Processing: videos/gittes-reg-small.mp4
/usr/local/lib/python2.7/site-packages/ipykernel/__main__.py:65: FutureWarning: comparison to `None` will result in an elementwise object comparison in the future.
---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
<ipython-input-20-d066033e21c5> in <module>()
     11 
     12     start = time.time()
---> 13     recorded_important_points = find_important_points_for_fn(fn)
     14     save_important_points_fn(fn, recorded_important_points)
     15     print "Minutes to process:", (time.time() - start)/60.0

<ipython-input-15-d6995a4e218d> in find_important_points_for_fn(fn)
    108             cv2.imshow('frame',img)
    109 
--> 110             k = cv2.waitKey(30) & 0xff
    111             if k == 27:
    112                 break

KeyboardInterrupt: 

In [ ]:
# hog pedestrian detection from - (http://arijitgeek.me/index.php/201
# 6/06/26/opencv-python-people-detect-in-video-feed/)
# lots of false positives!!

import numpy as np
import cv2

fn = "videos/equation-2.mp4"

def draw_detections(img, rects, thickness = 1):
    for x, y, w, h in rects:
        # the HOG detector returns slightly larger rectangles than the real objects.
        # so we slightly shrink the rectangles to get a nicer output.
        pad_w, pad_h = int(0.15*w), int(0.05*h)
        cv2.rectangle(img, (x+pad_w, y+pad_h), (x+w-pad_w, y+h-pad_h), (0, 255, 0), thickness)
    
hog = cv2.HOGDescriptor()
hog.setSVMDetector( cv2.HOGDescriptor_getDefaultPeopleDetector() )
cap=cv2.VideoCapture(fn)
while True:
    _,frame=cap.read()
    found,w=hog.detectMultiScale(frame, winStride=(8,8), padding=(32,32), scale=1.05)
    draw_detections(frame,found)
    cv2.imshow('feed',frame)
    ch = 0xFF & cv2.waitKey(30)
    if ch == 27:
      break
cv2.destroyAllWindows()

# dense features
# from - http://docs.opencv.org/3.2.0/d7/d8b/tutorial_py_lucas_kanade.html

fn = "videos/equation-2-small.mp4"

import cv2
import numpy as np
cap = cv2.VideoCapture(fn)
ret, frame1 = cap.read()
prvs = cv2.cvtColor(frame1,cv2.COLOR_BGR2GRAY)
hsv = np.zeros_like(frame1)
hsv[...,1] = 255
while(1):
    ret, frame2 = cap.read()
    next = cv2.cvtColor(frame2,cv2.COLOR_BGR2GRAY)
    flow = cv2.calcOpticalFlowFarneback(prvs,next, None, 0.5, 3, 15, 3, 5, 1.2, 0)
    mag, ang = cv2.cartToPolar(flow[...,0], flow[...,1])
    hsv[...,0] = ang*180/np.pi/2
    hsv[...,2] = cv2.normalize(mag,None,0,255,cv2.NORM_MINMAX)
    bgr = cv2.cvtColor(hsv,cv2.COLOR_HSV2BGR)
    cv2.imshow('frame2',bgr)
    k = cv2.waitKey(30) & 0xff
    if k == 27:
        break
    elif k == ord('s'):
        cv2.imwrite('opticalfb.png',frame2)
        cv2.imwrite('opticalhsv.png',bgr)
    prvs = next
cap.release()
cv2.destroyAllWindows()

In [23]:
cv2.waitKey(1)
        cv2.destroyAllWindows()
        cv2.waitKey(1)


Out[23]:
-1

In [ ]: