I am working on a project in MATLAB (with later implementation in C++ or possibly Python, with OpenCV) where when a real time video starts, the user may draw a region of interest. It will be drawn out as polygon. However, this ROI may get out of the frame and then reappear. At this point, it should be recognized and detected. The main issue is that it is not a salient object with particular physical characteristics since it can change (to some degree) shape, bend, stretch. And also, it is supposed to be run in real time which kind of makes it hard to implement training.
I tried using color histograms to emphasize color features of the ROI, and then threshold the image but it works only in specific conditions. I do have engineering background, but have not used any Machine Learning before this. I read that HOG features with SVM may help, or even Hough transform. I got some good results using ACF, but it still requires a training phase for the classifier.
The goals of this is to re-initialize trackers within this region after they have been totally lost. I know that having a classifier trained, it will be possible to recognize it through a number of algorithms, but the problem I have is doing it in real time and without any previous training.
Since the video is surgical, I have uploaded 4 example frames of what the bounding box of user's ROI would be.
(Explicit photos of surgery below, hover above the region with the mouse or click to reveal them.)
Any suggestion would be of great help.