Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computacional sem misterio

26 views

Published on

OpenCV: Inteligencia artificial e Visão Computacional sem mistério

Published in: Education
  • Be the first to comment

  • Be the first to like this

TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computacional sem misterio

  1. 1. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 1/48 OPENCV: INTELIGÊNCIA ARTIFICIAL E VISÃO COMPUTACIONALOPENCV: INTELIGÊNCIA ARTIFICIAL E VISÃO COMPUTACIONAL SEM MISTÉRIOSEM MISTÉRIO Autor: cabelo@opensuse.org http://palestras.assuntonerd.com.br/opencv2019.html Alessandro de Oliveira Faria
  2. 2. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 2/48    TECNOLOGIA DESDE 1983   TECNOLOGIA DESDE 1983 Autodidata, Pesquisador e Inventor CTO OITI TECHNOLOGIES Embaixador openSUSE America Latina Membro do Conselho OWASP SP Engenheiro Linux openSUSE Colaborador Mozillians Global Innovator Intel Contribuidor técnico o cial: Viva o Linux FOCA Linux OWASP ZAP OpenCV Educatux openSUSE Mais de 90 palestras ministradas
  3. 3. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 3/48
  4. 4. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 4/48 OPENCVOPENCV Uma biblioteca desenvolvida para tornar a Visão Computacional mais acessível. Criada em Intel 1999 ~ 2000, seu código fonte foi disponibilizado na licença BSD, e como resultado atualmente é mantida por 47 mil colaboradores e proporciona mais de 2500 algoritmos otimizados.
  5. 5. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 5/48 OPENCVOPENCV Encontra-se atualmente na versão 4.1.0 no qual participo como desenvolvedor colaborador do projeto e iniciei na versão 0.9.6 faz 15 anos.
  6. 6. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 6/48 OPENCVOPENCV Um dos principais pilares da biblioteca é processamento e reconhecimento da imagens.
  7. 7. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 7/48 OPENCVOPENCV Não é otimizada somente para processadores Intel, entrentanto nesta apresentação veremos muito super cialmente como obter o melhor desempenho em processadores Intel.
  8. 8. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 8/48 DIRETIVAS DE COMPILAÇÃODIRETIVAS DE COMPILAÇÃO cmake -DCMAKE_BUILD_TYPE=Release -DWITH_IPP=ON -DWITH_TBB=ON -DENABLE_FAST_MATH=ON -DINSTALL_PYTHON_EXAMPLES=ON -DENABLE_SSE=ON -DENABLE_SSE2=ON -DCPU_DISPATCH=SSE3,SSE4_1,SSE4_2,AVX,FP16,AVX2 ..
  9. 9. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 9/48
  10. 10. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 10/48 ALGUNS FUNDAMENTOSALGUNS FUNDAMENTOS
  11. 11. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 11/48 VISÃO COMPUTACIONALVISÃO COMPUTACIONAL NENHUM ALGORITMO É 100%NENHUM ALGORITMO É 100% Ambiguidade matemática A margem de erro é inversamente proporcional a qualidade da imagem submetida para processamento
  12. 12. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 12/48
  13. 13. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 13/48
  14. 14. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 14/48
  15. 15. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 15/48 O QUE É IMAGEMO QUE É IMAGEM Imagem digital, é uma matriz que re ete as cores da imagem do mundo real para o universo digital. (convexidade/obturador).
  16. 16. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 16/48 RGBRGB Cores primária onde a combinação dos seus valores resultam em uma vasta gama de cores. Existe outros espaço de cores...
  17. 17. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 17/48 PRÉ PROCESSAMENTO / PROCESSAMENTOPRÉ PROCESSAMENTO / PROCESSAMENTO Pré processamento remoção de ruído e outros ltros. Processamento é uma técnicas capaz de interpretar e extrair informações da imagem.
  18. 18. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 18/48 ESCALA DE CINZAESCALA DE CINZA A escala de cinza, são valores em pixel que informa a intensidade de luminância na imagem (entre preto e branco).
  19. 19. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 19/48 HISTOGRAMAHISTOGRAMA Geralmente utilizado para analise através de grá cos de barras que fornece o nível de cinza dos pixels da imagem.
  20. 20. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 20/48 BINARIZAÇÃOBINARIZAÇÃO Binarização da imagem é geralmente utilizado para separar o fundo com uma regiao / objeto de interesse.
  21. 21. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 21/48 FILTROSFILTROS Muito utilizado na transformação da imagem pixel a pixel, o resultado dependem dos pixels vizinhos. Por exemplo ltro de suavização, utilizada para reduzir ruido
  22. 22. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 22/48 MORFOLOGIA MATEMÁTICAMORFOLOGIA MATEMÁTICA A Erosão é um exemplo muito utilizado para remover impurezas da imagem
  23. 23. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 23/48
  24. 24. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 24/48 RECONHECIMENTO DE PADRÃORECONHECIMENTO DE PADRÃO Necessário uma base de conhecimento dos objetos, estas amostras são utilizada no processo de aprendizado de máquina.
  25. 25. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 25/48 Reconhecimento de padrão, objetos e outros é uma das principais funções da área de visão computacional. Existem muitas técnicas disponíveis na biblioteca OpenCV, Template Matching, Feature Matching, Machine Learning, Deep Learning...
  26. 26. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 26/48 RECONHECIMENTO DE PADRÃORECONHECIMENTO DE PADRÃO
  27. 27. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 27/48 Rastreamento consistem no reconhecimento do padrão em uma sequencia de imagem. O rastreamento esta diretamente relacionado ao movimento do objeto. Filtro Kalman/ Filtro de Particula Mean Shift/ Cam Shift e outros
  28. 28. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 28/48 RASTREAMENTO DE PIXELSRASTREAMENTO DE PIXELS
  29. 29. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 29/48 FLUXO OPTICOFLUXO OPTICO Permite identi car/detectar o movimento espaças e densas entre sequencias de quadros sem conhecer o conteúdo.
  30. 30. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 30/48 FLUXO DE PIXELSFLUXO DE PIXELS
  31. 31. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 31/48 APLICABILIDADEAPLICABILIDADE
  32. 32. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 32/48 OCR E VERIFICAÇÃO DE PROCEDIMENTOSOCR E VERIFICAÇÃO DE PROCEDIMENTOS
  33. 33. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 33/48 CLASSIFICAÇÃO DE DOCUMENTOCLASSIFICAÇÃO DE DOCUMENTO
  34. 34. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 34/48 IDENTIFICAÇÃO DE REMÉDIOSIDENTIFICAÇÃO DE REMÉDIOS
  35. 35. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 35/48 CIDADE INTELIGENTECIDADE INTELIGENTE
  36. 36. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 36/48 LEIS GDPR,LGPD - OWASP SPLEIS GDPR,LGPD - OWASP SP Todo setor de processamento de imagem deve se preparar para a nova lei 13.709 sancionada dia 14 de agosto de 2018, pois a multa chega a 40 MILHÕES40 MILHÕES
  37. 37. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 37/48
  38. 38. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 38/48 YOLOYOLO YOLO (You only look once) é uma nova técnica de reconhecimento de objetos, e utiliza convolução para obter uma excelente performance. DARKNET OPEN SOURCE /NEURAL NETWORKS / CDARKNET OPEN SOURCE /NEURAL NETWORKS / C
  39. 39. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 39/48 RESULTADORESULTADO
  40. 40. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 40/48 SEM MISTÉRIOSEM MISTÉRIO SABOR DE LINUX FAVORITOSABOR DE LINUX FAVORITO OPENCV 3.3.1 OU SUPERIOROPENCV 3.3.1 OU SUPERIOR COMPILADOR C/C++COMPILADOR C/C++ VONTADEVONTADE DE APRENDERDE APRENDER
  41. 41. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 41/48 CAPTURANDO FRAME (VIDEO OU DISCO)CAPTURANDO FRAME (VIDEO OU DISCO) Mat frame; VideoCapture cap; // Parametro = indice do dispositivo de captura cap.open(0); cap >> frame; Mat frame; frame = imread("/tmp/image.jpg");
  42. 42. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 42/48 PROCESSAMENTO DEEPLEARNINGPROCESSAMENTO DEEPLEARNING Net net = readNet(modelPath, configPath); std::vector(String) outNames = net.getUnconnectedOutLayersNames() Size inpSize( frame.cols, frame.rows); blobFromImage(frame,blob,scale,inpSize,Scalar(),false, false); net.setInput(blob); std::vector(Mat) outs; net.forward(outs, outNames); postprocess(frame, outs, net); NMSBoxes(boxes,confidences,confThreshold,nmsThreshold,indices);
  43. 43. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 43/48 OBTENDO AS COORDENADASOBTENDO AS COORDENADAS int centerX = (int)(data[0] * frame.cols); int centerY = (int)(data[1] * frame.rows); int width = (int)(data[2] * frame.cols); int height = (int)(data[3] * frame.rows); int left = centerX - width / 2; int top = centerY - height / 2;
  44. 44. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 44/48 DESENHANDO OS DADOSDESENHANDO OS DADOS rectangle(frame, Point(left, top), Point(right, bottom), Scalar(0, 255, 0),3); putText(frame, label, Point(left, top), FONT_HERSHEY_SIMPLEX, 0.5, Scalar());
  45. 45. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 45/48 SEM MI MI MISEM MI MI MI $ git clone https://github.com/cabelo/my-opencv-examples $ cd my-opencv-examples $ wget https://pjreddie.com/media/files/yolov3.weights $ g++ `pkg-config --cflags opencv --libs opencv` yoloimg.cpp -o yoloimg $ ./yoloimg --image=image-demo.jpg
  46. 46. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 46/48 RESULTADORESULTADO
  47. 47. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 47/48 INFERENCIA MATEMÁTICA AO VIVOINFERENCIA MATEMÁTICA AO VIVO
  48. 48. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 48/48 OBRIGADO!OBRIGADO! Critícas e Sugestiões: cabelo@opensuse.org Blog: https://assuntonerd.com.br “Colaborar atrai amigos, competir atrai inimigos” Alessandro de Oliveira Faria  

×