O que você está procurando pode estar relacionado ao "rastreamento de blob". É uma técnica comumente usada em robótica e processamento de visão.
Dependendo dos chops de programação, você pode usar o OpenCV (bibliotecas de visão computacional de código aberto) disponível em C ++ e Python. Outros idiomas podem ter bibliotecas que oferecem suporte ao rastreamento de blob. Acredito que o LabVIEW e o Matlab também tenham bibliotecas para dar suporte a isso.
Geralmente, a configuração será um computador processando o vídeo e localizando um blob (você) de uma cor específica. Você pode usar as informações da posição do blob no quadro da câmera para determinar para onde apontar a câmera. Se você estiver, por exemplo, dirigindo o servo na câmera com um Arduino (ou qualquer outro microcontrolador), poderá enviar comandos pela porta serial para atualizar a posição desejada da câmera. Quando o blob deixa alguma "caixa" desejada no centro do quadro.
Se desejar, você pode fazer um rastreamento mais inteligente implementando alguma combinação de controle Proporcional, Integral e Derivativo (PID, se você estiver pesquisando na Internet), para tentar manter-se centrado no quadro, mas isso pode ser mais do que você precisa para sua aplicação.
Edit: Um pouco de pesquisa produziu este resultado: Aplicativos Criativos . Esta é mais ou menos a solução que expliquei.