| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Определить размер объекта по фото |
| Автор: lepetal 25.4.2013, 14:36 |
| Ребята, сбился с поисков, помогите! Есть задача: Задано изображение объекта, наблюдаемого под некоторым углом. Оцените его размер. Как можно эту задачу разрешить методами компьютерного зрения? Я знаю, что есть фотограмметрия, которая занимается оценкой изображений, но не рискнул бы лезть туда. Что подскажете? P.S. Если есть возможность, приведите примеры с открытым исходным кодом, если таковые есть. |
| Автор: _Y_ 25.4.2013, 20:13 |
| Если на фотографии есть какие-то предметы, которые можно использовать для оценки шкалы и угла поворота предмета, то можно. Много раз, наверное, видели, что на фотографии рядом с объектом лежит монетка или коробка спичек (стандартный предмет). Иначе размер объекта не оценить. Ваша задача чуть сложнее - надо еще учесть перспективу - объект-то снят под углом. Поэтому в придачу к размеру в точке нахождения стандарта, надо определить угол.Здесь будет много вариантов, в зависимости от того, что есть на фотографии.
ЗЫ Все это при условии, что можно пренебречь искажениями, вызвываемыми оптикой фотоаппарата и тому подобными вещами. |
| Автор: lepetal 25.4.2013, 23:53 |
| _Y_, можете привести пример реализации такой задачи? Потому что на глаз вроде бы задача тривиальная и я видел пару-тройку приложений на iStore по camera's measurement. Хочется понять: а) как унифицировать и выделить объект на фото (сначала монетку, потом сам объект, и как его выделить среди других объектов, если он не один) б) как определить его высоту в) как рассчитать угол к горизонту (можно, думаю, принять его данным и известным) Пока пойду на lektorium.tv, посмотрю курс Конушина, но там он рассматривал по-моему, только вариант с машинным обучением, когда картинок несколько. |
| Автор: mrgloom 26.4.2013, 09:02 |
| лучше покажите картинку. имея 2 камеры - стереопару и зная расстояние между камерами, можно построить карту глубины для изображения и для каждой точки определить расстояние вроде как. затем надо сегментировать объект на изображении( или как то выделить) и взять по карте глубины среднее между пикселями. |
| Автор: lepetal 26.4.2013, 09:13 |
| mrgloom, в условии не указаны две камеры. У нас есть только одно изображение. В качестве примера: http://s1.ipicture.ru/ |
| Автор: mrgloom 26.4.2013, 10:02 |
| тогда можно только догадаться. гуглите что то типа depth from single image \ single view depth estimation from single image 3d model from single image http://www.cs.cornell.edu/~asaxena/learningdepth/ есть еще вариант, если с одной камеры, но с разных ракурсов или из видео. |
| Автор: lepetal 26.4.2013, 16:15 |
| mrgloom, да, особая точность не требуется, соответственно искажения камеры можно опустить. |
| Автор: mrgloom 26.4.2013, 16:19 | ||
а кто говорил про искажения камеры? |
| Автор: lepetal 26.4.2013, 16:36 |
| mrgloom, просто от field view камеры тоже зависят искажения на изобрежении. |
| Автор: lepetal 26.4.2013, 17:09 |
| Нашёл по теме выделение объектов на фотографии: http://vision.cs.uiuc.edu/proposals/ Насколько это может помочь моей задаче? |
| Автор: Pavia 26.4.2013, 19:11 |
| У-ууу как всё запущенно. Деловто взять и поделить. А если просто, то у вас постановка задач расплывчатая. Хочу то незнамо что. Возьмите книгу Multiple View Geometry in Computer vision. |
| Автор: maxim1000 26.4.2013, 22:01 |
| lepetal, на приведённом изображении настоящая машина или её уменьшенная модель? |
| Автор: _Y_ 26.4.2013, 22:34 |
| 1. На тему распознавания объектов я уже рекомендовал вот http://forum.vingrad.ru/index.php?showtopic=314777&view=findpost&p=2246148. Там есть хорошая глава. И написано просто. Сам язык LabVIEW Вам не нужен, то там каждая глава разделена пополам. Читайте только половину, в которой принципы без привязки к языку. 2. Если предположить, что на картинке настоящий автомобиль (в чем я сомневаюсь), то все просто. Видны два колеса, размер который легко найти в сети (зная что за автомобиль, конечно). От их размеров и отталкиваться Кстати, угол поворота автомобиля можно найти и без привязки к размеру. Колесо-то, надо понимать, круглое. А на фото - элипс. Угол считается из соотношения видимых диаметров элипса. |
| Автор: lepetal 26.4.2013, 22:40 |
| maxim1000, вообще, в задаче не указано, какой объект, поэтому объект может быть любым, главное, чтобы алгоритм работал. Но допустим, что машина настоящая. Pavia, знаю, не я задание составлял, увы |
| Автор: maxim1000 27.4.2013, 07:12 |
а вот это бы стоило указать в исходной задаче, а то там только про угол я потому и спросил "настоящая/уменьшеная", потому что при одном и том же угле может быть разный размер кстати, какой именно угол указывается? |
| Автор: lepetal 27.4.2013, 17:28 |
| maxim1000, Думаю, 45-55 градусов. В задаче не указано, поэтому это остаётся на волю разработчика. Времени мало на решение этой задачи (решить надо до понедельника-вторника), поэтому паника-паника P.S. Если кто готов за денежку взяться - пишите, пока соображаю сам. |
| Автор: ERR11 8.10.2013, 17:05 |
| Подскажите пожалуйста! Как посчитать размер объекта на местности(с учетом искажений,которые вносит объектив) ,зная расстояние от фотоаппарата до объекта, фокусное расстояние объектива, все про матрицу камеры?Где про это можно почитать? |
| Автор: _Y_ 25.11.2013, 23:12 | ||
Я как-то не подумал, что может быть известна вся эта техническая информация. Как-то отталкивался именно от изображения. Если известны хоть такие-то условия съемки, они, конечно, могут быть использованы. Например, зная глубину-формлу распределения резкозти можно искать ее границы (заднее антикрыло, например, видится чуть размытым). Зная данные объектива, можно оценивать размеры по вносимым искажениям (машина явно "выпуклая"). Ну и так далее. |