It works to stabilize the detection of "middle point". But It might not be enough.
Now I use a Gaussian filter to suppress noises as pre-processing. Gaussian filters also make edges muddy. So I tried to find another filter to improve the situation.
This filter is effective for eliminating pepper & salt noises and remains edges sharp. It's great simply for edge detection. However, in this case, it might increase the number of edge points for Hough-Transform processing, and slow down the process.
This is a kind of non-linear filter. Pixels having similar values in a certain region are unified to have the same value. If it's applied again and again, it will change real images into illustration like image. This filter is likely to work effectively to detect the edge of shelves. The problem is it needs much power to process. I'm afraid that it's not possible to use in real-time, though it might be useful to detect the color of the edge of shelves in initial process.
I should keep trying to find better filters, while I'm working on incorporating Hough-Transform component into object tracking algorithm.