1. Szybki start¶
Witamy – z radością przedstawiamy Ci OpenMV Cam, małą, programowalną kamerę, która uruchamia Pythona bezpośrednio na urządzeniu. Napisz kilka linijek kodu, naciśnij uruchom, a kamera zaczyna widzieć: wykrywać twarze, śledzić kolory, odczytywać znaczniki, podążać za liniami – bez komputera w pętli i bez żmudnej konfiguracji na starcie.
Ten przewodnik szybkiego startu pozwoli Ci ruszyć z miejsca w ciągu kilku minut: zainstalujesz IDE, podłączysz kamerę i jako swój pierwszy skrypt uruchomisz działający na żywo detektor twarzy.
1.1. Zainstaluj OpenMV IDE¶
OpenMV IDE to aplikacja desktopowa do pisania skryptów, uruchamiania ich na kamerze i oglądania wyników na żywo. Pobierz ją dla systemu Windows, macOS lub Linux tutaj, a następnie zainstaluj:
Windows – uruchom instalator. Instaluje on IDE wraz ze sterownikami USB kamery; postępuj zgodnie z domyślnymi monitami.
macOS – otwórz plik
.dmgi przeciągnij OpenMV IDE do folderu Aplikacje.Linux – uruchom
chmod +x openmv-ide-*.run && ./openmv-ide-*.run, a następnie postępuj zgodnie z monitami instalatora.
Informacja
W przypadku zautomatyzowanych lub bezgłowych konfiguracji instalatory można też uruchomić z wiersza poleceń z flagami cichej instalacji. Dokładne polecenia dla poszczególnych platform znajdziesz w pliku README openmv-ide.
1.2. Podłącz kamerę¶
Podłącz kamerę do komputera za pomocą kabla danych USB. Poczekaj, aż jej dysk się zamontuje, a niebieska dioda LED zacznie migać, a następnie kliknij przycisk połączenia – ikonę wtyczki na dole paska narzędzi.
Przy pierwszym połączeniu IDE porównuje oprogramowanie układowe kamery z wersją, z którą jest dostarczane, i proponuje jego aktualizację. Zaakceptuj monit, aby wgrać najnowsze oprogramowanie układowe; trwa to kilka sekund, a IDE samo ponownie się łączy po zakończeniu.
Jeśli kamera się nie pojawia lub chcesz poznać szczegóły tego, co robią połączenie i aktualizacja, zobacz Podłączanie kamery oraz Aktualizacje i odzyskiwanie oprogramowania układowego.
Informacja
Utknąłeś na czymś? Napisz na forum OpenMV – społeczność oraz zespół OpenMV chętnie pomogą.
1.3. Uruchom swój pierwszy skrypt¶
Twój OpenMV Cam jest dostarczany z detektorem twarzy BlazeFace z Google MediaPipe zapisanym w pamięci flash. Wklej ten skrypt do edytora:
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")
Naciśnij zielony przycisk Run i skieruj kamerę na twarz. Podgląd bufora ramki rysuje ramkę wokół każdej twarzy i zaznacza oczy, nos, usta i uszy, a terminal szeregowy wypisuje liczbę klatek na sekundę.
Ten skrypt – oraz po jednym na niemal każdą funkcję kamery – jest również wbudowany w IDE w menu File → Examples, przefiltrowany do podłączonej płytki. Otwórz jeden z nich, naciśnij uruchom i zacznij odkrywać, co potrafi kamera.
1.4. Dokąd dalej¶
To, od czego zaczniesz, zależy od tego, co już wiesz. Samouczek ma trzy punkty startowe – dla początkujących w Pythonie, dla początkujących w sprzęcie oraz dla gotowych na wizję maszynową – więc wybierz ten, który Ci pasuje. Materiały referencyjne i przewodnik po IDE są do Twojej dyspozycji, kiedy tylko będą potrzebne.