Một phương pháp sử dụng bộ lọc Kalman kết hợp với thuật toán bám ảnh...
description
Transcript of Một phương pháp sử dụng bộ lọc Kalman kết hợp với thuật toán bám ảnh...
Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011
VCCA-2011
Một phương pháp sử dụng bộ lọc Kalman kết hợp với thuật toán bám ảnh
Camshift nhằm nâng cao chất lượng bám trong các hệ thống robot tự động
tìm kiếm và bám bắt mục tiêu
A Method using Kalman Filter combining with Image Tracking Camshift
Algorithm to bring higher tracking Quality in automatically searching and
tracking target Robot System
Ngô Mạnh Tiến
Viện Vật Lý, Viện KH&CN Việt Nam
Email: [email protected]
Phan Xuân Minh
Đại Học Bách Khoa Hà Nội
Email : [email protected]
Hà Thị Kim Duyên
Đại Học Công Nghiệp Hà Nội
Email : [email protected]
Tóm tắt: Nhận biết chính xác mục tiêu là một vấn
đề rất quan trọng trong bài toán điều khiển Robot
bám đối tượng chuyển động. Bài báo đề xuất một
phương pháp mới nhằm đảm bảo phát hiện chính
xác mục tiêu trong môi trường có nhiễu tác động.
Phương pháp đề xuất là sự kết hợp giữa bộ lọc
Kalman và thuật toán bám ảnh Camshift. Các kết
quả thực nghiệm cho thấy chất lượng bám của
phương pháp đề xuất tốt hơn khi sử dụng đơn thuần
thuật toán bám ảnh Camshifft.
Abstract: To find exactly object is very important
in the control problem of automatic image tracking
Robot for moving object. The paper presents a new
method to guarantee searching the object exactly in
random invironment. the proposed method is the
compiling beetween Kalman filter and image
tracking Camshift algorithm. The experimental
results show the tracking quality of the system is
better than using only the image tracking Camshift
algorithm.
Keywords: Camshift, OpenCV, Kalman
Tracking, ATmega128, Computer Vision.
Ký hiệu Ký hiệu Đơn vị Ý nghĩa
x,y pixel tọa độ điểm ảnh
ijM Moment bậc i,j
kP Tâm của khung bám
R , P , Y rad góc quay Roll, Pitch, Yaw
Chữ viết tắt FOV Field of View
LOS Line of Sight
W Window
1. Mở Đầu
Môc tiªu
Camera èng kÝnh
vµ ®Õ quay
M¸y tÝnh xö lý
vµ ®iÒu khiÓn
H. 1 Cấu tạo cơ bản của một hệ bám ảnh tự động
Hệ thống tổng quan [3] bao gồm có 3 bộ phận chính
H. 2: (1) bộ cảm biến hình ảnh (camera), (2) bộ chấp
hành là các trục khớp quay (gimbal) và bánh xe có
gắn động cơ điện 1 chiều, và (3) máy tính PC và vi
điều khiển (bộ vi xử lý). Một vòng điều khiển phản
hồi, được gọi là vòng bám, liên tục hiệu chỉnh bộ
chấp hành để giữ trọng tâm của mục tiêu vào tâm
của trường nhìn viết tắt là FOV (Field Of View) của
bộ cảm biến. Bộ vi xử lý sẽ khép kín vòng này bằng
cách tính toán độ lệch để điều khiển cơ cấu chấp
hành. Các thành phần hoạt động theo thứ tự: (1) bộ
vi xử lý định vị tín hiệu mục tiêu trong các dòng
hình ảnh từ bộ cảm biến, (2) bộ vi xử lý ước lượng
trạng thái mục tiêu và tạo ra các lệnh điều khiển cơ
cấu chấp hành trên cơ sở các thông tin trạng thái, (3)
lệnh điều khiển được áp dụng vào LOS cảm biến, (4)
bộ cảm biến tạo ra một vòng video mới, và (5) quá
trình được lặp lại.
H. 2 Sơ đồ tổng quan của hệ thống
Cảm biến
Đế pan/tilt
Tầng bám ảnh
Xác định vị trí
mục tiêuTính toán LOS
Tầng điều khiển
Tạo luật
điều khiển
Vị trí
mục tiêu
Dự đoán vị trí mục tiêu
Trạng thái mục tiêu
Pixels
Các đo lường khácĐộng cơ xe
513
Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011
VCCA-2011
Trong bài báo này sẽ đi sâu vào phần xử lý ảnh bám
bắt đối tượng cần theo dõi [1,2]. Dùng các thuật toán
bám bắt ảnh để ước lượng vị trí mục tiêu, vị trí mục
tiêu thường được tính trên một ảnh con nhỏ được gọi
là cửa sổ mục tiêu. H. 3 mô tả cửa sổ mục tiêu
thường bao quanh mục tiêu. Khi đã xác định cửa sổ
mục tiêu ta sẽ chỉ xử lý một phần của trường nhìn
nằm bên trong cửa sổ này, khi đó các ảnh hưởng của
nhiễu loạn và ồn trong quá trình bám là bị triệt tiêu
lớn, làm cho hệ thống bám ổn định hơn. Tận dụng
ảnh trong cửa sổ để ước lượng ví trị mục tiêu cũng
tránh được hạn chế về số lượng cần xử lý. Như một
quy tắc, cửa sổ (thường là hình chữ nhật hoặc hình
vuông) nên có kích thước nhỏ nhất cần thiết để chắc
chắn hoàn thành mục tiêu.
Cửa sổ mục tiêu
H. 3 Cửa sổ mục tiêu
Dãy detector và
số liệu điện tử
Hiệu chỉnh pixel
và định dạng ảnh
Đế cảm biến có
khớp các-đăng
Bộ điều khiển
khớp các-đăng
servo
Xác định cửa
mục tiêu
Ước lượng vị trí
mục tiêu
Tìm breaklock
Ước lượng trạng
thái mục tiêu
Dự đoán vị
trí mục tiêu
Tạo luật điều
khiển vòng bám
Cảm biến ảnh có khớp các-đăngCác
pixel
Lệnh
khớp
các-
đăng
H. 4 Kiến trúc tổng thể của một vòng bám
Khi đã dùng các thuật toán bám ảnh và xác định
được vị trí mục tiêu, giá trị vị trí mục tiêu sẽ được
gửi sang phần điều khiển đế xoay nhằm mục đích
duy trì LOS hay là duy trì vị trí cửa sổ mục tiêu trên
tâm màn hình chính.
Các thuật toán bám đối tượng trong ảnh (Target
Tracking) rất đa dạng, phải kể đến một số thuật toán
như: Thuật toán KLT, Correlation-base template
matching, thuật toán Meanshift, thuật toán Camshift.
Trong bài báo này chúng tôi dùng thuật toán
Camshift để bám đối tượng dựa trên màu sắc ảnh.
2. Thuật toán bám ảnh Camshift Thuật toán Camshift [4,7,8] được phát triển trên cơ
sở thuật toán Meanshift. Camshift viết tắt của
“Continuously Adaptive Meanshift”. Nó bao gồm
thuật toán cơ sở Meanshift với thích ứng các bước
thay đổi kích cỡ của vùng. Các bước thực thi thuật
toán:
Các bước tiến hành thuật toán Camshift:
1. Kích chọn kích thước khung bám
2. Chọn vị trí khởi tạo của khung bám (cửa sổ bám)
3. Tính giá trị trung bình bên trong khung bám
4. Đặt tâm khung bám ở vị trí trung bình đã tính
trong bước 3
5. Lặp lại bước 3 và bước 4 cho đến khi hội tụ (hoặc
cho đên khi độ dịch chuyển vị trí tâm nhỏ hơn một
ngưỡng đặt trước)
Chứng minh hội tụ:
Giả sử trong không gian euclid có một phân bố f ,
ta sẽ chứng minh từng bước:
1 Chọn khung bám W có kích thước là s
2. Tâm của khung bám ở điểm Pk
3. Tính giá trị trung bình bên trong khung bám
1ˆ ( ) .k
j W
p W p jW
(1)
sự thay đổi là gradien của ( )kf p
( )ˆ ( )( )
kk k
k
f pp W p
f p
(2)
4. Tâm của khung bám:
ˆ ( )kp W (3)
5. Lặp lại bước 3 và bước 4 cho đến khi hội tụ
hoặc ( ) 0f p do đó thuật toán Camshift là hội tụ
Đối với ảnh 2D rời rạc thì vị trí tâm của khung bám
được tính như sau:
tìm Moment bậc không
00 ( , )x y
M I x y (4)
sau đó tính moment bậc 1 cho x và y:
00 01( , ); ( , )x y x y
M xI x y M yI x y (5)
và vị trí tâm của khung bám là:
10 01
00 00
; c c
M Mx y
M M (6)
ở đây ( , )I x y là giá trị điểm ảnh (xác suất phân bố)
tại vị trí (x,y) và x, y nằm trong khung bám.
Lưu đồ thuật toán Camshift:
H. 5 Lưu đồ thuật toán Camshift
ảnh HSV
Tính Histogram
của vùng tính toán
Xác xuất phân bố mầu
Tính trọng tâm
đối tượng
Đặt tâm khung bám vào tâm đối
tượng và tính diện
tích lại
Hội tụ
kích chọn khởi tạo
vị trí và kích thước
khung bám
thiết lập vùng tính
tại tâm khung bám
nhưng kích thước lớn hơn khung
bám
Sử dụng (X,Y) là tâm của khung bám, diện
tích khung là kích thước
của khung bám
Kết quả X, Y, Z và
Roll
514
Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011
VCCA-2011
Đầu tiên là một Histogram được tạo ra, Histogram
này chứa các thuộc tinh liên quan đến màu sắc và
tiếp theo tâm và kích cỡ của mục tiêu được tinh toán
để theo dõi mục tiêu khi hình dạng và kích cỡ của nó
thay đổi. Tính xác suất phân bố mục tiêu căn cứ và
Histogram nhận được. Dịch chuyển đến vị trí mới
với mỗi khung hình vừa nhận được từ video.
Camshift sẽ dịch chuyển đến vị trí mà nó ước lượng
trên đối tượng nó mà nó tập trung nhiều điểm sáng
nhất trong bức ảnh xác suất. nó tìm vị trí mới bắt
đầu từ vị trí trước đó và tính toán giá trị trọng tâm
vừa tìm được.
Trong bài báo này chúng tôi lập trình xử lý ảnh bám
bắt mục tiêu tự động trên nền Visual C 6.0 và có sử
dụng thư viện OpenCV của Intel có hỗ trợ
cvCamshift() để thực hiện thuật toán bám Camshift.
3. Kết hợp bộ lọc Kalman với thuật
toán bám ảnh Camshift Trong thuật toán bám đối tượng trong ảnh Camshift
được giới thiệu ở phần trên có thể thấy đối tượng
được bám tốt khi nền ảnh không ảnh hưởng đến đối
tượng, như lẫn màu hay che khuất đối tượng. Khi
đối tượng bám bị che khuất hay lẫn màu với nền
ảnh, sẽ gây ra hiện tượng mất bám. Để khắc phục
nhược điểm này và nâng cao chất lượng bám, bộ lọc
Kalman được sử dụng [3,6,7].
Sau khi tiến hành thuật toán Camshift ta sẽ có đượng
trạng thái hệ thống xk,, yk, vị trí x và y của đối tượng
tại thời điểm k. Sự đánh giá được đề cập phía trên ta
có thể sử dụng bộ lọc Kalman để tạo ra phương pháp
giới hạn vị trí của đối tượng hiệu quả hơn, điều đó là
để nói thay vì tìm kiếm đối tượng trong toàn bộ mặt
ph ng ảnh ta sẽ định nghĩa một cửa sổ tìm kiếm (hay
cửa sổ mục tiêu được dề cập trong phần 1) tập trung
vào giá trị dự đoán x k
của bộ lọc.
H. 6 Sơ đồ kết hợp bộ lọc Kalman và Camshift
Các bước sử dụng bộ lọc Kalman cho việc bám đối
tượng là:
ư c Kh i tạo k Trong bước này nó sẽ tìm
kiếm đối tượng trong toàn bộ bức ảnh do chúng ta
không biết vị trí trước của bức ảnh. Theo cách này ta
nhận được x0. Tương tự ta có thể đánh giá một lượng
dung sai lớn ban đầu (P0).
ư c ự đoán k 0). Trong giai đoạn này sử
dụng bộ lọc Kalman ta dự đoán vị trí tương đối của
đối tượng, như vậy vị trí x k
được coi như trung tâm
tìm kiếm để tìm kiếm đối tượng.
ư c iệu ch nh k Trong phần này ta đặt đối
tượng (là một chuỗi điểm được dự đoán trong trạng
thái tiên nghiệm x k
) và ta sử dụng vị trí thực của nó
(đo đạc) để thực hiện việc hiệu chỉnh trạng thái bằng
cách sử dụng bộ lọc kalman tìm kiếm x k
Bước 2 và 3 được thực hiện trong khi việc bám đối
tượng vẫn đang tiến hành.
Để minh họa những kết quả của việc dùng bộ lọc
kalman trong việc bám đối tượng, chúng tôi lựa
chọn cho bám theo một quả bóng và xem xét các
trường hợp sau:
a) Trong bài thử nghiệm này ta thực hiện bám theo
một quả bóng, quả bóng sẽ di chuyển tương đương
với một đường th ng tuyến tính, được miêu tả bởi hệ
thống các phương trình sau:
1 1,x x wk k k k kF (7)
1
1
1
1
1010
0101
0010
0001
k k
k k
k
k k
k k
x x
y yw
x x
y y
(8)
y xk k k kH v (9)
1000
0100
k
k k
k
k k
k
x
xm yv
ym x
y
(10)
H. 7 Sơ đồ tóm tắt của bộ lọc Kalman
Trong H. 8 là kết quả mô phỏng cho thấy vị trí ước
lượng bám rất sát với vị trí thực của đối tượng bám.
Camsifht Kalman
Dữ liệu ảnh mô hình
chuyển động
Vector đo lường và tín hiệu
không chắc chắn
ước lượng trạng
thái và phương sai
Ước lượng
với hiệu
chỉnh đo
Ước lượng
trạng thái
Khởi tạo 0 0
0 0 0 0 0
[x ]
[(x [x ])(x [x ] )]T
x E
P E E E
, 1 1ˆ ˆ
k k k kx F x
, 1 1 , 1
T
k k k k k k kP F P F Q
T
k kk T
k k k k
P HG
H P H R
ˆ ˆ ˆx x (y x )k k k k k kG H
( )k k k kP I G H P
515
Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011
VCCA-2011
H. 8 Kết quả dự đoán vị trí v i bộ lọc Kalman
b) Một lợi thế của bộ lọc Kalman cho việc bám bắt
đối tượng là nó có thể ước lượng được vị trí đối
tượng ngay cả khi bị che khuất nhỏ. Cách để thực
hiện việc này là xem xét hai giai đoạn của bộ lọc: dự
đoán và hiệu chỉnh. Có nghĩa là nếu việc giới hạn vị
trí của đối tượng là không trong một chuỗi của trạng
thái dự đoán của bộ lọc (trong thời điểm k), ta có thể
coi rằng đối tượng bị che khuất bởi một vài đối
tượng khác, do đó ta sẽ không thể dùng hiệu chỉnh
đo và sẽ chỉ lấy giá trị lọc tiên nghiệm vị trí của đối
tượng. H. 9 chỉ ra hoạt động của bộ lọc khi đối
tượng bị che khuất. Hệ thống này được mô hình với
những biểu thức tượng tự được dùng trong trường
hợp a).
H. 9 ộ lọc Kalman khi bị che khuất
c) Hầu hết các qu đạo chuyển động của đối tượng
là thay đổi phức tạp (thay đổi cả vân tốc và gia tốc)
không thể mô hình hóa bởi các hệ thống tuyến tính,
khi đó chúng ta phải dùng các phương trình phi
tuyến, do đó trong những trường hợp này ta sẽ dùng
bộ lọc kalman mở rộng EKF (Extended Kalman
Filter). H. 11 cho thấy rõ chất lượng bám sử dụng bộ
lọc Kalman mở rộng cho việc bám đối tượng với
qu đạo phức tạp tốt hơn h n của bộ lọc Kalman
thông thường. Với bộ lọc Kalman mở rộng được mô
hình hóa sử dụng các phương trình không giới hạn
chuyển động của Brownian:
1x ( ,x ) wk k kf k (11)
1
1
1
1
1exp( ( 1.5 ))
4
1exp( ( 1.5 ))
4w
1exp( )
4
1exp( )
4
k k
k
k kk
k
kk
k
k
x x
xy y
y
xx
y
x
(12)
( , )k k ky h k x v (13)
1000
0100
k
k k
k
k k
k
x
xm yv
ym x
y
(14)
H. 10 Sơ đồ tóm tắt của bộ lọc Kalman m rộng
H. 11 iệc theo d i các chu ển động ph c tạp sử dụng
bộ lọc Kalman m rộng
0 0
0 0 0 0 0
x [x ]
[(x [x ])(x [x ] )]T
E
P E E E
1
1,
x f(k,x ]
f(k,x) (k,x)
xx x
k k
k k
x t x t
hF H
x
, 1 1 , 1
T
k k k k k k kP F P F Q
T
k kk T
k k k k
P HG
H P H R
ˆ ˆ ˆx x y ( ,x )k k k k kG h k
( )k k k kP I G H P
Ước
lượng
trạng thái
Ước lượng với
hiệu chỉnh đo
Khởi
tạo
Tuyến
tính hóa
516
Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011
VCCA-2011
Trong khi bộ lọc Kalman thông thường, mô hình hệ
thống được sử dụng các phương trình của trường
hợp a).
4. Chạy thử nghiệm hệ thống Hệ thống để chạy thử nghiệm bao gồm một đế xoay
có gắn camera, một hộp điều khiển được thiết kế dựa
trên vi điều khiển AVR và một máy tính trung tâm
chứa phần mềm được lập trình các thuật toán bám
ảnh kết hợp với bộ lọc Kalman được viết trên nền
Visual C kết hợp sử dụng thư viện OpenCV của
Intel.
Để đáp ứng đủ yêu cầu về khả năng điều khiển cơ
cấu chấp hành và vừa có khả năng xử lý, chống
nhiễu tốt tôi chọn và sử dụng vi điều khiển AVR,
ATmega128 vì nó có đầy đủ tính năng và có khả
năng chống nhiễu tốt. Để sử dụng điều khiển các cơ
cấu chấp hành và kiểm soát tốc độ và góc quay
chúng tôi đã sử dụng một số linh kiện chuyên dụng
điều khiển cầu động cơ đó là dòng MC của Freescale
và DVR của Texas Intrument.
H. 12 Ảnh chụp hệ thống thử nghiệm
H. 13 Cấu trúc phần c ng của hệ thống
H. 14 Lưu đồ thuật toán
Cấu trúc của hệ bám gồm hai phần chính:
- Phần 1: xử lý ảnh dựa vào chuỗi hình ảnh thu được
từ camera để nhận dạng và tính toán vị trí của đối
tượng mục tiêu.
- Phần 2: là phần điều khiển, dựa vào thông số vị trí
đối tượng nhận được trong mặt ph ng ảnh, tính toán
tín hiệu điều khiển robot sao cho đối tượng di
chuyển được duy trì ở một vị trí nhất định trên mặt
ph ng ảnh và ở một khoảng cách nhất định.
Các kết quả chạy thử nghiệm khi dùng đơn thuần
Camshift (H. 15) và khi kết hợp thêm bộ lọc Kalman
(H. 16). Có thể thấy rõ khi kết hợp thêm bộ lọc
Kalman thì đã khắc phục được hiện tượng mất bám
mục tiêu khi mục tiêu bị lẫn vào nền ảnh.
5. Kết luận Bài báo trình bày về một phương pháp kết hợp bộ
lọc Kalman với thuật toán bám ảnh Camshift: lý
thuyết, phân các trường hợp mô phỏng và chạy thử
nghiệm so sánh kết quả trước khi và sau khi thêm bộ
lọc Kalman. Các kết quả cho thấy khi kết hợp thêm
bộ lọc Kalman chất lượng bám của hệ thống tốt hơn,
khi đối tượng bị che khất hệ vẫn duy trì bám tốt.
Một hạn chế của việc kết hợp thêm bộ lọc kalman
vào thuật toán bám đó là khối lượng tính toán lớn
hơn do đó thời gian xử lý lâu hơn, dẫn đến tốc độ
bám chậm: khi không có bộ lọc Kalman tốc độ bám
tầm 15÷20 frame/s, khi có bộ lọc Kalman tốc độ là
7÷10 frame/s. Tuy nhiên hạn chế này có thể khắc
phục bằng cách tăng tốc độ xử ý của CPU máy tính
hoặc nhúng thuật toán trên các DSP, hay FPGA
chuyên dụng.
Một hạn chế khác là khi đối tượng bị che khuất với
thời gian đủ lâu (trên 3s), hoặc khi có đối tượng
khác chuyển động cùng chiều che khuất dần cũng
dẫn đến hiện tượng mất bám. Điều này cũng mở ra
hướng phát triển tiếp theo là kết hợp thêm thuật toán
Correlation-base template matching sẽ có thể khắc
phục được hạn chế này.
Tài liệu tham khảo [1]. Giáo trình “Nhập môn xử lý ảnh số”, ĐH Bách
Khoa Hà Nội.
[2]. Nguyễn Văn Ngọ, “Xử lý ảnh dịch từ qu ển
Two Dimensional Signal and Image Processing
của tác giả Jae S Lim ”, 2002
[3]. Nathan Funk,: A Study of the Kalman Filter
applied to Visual Tracking, Project for CMPUT
652, 7- 2003
[4]. Gary Bradski and Adrian Kaehler: Learning
OpenCV Computer Vision with the OpenCV
Library; O’Reilly; 2008
[5]. David A. Forsyth & Jean Ponce, “Computer
vision a moderm approach”, Prentic Hall PTR,
2003
[6]. Erik Cuevas, Daniel Zaldivar, Raul Rojas:
Kalman filter for vision tracking, Technical
Report B 05-12, 2005
[7]. JYoung Min Kim: Object Tracking in a Video
Sequence, CS 229 Final Project Report, 2006
[8]. Ahmad Ali, Sikander Mirza: Object Tracking
using Correlation, Kalman Filter and Fast
Means Shift Algorithms, IEEE-ICET, 2008
Start
Chụp ảnh
Lấy mẫu
Histogram
Lọc nhiễu
Camshift+Kalman
Tính tọa độ
tâm, hướng
Giao tiếp
RS232,RF
Điều kiện
dừng
Khởi tạo
Dừng
Camera Xử lý ảnh
frame RF
RS232
ATmega128
RF
RS232
Driver ĐK
ĐC Công tác
hành trình
Cảm biến
Động cơ
Mạch VĐK Máy tính và lưu trữ
517
Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011
VCCA-2011
H. 15 Chụp các frame chạ thực nghiệm v i thuật toán bám Camshift không có bộ lọc Kalman
H. 16 Chụp các frame chạ thực nghiệm v i thuật toán bám Camshift có bộ lọc Kalman
Ngô Mạnh Tiến: Học Đại học
Bách Khoa Hà Nội, chuyên ngành
Điều khiển tự động từ năm 1996-
2001. Bảo vệ Thạc s năm 2004
và hiện nay đang theo học Tiến s
tại Đại Học Bách Khoa Hà Nội.
Hiện tại công tác tại phòng Quang
điện tử - Viện Vật Lý-Viện Khoa
Học và Công Nghệ Việt Nam.
Hướng nghiên cứu chính: Điều khiển quá trình, điều
khiển thông minh và thích nghi, hệ Mờ và mạng
Neuron, điều khiển Robot, Robot tự hành,hệ thống
quang điện tử nhìn đêm, xử lý ảnh.
Phan Xuân Minh: Nhận bằng
Thạc sĩ k thuật (1976) và Tiến sĩ
k thuật (1989) - chuyên nghành:
Điều khiển học tại trường Ilmenau
University of Technology –
Ilmenau, Đức.
Hiện là Phó Giáo sư, công tác và
giảng dạy tại Bộ môn Điều khiển
tự động – Viện Điện - Trường Đại học Bách Khoa
Hà Nội.
Hướng nghiên cứu chính: Điều khiển tối ưu và bền
vững, điều khiển thích nghi, hệ mờ và mạng Nơron,
điều khiển quá trình.
Hà Thị Kim Duyên: Học Đại
Học Bách khoa Hà Nội, chuyên
ngành điều khiển tự động từ năm
1996-2001, Bảo vệ Thạc s tại
Học Viện k Thuật quân sự 2007.
Hiện công tác và giảng dạy tại
Khoa Điện tử - trường Đại Học Công Nghiệp Hà
Nội.
Chuyên môn nghiên cứu chính: Điều khiển quá
trình, Các bộ điều khiển khả trình PLC và mạng
truyền thông công nghiệp, Bộ điều khiển thông minh
và thích nghi, Mờ và mạng Neuron, Xử lý ảnh.
518