fbpx
Sigmoidal
  • Home
  • CursosNOVO
  • Sobre Mim
  • Contato
Sem Resultado
Ver Todos Resultados
  • Home
  • CursosNOVO
  • Sobre Mim
  • Contato
Sem Resultado
Ver Todos Resultados
Sigmoidal
Sem Resultado
Ver Todos Resultados
Home Artigos Visão Computacional

Introdução ao MediaPipe e Pose Estimation

Neste artigo você vai conhecer a biblioteca MediaPipe e desenvolver um código em Python capaz de estimar poses humanas a partir de imagens.

Carlos Melo por Carlos Melo
julho 15, 2023
em Visão Computacional
0
Introdução ao MediaPipe e Pose Estimation
18
COMPARTILHAMENTOS
602
VIEWS
Publicar no LinkedInCompartilhar no FacebookCompartilhar no Whatsapp

Baixar o Código Gratuitamente

Para acompanhar este tutorial, faça o download do código clicando no botão abaixo.

Já parou para observar a precisão e o controle rítmico no swing do Tiger Woods no golfe? Ou a meticulosa preparação de Roberto Carlos, ajustando a bola antes de mandar um canhão de esquerda no futebol?

Treinar para qualquer esporte requer disciplina, dedicação e muita, muita repetição. Não se trata apenas de aprender as regras ou técnicas, mas de aprimorar as habilidades até executar movimentos perfeitos.

Meu antigo treinador na Academia da Força Aérea costumava dizer que “somente a repetição, até a exaustão, leva à perfeição”.

Só que para corrigir um movimento errado, primeiro eu preciso saber onde estou errando. É aí que entram os treinadores de alto desempenho, usando vídeos para aprimorar ao máximo o desempenho de seus atletas.

Exemplo de Pose Estimation durante o treino do Theo.

Inspirado pelos treinos de judô do Theo, e como Engenheiro de Visão Computacional, pensei: por que não aplicar criar uma aplicação visual para a estimativa de pose de atletas de alto desempenho?

Bem-vindo ao mundo da estimativa de pose humana! Neste tutorial, você vai conhecer a bilbioteca MediaPipe e aprender como detectar as articulações corporais em imagens.

O que é Pose Estimation?

Imagine ensinar um computador a reconhecer (e entender) poses humanas, assim como um humano faria. Com a Estimativa de Pose Humana (Human Pose Estimation – HPE), podemos alcançar exatamente isso.

Aproveitando o poder dos algoritmos de machine learning (ML) e visão computacional, podemos estimar com precisão as posições das articulações do corpo, como ombros, cotovelos, pulsos, quadris, joelhos e tornozelos.

No âmbito dos esportes, essa tecnologia se mostra muito relevante na supervisão e aprimoramento da postura durante atividades físicas, auxiliando na tanto na prevenção de lesões quanto na elevação do rendimento atlético.

Mas essa é apenas uma das possiblidades de aplicação. Veja algumas outras, extraídas diretamente do site de desenvolvedores do Google.

Aplicações da Estimativa de Pose

No que tange à fisioterapia, por exemplo, a identificação precisa de movimentos e posturas desempenha um papel crucial, facilitando o monitoramento do progresso dos pacientes e oferecendo feedback instantâneo durante o processo de reabilitação.

No setor de entretenimento, as aplicações de realidade aumentada e virtual se beneficiam grandemente desta tecnologia, proporcionando uma interação mais natural e intuitiva ao usuário. Basta ver a hype causada pelo jogo Pokemon Go, ou mais recentemente, pelo Apple Vision Pro.

Técnicas de pose estimation ainda têm aplicações promissoras em análise comportamental, sistemas de vigilância, reconhecimento de gestos e na interação humano-computador, criando um campo de possibilidades ainda a ser explorado.

O que é o MediaPipe?

MediaPipe é uma plataforma de código aberto mantida pelo Google, que oferece um conjunto abrangente de ferramentas, APIs e modelos pré-treinados que facilitam como nunca a construção de aplicações para tarefas como estimativa de pose, detecção de objetos, reconhecimento facial, entre outras.

Sendo multiplataforma, você pode criar pipelines em desktops, servidores, iOS, Android, e embarcá-los em dispositivos como Raspberry Pi e Jetson Nano.

MediaPipe Framework

O MediaPipe Framework é um componente de baixo nível utilizado para a construção de pipelines eficientes de Machine Learning (ML) em dispositivos. Possui conceitos fundamentais como pacotes, gráficos e calculadoras que passam, direcionam e processam dados respectivamente. Escrito em C++, Java e Obj-C, o framework consiste nas seguintes APIs:

  1. Calculator API (C++)
  2. Graph construction API (Protobuf)
  3. Graph Execution API (C++, Java, Obj-C)

MediaPipe Solutions

Já o MediaPipe Solutions, por outro lado, é um conjunto de soluções prontas, exemplos construídos de código aberto baseados em um modelo TensorFlow.

Estas soluções são perfeitas para desenvolvedores que querem rapidamente adicionar capacidades de ML aos seus aplicativos, mas sem ter que criar um pipeline do zero. As soluções prontas estão disponíveis em C++, Python, Javascript, Android, iOS e Coral. Veja na galeria abaixo quais são as soluções disponíveis.

 

1 de 9
- +

1. Detecção de Objetos

2. Detecção de Rostos

3. Classificação de Imagens

4. Marcação de Mãos

5. Detecção de Marcadores Faciais

6. Segmentação de Imagens

7. Incorporação de Imagens

8. Segmentação Interativa

9. Detecção de Marcadores de Pose

Projeto Prático de MediaPipe

Os modelos do MediaPipe Pose podem ser divididos em três categorias principais: baseado em esqueleto, baseado em contorno e baseado em volume.

  1. Modelo baseado em esqueleto
  2. Modelo baseado em contorno
  3. Modelo baseado em volume

MediaPipe Pose adota a abordagem baseada em esqueleto, utilizando a topologia de 33 marcos, conhecidos como landmarks, e derivados do BlazePose.

Em nosso contexto, MediaPipe Pose adota a abordagem baseada em esqueleto, utilizando a topologia de 33 marcos, conhecidos como landmarks, e derivados do BlazePose.

Vale ainda ressaltar que, diferente de modelos como YOLOv8 ou YOLO-NAS que foram estruturados para a detecção de múltiplas pessoas, MediaPipe Pose é uma estrutura voltada para pose estimation de uma única pessoa.

Pré-requisitos

Agora vamos aprender na prática como estimar poses em imagens usando um modelo pronto do MediaPipe. Todo o material e código utilizados neste tutorial podem ser baixados gratuitamente.

Baixar o Código Gratuitamente

Para acompanhar este tutorial, faça o download do código clicando no botão abaixo.

As bibliotecas que serão usadas são OpenCV e MediaPipe. Use o arquivo requirements.txt (fornecido na pasta do código) para prosseguirmos.

pip install -r requirements.txt

Ao executar o bloco de código acima, todas as as dependências necessárias para o projeto serão instaladas de uma maneira conveniente.

# bibliotecas necessárias
import cv2
import mediapipe as mp
import matplotlib.pyplot as plt

Primeiro, importamos as bibliotecas necessárias. A biblioteca cv2 é usada para processamento e manipulação de imagens, enquanto mediapipe é o pacote Python que fornece o framework MediaPipe para a estimativa de pose. Adicionalmente, importamos matplotlib.pyplot para visualizar os resultados posteriormente.

Agora que importamos as bibliotecas necessárias, podemos prosseguir com as próximas etapas em nosso pipeline de estimativa de pose. As soluções em Python são muito fáceis e diretas. Para a tarefa de Pose Estimation, nós iremos seguir essas etapas:

  1. Detectar e desenhar pose landmarks
  2. Desenhar landmark connections
  3. Obter o pixel de coordenada da landmark

Etapa 1: Detectar e desenhar pose landmarks

Nesta etapa,. nós vamos identificar os principais pontos do corpo, ou landmarks, e desenhá-los em nossas imagens e vídeos para uma visualização mais intuitiva.

# Carregando a imagem usando OpenCV.
img = cv2.imread("roberto-carlos-o-melhor-do-mundo.jpg")

# Obtendo a largura e a altura da imagem.
img_width = img.shape[1]
img_height = img.shape[0]

# Criando uma figura e um conjunto de eixos.
fig, ax = plt.subplots(figsize=(10, 10))
ax.axis('off')
ax.imshow(img[...,::-1])
plt.show()

Primeiramente, o código carrega uma imagem usando a função imread do OpenCV. O arquivo de imagem, nomeado “roberto-carlos-o-melhor-do-mundo.jpg”, que se encontra na pasta de arquivos, é lido e armazenado na variável img.

Em seguida, o código recupera a largura e a altura da imagem usando o atributo shape do array img. A largura é atribuída à variável img_width e a altura à variável img_height.

Depois disso, uma figura e um conjunto de eixos são criados usando plt.subplots. O parâmetro figsize define o tamanho da figura para 10×10 polegadas. A linha ax.axis('off') remove os rótulos e marcas do eixo do gráfico. Finalmente, a imagem é exibida nos eixos usando ax.imshow, e plt.show() é chamado para renderizar o gráfico.

# Inicializando os módulos Pose e Drawing do MediaPipe.
mp_pose = mp.solutions.pose
mp_drawing = mp.solutions.drawing_utils

O código inicializa dois módulos do framework MediaPipe: mp_pose e mp_drawing.

O módulo mp_pose fornece a funcionalidade para a estimativa de pose. Ele contém modelos pré-treinados e algoritmos que podem detectar e rastrear poses do corpo humano em imagens ou vídeos. Este módulo é crucial para a realização de tarefas de estimativa de pose usando o MediaPipe.

O módulo mp_drawing, por outro lado, fornece utilitários para desenhar as poses detectadas em imagens ou vídeos. Ele oferece funções para sobrepor os marcos de pose e as conexões na mídia visual, facilitando a visualização e interpretação dos resultados da estimativa de pose.

with mp_pose.Pose(static_image_mode=True) as pose:
    """
    Esta função utiliza a biblioteca MediaPipe para detectar e desenhar 'landmarks'
    (pontos de referência) em uma imagem. Os 'landmarks' são pontos de interesse
    que representam diferentes partes do corpo detectadas na imagem.

    Args:
        static_image_mode: um booleano para informar se a imagem é estática (True) ou sequencial (False).
    """

    # Faz uma cópia da imagem original.
    annotated_img = img.copy()

    # Processa a imagem.
    results = pose.process(img)

    # Define o raio do círculo para desenho dos 'landmarks'.
    # O raio é escalado como uma porcentagem da altura da imagem.
    circle_radius = int(.007 * img_height)

    # Especifica o estilo de desenho dos 'landmarks'.
    point_spec = mp_drawing.DrawingSpec(color=(220, 100, 0), thickness=-1, circle_radius=circle_radius)

    # Desenha os 'landmarks' na imagem.
    mp_drawing.draw_landmarks(annotated_img,
                              landmark_list=results.pose_landmarks,
                              landmark_drawing_spec=point_spec)

Vamos quebrar este bloco de código e entender como ele funciona.

O bloco de código começa com uma instrução with que inicializa a classe mp_pose.Pose do MediaPipe. Esta classe é responsável por detectar e desenhar marcos (pontos-chave) em uma imagem. O argumento static_image_mode é configurado como True para indicar que a imagem sendo processada é estática.

Em seguida, uma cópia da imagem original é criada usando img.copy(). Isso garante que a imagem original não seja modificada durante o processo de anotação.

A função pose.process() é então chamada para processar a imagem e obter os resultados da estimativa de pose. Os resultados contêm os marcos de pose detectados.

O código define o raio do círculo usado para desenhar os marcos com base em uma porcentagem da altura da imagem. Isso permite que o tamanho do círculo seja proporcional ao tamanho da imagem.

Um objeto point_spec é criado usando mp_drawing.DrawingSpec para especificar o estilo de desenho dos marcos. Ele define a cor, a espessura e o raio do círculo dos marcos desenhados.

Finalmente, mp_drawing.draw_landmarks() é chamado para desenhar os marcos na annotated_img usando o estilo especificado e os landmarks obtidos a partir dos resultados.

Este bloco de código demonstra como usar o MediaPipe para detectar e desenhar landmarks em uma imagem. Ele fornece uma representação visual da pose detectada, permitindo-nos analisar e interpretar os resultados da estimativa de pose.

Etapa 2: Desenhar landmarks connection

Além de detectar landmarks individuais, o MediaPipe também permite desenhar conexões entre estes, facilitando a compreensão da postura geral.

# Faz uma cópia da imagem original.
annotated_img = img.copy()

# Especifica o estilo de desenho das conexões dos marcos.
line_spec = mp_drawing.DrawingSpec(color=(0, 255, 0), thickness=2)

# Desenha tanto os pontos dos marcos quanto as conexões.
mp_drawing.draw_landmarks(
    annotated_img,
    landmark_list=results.pose_landmarks,
    connections=mp_pose.POSE_CONNECTIONS,
    landmark_drawing_spec=point_spec,
    connection_drawing_spec=line_spec
    )

Primeiro, é criada uma cópia da imagem original. Em seguida, o estilo para desenhar as conexões entre os marcos é especificado usando a classe mp_drawing.DrawingSpec, com a cor verde e espessura de 2.

Depois, a função mp_drawing.draw_landmarks é chamada para desenhar tanto os pontos dos marcos quanto as conexões na imagem anotada. Ela recebe a imagem anotada, a lista de marcos de pose do objeto de resultados, as conexões predefinidas de mp_pose.POSE_CONNECTIONS, e as especificações de desenho para os marcos e conexões.

Etapa 3: Obter o pixel de coordenada da landmark

Agora nós podemos extrair as coordenadas de pixel correspondentes a cada landmark, permitindo análises mais detalhadas. Estas coordenadas de pixels, quando usadas em conjunto com as conexões entre os marcos, podem ser extremamente úteis para entender a posição e orientação de várias partes do corpo em uma imagem.

Além disso, essas coordenadas podem ser usadas para calcular métricas mais complexas, como a proporção entre diferentes partes do corpo, que pode ser útil em muitas aplicações, como análise biomecânica, criação de avatares virtuais, animação e muito mais.

# Seleciona as coordenadas dos pontos de interesse.
l_knee_x = int(results.pose_landmarks.landmark[mp_pose.PoseLandmark.LEFT_KNEE].x * img_width)
l_knee_y = int(results.pose_landmarks.landmark[mp_pose.PoseLandmark.LEFT_KNEE].y * img_height)

l_ankle_x = int(results.pose_landmarks.landmark[mp_pose.PoseLandmark.LEFT_ANKLE].x * img_width)
l_ankle_y = int(results.pose_landmarks.landmark[mp_pose.PoseLandmark.LEFT_ANKLE].y * img_height)

l_heel_x = int(results.pose_landmarks.landmark[mp_pose.PoseLandmark.LEFT_HEEL].x * img_width)
l_heel_y = int(results.pose_landmarks.landmark[mp_pose.PoseLandmark.LEFT_HEEL].y * img_height)

l_foot_index_x = int(results.pose_landmarks.landmark[mp_pose.PoseLandmark.LEFT_FOOT_INDEX].x * img_width)
l_foot_index_y = int(results.pose_landmarks.landmark[mp_pose.PoseLandmark.LEFT_FOOT_INDEX].y * img_height)

# Imprime as coordenadas na tela.
print('Coordenadas do joelho esquerdo: (', l_knee_x,',',l_knee_y,')' )
print('Coordenadas do tornozelo esquerdo: (', l_ankle_x,',',l_ankle_y,')' )
print('Coordenadas do calcanhar esquerdo: (', l_heel_x,',',l_heel_y,')' )
print('Coordenadas do índice de pé esquerdo: (', l_foot_index_x,',',l_foot_index_y,')' )

O bloco de código acima destaca a extração e impressão de coordenadas específicas dos marcos (landmarks) a partir dos resultados de estimativa de pose.

Primeiramente, o código calcula as coordenadas x e y de quatro pontos de interesse (joelho esquerdo, tornozelo esquerdo, calcanhar esquerdo e índice do pé esquerdo). Vale ressaltar que cada marco (landmark) possui um número específico de acordo com o modelo BlazePose.

Coordenadas do joelho esquerdo: ( 554 , 747 )
Coordenadas do tornozelo esquerdo: ( 661 , 980 )
Coordenadas do calcanhar esquerdo: ( 671 , 1011 )
Coordenadas do índice de pé esquerdo: ( 657 , 1054 )

Depois, multiplicamos as posições normalizadas dos marcos pela largura e altura da imagem. Essas coordenadas são então impressas na tela usando instruções print.

# Exibindo um gráfico com os pontos selecionados.
fig, ax = plt.subplots()
ax.imshow(img[:, :, ::-1])
ax.plot([l_knee_x, l_ankle_x, l_heel_x, l_foot_index_x], [l_knee_y, l_ankle_y, l_heel_y, l_foot_index_y], 'ro')
plt.show()

Por fim, os quatro pontos de interesse são plotados no gráfico como pontos vermelhos usando ax.plot e o gráfico é exibido usando plt.show().

Conclusão

Neste tutorial, exploramos o conceito de estimativa de pose com o MediaPipe. Aprendemos sobre o MediaPipe, um poderoso framework para construir pipelines perceptuais multimodais, e como ele pode ser usado para estimativa de pose humana.

Cobrimos os conceitos básicos de estimativa de pose em imagens e discutimos como interpretar a saída. Especificamente, nós vimos que:

  • MediaPipe é um framework versátil para construir pipelines perceptuais.
  • A estimativa de pose nos permite rastrear e analisar a pose de uma pessoa em uma imagem ou vídeo.
  • Os modelos de estimativa de pose do MediaPipe fornecem coordenadas para várias partes do corpo, possibilitando aplicações em campos como rastreamento de condicionamento físico, realidade aumentada e mais.

Em um próximo tutorial, eu vou te ensinar a aplicar esses conceitos em vídeos para calcular trajetórias e ângulos dentre determinadas partes do corpo.

Tags: deep learningestimativa de posemediapipepose estimationvisão computacional
Post Anterior

O que é Visão Computacional?

Próximo Post

Entrevista com Mário Filho: como conquistar uma vaga no exterior

Carlos Melo

Carlos Melo

Engenheiro de Visão Computacional graduado em Ciências Aeronáuticas pela Academia da Força Aérea (AFA) e Mestre em Engenharia Aeroespacial pelo Instituto Tecnológico de Aeronáutica (ITA).

Relacionado Artigos

O que faz um Engenheiro de Visão Computacional
Visão Computacional

O que faz um Engenheiro de Visão Computacional

por Carlos Melo
agosto 1, 2023
O que é Visão Computacional
Visão Computacional

O que é Visão Computacional?

por Carlos Melo
julho 13, 2023
Construindo Roma em um dia: Reconstrução 3D com Visão Computacional
Visão Computacional

Construindo Roma em um dia: Reconstrução 3D com Visão Computacional

por Carlos Melo
abril 15, 2023
Visão Computacional

ORB-SLAM 3: Tutorial Completo para Mapeamento 3D e Localização em Tempo Real

por Carlos Melo
abril 10, 2023
Visão Computacional

Geometria da Formação de Imagens: Matrizes, Transformações e Sistemas de Coordenadas

por Carlos Melo
março 29, 2023
Próximo Post
Entrevista com Mário Filho: como conquistar uma vaga no exterior

Entrevista com Mário Filho: como conquistar uma vaga no exterior

Deixe um comentário Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Destaques Sigmoidal

NFT e artes criadas por Inteligência Artificial

NFT e artes criadas por Inteligência Artificial

junho 17, 2022
Visão Computacional do zero até uma vaga no exterior

Visão Computacional do zero até uma vaga no exterior

abril 22, 2021
Detector de Fadiga usando Python

Detector de Fadiga usando Python

outubro 6, 2020
Especialização em Visão Computacional Especialização em Visão Computacional Especialização em Visão Computacional

Seguir

  • Camera Tracking, Reconstrução 3D e a Arte da Visão 🎥👁️‍🗨️

O “camera tracking” é uma técnica que permite a análise e reprodução do movimento da câmera em filmagens 2D. 

Esta análise fornece dados vitais sobre a posição e orientação da câmera ao longo do tempo, sendo essencial para a integração de elementos 3D virtuais em visuais 2D. 

A minha jornada acadêmica levou-me ao coração da engenharia de visão computacional, onde explorei tópicos cruciais como lens distortion, camera calibration e image processing. Dediquei-me a técnicas avançadas, abrangendo desde a utilização de filtros Gaussianos, conversão de imagens para grayscale até algoritmos de keypoint detection. 

No decorrer de meus estudos, tive a chance de trabalhar com métodos clássicos, como “Harris Corner Detection”, e também com abordagens mais contemporâneas como ORB, além de descritores como SIFT, SURF e BRISK.

Mas apesar da minha formação predominantemente técnica, centrada no mundo dos modelos quantitativos e da modelagem matemática, identifiquei um diferencial valioso na trilha da visão computacional.

🎨 Esse diferencial foi a capacidade de não se limitar apenas ao lado técnico. Ao contrário, busquei uma fusão entre a precisão técnica e a sensibilidade artística.

Compreendi que a verdadeira inovação surge quando se une o rigor técnico à visão criativa. Nessa intersecção, a arte e a ciência dançam juntas, produzindo resultados que são ao mesmo tempo precisos e emocionalmente impactantes.

Como o escritor A. D. Sertillanges expressou tão eloquentemente, nossa vocação como seres humanos exige que primeiro estejamos profundamente enraizados em nossa humanidade, viajando com confiança e solidez:

💬 “Toda ciência, quando cultivada isoladamente, não é apenas incompleta, mas também repleta de riscos.”

Serve como um lembrete constante de que dentro de cada tarefa computacional e linha de código existe uma miríade de histórias, prontas para serem reveladas e compartilhadas. 

#machinelearning #visãocomputacional
  • 🤖Você já testou essa ferramenta? 

Prece mentira, mas você pode gravar um vídeo seu agora mesmo, e subir nesse site para ele dublar para inglês e várias outras línguas! 🇺🇸🇪🇸🇧🇷🇩🇪

E não apenas isso! Ele sincroniza inclusive os seus lábios para ficar o mais real possível. 

O que você achou? Que tal testar agora mesmo e me mandar?

#machinelearning #inteligenciaartificial
  • ‘Eu nasci assim, eu cresci assim, vou sempre usar arquivos CSV…’ 🎶

Será mesmo? Se a síndrome de Gabriela te prende aos antigos e gigantes arquivos CSV, é hora de repensar! 🤔

Calma, não me entenda mal. Eu uso arquivos CSV para muitas coisas, mesmo! Mas permita-me apresentar um formato que já é bem conhecido pelos engenheiros de dados, mas que, por algum motivo, ainda não é muito famoso entre os cientistas de dados.

O principal problema do CSV é sua estrutura. Eles são armazenados como uma lista de linhas (conhecido como orientado a linhas), o que causa duas grandes complicações: eles são lentos para consultar e, para complicar ainda mais, SQL e CSV simplesmente não se dão bem.

Agora, entre em cena o Parquet: um formato orientado a colunas. Diferentemente dos CSVs, ele organiza seus dados por colunas, o que facilita e agiliza a consulta.

Além disso, é um formato de código aberto, licenciado sob Apache, o que o torna uma opção atrativa não apenas pela sua eficiência, mas também pela flexibilidade e transparência. Engenheiros de dados já se beneficiam das vantagens do Parquet há algum tempo, então por que os cientistas de dados não dariam uma chance também?

Se você é um cientista de dados e ainda não experimentou o Parquet, talvez seja o momento de se aventurar. E aí, já conhecia essa alternativa? Deixe seus comentários! 🚀

#machinelearning #datascience  #visaocomputacional
  • Eu não aprendi a estudar do dia para a noite.

Foram anos de aprimoramento e busca contínua por um método que me permitisse aprender qualquer coisa sozinho.

Nessa sequência de stories eu conto um pouco da minha trajetória, passando pela AFA, ITA e aprendizado de línguas. 

Se você ainda não tem o hábito da leitura, mas gostaria de aprender qualquer coisa rapidamente, como autodidata, você não pode perder a live de hoje. 

🔴AULA AO VIVO (hoje, às 20 horas)

✅Como criar uma rotina de estudo
✅Como criar resumos e notas de revisão
✅Como manter o foco e a concentração
✅Técnicas de Ultra-Aprendizado

Clique no link dos stories e ative a notificação da aula!
  • 📚Ao contrário do que o senso comum pode te induzir a pensar, você não pode querer apenas estudar livros técnicos. 

Ler e memorizar demandam a construção de múltiplas habilidades em diferentes dimensões. Afinal, você precisa crescer não apenas na vida profissional, mas também na humana, espiritual e familiar. 

No entanto, a escolha de livros errados podem prejudicar perigosamente a formação do conhecimento intelectual.

Por esse motivo, aqui vai uma sugestão de livros para aqueles que querem começar uma vida de estudos. 

E se você quiser aprender mais sobre como melhorar sua memória, elaborar resumos da maneira correta e manter o foco na leitura, mande uma mensagem por direct com a palavra “ESTUDO”. 

Depois que você enviar a palavra “estudo”, eu vou te encaminhar o link da aula exclusiva que eu farei sobre o assunto. 

Agora me diz, quais desses livros você já leu? Ou está na fila para leitura?

#leitura #estudos #machinelearning #computervision
  • ORB-SLAM é um sistema SLAM (Localização e Mapeamento Simultâneos) de última geração que utiliza uma combinação de métodos baseados em características e métodos diretos para alcançar desempenho em tempo real em diversas plataformas. Foi concebido por pesquisadores da Universidade de Zaragoza, Espanha, e agora é amplamente adotado tanto na academia quanto na indústria.

O nome ORB-SLAM deriva do seu uso de características Oriented FAST e Rotated BRIEF (ORB) para detectar e combinar pontos-chave em imagens. Essas características, juntamente com outras técnicas como fechamento de loop e otimização de pose, garantem uma localização e mapeamento robustos e precisos.

Graças à sua combinação de métodos baseados em características e diretos, juntamente com suas capacidades em tempo real e compatibilidade versátil de plataforma, ORB-SLAM destaca-se como um recurso inestimável para profissionais em visão computacional e robótica.

Ansioso para aprender como implementar o ORB-SLAM 3, desde sua instalação até a execução do sistema usando seus dados? Acesse o blog do sigmoidal e veja o tutorial com o passo a passo que eu preparei.

https://sigmoidal.ai

#visãocomputacional #machinelearning #slam #opencv
  • Filhos não são um direito, mas um dom de Deus. E hoje fomos abençoados com o nascimento da Bettina. 

Já te amamos muito, minha Pycotinha!
  • Sorria, você está sendo filmado (e analisado pela Visão Computacional)! Estimação de velocidade, fluxo óptico de pedestres e veículos, identificação de objetos abandonados, análise de comportamentos, cruzamento de dados com a base da polícia... quais outras possibilidades você enxerga?
Instagram Youtube LinkedIn Twitter
Sigmoidal

O melhor conteúdo técnico de Data Science, com projetos práticos e exemplos do mundo real.

Seguir no Instagram

Categorias

  • Artigos
  • Blog
  • Carreira
  • Colunistas
  • Cursos
  • Data Science
  • Deep Learning
  • Destaques
  • Entrevistas
  • Inglês
  • Iniciantes
  • Inteligência Artificial
  • Livros
  • Machine Learning
  • Notícias
  • Outros
  • Projetos
  • Python
  • Teoria
  • Tutoriais
  • Visão Computacional
  • Youtube

Navegar por Tags

camera calibration cancer carreira cientista de dados cnn computer vision Cursos dados desbalanceados data science data science na prática decision tree deep learning gis gpt-3 healthcare image formation iniciantes jupyter kaggle keras machine learning matplotlib medicina mnist nft opencv pandas personal branding portfólio profissão python redes neurais redes neurais convolucionais regressão logística salário seaborn sklearn tensorflow titanic tutorial vagas visão computacional vídeo youtube árvore de decisão

© 2023 Sigmoidal - Aprenda Data Science e Python na prática.

Sem Resultado
Ver Todos Resultados
  • Home
  • Cursos de Visão Computacional, Data Science e Python
  • Artigos
  • YouTube
  • Sobre Mim
  • Contato

© 2023 Sigmoidal - Aprenda Data Science e Python na prática.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In

Add New Playlist

Aprenda Python do Zero

50% Off

Oferta exclusiva de aniversário do Sigmoidal. Inscreva-se no curso Python do Zero hoje mesmo.

QUERO APROVEITAR O DESCONTO