O aprendizado de máquina continua a penetrar em setores além do setor da Internet. Na conferência Data & Science “O
mundo através dos olhos dos robôs ”, Alexander Belugin, da empresa “Digital”, falou sobre os sucessos, dificuldades e tarefas urgentes dessa maneira. A introdução de tecnologias como a visão computacional requer uma abordagem serial e uma abordagem de produto para reduzir o custo de implementações únicas. O fato é que existem muitos tipos de tarefas em produção. A partir do relatório, você pode aprender sobre os produtos, tendências mundiais e a experiência da equipe Alexander nas áreas de segurança industrial e automação de processos.
Bom dia Que bom que todos vieram para esta interessante conferência. Primeiro, falarei brevemente sobre a empresa "Digital", depois um pouco sobre as tarefas que existem no setor e sobre maneiras típicas de resolver esses problemas. Essas são tarefas sem robôs, não de montagem, mas diferentes plantas de processo. No final, dê uma olhada na nossa experiência.
Estamos trabalhando no mercado há um ano e nosso objetivo é automatizar totalmente a produção industrial, o que nos permitirá alcançar um aumento de 10 a 15% em sua lucratividade. Para fazer isso completamente, é necessário resolver todos os problemas, terminando com algum tipo de otimização conjunta de todos os processos, logística, compras e produção em si, mas começando com coisas básicas como a Internet das coisas, sensores, coleta de informações.

Isso agora é chamado de digitalização de chavão. Essa é a transferência de dados sobre todos os processos em formato digital, para que você possa usá-los posteriormente para aumentar a eficiência.

Hoje falamos mais sobre visão computacional. Há também o termo "visão de máquina", que se refere à tecnologia. Existem câmeras de vídeo semelhantes às usadas para vigilância por vídeo, há câmeras da web usadas para comunicações e há câmeras especiais no setor. Eles diferem pelo fato de muitas vezes não terem uma porta Ethernet comum; protocolos especiais são usados; eles podem transmitir, por exemplo, 750 quadros por segundo e não no modo burst, mas continuamente, sem compactação. Existem câmeras especiais com fotossensibilidade especial em outras faixas que não sejam opticamente visíveis aos olhos. Existem até câmeras que lêem uma faixa, ocupam muitos quadros por segundo, mas com largura de um pixel. Essa câmera fica acima do transportador e olha o que está acontecendo lá.
Uma característica distintiva das tarefas de visão computacional é que a saída não deve ser uma imagem - ela não interessa a ninguém -, mas um número que caracteriza a qualidade ou o tamanho do que observamos.

Quero listar algumas tarefas básicas. O primeiro grande bloco é o que está relacionado à segurança. Há controle de perímetro para que nada seja retirado da empresa. Este é um exemplo do número de tarefas de análise de vídeo que foram resolvidas por 15 a 20 anos e a cada ano está melhorando. Se houver uma cerca e uma câmera de vídeo e alguém estiver tentando escalar, a análise de vídeo o pegará com certeza.
Existem tarefas mais complexas - controlar o movimento em algumas zonas. Por exemplo, na empresa, você sempre pode se queimar, encontrar-se na área de carregamento e descarregamento ou nos trilhos onde os carros dirigem. Já existe uma tarefa mais difícil, você deve observar restrições estreitas, entender quais caminhos as pessoas podem seguir.
Outro exemplo de uma tarefa relacionada à segurança é a detecção de capacetes em suas cabeças quando as câmeras são colocadas nas plataformas. Na Rússia, esse tópico é muito mal vendido. Quando as pessoas ouvem quanto custa esses sistemas, dizem que temos um regulamento, uma pessoa deve colocar um capacete e ele o colocará; caso contrário, ele violou o regulamento, seu problema. Em geral, esta é uma solução popular no mundo, promovida por fornecedores e empresas privadas.
O próximo bloco de tarefas está relacionado à contabilidade. Basicamente, este é o reconhecimento de alguns adesivos. Existem adesivos especiais ao imprimir um código de barras. Então funciona um pouco mais fácil. Existe um monte de softwares prontos para reconhecer códigos de barras ou caracteres impressos distintamente. Eles costumam tentar economizar dinheiro, não para alterar o sistema de codificação, mas para usar a visão computacional para reconhecimento. Por exemplo, pode ser colocado em um vagão de trem e números mal distinguíveis. Então tudo fica mais complicado, você precisa gastar mais tempo construindo tudo isso. Isso é necessário para combater o roubo e controlar os bens - o que entrou na empresa, como ela se moveu dentro dela e para onde foi parar.

O último bloco de tarefas é o controle de qualidade. Também pode ser dividido em dois componentes. Um está relacionado ao controle físico da qualidade. Você pode assistir os tamanhos de vários objetos. Na maioria das vezes isso se refere às pequenas coisas: algumas tampas de embalagens com leite ou de garrafas. Eles têm um processo de produção barato bastante simples, muitos defeitos, eles só precisam ser filtrados, o que os torna melhores não é rentável.
E há uma parte que está na foto. Já existem tarefas mais complexas. É quando tentamos entender - e se, de fato, eles executam a ação certa com nosso produto. Por exemplo, você precisa avaliar a pose de um mecânico e entender qual operação ele executa. Ou houve uma tarefa quando existe uma plataforma na qual as plataformas de perfuração são montadas e desmontadas. O maior campo é montado, levado ao trabalho, depois desmontado e retirado. Colocar uma pessoa ao norte para rastrear essas operações é muito caro, apesar de estar ocioso a maior parte do tempo. Em uma câmera de vídeo também. Usando a câmera de vídeo, você pode assistir automaticamente a quais eventos estão ocorrendo e rastrear a programação de montagem e desmontagem.

Outro exemplo é uma captura de tela do software afiliado, controle do casamento em peças vazadas, todo tipo de material plástico antes de ser pintado, como se fosse derramado nessas formas. Você pode detectar o casamento usando a câmera.
Existem duas abordagens principais para resolver esses problemas. Ambos foram inventados por um longo tempo, mas o clássico é trabalhar com imagens usando algum tipo de algoritmo.

Alavanca esquerda, tente identificá-lo. Certo não é tão claro. Círculos são rolos de chapas de aço enrolados, no centro não está claro o que. Os métodos são, de alguma forma, processar a imagem, aumentar seu contraste, talvez torná-la bicolor, selecionar algumas arestas, arestas de objetos, tentar encontrar os próprios objetos e depois trabalhar com eles.

O segundo método, mais moderno, relacionado à ciência de dados, é tudo relacionado a redes neurais. Existem certas vantagens aqui. Em primeiro lugar, em termos de qualidade, é possível obter resultados mais altos nos problemas mais complexos que não podem ser resolvidos pelos métodos clássicos. Algumas tarefas de amostra estão listadas.
Há adaptabilidade, você pode configurar o algoritmo de aprendizado de rede neural e transferir da tarefa para a tarefa, não a própria rede neural treinada, mas todas juntas com o algoritmo e, em seguida, tarefas ligeiramente diferentes podem ser resolvidas com a mesma ferramenta.
Há desvantagens que costumam ocorrer no setor - falta de dados. Para começar a identificar defeitos, se estamos falando de métodos clássicos, precisamos de um fluxo de vídeo que grave produtos acabados, precisamos ver quais defeitos existem, com nossos olhos, vê-los e fazer nosso código vê-los. Iterar vários parâmetros, nenhuma marcação manual é necessária para isso. No caso de uma rede neural, você precisa de um grande número de exemplos, para coletá-los manualmente ou usar métodos artísticos modernos para gerá-los. Esse é um processo longo e complexo, que ainda pode precisar ser repetido periodicamente quando transferido para outras tarefas.

Aqui está um exemplo dessa imagem relacionada à detecção de defeitos. Um dos tópicos populares, se você observar quais são os artigos, na parte inferior da figura mostra um pequeno casamento nas estruturas. Utilizando redes neurais, é possível detectar de 92% a 99% de todos os defeitos, em diferentes trabalhos de maneiras diferentes, com falsos positivos no nível de 3-4%, resultados bastante adequados. O nível normal de casamento em diferentes indústrias de 0,5% a pequenas unidades de porcentagem. Tais indicadores são bastante adequados para substituir uma pessoa que detecta esses defeitos. Ou até melhorar os resultados.

Outro exemplo de tarefas relacionadas à digitalização, conectando vários equipamentos que não possuem interfaces digitais, onde a seta verde é alavancada. Um tiro pequeno do local de trabalho do perfurador, que controla a perfuração, ele tem alguma vantagem que ele troca. A perfuração é importante, um processo caro, alguns milhões de rublos por dia. E isso não é registrado de nenhuma maneira, ele troca algumas alavancas e, em nenhum lugar há um registro, ou, na melhor das hipóteses, é em um diário manual, com as trocas dessas alavancas. Isso é crítico.

Este é um forno que tempera o fio. Neste exemplo, fio de ouro. O fogão tem cerca de 25 anos, o ouro puro entra no interior, é derretido, derramado em um fio fino e é temperado pelo calor, queimado, convertido em material sólido. Sabe-se que às vezes esse fio às vezes se mostra confiável, todos os tipos de correntes são tecidos a ele e, às vezes, uma certa quantidade de fio leva ao casamento, durante a tecelagem de correntes que eles quebram, quebram, quebram. Parece que isso depende dos regimes de tratamento térmico, uma vez que a matéria-prima muda ligeiramente. O registrador de dados está escrito aqui. À direita do quadro, há um gravador que pode escrever seus parâmetros em um rolo de papel. Existem três parâmetros: a temperatura no copo em que o ouro é derretido, a temperatura de aquecimento é o modo do forno e a velocidade com que tudo isso passa.
Para entender com o que o casamento está conectado e se é possível ajustar o fogão para que o casamento possa ser reduzido, esses parâmetros precisam ser digitalizados. Como Possui conectores industriais, mas, há 25 anos, será muito caro, faça uma conexão com engenharia reversa ou pague ao fabricante do forno, se a empresa ainda não faliu, pela conexão. Conectar esse equipamento ao sistema USP ou MS [00:14:24] pode custar, por exemplo, um milhão de rublos. Ou talvez centenas de milhares. Especialmente considerando que existem apenas dois fogões desse tipo, e não cem.

Como podemos resolver esse problema com as ferramentas de que falamos? A abordagem clássica usando o OpenCV, neste caso, não funciona, há muitos reflexos, a imagem é embaçada, até mesmo uma pessoa realmente não distingue quais números existem. OCR, bibliotecas prontas para reconhecimento de texto também não são muito adequadas.
A segunda opção permanece - redes neurais. Nesse caso, ele funciona, mas envolve um grande número de etapas. Certamente você precisa coletar algumas marcações para treinamento em rede, testes, pegar alguma rede, treiná-la. Tudo isso precisa ser feito, testado. Imaginei os custos de mão-de-obra. Aqui você pode discutir, pode fazê-lo mais rápido ou mais devagar, mas em geral ocorre 72 horas. Ao ritmo de um bom especialista, isso pode custar muito. Ao mesmo tempo, não recebemos nenhuma infraestrutura ou software. Acabamos de ter uma rede sintonizada e testada que reconhece bem esses números.
Uma vantagem da abordagem é que ela funciona. A desvantagem é que ninguém está pronto para implementá-lo também. Primeiro, você precisa aprender a coletar esses dados e só depois entender se realmente existe um relacionamento entre esses dados e o casamento. Nesse caso, você precisa descobrir como e o que mudar para reduzir a proporção de casamento. E se houver muito disso? E pague pelo piloto, pela automação e conexão, você precisa imediatamente pelo menos o mesmo. Mesmo, muito provavelmente, mais.

Portanto, nos últimos três anos, em nossa experiência, esses projetos não conseguiram vender um único. Se este é um tubo defeituoso onde uma pessoa está, então uma pessoa é muito mais barata. Se isso é algo complexo, os riscos para os clientes são grandes demais.
Conclusão - você precisa produzi-lo.
Agora, no mundo, nos mercados de aprendizado de máquina, há muito movimento em direção à produtividade. Todos os tipos de soluções automáticas de ML que permitem substituir parcialmente o cientista de dados e produtos ou soluções acabadas para aplicações específicas. O exemplo mais simples são as recomendações em comércio eletrônico. Por um longo tempo, existem produtos nos quais os dados são conectados em um formato padrão e eles mesmos emitem recomendações.
Tentamos fazer o mesmo no campo da visão computacional. Oferecer um produto que permita automatizar e reduzir, por ordem de grandeza, o trabalho manual para conectar equipamentos antigos com reconhecimento de números: indicadores de discagem e outros.

A primeira tarefa que precisa ser resolvida é reduzir os custos de instalação. Ao colocar a câmera, você precisa deixar as pessoas realçarem a zona de interesse. Por exemplo, circule assim com um retângulo e diga o que quero reconhecer nesta zona.

A próxima pergunta é que todas as tarefas são diferentes e, nesse local, você precisa aprender algumas redes neurais para que funcionem bem aqui.

Sabemos que existem redes neurais diferentes. Se falamos de números, muitos têm tradutores automáticos em smartphones: apontamos para qualquer texto, e mais ou menos começa a traduzi-lo, independentemente da fonte ou ângulo. Existem essas soluções, o que significa que, usando o placar, você pode treinar uma rede que funcione bem com qualquer placar. Mas terá desvantagens - será difícil, difícil, trabalhará lentamente e, como é universal, a qualidade sofrerá com uma tarefa específica. Portanto, usamos uma abordagem chamada Tutor-Student, na qual um conjunto de redes poderosas para tarefas específicas é incorporado à solução. Por exemplo - separadamente para textos, para algumas alavancas, para indicadores de discagem. Não existem muitos tipos desses dispositivos. Esse sistema funciona por si só, reconhece alguma coisa e oferece ao operador a oportunidade de fazer marcações adicionais, olhar através dos olhos e corrigir 3-5% dos erros que ele vê. E então, com base em um método expresso de marcação gerada, para treinar uma rede já leve que é adaptada à tarefa específica do cliente, de acordo com seus dados. Essa abordagem pode reduzir significativamente o custo de implementação e, ao mesmo tempo, tornar a qualidade quase igual à de um trabalho manual.

Uma malha leve é necessária mais tarde, porque não em todas as empresas existe a capacidade de conectar câmeras de vídeo a algum tipo de sistema de gerenciamento de vídeo. Se houvesse esse VMS, você poderá fazer tudo no servidor, onde o limite de recursos está associado apenas ao custo. E há chips embutidos na câmera de vídeo como Nvidia Jetson e soluções separadas. Em particular, nossa solução funciona no Orange PI, é um tipo de microcomputador Raspberry PI e produz de 8 a 10 quadros por segundo, recebendo uma imagem Full HD na entrada.

Em seguida também é a parte do supermercado. Todos esses dados precisam ser colocados em algum lugar. Ele fornece imediatamente um conjunto de conectores padrão.

Para resumir. Essa produtivização permite que você mova o aprendizado de máquina e a visão computacional para as massas, para um amplo mercado, devido ao baixo custo e aos baixos custos de implementação, sem o uso de especialistas caros e cientistas de dados. Eu acho que esse é o futuro, inclusive na indústria.