3-D object tracking and human grasp recognition for robot programming by demonstration