Страница 1 из 2

Выделение области на изображении, работа с образами

Добавлено: 03 ноя 2009, 23:20
dr.Jekill
Есть два автомобиля, один оснащен камерой, второй - любой впередиидущий атомобиль. Во время движения через опр. промежутки времени с камеры передаются кадры. Программа анализирует кадр на наличие номерного знака, и при нахождении сравнивает его размер с эталлоном и делает вывод о дистанции между автомобилями. Если дистанция меньше порогового значения, подается сигнал. Так же в изображении находятся линии дорожной разметки и фиксируется их пересечение автомобилем с камерой.
Главная особенность, это то что камера подвижна! Поэтому для нахождения области со знаком, отбрасывание фона не подходит и, скорее всего, придется проходить построчно, начиная с нижней строчки, по всему кадру.

Буду благодарен за любую информацию. Может кто-то работал с алгоритмом Канни или Хока?

Re: Выделение области на изображении, работа с образами

Добавлено: 05 ноя 2009, 08:26
atavin-ta
Дабавь в задачу дорожные знаки и оценку собственной скросте по динамике фона. Думаю, будет интересней.

Re: Выделение области на изображении, работа с образами

Добавлено: 05 ноя 2009, 14:17
dr.Jekill
atavin-ta писал(а):...и оценку собственной скрости по динамике фона.
Да, собственную скорость машины с камерой тоже приходится учитывать. Сейчас отказался от определения растояния между авто, и делаю анализ быстроты изменения размера области номерного знака. Знак выделяю по Хаафу.

Re: Выделение области на изображении, работа с образами

Добавлено: 10 ноя 2009, 02:34
dr.Jekill
atavin-ta писал(а):по динамике фона.
Можно по-подробней про это?
Сейчас встала проблема определения минимального прямоугольника, описывающего объект. И вообще определения объекта. Нужен надежный алгоритм. У кого какие мысли?

Re: Выделение области на изображении, работа с образами

Добавлено: 10 ноя 2009, 09:13
Хыиуду
Минимальный прямоугольник - имеется в виду со сторонами, параллельными сторонам изображения, или перекошенный? В первом варианте все банально - взять точку, которая гарантированно принадлежит объекту, и потом от нее рекурсивно ходить на соседние, если те тоже принадлежат объекту. В процессе обхода сохранять максимальные и минимальные координаты обходимых точек.

Re: Выделение области на изображении, работа с образами

Добавлено: 10 ноя 2009, 11:39
dr.Jekill
Хыиуду писал(а):параллельными сторонам изображения, или перекошенный?
Прямой. При этом стороны проходят через крайние точки объекта. Пример в атаче.
Хыиуду писал(а):взять точку, которая гарантированно принадлежит объекту.
В этом, то и проблема: если мы будем знать, какие точки гарантированно принадлежат объекту, мы можем по количеству точек сравнивать объекты между собой. Сейчас пробую строить гистограммы по бинарному изображению и, анализируя скачки, выделять области по сопоставлению минимумов. Нахожу 4 точки, выделяю из две, строю по ним прямоугольник. Нахожу длины отрезков, от точки до точки (определяю длины двух сторон), нахожу площадь. Всё бы хорошо, если цвет объекта не близок к цвету фона.

Re: Выделение области на изображении, работа с образами

Добавлено: 10 ноя 2009, 12:22
Хыиуду
Какая интересная задача...
Начнем с граничных условий:
- Считать, что обе машины движутся прямолинейно?
- С какой частотой делаются снимки?
- Какие машины подходят под наблюдение? Обязательно прямоугольные (фургоны, газели), или хоть трактор Беларусь?
- Считать, что номерной знак на машине обязательно белый (т.е. не голубой и не грязный)?

Re: Выделение области на изображении, работа с образами

Добавлено: 10 ноя 2009, 13:24
dr.Jekill
Хыиуду писал(а):Считать, что обе машины движутся прямолинейно?
На коротких промежутках прямолинейно, а так произвольно.
Хыиуду писал(а):С какой частотой делаются снимки?
Обычная видеокамера с черезстрочной разверткой и частотой кадров примерно 25 кадров/сек.
Хыиуду писал(а):Какие машины подходят под наблюдение? Обязательно прямоугольные (фургоны, газели), или хоть трактор Беларусь?
Объекты любой формы (и даже не машины).
Хыиуду писал(а):Считать, что номерной знак на машине обязательно белый (т.е. не голубой и не грязный)?
Я хотел использовать номерной знак (а скорее его размер) для определения дистанции до впередиидущего авто. Но сейчас отказался от этого, поскольку авто может быть без номера, иметь транзитный, загрязненный, помятый, иметь много надписей похожих на номерной знак или вообще вести полный кузов номеров :) . А так как степень надежности системы должна быть максимальной, лучше не брать номер во внимание или использовать его обработку как дополнение к основному методу.

Re: Выделение области на изображении, работа с образами

Добавлено: 10 ноя 2009, 15:02
Хыиуду
С тем же успехом впереди может ехать автобус, а может газель, которая по форме выглядит так же (квадрат), в этом случае надо как-то определять размер машины, чтобы система не впадала в панику, если вы едете позади Белаза.
Можно попробовать проанализировать однотонный участок дороги перед вами и отсечь тот уровень, где он заканчивается (начинаются колеса впередиидущего). В этом случае вообще все равно, что там перед вами едет - хоть телега. Только этот случай очень уязвим при езде после дождя или по заснеженной трассе.

Re: Выделение области на изображении, работа с образами

Добавлено: 10 ноя 2009, 19:34
dr.Jekill
Хыиуду писал(а):С тем же успехом впереди может ехать автобус, а может газель, которая по форме выглядит так же (квадрат), в этом случае надо как-то определять размер машины, чтобы система не впадала в панику, если вы едете позади Белаза.
Программа реагирует не на размер, а на быстроту его увеличения. Для этого и необходимо описать квадрат вокруг предмета, чтобы по нескольким кадрам можно было анализировать эту самую быстроту. Другими словами, нам не важен размер объекта сам по себе, мы просто сравнимаем площади, и если скажем объект увеличился в два раза, мы прибегаем к панике :) .
Хыиуду писал(а):Можно попробовать проанализировать однотонный участок дороги перед вами и отсечь тот уровень, где он заканчивается (начинаются колеса впередиидущего). В этом случае вообще все равно, что там перед вами едет - хоть телега. Только этот случай очень уязвим при езде после дождя или по заснеженной трассе.
Этот вариант не эффективен, так как будет множество ошибочных определений, связанных с цветом дороги, освещением, её рельефом, а главное, что препятствие можем не иметь колёс :) .