Hough Transform по-прежнему ваш лучший выбор.Реализуйте это сами, это действительно легко, тогда вы будете лучше контролировать скрытые параметры (всегда есть) и понимание их влияния.Ошибки, которые вы описываете, обычно разрешимы с некоторой настройкой всех констант и предварительной обработкой.Объяснение здесь довольно хорошее.
Кроме того, убедитесь, что вы устанавливаете разумные ограничения на радиус окружности, в противном случае вы обнаружите как очень маленькие объекты, так и большие прямые линии в виде окружностей.Начните с простых случаев (небольшой шум, только несколько кругов, видима большая часть каждого круга), а затем медленно двигайтесь к своей цели.