GIỚI THIỆU CHUNG
Đặt vấn đề
Trong bối cảnh hiện đại, các nhà sản xuất đang ngày càng ưu tiên tự động hóa thông qua sự hợp tác giữa con người và máy móc Tự động hóa cộng tác linh hoạt không chỉ tiết kiệm thời gian lập kế hoạch mà còn giảm thiểu chi phí, ngân sách và quy trình tuyển dụng, đào tạo nhân viên để trang bị các kỹ năng mới cần thiết cho việc cấu hình nhà máy lớn.
Robot hợp tác (cobots) đã được tích hợp thành công vào nhiều quy trình và ứng dụng khác nhau, từ công nghiệp đến chăm sóc sức khỏe và nghiên cứu Khác với robot công nghiệp thông thường thường bị cô lập khỏi người điều khiển, cobots hoạt động trực tiếp bên cạnh con người, hỗ trợ họ trong các công việc hàng ngày Trong thời đại tự động hóa, cobots không chỉ loại bỏ sự can thiệp của con người vào các công việc lặp đi lặp lại mà còn có khả năng thay thế con người trong các công việc phức tạp, đòi hỏi kỹ năng ra quyết định và lập kế hoạch di chuyển Bối cảnh tương lai có thể yêu cầu chia sẻ không gian làm việc giữa con người và robot, do đó, việc phát triển những robot có khả năng học hỏi kỹ năng từ con người thông qua quan sát trở thành một nhiệm vụ quan trọng.
Mục tiêu của luận văn này là phát triển phương pháp điều khiển robot mà không cần lập trình thủ công hay sử dụng cảm biến, mà thay vào đó áp dụng các kỹ thuật học sâu và trí tuệ nhân tạo để nhận diện cử chỉ tay của con người qua camera Qua đó, tín hiệu điều khiển sẽ được gửi đến robot, giúp loại bỏ sự tiếp xúc trực tiếp.
3 tiếp với người vận hành, tăng tính di động và loại bỏ một số hạn chế về tương tác giữa con người và robot.
Đóng góp luận văn
Luận văn nghiên cứu ứng dụng trí thông minh nhân tạo trong bài toán tương tác robot với con người qua cử chỉ bàn tay.
Cấu trúc luận văn
Nội dung chính của luận văn được trình bày qua 5 chương:
Nội dung của chương sẽ trình bày về vấn đề nghiên cứu, cấu trúc và đóng góp của luận văn
Chương 2: Tổng quan về các giải pháp thị giác máy công nghiệp kết hợp AI cho nền tảng robot thông minh
Nội dung của chương sẽ trình bày về tổng quan các giải pháp thị giác máy công nghiệp và robot tay máy thông minh
Chương 3: Ứng dụng thị giác máy công nghiệp kết hợp AI điều khiển robot theo cử chỉ con người
Nội dung của chương sẽ mô tả về hệ thống ứng dụng thị giác máy AI nhận dạng cử chỉ tay người và tiến hành điều khiển robot
Chương 4: Đánh giá và kết quả
Nội dung của chương sẽ mô tả bộ bộ dữ liệu, hệ thống và các kết quả đạt đƣợc sau khi ứng dụng các thuật toán
Kết luận và hướng phát triển
Nội dung của phần này sẽ đƣa ra kết luận giữa các thuật toán trí tuệ nhân tạo và hướng phát triển tiếp theo trong tương lai
TỔNG QUAN VỀ CÁC GIẢI PHÁP THỊ GIÁC MÁY CÔNG NGHIỆP KẾT HỢP AI CHO NỀN TẢNG ROBOT THÔNG MINH
Tổng quan về các giải pháp thị giác máy công nghiệp kết hợp AI
Thị giác máy tính là lĩnh vực nghiên cứu các phương pháp thu nhận, xử lý và phân tích hình ảnh từ thế giới thực để tạo ra thông tin số Mục tiêu của thị giác máy tính là phát triển hệ thống nhân tạo có khả năng tiếp nhận và xử lý dữ liệu hình ảnh đa chiều Công nghệ này không chỉ giúp máy móc thực hiện các công việc tính toán từ đơn giản đến phức tạp, mà còn cho phép chúng bắt chước khả năng nhận thức của con người và động vật, mở ra tiềm năng mới trong việc hiểu và tương tác với thế giới xung quanh.
Bằng cách kết hợp các mô hình như học máy và mạng nơ-ron, hệ thống nhân tạo đang dần phát triển khả năng đưa ra những quyết định linh hoạt và chính xác hơn.
Thị giác máy tính bao gồm các lĩnh vực sau:
Xử lí hình ảnh: Phát triển các thuật toán xử lí ảnh nhƣ tăng/giảm chất lƣợng ảnh, lọc nhiễu
Nhận diện mẫu: Giải thích các kỹ thuật khác nhau để phân loại mẫu
Quang trắc: Liên quan đến việc thu thập các số đo chính xác từ hình ảnh
Hình 2.1 Mô tả về thị giác máy tính [1]
Thị giác máy tính là một lĩnh vực đã phát triển lâu dài, cho phép máy tính "nhìn" và hiểu thế giới giống như con người Chuyên ngành này đã được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau, với nhiều thành tựu nổi bật.
Trong y học, thuật toán xử lý ảnh đóng vai trò quan trọng trong việc cải thiện chất lượng hình ảnh từ nguồn bức xạ X-ray và siêu âm quang học Những công nghệ này cho phép nâng cao độ tương phản, lọc và tách các phần cần thiết của hình ảnh, đồng thời tạo ra hình ảnh không gian ba chiều từ siêu âm Gần đây, sự phát triển của thị giác máy tính đã dẫn đến việc tạo ra các ứng dụng hỗ trợ thị giác cho người mù, mở ra nhiều cơ hội mới trong lĩnh vực y tế.
Trong lĩnh vực địa chất, việc nâng cao chất lượng vệ tinh thông qua kỹ thuật làm nổi đường biên và khôi phục hình ảnh đóng vai trò quan trọng trong việc tạo ra bản đồ địa hình 3D chính xác.
Hình ảnh vệ tinh trong khí tượng học cung cấp thông tin chính xác về Trái Đất trên diện rộng, từ đó cải thiện độ chính xác của dự báo thời tiết.
Trong lĩnh vực hình sự và bảo mật, việc kiểm soát truy cập thông qua nhận dạng vân tay, khuôn mặt và biển số xe đóng vai trò quan trọng trong việc phát hiện nhanh các đối tượng nghi vấn Điều này không chỉ nâng cao hiệu quả bảo mật mà còn cải thiện quá trình giám sát và nhận dạng mục tiêu, đặc biệt trong lĩnh vực quân sự.
Thị giác máy tính không chỉ được ứng dụng trong việc điều khiển tiến trình của robot trong công nghiệp và các thiết bị, xe tự hành, mà còn đóng vai trò quan trọng như đầu vào cho thiết bị trong quá trình tương tác giữa người và máy.
2.1.2 Trí thông minh nhân tạo
Trí thông minh nhân tạo (AI) là một ngành trong khoa học máy tính, được phát triển nhằm giúp máy tính tự động hóa các hành vi thông minh giống như con người Khác với lập trình logic truyền thống, AI sử dụng các hệ thống học máy để mô phỏng trí tuệ con người trong những tác vụ mà máy tính thường không thực hiện tốt Nhờ vào trí tuệ nhân tạo, máy tính có khả năng suy nghĩ, lập luận để giải quyết vấn đề, giao tiếp thông qua việc hiểu ngôn ngữ và tiếng nói, cũng như học hỏi và tự thích nghi với môi trường xung quanh.
Machine learning, một nhánh của trí tuệ nhân tạo, đề cập đến quá trình mà máy tính được cải thiện khả năng thực hiện nhiệm vụ thông qua việc học hỏi từ kinh nghiệm Cụ thể, hệ thống machine learning sẽ trở nên hiệu quả hơn sau nhiều lần thực hiện một nhiệm vụ nhất định Khả năng chính của machine learning là sử dụng các thuật toán để phân tích dữ liệu, rút ra bài học và đưa ra quyết định hoặc dự đoán liên quan Thay vì lập trình một phần mềm với các hướng dẫn chi tiết, máy tính được "huấn luyện" để tự động cải thiện hiệu suất của mình.
Machine learning là quá trình sử dụng dữ liệu và thuật toán để học cách thực hiện nhiệm vụ, trong đó deep learning là một thuật ngữ quan trọng Deep learning có khả năng xử lý dữ liệu tương tự như cách mà bộ não con người hoạt động Điểm khác biệt chính là con người không cần phải dạy cho chương trình deep learning nhận diện một vật thể cụ thể, mà chỉ cần cung cấp đủ hình ảnh về vật thể đó Từ đó, chương trình sẽ tự học, hình dung và đưa ra kết quả đầu ra một cách độc lập.
K-nearest neighbor (thuật toán K láng giềng gần) là một trong những thuật toán học có giám sát đơn giản Khi đào tạo thuật toán này không học từ dữ liệu đào tạo, mọi tính toán đƣợc thực hiện khi cần dự đoán kết quả của dữ liệu mới K-nearest neighbor có thể áp dụng đƣợc vào cả hai loại của bài toán học có giám sát là Classification (phân loại) và Regression (hồi quy) [3]
KNN (K-Nearest Neighbors) là một thuật toán học máy được sử dụng trong bài toán phân loại (Classification) và hồi quy (Regression) Trong phân loại, nhãn của một điểm dữ liệu được xác định dựa trên K điểm dữ liệu gần nhất từ tập dữ liệu huấn luyện, thông qua việc bầu chọn hoặc đánh trọng số cho các điểm gần nhất Đối với hồi quy, đầu ra của một điểm dữ liệu có thể là giá trị của điểm gần nhất (K=1) hoặc trung bình có trọng số của các điểm gần nhất KNN tìm kiếm đầu ra của một điểm dữ liệu mới dựa trên thông tin từ K điểm lân cận mà không quan tâm đến sự nhiễu từ các điểm gần nhất.
Hình 2.2 Ví dụ về KNN trong classification [3]
Thuật toán KNN (K-Nearest Neighbors) dựa trên nguyên tắc rằng các dữ liệu tương tự sẽ gần nhau trong không gian Thuật toán này tìm k điểm gần nhất với dữ liệu cần kiểm tra Để xác định khoảng cách giữa hai điểm, có nhiều công thức khác nhau mà chúng ta có thể áp dụng, tùy thuộc vào từng trường hợp cụ thể Dưới đây là ba phương pháp cơ bản để tính khoảng cách giữa hai điểm dữ liệu x và y có k thuộc tính.
Minkowski: (∑ ) (2.3) Ƣu điểm của thuật toán KNN:
- Thuật toán đơn giản, dễ dàng triển khai
- Độ phức tạp tính toán nhỏ
- Xử lý tốt với tập dữ liệu nhiễu
Nhƣợc điểm của thuật toán KNN:
- Với K nhỏ dễ gặp nhiễu dẫn tới kết quả đƣa ra không chính xác
- Cần nhiều thời gian để thực hiện do phải tính toán khoảng cách với tất cả các đối tƣợng trong tập dữ liệu
- Cần chuyển đổi kiểu dữ liệu thành các yếu tố định tính
Phương pháp SVM (Support Vector Machine) là một công cụ mạnh mẽ cho các bài toán phân lớp phi tuyến tính, được phát triển bởi Vapnik và Chervonenkis vào năm 1995 SVM thực hiện phân lớp dựa trên nguyên lý SRM (Cực tiểu hóa rủi ro có cấu trúc), được coi là một trong những phương pháp phân lớp giám sát không tham số tinh vi nhất hiện nay Với các hàm công cụ đa dạng, SVM cho phép tạo ra không gian chuyển đổi để xây dựng mặt phẳng phân lớp hiệu quả.
Tổng quan về robot tay máy thông minh
Robot tay máy là loại robot có nhiều khớp chuyển động cơ học, cho phép thực hiện các chức năng giống như tay người Với khả năng hoạt động liên tục, robot tay máy đóng vai trò quan trọng trong sản xuất công nghiệp và ngày càng được nghiên cứu để ứng dụng rộng rãi hơn trong đời sống hàng ngày.
Robot tay máy trong công nghiệp thường được lập trình và điều khiển bằng bộ điều khiển chuyên dụng, yêu cầu người sử dụng phải có kiến thức chuyên môn để đảm bảo độ chính xác trong quá trình vận hành.
Việc cải thiện cơ chế tương tác cho robot tay máy là cần thiết để nâng cao sự an toàn và mở rộng ứng dụng của chúng trong cuộc sống hàng ngày Một trong những giải pháp tiềm năng đang được nghiên cứu là ứng dụng trí tuệ nhân tạo, giúp tăng cường khả năng tương tác và hiệu quả sử dụng của robot.
Trong luận văn này, tôi sử dụng Robot tay máy 4 bậc tự do (4-DOF) được thiết kế và chế tạo bằng phương pháp in 3D tại UET Robotics Lab để kiểm chứng mô hình trí tuệ nhân tạo nhận diện cử chỉ tay Hệ thống tay máy này bao gồm các phần chính được nghiên cứu và phát triển nhằm nâng cao khả năng nhận diện và tương tác.
Bảng 2.1 Chi tiết các linh kiện sử dụng trong tay máy 4 bậc tự do
Mô tả Hình ảnh linh kiện
Sơ đồ kết nối hệ thống:
Hình 2.14 Sơ đồ kết nối mạch điều khiển robot
- Thiết kế robot dạng tay máy công nghiệp 4 bậc tự do:
+ Loại Robot đƣợc chọn để thiết kế là mô hình robot công nghiệp 4 bậc tự do
+ Số khâu, khớp: 5 khâu, 4 khớp
+ Khả năng làm việc: tải trọng tối đa có thể gắp đƣợc một vật khoảng 0.1 kg
+ Giới hạn làm việc: cao nhất 420 mm, xa nhất 340mm, gần nhất 100mm
+ Góc giới hạn các khớp: Khớp 1: 0º đến 180º; Khớp 2: 40º đến 140º; Khớp 3: 0º đến 180º;
Khớp 4: 30º đến 150º; Khớp 5 (Gripper): 0º đến 90º
+ Truyền động: sử dụng động cơ servo
+ Mạch điều khiển: Ardunio Mega 2560
+ Ngôn ngữ lập trình: ngôn ngữ lập trình C
+ Thiết kế Robot trên phần mềm Solidworks: Thiết kế các khâu 1, 2,
Bảng 2.2 Các bước thiết kế tay máy 4 bậc tự do
Các bước thiết kế Hình ảnh thiết kế trên phần mềm
Khâu 1 thiết kế đế xoay
Khâu 2 thiết kế khớp nối
Khâu 3 thiết kế tay robot (bắp tay)
Khâu 4 thiết kế tay robot (cánh tay)
Hình 2.15 Mô phỏng Robot hoàn chỉnh
Hình 2.16 Tay máy 4 bậc tự do sau khi lắp ghép hoàn chỉnh (@UET
Robot tay máy 4 bậc tự do được chế tạo bằng công nghệ in 3D sẽ thực hiện các tác vụ đầu ra từ mô hình đề xuất Thông tin tọa độ từ mô hình sẽ được truyền tới vi điều khiển Arduino Mega 2560 Rev3 qua giao tiếp Serial (UART) Vi điều khiển sẽ giải quyết các bài toán động học thuận và nghịch để điều khiển chuyển động của tay máy Sau khi hoàn thành một yêu cầu, robot sẽ tự động trở về vị trí (0, 0) và chờ yêu cầu tiếp theo.
ỨNG DỤNG THỊ GIÁC MÁY CÔNG NGHIỆP KẾT HỢP
Mô tả hệ thống
Bài toán sử dụng camera vision để phát hiện cử chỉ tay người, sau đó xử lý hình ảnh và áp dụng các thuật toán AI để nhận diện nhãn của hình ảnh Kết quả nhãn sẽ được gửi tới tay máy robot 4 bậc tự do, cho phép robot nhận diện vật thể đã được đào tạo và gắp vật, sau đó thả vào vị trí giỏ tương ứng theo chu trình đã được thiết lập.
Hình 3.1 Mô tả hệ thống robot thực thi theo cử chỉ tay người thông qua camera
Hệ thống này sử dụng các thuật toán AI cơ bản và học sâu để tối ưu hóa độ chính xác và thời gian thực thi Để điều khiển robot gắp đúng vật được phát hiện qua camera, tôi áp dụng phương pháp tính toán động học nghịch cho robot.
Ứng dụng thị giác máy kết hợp AI nhận dạng cử chỉ tay người
Cử chỉ tay đóng vai trò quan trọng trong giao tiếp hàng ngày, giúp con người truyền đạt thông tin một cách nhanh chóng và hiệu quả Trong nghiên cứu này, cử chỉ được định nghĩa là chuyển động của ngón tay, nhằm tạo tín hiệu chính xác giữa người gửi và thiết bị nhận Quá trình nhận dạng cử chỉ bắt đầu bằng việc phát hiện vị trí bàn tay thông qua thiết bị cảm biến, thu thập dữ liệu cần thiết cho việc phân loại Tiếp theo, hình ảnh được xử lý để trích xuất đặc trưng, cho phép chuyển đổi thông tin thành dạng số hoặc biểu tượng Cuối cùng, cử chỉ được phân loại dựa trên các đặc tính đã trích xuất từ tập dữ liệu bàn tay đã được thu thập trước đó, sử dụng phương pháp xử lý hình ảnh qua camera để nhận diện cử động của bàn tay người sử dụng.
3.2.1 Những ứng dụng với cử chỉ bàn tay
Các nhà nghiên cứu đã phát triển nhiều ứng dụng thực tiễn dựa trên cử chỉ bàn tay con người, mang lại những đột phá trong nghiên cứu và ứng dụng vào cuộc sống hàng ngày.
Thiết kế 3D: Việc thao tác đầu vào 3 chiều với con chuột máy tính là một công việc rất phức tạp và tốn nhiều thời gian Viện công nghệ
Massachuchetttes đã đƣa ra các công nghệ 3DRAW sử dụng một cây bút nhúng trong thiết bị polhemus để theo dõi vị trí bút và định hướng trong 3D
Điều khiển từ xa nâng cao khả năng kiểm soát máy móc trong các tình huống khẩn cấp hoặc khi tiếp cận khó khăn Đây là một lĩnh vực của trí tuệ nhân tạo, giúp điều khiển cánh tay robot thông qua các cử chỉ cơ thể, từ đó thực hiện các nhiệm vụ cần thiết mà con người không thể tiếp cận gần.
Thực tế ảo đang được nâng cao với các hệ thống xúc giác tiên tiến, bao gồm thông tin xúc giác hay còn gọi là lực lượng phản hồi, được ứng dụng rộng rãi trong lĩnh vực y tế và trò chơi Cử chỉ tay của người dùng đóng vai trò quan trọng trong các ứng dụng này.
Ngôn ngữ ký hiệu là hình thức ngôn ngữ tự nhiên và thô sơ nhất, xuất hiện từ những ngày đầu của nền văn minh nhân loại Các lý thuyết về ngôn ngữ ký hiệu đã ra đời trước cả ngôn ngữ nói, với việc con người sử dụng cử chỉ tay từ rất sớm Do đó, nghiên cứu và đánh giá cử chỉ bàn tay đã trở thành một lĩnh vực quan trọng, mở ra nhiều ý tưởng ứng dụng trong hoạt động của máy móc hiện tại và tương lai.
Dưới đây là những phương pháp thực hiện nhận diện cử chỉ hành động tay đƣợc thực hiện
3.2.2 Những phương pháp nhận diện cử chỉ bàn tay
3.2.2.1 Phân đoạn ảnh dựa vào màu da
Phân đoạn ảnh là một bước quan trọng trong xử lý ảnh, giúp chia ảnh thành các vùng rời rạc và đồng nhất Quá trình này xác định các biên của các vùng ảnh, tạo ra các khu vực đồng nhất thường tương ứng với các đối tượng trong ảnh.
Phân đoạn ảnh là quá trình làm nổi bật hoặc tách riêng đối tượng cần quan tâm từ ảnh gốc, giúp đơn giản hóa và cải thiện khả năng phân tích Trong lĩnh vực xử lý và nhận dạng ảnh, phân đoạn ảnh đóng vai trò quan trọng, thường là bước tiền xử lý đầu tiên trước khi thực hiện các thao tác nâng cao như nhận dạng đối tượng hay truy vấn ảnh dựa trên nội dung Da con người có màu sắc đặc trưng và dễ nhận diện, không bị ảnh hưởng bởi biến đổi hình học, vì vậy phát hiện bàn tay người thông qua việc nhận diện da là phương pháp đơn giản và khả thi.
Hình 3.2 phân đoạn ảnh dựa vào màu da
Phát hiện da là bước quan trọng trong việc xác định các vùng và điểm ảnh có màu da trong ảnh, nhằm nhận diện vùng bàn tay Mặc dù việc phát hiện các điểm ảnh màu da có vẻ đơn giản, nhưng phương pháp này chỉ dựa vào thông tin về màu sắc, dẫn đến việc nhận diện sai các vùng không phải là bàn tay, như khuôn mặt hoặc các vùng da khác trên cơ thể Hơn nữa, những đối tượng có màu sắc tương tự như màu da cũng có thể bị nhầm lẫn là bàn tay Do đó, hiệu quả của việc phát hiện bàn tay dựa trên màu da chỉ cao khi ảnh không chứa thêm các vùng khác ngoài bàn tay.
Quá trình phát hiện da bao gồm hai giai đoạn chính: huấn luyện và phát hiện Đối tượng cần phát hiện phải có màu da và vùng bàn tay tách biệt rõ ràng với nền xung quanh.
Huấn luyện để nhận dạng được màu da dựa trên 3 bước cơ bản sau:
Thu thập dữ liệu về da từ nhiều ảnh khác nhau của nhiều người khác nhau và ảnh chụp trong các điều kiện khác nhau
Lựa chọn một không gian màu thích hợp
Học các thông số về phân loại da
Khi có bộ huấn luyện phát hiện da, tiến hành nhận dạng các điểm ảnh có màu da từ ảnh:
Chuyển đổi ảnh sang không gian màu đƣợc sử dụng trong giai đoạn huấn luyện
Phân loại các điểm ảnh màu da hay không phải màu da
Hoàn tất xử lý các đặc trƣng cần sử dụng hình thái học để áp đặt không gian thuần nhất trên các vùng đƣợc phát hiện
Dưới điều kiện ánh sáng được kiểm soát, màu da con người nằm trong một vùng nhỏ của không gian màu Để phát hiện các điểm ảnh có màu da, cần xác định ngưỡng cho các thành phần trong không gian màu, mỗi thành phần có thể có một hoặc nhiều giá trị ngưỡng Những điểm ảnh có giá trị nằm trong phạm vi xác định trước của tất cả các thành phần sẽ được coi là điểm ảnh có màu da.
Karin Sobottka và Loannis Pitas [7] sử dụng các ngƣỡng cố định trong không gian màu HS Các điểm ảnh có giá trị H nằm trong khoảng [0,
Giá trị S nằm trong khoảng [0.23, 0.68] được xác định là điểm ảnh có màu da, phù hợp để phân loại các điểm ảnh màu da trong ảnh chụp người da trắng và da vàng.
Thuật toán được đề xuất nhằm xác định các điểm ảnh có màu da dựa trên các giá trị Cb trong khoảng [77, 127] và Cr trong khoảng [133, 173] Nguyễn Văn Dũng đã áp dụng các giá trị ngưỡng trong không gian màu RGB (r + g + b = 1) và HSV để phân tích hiệu quả hơn về thành phần màu sắc của các điểm ảnh.
Điểm ảnh có màu da được xác định với các giá trị sau: 31 nằm trong khoảng [0.36, 0.465], giá trị thành phần g trong khoảng [0.28, 0.363], giá trị H trong khoảng [0, 50], giá trị S từ [0.20, 0.68], và giá trị V nằm trong khoảng [0.35, 1].
3.2.2.2 Kỹ thuật phát hiện biên
Biên là một đặc trƣng quan trọng trong ảnh, giúp mô tả hình dạng đối tƣợng hiệu quả Để biểu diễn hình dạng dựa trên đường biên, cần xác định biên của đối tƣợng và áp dụng phương pháp phù hợp Quá trình bắt đầu bằng việc nhị phân hóa đường biên, đây là giai đoạn quyết định trong việc trích xuất, xác định đường bao cần thiết và loại bỏ những đường bao không quan trọng Việc mã hóa đường biên có thể thực hiện qua nhiều phương pháp, bao gồm biểu diễn chính xác hoặc xấp xỉ nhờ nội suy Các cấu trúc cơ bản mã hóa đường biên thường gồm 4 loại: điểm, đoạn thẳng, cung và đường cong Tuy nhiên, có sự xung đột giữa độ phức tạp tính toán và khả năng biểu diễn ảnh, với biểu diễn bằng điểm thì đơn giản nhưng nghèo nàn về cấu trúc, trong khi biểu diễn bằng đường cong đa thức bậc cao lại tăng độ phức tạp nhưng mang lại cấu trúc dữ liệu cô đọng hơn.
Hình 3.3 Nhị phân ảnh và tạo đường viền
3.2.2.3 Trích trọn đặc trưng dựa vùng liên kết
Các đối tượng hình học thường được phát hiện thông qua các kỹ thuật dò biên, cho ra các đường biên xác định đối tượng Kết quả này là một dãy các điểm liên tiếp đóng kín, được tạo ra bằng cách sử dụng các thuật toán đơn giản hóa như Douglas Peucker và Band Width, từ đó thu được một polyline, hay còn gọi là đa giác xác định đối tượng Đa giác này có thể có hình dạng tương tự như một hình cơ sở và có thể được tiếp cận bằng nhiều phương pháp xấp xỉ khác nhau, dựa trên các đặc trưng cơ bản.
Điều khiển robot
Để tối ưu hóa việc điều khiển hệ thống robot, việc xây dựng bài toán động học thuận và động học ngược là rất quan trọng Khi bài toán được hoàn thiện, robot có khả năng điều khiển trực tiếp thông qua các giá trị góc như góc nghiêng, góc ngẩng và góc cuộn Các phép tính sẽ chuyển đổi những giá trị góc này thành độ dài của các chân robot cần dịch chuyển, nhằm đạt được khoảng cách mong muốn.
3.3.1 Tính toán động học thuận
Bài toán động học thuận liên quan đến việc mô tả vị trí và hướng của phần công tác thông qua hàm số của biến khớp Khi giải bài toán này, chúng ta cần xác định cấu hình của robot và quy luật chuyển động của các khâu, từ đó xác định quy luật chuyển động của bàn kẹp, hay còn gọi là điểm tác động cuối Phương pháp hình học giải tích là một trong những cách tiếp cận để giải quyết bài toán động học thuận này.
Để giải quyết các bài toán tổng quát liên quan đến 33 cơ cấu đơn giản, cần áp dụng một phương pháp giải chung Hai phương pháp chính thường được sử dụng là phương pháp Denavit-Hartenberg và phương pháp Craig Trong luận văn này, tôi sẽ trình bày chi tiết về phương pháp Denavit-Hartenberg mà tôi đã ứng dụng.
Hình 3.4 Hình minh họa động học thuận của cánh tay robot
Ma trận chuyển đổi tổng quát giữa link i và i+1:
Bảng 3.1 Thông số D – H của tay máy robot
Với thông số thiết kế gồm L1 = 0mm, d1 = 100mm, L2 = 120mm, L3 = 120mm và L4 = 100mm, A biểu thị khoảng cách giữa hai trục Z, alpha là góc giữa hai trục Z, d là khoảng cách giữa hai trục X, và theta là góc giữa hai trục X.
Các ma trận chuyển đổi:
3.3.2 Tính toán động học nghịch Động học ngƣợc là bài toán xác định góc quay của các khớp khi biết vị trí khâu tác động cuối của robot Đặc điểm:
Không có phương pháp tổng quát
Nghiệm cũng không duy nhất
Tính toán động học nghịch bằng phương pháp hình học:
Ta có: L1 = 0mm, d1 = 100mm, L2 = 120mm, L3 = 120mm, L4 100mm
Bảng 3.2 Công thức tính động học nghịch
Thông số Công thức tính atan2(y, x) d √
Q sẽ có giá trị trong khoảng 0 đến 120 độ r3 d – L4*cos(Q) z3 z + L4*sin(Q) s √ α | atan2(z3 - d1, r3) | α +
Bài toán động học nghịch nhằm xác định các thông số động học cần thiết để đảm bảo chuyển động chính xác của phần công tác Mặc dù một số trường hợp có thể tìm ra nghiệm qua toán học, nhưng những nghiệm này có thể không khả thi về mặt vật lý do các ràng buộc kết cấu của robot Do đó, việc tìm ra nghiệm phù hợp yêu cầu người thiết kế phải có trực giác về toán học và kết cấu, giúp dự đoán các đặc điểm hoặc khu vực có thể giảm số lượng nghiệm cần xem xét.
ĐÁNH GIÁ VÀ KẾT QUẢ
Chuẩn bị dữ liệu
Dữ liệu chuẩn bị cho thực nghiệm bao gồm hai tập dữ liệu chính: cử chỉ tay và sạc điện thoại Tập dữ liệu cử chỉ tay được xây dựng nhằm tạo ra dữ liệu huấn luyện cho các thuật toán AI nhận diện cử chỉ, trong khi tập dữ liệu sạc điện thoại phục vụ cho việc đào tạo thuật toán Yolo phát hiện vật thể và gửi tọa độ cho robot, giúp robot thực hiện việc gắp và thả vật theo cử chỉ.
Bài viết này đề cập đến bộ dữ liệu gồm 38 tập, trong đó có 2000 ảnh được gán nhãn theo 4 loại, mỗi loại chứa 500 ảnh Ngoài ra, bộ dữ liệu còn bao gồm 200 ảnh liên quan đến việc sạc điện thoại Bảng 4.1 dưới đây sẽ mô tả chi tiết bộ dữ liệu về cử chỉ tay của con người.
Bảng 4.1 Bộ dữ liệu 1 sử dụng để nhận diện cử chỉ
Dữ liệu điều khiển Số lƣợng dữ liệu Nhãn
Bảng 4.2 Bộ dữ liệu 2 bao gồm các hình ảnh về sạc điện thoại
Dữ liệu nhận diện vật cần gắp cho Robot Số lƣợng dữ liệu
Phương pháp thực nghiệm
Phương pháp 1: Thực nghiệm với phương pháp học máy truyền thống
Hình 4.2 Thực nghiệm với phương pháp học máy truyền thống
- Bước 1: Xây dựng CSDL ảnh cho 4 cử chỉ tay
- Bước 2: Tiền xử lý ảnh (giảm kích thước, chuyển sang ảnh gray) [20]
- Bước 3: Sử dụng thuật toán HOG để tạo đặc trưng cho ảnh
- Bước 4: Huấn luyện mô hình nhận dạng cử chỉ tay người từ CSDL ảnh
- Bước 5: Thống kê độ chính xác với tỉ lệ đào tạo (70%), kiểm thử (30%)
Kết quả đạt đƣợc không cao, chỉ trong khoảng 59.6%~77.9%
Phương pháp 2: Thực nghiệm với phương pháp học máy truyền thống áp dụng một số kỹ thuật xử lý ảnh nhận diện vùng da
Hình 4.3 Thực nghiệm với phương pháp học máy truyền thống áp dụng một số kỹ thuật xử lý ảnh nhận diện vùng da
- Bước 1: Xây dựng CSDL ảnh cho 4 cử chỉ tay
- Bước 2: Tiền xử lý ảnh trong CSDL
Màu sắc được mô tả thông qua không gian màu HSV, bao gồm ba yếu tố chính: vùng màu, độ bão hòa màu và độ sáng Ứng dụng phổ biến nhất của mô hình HSV là trong việc lọc màu, giúp nhận diện và xử lý màu sắc một cách hiệu quả.
+ Tạo lớp mặt nạ, lọc nền, tạo viền, nhị phân ảnh
Sử dụng ngưỡng cố định trong không gian màu HSV, các điểm ảnh có giá trị H từ 0 đến 50 và giá trị S từ 0.23 đến 0.68 được xác định là điểm ảnh có màu da.
+ Tạo đường biên cho hình ảnh bàn tay
Bước 3 trong quy trình xử lý ảnh là chọn lọc đặc trưng bằng thuật toán HOG, nơi hình dạng của vật thể cục bộ được mô tả thông qua hai ma trận: ma trận độ lớn gradient và ma trận phương gradient Điều này giúp tạo ra các đặc trưng chính xác cho ảnh, hỗ trợ trong việc nhận diện và phân loại đối tượng hiệu quả hơn.
Bước 4 trong quá trình phát triển mô hình nhận dạng cử chỉ tay người là huấn luyện mô hình bằng cách sử dụng bộ cơ sở dữ liệu ảnh đã được xây dựng Bộ dữ liệu này chỉ nhằm mục đích so sánh độ chính xác giữa mô hình học máy truyền thống và mô hình học sâu hiện đại Vì vậy, số lượng loại cử chỉ được giới hạn chỉ còn 4 loại, với mỗi loại bao gồm 500 ảnh.
Bước 5 trong quá trình thống kê độ chính xác cho thấy tỉ lệ đào tạo và kiểm thử là 70/30 Kết quả đạt được không cao, dao động trong khoảng 64.2% đến 80.5% Ngoài ra, khi thực hiện thử nghiệm thực tế, hệ thống gặp nhiều sai số do chất lượng ảnh chụp thực tế không đảm bảo, có nhiều nhiễu và khác biệt lớn so với bộ cơ sở dữ liệu ảnh dùng để huấn luyện.
Phương pháp 3: Thực nghiệm với phương pháp Học sâu
Hình 4.4 Thực nghiệm với phương pháp Học sâu
- Bước 1: Xây dựng CSDL ảnh cử chỉ tay, ảnh sạc điện thoại
Bước 2 trong quy trình tiền xử lý bao gồm giảm kích cỡ và gán nhãn ảnh trong cơ sở dữ liệu Hai bước đầu tiên này chỉ cần thực hiện một lần khi xây dựng bộ dữ liệu ảnh huấn luyện cho phương pháp học máy truyền thống.
- Bước 3: Thiết lập các thông số convolution layer, fully connected layer cần thiết để ứng dụng mô hình CNN [21]
- Bước 4: Huấn luyện mô hình nhận dạng cử chỉ tay
Bước 5 trong quy trình phân tích là thống kê độ chính xác với tỉ lệ bộ đào tạo và test là 70/30 Kết quả cho thấy độ chính xác đạt 95.5%, vượt trội so với các mô hình huấn luyện sử dụng phương pháp học máy truyền thống.
Hình 4.5 Hình ảnh minh họa kết quả thực tế
Nhận diện vật thể robot cần gắp là sạc điện thoại bằng thuật toán YOLO:
- Bước 1: Xây dựng CSDL vật thể ảnh sạc điện thoại
- Bước 2: Gán nhãn cho hình ảnh vật thể
- Bước 3: Huấn luyện bằng thuật toán YOLO độ chính xác ~96%, tính toán tọa độ của vật phát hiện đƣợc [21]
Hình 4.5 Thuật toán YOLO phát hiện vật thể gắp của robot
- Bước 4: Chuyển tọa độ của vật từ vision sang tọa độ của robot.
Bước 5: Tiến hành gắp vật theo tín hiệu điều khiển bằng cử chỉ tay Cử chỉ "up" sẽ thả giỏ 1, cử chỉ "down" thả giỏ 2, cử chỉ "high" thả giỏ 3, và cử chỉ "zero" chỉ gắp vật mà không thả.
Kết quả đánh giá
Kết quả từ hai mô hình huấn luyện với ba phương pháp khác nhau trên cùng một bộ CSDL ảnh chất lượng cao, đã được tiền xử lý và gán nhãn cẩn thận, cho thấy rằng trong bài toán nhận diện cử chỉ tay, việc áp dụng phương pháp học máy truyền thống kết hợp với các kỹ thuật xử lý ảnh nhận diện vùng da mang lại hiệu quả tốt hơn.
Các phương pháp học máy truyền thống thường xử lý ảnh bằng cách chuyển đổi về thang độ xám, nhưng gặp khó khăn trong việc chọn lọc đặc trưng hiệu quả do lượng nhiễu lớn trong dữ liệu Đánh giá với phương pháp học sâu cho thấy kết quả vượt trội, giúp đơn giản hóa quá trình huấn luyện mô hình nhận dạng mà không cần sự can thiệp của người huấn luyện trong việc trích xuất đặc trưng Hơn nữa, học sâu cho phép tái sử dụng các mô hình đã được huấn luyện trước, giảm thời gian cài đặt cho các bài toán nhận dạng mới Mặc dù thời gian đào tạo với thuật toán học sâu lên tới 684 giây, thời gian kiểm tra ảnh lại không có sự chênh lệch đáng kể so với các thuật toán học máy truyền thống, dao động từ 0.2 đến 0.58 giây/ảnh, trong khi học sâu là 0.6 giây/ảnh Biểu đồ 4.3 dưới đây thể hiện kết quả nhận diện cử chỉ tay của ba phương pháp khác nhau.
- Mask: áp dụng kỹ thuật xử lý ảnh nhận diện vùng da
- No mask: không áp dụng kỹ thuật xử lý ảnh nhận diện vùng da
Hình 4.6 Độ chính xác của các thuật toán ứng dụng
Hình 4.7 Biểu đồ thể hiện thời gian tiền xử lý - đào tạo của các thuật toán AI
Hình 4.8 Biểu đồ thể hiện thời gian dự đoán ảnh của các thuật toán AI
Với độ chính xác cao 95.5% của phương pháp CNN và thời gian dự đoán chỉ 0.6 giây mỗi ảnh, tôi đã ứng dụng phương pháp này kết hợp với robot tay máy thông minh, đạt tỷ lệ nhận dạng vật thể cần gắp lên đến 96.8% nhờ vào phương pháp YOLO Hệ thống hoạt động ổn định, đáp ứng yêu cầu điều khiển robot để gắp và thả vật (sạc điện thoại) vào các giỏ tương ứng: cử chỉ "up" để thả vào giỏ 1, "down" cho giỏ 2, "high" cho giỏ 3, và cử chỉ "zero" chỉ để gắp vật mà không thả.
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Luận văn đã tổng hợp kiến thức về thị giác máy, trí thông minh nhân tạo và hệ thống điều khiển robot, đồng thời áp dụng các kỹ thuật học máy và học sâu để đánh giá hiệu năng ứng dụng của từng thuật toán Qua phân tích và đánh giá, luận văn đã rút ra một số nội dung chính quan trọng.
- Thực hiện tốt chức năng: nhận dạng cử chỉ bàn tay, nhận diện vật cần gắp cho robot tay máy
- Nghiên cứu lý thuyết các thuật toán AI
- Nghiên cứu lý thuyết xử lý ảnh
- Xây dựng giải thuật nhận dạng cử chỉ bàn tay hoạt động thành công
- Xây dựng đƣợc giải thuật nhận dạng điều khiển robot
- Thực hiện hoàn thiện mô hình AI-Vision kết nối với robot tay máy 4 bậc tự do Hệ thống chạy đảm bảo đáp ứng yêu bài toán đƣa ra
- Chưa hoạt động tốt trong môi trường nhiễu nhiều vật thể
- Thời gian đào tạo dữ liệu cao
Hướng phát triển của đề tài:
Để cải thiện đề tài và nâng cao khả năng ứng dụng thực tiễn, tôi sẽ tiếp tục nghiên cứu sâu hơn nhằm tối ưu hóa hệ thống về độ chính xác và thời gian xử lý Bên cạnh đó, tôi cũng sẽ phát triển hướng nghiên cứu với nhiều cử chỉ con người hơn, nhằm tạo ra khả năng điều khiển và tương tác với robot một cách linh hoạt hơn.
[1] Yu Sun, Yuan Liu, Guan Wang, and Haiyan Zhang, “Deep Learning for Plant Identification in Natural Environment”, School of Information Science and Technology, Beijing Forestry University,
[2] MihainDaniel RADU, Ilona Madalina COSTEA, Valentin Alexandru
STAN, “Automatic Traffic Sign Recognition Artificial Inteligence - Deep Learning Algorithm”, 25-27 June 2020
[3] Wun-Hwa Chen, Sheng-Hsun Hsu , Hwang-Pin Shen, “Application of SVM and ANN for intrusion detection”, National Taiwan University, No 1, Section 4, Roosevelt Road, Taipei 106, Taiwan
[4] Durgesh K Srivastava, Lekha Bhambh, “Data classification using support vector machine”, Journal of Theoretical and Applied Information Technology 12(1):1-7, february 2010
[5] N Dalal and B Triggs ”Histograms of oriented gradients for human detection”, IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05), 20-25 June 2005
[6] Shyava Tripathi, Rishi Kumar, “Image Classification using small
Convolutional Neural Network”, International Conference on Cloud
Computing, Data Science & Engineering (Confluence), DOI:
[7] K Sobottka, I Pitas, “Extraction of facial regions and features using color and shape information”, Computer Science, Proceedings of
13th International Conference on Pattern Recognition, 25 August
[8] A Shimada, T Yamashita and R - I Taniguchi, “Hand gesture based
TV control system - towards both user - & machine-friendly gesture applications”, in Proceedings of the 19th Korea-Japan Joint
Workshop on Frontiers of Computer Vision (FCV '13), ISBN: 121–
[9] Zhi-hua Chen, Jung-Tae Kim, Jianning Liang, Jing Zhang and Yu-
Bo Yuan “Real-Time Hand Gesture Recognition Using Finger Segmentation” The Fundamental Research Funds for the Central Universities, ISSN: 1923-4007, 3(7), 36-43, 2014
[10] Lifan Fei, Jin He.” A three-dimensional Douglas–Peucker algorithm and its application to automated generalization of DEMs”,
International Journal of Geographical Information, Science,
[11] Vincent Mühler, “Simple Hand Gesture Recognition using OpenCV and JavaScript”, Medium, ISBN: 978-604-93-8961-0, 3-16, Sep 5,
[12] Chao Hy Xiang Wang, Mrinal K Mandal, Max Meng and Donglin
Li, "Efficient Face and Gesture Recognition Techniques for Robot Control", CCECE, 1757-1762, Sep 5, 2017
[13] AsanterabiMalima, ErolOzgur and Mujdat Cetin, "A Fast Algorithm for Vision-Based Hand Gesture Recognition for Robot Control", IEEE International Conference on Computer Vision, 2006
[14] Harish Kumar Kaura, VipulHonrao, SayaliPatil, PravishShetty,
"Gesture Controlled Robot using Image Processing", IJARAI 2013,
[15] Amiraj Dhawan, Anuradha Bhat, Soumya Sharma, Harish Kumar
Kaura, "Automated Robot with Object Recognition and Handling Features", IJECSE Volume 2, Number 3, Page 861-873, 2013.