1. Brzi početak

OpenMV Cam

Dobrodošli – veseli nas što vam možemo predstaviti OpenMV Cam, malu, programabilnu kameru koja pokreće Python izravno na uređaju. Napišite nekoliko redaka koda, pritisnite pokreni i kamera počinje vidjeti: prepoznaje lica, prati boje, čita oznake, slijedi linije – bez računala u petlji i bez složenog postavljanja kroz koje se prvo treba probiti.

Ovaj vodič za brzi početak osposobit će vas za rad u nekoliko minuta: instalirat ćete IDE, povezati svoju kameru i pokrenuti detektor lica uživo kao svoju prvu skriptu.

1.1. Instalirajte OpenMV IDE

OpenMV IDE je desktop aplikacija za pisanje skripti, njihovo pokretanje na kameri i gledanje rezultata uživo. Preuzmite ga za Windows, macOS ili Linux ovdje, a zatim ga instalirajte:

  • Windows – pokrenite instalacijski program. On instalira IDE zajedno s USB upravljačkim programima kamere; slijedite zadane upute.

  • macOS – otvorite .dmg i povucite OpenMV IDE u mapu Applications.

  • Linux – pokrenite chmod +x openmv-ide-*.run && ./openmv-ide-*.run, a zatim slijedite upute instalacijskog programa.

Napomena

Za automatizirana ili headless postavljanja, instalacijski programi također se pokreću iz naredbenog retka uz oznake za tihu instalaciju. Pogledajte openmv-ide README za točne naredbe po platformi.

1.2. Povežite svoju kameru

Priključite kameru u računalo USB podatkovnim kabelom. Pričekajte da se njezin pogon montira i da plavi LED počne treptati, zatim kliknite gumb za povezivanje – ikonu utikača na dnu alatne trake.

Kada se povežete prvi put, IDE uspoređuje firmware kamere s verzijom koja se isporučuje s njim i nudi njegovo ažuriranje. Prihvatite upit da biste flashali najnoviji firmware; traje nekoliko sekundi, a IDE se sam ponovno poveže kada završi.

Ako se kamera ne pojavi ili želite pojedinosti o tome što povezivanje i ažuriranje rade, pogledajte Povezivanje kamere i Ažuriranja i oporavak ugrađenog programa (firmware).

Napomena

Zapeli ste oko nečega? Objavite na OpenMV forumima – zajednica i OpenMV tim rado će pomoći.

1.3. Pokrenite svoju prvu skriptu

Vaš OpenMV Cam isporučuje se s Googleovim MediaPipe BlazeFace detektorom lica na flash memoriji. Zalijepite ovu skriptu u uređivač:

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")

Pritisnite zeleni gumb Run i usmjerite kameru prema licu. Preglednik međuspremnika slike crta okvir oko svakog lica i označava oči, nos, usta i uši, dok serijski terminal ispisuje broj sličica u sekundi.

Ova skripta – i jedna za gotovo svaku značajku koju kamera ima – također je ugrađena u IDE pod File → Examples, filtrirana prema vašoj povezanoj ploči. Otvorite jednu, pritisnite pokreni i počnite istraživati što kamera može.

1.4. Kamo dalje

Gdje ćete uskočiti ovisi o tome što već znate. Vodič ima tri polazne točke – novi u Pythonu, novi u hardveru ili spremni za strojni vid – pa odaberite onu koja vam odgovara. Reference i vodič za IDE tu su kad god vam zatrebaju.