Bắt đầu với Phát hiện đối tượng (ML) trong Mã hóa khối #
Hướng dẫn trình bày cách tạo các mô hình phát hiện đối tượng tùy chỉnh trong PictoBlox và sử dụng nó trong Mã hóa khối
Giới thiệu về tính năng phát hiện đối tượng #
Tiện ích mở rộng Phát hiện đối tượng của Môi trường học máy PictoBlox được sử dụng để phát hiện các đối tượng có trong một bức ảnh nhất định.
Để huấn luyện mô hình Phát hiện đối tượng, chúng ta cần đảm bảo rằng các mẫu huấn luyện được chú thích. Nghĩa là, các đối tượng đích được đặt trong các khung giới hạn và mỗi khung giới hạn được dán nhãn bằng lớp tương ứng.
Đối với dự án này, chúng tôi sẽ xây dựng một mô hình có thể xác định ba cấu hình robot Quarky khác nhau:
- Tàu thám hiểm sao Hỏa
- Robot chọn và đặt
- Robot hình người
Các bước cần thiết trong dự án này như sau:
- Thiết lập môi trường
- Thu thập dữ liệu (Thu thập dữ liệu)
- Chú thích dữ liệu
- Đào tạo người mẫu
- Đánh giá mô hình
- Thử nghiệm mô hình
- Xuất mô hình sang PictoBlox
- Tạo tập lệnh trong PictoBlox
Mở quy trình phân loại hình ảnh #
Làm theo các bước dưới đây:
- Mở PictoBlox và tạo một tệp mới.
- Chọn Môi trường mã hóa thích hợp.
- Chọn tùy chọn “ Mở môi trường ML ” trong tab “ Tệp ” để truy cập Môi trường ML.
- Bạn sẽ được chào đón với màn hình sau.
Bấm vào “ Tạo dự án mới “.
- Một cửa sổ sẽ mở ra. Nhập tên dự án bạn chọn và chọn tiện ích mở rộng “Phát hiện đối tượng” . Nhấp vào nút “ Tạo dự án ” để mở cửa sổ Phát hiện đối tượng.
- Bạn sẽ thấy quy trình Phát hiện đối tượng với hai lớp đã được tạo cho bạn. Môi trường của bạn đã sẵn sàng. Bây giờ là lúc để tải dữ liệu lên.
Thu thập và tải lên dữ liệu #
Bảng điều khiển bên trái sẽ cung cấp cho bạn ba tùy chọn để thu thập hình ảnh:
- Sử dụng Webcam để chụp ảnh.
- Tải hình ảnh lên từ ổ cứng của thiết bị.
- Tải xuống từ Cơ sở dữ liệu PictoBlox: Điều này cung cấp cho bạn tùy chọn tải xuống các hình ảnh được chú thích trước và chú thích các hình ảnh được người dùng chụp theo cách thủ công.
Đối với dự án này, chúng tôi sẽ sử dụng tập dữ liệu dựa trên ba robot dựa trên Quraky: Quarky Optimized – Dataset
- Tàu thám hiểm sao Hỏa
- Robot chọn và đặt
- Robot hình người
Để nhập hình ảnh, hãy nhấp vào tùy chọn Webcam và nhập tất cả hình ảnh từ thư mục thử nghiệm.
Bây giờ chúng ta đã có sẵn hình ảnh, hãy chú thích chúng để chuẩn bị tập dữ liệu cuối cùng.
Chú thích dữ liệu #
Hộp giới hạn là một hộp hình chữ nhật có thể được vẽ xung quanh một đối tượng trong ảnh . Hộp ounding B được sử dụng trong thuật toán phát hiện đối tượng để xác định đối tượng trong ảnh .
Chúng tôi vẽ những hình chữ nhật này lên hình ảnh, phác thảo đối tượng quan tâm trong mỗi hình ảnh bằng cách xác định tọa độ X và Y của nó. Điều này giúp các thuật toán học máy dễ dàng tìm thấy những gì chúng đang tìm kiếm, xác định đường dẫn xung đột và bảo tồn tài nguyên máy tính có giá trị.
Phát hiện đối tượng có hai thành phần: phân loại đối tượng và bản địa hóa đối tượng. Nói cách khác, để phát hiện một đối tượng trong ảnh, máy tính cần biết nó là gì và ở đâu.
Thực hiện theo quy trình:
- Chuyển đến tab “Bbox” để truy cập nó.
- Để tạo hộp giới hạn trong hình ảnh, hãy nhấp vào nút “ Tạo hộp ” để tạo hộp giới hạn. Sau khi hộp được vẽ, hãy chuyển đến cột “ Danh sách nhãn ” và nhấp vào nút chỉnh sửa, đồng thời nhập tên cho đối tượng bên dưới hộp giới hạn. Tên này sẽ trở thành một lớp. Sau khi nhập tên xong nhấn vào dấu tích để gắn nhãn cho đối tượng.
Đối tượng sẽ được mã hóa màu ngay khi bạn gắn nhãn cho nó. - Sau khi bạn đã gắn nhãn cho một đối tượng, số lượng đối tượng sẽ được cập nhật trong cột “Thông tin lớp”. Bạn có thể chỉ cần nhấp vào lớp để phân loại đối tượng khác dưới nhãn đó.
- Sau khi bạn đã gắn nhãn cho một đối tượng, số lượng đối tượng sẽ được cập nhật trong cột “Thông tin lớp”. Bạn có thể chỉ cần nhấp vào lớp để phân loại đối tượng khác dưới nhãn đó.
- Bạn có thể xem tất cả các hình ảnh trong tab “ Hình ảnh ”.
- Bạn có thể tìm thấy Hình ảnh chưa được gắn nhãn trong tab và bạn có thể nhấp vào hình ảnh để thêm nhãn.
Đào tạo người mẫu #
Trong Phát hiện đối tượng, mô hình phải định vị và xác định tất cả các mục tiêu trong hình ảnh nhất định. Điều này làm cho việc Phát hiện đối tượng trở thành một nhiệm vụ phức tạp cần thực hiện. Do đó, các siêu tham số hoạt động khác nhau trong Tiện ích mở rộng phát hiện đối tượng.
Thực hiện theo quy trình:
- Chuyển đến tab “ Tàu hỏa ”.
- Nhấp vào nút “ Đào tạo mô hình mới ”. Chọn các lớp cần đào tạo và nhấp vào “ Tạo bộ dữ liệu ”. Sau khi tập dữ liệu được tạo, hãy nhấp vào “ Tiếp theo ”.
- Bạn sẽ thấy các cấu hình đào tạo. Quan sát các siêu tham số.
- Tên mẫu – Tên của mẫu.
- Kích thước lô – Số lượng mẫu đào tạo được sử dụng trong một lần lặp. Kích thước lô càng lớn thì RAM yêu cầu càng lớn.
- Số lần lặp – Số lần mô hình của bạn sẽ lặp qua một loạt hình ảnh.
- Số lớp – Số lớp trong mô hình của bạn. Sử dụng nhiều lớp hơn cho các mô hình lớn.
- Chỉ định siêu tham số của bạn. Nếu các con số nằm ngoài phạm vi, PictoBlox sẽ hiển thị một thông báo. Nhấp vào “ Tạo ”.
Đánh giá mô hình #
Bây giờ, hãy chuyển sang tab “ Đánh giá ”. Bạn có thể xem Kết quả tích cực thực, Phủ định sai và Kết quả dương tính giả cho từng lớp tại đây cùng với các số liệu như Độ chính xác và Thu hồi.
Kiểm tra mô hình #
Bên trong tab Kiểm tra , bạn có thể tải lên hoặc chụp ảnh và xem mô hình của bạn hoạt động như thế nào trong tình huống nhất định.
- Bạn có thể tải lên hình ảnh và kiểm tra mô hình.
- Bạn cũng có thể kiểm tra mô hình bằng webcam.
Xuất mô hình sang môi trường mã hóa khối #
Trong cột “ Xuất mô hình ”, nhấp vào nút “ PictoBlox ” để xuất mô hình sang môi trường mã hóa khối.
Hãy quan sát cách chúng ta có các khối liên quan đến mô hình mà chúng ta vừa đào tạo ở bảng điều khiển bên trái.
Viết tập lệnh trong Môi trường mã hóa khối #
Ý tưởng rất đơn giản, chúng tôi sẽ thêm các mẫu hình ảnh vào cột “ Phông nền “. Chúng tôi sẽ tiếp tục di chuyển qua phông nền và tiếp tục dự đoán hình ảnh trên sân khấu.
Cho phép mã:
- Di chuột qua biểu tượng “ Phông nền ” ở phía dưới bên phải màn hình của bạn. Nhấp vào nút “ Tải lên phông nền ”.
- Chọn hình ảnh thử nghiệm của bạn. Xóa phông nền mặc định.
- Thêm sprite hộp vuông từ thư viện sprite.
- Xóa nhân vật Tobi .
- Bây giờ chúng ta cần làm cho hình ảnh phông nền bao phủ toàn bộ sân khấu.
Chỉnh sửa hình ảnh trong tab phông nền .
- Bây giờ, hãy quay lại tab mã hóa và chọn hình vuông .
- Chúng ta sẽ bắt đầu bằng cách thêm khối khi cờ được nhấp vào từ bảng Sự kiện .
- Thêm () khối hộp giới hạn từ bảng Machine Learning . Chọn tùy chọn “ ẩn ”.
- Tiếp theo là đặt ngưỡng phát hiện thành khối () từ bảng Machine Learning và đặt trình đơn thả xuống thành 0,3.
- Thêm phông nền chuyển đổi vào khối () từ bảng Giao diện . Chọn bất kỳ hình ảnh.
- Thêm khối vĩnh viễn từ bảng điều khiển .
- Bên trong khối mãi mãi thêm một hình ảnh phân tích từ khối () từ bảng Machine Learning .
- Bây giờ chúng ta sẽ kiểm tra xem có đối tượng nào được phát hiện hay không. Thêm khối nếu khác . Thêm điều kiện – lấy số đối tượng lớn hơn 0 bằng cách sử dụng các khối.
- Vì có thể có nhiều chủ thể trong cùng một khung hình nên chúng ta cần tạo một biến lặp. Đổi tên biến trong bảng Biến thành ObjectNumber .
- Thêm khối set() vào() từ bảng Biến và đặt nó thành 0.
- Kéo khối lặp lại từ bảng Điều khiển và thêm khối lấy # đối tượng từ bảng Machine Learning bên trong khối đó.
- Thêm một lần lặp thay đổi theo 1 khối từ bảng Biến bên trong khối lặp lại .
- Thêm khối set x to () từ bảng Chuyển động bên dưới khối thay đổi () by () . Tiếp theo, thêm một () khối đối tượng từ bảng Machine Learning và kéo biến ObjectNumber vào . Chọn vị trí x làm tùy chọn trong () của khối đối tượng.
- Thêm khối set y to () từ bảng Motion . Tiếp theo, thêm một () khối đối tượng từ bảng Machine Learning và kéo biến ObjectNumber vào . Chọn vị trí y làm tùy chọn trong () của khối đối tượng.
- Thêm kích thước đã đặt vào khối () từ bảng Giao diện . Tiếp theo, thêm một () khối đối tượng từ bảng Machine Learning và kéo biến ObjectNumber vào . Chọn chiều rộng làm tùy chọn trong () của khối đối tượng.
- Thêm khối hiển thị từ bảng Giao diện bên dưới kích thước đã đặt thành khối ().
- Thêm khối say () cho () giây từ bảng Giao diện . Tiếp theo, thêm một () khối đối tượng từ bảng Machine Learning và kéo biến ObjectNumber vào . Chọn lớp làm tùy chọn trong () của khối đối tượng.
- Bên trong nhánh else thêm khối ẩn từ bảng Look .
- Cuối cùng, thêm khối phông nền tiếp theo từ bảng Look bên dưới khối if else .
Đó là nó! Chúng ta hãy xem dự án đang hoạt động.