Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определить размер объекта по фото, opencv (?) 
:(
    Опции темы
lepetal
Дата 25.4.2013, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 25.4.2013

Репутация: нет
Всего: нет



Ребята, сбился с поисков, помогите!

Есть задача:
Задано изображение объекта, наблюдаемого под некоторым углом. Оцените его размер.

Как можно эту задачу разрешить методами компьютерного зрения?
Я знаю, что есть фотограмметрия, которая занимается оценкой изображений, но не рискнул бы лезть туда.
Что подскажете? 
P.S. Если есть возможность, приведите примеры с открытым исходным кодом, если таковые есть.
PM MAIL   Вверх
_Y_
Дата 25.4.2013, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Если на фотографии есть какие-то предметы, которые можно использовать для оценки шкалы и угла поворота предмета, то можно. Много раз, наверное, видели, что на фотографии рядом с объектом лежит монетка или коробка спичек (стандартный предмет). Иначе размер объекта не оценить. 

Ваша задача чуть сложнее - надо еще учесть перспективу - объект-то снят под углом. Поэтому в придачу к размеру в точке нахождения стандарта, надо определить угол.Здесь будет много вариантов, в зависимости от того, что есть на фотографии.
  • Если есть два разных стандарта, расположенных вблизи разноудаленных частей объекта, по разнице в размере их изображений находим угол.
  • Если сам объект имеет параллельные части, которые, тем не менее, выглядят непараллельно, угол можно определить по ним.
  • Ну и так далее.
Все, в общем-то, сводится к определению на изображении одного или больше размера, одного или больше соотношения между размерами. А потом - обычная школьная стереометрия - строим углы в трехмерном пространстве.

ЗЫ Все это при условии, что можно пренебречь искажениями, вызвываемыми оптикой фотоаппарата и тому подобными вещами.


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
lepetal
Дата 25.4.2013, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 25.4.2013

Репутация: нет
Всего: нет



_Y_, можете привести пример реализации такой задачи? Потому что на глаз вроде бы задача тривиальная и я видел пару-тройку приложений на iStore по camera's measurement.

Хочется понять:
а) как унифицировать и выделить объект на фото (сначала монетку, потом сам объект, и как его выделить среди других объектов, если он не один)
б) как определить его высоту
в) как рассчитать угол к горизонту (можно, думаю, принять его данным и известным)

Пока пойду на lektorium.tv, посмотрю курс Конушина, но там он рассматривал по-моему, только вариант с машинным обучением, когда картинок несколько.

Это сообщение отредактировал(а) lepetal - 26.4.2013, 00:06
PM MAIL   Вверх
mrgloom
Дата 26.4.2013, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



лучше покажите картинку.


имея 2 камеры - стереопару и зная расстояние между камерами, можно построить карту глубины для изображения и для каждой точки определить расстояние вроде как.
затем надо сегментировать объект на изображении( или как то выделить) и взять по карте глубины среднее между пикселями.
PM MAIL   Вверх
lepetal
Дата 26.4.2013, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 25.4.2013

Репутация: нет
Всего: нет



mrgloom, в условии не указаны две камеры. У нас есть только одно изображение. В качестве примера:
 user posted image

PM MAIL   Вверх
mrgloom
Дата 26.4.2013, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



тогда можно только догадаться.

гуглите что то типа depth from single image \ single view
depth estimation from single image
3d model from single image
http://www.cs.cornell.edu/~asaxena/learningdepth/


есть еще вариант, если с одной камеры, но с разных ракурсов или из видео.

Это сообщение отредактировал(а) mrgloom - 26.4.2013, 10:11
PM MAIL   Вверх
lepetal
Дата 26.4.2013, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 25.4.2013

Репутация: нет
Всего: нет



mrgloom, да, особая точность не требуется, соответственно искажения камеры можно опустить.
PM MAIL   Вверх
mrgloom
Дата 26.4.2013, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



Цитата(lepetal @  26.4.2013,  16:15 Найти цитируемый пост)
да, особая точность не требуется, соответственно искажения камеры можно опустить. 


а кто говорил про искажения камеры?
PM MAIL   Вверх
lepetal
Дата 26.4.2013, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 25.4.2013

Репутация: нет
Всего: нет



mrgloom, просто от field view камеры тоже зависят искажения на изобрежении.
PM MAIL   Вверх
lepetal
Дата 26.4.2013, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 25.4.2013

Репутация: нет
Всего: нет



Нашёл по теме выделение объектов на фотографии:
http://vision.cs.uiuc.edu/proposals/
Насколько это может помочь моей задаче?
PM MAIL   Вверх
Pavia
Дата 26.4.2013, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 6.12.2008

Репутация: 11
Всего: 12



У-ууу как всё запущенно. 
Деловто взять и поделить.
А если просто, то у вас постановка задач расплывчатая. Хочу то незнамо что. Возьмите книгу Multiple View Geometry in Computer vision. 
PM MAIL   Вверх
maxim1000
Дата 26.4.2013, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



lepetal, на приведённом изображении настоящая машина или её уменьшенная модель?


--------------------
qqq
PM WWW   Вверх
_Y_
Дата 26.4.2013, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



1. На тему распознавания объектов я уже рекомендовал вот эту книжку. Там есть хорошая глава. И написано просто. Сам язык LabVIEW Вам не нужен, то там каждая глава разделена пополам. Читайте только половину, в которой принципы без привязки к языку.

2. Если предположить, что на картинке настоящий автомобиль (в чем я сомневаюсь), то все просто. Видны два колеса, размер который легко найти в сети (зная что за автомобиль, конечно). От их размеров и отталкиваться

Кстати, угол поворота автомобиля можно найти и без привязки к размеру. Колесо-то, надо понимать, круглое. А на фото - элипс. Угол считается из соотношения видимых диаметров элипса.


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
lepetal
Дата 26.4.2013, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 25.4.2013

Репутация: нет
Всего: нет



maxim1000, вообще, в задаче не указано, какой объект, поэтому объект может быть любым, главное, чтобы алгоритм работал.
Но допустим, что машина настоящая.
Pavia, знаю, не я задание составлял, увы smile Хочется самому указывать угол и расстояние. Потому что расстояние без эталонной метки или бинокулярной камеры не определяется.
PM MAIL   Вверх
maxim1000
Дата 27.4.2013, 07:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



Цитата(lepetal @  26.4.2013,  22:40 Найти цитируемый пост)
Хочется самому указывать угол и расстояние

а вот это бы стоило указать в исходной задаче, а то там только про угол

я потому и спросил "настоящая/уменьшеная", потому что при одном и том же угле может быть разный  размер

кстати, какой именно угол указывается?


--------------------
qqq
PM WWW   Вверх
lepetal
Дата 27.4.2013, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 25.4.2013

Репутация: нет
Всего: нет



maxim1000,
Думаю, 45-55 градусов. 
В задаче не указано, поэтому это остаётся на волю разработчика.

Времени мало на решение этой задачи (решить надо до понедельника-вторника), поэтому паника-паника smile)) ищу приложения, которые уже кто-то сделал либо просто выделение контуров, чтобы вычесть самый высокий по высоте пиксель из самого низкого, умножить на угол и сдать так, ибо другого варианта как то не видится.

P.S. Если кто готов за денежку взяться - пишите, пока соображаю сам.

Это сообщение отредактировал(а) lepetal - 27.4.2013, 17:31
PM MAIL   Вверх
ERR11
Дата 8.10.2013, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 8.10.2013

Репутация: нет
Всего: нет



Подскажите пожалуйста!

Как посчитать размер объекта на местности(с учетом искажений,которые вносит объектив) ,зная расстояние от фотоаппарата до объекта, фокусное расстояние объектива, все про матрицу камеры?Где про это можно почитать?
PM MAIL   Вверх
ТарасАтавин
Дата 24.11.2013, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 26.8.2013

Репутация: нет
Всего: нет



Цитата(_Y_ @  25.4.2013,  20:13 Найти цитируемый пост)
Если на фотографии есть какие-то предметы, которые можно использовать для оценки шкалы и угла поворота предмета, то можно. Много раз, наверное, видели, что на фотографии рядом с объектом лежит монетка или коробка спичек (стандартный предмет). Иначе размер объекта не оценить. 
Эталон как раз не обязателен, достаточно фокусного расстояния, формата матрицы/кадра и расстояния съёмки: по формату и фокусному расстоянию определяется угол съёмки, далее по самой фотке измеряем расстояния от центра до крайних точек изображения объекта в пикселах/миллиметрах, умножаем на тангенс угла съёмки и делим на размер фотки, получаем тангенсы угловых координат крайних точек, переводим в радианы и умножаем на расстояние съёмки, получаем линейные координаты, вычитанием координат противоположных точек получаем размеры. Если предмет повёрнут в плоскости кадра, то разности надо возвести в квадрат, квадраты сложить и из суммы извлечь квадратный корень. Если предмет составляет угол высотой пирамиды отсечения, то расстояния тоже являются координатами и берутся для каждой точки, а разности надо возвести в квадрат, квадраты сложить и из суммы извлечь квадратный корень.

Добавлено через 2 минуты и 20 секунд
Цитата(lepetal @  26.4.2013,  09:13 Найти цитируемый пост)
в условии не указаны две камеры. У нас есть только одно изображение. В качестве примера:
Без фокусного расстояния, формата кадра и расстояния съёмки это с равных успехом может быть и полноразмерный автомобиль, и модель в 36, или 45 раз меньше прототипа.



--------------------
Не так всё плохо, как оно есть на самом деле.
PM MAIL   Вверх
_Y_
Дата 25.11.2013, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Цитата(ТарасАтавин @  24.11.2013,  19:26 Найти цитируемый пост)
Эталон как раз не обязателен, достаточно фокусного расстояния, формата матрицы/кадра и расстояния съёмки


Я как-то не подумал, что может быть известна вся эта техническая информация. Как-то отталкивался именно от изображения. 

Если известны хоть такие-то условия съемки, они, конечно, могут быть использованы. Например, зная глубину-формлу распределения резкозти можно искать ее границы (заднее антикрыло, например, видится чуть размытым). Зная данные объектива, можно оценивать размеры по вносимым искажениям (машина явно "выпуклая"). Ну и так далее.



--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0566 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.