Esempio n. 1
0
def test_render_at_all():
    W = 320
    H = 240
    eo = likelihood.EvaluateObj(H, W)
    eo.set_params(14, 5, 3)

    i1 = eo.render_source(100, 100, np.pi /2., np.pi/2)
    pylab.imshow(i1, interpolation='nearest', origin='lower', 
                 vmin=0, vmax=1.0, cmap=pylab.cm.gray)
Esempio n. 2
0
def test_render_source_coords():
    W = 320
    H = 240
    eo = likelihood.EvaluateObj(H, W)
    eo.set_params(14, 5, 3)

    for x in range(0, W, 20):
        for y in range(0, H, 20):
            for phi in np.arange(0, 4*np.pi, 4):
                for theta in np.arange(0, np.pi, 4):
                    i1 = eo.render_source(x, y, phi, theta)
Esempio n. 3
0
def pf_run(infile, outfile, posnoise, velnoise, PARTICLEN, FRAMEN, NOISE, log):
    np.random.seed(0)
    print "Loading data..."
    d = pickle.load(open(infile))
    print "done!"
    env = util.Environmentz((1.5, 2), (240, 320))

    eo = likelihood.EvaluateObj(240, 320)
    eo.set_params(10, 4, 2)
    le = likelihood.LikelihoodEvaluator(env, eo, log)

    model_inst = model.LinearModel(env,
                                   le,
                                   POS_NOISE_STD=posnoise,
                                   VELOCITY_NOISE_STD=velnoise)

    y = d['video'][:FRAMEN]

    weights, particles = pf.particle_filter(y, model_inst, len(y), PARTICLEN)
    np.savez_compressed(outfile, weights=weights, particles=particles)
Esempio n. 4
0
def render(env, state, DIODE_SEP = 10,
           FRONT_PIX = 4, BACK_PIX =2):

    gc = env.gc


    eo = likelihood.EvaluateObj(*env.image_dim)
    eo.set_params(DIODE_SEP, FRONT_PIX, BACK_PIX)

    images = np.zeros((len(state), env.image_dim[0], 
                       env.image_dim[1]), 
                      dtype=np.uint8)
    for si, s in enumerate(state):
        i_x, i_y = gc.real_to_image(s['x'], s['y'])
        img = eo.render_source(i_x, i_y, s['phi'], s['theta'])
        x = img*255
        x.flat[x.flat > 255] = 255
        images[si] = x

    return images
Esempio n. 5
0
0import numpy as np
import cPickle as pickle
from matplotlib import pylab

import likelihood
import util
import model

np.random.seed(0)

d = pickle.load(open('simulate.pickle'))

env = util.Environment((1.5, 2), (240, 320))

eo = likelihood.EvaluateObj(240, 320)
eo.set_params(10, 4, 2)
le = likelihood.LikelihoodEvaluator(env, eo)

model_inst = model.LinearModel(env, le)

PARTICLEN = 4000

for frameno in range(1, 300, 30):
    print "frame", frameno
    prior_states = model_inst.sample_latent_from_prior(PARTICLEN)

    img = d['video'][frameno]

    scores = np.zeros(PARTICLEN)

    for si, state in enumerate(prior_states):
Esempio n. 6
0
    #pylab.imshow(x_normed[10], interpolation='nearest', 
    #             cmap=pylab.cm.gray)
    
    #pylab.show
    np.savez_compressed('frames.npz',  x_reg=x_reg, x_normed = x_normed)

# now 
#plotting.plot_state_timeseries(state, DIODE_SEP)
#pylab.show()
IMG_WIDTH = 320
IMG_HEIGHT = 240
PPM = 50
gc = util.GeomConverter((IMG_WIDTH, IMG_HEIGHT), 
                        (PPM, PPM), (0.0, 0.0))

eo = likelihood.EvaluateObj(IMG_WIDTH, IMG_HEIGHT)
eo.set_params(14, 4, 2)

frames = np.load('frames.npz')

phi_range = np.linspace(0.0, 2*np.pi, 8)
x_range = np.linspace(0.0, IMG_WIDTH/PPM*0.98, IMG_WIDTH/4)
y_range = np.linspace(0.0, IMG_HEIGHT/PPM*0.98, IMG_HEIGHT/4)

for frame_no, frame in enumerate(frames['x_normed']):
    print frame_no
    deltas = np.zeros((len(phi_range), len(x_range), len(y_range)), dtype=np.float)
    for phi_i, phi in enumerate(phi_range):
        for x_i, x in enumerate(x_range):
            for y_i, y in enumerate(y_range): 
                i_x, i_y = gc.real_to_image(x, y)