Anúncio
Anúncio

Mais conteúdo relacionado

Similar a TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computacional sem misterio(20)

Mais de tdc-globalcode(20)

Anúncio

Último(20)

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

  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. 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. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 3/48
  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/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. 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. 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. 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. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 9/48
  10. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 10/48 ALGUNS FUNDAMENTOSALGUNS FUNDAMENTOS
  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. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 12/48
  13. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 13/48
  14. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 14/48
  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. 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. 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. 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. 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. 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. 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. 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. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 23/48
  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. 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. 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. 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. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 28/48 RASTREAMENTO DE PIXELSRASTREAMENTO DE PIXELS
  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. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 30/48 FLUXO DE PIXELSFLUXO DE PIXELS
  31. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 31/48 APLICABILIDADEAPLICABILIDADE
  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. 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. 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. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 35/48 CIDADE INTELIGENTECIDADE INTELIGENTE
  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. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 37/48
  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. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 39/48 RESULTADORESULTADO
  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. 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. 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. 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. 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. 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. 5/3/2019 OpenCV : Sem Mistério https://palestras.assuntonerd.com.br/opencv2019.html?print-pdf#/ 46/48 RESULTADORESULTADO
  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. 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  
Anúncio