How to detect a part of rectangle in complex environment (e.g. monitor)

Hi, I’m working on detecting a monitor in pictures, down below is a sample image:

The expected outcome is the relative coordinate of the monitor’s vertexes.
My approach is first using OTSU to binarize, and then using canny detect to get some of the edges.
I then tried to use things like HoughLines, but there are too many lines being detected.

I also tried approxPolyDP, unfortunately, sometimes the vertexes are out of the picture which may cause inaccurate answers.

My question is how can I get an accurate edge of this monitor? It’s simple to detect by eyes.
P.S. There are many images, some parts of the monitor may not be in the images, and the angle may vary in different images. But these monitors are all easily recognizable by human eyes.

why? for what goal? what’s the purpose? please read