top of page

TCC: Identificação de Eletrodomésticos com Base no Consumo de Corrente Elétrica Utilizando Aprendizagem Profunda.

  • Foto do escritor: Victor Manoel Araújo
    Victor Manoel Araújo
  • 8 de jun.
  • 6 min de leitura

Discente: Caio Séjour Araujo

Orientador: Profa. Dra. Eliana Pantaleão

Título: Identificação de eletrodomésticos com base no consumo de corrente elétrica utilizando aprendizagem profunda.



Este Trabalho de Conclusão de Curso feito pelo Caio Séjour Araujo tem como objetivo estudar uma implementação prática para trazer a informação sobre quais eletrodomésticos mais consomem energia dentro de um ambiente residencial, por meio de inteligência artificial. Outra proposta, é poder oferecer também a informação sobre o valor da conta de luz, antes mesmo de ser informada pela concessionária. Aliados, estes dados podem entregar, de forma objetiva, o controle de um consumo mais consciente por parte da população.


Introdução


A energia elétrica é uma das principais fontes de energia utilizadas pelo ser humano, estando relacionada ao crescente desenvolvimento das sociedades e ao aumento da qualidade de vida da população global. Ainda que o Brasil seja um país de grandes recursos naturais renováveis, e que consiga altas produções energéticas, ainda existem problemas quanto ao fornecimento de energia no país. Ademais, o custo associado ao consumo de energia elétrica se mostra como uma preocupação recorrente. Seja por parte das fornecedoras de energia, ou por parte do consumidor final, saber o quanto se gasta de energia a qualquer momento pode ser bastante proveitoso. Mais do que isto, entender de onde vêm os maiores consumos é essencial para se ter uma utilização mais eficiente e mais inteligente da energia. 

Reconhecer o padrão de consumo de diferentes eletrodomésticos, quando ligados isoladamente ou em conjunto, para validar as hipóteses de que cada um possui uma assinatura de corrente, e que com ela, é possível identificá-los e diferenciá-los e que se consegue identificar no espectro de frequência, as componentes que identificam cada equipamento, podendo assim, com a análise do espectro, entender quais dispositivos estão ligados à rede. 

Este projeto visa estudar técnicas de reconhecimento de padrões no consumo de corrente elétrica por meio de algoritmos de Inteligência Artificial (IA).


Materiais e Métodos


Para a implementação deste projeto, foram realizadas duas grandes etapas: a de aquisição dos dados, e a de reconhecimento de padrão com redes neurais. Na etapa de aquisição dos dados, existe também a parte de tratamento e padronização. O diagrama da Figura 1 mostra uma visão geral da sequência realizada.


Figura 1- Diagrama visual das etapas para implementação do projeto.


Inicialmente escolheram-se grupos de equipamentos que provavelmente teriam comportamentos distintos quanto ao consumo de corrente elétrica. Dentro de cada grupo, escolheram-se equipamentos que provavelmente teriam comportamentos semelhantes, ou próximos, por terem uma mesma função. Esta primeira etapa visa validar de forma visual tais comportamentos, de forma a tentar identificar padrões a olho nu, entre equipamentos semelhantes, e também conseguir diferenciar equipamentos de funções distintas. Foram escolhidos os seguintes equipamentos, representados na Figura 2.


Figura 2 - Aparelhos eletroeletrônicos selecionados para o experimento.


Em sequência, foi feita a escolha do instrumento para medir os sinais elétricos. Tal escolha teve como ponto de partida a frequência de amostragem (Fs) mínima para aquisição dos dados. Esta Fs deve ter uma ordem de grandeza que obedeça ao teorema de Nyquist, em que Fs deve ser pelo menos duas vezes maior do que a máxima frequência do sinal amostrado.

Todos os instrumentos de medição utilizados foram fornecidos pelo Laboratório de Eletrônica do curso de Engenharia Eletrônica e de Telecomunicações da Universidade Federal de Uberlândia - Campus Patos de Minas. O modelo do osciloscópio utilizado é o Keysight MSOX2004A de 70MHz. Utilizou-se para a leitura, uma ponteira CP62 da BK Precision, adaptada para medição de corrente elétrica por indução.

Escolheu-se a linguagem Java Script (JS) juntamente com seu ambiente de execução Node.js, por serem bastante difundidos e por se ter uma grande comunidade de utilização e apoio, além da familiaridade com a linguagem por parte do autor, o que traria agilidade e melhor entendimento com a parte técnica da implementação. 

De posse das medições de corrente de todos os equipamentos, foi preciso padronizar os dados para que as entradas da rede neural tivessem o mesmo formato. Como o método escolhido para o treinamento foi o de que para cada sinal se tivessem vários neurônios na entrada onde cada um deles representa uma frequência do sinal, todos os dados precisam ter a mesma quantidade de frequências, e estas precisam estar igualmente espaçadas e com os mesmos valores no eixo das abscissas, para todos os equipamentos. Assim, o primeiro passo foi extrair o espectro de frequências de cada sinal. 

Para esta aplicação, a rede neural foi construída de forma a ter muitos neurônios na camada de entrada, onde cada um deles está associado a uma frequência da FFT. Foram testadas algumas variações de implementação para se comparar e descobrir qual a forma em que a rede neural entrega um melhor resultado. O objetivo de tais testes foi de descobrir se era melhor para um resultado final de classificação, usar ou não a média móvel, descobrir qual a quantidade de réplicas ruidosas se precisava usar, e também a partir de qual quantidade já se passava a não fazer mais diferença. 

Após a primeira configuração, o próximo passo é a alternância entre as arquiteturas das redes. Viu-se que todas as redes performaram melhor com relação à quantidade de acertos quando tinham uma função de ativação softmax nas camadas de saída. Esta função de ativação é recomendada para casos onde se deseja classificar elementos com relação a alguma probabilidade. Quando comparada com outras funções de ativação nas camadas de saída, independente da arquitetura da rede, a função softmax trouxe melhores taxas de acerto em todos os casos, sendo assim esta também uma configuração inalterada daqui por diante. 


Figura 3 - Configuração de todos os testes a serem realizados.


Para o desenvolvimento dos códigos deste trabalho, utilizou-se uma arquitetura de camadas, separadas por uma dinâmica semelhante ao que acontece no conceito de orientação a objetos, em que as funções que executam tarefas importantes ficam em arquivos separados, e organizadas por "classes", ou, neste caso, por "tipos de trabalho".


Figura 4 - Arquitetura do código.


Resultados


Após a implementação e execução dos códigos, obtiveram-se diferentes resultados para os diferentes tipos de redes neurais utilizadas. Para todos os testes realizados, as taxas de acerto foram sempre superiores quando o equipamento a ser predito participava do grupo de treinamento. Para a rede neural não convolucional, as taxas de acerto para todos os equipamentos, tanto nas análises que incluíam o equipamento a ser predito no grupo de treinamento, quanto nas que excluíam, podem ser vistas na Figura 5. Observa-se que para a maior parte dos equipamentos, a taxa de acerto no caso de incluído foi próxima a 50%, o que demonstra uma razoável eficácia deste modelo, visto que o problema tem 3 classes. Para o caso de excluído, este tipo de rede não se mostrou eficiente, apresentando uma taxa de acerto próxima de 37%.


Figura 5 -Taxa de acerto da rede não convolucional.


Para a implementação da rede convolucional com uma função de ativação ReLU nos neurônios da camada de entrada, os resultados podem ser vistos na Figura 6. Observa-se um aumento expressivo na taxa de acerto geral, quando comparado com a rede não convolucional. Neste caso, tanto para os testes com inclusão quanto para os com exclusão, a maior parte dos equipamentos tiveram sua taxa de acerto acima de 50%. Quando analisado somente o caso de quando incluso, quase todos os resultados foram próximos de 100%, o que mostra uma ótima eficácia deste tipo de rede.


Figura 6 -Taxa de acerto da rede convolucional ReLU.


Para a implementação da rede convolucional com função de ativação Sigmoid nos neurônios da camada de entrada, os resultados podem ser observados na Figura 7. Esta rede mostrou os melhores resultados de todos os testes. Pode-se observar uma taxa de acerto de 100% em todos os eletrodomésticos para o caso de incluído, e uma taxa de acerto de 100% em onze dos doze equipamentos. Houve apenas um dos equipamentos em que a taxa de acerto foi de 0%. Este erro isolado se deve ao fato de a rede "confundir" um modelo específico de lâmpada fluorescente com um carregador, pois os resultados individuais de cada teste mostraram que o resultado desta análise sempre convergiu para classificar esta lâmpada como um carregador.


Figura 7 - Taxa de acerto da rede convolucional Sigmoid.


Conclusão


A rede neural corretamente configurada e os dados tratados da forma adequada, foram capazes de atingir o objetivo deste trabalho: classificar um eletrodoméstico com base no seu padrão de consumo de corrente elétrica. Observou-se que a rede convolucional com função de ativação sigmoid nos neurônios da camada de entrada resultou em uma melhor taxa de acerto quando comparada às outras implementações.

Para que tal resultado pudesse ser atingido, foi necessário coletar amostras de corrente de diferentes equipamentos, padronizar os dados por meio de uma série de processos e por fim submeter os dados a uma rede neural arquitetada para este tipo de situação.  Pode-se observar que em todos os casos a rede tem uma taxa de acerto maior para o caso de incluído, mas ainda sim, conseguiu-se atingir resultados satisfatórios para o caso de excluído com a configuração convolucional com função sigmoid.


 
 
 

Comments


  • Instagram
  • Facebook
  • YouTube

Programa Robopatos

UFU Campus Patos de Minas

Apoio: PROEXC - PEIC, CNPq e FAPEMIG

©2023 por Robopatos. Orgulhosamente criado com Wix.com

bottom of page