Tất cả những gì bạn cần là hàng chục ngàn khối Lego, một Raspberry Pi, và một GPU cho laptop.

Một kỹ sư mới đây đã thành hô biến ước mơ của vô số fan Lego thành hiện thực: Một máy phân loại Lego sử dụng AI.

Chiếc máy này được tạo ra bởi chính những khối Lego, và là thành quả sau 2 năm xây dựng của kỹ sư phần mềm tại Úc, ông Daniel West. Cỗ máy có chiều cao 80 cm, được làm từ hơn 10.000 khối Lego, và bao gồm 15 bộ máy để vận chuyển các miếng Lego cần phân loại trên một băng chuyền. Theo West, cỗ máy này có thể phân biệt tới 2.927 loại Lego, phân chia chúng thành 18 giỏ khác nhau, với tốc độ là 1 khối Lego sau mỗi giây.

Bạn có thể xem cỗ máy vận hành trong video dưới đây.

Còn đây là cách thức mà nó hoạt động: Trước tiên, một loạt các khối Lego ngẫu nhiên được đổ vào ống ở phía trên thân máy. Tiếp đó, lượng Lego này sẽ được xử lý và lắc đều bởi một thiết bị rung, tách chúng thành nhiều mẩu Lego riêng, chạy qua một máy tính Raspberry Pi.

Máy tính này sẽ có 1 camera để chụp ảnh các viên Lego đi qua, sau đó gửi các ảnh này tới một laptop chạy ResNet-50 – một mạng nơ-ron khá phổ biến, để phân loại. Kết quả phân loại sau đó sẽ được gửi trả về máy, qua đó vận hành các cổng phân loại, tách các viên Lego vào đúng giỏ.

Với con người, việc phân loại Lego là rất đơn giản và tẻ nhạt, song, máy móc lại thường gặp khó khăn với chúng. Lego bao gồm rất nhiều loại khác nhau, với vô số màu sắc, đồng thời lại trông khác biệt ở nhiều góc nhìn. Chính vì vậy, việc chọn lựa được đúng những kết hợp để làm dữ liệu huấn luyện là vô cùng khó khăn.

Theo West, ông đầu tiên đã thử nghiệm phân loại các khối Lego giả lập. Những mô hình Lego 3D được ông lấy từ thư viện LDraw Part Library – một chương trình có mã nguồn mở, cho phép mọi người tạo khối Lego ảo, sau đó render chúng trên phần mềm hoạt họa miễn phí Blender.

Các khối 3D này có thể được mô phỏng với nhiều góc độ và màu sách khác nhau. Và những dữ liệu về chúng được thu thập thành một bộ dữ liệu tự tạo với hơn 25 triệu tấm ảnh. Tuy nhiên, đáng buồn thay, khi được huấn luyện trên những giả lập này, máy của West lại không thể hoạt động trong thực tế.

Tôi thậm chí đã nghĩ tới việc bỏ dở dự án,” ông chia sẻ. “Tôi đã dành hàng tháng trời, sử dụng một phương thức phức tạp để biến các hình ảnh nhân tạo thành trông giống y như thật, mà không thể thành công.” Vì vậy, ông đã chuyển sang sử dụng một kỹ thuật phổ biến trong robotic, giúp giảm bớt sự chênh lệch giữa hình ảnh thật và giả lập: miền ngẫu nhiên.

Cỗ máy phân loại Lego hoàn chỉnh đầu tiên trên thế giới?

Miền ngẫu nhiên là một kỹ thuật huấn luyện mô hình, cho phép chúng có khả năng phân biệt nhiều khác biệt hơn trong dữ liệu. Như vậy, thay vì chỉ phân biệt các góc nhìn và màu sắc của những khối Lego, hệ thống sẽ có thể quan sát cả hiệu ứng ánh sáng, texture, và độ nhiễu. Ngoài ra, để nâng cấp hiệu quả, West còn tích hợp một bộ dữ liệu nhỏ hơn, có chứa hình ảnh thật của các khối Lego.

Bộ dữ liệu thật chỉ bao gồm các khối Lego mà tôi có – tức khoảng 544 loại khác nhau,” ông nói. Chúng cũng là những loại phổ biến hơn, thay vì tập trung vào các loại hiếm hơn như trong bộ dữ liệu giả lập.

Theo lý thuyết, camera trên máy phân loại Lego sẽ có thể nhận diện được cả những khối Lego mà nó chưa từng thấy trước đó. Điều này cũng có nghĩa là, máy có thể phân loại các khối trong bộ dữ liệu giả lập, mà không xuất hiện trong bộ dữ liệu thật. Và kết quả là: Độ chính xác từ bộ ảnh thật là 93%, trong khi độ chính xác cho các Lego chỉ có trong giả lập là 74%.

West đã huấn luyện ResNet-50 với khoảng 800 nhân CPU trên AWS mỗi ngày. Máy phân loại này cũng chạy trên card đồ họa Nvidia GeForce RTX 2060, thường được sử dụng cho laptop chuyên chơi game. Theo West, máy cũng sẽ hoạt động với tốc độ cao trên các CPU yếu hơn, ngoài ra, ông cũng có dự định sẽ công khai code của dự án này.

Tuy nhiên, đây không phải máy phân loại Lego đầu tiên trên thế giới. Trái lại, nó được truyền cảm hứng bởi rất nhiều máy móc tương tự, trong đó một số cũng sử dụng thuật toán AI. Tuy nhiên, theo ông, nó là cỗ máy phân loại Lego hoàn chỉnh đầu tiên, bởi lẽ, với AI, nó đã có thể phân biệt mọi loại Lego từng được phát hành.

Tôi luôn là một fan của Lego. Và kể từ khi tôi thấy máy phân loại Lego của Akiyuki vào năm 2011, tôi đã luôn ấp ủ ý tưởng về một máy tương tự,” West chia sẻ. “3 năm trước, tôi bắt đầu quan tâm tới thị giác máy tính. AI và CNN đang trở nên phổ biến hơn bao giờ hết, và tôi nghiên cứu chúng vô cùng tâm huyết. Lúc đó, tôi cũng đã dần có trải nghiệm về đồ họa máy tính, sau khi phát hình tựa game ‘Airscape: The Fall of Gravity’. Và tôi đã nhận ra, tôi có thể kết hợp những kỹ năng của mình, để thực hiện ước mơ xây dựng một cỗ máy phân loại Lego thực thụ, đồng thời có thêm kinh nghiệm trong thiết kế và triển khai hệ thống AI.”

FPT TechInsight
Theo The Register

Tin liên quan: