I tried building a color boxm2 model from the Restrepo et.al. data of Providence (see http://vision.lems.brown.edu/project_desc/Object-Recognition-in-Probabilistic-3D-Scenes)  but my results look horrible.  When I do a grey model with the same data, things look fine.  Below is a copy/paste of my python script.  Any thoughts? 

Thanks,
-Frank

import boxm2_batch,os;
boxm2_batch.register_processes();
boxm2_batch.register_datatypes();

class dbvalue:
  def __init__(self, index, type):
    self.id = index    # unsigned integer
    self.type = type   # string
import random
cams_dir="C:/Users/frank/Documents/data/downtown_data/cams/"
imgs_dir="C:/Users/frank/Documents/data/downtown_data/imgs/"

imgs=os.listdir(imgs_dir);
cams=os.listdir(cams_dir);

print("Loading a Scene");
boxm2_batch.init_process("boxm2LoadSceneProcess");
boxm2_batch.set_input_string(0,"scene_color.xml");
boxm2_batch.run_process();
(scene_id, scene_type) = boxm2_batch.commit_output(0);
scene = dbvalue(scene_id, scene_type);

print("Create Main Cache");
boxm2_batch.init_process("boxm2CreateCacheProcess");
boxm2_batch.set_input_from_db(0,scene);
boxm2_batch.set_input_string(1,"lru");
boxm2_batch.run_process();
(id,type) = boxm2_batch.commit_output(0);
cache = dbvalue(id, type);

print("Init Manager");
boxm2_batch.init_process("boclInitManagerProcess");
boxm2_batch.run_process();
(id, type) = boxm2_batch.commit_output(0);
mgr = dbvalue(id, type);

print("Get Gpu Device");
boxm2_batch.init_process("boclGetDeviceProcess");
boxm2_batch.set_input_string(0,"gpu")
boxm2_batch.set_input_from_db(1,mgr)
boxm2_batch.run_process();
(id, type) = boxm2_batch.commit_output(0);
device = dbvalue(id, type);

print("Create Gpu Cache");
boxm2_batch.init_process("boxm2CreateOpenclCacheProcess");
boxm2_batch.set_input_from_db(0,device)
boxm2_batch.set_input_from_db(1,scene)
boxm2_batch.run_process();
(id, type) = boxm2_batch.commit_output(0);
openclcache = dbvalue(id, type);

nframes = 170;

USE_OCL = True;

for x in range(0,nframes,1):
  i = random.randint(0,nframes-1);

  camera_fname = cams_dir+cams[i];
  image_fname = imgs_dir+imgs[i];

  exp_fname="expected/color_frame_%(#)05d.tiff"%{"#":x};

  boxm2_batch.init_process("vpglLoadPerspectiveCameraProcess");
  boxm2_batch.set_input_string(0,camera_fname);
  boxm2_batch.run_process();
  (id,type) = boxm2_batch.commit_output(0);
  cam = dbvalue(id,type);

  if x == 0:
    render_cam = cam
   
  boxm2_batch.init_process("vilLoadImageViewProcess");
  boxm2_batch.set_input_string(0,image_fname);
  boxm2_batch.run_process();
  (id,type) = boxm2_batch.commit_output(0);
  img = dbvalue(id,type);
 
  print("Update");
  if USE_OCL:
    boxm2_batch.init_process("boxm2OclUpdateColorProcess");
    boxm2_batch.set_input_from_db(0,device);
    boxm2_batch.set_input_from_db(1,scene);
    boxm2_batch.set_input_from_db(2,openclcache);
    boxm2_batch.set_input_from_db(3,cam);
    boxm2_batch.set_input_from_db(4,img);
    boxm2_batch.run_process();
  else:
    boxm2_batch.init_process("boxm2CppUpdateColorImageProcess");
    boxm2_batch.set_input_from_db(0,scene);
    boxm2_batch.set_input_from_db(1,cache);
    boxm2_batch.set_input_from_db(2,cam);
    boxm2_batch.set_input_from_db(3,img);
    boxm2_batch.run_process();
   
  if(True or x%5==0):
    if USE_OCL:
      print("Refine");
      boxm2_batch.init_process("boxm2OclRefineProcess");
      boxm2_batch.set_input_from_db(0,device);
      boxm2_batch.set_input_from_db(1,scene);
      boxm2_batch.set_input_from_db(2,openclcache);
      boxm2_batch.set_input_float(3,0.5);
      boxm2_batch.run_process();
    else:
      print("Refine");
      boxm2_batch.init_process("boxm2CppRefineProcess");
      boxm2_batch.set_input_from_db(0,scene);
      boxm2_batch.set_input_from_db(1,cache);
      boxm2_batch.set_input_float(2,0.3);
      boxm2_batch.run_process();

  print("Render");
  # Render every 5th frame
  if (x%5 == 0):
    if USE_OCL:
      boxm2_batch.init_process("boxm2OclRenderExpectedColorProcess");
      boxm2_batch.set_input_from_db(0,device);
      boxm2_batch.set_input_from_db(1,scene);
      boxm2_batch.set_input_from_db(2,openclcache);
      boxm2_batch.set_input_from_db(3,render_cam);
      boxm2_batch.set_input_unsigned(4,1280);
      boxm2_batch.set_input_unsigned(5,720);
      boxm2_batch.run_process();
      (id,type) = boxm2_batch.commit_output(0);
      exp_img = dbvalue(id,type);
    else:
      boxm2_batch.init_process("boxm2CppRenderExpectedImageColorProcess");
      boxm2_batch.set_input_from_db(0,scene);
      boxm2_batch.set_input_from_db(1,cache);
      boxm2_batch.set_input_from_db(2,render_cam);
      boxm2_batch.set_input_unsigned(3,1280);
      boxm2_batch.set_input_unsigned(4,720);
      boxm2_batch.run_process();
      (id,type) = boxm2_batch.commit_output(0);
      exp_img = dbvalue(id,type);
     

    boxm2_batch.init_process("vilSaveImageViewProcess");
    boxm2_batch.set_input_from_db(0,exp_img);
    boxm2_batch.set_input_string(1,exp_fname);
    boxm2_batch.run_process();

boxm2_batch.init_process("boxm2WriteCacheProcess");
boxm2_batch.set_input_from_db(0,cache)
boxm2_batch.run_process();