O filtro Gabor pode ser usado para detectar amassados ​​nos carros?


16

Estou fazendo uma pesquisa sobre os filtros Gabor para detectar amassados ​​nos carros. Eu sei que os filtros Gabor tiveram amplo uso para reconhecimento de padrões, reconhecimento de impressões digitais etc.

Eu tenho uma imagem

Imagem não processada

Usando algum código do site do MathWorks File Exchange, obtive a seguinte saída.

Imagem processada

que de alguma forma não é o resultado esperado. Este não é um bom resultado.

O meu script é o seguinte:

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

EDIT: Aplicando um código diferente à seguinte imagem:

imagem de entrada

Imagem de saída após diferentes orientações do filtro gabor:

insira a descrição da imagem aqui

como isolar esse DENT que foi detectado corretamente?


1
I = ler ('dent.jpg'); I = rgb2gray (I); [G, gabout] = gaborfilter1 (I, 2,4,16, pi / 2); figura, imshow (uint8 (gabout)); Utilizaram os seguintes parâmetros
vini

O que você está perguntando?
precisa saber é o seguinte

2
O que há no filtro Gabor que faz você pensar que é adequado para esse problema?
Nzbuu 13/01/12

É possível pelo processamento de imagem, o estilo é sempre uniforme e o dente não é uniforme, há poucas chances de um dente com borda não uniforme. Pode ser a análise do padrão da borda do dente.

Respostas:


21

Este é um problema extremamente difícil. Eu fazia parte de uma equipe que trabalhava nele há vários anos e, tendo desenvolvido e suportado outros aplicativos por um longo tempo, posso dizer que a detecção de dentes é um problema particularmente complicado e muito mais difícil do que parece à primeira vista.

Ter um algoritmo funcionando em condições de laboratório ou em imagens conhecidas é uma coisa; o desenvolvimento de um sistema preciso e robusto para imagens "naturais", como carros vistos em um estacionamento, provavelmente exigiria uma equipe trabalhando por vários anos. Além do problema central da criação do algoritmo, existem inúmeras outras dificuldades de engenharia.

O código de exemplo que você testou não é um começo ruim. Se você pudesse encontrar as arestas ao redor do lado direito escuro do amassado, poderia comparar o mapa de arestas do carro com o ding com o mapa de arestas de um bom carro conhecido, fotografado do mesmo ângulo e com a mesma iluminação. Controlar a iluminação ajudará bastante.

Os problemas a considerar incluem o seguinte:

  1. Iluminação (muito mais difícil do que pareceria)
  2. Superfície 3D esperada do painel externo montado (por exemplo, a partir de dados CAD)
  3. Critérios que caracterizam um dente: área, profundidade, perfil, etc.
  4. Critérios para falsos negativos e falsos positivos
  5. Significa salvar dados do dente e / ou mapear os dentes em um modelo de carro (ou layout de borboleta)
  6. Metodologia e dispositivo para medir características dentárias "verdadeiras": profundidade, área, etc.
  7. Ampla base de dados de amassados ​​de uma amostragem aleatória de veículos
  8. Lidar com diferentes cores de tinta e acabamentos

1. Iluminação Como Martin B observou corretamente acima, a iluminação correta é crítica para esse problema. Mesmo com uma boa iluminação estruturada, você terá grandes dificuldades em detectar pequenas amolgadelas próximas às linhas de recursos, intervalos entre painéis, alças e assim por diante.

A entrada da Wikipedia para iluminação estruturada é um pouco limitada, mas é um começo para entender o princípio: http://en.wikipedia.org/wiki/Structured_light

Listras claras podem ser usadas para detectar entalhes (amolgadelas) e out-dings (espinhas). Para ver um ding, você precisará de um movimento relativo entre a fonte de luz e o carro. A câmera light + se move em relação ao carro ou o carro passa a câmera light +.

Embora as entradas e saídas tenham aparências características quando vistas na borda de uma faixa clara, a detectabilidade de um determinado dente depende do tamanho e profundidade do dente em relação à largura da faixa clara. A curvatura de um carro é complexa, por isso é bastante difícil apresentar uma faixa de luz consistente para a câmera. À medida que a faixa clara se move pelo corpo do carro, a curvatura e até a intensidade da faixa clara variam.

Uma solução parcial é garantir que a câmera e a faixa de luz estejam sempre em um ângulo consistente em relação ao normal (a perpendicular 3D) da parte da superfície que está sendo inspecionada. Na prática, seria necessário um robô para mover a câmera com precisão em relação à superfície do corpo. Mover o robô com precisão requer conhecimento da pose (posição e ângulos 3D) da carroceria do carro, que é um problema desagradável por si só.

Para qualquer inspeção de aplicações automotivas, você precisa controlar completamente a iluminação. Isso significa não apenas colocar as luzes de sua escolha em locais conhecidos, mas também bloquear todas as outras luzes. Isso significa um gabinete bastante grande. Como os painéis do carro são curvos para fora (quase como uma superfície esférica), eles refletem a luz das fontes ao seu redor. Para simplificar bastante esse problema, você pode usar uma barra fluorescente de alta frequência dentro de um gabinete envolto em veludo preto. Muitas vezes é necessário ir a extremos como esse para aplicações de inspeção.

2. Superfície 3D A superfície externa de um carro é composta por curvas complexas. Para saber se um ponto suspeito é um ding, você precisa comparar esse ponto com os recursos conhecidos do carro. Isso significa que você precisaria combinar a imagem 2D de uma câmera com um modelo 3D visualizado em um determinado ângulo. Esse não é um problema resolvido rapidamente, e é difícil o suficiente para que algumas empresas se especializem nele.

3. Caracterização de defeitos Para pesquisas acadêmicas ou testes de laboratório, pode ser suficiente desenvolver um algoritmo que mostre promessas ou melhore um método existente. Para resolver adequadamente esse problema para uso comercial ou industrial real, você precisa ter uma especificação altamente detalhada para o tamanho dos amassados ​​que deseja detectar.

Quando resolvemos esse problema, não havia padrões razoáveis ​​da indústria ou nacionais para amassados ​​(deformações em 3D). Ou seja, não havia uma técnica combinada para caracterizar um dente por sua área, profundidade e forma. Acabamos de ter amostras que os especialistas do setor concordaram que eram ruins, não muito ruins e marginais em termos de gravidade. Definir a "profundidade" de um ding também é complicado, pois um ding é um recuo 3D em (normalmente) uma superfície 3D curvada para fora.

Dings maiores são mais fáceis de detectar, mas também são menos comuns. Um trabalhador experiente em automóveis pode escanear um corpo de carro rapidamente - muito mais rapidamente do que um observador não treinado - e encontrar dings rasos do tamanho de seu dedo mindinho rapidamente. Para justificar o custo de um sistema automatizado, você provavelmente teria que corresponder à capacidade de um observador experiente.

4. Critérios para erros de detecção Desde o início, você deve definir critérios para falsos negativos e positivos positivos aceitáveis. Mesmo se você estiver apenas estudando esse problema como um projeto de P&D e não pretender desenvolver um produto, tente definir seus critérios de detecção.

falso negativo: dente presente, mas não detectado falso positivo: área sem manchas identificada como dente

Normalmente, há uma troca: aumente a sensibilidade e você encontrará mais dings (diminua os falsos negativos), mas também encontrará mais dings que não estão lá (aumente os falsos positivos). É muito fácil convencer-se de que um algoritmo tem um desempenho melhor do que realmente: nosso viés natural é perceber defeitos detectados pelo algoritmo e explicar aqueles que não foram detectados. Realize testes cegos e automatizados. Se possível, peça a alguém que meça os toques e atribua a gravidade para que você não saiba quais são as medidas reais.

5. Salve os dados e / ou mapeie-os Um dente é caracterizado por sua gravidade e sua localização na carroceria do carro. Para conhecer sua localização, você deve resolver o problema de correspondência 2D para 3D mencionado acima.

6. Determinar a forma "verdadeira" dos dentes Os dentes são difíceis de medir. Um dente agudo e um dente arredondado da mesma área e profundidade da superfície parecerão diferentes. Medir amassados ​​por meios mecânicos leva a julgamentos subjetivos, e também é muito entediante usar medidores de profundidade, réguas, etc., quando você provavelmente precisará medir dezenas, se não mais.

Esse é um dos problemas de engenharia mais difíceis de resolver para qualquer projeto de detecção de defeitos para fabricação: como se mede um defeito e o caracteriza? se houver um padrão para fazê-lo, o padrão se correlaciona bem com algo que o sistema de inspeção mede? se o sistema de inspeção não encontrar um ding que "deveria ter" encontrado, quem é o culpado?

Dito isto, se um sistema de inspeção funcionar bem o suficiente para uma amostra de defeitos conhecidos, os usuários poderão eventualmente confiar nele, e o próprio sistema se tornará o padrão para definir a gravidade do defeito.

7. Banco de dados extenso de amolgadelas Idealmente, você teria centenas, senão milhares, de imagens de amostra de amolgadelas de diferentes gravidades em diferentes locais em veículos de fabricantes difíceis. Se você estiver interessado em encontrar amolgadelas causadas por acidentes durante o processo de montagem, poderá levar muito tempo para coletar esse tipo de dados. Amassados ​​causados ​​durante o processo de montagem não são comuns.

Se você está interessado apenas em encontrar mossas causadas por acidentes ou danos ambientais, isso é outra questão. Os tipos de amolgadelas serão diferentes daqueles causados ​​por colisões acidentais dentro de uma montadora de automóveis.

8. Lidando com cores de tinta diferentes É verdade que os detectores de bordas podem ser razoavelmente robustos na detecção de bordas em imagens com diferentes níveis de contraste, mas pode ser bastante desanimador ver o que "níveis variados de contraste" realmente significam para diferentes tintas e acabamentos automotivos . Uma faixa clara que fica ótima em um carro preto brilhante dificilmente pode ser detectada em um carro branco com tinta velha.

Como a maioria das câmeras possui alcance dinâmico relativamente limitado, é difícil obter um bom contraste para superfícies brilhantes pretas e superfícies opacas brancas. É bem provável que você precise controlar automaticamente a intensidade da iluminação. Isso também é difícil.


não existe um banco de dados de imagens que eu possa obter em mossas? e brilhante resposta eu nunca sabia tanto ...
vini

2
Não tenho certeza se existe esse banco de dados, porque muitas das informações são proprietárias. Os fabricantes de automóveis não querem necessariamente transmitir ao mundo o tamanho e os tipos de defeitos que veem na fabricação. Dito isto, sem um sistema de medição robusto, as estatísticas podem se basear na inspeção visual humana na planta, que pode ser baseada em amostragem ou em relatórios de danos causados ​​por concessionárias de automóveis. Um carro danificado antes de chegar a uma concessionária pode não ser vendido, o que significa perda de dinheiro e desperdício de recursos.
Rethunk

1
As oficinas de reparos dentais usam faixas leves, embora sua configuração seja mais adequada à inspeção humana do que à inspeção automatizada: exceldent.wordpress.com/tag/door-ding-repair ncfixadent.com/services/paintless-dent-repair-pdr Para um sistema automatizado , você deseja bloquear toda a luz externa, incluindo reflexos da própria caixa de iluminação. Além disso, é necessário definir o foco da câmera para que seja alcançado um equilíbrio entre manter a fonte de luz em foco, para que as bordas sejam nítidas e manter a superfície do veículo em foco para ver os recursos do veículo.
Rethunk

Ei, repensar agora, estou apenas formulando uma solução para o mesmo. Existe alguma maneira de obter algumas fotos de entalhes e arranhões de carros, etc. que ajudariam em minha pesquisa, por favor ajude!
vini

1
Reunir fotos de amassados ​​e arranhões pode ser difícil. É provável que dê algum trabalho de perna. Não existem muitas fotos adequadas online. Você pode ligar para uma oficina de automóveis e perguntar se pode tirar fotos dos veículos que eles têm; em troca, você poderia comprar nos seus relatórios. Pergunte a amigos e colegas de trabalho se você pode tirar fotos de seus carros - leve uma luz fluorescente portátil para iluminação. Telefone Acamera seria bom. O melhor seria obter painéis amassados ​​e não cortados de um ferro-velho. É melhor ter suas próprias amostras, desde o início, para que você pode ajustar a iluminação, etc.
Rethunk

9

Um filtro Gabor é apenas a primeira de várias etapas que você usaria para uma tarefa de detecção de defeitos. Além disso, observe que você usou apenas uma orientação e escala específica do filtro Gabor - normalmente você usa toda uma gama de orientações e escalas.

Um esboço muito aproximado de uma abordagem simples de detecção de defeitos usando filtros Gabor pode ser o seguinte:

  • Aplique o filtro Gabor em diferentes orientações e escalas
  • Aplique um classificador (treinado em dados de treinamento adequados) para classificar cada pixel como "defeito" ou "não defeito"
  • Detecções agregadas de pixels vizinhos para garantir que cada defeito seja detectado apenas uma vez e para eliminar detecções espúrias

Um ponto que não está nesta lista, mas geralmente é muito importante, é a aquisição de imagens. A maneira como você ilumina seu objeto e coloca suas câmeras tem uma enorme influência sobre como será fácil detectar defeitos nas imagens resultantes. Sua imagem de amostra parece usar a iluminação ambiental que estava presente no momento - isso provavelmente não é o ideal.

Como eu disse, este é apenas um esboço muito aproximado. A inspeção automática é um campo amplo e requer muita experiência para fazê-lo bem.


0

Não, não pode. O processamento de imagens não é mágico, você precisa fornecer mais informações. Sem alguma idéia de como o carro deve parecer, como o computador deve distinguir um dente do estilo pretendido?


1
eu sei que não é mágica e as imagens eu tenho de google..that é por isso que eu queria alguma entrada de como eu iria abordar este problema ..simply usando este filtro não é suficiente ...
vini

Quero votar, mas não é uma resposta real. Deve ser um comentário.
Endolith 19/04
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.