There's a sample in the Google Mobile Vision API GitHub samples that illustrates how to draw eyeball graphics based on the position of the eyes: https://github.com/googlesamples/android-vision/tree/master/visionSamples/googly-eyes
In order to overlay an image instead of drawing primitives (as the sample does), you could load the image into a Bitmap
InputStream inputStream = contentResolver.openInputStream(imageUri);
Bitmap mBitmap = BitmapFactory.decodeStream(inputStream, null, options);
Then draw it to the canvas at the desired location using canvas.drawBitmap
canvas.drawBitmap(mBitmap, eyePosition.x, eyePosition.y, mPaint);
If you were married to an ImageView, you could load the image into it and then update that position directly when the tracker updates
imageView.setX(mPosition.x);
imageView.setY(mPosition.y);
postInvalidate();
Make sure those set calls happen on the thread that created the View, or they'll throw an exception.