Область перекрытия эллипса - PullRequest
0 голосов
/ 05 июня 2019

Я работаю над приложением Eye Tracking , и когда я обнаруживаю зрачка и окутываю его эллипсом, я должен сравнить его с наземной истиной (точным эллипсом вокруг зрачка).

Всегда есть 3 случая курса:

  1. Нет перекрытия >> Перекрытие = пересечение = 0
  2. Частичное к идеальному перекрытию >> Перекрытие = область пересечения / область истинности земли
  3. Вложение >> Перекрытие = площадь пересечения / правда земли

Моя проблема - третий случай, когда, например, найденный эллипс намного больше, чем основополагающая истина, следовательно, заключая его в себя, так что полное перекрытие дано как 1,0, что математически правильно, но с точки зрения обнаружения не совсем так, поскольку найденный эллипс содержит не только зрачок внутри него, но и другой не зрачок частей.

Вопрос: Как лучше всего измерить и рассчитать процент перекрытия между найденными и наземными эллипсами? будет просто разделение областей?

Пожалуйста, дайте несколько идей.

PS: я пишу на python и пытался использовать библиотеку shapely для задачи, как упомянуто в ответе на этот вопрос , поскольку предположительно она выполняет преобразование, чтобы правильно расположить эллипсы относительно их угол поворота.

1 Ответ

0 голосов
/ 06 июня 2019

Пусть R - эталонный эллипс, E - вычисленный эллипс.

Определяем score := area(E ∩ R) / area(E ∪ R). Чем больше оценка, тем лучше матч.

Как ∅ ⊆ E ∩ R ⊆ E ∪ R, у нас есть 0 ≤ score ≤ 1, score=0 ⇔ (E ∩ R = ∅) и
score=1 ⇔ E=R.

Рассмотрим эллипс, который полностью окружен R и имеет половину площади, а также эллипс, который полностью охватывает R и имеет удвоенную площадь. Оба получили бы оценку 0,5. Если бы они были ближе к R, например, если у первого было 4/5 площади, а у второго 5/4, то у обоих было бы 0,8.

...