AI-For-Beginners/translations/pt-PT/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 sobre um fundo estável.\n",
"\n",
"**O seu objetivo** será usar Fluxo Óptico para determinar quais partes do vídeo contêm movimentos para cima/baixo/esquerda/direita.\n",
"\n",
"Comece por obter os frames 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, calcula os fotogramas de fluxo ótico denso conforme descrito na aula e converte o fluxo ótico 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 frame do fluxo óptico. Um histograma mostra quantos vetores se enquadram em determinados intervalos e deve separar as diferentes direções de movimento no frame.\n",
"\n",
"> Também pode ser útil eliminar todos os vetores cuja magnitude esteja abaixo de um determinado limite. Isso ajudará a remover pequenos movimentos extras no vídeo, como olhos e cabeça.\n",
"\n",
"Faça o gráfico dos histogramas para alguns dos frames.\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Code here"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ao observar os histogramas, deve ser bastante simples determinar a direção do movimento. É necessário selecionar os intervalos que correspondem às direções cima/baixo/esquerda/direita e que estão acima de um determinado limite.\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Code here"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Parabéns! Se concluíste todos os passos acima, terminaste 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, é importante notar que traduções automáticas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autoritária. 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 incorretas decorrentes da utilização desta tradução.\n"
]
}
],
"metadata": {
"language_info": {
"name": "python"
},
"orig_nbformat": 4,
"coopTranslator": {
"original_hash": "153d9e417e079bf62f8f693002d0deaf",
"translation_date": "2025-08-31T11:42:50+00:00",
"source_file": "lessons/4-ComputerVision/06-IntroCV/lab/MovementDetection.ipynb",
"language_code": "pt"
}
},
"nbformat": 4,
"nbformat_minor": 2
}