1. Início rápido

OpenMV Cam

Bem-vindo – estamos entusiasmados por apresentar-lhe a OpenMV Cam, uma câmara pequena e programável que executa Python diretamente no dispositivo. Escreva algumas linhas de código, prima executar, e a câmara começa a ver: detetar faces, rastrear cores, ler etiquetas, seguir linhas – sem PC no circuito e sem configuração pesada para fazer antes.

Este guia de início rápido irá pô-lo a funcionar em poucos minutos: instalará o IDE, ligará a câmara e executará um detetor de faces em direto como o seu primeiro script.

1.1. Instalar o OpenMV IDE

O OpenMV IDE é a aplicação de secretária para escrever scripts, executá-los na câmara e ver os resultados em direto. Faça o download para Windows, macOS ou Linux aqui, e depois instale-o:

  • Windows – execute o instalador. Instala o IDE juntamente com os drivers USB da câmara; siga as instruções predefinidas.

  • macOS – abra o .dmg e arraste o OpenMV IDE para a pasta Aplicações.

  • Linux – execute chmod +x openmv-ide-*.run && ./openmv-ide-*.run e siga as instruções do instalador.

Nota

Para configurações automatizadas ou sem interface gráfica, os instaladores também podem ser executados a partir da linha de comandos com flags de instalação silenciosa. Consulte o README do openmv-ide para os comandos exatos por plataforma.

1.2. Ligar a câmara

Ligue a câmara ao computador com um cabo USB de dados. Aguarde que a sua unidade seja montada e que o LED azul comece a piscar, e depois clique no botão de ligação – o ícone de ficha na parte inferior da barra de ferramentas.

Na primeira ligação, o IDE compara o firmware da câmara com a versão que inclui e oferece-se para o atualizar. Aceite o pedido para instalar o firmware mais recente; demora alguns segundos, e o IDE volta a ligar-se automaticamente quando terminar.

Se a câmara não aparecer, ou se quiser saber os detalhes do que a ligação e a atualização fazem, consulte Ligar uma câmara e Atualizações de firmware e recuperação.

Nota

Ficou preso em algo? Publique nos fóruns OpenMV – a comunidade e a equipa OpenMV estão disponíveis para ajudar.

1.3. Execute o seu primeiro script

A sua OpenMV Cam é fornecida com o detetor de faces BlazeFace da Google na flash. Cole este script no editor:

import csi
import time
import ml
from ml.postprocessing.mediapipe import BlazeFace

# Set up the camera sensor.
csi0 = csi.CSI()
csi0.reset()                # Initialize the sensor to a known state.
csi0.pixformat(csi.RGB565)  # Capture 16-bit colour.
csi0.framesize(csi.QVGA)    # Set a small, fast frame size.

# BlazeFace was trained on square images, so crop to a centred
# square the size of the sensor's height.
side = csi0.height()
csi0.window((side, side))

# Load the built-in face detector. The post-processor turns the
# network's raw output into a list of detections; threshold sets how
# confident a detection must be to count.
model = ml.Model("/rom/blazeface_front_128.tflite",
                 postprocess=BlazeFace(threshold=0.4))

clock = time.clock()        # For measuring the frame rate.
while True:
    clock.tick()
    img = csi0.snapshot()   # Capture one frame.

    # predict() runs the network and returns one
    # ((x, y, w, h), score, keypoints) tuple per detected face.
    for rect, score, keypoints in model.predict([img]):
        # Draw the box around the face...
        ml.utils.draw_predictions(img, [rect], ("face",),
                                  ((0, 0, 255),), format=None)
        # ...and mark the six landmarks: eyes, nose, mouth, ears.
        ml.utils.draw_keypoints(img, keypoints, color=(255, 0, 0))

    print(clock.fps(), "fps")

Prima o botão verde Run e aponte a câmara para uma face. O visualizador do buffer de fotograma desenha uma caixa à volta de cada face e marca os olhos, nariz, boca e orelhas, enquanto o terminal série apresenta a taxa de fotogramas.

Este script – e um para quase todas as funcionalidades da câmara – está também incluído no IDE em File → Examples, filtrado para a sua placa ligada. Abra um, prima executar e comece a explorar o que a câmara consegue fazer.

1.4. Para onde ir a seguir

O ponto de entrada depende do que já sabe. O tutorial tem três pontos de partida – novo em Python, novo em hardware, ou pronto para visão por computador – por isso escolha o que se adequa. As referências e o guia do IDE estão aqui sempre que precisar.