Obstacle Avoidance and Trajectory Optimization for an Autonomous Vessel Utilizing MILP Path Planning, Computer Vision based Perception and Feedback Control