Чи можна використовувати фільтр Gabor для виявлення вм’ятин у автомобілях?


16

Я займаюся деякими дослідженнями фільтрів Gabor для виявлення вм'ятин в автомобілях. Я знаю, що фільтри Gabor широко використовувались для розпізнавання візерунків, розпізнавання відбитків пальців тощо.

У мене є образ.

Сире зображення

Використовуючи деякий код із сайту MathWorks File Exchange, я отримав наступний вихід.

Оброблене зображення

що якось не є результатом, якого можна було б очікувати. Це не гарний результат.

Мій сценарій такий:

I = imread('dent.jpg');
I = rgb2gray(I);
[G, gabout] = gaborfilter1(I, 2, 4, 16, pi/2);
figure
imshow(uint8(gabout));

EDIT: Застосування іншого коду до наступного зображення:

вхідне зображення

Вихідне зображення після різної орієнтації габорного фільтра:

введіть тут опис зображення

як я ізолюю цей DENT, який повинен бути належним чином виявлений?


1
I = imread ('dent.jpg'); I = rgb2gray (I); [G, gabout] = gaborfilter1 (I, 2,4,16, pi / 2); фігура, імшоу (uint8 (gabout)); Використовували наступні параметри
vini

Про що ви питаєте?
Андрій Рубштейн

2
Що з фільтра Gabor змушує вас думати, що він добре підходить до цієї проблеми?
Nzbuu

Це можливо за допомогою обробки зображень, стиль завжди рівномірний, а вм'ятина неоднакова, мало шансів вм'ятина, яка має неоднорідний край. Це може бути шаблонний аналіз краю вм'ятини.

Відповіді:


21

Це надзвичайно складна проблема. Я був частиною команди, яка працювала над нею кілька років, і довго розробляла та підтримувала інші подібні програми, можу сказати, що виявлення зубців - особливо складна проблема, і набагато важче, ніж це виглядає спочатку.

Справа в роботі алгоритму в лабораторних умовах або на відомих зображеннях; розробка системи, яка буде точною та надійною для "природних" зображень, таких як автомобілі, помічені на парковці, швидше за все, потребуватиме команди, яка працює кілька років. Окрім основної проблеми створення алгоритму, існує чимало інших інженерних труднощів.

Тестовий код, який ви протестували, не є поганим початком. Якщо ви могли знайти краї навколо темної правої сторони вм’ятини, ви могли б порівняти карту країв автомобіля з дінгом до карти краю відомого хорошого автомобіля, знятого під тим же кутом, з тим же освітленням. Управління освітленням допоможе зовсім небагато.

Проблеми, які слід врахувати, включають такі:

  1. Освітлення (набагато складніше, ніж здавалося б)
  2. Очікувана 3D-поверхня зібраної зовнішньої панелі (наприклад, із даних CAD)
  3. Критерії, що характеризують вм’ятину: площа, глибина, профіль тощо.
  4. Критерії помилкових негативів та помилкових позитивних результатів
  5. Засіб для збереження даних вм'ятин та / або відображення вм'ятин на моделі автомобіля (або макет метелика)
  6. Методика та пристрій для вимірювання "справжніх" характеристик вм'ятини: глибина, площа тощо.
  7. Широка база даних вм'ятин від випадкового відбору проб транспортних засобів
  8. Справа з різними кольорами фарби та обробкою

1. Освітлення Як правильно зазначав Мартін Б, правильне освітлення є критичним для цієї проблеми. Навіть при гарному структурованому освітленні у вас виникнуть великі труднощі з виявленням невеликих вм'ятин поблизу особливостей, проміжків між панелями, ручками тощо.

Запис у Вікіпедії для структурованого освітлення трохи тонкий, але це початок для розуміння принципу: http://en.wikipedia.org/wiki/Structured_light

Світлі смуги можуть бути використані для виявлення вкраплення (вм’ятини) та виходу (прищі). Щоб побачити динг, вам знадобиться відносний рух між джерелом світла та автомобілем. Або світло + камера рухаються разом відносно машини, або автомобіль рухається повз світло + камера.

Незважаючи на те, що вкраплення та виходи мають характерні види, коли їх бачити на краю світлої смуги, виявлення даної вм'ятини залежить від розміру та глибини вм’ятини щодо ширини світлої смуги. Кривизна автомобіля є складною, тому представляти камеру послідовну світлову смугу досить складно. По мірі переміщення світлової смуги по кузову автомобіля кривизна і навіть інтенсивність світлової смуги будуть змінюватися.

Одне часткове рішення полягає у тому, щоб забезпечити, щоб фотокамера та смуга світла завжди знаходились під послідовним кутом відносно нормального (3D-перпендикуляр) частини поверхні, що оглядається. На практиці роботові потрібно буде точно переміщувати камеру відносно поверхні тіла. Переміщення робота акуратно вимагає знання пози (положення та кутів 3D) кузова автомобіля, що саме по собі є неприємною проблемою.

Для будь-якого огляду автомобільних застосувань потрібно повністю контролювати освітлення. Це означає не тільки розміщення ліхтарів на ваш вибір у відомих місцях, але й блокування всього іншого світла. Це буде означати досить великий корпус. Оскільки панелі автомобіля вигнуті назовні (майже як сферична поверхня), вони відбиватимуть світло від джерел навколо них. Щоб значно спростити цю проблему, ви можете використовувати високочастотний люмінесцентний брусок всередині корпусу, оповитий чорним оксамитом. Досить часто доводиться йти до таких крайнощів для інспекційних програм.

2. 3D-поверхня Зовнішня поверхня автомобіля складається із складних кривих. Для того, щоб дізнатися, чи є підозріле місце динг, вам доведеться порівняти це місце з відомими особливостями автомобіля. Це означає, що вам потрібно буде зіставити 2D-зображення з камери та 3D-модель, переглянуту під певним кутом. Ця проблема не вирішується швидко, і досить складно зробити добре, що деякі компанії спеціалізуються на цьому.

3. Характеристика дефектів Для академічного дослідження або лабораторного тестування може бути достатньо розробити алгоритм, який показує обіцянку або вдосконалює існуючий метод. Щоб правильно вирішити цю проблему для реального комерційного чи промислового використання, вам потрібно мати досить детальну специфікацію розмірів вм'ятин, які ви хочете виявити.

Коли ми вирішували цю проблему, не було розумних галузевих чи національних стандартів щодо вм’ятин (3D-деформації). Тобто, не було узгодженої техніки для характеристики вм'ятини за її площею, глибиною та формою. Ми просто мали зразки, за якими експерти погодились з галузевими, поганими, не надто поганими та маргінальними з точки зору гостроти. Визначення "глибини" дінга теж складне, оскільки дінг - це 3D-відступ у (як правило) 3D поверхні, що вигинається назовні.

Більш великі дігги легше виявити, але вони також менш поширені. Досвідчений автомайстер може швидко сканувати кузов автомобіля - набагато швидше, ніж непідготовлений спостерігач - і швидко знайти неглибокі тони розміром з вашим рожевим пальцем. Щоб виправдати вартість автоматизованої системи, вам, швидше за все, доведеться відповідати можливостям досвідченого спостерігача.

4. Критерії помилок виявлення На початку слід встановити критерії прийнятних помилкових негативів та помилкових позитивних результатів. Навіть якщо ви просто вивчаєте цю проблему як проект НДДКР і не маєте наміру розробляти продукт, спробуйте визначити свої критерії виявлення.

хибнонегативний: вм’ятина присутня, але не виявлена ​​хибнопозитивна: незабруднена зона, ідентифікована як вм'ятина

Зазвичай існує компроміс: збільшуйте чутливість і знайдете більше сигнів (зменшення помилкових негативів), але ви також знайдете більше суглобів, яких там немає (збільшуйте помилкові позитиви). Переконати себе в тому, що алгоритм працює краще, ніж насправді, досить легко: наш природний ухил полягає в тому, щоб помітити дефекти, виявлені алгоритмом, та пояснити ті, які він не виявив. Проведення сліпих, автоматизованих тестів. Якщо можливо, попросіть когось іншого виміряти тонуси та призначити суворість, щоб ви не знали, що таке справжні вимірювання.

5. Збережіть дані та / або нанесіть на карту Вм’ятина характеризується своєю суворістю та розташуванням на кузові автомобіля. Щоб знати його місцезнаходження, ви повинні вирішити проблему листування 2D-3D, згадану вище.

6. Визначення «справжньої» форми вм'ятин Вм'ятини важко виміряти. Різка вм’ятина і округле вм’ятина однакової площі поверхні і глибини будуть виглядати різними. Вимірювання вм'ятин механічним способом призводить до суб'єктивних суджень, а також використовувати прилади для вимірювання глибини, лінійок тощо, досить виснажливо, коли вам, мабуть, доведеться виміряти десятки, якщо не більше.

Це одна з найскладніших інженерних проблем для вирішення будь-якого проекту виявлення дефектів для виробництва: як можна виміряти дефект та охарактеризувати його? якщо є стандарт для цього, чи відповідає стандарт, чи відповідає система інспекції? якщо система інспекції не знайде дінг, це "повинно було" знайти, хто винен?

Однак, якщо система перевірки працює досить добре для вибірки відомих дефектів, з часом користувачі можуть їй довіряти, а сама система стає стандартом для визначення серйозності дефектів.

7. Обширна база даних вм'ятин В ідеалі у вас було б сотні, якщо не тисячі зразкових зображень вм'ятин різної тяжкості в різних місцях на транспортних засобах складних виробників. Якщо ви зацікавлені в пошуку вм'ятин, спричинених аваріями під час складання, збирання даних може зайняти багато часу. Вм’ятини, що виникають в процесі складання, зустрічаються нечасто.

Якщо вас цікавить лише пошук вм'ятин, спричинених аваріями чи шкодою для навколишнього середовища, то це вже інша справа. Типи вм’ятин будуть відрізнятися від тих, що викликаються випадковими пошкодженнями всередині автоскладальної установки.

8. Робота з різними кольорами фарби Це правда, що детектори країв можуть бути досить надійними при виявленні країв на зображеннях різного рівня контрасту, але це може бути дуже огидно, щоб побачити, що "різний рівень контрастності" насправді означає для різних автомобільних фарб та оздоблень. . Світлу смужку, яка чудово виглядає на блискучому чорному автомобілі, навряд чи можна помітити на білому автомобілі зі старою фарбою.

Більшість камер мають відносно обмежений динамічний діапазон, тому досягнення хорошого контрасту як чорних блискучих, так і білих тьмяних поверхонь є складним. Цілком ймовірно, що вам доведеться автоматично контролювати інтенсивність освітлення. Це теж важко.


чи немає бази даних зображень, які я міг би отримати на вм'ятинах? і блискучої відповіді я ніколи не знав так багато ...
vini

2
Я не впевнений, що існує така база даних, оскільки значна частина інформації є власною. Виробники авто не обов'язково хотіли б передати світові розміри та типи дефектів, які вони бачать у виробництві. Однак, без надійної системи вимірювання статистика може базуватися на візуальному огляді людини на заводі, який може ґрунтуватися на вибірці або на збитках від автосалонів. Автомобіль, який був пом'ятий до того, як він приїхав у автосалон, може не продатись, що означає втрачені гроші та витрачені ресурси.
Rethunk

1
В майстернях по ремонту зубів використовуються світлі смуги, хоча їх налаштування більше підходить для огляду людей, ніж автоматичне обстеження: exceldent.wordpress.com/tag/door-ding-repair ncfixadent.com/services/paintless-dent-repair-pdr Для автоматизованої системи , ви хочете заблокувати все сторонне світло, включаючи відбиття від самого освітлювального корпусу. Крім того, необхідно встановити фокус камери таким чином, щоб було досягнуто балансу між утриманням джерела світла у фокусі, щоб краї були гострими та тримали поверхню автомобіля у фокусі, щоб побачити особливості автомобіля.
Rethunk

Ей, переосмислення прямо зараз я просто формулюю рішення для того ж, чи є в будь-якому випадку фотографії автомобільних вм'ятин та подряпин тощо, які допомогли б у моєму дослідженні, будь ласка, допоможіть!
vini

1
Збір знімків і подряпин може бути важким. Можливо, це займе якусь роботу з ногами. В Інтернеті не так багато підходящих фотографій. Ви можете зателефонувати в автомайстерню і запитати, чи можете ви сфотографувати у них транспортні засоби; взамін, ви можете зробити магазин у своїх звітах. Запитайте у друзів та колег, чи можете ви сфотографувати їхні машини - візьміть із собою ручне флуоресцентне світло для освітлення. Телефон Acamera буде добре. Найкраще було б дістати пом’якшені та неврівноважені панелі з розвалця. Найкраще мати власні зразки з самого початку, щоб ви могли налаштувати підсвічування тощо
Rethunk

9

Фільтр Gabor - це лише перший із декількох кроків, які ви б використали для такого завдання виявлення дефектів. Також зауважте, що ви використовували лише специфічну орієнтацію та масштаб фільтра Габора - ви зазвичай використовуєте цілий спектр орієнтацій та масштабів.

Дуже приблизний контур простого підходу до виявлення дефектів за допомогою фільтрів Gabor може бути наступним:

  • Застосовуйте фільтр Gabor у різних орієнтаціях та масштабах
  • Застосуйте класифікатор (навчений за відповідними навчальними даними), щоб класифікувати кожен піксель як "дефект" або "недефект"
  • Об'єднайте виявлення з сусідніх пікселів, щоб переконатися, що кожен дефект виявлено лише один раз, і щоб усунути помилкові виявлення

Один момент, який відсутній у цьому списку, але, як правило, дуже важливий, - це отримання зображення. Те, як ви запалюєте об’єкт і розміщуєте камери, має величезний вплив на те, як легко виявити дефекти в отриманих зображеннях. Зображення вашого зразка, як видається, використовує освітлення навколишнього середовища, яке було присутнім у той час - це, швидше за все, не є оптимальним.

Як я кажу, це лише дуже грубі контури. Автоматичний огляд - це широке поле і вимагає багато досвіду, щоб зробити це добре.


0

Ні, не може. Обробка зображень не є магією, вам потрібно надати більше інформації. Не маючи уявлення про те, як має виглядати автомобіль, як комп’ютер повинен відрізняти вм’ятину від призначеного стилю кузова?


1
Я знаю, що це не магія, і зображення, які я отримав від google .. ось чому я хотів трохи ввести, як я б підійшов до цієї проблеми .. просто, використовуючи цей фільтр, недостатньо ...
vini

Я хочу проголосувати за це, але це не справжня відповідь. Це має бути коментар.
ендоліт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.