Mô hình nhận dạng ảnh đạt độ chính xác rất cao từ lâu. Nhưng biết trong ảnh có cái cốc gần như không giúp gì cho robot muốn cầm cái cốc đó, và khoảng cách giữa hai việc đó là nội dung của cả một nhánh nghiên cứu.
Robot cần gì mà nhận dạng không cho
Vị trí ba chiều, không phải ô chữ nhật trên ảnh. Nhận dạng cho biết vật nằm ở vùng nào trong ảnh hai chiều. Robot cần toạ độ thật trong không gian để đưa tay tới.
Hướng của vật. Cái cốc nằm ngang và cái cốc dựng đứng cùng là cái cốc với mô hình nhận dạng, nhưng cách cầm hoàn toàn khác.
Kích thước thật. Ảnh không cho biết tỷ lệ. Cái cốc nhỏ ở gần và cái cốc lớn ở xa cho ra hình ảnh giống nhau.
Hình dạng phần khuất. Robot cầm vào phần nó không nhìn thấy. Phải suy ra mặt sau của vật từ mặt trước.
Ranh giới chính xác. Sai một centimet trong nhận dạng không sao; sai một centimet khi cầm thì trượt hoặc va.
Và quan trọng nhất — thuộc tính vật lý. Nặng hay nhẹ, cứng hay mềm, trơn hay nhám. Ảnh không chứa thông tin này trực tiếp và robot buộc phải đoán từ vẻ ngoài.
Ước lượng tư thế vật thể
Bài toán trung tâm của thị giác cho thao tác.
Phát biểu. Cho ảnh và mô hình ba chiều của vật, tìm vị trí và hướng của vật trong không gian camera. Sáu con số cho mỗi vật.
Cách cổ điển. Trích đặc trưng trên ảnh, khớp với đặc trưng trên mô hình, giải bài toán hình học. Chính xác khi vật có hoa văn rõ, thất bại với vật trơn một màu.
Cách học sâu. Huấn luyện mạng dự đoán trực tiếp sáu con số, hoặc dự đoán vị trí các điểm mốc rồi giải hình học. Hoạt động được với vật trơn, cần dữ liệu huấn luyện có nhãn tư thế — mà nhãn này rất tốn công thu.
Vấn đề đối xứng. Vật đối xứng có nhiều tư thế cho ra cùng một hình ảnh. Cái cốc tròn xoay quanh trục thì trông y hệt. Nếu hàm mất mát không xử lý điều này, mạng học ra kết quả trung bình vô nghĩa.
Vấn đề che khuất. Vật bị che một phần là tình huống bình thường trong đống đồ. Mạng phải suy ra tư thế từ phần thấy được.
Vật chưa từng gặp. Đây là giới hạn thật. Phần lớn phương pháp cần mô hình ba chiều của vật từ trước. Với vật hoàn toàn mới thì bài toán khó hơn nhiều bậc.
Ước lượng điểm cầm
Hướng tiếp cận bỏ qua tư thế và trả lời thẳng câu hỏi robot cần.
Ý tưởng. Đừng hỏi vật này là gì và nằm thế nào. Hỏi thẳng: nên đặt hai ngón kẹp ở đâu, theo hướng nào, để cầm chắc.
Vì sao hợp lý hơn. Robot không cần biết đó là cái cốc. Nó cần biết chỗ nào cầm được. Và câu hỏi sau dễ tổng quát hoá sang vật chưa gặp hơn nhiều.
Cách huấn luyện. Sinh rất nhiều tình huống trong mô phỏng, thử cầm, ghi lại chỗ nào thành công. Có được hàng triệu ví dụ mà không tốn robot thật.
Đầu ra thường là bản đồ điểm cầm. Mỗi điểm trên bề mặt được chấm điểm khả năng cầm thành công. Robot chọn điểm cao nhất trong tầm với.
Điểm mạnh. Hoạt động với vật chưa từng gặp, không cần mô hình ba chiều, đủ nhanh cho thời gian thực.
Điểm yếu. Không biết ngữ nghĩa. Nó có thể chọn cầm dao ở lưỡi vì chỗ đó cầm chắc nhất về mặt hình học. Phải ghép thêm tầng hiểu vật thể để tránh những lựa chọn như vậy.
Thông tin chiều sâu
Vì sao không thể thiếu. Camera màu đơn cho ảnh hai chiều. Muốn hành động trong không gian ba chiều phải có chiều sâu, bằng cách này hay cách khác.
Camera chiều sâu chủ động. Cho chiều sâu trực tiếp, tầm gần, tốt trong nhà. Ba điểm yếu thực tế: vật trong suốt gần như vô hình, vật phản chiếu cho giá trị sai, và ánh nắng làm nhiễu nặng.
Vật trong suốt là vấn đề nghiêm trọng hơn nhiều người nghĩ. Cốc thuỷ tinh, chai nhựa, túi nilon — rất phổ biến trong nhà và trong dịch vụ ăn uống, và cảm biến chiều sâu hầu như không thấy chúng. Đây là hướng nghiên cứu riêng.
Camera đôi. Cho chiều sâu từ hai góc nhìn. Cần bề mặt có hoa văn, thất bại trước tường trắng và mặt bàn nhẵn một màu.
Suy chiều sâu từ ảnh đơn bằng học sâu. Tiến bộ nhiều gần đây, nhưng cho chiều sâu tương đối chứ không phải tuyệt đối, và với thao tác thì tỷ lệ thật là bắt buộc.
Cách thực dụng. Kết hợp — dùng chiều sâu từ cảm biến ở nơi tin được, dùng suy luận từ ảnh ở nơi cảm biến thất bại, và biết được chỗ nào là chỗ nào.
Ràng buộc thực tế khi đưa lên robot
Chỗ nghiên cứu và triển khai khác nhau nhiều nhất.
Phải chạy thời gian thực trên phần cứng nhúng. Mô hình đạt điểm cao nhất trên bảng xếp hạng thường quá nặng. Thực tế phải chọn mô hình nhỏ hơn và chấp nhận độ chính xác thấp hơn.
Ánh sáng thay đổi liên tục. Robot di chuyển nên góc sáng đổi. Đèn bật tắt. Nắng qua cửa sổ đổi theo giờ. Mô hình huấn luyện trong điều kiện cố định sẽ kém đi.
Camera rung và mờ. Robot chuyển động làm ảnh nhoè. Ảnh nhoè làm giảm độ chính xác đáng kể, và cách chữa rẻ nhất là dừng lại chụp thay vì chụp khi đang đi.
Hiệu chỉnh trôi. Quan hệ vị trí giữa camera và tay robot thay đổi theo thời gian do rung và va chạm. Kết quả thị giác đúng nhưng tay vẫn với trượt. Cần hiệu chỉnh lại định kỳ.
Ống kính bẩn. Nguyên nhân sự cố tầm thường và phổ biến nhất. Nên có kiểm tra tự động chất lượng ảnh.
Kinh nghiệm rút ra: cải thiện điều kiện nhìn thường cho kết quả tốt hơn cải thiện mô hình. Thêm đèn chiếu đều, đặt nền tương phản, cố định camera chắc chắn — ba việc này rẻ và hiệu quả hơn nhiều so với đổi kiến trúc mạng.
Câu hỏi thường gặp
Thị giác cho robot khác thị giác nhận dạng ở chỗ nào?
Robot cần toạ độ ba chiều thật, hướng của vật, kích thước thật, hình dạng phần khuất và ranh giới chính xác — không chỉ biết trong ảnh có vật gì.
Ước lượng điểm cầm có ưu thế gì so với ước lượng tư thế?
Nó hỏi thẳng nên đặt ngón kẹp ở đâu thay vì vật này là gì và nằm thế nào, nên tổng quát hoá sang vật chưa gặp tốt hơn và không cần mô hình ba chiều.
Vì sao vật trong suốt là vấn đề nghiêm trọng?
Cảm biến chiều sâu hầu như không thấy cốc thuỷ tinh, chai nhựa hay túi nilon, trong khi những vật này rất phổ biến trong nhà và trong dịch vụ ăn uống.
Cách cải thiện hiệu quả nhất khi triển khai thực tế?
Cải thiện điều kiện nhìn thay vì mô hình — thêm đèn chiếu đều, đặt nền tương phản, cố định camera chắc chắn. Rẻ và hiệu quả hơn đổi kiến trúc mạng.
Đọc thêm trong Lập kế hoạch chuyển động và Phòng lab & nhóm nghiên cứu.