1. Guida rapida¶
Benvenuto – siamo entusiasti di presentarti la OpenMV Cam, una piccola camera programmabile che esegue Python direttamente sul dispositivo. Scrivi qualche riga di codice, premi esegui e la camera comincia a vedere: rileva volti, traccia colori, legge tag, segue linee – senza alcun PC nel ciclo e senza una pesante configurazione iniziale da affrontare.
Questa guida rapida ti farà partire in pochi minuti: installerai l’IDE, collegherai la tua camera ed eseguirai un rilevatore di volti dal vivo come tuo primissimo script.
1.1. Installa OpenMV IDE¶
OpenMV IDE è l’applicazione desktop per scrivere script, eseguirli sulla camera e guardare i risultati dal vivo. Scaricala per Windows, macOS o Linux qui, quindi installala:
Windows – esegui l’installer. Installa l’IDE insieme ai driver USB della camera; segui le richieste predefinite.
macOS – apri il file
.dmge trascina OpenMV IDE nella cartella Applicazioni.Linux – esegui
chmod +x openmv-ide-*.run && ./openmv-ide-*.run, quindi segui le richieste dell’installer.
Nota
Per configurazioni automatizzate o headless, gli installer si eseguono anche da riga di comando con flag di installazione silenziosa. Consulta il README di openmv-ide per i comandi esatti specifici per ciascuna piattaforma.
1.2. Collega la tua camera¶
Collega la camera al computer con un cavo dati USB. Attendi che la sua unità venga montata e che il LED blu inizi a lampeggiare, quindi fai clic sul pulsante di connessione – l’icona della spina in fondo alla barra degli strumenti.
La prima volta che ti connetti, l’IDE confronta il firmware della camera con la versione con cui è distribuito e propone di aggiornarlo. Accetta la richiesta per flashare il firmware più recente; richiede qualche secondo e l’IDE si riconnette da solo al termine.
Se la camera non viene rilevata, o se vuoi i dettagli su cosa fanno la connessione e l’aggiornamento, consulta Connessione di una camera e Aggiornamento e ripristino del firmware.
Nota
Hai un problema? Pubblica un messaggio sui forum di OpenMV – la community e il team di OpenMV saranno felici di aiutarti.
1.3. Esegui il tuo primo script¶
La tua OpenMV Cam viene fornita con il rilevatore di volti BlazeFace MediaPipe di Google sulla flash. Incolla questo script nell’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")
Premi il pulsante verde Run e punta la camera verso un volto. Il visualizzatore del frame buffer disegna un riquadro attorno a ciascun volto e contrassegna occhi, naso, bocca e orecchie, mentre il terminale seriale stampa il frame rate.
Questo script – e uno per quasi ogni funzionalità della camera – è anche integrato nell’IDE sotto File → Examples, filtrato in base alla tua scheda collegata. Aprine uno, premi esegui e inizia a esplorare ciò che la camera può fare.
1.4. Dove andare dopo¶
Il punto da cui partire dipende da ciò che già conosci. Il tutorial ha tre punti di partenza – nuovo a Python, nuovo all’hardware o pronto per la visione artificiale – quindi scegli quello più adatto a te. I riferimenti e la guida all’IDE sono qui ogni volta che ne hai bisogno.