1. Bắt đầu nhanh

OpenMV Cam

Chào mừng -- chúng tôi rất vui khi giới thiệu với bạn OpenMV Cam, một camera nhỏ có thể lập trình chạy Python ngay trên thiết bị. Viết vài dòng code, nhấn chạy, và camera bắt đầu nhìn thấy: phát hiện khuôn mặt, theo dõi màu sắc, đọc thẻ, theo dõi đường kẻ -- không cần PC trong vòng lặp và không cần cài đặt nặng nề trước.

Hướng dẫn bắt đầu nhanh này sẽ giúp bạn cài đặt và chạy trong vài phút: bạn sẽ cài IDE, kết nối camera và chạy một bộ phát hiện khuôn mặt trực tiếp làm tập lệnh đầu tiên.

1.1. Cài đặt OpenMV IDE

OpenMV IDE là ứng dụng máy tính để bàn để viết tập lệnh, chạy chúng trên camera và xem kết quả trực tiếp. Tải về cho Windows, macOS hoặc Linux tại đây, sau đó cài đặt:

  • Windows -- chạy trình cài đặt. Nó cài đặt IDE cùng với driver USB của camera; làm theo các hướng dẫn mặc định.

  • macOS -- mở tệp .dmg và kéo OpenMV IDE vào thư mục Applications.

  • Linux -- chạy chmod +x openmv-ide-*.run && ./openmv-ide-*.run, sau đó làm theo hướng dẫn của trình cài đặt.

Ghi chú

Để cài đặt tự động hoặc không giao diện, các trình cài đặt cũng có thể chạy từ dòng lệnh với cờ cài đặt im lặng. Xem openmv-ide README để biết các lệnh cụ thể cho từng nền tảng.

1.2. Kết nối camera của bạn

Cắm camera vào máy tính bằng cáp USB dữ liệu. Chờ ổ đĩa của nó được gắn kết và đèn LED xanh bắt đầu nhấp nháy, sau đó nhấn nút kết nối -- biểu tượng phích cắm ở cuối thanh công cụ.

Lần đầu tiên kết nối, IDE so sánh firmware của camera với phiên bản đi kèm và đề nghị cập nhật. Chấp nhận yêu cầu để flash firmware mới nhất; quá trình này mất vài giây và IDE tự động kết nối lại khi hoàn tất.

Nếu camera không hiển thị, hoặc bạn muốn biết chi tiết về những gì kết nối và cập nhật làm, xem Kết nối cameraCập nhật firmware và khôi phục.

Ghi chú

Bị kẹt ở đâu đó? Đăng lên diễn đàn OpenMV -- cộng đồng và nhóm OpenMV sẵn lòng giúp đỡ.

1.3. Chạy tập lệnh đầu tiên của bạn

OpenMV Cam của bạn đi kèm với bộ phát hiện khuôn mặt BlazeFace của Google trên flash. Dán tập lệnh này vào trình soạn thảo:

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

Nhấn nút Run màu xanh và hướng camera vào một khuôn mặt. Bộ xem bộ đệm khung hình vẽ hộp giới hạn xung quanh mỗi khuôn mặt và đánh dấu mắt, mũi, miệng và tai, trong khi terminal nối tiếp in tốc độ khung hình.

Tập lệnh này -- và một tập lệnh cho hầu hết mọi tính năng camera có -- cũng được tích hợp trong IDE dưới File → Examples, được lọc theo bo mạch đang kết nối. Mở một tập lệnh, nhấn chạy và bắt đầu khám phá những gì camera có thể làm.

1.4. Tiếp theo là gì

Bạn bắt đầu từ đâu phụ thuộc vào những gì bạn đã biết. Hướng dẫn có ba điểm xuất phát -- mới với Python, mới với phần cứng, hoặc đã sẵn sàng cho thị giác máy -- vì vậy hãy chọn điểm phù hợp. Tài liệu tham khảo và hướng dẫn IDE luôn ở đây khi bạn cần.