Да я не про это хотел сказать - на реальном объекте падают тени, блестят грани, он подпрыгивает от вибрации, резкость наводится неидеально и т.д. и т.п. Поэтому ценность этих "сеточек" в реальных приложениях очень условна. Они работают, конечно - кто спорит, просто вживую будут другие проблемы и другие условия.
Заголовок сообщения: Re: Определение линейных размеров объекта по его 2D снимкам
Добавлено: 02 дек 2010, 18:43
Зарегистрирован: 01 сен 2010, 08:47 Сообщения: 29
Michael_K,
Цитата:
Вам хочется просчитать все заранее и теоретически? Это невозможно! Потому что на практике будет масса параметров, которые невозможно учесть.
Я понимаю и тем не менее почему бы не иметь предварительную оценку? Это позволит в последующей обработке как то ориентироваться в результатах, вообще понимать я на правильном пути или нет, или просто ошибка в программе. А в моей ситуации когда каждый шаг с нуля это еще и позволит как то освоить основные понятия.
Цитата:
Практически работает _только_ один способ - откалиброваться на месте. Взять десяток реальных или изготовленныых "идеальных" таблеток в реальных условиях освещения, резкости, механической жесткости конструкции - померить каждую микрометром и откалибровать вашу камеру по ним.
Это означает изготавливать самим идеальную таблетку. Не представляю себе во что это может обойтись. Плоскую, цилиндрическую еще можно. Но как по ней калибровать? Не вижу до конца процедуру. Как только с ее помощью измерить дисторсию? С помощью сеток же примерно ясно как это сделать: просто померить программно искривления на изображении и аппроксимировать их. Как это сделать без сетки?
GraphD,
Цитата:
Без микрометра будет точнее, принтер же есть 1200т/д
Значит дело за тем чтобы найти файл с изображением сетки(точек) и отпечатать его размером 20х20 мм? Но принтер даст 20+/- сколько мм? Скажем точки через миллиметр, 400 точек. Я бы сам сделал такой файл, но у меня такое недоверие к матлабу... видно невооруженным глазом что точки разные по размеру получаются, печать еще добавит искажений... не знаю, попробую. Я бы миллиметровку взял, но тогда специальную программу для нее писать надо, с точками вроде проще.
Заголовок сообщения: Re: Определение линейных размеров объекта по его 2D снимкам
Добавлено: 02 дек 2010, 19:00
скрытый хозяин вселенной :)
Зарегистрирован: 18 сен 2006, 12:26 Сообщения: 18018 Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
а что корел дро уже не катит? печатаем на А4 линию длинной 200 мм меряем её штангенциркулем, если что вводим коррекцию для печати вуаля, доли миллиметра в кореле будут на бумаге пропечатаны. любые миры в кореле оч удобно рисовать)
_________________ <telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode> Всё уже придумано до нас!
Заголовок сообщения: Re: Определение линейных размеров объекта по его 2D снимкам
Добавлено: 02 дек 2010, 19:16
Зарегистрирован: 21 июн 2006, 11:22 Сообщения: 1387 Откуда: г. Омск
Skype: victorkazarinov
прог. языки: почти все понемногу
ФИО: Казаринов Виктор Геннадьевич
А м.б. уже пора применить к данному заданию нормальную экспертную систему? Скоро смогу выложить самую свежую версию моей программной платформы AIAssistant. В нее напрямую с помощью встроенного в нее OpenCV, можно закачивать изображения с камеры, производить экспертные логические выводы, формировать диалог с пользователем в виде удобного обычного GUI. В таблетках есть множество проблем, основой которых по большей части является изменчивость реального наблюдаемого поля зрения. Удобнее было бы сделать всю систему обучающуюся в определенных пределах учителем и самостоятельно. Это позволило бы улучшить характеристики системы. Со своей стороны я мог бы помогать вам в вашем программировании на языке ECLIPS. Конечно, это всего лишь мое предложение. Вам решать.
Значит дело за тем чтобы найти файл с изображением сетки(точек) и отпечатать его размером 20х20 мм? Но принтер даст 20+/- сколько мм? Скажем точки через миллиметр, 400 точек.
Очень просто, в Word графикой рисуешь квадраты, указывая размеры и позиции, затем масштабируешь в N раз и отдаёшь на печать, получается точно те размеры, что вводил. Работы на 15 мин. В методе Zhanga используются матрицы до 10х10 тчк, больше смысла нет...
Michael_K писал(а):
Да я не про это хотел сказать - на реальном объекте падают тени, блестят грани, он подпрыгивает от вибрации, резкость наводится неидеально и т.д. и т.п.
я так понял товарищу Туру именно геометрию посчитать надо, а как потом таблетки измерять - ещё такого вопроса не вставало.
Заголовок сообщения: Re: Определение линейных размеров объекта по его 2D снимкам
Добавлено: 09 дек 2010, 18:16
Зарегистрирован: 01 сен 2010, 08:47 Сообщения: 29
Виктор Казаринов, спасибо за предложение, возможно я им воспользуюсь.
Цитата:
В таблетках есть множество проблем, основой которых по большей части является изменчивость реального наблюдаемого поля зрения.
Я этого не понял. Не могли бы Вы это пояснить. Предполагается что наша система будет работать так: система установлена на линии или в лаборатории. система переведена в режим калибрации. Фотографируется матрица и процессором вычисляются все необходимые параметры. Все, теперь система может работать. Т.е. мне необходимы алгоритмы если и не полной калибрации, то по крайней мере устранения дисторсии и введения сетки/системы координат на пиксели чтобы можно было измерять. Конечно полная калибрация была бы идеальным вариантом, но пока она мне не по зубам, с дисторсией бы разобраться.
GraphD, Ваша идея с принтером оказалась наилучшей, спасибо. Теперь могу хоть что то реальное начать делать хотя бы как подготовку. Сделал все на матлабе, сфотографировал точки своим домашним олимпусом IR-500
по этой вырезке можно оценить резолюцию олимпуса, примерно 17 пар линий на мм вот график яркостей для этой вырезки с плоскотью-уровнем по которому можно отсекать затемненные места, но как это сделать эффективно?
не видно как измерить коэффициенты F3, F5... Вот параметры двух объективов одной серии с фокусным расстоянием 17.5 мм и 25 мм(раньше я их уже приводил)
Вложение:
param-obj2.PNG [ 57.5 КиБ | Просмотров: 2973 ]
Что за параметры указаны в дисторсии? Почему два параметра: диагональ и горизонталь? Как они скачут от рабочей дистанции. С чего бы это? Почему два параметра, ведь объектив круглый. Как то это не согласуется с википедией с идеей радиальной дисторсии.
Заголовок сообщения: Re: Определение линейных размеров объекта по его 2D снимкам
Добавлено: 14 дек 2010, 19:02
Зарегистрирован: 01 сен 2010, 08:47 Сообщения: 29
GraphD, я не понял только зачем пиксели инвертировать. Скоро закончу получение координат подобных сеток. Что дальше - вот вопрос... Пытаюсь понять Вашу статью
Там есть итерационный алгоритм. Подойдет ли он мне?
Есть еще вопрос на другую тему. Один человек производит зубчатые колеса и другие детали правильной формы. Их можно отсканировать на производственной линии и т.о. получить размеры детали. Предлагается сравнивать эти размеры с приведенными в формате DXF. С этим форматом я до сих пор не работал, не знаком. Вопрос: можно ли из этого формата извлечь программно точные размеры детали-эталона? На сколько я понял DXF не картинка, а чертеж. Если он упрощен до одной проекции, то можно ли с него без автокада снять размеры детали хотя бы плоские? Написать на чем-нибудь exe и все. Он хочет чтобы при смене файла установка сама отбраковывала новые детали по новому шаблону.
внутри белых точек их приближения по центру масс. При более детальном рассмотрении приближения вовсе не внутри конечно же. Вот первые четыре точки (белые точки - целопиксельные, синие - их приближения)
Вложение:
4+4 points.PNG [ 6.19 КиБ | Просмотров: 3225 ]
сумма всех отклонений по Y, т.е. сумма всех разностей между целыми значениями строчек и их приближениями для всех 2500 точек примерно 30. Для Х, т.е. для колонок получилось примерно 43. Должны то быть нули, но получаются вот такие числа. С первым шагом разобрался, алгоритм работает надежно, начинаю с центра картинки и иду к верхней левой точке... Но что дальше, как дисторсию исправлять, пока неясно.
Заголовок сообщения: Re: Определение линейных размеров объекта по его 2D снимкам
Добавлено: 19 дек 2010, 19:16
Зарегистрирован: 01 сен 2010, 08:47 Сообщения: 29
GraphD, видимо я что то капитально не понимаю в этой компенсации дисторсии. Ваш код основан на k1 и k2, а они то как раз и неизвестны, их то и надо определить, в этом вся проблема. А как их можно определить? Видимо опираясь на свойства исходных точек, на то что они расположены группами лежащими на прямых линиях и/или на равенство расстояний между точками. Так? Если так, то видимо следует основываться на формулах 3.7 - 3.11, но их я не понимаю. Разобрать бы какой-нибудь пример, тогда наверное все бы стало ясно. Если скажем на сцене имеем три точки A, B, C, лежащие на одной прямой и их изображения Ad, Bd, Cd. Допустим также что AB = BC. Известен также центр матрицы О(xo, yo).
Вложение:
AdBdCd.PNG [ 3.69 КиБ | Просмотров: 3137 ]
Реально есть на изображении только точки Ad, Bd, Cd, и О(xo,yo). Синие точки Ad,Bd,Cd, я специально сместил по векторам ОА,ОВ,ОС как бы получая подушко-образную дисторсию.Вот теперь бы записать все уравнения и понять алгоритм нахождения k1 и k2... Скажем находим прямую по точкам Ad, Bd, Cd. Пересечения этой прямой с прямыми ОАd,ОВd,ОСd и дадут искомые точки A, B, C. (обошлись без k1 и k2 ) Бред конечно, но каков же здесь алгоритм?
Вот это меня останавливает
Вложение:
3.12.PNG [ 2.83 КиБ | Просмотров: 3107 ]
как записать эту формулу? С Марквардтом разберусь потом.
Статья требуется только как иллюстрация процесса компенсации, а калибровать нужно zhang-ом, т.е. шахматной доской. У zhang-а просто небыло нужного этапа компенсации, в этом и была проблема.
Заголовок сообщения: Re: Определение линейных размеров объекта по его 2D снимкам
Добавлено: 20 дек 2010, 12:55
Зарегистрирован: 01 сен 2010, 08:47 Сообщения: 29
Извиняюсь, опять ничего не понял: я же хочу не калибровать (на первом этапе по крайней мере), а дисторсию скомпенсировать без калибровки. И это возможно на сколько я понял из статьи. Вот цитата из введения
Цитата:
In our work, we propose to estimate and compensate for the radial lens distorsion without full knowledge of 3-D point coordinates. In this case, only radial distorsion parameters are estimated, unlike the extrinsic and intrinsic parameters of the linear camera.
Там дальше описан метод и алгоритм как они предлагают это делать. Но я пока плохо понимаю это, так что мне нужна помощь именно в этом. Разве я не на верном пути?
Заголовок сообщения: Re: Определение линейных размеров объекта по его 2D снимкам
Добавлено: 20 дек 2010, 20:17
Зарегистрирован: 01 сен 2010, 08:47 Сообщения: 29
Как зачем? Чтобы ее скомпенсировать. Как скомпенсировать дисторсию без k1 и k2 ? Статья утверждает что можно скомпенсировать дисторсию, т.е. узнать k1 и k2 без знания внешних и внутренних параметров камеры. Я поэтому и ухватился за эту статью. В ней предлагается считать гомографию (формула 3.2). Пытаюсь разобраться с этим, но вряд ли смогу это сделать без помощи.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения