1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Đ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

8 6 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 1,4 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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!

Trang 1

Đ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

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

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

Trong một số trường hợp nhẹ, để di chuyển họ có thể tự điều

khiển xe lăn Tuy nhiên, với các trường hợp bị liệt bán thân và

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

thì những người này phải điều khiển xe thông qua các giải pháp

hỗ trợ như: nhận dạng sự di chuyển của mắt, cử động đầu v.v

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 đó

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

được sản xuất dựa trên dây chuyền công nghệ 14 nm phù hợp

cho các ứng dụng nhúng di động Với mục tiêu thiết kế một hệ

thống điều khiển xe lăn có giá thành hợp lý, nghiên cứu này đề

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

Keywords- Điều khiển xe lăn, cử động tay, Intel Galileo,

Python, xử lý ảnh

I GIỚI THIỆU Mỗi năm tại Việt Nam có hơn 200.000 người bị đột quỵ (tai

biến mạch máu não), hơn 50% trong số đó tử vong và 90% số

người sống sót sau đột quỵ phải sống chung với các di chứng

về thần kinh và vận động… Hiện Việt Nam có khoảng 486.000

người còn sống sau đột quỵ, tuy nhiên chỉ có khoảng 25-30%

tự đi lại phục vụ bản thân được, 20-25% đi lại khó khăn, cần sự

hỗ trợ của người khác trong sinh hoạt, 15-25% phải phụ thuộc

hoàn toàn vào sự phục vụ của người khác [1] Đối với hầu hết

các bệnh chịu các di chứng do đột quỵ thì xe lăn là phương

tiện di chuyển phù hợp Ở mức độ bị liệt bán thân hoặc nặng

hơn thì sức lực của bàn tay không còn đủ để có thể thao táo với

cần điều khiển của các xe lăn truyền thống, khi đó họ phải

dùng các giải thuật khác hỗ trợ việc điều khiển như: nhận dạng

sự di chuyển của mắt, cử động đầu, bằng ý nghĩ v.v

[22][24][26][27] Tuy nhiên những giải thuật này phải thực

hiện trên máy tính do đó là có giá thành cao [2]

Hiện nay trên thế giới có nhiều phiên bản xe lăn được nghiên cứu với các phương pháp điều khiển đặc trưng riêng biệt như:

− Xe điều khiển bằng joystick đòi hỏi người dùng phải điều khiển bằng tay hoặc một chi bị tật mà chi còn lại khỏe mạnhh thì mới có thể điều khiển xe lăn bằng phương pháp này Nó không phù hợp cho người bị liệt, yếu tất cả các chi [3]

− Xe điều khiển bằng “hớp và thổi” như cách mà Christopher Reeve Theo đó, ông thổi vào một ống hút

để làm xe lăn di chuyển, tuy nhiên phương pháp này gây ra khó khăn trong việc hô hấp của chính người khiển [4]

− Xe lăn điều khiển bằng lưỡi của các chuyên gia tại Viện Công nghệ Georgia của Mỹ đã nghiên cứu năm 2011, theo đó người sử dụng đeo bộ tai nghe có trang bị cảm biến nhằm thu nhận tín hiệu từ trường phát ra từ khuyên

ở lưỡi [5]

− Xe lăn có thể điều khiển bằng sự chuyển động của đầu

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 Hùng, Khoa Kỹ thuật và Công nghệ thông tin, Đại học Công nghệ Sydney, với chi phí lên đến khoảng 15.000 USD [6][19][23][25]

− Xe lăn điều khiển bằng đầu do Phòng Thí nghiệm Điều khiển Tự động, Khoa Điện-Điện tử, Đại học Bách Khoa TPHCM thực hiện năm 2013 lại có khuyết điểm là gây khó khăn trong việc quan sát cho người điều khiển [7]

− Xe lăn điều khiển bằng mắt được nghiên cứu và thực hiện tại trường Đại học Cần Thơ của Nguyễn Hữu Cường, Bộ môn Tự động hóa, Khoa Công Nghệ năm

2011 thì lại có giá thành cao vì cần một máy tính xách tay để điều khiển và cũng rất bất tiện trong việc quan sát xung quanh [8][20][21]

Vào tháng 10 năm 2013, Intel cho ra mắt board Intel Galileo [9], có giá bán khoảng hai triệu đồng tại Việt Nam, sử dụng chip Intel Quark X100 với 16K Cache, 400MHz Đây là chip đầu tiên thuộc dòng Santa Clara của Intel được sản xuất dựa trên dây chuyền công nghệ 14 nm với mức độ tiêu thụ điện rất thấp, hỗ trợ tốt cho việc phát triển các ứng dụng nhúng di động [10]

Trang 2

Từ thực tế trên, chúng tôi đã quyết định thực hiện nghiê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

bàn tay với board Intel Galileo” Mục tiêu của nghiên cứu là

thiết kế một hệ thống điều khiển xe lăn với kích thước nhỏ gọn,

nhẹ, có giá thành hợp lý Việc điều khiển xe chỉ bằng những cử

chỉ đơn giản của bàn tay không cần dùng nhiều sức lực và bàn

tay chỉ cần đặt trong một phạm vi khu vực cố định dưới sự ghi

nhận của webcam

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 1 Sơ đồ tổng quát của hệ thống

Sơ đồ Hình 1 mô tả hệ thống điều khiển xe lăn dựa trên

nhận dạng ảnh trạng thái bàn tay thực hiện trong nghiên cứu

này Ảnh bàn tay điều khiển xe lăn được chụp với độ phân giải

15 MPixel bởi một webcam, sau đó được truyền về board điều

khiển trung tâm, Intel Galileo, qua cổng microUSB Trên

board điều khiển này, chương trình nhận dạng ảnh để xác định

trạng thái của bàn tay từ đó điều khiển xe lăn hoạt động

II.2 Thiết kế luồng dữ liệu

Board Intel Galileo có thể kết nối và giao tiếp với 128 thiết

bị ngoại vi nhưng cần có một HUB USB để chia sẻ cổng kết

nối [11] Hướng đi của luồng dữ liệu trong thiết kế này được

mô tả như sau: xuất phát từ webcam Logitech C920 [12], dữ

liệu ảnh được truyền đến board Galileo thông qua cổng Micro

USB Host trên board và được đưa và lưu trữ trong SD card

8GB trên board Sau đó chương trình xử lý ảnh viết bằng

Python sẽ đọc ảnh và phân thích ảnh này thành ảnh nhị phân,

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

tay Từ trạng thái nhận dạng được này, board xử lý trung tâm

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 hiệu trên sẽ điều khiển các mạch công suất cấp nguồn cho hai động cơ hoạt động đưa xe đi thẳng hoặc rẽ trái, phải theo trạng thái tay điều khiển Bên cạnh đó, board Intel Galileo còn kết nối với các module khác như: module LED hiển thị, module cảm biến chạm Ngoài ra, Board điều khiển trung tâm còn kết nối với card âm thanh để phát các thông báo hướng dẫn, thông tin về hoạt động của 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 C920, chụp hình ở chế độ Full HD 1080, ảnh có độ phân giải 15 Mpixel Đây là webcam trang bị ống kính Carl Zeiss, hỗ trợ chế độ lấy nét tự động và chống rung Bên cạnh đó webcam còn hỗ trợ kết nối qua cổng microUSB, tương thích tốt với hệ điều hành Linux chạy trên board Intel Galileo Một khung kim loại được sử dụng để cố định vị trí webcam, như Hình 5

• Module biến đổi nguồn và ắc quy: do board Intel sử dụng điện áp trong khoảng 3,3-5V nên module biến đổi điện áp sử dụng chip LM2596 của TI [13] được sử dụng để

hạ điện áp 12V của ắcquy xuống 5V với dòng tải 3A Ắc-quy được sử dụng là loại 12V – 7Ah dùng phổ biến cho xe gắn máy

• Module điều khiển động cơ và động cơ gạt nước: module điều khiển công suất có điện áp điều khiển từ 12V-26V, dòng tải lớn nhất là 10A, có hồi tiếp dòng và hỗ trợ chế độ PWM được sử dụng để điều khiển cấp nguồn cho các động cơ Do cần lực kéo mạnh để di chuyển xe, đặc biệt

là ừ trạng thái đứng yên, nên chúng tôi đã chọn động cơ gạt

Trang 3

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

nên cần sử dụng điều khiển động rộng xung (PWM) để điều

chỉnh lại lực kéo giúp xe giữ thăng bằng và chạy 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

động cơ xem ở Hình 6

Hình 3 Sơ đồ kết nối các khối trong khối hệ thống

Hình 4 Bộ xử lý chính là board Intel Galileo [14]

Hình 5 Bộ phận thu nhận ảnh sử dụng webcam Logitech C920

được đặt cố định với một bàn điều khiển

Hình 6 Bố trí và lắp đặt động cơ gạt nước vào xe lăn

• Module âm thanh: gồm một card âm thanh kết nối vối board điều khiển qua cổng USB và loa dùng để phát thông báo hướng dẫn người sử dụng Do hệ điều hành Linux chạy 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

Hình 7 Lưu đồ giải thuật chương trình chính

Chương trình bắt đầu bằng lời chào được phát từ file audio 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

Bắt

Người dùng

có muốn lấy mẫu tay lại không ?

Xử lý ảnh mẫu

Lấy mẫu tay Lời chào

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

Xuất GPIO điều khiển

Kiểm tra các giá trị đã tính toán với dữ liệu gốc

Đ

S

Trang 4

mẫu bằng cách đặt tay lên cảm biến Ở đây cần lưu ý là việc

lấy lại ảnh mẫu các trạng của tay dùng cho mục đích điều khiển

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 lấy lại mẫu chương trình sẽ thực hiện lấy mẫu tay liên tục

bằng cách gọi chương trình con lấy mẫu, ngược lại chương

trình sẽ tự động lấy file ảnh mẫu trong thẻ SD có sẵn và tiến

hành xử lý tiếp Giai đoạn tiếp theo là chương trình sẽ

liên tục thực hiện các lệnh so sánh giữa ảnh nhận từ webcam

chụp tay người điều khiển và tập các ảnh mẫu nhằm cho kết

quả điều khiển hoạt động của xe như mong muốn

• Chương trình nhận dạng ảnh

Trong thiết kế này, chúng tôi đã chọn các trạng thái của

bàn tay như bảng 1, dùng trong điều khiển xe lăn phù hợp với

phương pháp xử lý ảnh cho mục đích nhận dạng

Bảng 1 Thư viện ảnh mẫu các trạng thái của bàn tay

Tên trạng

thái Mô tả khiển Điều Hình ảnh mô tả

Không có

Đây là trạng thái ban đầu không có tay người điều khiển

Xe không di chuyển

Tay

Bàn tay duỗi thẳng các ngón tay khép lại

Xe đi thẳng

Tay cái

Bàn tay duỗi thẳng ngón cái

mở ra một góc 600

-750 và các ngón còn lại khép

Xe rẽ phải

Đấm cái

Các ngón tay co lại sát vào lòng bàn tay riêng ngón cái

mở ra một góc 600

-750

Xe rẽ trái

Nắm đấm

Các ngón tay co lại sát vào lòng bàn tay

Xe dừng

và có còi

Hiện nay có nhiều giải thuật cho kết quả tốt trong nhận

dạng ảnh cử chỉ của người để điều khiển các thiết bị như: hand

tracking [16], leap montion [17], nhận dạng cử động của bàn

tay người theo thời gian thực [18]…Tuy nhiên để thực hiện

được trên một board điều khiển như Intel Galileo thì giải thuật

đó cần phải đơn giản, đòi hỏi ít tài nguyên của hệ thống Vì thế giải thuật so sánh hai ảnh bằng phương pháp trừ ảnh đã được chọn sử dụng trong trong thiết kế này với mục tiên có thể nhận dạng các ảnh trạng thái bàn tay cho phép điều khiển xe lăn di chuyển

Để việc nhận dạng cử chỉ tay cho kết quả tốt hơn ảnh sẽ được tách làm 4 phần: trên, dưới, trái và phải; sau đó việc so sánh sẽ tiến cho từng phần Kết quả so sánh giữa ảnh chụp bàn tay điều khiển và ảnh mẫu không thể trùng khớp với nhau Sự sai biệt này là không thể tránh khỏi do đó trong thực tế ta cần định giá trị ngưỡng cho sai số này để có được kết nhận dạng hợp lý Tuy nhiên để có kết quả nhận dạng tốt, tương ứng với ngưỡng của sai số nhỏ, trong thiết kế này chúng tôi đã thực hiện một số cách nhằm hạn chế các nguyên nhân dẫn đến sai số này Các cách này sẽ được trình bày trong quá trình thiết kế và thực hiện hệ thống nhằm giải quyết những khó khăn phát sinh , nâng cao độ tin cậy của hệ thống đước thiết kế

Quá trình chụp ảnh bàn tay và nhận dạng ảnh để điều khiển xe lăn được tiến hành theo 3 bước sau:

Hình 8 Hai trạng thái của bàn tay được so sánh

- Bước 1: Tiến hành xuất nhị phân và làm mịn ảnh

Hình 9 Hai cử chỉ được xử lý sang ảnh nhị phân

- Bước 2: Tiến hành cắt ảnh làm 4 phần được mô tả như Hình 10

Hình 10 Hai cử chỉ được xử lý sang ảnh nhị phân

và được cắt ảnh từng vùng với đơn vị pixel

Hai ảnh được chụp và lưu lại với kích thước 480x640 pixel 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 ở bước 2 với dữ liệu của ảnh mẫu tương ứng Dựa vào kết quả so sánh chương trình sẽ điều khiển xe di chuyển

Ở Hình 10, phần ảnh ở góc trái và phía trên hoàn toàn giống nhau và phần ảnh bên dưới gần giống nhau Trong khi phần ảnh bên góc phải khác nhau hoàn toàn nên qua phép trừ

Trang 5

ảnh sẽ cho giá trị khác nhau rất nhiều Dựa vào kết quả này ta

có thể kết luận hai ảnh này không giống nhau Chương trình

nhận dạng được cài đặt trong nghiên cứu này cũng thực hiện

theo cách trên để tìm ra ảnh mẫu gần nhất với ảnh của bàn tay

điều khiển từ đó điều khiển các động của xe lăn

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 để

tay cũng là nơi đặt tay của người điều khiển Như thế người

điều khiển sẽ thực hiện các cử chỉ điều khiển xe trong phạm vi

bàn để tay giúp webcam có thể chụp ảnh chính xác Ngoài ra

đây còn là điểm tựa đặt tay giúp tránh mỏi tay cho người sử

dụng

Hình 11 Bàn để tay có bố trí LED chiếu sáng

Trong trường hợp ảnh chụp được từ webcam ở những điều

kiện khác nhau có thể gây ra sai số rất lớn trong quá trình so

sánh ảnh Vì thế bàn để tay bố trí thêm các LED làm nhiệm vụ

chiếu sáng giúp ổn định độ sáng nền của ảnh chụp Để có được

các ảnh chụp thuận lợi cho việc so sánh thông qua phép trừ ảnh

thì các LED cần bố trí hợp lý Kết quả thực nghiệm khi bố trí

đèn LED như Hình 16

Hình 12 Hai ảnh thực tế giữa có LED nền và không có LED nền

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ý

chuyển sang ảnh nhị phân Dựa vào các ảnh nhị phân này ta

thấy, mặc dù là 2 ảnh cùng 1 vị trí nhưng ở 2 điều kiện ánh

sáng khác nhau sẽ cho ra hai ảnh nhị phân khác nhau Vì thế khi tiến hành phép trừ ảnh sẽ cho các giá trị khác nhau và hệ thống sẽ xác định hai ảnh này là khác nhau Ngoài ra cần chú ý

bố trí các LED sáng này hợp lý để có được độ sáng nền cho ảnh ổn định, tránh tình trạng ánh sánh không đều như Hình 14 dưới đây

Hình 14 Ảnh bàn để tay khi được chiếu sáng không tốt do các

LED được vì đặt quá gần

Ảnh nhị phân ở Hình 14 (b) cho thấy độ chiếu sáng không tốt Nguyên nhân là do các LED được đặt quá gần

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

Hình 15 Hình ảnh mẫu đặt tay không đúng so với các mẫu gốc

và đã được xử lý

Ảnh chụp bàn tay từ webcam sẽ được chuyển sang ảnh nhị phân Ảnh nhị phân thu được sẽ bị nhiễu do ảnh hưởng của môi trường do đó ta cần làm mịn ảnh Hình 16 mô tả kết quả ảnh nhị phân trước và sau khi làm mịn để giảm bớt nhiễu

Hình 16 (a) Ảnh nhị phân chưa làm mị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 chia làm 4 phần như trình bày ở phần II Sau đó các phần của ả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

Hình 17 (a) Ảnh mẫu trạng thái “tay”

(b) Ảnh chụp từ webcam

(a) Ảnh có LED nền

đã được xử lý (b) Ảnh không có LED nền đã được xử lý

Ảnh có LED nền Ảnh không có LED nền

Trang 6

Hình 17 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

Hình 18 (a) Ảnh mẫu trạng thái “tay cái”

(b) Ảnh chụp từ webcam

Hình 18 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

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

Hình 20 (a) Ảnh mẫu trạng thái “nắm đấm”

(b) Ảnh chụp từ webcam

Hình 20 cho kết quả so sánh hai ảnh này không giống nhau

ở các phần: trên, dưới và trái

Dựa vào tất cả các kết quả so sánh với 5 mẫu tay gốc Ta

kết luận ảnh mẫu đặt không đúng với bất kì mẫu gốc nào Ở

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

3 lần sẽ phát đoạn âm thanh cảnh báo cho người dùng và cho

phép người dùng điều chỉnh lại tay điều khiển

Tương tự với trạng thái tay đặt không đúng, nếu trên bàn

điều khiển có bất kì vật thể lạ nào thi sau khi được xử lý cũng

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ỉ

Trong thực tế ảnh tay người dùng điều khiển và ảnh mẫu

gốc mặc dù đặt đúng trạng thái như yêu cầu nhưng vẫn có sự

sai lệch về vị trí cũng như ảnh hưởng của môi trường khác

nhau Thực nghiệm Hình 21 sẽ cho ta thấy rõ sự sai lệch đó

Trên Hình 21 ta có (a) ảnh tay người sử dụng và (b) ảnh

mẫu gốc Hai ảnh này tương đối giống nhau vì người sử dụng

mặc dù để tay đúng trạng thái yêu cầu nhưng nhưng còn sai

lệch về vị trí đôi chút Khi đó chương trình nhận dạng ảnh sẽ

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 B1= countNonZero(GocPhaiAnhMauGoc)= 3560 C1= countNonZero(GocTreniAnhMauGoc)= 61500 D1= countNonZero(GocDuoiAnhMauGoc)=11800

Thực hiện việc trừ ảnh ch từng phần ảnh tương ứng và lấy giá trị tuyệt đối ta được:

1 0

1 0

1 2105

1 452

Hình 21 (a), (c) Ảnh tay người sử dụng

(b), (d) Ảnh mẫu

Theo Hình 21 ta thấy phần ảnh trái và phải của 2 ảnh là hoàn toàn giống nhau nên khi lấy giá trị tuyệt đối của hiệu số 2 giá trị pixel khác không ta được kêt quả là 0 (công thức (1) và (2)) Kết quả cho phần ảnh trên và dưới có sự sai lệch so với ảnh mẫu nên khi tính giá trị SoSanhTren và SoSanhDuoi sẽ cho ra

2 kết quả khác 0 (công thức (3) và (4)) Kết quả thực nghiệm cho thấy các giá trị này nằm trong khoảng sai lệch cho phép nhận dạng cử chỉ trong Bảng 2

Bảng 2 Phạm vi nhận dạng chuẩn của hiệu hai góc ảnh

Phần ảnh Giá trị sai số cho phép (pixel)

Nếu lấy một ảnh bất kì so sánh với chính nó thi các giá trị

so sánh trên, dưới, trái, phải sẽ là 0 Nhưng trong thực tế do có

sự sai lệch vị trí đặt tay nên những giá trị so sánh thường không

Trang 7

bằng không Dựa vào điều này, để có thể so sánh 2 ảnh chúng

ta cần đặt khoảng giới hạn cho từng vùng ảnh so sánh một

khoảng tương đối Khoàng giới hạn này được tính toán dựa

trên thực nghiệm để có được độ chính xác cao nhất

Nghiên cứu đã thực hiện thành công xe lăn được điều khiển

bằng trạng thái của bàn tay Hình ảnh thực tế của xe lăn được

thiết kế như Hình 22

Hình 22 Hệ thống xe lăn trong thực tế

Những khó khăn trong quá trình thực nghiệm, vận hành hệ

thống đã được chúng tôi lần lượt giải quyết Kết quả thực

nghiệm việc nhận dạng trạng thái của tay phục vụ mục đích

điều khiển xe lăn như Hình 23

Hình 23 Biểu đồ xác suất nhận dạng đúng trong 20 lần thực nghiệm

với mỗi mẫu trạng thái của bàn tay điều khiển

Quan sát biểu đồ trên có thể thấy xác suất nhận dạng đúng

cử của tất cả các cử chỉ đều trên 90%, xác suất nhận biết đúng

cử chỉ giữa việc điều khiển bằng tay trái và tay phải là tương

đối giống nhau, do có sự sai khác vị trí khi đặt tay và điều kiện

ánh sáng môi trường nên xác suất nhận dạng đúng không đạt

100%

Các đoạn video ghi lại quá trình thử nghiệm xe lăn có thể

xem tại:

https://www.youtube.com/watch?v=XhlKb4x9CVU

https://www.youtube.com/watch?v=G8I8Egqgkbo

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:

− Phần cứng: nâng cấp thêm cảm biến siêu âm xung quanh nhằm cảnh báo cho người dùng khi có vật cản bất ngờ hay đường rẽ bị giới hạn Tiếp tục khảo sát tính toán, 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

− Phần mềm: tiếp tục nghiên cứu, áp dụng các giải thuật nhận dạng ảnh tốt hơn phù hợp với tài nguyên của hệ thống

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 [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-anh-o-viet-nam.html

[2] Báo Khoa Học TV – khoahoc.tv, URL:

http://khoahoc.tv/timkiem/%C4%91i%E1%BB%81u+khi%E1%BB%83 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

[8] Báo Cần Thơ online – baocantho.com.vn, 06/12/2011, URL:

http://baocantho.com.vn/?mod=detnews&catid=185&id=93361 [9] Wikipedia – en.wikipedia.org, 17/10/2013, URL:

https://en.wikipedia.org/wiki/Intel_Galileo [10] Semiconvn – semiconvn.com, URL:

http://www.semiconvn.com/home/tin-tuc-vi-mach/san-pham-cong-nghe-vi-mach/6964-tren-tay-bo-mach-galileo-cua-intel-tai-ces-2014-.html [11] Arduino in Cộng đồng Việt Nam – arduino.vn, URL:

http://arduino.vn/bai-viet/254-bai-1-gioi-thieu-so-luoc-ve-intel-galileo [12] Logitech – logitech.com, URL:

http://www.logitech.com/en-us/product/hd-pro-webcam-c920 [13] Texas Intruments – ti.com, URL:

http://www.ti.com/lit/ds/symlink/lm2596.pdf [14] Intel – intel.com, URL:

http://newsroom.intel.com/docs/DOC-4413 [15] Stackoverflow – stackoverflow.com, URL:

Trang 8

http://stackoverflow.com/questions/2546273/play-a-wave-file-in-linux

[16] People csail, URL:

http://people.csail.mit.edu/rywang/handtracking/s09-hand-tracking.pdf

[17] Endadget – endadget.com, 22/07/2013, URL:

http://www.engadget.com/2013/07/22/leap-motion-controller-review/

[18] Nasati, URL:

http://data.vista.gov.vn:9000/kqnc/kq_chitiet.asp?id=12423

[19] Pei Jia, Huosheng H Hu, Tao Lu, Kui Yuan, "Head gesture recognition

for hands‐free control of an intelligent wheelchair", Industrial Robot:

An International Journal, Vol 34 Iss: 1, pp.60 - 68, 2007

[20] Gunda Gautam, Gunda Sumanth, Karthikeyan K C, Shyam Sundar,

D.Venkataraman, "Eye Movement Based Electronic Wheel Chair For

Physically Challenged Persons, International Journal Of Scientific &

Technology Research Volume 3, Issue 2, pp 206-212, February 2014

[21] Neena Mani, Aby Sebastian, Alen Mathews Paul, Alex Chacko, Anupa

Raghunath, "Eye Controlled Electric Wheel Chair" International Journal

of Advanced Research in Electrical, Electronics and Instrumentation

Engineering Vol 4, Issue 4, pp 2494-2497, April 2015

[22] Sandeep, Supriya, "Gesture Controlled Wheel-Chair: A Review",

International Advanced Research Journal in Science, Engineering and

Technology (IARJSET) Vol 2, Special Issue 1, pp 27-31, May 2015

[23] Srishti, Prateeksha Jain, Shalu, Swati Singh, "Design and Development

of Smart Wheelchair using Voice Recognition and Head Gesture Control System", International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering Vol 4, Issue 5,

pp.4790-4798, May 2015

[24] Rakhi A Kalantri, D.K Chitre, "Automatic Wheelchair using Gesture Recognition", International Journal of Engineering and Innovative Technology (IJEIT) Volume 2, Issue 9, pp 216-218, March 2013 [25] Vijendra P Meshram, Pooja A Rajurkar, Mohini M Bhiogade, Arundhati C Kharabe, Dhiraj Banewar, "Wheelchair Automation Using Head Gesture", International Journal of Advanced Research in Computer Science and Software Engineering, Volume 5, Issue 1, pp 641-646, January 2015

[26] Bhaurao Patil, Disha Tharval, Rajendra Pawar, Aditya Datar, Akanksha Bhargawa, 'Microcontroller Based Wheelchair", International Journal of Electrical and Electronics Research, Vol.3, Issue 2, pp.99-101, April - June 2015

[27] Chhaya.G.Patil, Sayali.K.Gharge, Sonal.V.Modhave, Y.S.Angal,

"Design Of Wheelchair Using Finger Operation With Image Processing Algorithms", International Journal of Research in Engineering and Technology, Volume: 03 Issue: 02, pp.232-237, February 2014

Ngày đăng: 27/04/2022, 10:24

HÌNH ẢNH LIÊN QUAN

Sơ đồ Hình 1 mô tả hệ thống điều khiển xel ăn dựa trên nhận dạng ảnh trạng thái bàn tay thực hiện trong nghiên c ứ u  này - Đ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
Hình 1 mô tả hệ thống điều khiển xel ăn dựa trên nhận dạng ảnh trạng thái bàn tay thực hiện trong nghiên c ứ u này (Trang 2)
Hình 1. Sơ đồ tổng quát của hệ thống. - Đ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
Hình 1. Sơ đồ tổng quát của hệ thống (Trang 2)
Hình 5. Bộ phận thu nhận ảnh sử dụng webcam Logitech C920 - Đ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
Hình 5. Bộ phận thu nhận ảnh sử dụng webcam Logitech C920 (Trang 3)
Hình 6. Bố trí và lắp đặt động cơ gạt nước vào xel ăn. • Module âm thanh: gồm một card âm thanh kế t n ố i v ố i  board điều khiển qua cổng USB và loa dùng để  phát thông  báo hướng dẫn người sử dụng - Đ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
Hình 6. Bố trí và lắp đặt động cơ gạt nước vào xel ăn. • Module âm thanh: gồm một card âm thanh kế t n ố i v ố i board điều khiển qua cổng USB và loa dùng để phát thông báo hướng dẫn người sử dụng (Trang 3)
Hình 3. Sơ đồ kết nối các khối trong khối hệ thống. - Đ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
Hình 3. Sơ đồ kết nối các khối trong khối hệ thống (Trang 3)
Hình 7. Lưu đồ giải thuật chương trình chính. - Đ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
Hình 7. Lưu đồ giải thuật chương trình chính (Trang 3)
Hình 4. Bộ xử lý chính là board Intel Galileo [14]. - Đ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
Hình 4. Bộ xử lý chính là board Intel Galileo [14] (Trang 3)
thái Mô tả khi Điề ể un Hình mô tả ảnh Không có  - Đ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
th ái Mô tả khi Điề ể un Hình mô tả ảnh Không có (Trang 4)
Bảng 1. Thư viện ảnh mẫu các trạng thái của bàn tay. - Đ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
Bảng 1. Thư viện ảnh mẫu các trạng thái của bàn tay (Trang 4)
Hình 8. Hai trạng thái của bàn tay được so sánh. - Đ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
Hình 8. Hai trạng thái của bàn tay được so sánh (Trang 4)
Hình 22. Hệ thống xel ăn trong thực tế. - Đ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
Hình 22. Hệ thống xel ăn trong thực tế (Trang 7)
Hình 23. Biểu đồ xác suất nhận dạng đúng trong 20 lần thực nghiệm với mỗi mẫu trạng thái của bàn tay điều khiển - Đ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
Hình 23. Biểu đồ xác suất nhận dạng đúng trong 20 lần thực nghiệm với mỗi mẫu trạng thái của bàn tay điều khiển (Trang 7)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w