Tải bản đầy đủ (.pdf) (8 trang)

NHẬN DẠNG HÀNH VI UỐNG THUỐC SỬ DỤNG STEREO CAMERA

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (550.59 KB, 8 trang )

TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 4(39).2010

143
NHẬN DẠNG HÀNH VI UỐNG THUỐC SỬ DỤNG STEREO CAMERA
RECOGNITION OF MEDICATION INTAKE USING A STEREO CAMERA

Huỳnh Hữu Hưng
Trường Đại học
Bách khoa,Đại học Đà Nẵng,
Việt Nam
Jean Meunier
Đại học Montreal, Montreal,
Canada
Jean Meunier, Marc Daniel
Đại học Mediterranean,
Marseille, France

TÓM TẮT
Trong bài báo này, chúng tôi giới thiệu việc phát hiện (detect), theo dõi (tracking) các
đối tượng chuyển động như khuôn mặt, vùng miệng, vùng tay và lọ thuốc trong ngữ cảnh giám
sát hành vi uống thuốc sử dụng stereo camera, nhằm phục vụ nhận dạng hành vi uống thuốc
của người già, tại nhà riêng nhằm tránh việc sử dụng thuốc không đúng. Phương pháp trừ nền
được sử dụng để phát hiện các đối tượng chuyển động, sử
dụng thông tin màu để phát hiện
vùng màu da và lọ thuốc trong không gian màu RGB chuẩn hóa. Khoảng cách dịch chuyển tối
thiểu được sử dụng để theo dõi các vùng màu da và sử dụng tỉ lệ màu R/G để phát hiện vùng
miệng. Độ lệch (disparity) được sử dụng để xác định khoảng cách của đối tượng so với
camera, từ đó có thể quyết định liệu hai đối tượng che khuất có tiếp xúc với nhau hay không.
Kết quả thử
nghiệm cho thấy giải pháp đề xuất đơn giản và hiệu quả trong việc xác định trạng
thái tiếp xúc của các đối tượng khi che khuất, điều này cần thiết để cải thiện việc nhận dạng


hành vi uống thuốc.
ABSTRACT
In this paper, the detection and tracking of face, mouth, hands and medication bottles in
the context of medication intake monitored with a camera is presented. This is aimed at
recognizing medication intake for the elderly in their home setting to avoid an inappropriate use.
Background subtraction is used to isolate moving objects, and then, skin and bottle
segmentations are done in the RGB normalized color space. We use a minimum displacement
distance criterion to track skin color regions and the R/G ratio to detect the mouth. Then the
disparity is used for estimating the distance from the camera so that we can decide whether two
objects in occlusion are in genuine contact or not. The experiments show that the proposed
approach is very simple and efficient for detecting contact state of objects in occlusion, a
necessary step to further improve the detection and recognition of medication intake activity.

1. Đặt vấn đề
Ở các nước phát triển, tỉ lệ người cao tuổi tăng nhanh, đòi hỏi phải có các biện
pháp hiệu quả và tự động để chăm sóc những người lớn tuổi tại nhà riêng với chi phí bé
nhất. Với mục đích này, nhiều công cụ chăm sóc sức khỏe, công nghệ thông tin tích hợp
như chăm sóc di động (mobile-care), chăm sóc tại nhà (home-care), y tế từ xa
(telemedicine),… đã được đề xuất. Các thiết bị này nhằm thông báo trình trạng sức khỏe
của người già với gia đình hoặc với người chăm sóc.
Gần đây, nhiều cố gắng phát triển các hệ thống máy tính giám sát sử dụng
camera (computer vision) phục vụ giám sát việc uống thuốc ở người già [1], [2], [3].
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 4(39).2010

144
Các nghiên cứu này làm việc với một camera cố định nên gặp khó khăn trong việc xác
định trạng thái tiếp xúc giữa hai đối tượng che khuất từ góc nhìn của camera (hình 6),
điều này quan trọng và ảnh hưởng đến việc nhận dạng hành vi uống thuốc. Do vậy,
chúng tôi đề xuất sử dụng hệ thống stereo camera nhằm giúp xác nhận trạng thái tiếp
xúc giữa các đối tượng che khuất bằng cách tính khoảng cách giữa chúng, qua đó cải

thiện kết quả nhận dạng hành vi uống thuốc.
2. Kết quả nghiên cứu và khảo sát
2.1. Tổng quan hệ thống
Hệ thống nhận dạng hành vi uống thuốc đề xuất gồm nhiều bước : từ mức thấp
đến mức cao. Việc xử lý ở mức thấp bao gồm: xây dựng ảnh nền, phát hiện các đối
tượng chuyển động, phát hiện vùng màu da, phát hiện vùng mặt và vùng miệng, theo
dõi các đối tượng chuyển động. Ở mức cao, chúng tôi nhận dạng hành vi cơ bản
(primitive activity), hành vi đơn giản (simple activity) trong quá trình uống thuốc và
nhận dạng hành vi uống thuốc. Các phần tiếp theo mô tả vắn tắt các bước và chi tiết của
phương pháp được trình bày trong [4].










Hình 1. Tổng quan hệ thống giám sát hành vi uống thuốc.

2.2. Phát hiện các đối tượng chuyển động
Phương pháp trừ nền trong không gian màu YCrCb được sử dụng để phát hiện
đối tượng chuyển động. Ảnh nền được mô phỏng bởi các giá trị trung bình (
µ
Y
,
µ
Cr

,
µ
Cb
)
và sai số chuẩn (
δ
Y
,
δ
Cr
,
δ
Cb
), được học trong một khoảng thời gian nhất định và không
có mặt đối tượng chuyển động trong khoảng thời này [4].
Sau khi phát hiện đối tượng chuyển động, các vùng màu da được phát hiện trong không
gian màu rgb (RGB chuẩn hóa); với không gian màu này, thay đổi về độ sáng và màu da
giảm đáng kể. Tiếp theo, chúng tôi sử dụng phương pháp AdaBoost [5] để phát hiện đôi
mắt trong các vùng màu da nhằm xác định vùng mặt. Thực nghiệm cho thấy, sử dụng
AdaBoost để phát hiện đôi mắt nhanh hơn là phát hiện cả khuôn mặt khi sử dụng cùng
Xây dựng ảnh nền
Đối tượng chuyển động
Phát hiện vùng màu da
Xác định khuôn mặt
Phát hiện miệng
Phát hiện vùng tay
-
Ảnh đầu vào
Phát hiện lọ thuốc
Biểu diễn các đối tượng

Theo dõi các đối tượng
Nhận dạng hàng vi cơ sở
Nhận dạng hành vi đơn giản
Nhận dạng hành vi uống thuốc
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 4(39).2010

145
phương pháp. Việc phát hiện vùng miệng là cần thiết để nhận dạng chính xác hành vi
uống thuốc, sử dụng AdaBoost [5].
Sau khi phát hiện vùng mặt, các vùng màu da còn lại được giả thiết là cánh tay.
Việc phát hiện vùng ngón tay trong cánh tay dựa trên nếp gấp (edges, contours) và sử
dụng phương pháp Canny [7]. Vùng hình vuông có mật độ nếp gấp lớn nhất là vùng
ngón tay. Cuối cùng, việc phát hiện và theo dõi các lọ thuốc (được tô bởi các màu khác
nhau) được thực hiện dựa trên khoảng cách đối với vector màu trung bình của nó, sử
dụng phương pháp cắt ngưỡng (thresholding) [4].



(a) (b)
Hình 2. Minh họa kết quả phát hiện, theo dõi và nhận dạng hành vi uống thuốc : (a) phát hiện và theo dõi
các đối tượng, (b) nhận dạng hành vi uống thuốc sử dụng phương pháp phân cấp.

2.3. Theo dõi các đối tượng chuyển động
Chúng ta thấy rằng, chuyển động của các vùng màu da giữa hai khung ảnh
(frame) liên tiếp là tương đối nhỏ, do vậy chúng tôi sử khoảng cách dịch chuyển để theo
dõi các vùng màu da (vùng màu da trong gần nhất khung ảnh hiện tại so với vùng màu
da trong khung ảnh trước trước đó). Trong trường hợp có sự che khuất giữa các vùng
màu da (chẳng hạn như che khuất giữa vùng tay và vùng mặt), bộ lọc Kalman được sử
dụng để dự báo vùng có thể chứa vùng màu da và việc tìm kiếm được thực hiện trong
vùng dự báo dựa trên histogram của đối tượng tìm kiếm. Tỉ lệ màu R/G của các điểm

ảnh (pixel) và bộ lọc Kalman được sử dụng để theo dõi vùng miệng [4]. Việc theo dõi
các lọ thuốc được thực hiện bằng các so sánh khoảng cách các đối tượng chuyển động
không phải vùng màu da với màu trung bình của mỗi lọ thuốc.
Vùng màu da được xác
định bị che khuất khi một trong các hình hộp bao của các vùng
màu da trong khung ảnh hiện tại chứa ít nhất hai tâm của các vùng màu da trong khung
ảnh trước đó. Đối với lọ thuốc, chúng được xác định là ẩn sau lọ thuốc khác hoặc ẩn sau
vùng tay (khi tay nắm lọ thuốc) dựa trên tiêu chí khoảng cách tối thiểu.
2.4. Nhận dạng hành vi uống thuốc
Hình 2(b) mô tả mô hình phân cấp ba mức để nhận dạng các kiểu uống thuốc
khác nhau. Ở m
ức thấp nhất, mỗi khung ảnh được phân tích để phát hiện hành vi cơ bản
Hành vi hoàn chỉnh
Chuỗi các hành vi đơn giản
Chuỗi sự kiện (event/primitive activities)
XXA
1
B
1
A
1
CDA
1
E A
2
B
2
A
3
B

3
CD
Chuỗi ảnh đầu đầu vào (frame)
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 4(39).2010

146
(ví dụ, X : sự kiện không quan tâm, A
i
: một tay nắm lọ thuốc i, C : một tay tiến gần và
che vùng mặt, D : một tay che khuất vùng miệng) dựa trên sự che khuất giữa các hình
hộp bao của các đối tượng (ví dụ như tay và lọ thuốc).
Bằng việc kết hợp các hành vi cơ bản, thuật toán tạo ra các hành vi đơn giản (ví dụ như
AB : mở/đóng lọ thuốc, CD : uống thuốc) và xét đến chuỗi thứ tự thực hiện các hành vi
đơn giản, hệ thống có thể nhận dạng được liệu hành vi uống thuốc có đúng hay không.
Chi tiết giải pháp nhận dạng hành vi uống thuốc được trình bày trong [4].
2.5. Vấn đề cho khuất giữa các đối tượng
Hệ thống mô tả trên đây có nhận dạng chính xác 98% hành vi uống thuốc [4].
Tuy nhiên, do sử dụng một camera nên trong một vài tình huống không thể phân biệt
được hai đối tượng thực sự tiếp xúc với nhau hay chỉ đơn giản là một đối tượng đứng
trước và che khuất đối tượng khác theo góc nhìn của camera (hình 6). Do vậy, chúng tôi
sử dụng stereo camera để xác định trạng thái tiếp xúc của hai đối tượng che khuất bằng
cách xác định vị trí của nó trong không gian 3D, nhờ vậy cải thiện được kết quả nhận
dạng hành vi uống thuốc.
2.6. Cải thiện che khuất với Stereo vision
Stereo vision là kỹ thuật sử dụng hai camera để đo khoảng cách giữa các đối
tượng. Cấu hình đơn giản nhất (hay cấu hình stereo chuẩn) sử dụng hai camera thẳng
hàng và cách nhau theo phương ngang (hình 3). Các ảnh của các camera được phân tích
để tìm các điểm chung. Sử dụng qui tắc tam giác đồng dạng và độ lệch của các điểm
chung để xác định khoảng cách (độ sâu) so với camera.








Hình 3. Cấu hình chuẩn của hệ thống hai camera với tiêu cự f và khoảng cách cơ sở T. Sự sai khác theo
phương ngang giữa p
l
và p
r
được gọi là (horizontal) disparity và cho phép tính koảng cách Z
P
của một
điểm P trong không gian 3D so với camera.

Độ lệch d của điểm P trong không gian 3D được định nghĩa là sự sai khác giữa
các hình chiếu của nó p
l
(ở ảnh trái) và p
r
(ở ảnh phải) so với các tâm của chúng (c
l

c
r
). Sử dụng khái niệm tam giác đồng dạng ở hình 3, chúng ta có được mối quan hệ giữa
độ lệch và và khoảng cách Z
P
của điểm P.

PrlP
ZTfppd /
=

=
(1)
T
f
p
r
p
l
∆Z
PQ

Q
P
Z
P
Z
Q
c
l

c
r
Bề mặt ảnh
Tâm ống kính
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 4(39).2010


147
hay
PP
dTfZ /
=

Trên thực tế, độ lệch được xác định theo điểm ảnh (tức là không đo ở hệ mét) và
không nhất thiết phải tính từ tâm ảnh (không phải lúc nào cũng xác định được tâm ảnh
một cách chính xác), do vậy quan hệ trên được viết lại thành:
Trong đó d
P
pxl
là độ lệch tính theo điểm ảnh và d
0
là một hằng số gắn với độ lệch
tâm ảnh và/hoặc các sai lệch khác. w là độ rộng của điểm ảnh và hằng số K = f T/w đều
được tính trong hệ mét.
Công thức (2) cho phép tính được khoảng cách của đối tượng so với camera từ
độ lệch, từ đó có thể xác định hai đối tượng che khuất có tiếp xúc với nhau hay không
hay chỉ đơn giản là một đối tượng đứng trước đối tượng khác thông qua việc so sánh độ
lệch hoặc khoảng cách của chúng (ví dụ như điểm P và Q trong hình 3). Hai đối tượng
tiếp xúc nhau khi độ lệch của chúng xấp xỉ như nhau (hoặc nhỏ hơn một ngưỡng).
Việc phát hiện trạng thái tiếp xúc của các đối tượng là quan trọng đối với việc nhận
dạng hành vi uống thuốc, ví dụ : cần phải xác nhận tay nắm/mở/đóng lọ thuốc hoặc tay
tiếp xúc với miệng khi uống thuốc. Trong phần sau, chúng tôi sử dụng stereo camera để
thực nghiệm giải pháp đề xuất.
2.6.1. Stereo Camera
Chúng tôi sử dụng camera Fujifilm FinePix REAL 3D W1 [10] với 2 CCD đồng
bộ có kích thước 1/2.3-inch, cách nhau 77 mm theo cấu hình chuẩn. Tiêu cự của camera
6,3mm (sử dụng góc nhìn rộng) và vùng tiêu cự từ 600 mm đến vô cùng. Các video

được ghi với tốc độ 30 khung hình/giây, với độ phân giải 640 x 480 điểm ảnh.
2.6.2. Tính độ lệch bằng phương đối sánh mẫu
Để tính độ lệch của đối tượng trong cặp ảnh đồng bộ (stereo pair-image), trước
hết chúng ta phát hiện đối tượng (tay, lọ thuốc, mặt và miệng) trong ảnh bên trái và sau
đó dung phương pháp đối sánh mẫu (template matching) để xác định vị trí của chúng ở
ảnh bên phải.
2.6.3. Xác định thông số camera bằng mô hình hai điểm
Để sử dụng công thức (2), chúng ta cần xác định các thông số khác nhau của
camera. Mặc dù nhà sản xuất đã cung cấp các giá trị f, khoảng cách T, tuy nhiên các giá
trị này là gần đúng. Hơn nữa, các thông số khác (ví dụ như c
l
, c
r
, w
pxl
) không được
cung cấp. Do vậy, chúng tôi đề xuất giải pháp dùng hai điểm trong không gian 3D để
xác định các thông số của camera. Do tiêu cự của camera từ 600 mm đến vô cùng nên
vùng quan tâm trong ngữ cảnh uống thuốc được thiết lập từ 600 mm đến 2000 mm để
xác định các thông số.
()
00
dd
K
wdd
Tf
Z
pxl
P
pxl

P
P
+
=
+
=

(
2)

TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 4(39).2010

148




Hình 4. Môi trường thực nghiệm nhận dạng hành vi uống thuốc.

Các thông số cần xác định gồm K và d
0
trong công thức (2). Do vậy, chúng tôi
chọn hai điểm ở hai đầu của vùng quan tâm, tức là một điểm ở khoảng cách 600 mm và
điểm còn lại ở khoảng cách 2000 mm so với ống kính của camera, độ lệch tương ứng
của hai điểm này là 69 và 0 điểm ảnh. Thay các giá trị này vào công thức (2) ta nhận
được K=59140 và d
0
=29,57. Lưu ý rằng, cấu hình chuẩn có điểm hội tụ ở vô cùng chứ
không phải ở khoảng cách 2000 mm, tuy nhiên, nhà sản xuất mô phỏng điểm hội tụ ở
khoảng cách 2 m [10] bằng cách sử dụng sai số/độ dịch (offset) trong độ lệch. Với (2),

chúng ta có thể tính được khoảng cách của các đối tượng so với camera, từ đó có thể
quyết định liệu chúng có tiếp xúc nhau hay không.
3. Kết quả và thảo luận
3.1. Kiểm tra mô hình đề xuất
Để kiểm tra mô hình đề xuất ở công thức (2), chúng tôi tính độ lệch cho 13 điểm
trong không gian 3D ở các khoảng cách từ 700 mm đến 1900 mm với bước nhảy 100
mm. Hình 5 mô tả kết quả thử nghiệm khoảng cách/độ lệch (đường xanh liền nét) so với
kết quả tính từ mô hình đề xuất (đường đỏ nét đứt) trong vùng quan tâm. Như chúng ta
thấy, sự sai lệch là rất bé, điều này khẳng định tính đúng đắng của mô hình đề xuất.

Hình 5. So sánh quan hệ khoảng cách/độ lệch của mô hình đề xuất (đường xanh liền nét) và kết quả thử
nghiệm (đường đỏ nét đứt).
3.2. Kết quả thử nghiệm phục vụ nhận dạng hành vi uống thuốc
Chúng tôi đã thử nghiệm với hai tính huống chính gặp phải trong ngữ cảnh uống
thuốc (1) che khuất giữa tay và lọ thuốc, và (2) che khuất giữa tay và vùng miệng (hình
6). Các tình huống này tương ứng với các hành vi cơ bản A
i
: một tay nắm lọ thuốc i và
0 m
m

600 m
m
Vùng quan tâm
2000 m
m
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 4(39).2010

149
D : một tay tiếp xúc vùng miệng. Khi xảy ra che khuất giữa các hình hộp bao của các

đối tượng này, (tay và lọ thuốc hoặc tay và miệng), hệ thống stereo camera được sử
dụng để xác định liệu các đối tượng che khuất thực sự tiếp xúc nhau hay không bằng
cách so sánh độ lệch hoặc khoảng cách.
Hình 6(a) thể hiện các ví dụ trong tình huống thứ nhất và hình 6(b) thể hiện tình
các ví dụ trong tình hướng thứ hai. Với một camera, cả ba trường hợp trong hình 6(a)
đều được nhận dạng là “nắm lọ thuốc”. Tuy nhiên, thông qua độ lệch, chúng ta xác nhận
chỉ có trường hợp thứ hai là tay nắm lọ thuốc. Chúng ta có thể sử dụng độ lệch mà
không cần đến công thức (2), tuy nhiên độ lệch không tuyến tính với khoảng cách nên
gây ra một số khó khăn trong việc xác định ngưỡng để xác nhận trạng thái tiếp của các
đối tượng.
(a) (b)
Hình 6. Thử nghiệm với các đối tượng che khuất : Tay (H), lọ thuốc (B) và miệng (M). d
X
và Z
X
là độ lệch
(pixels) và khoảng cách (mm) của đối tượng X so với camera. ∆
ZXY
là khoảng cách giữa X và Y.

Hình 6(b) thể hiện hai ví dụ của tình huống thứ 2. Với một camera, cả hai trường
hợp này đều được nhận dạng là “uống thuốc”. Trong tình huống thứ hai, khoảng cách
∆Z
HM
khác 0 do tay không phải là một điểm mà thể hiện hình dạng 3D và có độ dày nhất
định. Dọ vậy, phương pháp so sánh mẫu xét đến cả vùng tay chứ không chỉ xét đến
ngón tay.

4. Kết luận
Hệ thống giám sát hành vi uống trước do chúng tôi đề xuất trước đó có thể nhận

dạng với tỉ lệ chính xác 98% nhưng không thể phân biệt được hai đối tượng liệu hai đối
tượng có tiếp xúc nhau không hay một đối tượng đúng trước đối tượng kia. Trong bài
báo này, chúng tôi trình bày hệ thống stereo-camera để xác nhận trạng thái tiếp xúc của
các đối tượng thông qua việc tính vị trí của các đối tượng trong không gian 3D, từ đó
nhận dạng chính xác hơn hành vi uống thuốc.
TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ, ĐẠI HỌC ĐÀ NẴNG - SỐ 4(39).2010

150
Với 50% bênh nhận là người lớn tuổi dùng thuốc không đúng cách và hơn 30%
trong số đó xảy ra với người lớn hơn 50 tuổi [9], chúng tôi tin rằng hệ thống camera
giám sát hành vi uống thuốc sẽ đóng góp tích cực để nâng cao chất lượng cuộc sống
người cao tuổi.

TÀI LIỆU THAM KHẢO

[1] Batz, D., et al., A Computer Vision System for Monitoring Medication Intake. In:
The 2nd Canadian Conference on Computer and Robot Vision, pp. 362-369 (2005).
[2] Valin, M., et al., Video Surveillance of Medication Intake. In: IEEE Engineering in
Medicine and Biology Society, vol. 1, pp. 6396-6399 (2006).
[3] Ammouri, S. and G A. Bilodeau, Face and Hands Detection and Tracking Applied
to the Monitoring of Medication Intake. In: Canadian Conference on Computer and
Robot Vision, pp. 147-154 (2008).
[4] Huynh, H H., et al., Real-time Detection, Tracking and Recognition of Medication
Intake. In : World Academy of Science, Engineering and Technology, vol. 60: pp.
280-287 (2009).
[5] Viola, P. and M. Jones, Robust Real-time Object Detection. In : Int. J. Computer
Vision, vol. 1: pp. 511-518 (2001).
[6] Castrillon-Santana, M., et al., Face and Facial Feature Detection Evaluation:
Performance Evaluation of Public Domain Haar Detectors for Face and Facial.
VISAPP 2008, Funchal, Portugal. (2008).

[7] Canny, J., A Computational Approach to Edge Detection. In: IEEE Transactions on
Pattern Analysis and Machine Intelligence, vol. 8(6), pp. 679-698 (1986).
[8] Faugeras, Three-Dimensional Computer Vision: A Geometric Viewpoint. MIT
Press, Cambridge (1993).
[9] Nugent, C., et al., Can Technology Improve Compliance to Medication? Int.
Conference on Smart Homes and Health Telematic, Sherbrooke, QC, Canada, pp.
65-72 (2005).
[10] Fujifilm products,

×