Pergunta

Eu fiz um videochat, mas como de costume, muitos homens gostam de ehm, abusar do serviço (eu deixo para você para descobrir a natureza desse abuso), que não é algo que eu endossa de qualquer maneira, nem a maioria dos meus usuários. Não, eu não sou roubado Chatroulets.com :-) Francamente, estou meio envergonhado para trazer isso aqui, mas a minha pergunta é técnica e bastante específica:

Eu quero filtrar / negar usuários com base em seu conteúdo de vídeo quando este conteúdo é de caractere ofensivo, como usuário piscando seu lixo na câmera. Que tipo de algoritmo de comparação de imagem se adequaria às minhas necessidades?

Eu passei uma semana ou lendo alguns documentos científicos e nos tornarmos conscientes de múltiplas teorias e suas implementações, como peneirar, surf e algumas das abordagens baseadas na Wavelet. Cada um deles tem inconvenientes e vantagens, é claro. Mas como a natureza da minha comparação de imagem é altamente específica - para negar serviço se uma determinada parte do corpo for encontrada em vídeo em uma gama de posições - eu estou querendo saber quais dos métodos me servirão melhor?

Atualmente, inclino-me para algo ao longo do seguinte (Baseado em Wavelet, além de algo que eu suponho ser algumas inovações proprietárias): http://grail.cs.washington.edu/projects/query/ .

Com o acima, posso simplesmente desenhar a parte do corpo ofensivo e esperar que o conteúdo ofensivo seja considerado um jogo com base em um limite. Então, novamente, não tenho certeza se o método é invariável para transformações e se é, para que tipo - o papel não é realmente específico nisso.

Alternativamente, estou pensando que uma implementação de surf poderia fazer, mas receio que isso possa me dar falsos positivos. Essa implementação pode ser treinada para reconhecer / dar peso ao recurso específico?

Estou ciente de que existem inúmeras perguntas sobre surf e peneirar aqui, mas a maioria deles é genérica em que eles geralmente explicam como "comparar" duas imagens. Minha comparação é característica específica, não genérica. Eu preciso de um método que não apenas compare duas imagens semelhantes, mas uma que pode me dar uma classificação / índice / peso para um recurso (no entanto, o método deixa-me descrevê-lo, seja uma imagem em si ou outra coisa) estar presente em um imagem.

Foi útil?

Solução

Parece que você não precisa de detecção de recursos, mas o reconhecimento de objetos, isto é, o método viola-jones. Dê uma olhada no Exemplo FaceDetect.cpp enviado com OpenCV (também há vários haarrascades prontos para uso: detector de rosto, detector de corpo ...).Ele também usa recursos de imagem, chamados wavelets haar.Você pode estar interessado em usar informações de cores, dar uma olhada no Algoritmo da Camshift (também disponível em OpenCV).

Outras dicas

Isso é mais sobre a visão do computador.Você tem que reconhecer objetos em sua seqüência de imagem / vídeo, seja qual for ... Para isso, você pode usar muitos algoritmos diferentes (a maioria deles funciona no domínio espectral, é por isso que você terá que usar uma transformação).

.

Para ser preciso, você também precisará de uma base de conhecimento ou, pelo menos, alguns descritores que definirão o objeto.

Tente OpenCV, tem alguns algoritmos já implementados (e descritores básicos incluídos).

Existem aplicativos / algoritmos por aí que você pode "treinar" (como redes neurais) e são capazes de identificar objetos com base no treinamento.A maioria deles (pelo menos, os bons) não são muito populares e só podem ser encontrados em grupos de pesquisa especializados em visão de computador, reconhecimento de objetos, AI, etc.

Boa sorte!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top