OpenMV Cam là một bo mạch vi điều khiển nhỏ gọn, tiêu thụ điện năng thấp, cho phép bạn dễ dàng triển khai các ứng dụng sử dụng thị giác máy tính trong thực tế. Bạn lập trình cho OpenMV Cam bằng các kịch bản Python cấp cao (nhờ Hệ điều hành MicroPython) thay vì C/C++. Điều này giúp xử lý các đầu ra phức tạp của thuật toán thị giác máy và làm việc với cấu trúc dữ liệu cấp cao trở nên dễ dàng hơn. Tuy nhiên, bạn vẫn hoàn toàn kiểm soát được OpenMV Cam và các chân I/O của nó thông qua Python. Bạn có thể dễ dàng kích hoạt chụp ảnh và quay video dựa trên các sự kiện bên ngoài hoặc thực thi thuật toán thị giác máy để xác định cách điều khiển các chân I/O của mình.
OpenMV Cam có các tính năng:
- STM32H743VIBộ xử lý ARM Cortex M7 hoạt động ở tần số 480 MHz với 1MB SRAM và 2MB bộ nhớ flash. Tất cả các chân I/O xuất ra điện áp 3.3V và chịu được điện áp 5V. Bộ xử lý có các giao diện I/O sau:
- Một giao diện USB tốc độ tối đa (12Mbps) kết nối với máy tính của bạn. Khi được cắm vào, OpenMV Cam của bạn sẽ xuất hiện dưới dạng Cổng COM Ảo và Ổ Đĩa Flash USB.
- Một ổ cắm thẻ μSD có khả năng đọc/ghi 100Mbps, cho phép OpenMV Cam của bạn chụp ảnh và dễ dàng tải các tài nguyên thị giác máy từ thẻ μSD.
- Một bus SPI có thể hoạt động lên đến 80Mbps, cho phép bạn dễ dàng truyền dữ liệu hình ảnh từ hệ thống đến LCD Shield, WiFi Shield hoặc một vi điều khiển khác.
- Một Bus I2C (lên đến 1Mb/s), Bus CAN (lên đến 1Mb/s) và một Bus Nối tiếp Không đồng bộ (TX/RX, lên đến 7.5Mb/s) để giao tiếp với các vi điều khiển và cảm biến khác.
- Một ADC 12-bit và một DAC 12-bit.
- Ba chân I/O để điều khiển servo.
- Ngắt và PWM trên tất cả các chân I/O (có 10 chân I/O trên bo mạch).
- Và, một đèn LED RGB cùng hai đèn LED hồng ngoại công suất cao 850nm.
- Hệ thống mô-đun camera có thể tháo rời, hỗ trợ giao tiếp song song 8-bit, cho phép OpenMV Cam H7 kết nối với các cảm biến khác nhau:
- Máy ảnh OpenMV Cam H7 đi kèm vớiMT9M114Cảm biến hình ảnh có khả năng chụp ảnh thang độ xám 8-bit 640x480 hoặc ảnh BAYER 8-bit 640x480 ở tốc độ 40 khung hình/giây khi độ phân giải trên 320x240 và 80 khung hình/giây khi dưới mức đó. Hầu hết các thuật toán đơn giản sẽ chạy ở tốc độ 40-80 FPS trên độ phân giải QVGA (320x240) và thấp hơn. Cảm biến hình ảnh của bạn đi kèm với ống kính 2.1mm trên ngàm ống kính M12 tiêu chuẩn. Nếu bạn muốn sử dụng các ống kính chuyên dụng hơn với cảm biến hình ảnh của mình, bạn có thể dễ dàng mua và tự lắp đặt chúng.
- Đối với các ứng dụng thị giác máy chuyên nghiệp, bạn có thể mua sản phẩm của SingTownmô-đun camera màn trập toàn cầu mt9V034SingTown
- Đối với các ứng dụng thị giác máy chụp ảnh nhiệt hồng ngoại, bạn có thể mua sản phẩm của chúng tôiMô-đun chụp ảnh nhiệt FLIR LeptonSingTown
- Giao diện pin lithium-ion 3.7V, bạn có thể mua SingTown của chúng tôiPin lithium-ion 3.7V-1000MAH
Để biết thêm thông tin về OpenMV Cam, vui lòng truy cập:https://singtown.com/openmv/
Ứng dụng
Hiện tại, camera OpenMV có thể được sử dụng cho các mục đích sau (và sẽ có thêm nhiều tính năng khác):
- Phát Hiện Đối Tượng Bằng Mạng Nơ-ron
- Bạn có thể sử dụng OpenMV để huấn luyện mạng nơ-ron nhằm phát hiện đối tượng, huấn luyện bất kỳ mục tiêu nào bạn muốn phát hiện. Ví dụ, các số khác nhau, các loại trái cây khác nhau, các điểm đánh dấu khác nhau, các bộ phận khác nhau, hoặc bất kỳ mục tiêu cụ thể không đều nào đều có thể được huấn luyện để xác định số lượng, tọa độ và tên loại đối tượng của các mục tiêu cụ thể.
- Bạn có thể phát hiện biển báo giao thông trên đường thực tế dựa trên các video hướng dẫn của chúng tôi, chẳng hạn như cấm bóp còi, cấm đỗ xe, giới hạn tốc độ 80, v.v./learn/50918
- Phân Loại Mạng Nơ-ron
- Bạn có thể sử dụng OpenMV để huấn luyện mạng nơ-ron nhằm phát hiện đối tượng, huấn luyện bất kỳ mục tiêu nào bạn muốn phát hiện. Ví dụ, các số khác nhau, các loại trái cây khác nhau, các điểm đánh dấu khác nhau, các bộ phận khác nhau, hoặc bất kỳ mục tiêu cụ thể không đều nào đều có thể được huấn luyện để nhận diện số lượng, tọa độ và tên loại đối tượng của các mục tiêu cụ thể.
- Nó có thể phân loại liệu một người có đang đeo khẩu trang hay không dựa trên hướng dẫn video của SingTown./learn/50872
- TensorFlow Lite dành cho Vi điều khiển
- TensorFlow Lite hỗ trợ cho phép bạn chạy các mô hình phân loại hình ảnh và phân đoạn tùy chỉnh trên OpenMV Cam. Với TensorFlow Lite, bạn có thể dễ dàng phân loại các khu vực phức tạp trong hình ảnh và điều khiển các chân 1/0 dựa trên những gì bạn nhìn thấy.

- Phân Biệt Khung Hình
- Bạn có thể sử dụng thuật toán phân biệt khung hình trên OpenMV Cam để phát hiện chuyển động trong một cảnh. Phân biệt khung hình có thể được sử dụng cho các ứng dụng an ninh.
- Theo dõi Màu sắc
- Bạn có thể sử dụng OpenMV để phát hiện đồng thời tối đa 16 màu trong một hình ảnh (mặc dù bạn sẽ không bao giờ muốn tìm nhiều hơn 4 màu), và mỗi màu có thể có bất kỳ số lượng vùng màu khác nhau. OpenMV sẽ cho bạn biết vị trí, kích thước, tâm và hướng của từng vùng màu. Sử dụng tính năng theo dõi màu sắc, OpenMV Cam của bạn có thể được lập trình để theo dõi mặt trời, đi theo đường kẻ, theo dõi mục tiêu và hơn thế nữa. Video minh họa:/learn/49993

- Marker Tracking
- Bạn có thể sử dụng OpenMV Cam để phát hiện nhóm màu thay vì từng màu riêng lẻ. Điều này cho phép bạn đặt thẻ màu (nhãn có 2 hoặc nhiều màu) lên các vật thể, và OpenMV sẽ ghi nhận nội dung của các vật thể được gắn thẻ.
- Phát Hiện Khuôn Mặt
- Bạn có thể sử dụng OpenMV Cam để phát hiện khuôn mặt (hoặc bất kỳ đối tượng chung nào). Camera OpenMV của bạn có thể xử lý các mẫu Haar để phát hiện đối tượng chung và được tích hợp sẵn các mẫu Haar Mặt Chính Diện và Mắt để phát hiện khuôn mặt và mắt./learn/50013
- Theo dõi mắt
- Bạn có thể sử dụng công nghệ theo dõi mắt để phát hiện hướng ánh nhìn của một người. Bạn có thể dùng nó để điều khiển robot. Công nghệ theo dõi mắt phát hiện vị trí đồng tử đồng thời xác định xem có mắt trong hình ảnh hay không.
- Phát Hiện Người
- Bạn có thể sử dụng bộ phát hiện người tích hợp (mô hình TensorFlow Lite) để phát hiện xem có người trong tầm nhìn hay không.
- Dòng Quang Học
- Bạn có thể sử dụng dòng quang học để phát hiện chuyển động trước camera OpenMV của mình. Ví dụ, bạn có thể áp dụng dòng quang học trên quadcopter để kiểm soát độ ổn định khi bay trên không.
- Phát Hiện/Giải Mã Mã QR
- Bạn có thể sử dụng OpenMV Cam để đọc mã QR trong tầm nhìn của nó. Với khả năng phát hiện/giải mã mã QR, bạn có thể cho phép robot thông minh đọc nhãn trong môi trường của chúng.
- Phát Hiện/Giải Mã Ma Trận Dữ Liệu
- OpenMV Cam cũng có thể phát hiện và giải mã mã Data Matrix (mã vạch 2D). Bạn có thể xem video của chúng tôi tại đây.
- Giải mã Mã vạch Tuyến tính
- OpenMV Cam cũng có thể xử lý mã vạch 1D. Nó có thể giải mã EAN2, EAN5, EAN8, UPCE, ISBN10, UPCA, EAN13, ISBN13, I25, DATABAR, DARABAR_EXP, CODABAR, CODE39, CODE93 và CODE128. Xem video của chúng tôi tại đây:/learn/50017
- Theo dõi AprilTag
- Thậm chí còn tốt hơn mã QR ở trên, OpenMV Cam cũng có thể theo dõi AprilTags. AprilTags là các điểm đánh dấu chuẩn tiên tiến nhất, không thay đổi theo góc xoay, tỷ lệ, biến dạng trượt và điều kiện ánh sáng. Xem video của chúng tôi tại đây:/learn/49590
- Phát Hiện Đường
- OpenMV Cam có thể hoàn thành việc phát hiện đường thẳng vô hạn một cách nhanh chóng trong khi chạy ở tốc độ khung hình gần như tối đa. Nó cũng có thể tìm thấy các đoạn đường thẳng không vô hạn. Bạn có thể xem video của chúng tôi tại đây:/learn/50009
- Phát Hiện Vòng Tròn
- Bạn có thể dễ dàng sử dụng OpenMV để phát hiện các hình tròn trong ảnh.
- Phát Hiện Hình Chữ Nhật
- OpenMV cũng có thể phát hiện hình chữ nhật, sử dụng mã phát hiện hình vuông từ thư viện AprilTag.
- So Khớp Mẫu
- Bạn có thể sử dụng kỹ thuật khớp mẫu của OpenMV để phát hiện xem có hình ảnh tương tự mẫu trong tầm nhìn hay không. Ví dụ, khớp mẫu có thể được dùng để tìm các điểm đánh dấu trên PCB hoặc đọc các số đã biết trên màn hình hiển thị.
- Chụp Ảnh
- Bạn có thể sử dụng OpenMV để chụp ảnh RGB565/grayscale BMP/JPG/PPM/PGM. Bạn có thể trực tiếp điều khiển cách chụp ảnh trong các tập lệnh Python. Quan trọng nhất, bạn có thể sử dụng các thuật toán thị giác máy để vẽ đường thẳng, vẽ ký tự và sau đó lưu lại.
- Ghi Hình Video
- Bạn có thể sử dụng camera OpenMV để ghi video MJPEG RGB565/ảnh xám hoặc hình ảnh GIF (hoặc video RAW). Bạn có thể trực tiếp điều khiển cách mỗi khung hình video được ghi trong tập lệnh Python và có toàn quyền kiểm soát thời điểm bắt đầu và dừng ghi video. Đồng thời, giống như chụp ảnh, bạn có thể sử dụng các thuật toán thị giác máy để vẽ đường, vẽ ký tự, sau đó lưu lại.
Cuối cùng, tất cả các tính năng trên có thể kết hợp với điều khiển chân IO để hoạt động cùng các ứng dụng tùy chỉnh của riêng bạn nhằm tương tác với thế giới thực.