intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Điều khiển xe lăn dựa trên nhận dạng ảnh trạng thái của bàn tay với board Intel Galileo

Chia sẻ: Wang Ziyi | Ngày: | Loại File: PDF | Số trang:8

19
lượt xem
1
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài viết đề xuất giải pháp điều khiển thông qua việc nhận dạng các cử động tay sử dụng board Intel Galileo. Thành phần chính của hệ thống bao gồm: một webcam làm nhiệm vụ chụp, gởi ảnh được kết nối qua cổng microUSB với board Intel Galieo chạy hệ điều hành Linux. Ngôn ngữ Python được sử dụng trong việc lập trình cài đặt các giải thuật nhận dạng ảnh. Kết quả nhận dạng các trạng thái của bàn tay sẽ được dùng để điều khiển hoạt động của xe lăn. Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

Nội dung Text: Điều khiển xe lăn dựa trên nhận dạng ảnh trạng thái của bàn tay với board Intel Galileo

  1. Hội Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015) Hội Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015) Điều Khiển Xe Lăn Dựa Trên Nhận Dạng Ảnh Trạng Thái Của Bàn Tay Với Board Intel Galileo Trương Phong Tuyên, Phạm Hoàng Lượm và Phạm Thanh Hùng Bộ môn Điện tử - Viễn thông, Khoa Công Nghệ, Trường Đại học Cần Thơ. Email: tptuyen@ctu.edu.vn, luom117984@student.ctu.edu.vn, hung117970@student.ctu.edu.vn. Hiện nay trên thế giới có nhiều phiên bản xe lăn được Abstract— Trong những năm gần đây, ở nước ta số ca đột quỵ đang có xu hướng ngày càng tăng và hầu hết bệnh nhân phải nghiên cứu với các phương pháp điều khiển đặc trưng riêng gánh chịu các di chứng bại liệt dẫn đến gặp khó khăn trong đi lại. biệt như: Trong một số trường hợp nhẹ, để di chuyển họ có thể tự điều − Xe điều khiển bằng joystick đòi hỏi người dùng phải khiển xe lăn. Tuy nhiên, với các trường hợp bị liệt bán thân và điều khiển bằng tay hoặc một chi bị tật mà chi còn lại tay còn lại cũng bị yếu không thể thao tác với cần điều khiển xe khỏe mạnhh thì mới có thể điều khiển xe lăn bằng thì những người này phải điều khiển xe thông qua các giải pháp phương pháp này. Nó không phù hợp cho người bị liệt, hỗ trợ như: nhận dạng sự di chuyển của mắt, cử động đầu v.v... yếu tất cả các chi [3]. Hiện tại hầu hết các giải pháp trên đều chạy trên máy tính do đó − Xe điều khiển bằng “hớp và thổi” như cách mà tiêu tốn nhiều điện năng và giá thành cao. Bên cạnh đó, Intel vừa cho ra mắt board Intel Galileo sử dụng chip Intel Quark X1000 Christopher Reeve . Theo đó, ông thổi vào một ống hút được sản xuất dựa trên dây chuyền công nghệ 14 nm phù hợp để làm xe lăn di chuyển, tuy nhiên phương pháp này cho các ứng dụng nhúng di động. Với mục tiêu thiết kế một hệ gây ra khó khăn trong việc hô hấp của chính người thống điều khiển xe lăn có giá thành hợp lý, nghiên cứu này đề khiển [4]. xuất giải pháp điều khiển thông qua việc nhận dạng các cử động − Xe lăn điều khiển bằng lưỡi của các chuyên gia tại Viện tay sử dụng board Intel Galileo. Thành phần chính của hệ thống Công nghệ Georgia của Mỹ đã nghiên cứu năm 2011, bao gồm: một webcam làm nhiệm vụ chụp, gởi ảnh được kết nối theo đó người sử dụng đeo bộ tai nghe có trang bị cảm qua cổng microUSB với board Intel Galieo chạy hệ điều hành biến nhằm thu nhận tín hiệu từ trường phát ra từ khuyên Linux. Ngôn ngữ Python được sử dụng trong việc lập trình cài đặt các giải thuật nhận dạng ảnh. Kết quả nhận dạng các trạng ở lưỡi [5]. thái của bàn tay sẽ được dùng để điều khiển hoạt động của xe − Xe lăn có thể điều khiển bằng sự chuyển động của đầu lăn. và sóng não con người được xem là một trong những phát minh hàng đầu ở Úc được đề xuất bởi GS Nguyễn Keywords- Điều khiển xe lăn, cử động tay, Intel Galileo, Hùng, Khoa Kỹ thuật và Công nghệ thông tin, Đại học Python, xử lý ảnh. Công nghệ Sydney, với chi phí lên đến khoảng 15.000 USD [6][19][23][25]. I. GIỚI THIỆU − Xe lăn điều khiển bằng đầu do Phòng Thí nghiệm Điều Mỗi năm tại Việt Nam có hơn 200.000 người bị đột quỵ (tai khiển Tự động, Khoa Điện-Điện tử, Đại học Bách Khoa biến mạch máu não), hơn 50% trong số đó tử vong và 90% số TPHCM thực hiện năm 2013 lại có khuyết điểm là gây người sống sót sau đột quỵ phải sống chung với các di chứng khó khăn trong việc quan sát cho người điều khiển [7]. về thần kinh và vận động… Hiện Việt Nam có khoảng 486.000 − Xe lăn điều khiển bằng mắt được nghiên cứu và thực người còn sống sau đột quỵ, tuy nhiên chỉ có khoảng 25-30% hiện tại trường Đại học Cần Thơ của Nguyễn Hữu tự đi lại phục vụ bản thân được, 20-25% đi lại khó khăn, cần sự Cường, Bộ môn Tự động hóa, Khoa Công Nghệ năm hỗ trợ của người khác trong sinh hoạt, 15-25% phải phụ thuộc 2011 thì lại có giá thành cao vì cần một máy tính xách hoàn toàn vào sự phục vụ của người khác [1]. Đối với hầu hết tay để điều khiển và cũng rất bất tiện trong việc quan sát các bệnh chịu các di chứng do đột quỵ thì xe lăn là phương xung quanh [8][20][21]. tiện di chuyển phù hợp. Ở mức độ bị liệt bán thân hoặc nặng Vào tháng 10 năm 2013, Intel cho ra mắt board Intel hơn thì sức lực của bàn tay không còn đủ để có thể thao táo với Galileo [9], có giá bán khoảng hai triệu đồng tại Việt Nam, sử cần điều khiển của các xe lăn truyền thống, khi đó họ phải dụng chip Intel Quark X100 với 16K Cache, 400MHz. Đây là dùng các giải thuật khác hỗ trợ việc điều khiển như: nhận dạng chip đầu tiên thuộc dòng Santa Clara của Intel được sản xuất sự di chuyển của mắt, cử động đầu, bằng ý nghĩ v.v... dựa trên dây chuyền công nghệ 14 nm với mức độ tiêu thụ điện [22][24][26][27]. Tuy nhiên những giải thuật này phải thực rất thấp, hỗ trợ tốt cho việc phát triển các ứng dụng nhúng di hiện trên máy tính do đó là có giá thành cao [2]. động [10]. ISBN: 978-604-67-0635-9 494 494
  2. HộiHội Thảo Quốc Thảo Gia Quốc 2015 Gia 2015về vềĐiện ĐiệnTử, Tử,Truyền TruyềnThông và Công Thông và CôngNghệ NghệThông ThôngTinTin (ECIT (ECIT 2015) 2015) Từ thực tế trên, chúng tôi đã quyết định thực hiện nghiên sẽ xuất các tín hiệu điều khiển thông qua các chân I/O. Các tín cứu “Điều khiển xe lăn dựa trên nhận dạng ảnh trạng thái của hiệu trên sẽ điều khiển các mạch công suất cấp nguồn cho hai bàn tay với board Intel Galileo”. Mục tiêu của nghiên cứu là động cơ hoạt động đưa xe đi thẳng hoặc rẽ trái, phải theo trạng thiết kế một hệ thống điều khiển xe lăn với kích thước nhỏ gọn, thái tay điều khiển. Bên cạnh đó, board Intel Galileo còn kết nhẹ, có giá thành hợp lý. Việc điều khiển xe chỉ bằng những cử nối với các module khác như: module LED hiển thị, module chỉ đơn giản của bàn tay không cần dùng nhiều sức lực và bàn cảm biến chạm. Ngoài ra, Board điều khiển trung tâm còn kết tay chỉ cần đặt trong một phạm vi khu vực cố định dưới sự ghi nối với card âm thanh để phát các thông báo hướng dẫn, thông nhận của webcam. tin về hoạt động của hệ thống. Trong thiết kế này, thành phần chính của hệ thống là board xử lý trung tâm Intel Galileo. Một webcam kết nối với board xử lý qua cổng microUSB để chụp và truyền ảnh bàn tay điều khiển. Board Intel Galileo chạy hệ điều hành Linux rút gọn từ thẻ nhớ. Trên hệ điều hành này, ngôn ngữ Python đã sử dụng trong việc lập trình cài đặt giải thuật nhận dạng ảnh trạnh thái của bàn tay. Kết quả nhận dạng các trạng thái của bàn tay sẽ được dùng để điều khiển hoạt động của xe lăn. Phần còn lại của bài viết được tổ chức như sau: trong phần II, chúng tôi mô tả các bước thực hiện của hệ thống. Việc kiểm tra, thực nghiệm trong vận hành của hệ thống sẽ được trình bày trong phần III. Cuối cùng, các kết quả đạt được, cũng như đề xuất hướng phát triển của nghiên cứu được tóm tắt trong phần kết luận. II. THIẾT KẾ HỆ THỐNG II.1 Phân tích hệ thống Hình 2. Sơ đồ luồng dữ liệu và nối kết của hệ thống. II.3 Phần cứng của hệ thống Hình 3 trình bày sơ đồ khối thiết kế phần cứng của hệ thống, bao gồm: • Board xử lý trong tâm: sử dụng board Intel Galileo với thẻ nhớ 8 GB để lưu trữ hệ điều hành Linux Image Galileo phục vụ việc chạy chương trình, đồng thời lưu trữ các hình chụp từ webcam. Do hệ thống rung lắc trong quá trình di chuyển nên đã được cố định board Galileo như Hình 4. • Bộ phận thu nhận ảnh: sử dụng webcam Logitech Hình 1. Sơ đồ tổng quát của hệ thống. C920, chụp hình ở chế độ Full HD 1080, ảnh có độ phân Sơ đồ Hình 1 mô tả hệ thống điều khiển xe lăn dựa trên giải 15 Mpixel. Đây là webcam trang bị ống kính Carl nhận dạng ảnh trạng thái bàn tay thực hiện trong nghiên cứu Zeiss, hỗ trợ chế độ lấy nét tự động và chống rung. Bên này. Ảnh bàn tay điều khiển xe lăn được chụp với độ phân giải cạnh đó webcam còn hỗ trợ kết nối qua cổng microUSB, 15 MPixel bởi một webcam, sau đó được truyền về board điều tương thích tốt với hệ điều hành Linux chạy trên board Intel khiển trung tâm, Intel Galileo, qua cổng microUSB. Trên Galileo. Một khung kim loại được sử dụng để cố định vị trí board điều khiển này, chương trình nhận dạng ảnh để xác định webcam, như Hình 5. trạng thái của bàn tay từ đó điều khiển xe lăn hoạt động. • Module biến đổi nguồn và ắc quy: do board Intel sử II.2 Thiết kế luồng dữ liệu dụng điện áp trong khoảng 3,3-5V nên module biến đổi Board Intel Galileo có thể kết nối và giao tiếp với 128 thiết điện áp sử dụng chip LM2596 của TI [13] được sử dụng để bị ngoại vi nhưng cần có một HUB USB để chia sẻ cổng kết hạ điện áp 12V của ắcquy xuống 5V với dòng tải 3A. Ắc- nối [11]. Hướng đi của luồng dữ liệu trong thiết kế này được quy được sử dụng là loại 12V – 7Ah dùng phổ biến cho xe mô tả như sau: xuất phát từ webcam Logitech C920 [12], dữ gắn máy. liệu ảnh được truyền đến board Galileo thông qua cổng Micro • Module điều khiển động cơ và động cơ gạt nước: USB Host trên board và được đưa và lưu trữ trong SD card module điều khiển công suất có điện áp điều khiển từ 12V- 8GB trên board. Sau đó chương trình xử lý ảnh viết bằng 26V, dòng tải lớn nhất là 10A, có hồi tiếp dòng và hỗ trợ Python sẽ đọc ảnh và phân thích ảnh này thành ảnh nhị phân, chế độ PWM được sử dụng để điều khiển cấp nguồn cho so sánh với các ảnh mẫu để xác định trạng thái hiện tại của bàn các động cơ. Do cần lực kéo mạnh để di chuyển xe, đặc biệt tay. Từ trạng thái nhận dạng được này, board xử lý trung tâm là ừ trạng thái đứng yên, nên chúng tôi đã chọn động cơ gạt 495 495
  3. Hội HộiThảo ThảoQuốc Quốc Gia 2015 về Gia 2015 vềĐiện ĐiệnTử, Tử,Truyền TruyềnThông Thôngvàvà Công Công Nghệ Nghệ Thông Thông Tin (ECIT Tin (ECIT 2015) 2015) nước của ô tô bán trên thị trường. Động cơ này đã có sẵn bộ giảm tốc nên có lức kéo lớn và điện thế sử dụng là 12V. Các động cơ này có lực kéo lớn đảm bảo cho xe hoạt động tốt với trọng lượng của một người trường thành khoảng 75 – 90Kg (với trọng lượng của xe và ắc quy là 35 Kg). Trong thiết kế này, hai động cơ gạt nước được sử dụng để thuận tiện trong việc điều khiển rẽ trái, phải của xe. Tuy nhiên, do không tồn tại hai động cơ hoàn toàn giống nhau về lực kéo Hình 6. Bố trí và lắp đặt động cơ gạt nước vào xe lăn. nên cần sử dụng điều khiển động rộng xung (PWM) để điều • Module âm thanh: gồm một card âm thanh kết nối vối chỉnh lại lực kéo giúp xe giữ thăng bằng và chạy thẳng, board điều khiển qua cổng USB và loa dùng để phát thông hoặc rẽ trái, phải một cách chính xác. Bố trí và lắp đặt các báo hướng dẫn người sử dụng. Do hệ điều hành Linux chạy động cơ xem ở Hình 6. trên board Intel Galileo là bản rút gọn nên chỉ hỗ trợ chương trình phát các file âm thanh theo các định dạng: wav, voc, raw và au với tần số mẫu là 48 KHz [15]. II.4 Phần mềm và giải thuật • Chương trình chính Dựa trên phân tích luồng dữ liệu của hệ thống, chúng tôi đã lập trình phần mềm nhận dạng và điều khiển xe lăn xe the lưu đồ giải thuật như ở Hình 7. Bắt Lời chào Hình 3. Sơ đồ kết nối các khối trong khối hệ thống. Người dùng có muốn lấy mẫu tay lại không ? Đ S Lấy mẫu tay Xử lý ảnh mẫu Hình 4. Bộ xử lý chính là board Intel Galileo [14]. Chụp lấy mẫu tay Tính toán giá trị sai lệch giữa ảnh mẫu gốc và ảnh Kiểm tra các giá trị đã tính toán với dữ liệu gốc Xuất GPIO điều khiển Hình 7. Lưu đồ giải thuật chương trình chính. Hình 5. Bộ phận thu nhận ảnh sử dụng webcam Logitech C920 Chương trình bắt đầu bằng lời chào được phát từ file audio được đặt cố định với một bàn điều khiển. thu âm sẵn. Tiếp theo đó là file audio hướng dẫn, người sử dụng có thể tiến hành điều khiển xe ngay hoặc lấy lại các ảnh 496 496
  4. Hội Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015) Hội Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015) mẫu bằng cách đặt tay lên cảm biến. Ở đây cần lưu ý là việc đó cần phải đơn giản, đòi hỏi ít tài nguyên của hệ thống. Vì thế lấy lại ảnh mẫu các trạng của tay dùng cho mục đích điều khiển giải thuật so sánh hai ảnh bằng phương pháp trừ ảnh đã được là cần thiết đối với một người sử dụng mới. Nếu người sử dụng chọn sử dụng trong trong thiết kế này với mục tiên có thể nhận chọn lấy lại mẫu chương trình sẽ thực hiện lấy mẫu tay liên tục dạng các ảnh trạng thái bàn tay cho phép điều khiển xe lăn di bằng cách gọi chương trình con lấy mẫu, ngược lại chương chuyển. trình sẽ tự động lấy file ảnh mẫu trong thẻ SD có sẵn và tiến Để việc nhận dạng cử chỉ tay cho kết quả tốt hơn ảnh sẽ hành xử lý tiếp. Giai đoạn tiếp theo là chương trình sẽ được tách làm 4 phần: trên, dưới, trái và phải; sau đó việc so liên tục thực hiện các lệnh so sánh giữa ảnh nhận từ webcam sánh sẽ tiến cho từng phần. Kết quả so sánh giữa ảnh chụp bàn chụp tay người điều khiển và tập các ảnh mẫu nhằm cho kết tay điều khiển và ảnh mẫu không thể trùng khớp với nhau. Sự quả điều khiển hoạt động của xe như mong muốn. sai biệt này là không thể tránh khỏi do đó trong thực tế ta cần • Chương trình nhận dạng ảnh định giá trị ngưỡng cho sai số này để có được kết nhận dạng Trong thiết kế này, chúng tôi đã chọn các trạng thái của hợp lý. Tuy nhiên để có kết quả nhận dạng tốt, tương ứng với bàn tay như bảng 1, dùng trong điều khiển xe lăn phù hợp với ngưỡng của sai số nhỏ, trong thiết kế này chúng tôi đã thực phương pháp xử lý ảnh cho mục đích nhận dạng. hiện một số cách nhằm hạn chế các nguyên nhân dẫn đến sai số Bảng 1. Thư viện ảnh mẫu các trạng thái của bàn tay. này. Các cách này sẽ được trình bày trong quá trình thiết kế và Tên trạng Điều Hình ảnh thực hiện hệ thống nhằm giải quyết những khó khăn phát sinh , Mô tả thái khiển mô tả nâng cao độ tin cậy của hệ thống đước thiết kế. Đây là Quá trình chụp ảnh bàn tay và nhận dạng ảnh để điều trạng thái khiển xe lăn được tiến hành theo 3 bước sau: Xe Không có ban đầu không di gì không có chuyển tay người điều khiển Bàn tay duỗi thẳng Xe đi Tay các ngón Nắm đấm Đấm cái thẳng tay khép (a) (b) lại Hình 8. Hai trạng thái của bàn tay được so sánh. Bàn tay - Bước 1: Tiến hành xuất nhị phân và làm mịn ảnh. duỗi thẳng ngón cái mở ra một Xe rẽ Tay cái góc 600- phải 750 và các ngón còn lại khép (a) (b) Các ngón Hình 9. Hai cử chỉ được xử lý sang ảnh nhị phân. tay co lại - Bước 2: Tiến hành cắt ảnh làm 4 phần được mô tả sát vào như Hình 10. lòng bàn Xe rẽ Đấm cái tay riêng trái ngón cái mở ra một góc 600- 750 Các ngón tay co lại Hình 10. Hai cử chỉ được xử lý sang ảnh nhị phân Xe dừng Nắm đấm sát vào và được cắt ảnh từng vùng với đơn vị pixel. và có còi lòng bàn Hai ảnh được chụp và lưu lại với kích thước 480x640 pixel tay sau đó ảnh được phân thành 4 vùng như trên Hình 10. - Bước 3: Tiến hành so sánh từ các phần của ảnh có được ở Hiện nay có nhiều giải thuật cho kết quả tốt trong nhận bước 2 với dữ liệu của ảnh mẫu tương ứng. Dựa vào kết quả so dạng ảnh cử chỉ của người để điều khiển các thiết bị như: hand sánh chương trình sẽ điều khiển xe di chuyển. tracking [16], leap montion [17], nhận dạng cử động của bàn Ở Hình 10, phần ảnh ở góc trái và phía trên hoàn toàn tay người theo thời gian thực [18]…Tuy nhiên để thực hiện giống nhau và phần ảnh bên dưới gần giống nhau. Trong khi được trên một board điều khiển như Intel Galileo thì giải thuật phần ảnh bên góc phải khác nhau hoàn toàn nên qua phép trừ 497 497
  5. HộiHội Thảo Quốc Thảo Gia Quốc Gia2015 2015về vềĐiện Điện Tử, Tử,Truyền Truyền Thông vàCông Thông và CôngNghệ Nghệ Thông Thông TinTin (ECIT (ECIT 2015) 2015) ảnh sẽ cho giá trị khác nhau rất nhiều. Dựa vào kết quả này ta sáng khác nhau sẽ cho ra hai ảnh nhị phân khác nhau. Vì thế có thể kết luận hai ảnh này không giống nhau. Chương trình khi tiến hành phép trừ ảnh sẽ cho các giá trị khác nhau và hệ nhận dạng được cài đặt trong nghiên cứu này cũng thực hiện thống sẽ xác định hai ảnh này là khác nhau. Ngoài ra cần chú ý theo cách trên để tìm ra ảnh mẫu gần nhất với ảnh của bàn tay bố trí các LED sáng này hợp lý để có được độ sáng nền cho điều khiển từ đó điều khiển các động của xe lăn. ảnh ổn định, tránh tình trạng ánh sánh không đều như Hình 14 dưới đây. III. THỰC NGHIỆM Biện pháp đầu tiên để giảm nhiễu, sai trong quá trình nhận dạng ảnh như đã trình bày ở phần II có thể kể đến là thực hiện bàn để tay. Mục đích của việc làm này là nhằm tránh chụp thêm các sự vật không mong muốn dẫn đến nhiều, sai không cần mong muốn trong quá trình nhận dạng. Bên cạnh đó bàn để (a) (b) tay cũng là nơi đặt tay của người điều khiển. Như thế người Hình 14. Ảnh bàn để tay khi được chiếu sáng không tốt do các điều khiển sẽ thực hiện các cử chỉ điều khiển xe trong phạm vi LED được vì đặt quá gần. bàn để tay giúp webcam có thể chụp ảnh chính xác. Ngoài ra Ảnh nhị phân ở Hình 14 (b) cho thấy độ chiếu sáng không đây còn là điểm tựa đặt tay giúp tránh mỏi tay cho người sử tốt. Nguyên nhân là do các LED được đặt quá gần. dụng. Tiếp theo chúng tôi tiến hành thực nghiệm chụp ảnh và so sánh các trạng thái của bàn tay với tập ảnh mẫu. − Thực nghiệm 1: khi so sánh một cử chỉ điều khiển không đúng với tập các ảnh mẫu. (a) (b) Hình 11. Bàn để tay có bố trí LED chiếu sáng. Hình 15. Hình ảnh mẫu đặt tay không đúng so với các mẫu gốc Trong trường hợp ảnh chụp được từ webcam ở những điều và đã được xử lý. kiện khác nhau có thể gây ra sai số rất lớn trong quá trình so Ảnh chụp bàn tay từ webcam sẽ được chuyển sang ảnh nhị sánh ảnh. Vì thế bàn để tay bố trí thêm các LED làm nhiệm vụ phân. Ảnh nhị phân thu được sẽ bị nhiễu do ảnh hưởng của môi chiếu sáng giúp ổn định độ sáng nền của ảnh chụp. Để có được trường do đó ta cần làm mịn ảnh. Hình 16 mô tả kết quả ảnh các ảnh chụp thuận lợi cho việc so sánh thông qua phép trừ ảnh nhị phân trước và sau khi làm mịn để giảm bớt thì các LED cần bố trí hợp lý. Kết quả thực nghiệm khi bố trí nhiễu. đèn LED như Hình 16. (a) (b) Hình 16. (a) Ảnh nhị phân chưa làm mịn. Ảnh có LED nền Ảnh không có LED nền (b) Ảnh sau khi làm mịn. Ảnh nhị phân sau khi được làm mịn, loại bớt nhiễu sẽ được (a) (b) chia làm 4 phần như trình bày ở phần II. Sau đó các phần của Hình 12. Hai ảnh thực tế giữa có LED nền và không có LED nền. ảnh sẽ được so sánh lần lượt dữ liệu tương ứng trong tập các ảnh mẫu. Các kết quả so sánh ở các hình từ Hình 17 đến Hình 20 cho trình bày việc so sánh ảnh chụp tay điều khiển khi so sánh với tập các ảnh mẫu. (a). Ảnh có LED nền (b). Ảnh không có LED nền đã được xử lý. đã được xử lý. Hình 13. Hai ảnh nền đã được xử lý. Hình 13 là ảnh chụp bàn để tay ở Hình 12 sau khi xử lý (a) (b) chuyển sang ảnh nhị phân. Dựa vào các ảnh nhị phân này ta Hình 17. (a) Ảnh mẫu trạng thái “tay”. thấy, mặc dù là 2 ảnh cùng 1 vị trí nhưng ở 2 điều kiện ánh (b) Ảnh chụp từ webcam. 498 498
  6. Hội Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015) Hội Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015) Hình 17 cho kết quả so sánh hai ảnh này không giống nhau lệch về vị trí đôi chút. Khi đó chương trình nhận dạng ảnh sẽ ở các phần: trên, dưới, trái và phải. xử lý như sau: Sử dụng hàm đếm các pixel khác 0 (countNonZero) cho các phần của ảnh chụp tay người sử dụng ta có: A=countNonZero(GocTraiAnhNguoiDung)= 3740 B= countNonZero(GocPhaiAnhNguoiDung)=3560 C= countNonZero(GocTreniAnhNguoiDung)= 63605 D= countNonZero(GocDuoiAnhNguoiDung)= 11348 Ta có các phần ảnh mẫu của tay: A1=countNonZero(GocTraiAnhMauGoc)= 3740 (a) (b) B1= countNonZero(GocPhaiAnhMauGoc)= 3560 Hình 18. (a) Ảnh mẫu trạng thái “tay cái”. C1= countNonZero(GocTreniAnhMauGoc)= 61500 (b) Ảnh chụp từ webcam . D1= countNonZero(GocDuoiAnhMauGoc)=11800 Hình 18 cho kết quả so sánh hai ảnh này không giống nhau Thực hiện việc trừ ảnh ch từng phần ảnh tương ứng và lấy ở các phần: trên, dưới, trái và phải. giá trị tuyệt đối ta được: SoSanhTrai = A − A1 = 0 (1) SoSanhPhai = B − B1 = 0 (2) SoSanhTren = C − C1 = 2105 (3) SoSanhDuoi = D − D1 = 452 (4) (a) (b) Hình 19. (a) Ảnh mẫu trạng thái “đấm cái”. (b) Ảnh chụp từ webcam. Hình 19 cho kết quả so sánh hai ảnh này không giống nhau ở các phần: trên, dưới, trái và phải. (a) (b) Hình 20. (a) Ảnh mẫu trạng thái “nắm đấm”. Hình 21. (a), (c) Ảnh tay người sử dụng. (b) Ảnh chụp từ webcam. (b), (d) Ảnh mẫu. Hình 20 cho kết quả so sánh hai ảnh này không giống nhau Theo Hình 21 ta thấy phần ảnh trái và phải của 2 ảnh là hoàn ở các phần: trên, dưới và trái. toàn giống nhau nên khi lấy giá trị tuyệt đối của hiệu số 2 giá Dựa vào tất cả các kết quả so sánh với 5 mẫu tay gốc . Ta trị pixel khác không ta được kêt quả là 0 (công thức (1) và (2)). kết luận ảnh mẫu đặt không đúng với bất kì mẫu gốc nào. Ở Kết quả cho phần ảnh trên và dưới có sự sai lệch so với ảnh trạng thái này hệ thống sẽ tính toán, nếu số lần sai lệch liên tục mẫu nên khi tính giá trị SoSanhTren và SoSanhDuoi sẽ cho ra 3 lần sẽ phát đoạn âm thanh cảnh báo cho người dùng và cho 2 kết quả khác 0 (công thức (3) và (4)). Kết quả thực nghiệm phép người dùng điều chỉnh lại tay điều khiển. cho thấy các giá trị này nằm trong khoảng sai lệch cho phép Tương tự với trạng thái tay đặt không đúng, nếu trên bàn nhận dạng cử chỉ trong Bảng 2. điều khiển có bất kì vật thể lạ nào thi sau khi được xử lý cũng Bảng 2. Phạm vi nhận dạng chuẩn của hiệu hai góc ảnh. sẽ cho kết quả tương tự và sẽ cảnh báo nếu liên tục 3 lần lấy mẫu liên tiếp vẫn không nhân dạng được cử chỉ. Phần ảnh Giá trị sai số cho phép (pixel) Trong thực tế ảnh tay người dùng điều khiển và ảnh mẫu Góc trên < 5500 gốc mặc dù đặt đúng trạng thái như yêu cầu nhưng vẫn có sự Góc dưới < 500 sai lệch về vị trí cũng như ảnh hưởng của môi trường khác Góc trái < 4000 nhau. Thực nghiệm Hình 21 sẽ cho ta thấy rõ sự sai lệch đó. Góc phải < 2500 Trên Hình 21 ta có (a) ảnh tay người sử dụng và (b) ảnh Nếu lấy một ảnh bất kì so sánh với chính nó thi các giá trị mẫu gốc. Hai ảnh này tương đối giống nhau vì người sử dụng so sánh trên, dưới, trái, phải sẽ là 0. Nhưng trong thực tế do có mặc dù để tay đúng trạng thái yêu cầu nhưng nhưng còn sai sự sai lệch vị trí đặt tay nên những giá trị so sánh thường không 499 499
  7. HộiHội ThảoThảo Quốc Quốc Gia Gia 2015về 2015 vềĐiện ĐiệnTử, Tử,Truyền TruyềnThông Thông và và Công CôngNghệ NghệThông ThôngTinTin (ECIT 2015) (ECIT 2015) bằng không. Dựa vào điều này, để có thể so sánh 2 ảnh chúng − Phần cứng: nâng cấp thêm cảm biến siêu âm xung ta cần đặt khoảng giới hạn cho từng vùng ảnh so sánh một quanh nhằm cảnh báo cho người dùng khi có vật cản bất khoảng tương đối. Khoàng giới hạn này được tính toán dựa ngờ hay đường rẽ bị giới hạn. Tiếp tục khảo sát tính toán, trên thực nghiệm để có được độ chính xác cao nhất. chọn lựa sử dụng động cơ chuyên dụng có công suất cao hơn giúp xe hoạt động tốt hơn. IV. KẾT QUẢ − Phần mềm: tiếp tục nghiên cứu, áp dụng các giải thuật Nghiên cứu đã thực hiện thành công xe lăn được điều khiển nhận dạng ảnh tốt hơn phù hợp với tài nguyên của hệ bằng trạng thái của bàn tay. Hình ảnh thực tế của xe lăn được thống. thiết kế như Hình 22. V. KẾT LUẬN Nội dung bài viết đã trình bày việc thiết kế, chế tạo và thử nghiệm xe lăn được điều khiển dựa trên việc nhận dạng ảnh trạng thái của bàn tay. Thiết kế sử dụng Intel Galileo chạy hệ điều hành Linux làm board xử lý trung tâm, kết hợp với một webcam làm nhiệp vụ chụp ảnh bàn tay điều khiển. Chương trình nhận dạng ảnh và điều khiển hệ thống viết bằng ngữ Python. Xe lăn được thiết kế hoạt động ổn định, ít phụ thuộc vào điều kiện chiếu sáng và có giá thành hợp lý (khoảng 10 triệu đồng). Tuy nhiên sản phẩm cần được tiếp tục hoàn thiện thêm để có thể đáp ứng nhu cầu tự đi lại của của những người gặp khó khăn trong di chuyển. TÀI LIỆU THAM KHẢO Hình 22. Hệ thống xe lăn trong thực tế. [1] Báo Việt Nam Net - vietnamnet.vn, 17/04/2015. URL: http://vietnamnet.vn/vn/doi-song/232841/dot-quy--nhung-con-so-am- Những khó khăn trong quá trình thực nghiệm, vận hành hệ anh-o-viet-nam.html thống đã được chúng tôi lần lượt giải quyết. Kết quả thực [2] Báo Khoa Học TV – khoahoc.tv, URL: nghiệm việc nhận dạng trạng thái của tay phục vụ mục đích http://khoahoc.tv/timkiem/%C4%91i%E1%BB%81u+khi%E1%BB%83 điều khiển xe lăn như Hình 23. n+xe+l%C4%83n/index.aspx [3] NCBI, URL: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2788504/ [4] Geni, 10/11/2014, URL: http://www.geni.com/people/Christopher-Reeve/6000000000558881209 [5] Báo Thanh Niên – thanhnien.com, 12/06/2011, URL: http://www.thanhnien.com.vn/khoa-hoc/dieu-khien-xe-lan-bang-luoi- 401069.html [6] Báo Đà Nẵng điện tử – baodanang.vn, 21/04/2014, URL: http://www.baodanang.vn/channel/5418/201404/gs-nguyen-hung-mong- xe-lan-thong-minh-som-den-viet-nam-2322983/ [7] Báo Tuổi Trẻ online – tuoitre.vn, 30/03/2014, URL: http://tuoitre.vn/tin/giao-duc/khoa-hoc/20140330/xe-lan-da-nang-dieu- khien-bang-dau/600556.html Hình 23. Biểu đồ xác suất nhận dạng đúng trong 20 lần thực nghiệm [8] Báo Cần Thơ online – baocantho.com.vn, 06/12/2011, URL: với mỗi mẫu trạng thái của bàn tay điều khiển. http://baocantho.com.vn/?mod=detnews&catid=185&id=93361 Quan sát biểu đồ trên có thể thấy xác suất nhận dạng đúng [9] Wikipedia – en.wikipedia.org, 17/10/2013, URL: cử của tất cả các cử chỉ đều trên 90%, xác suất nhận biết đúng https://en.wikipedia.org/wiki/Intel_Galileo cử chỉ giữa việc điều khiển bằng tay trái và tay phải là tương [10] Semiconvn – semiconvn.com, URL: đối giống nhau, do có sự sai khác vị trí khi đặt tay và điều kiện http://www.semiconvn.com/home/tin-tuc-vi-mach/san-pham-cong-nghe- ánh sáng môi trường nên xác suất nhận dạng đúng không đạt vi-mach/6964-tren-tay-bo-mach-galileo-cua-intel-tai-ces-2014-.html 100%. [11] Arduino in Cộng đồng Việt Nam – arduino.vn, URL: Các đoạn video ghi lại quá trình thử nghiệm xe lăn có thể http://arduino.vn/bai-viet/254-bai-1-gioi-thieu-so-luoc-ve-intel-galileo xem tại: [12] Logitech – logitech.com, URL: https://www.youtube.com/watch?v=XhlKb4x9CVU http://www.logitech.com/en-us/product/hd-pro-webcam-c920 https://www.youtube.com/watch?v=G8I8Egqgkbo [13] Texas Intruments – ti.com, URL: http://www.ti.com/lit/ds/symlink/lm2596.pdf Hướng cải tiến, tiếp tục hoàn thiện hệ thống mà chúng tôi sẽ tiếp tục thực hiện như sau: [14] Intel – intel.com, URL: http://newsroom.intel.com/docs/DOC-4413 [15] Stackoverflow – stackoverflow.com, URL: 500 500
  8. HộiHội Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015) Thảo Quốc Gia 2015 về Điện Tử, Truyền Thông và Công Nghệ Thông Tin (ECIT 2015) http://stackoverflow.com/questions/2546273/play-a-wave-file-in-linux [23] Srishti, Prateeksha Jain, Shalu, Swati Singh, "Design and Development [16] People csail, URL: of Smart Wheelchair using Voice Recognition and Head Gesture Control System", International Journal of Advanced Research in Electrical, http://people.csail.mit.edu/rywang/handtracking/s09-hand-tracking.pdf Electronics and Instrumentation Engineering Vol. 4, Issue 5, pp.4790- [17] Endadget – endadget.com, 22/07/2013, URL: 4798, May 2015. http://www.engadget.com/2013/07/22/leap-motion-controller-review/ [24] Rakhi A. Kalantri, D.K. Chitre, "Automatic Wheelchair using Gesture [18] Nasati, URL: Recognition", International Journal of Engineering and Innovative Technology (IJEIT) Volume 2, Issue 9, pp. 216-218, March 2013. http://data.vista.gov.vn:9000/kqnc/kq_chitiet.asp?id=12423 [25] Vijendra P. Meshram, Pooja A. Rajurkar, Mohini M. Bhiogade, [19] Pei Jia, Huosheng H. Hu, Tao Lu, Kui Yuan, "Head gesture recognition Arundhati C. Kharabe, Dhiraj Banewar, "Wheelchair Automation Using for hands‐free control of an intelligent wheelchair", Industrial Robot: Head Gesture", International Journal of Advanced Research in An International Journal, Vol. 34 Iss: 1, pp.60 - 68, 2007. Computer Science and Software Engineering, Volume 5, Issue 1, pp. [20] Gunda Gautam, Gunda Sumanth, Karthikeyan K C, Shyam Sundar, 641-646, January 2015. D.Venkataraman, "Eye Movement Based Electronic Wheel Chair For [26] Bhaurao Patil, Disha Tharval, Rajendra Pawar, Aditya Datar, Akanksha Physically Challenged Persons, International Journal Of Scientific & Bhargawa, 'Microcontroller Based Wheelchair", International Journal of Technology Research Volume 3, Issue 2, pp. 206-212, February 2014. Electrical and Electronics Research, Vol.3, Issue 2, pp.99-101, April - [21] Neena Mani, Aby Sebastian, Alen Mathews Paul, Alex Chacko, Anupa June 2015. Raghunath, "Eye Controlled Electric Wheel Chair" International Journal [27] Chhaya.G.Patil, Sayali.K.Gharge, Sonal.V.Modhave, Y.S.Angal, of Advanced Research in Electrical, Electronics and Instrumentation "Design Of Wheelchair Using Finger Operation With Image Processing Engineering Vol. 4, Issue 4, pp 2494-2497, April 2015. Algorithms", International Journal of Research in Engineering and [22] Sandeep, Supriya, "Gesture Controlled Wheel-Chair: A Review", Technology, Volume: 03 Issue: 02, pp.232-237, February 2014. International Advanced Research Journal in Science, Engineering and Technology (IARJSET) Vol. 2, Special Issue 1, pp. 27-31, May 2015. 501 501
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2