AI-For-Beginners/translations/pt-BR/lessons/4-ComputerVision/06-IntroCV/lab/MovementDetection.ipynb

108 lines
3.5 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Detecção de Movimento da Palma usando Fluxo Óptico\n",
"\n",
"Este laboratório faz parte do [Currículo de IA para Iniciantes](http://aka.ms/ai-beginners).\n",
"\n",
"Considere [este vídeo](../../../../../../lessons/4-ComputerVision/06-IntroCV/lab/palm-movement.mp4), no qual a palma de uma pessoa se move para a esquerda/direita/cima/baixo em um fundo estável.\n",
"\n",
"**Seu objetivo** será usar Fluxo Óptico para determinar quais partes do vídeo contêm movimentos para cima/baixo/esquerda/direita.\n",
"\n",
"Comece obtendo os quadros do vídeo conforme descrito na aula:\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Code here"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Agora, calcule os quadros de fluxo óptico denso conforme descrito na aula e converta o fluxo óptico denso para coordenadas polares:\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Code here"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Construa um histograma de direções para cada quadro do fluxo óptico. Um histograma mostra quantos vetores se enquadram em determinado intervalo, e ele deve separar diferentes direções de movimento no quadro.\n",
"\n",
"> Você também pode zerar todos os vetores cuja magnitude esteja abaixo de um determinado limite. Isso eliminará pequenos movimentos extras no vídeo, como olhos e cabeça.\n",
"\n",
"Plote os histogramas para alguns dos quadros.\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Code here"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ao olhar para os histogramas, deve ser bastante simples determinar a direção do movimento. Você precisa selecionar os intervalos que correspondem às direções para cima/baixo/esquerda/direita e que estão acima de um certo limite.\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Code here"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Parabéns! Se você realizou todas as etapas acima, você concluiu o laboratório!\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n---\n\n**Aviso Legal**: \nEste documento foi traduzido utilizando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos para garantir a precisão, esteja ciente de que traduções automatizadas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte autoritativa. Para informações críticas, recomenda-se a tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações equivocadas decorrentes do uso desta tradução.\n"
]
}
],
"metadata": {
"language_info": {
"name": "python"
},
"orig_nbformat": 4,
"coopTranslator": {
"original_hash": "153d9e417e079bf62f8f693002d0deaf",
"translation_date": "2025-08-28T13:14:48+00:00",
"source_file": "lessons/4-ComputerVision/06-IntroCV/lab/MovementDetection.ipynb",
"language_code": "br"
}
},
"nbformat": 4,
"nbformat_minor": 2
}