Phát hiện đối tuợng di chuyển và bám theo là một trong những ứng dụng quan
trọng của hệ thống an ninh và hệ thống giám sát. Ngày nay việc giám sát bằng camera rất
phổ biến nhưng việc cho hệ thống tự động phát hiện ra đối tượng và bám theo đối tượng là
rất khó khăn vì: Xây hệ thống xử lý ảnh trên nền vi điều khiển khó thực hiện, việc lập trình
và mở rộng các ứng dụng có nhiều hạn chế và không thừa hưỡng được những phần mềm
hỗ trợ xử lý ảnh cũng như các thư viện có sẵn.
Để giải quyết vấn đề trên, đề tài nghiên cứu vấn đề thu thập và xử lý ảnh trên hệ thống
nhúng linux. Với cách làm này, hệ thống dễ dàng thu nhận được hình ảnh từ webcam dạng
jpeg và xử lý ảnh nhờ các thư viện có sẵn hỗ trợ cho linux như libjpg, uvc lib, opencv
5 trang |
Chia sẻ: luyenbuizn | Lượt xem: 1130 | Lượt tải: 0
Nội dung tài liệu Nghiên cứu hệ thống camera phát hiện và tự động bám theo đối tượng di chuyển, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010
201
NGHIÊN CỨU HỆ THỐNG CAMERA PHÁT HIỆN VÀ TỰ ĐỘNG
BÁM THEO ĐỐI TƯỢNG DI CHUYỂN
RESEARCH A CAMERA SYSTEM FOR AUTOMATIC
DETECT AND TRACKING OF MOVING OBJECTS
SVTH: Phạm Quang Sơn, Lê Đoàn Trương
Lớp 05DT1, 05DT3, Khoa Điện tử Viễn thông, Trường Đại học Bách Khoa
GVHD: Ths. Nguyễn Duy Nhật Viễn
Khoa Điện tử Viễn thông, Trường Đại học Bách Khoa
TÓM TẮT
Camera tự động phát hiện và bám theo đối tượng di chuyển có ứng dụng rộng rãi cho hệ
thống giám sát và an ninh. Hệ thống được trình bày trong báo cáo này bao gồm một camera gắn
trên một cơ cấu cơ khí có thể quay 360 độ được điều khiển bởi hệ thống nhúng. Hệ thống có
nhiệm vụ phát hiện và bám đối tượng đang di chuyển, thông qua điều khiển động cơ DC sao cho
ảnh của đối tượng thu được ở chính giữa tâm camera. Hình ảnh thu được sẽ truyền lên internet
thông qua giao thức HTTP theo kiểu stream. Báo cáo cũng giới thiệu về phương pháp xử lí ảnh, tự
động tìm kiếm và nhận dạng đối tượng di động. Các kết quả nghiên cứu được thực hiện bằng mô
hình thực tế và kết quả đạt được như mong muốn.
ABSTRACT
Camera, which automatically detects and tracks motion objects, is used widely for the
security and surveillance system. The System introduced in this paper consists of mechanical
structure mounted Camera which can rotate 360 degree and be controlled by an embedded
system. The target of system is to move camera when anything moves in the vision area of camera
to the center of image. The received images will be transmitted over the Internet through HTTP
protocol, this image is mjpeg type. This paper also introduces about Image Processing Method,
Technique which automatically detect and track motion objects. All research results were obtained
by using a practical model and we produced the excellent results as well as we expected.
1. Đặt vấn đề
Phát hiện đối tuợng di chuyển và bám theo là một trong những ứng dụng quan
trọng của hệ thống an ninh và hệ thống giám sát. Ngày nay việc giám sát bằng camera rất
phổ biến nhưng việc cho hệ thống tự động phát hiện ra đối tượng và bám theo đối tượng là
rất khó khăn vì: Xây hệ thống xử lý ảnh trên nền vi điều khiển khó thực hiện, việc lập trình
và mở rộng các ứng dụng có nhiều hạn chế và không thừa hưỡng được những phần mềm
hỗ trợ xử lý ảnh cũng như các thư viện có sẵn.
Để giải quyết vấn đề trên, đề tài nghiên cứu vấn đề thu thập và xử lý ảnh trên hệ thống
nhúng linux. Với cách làm này, hệ thống dễ dàng thu nhận được hình ảnh từ webcam dạng
jpeg và xử lý ảnh nhờ các thư viện có sẵn hỗ trợ cho linux như libjpg, uvc lib, opencv…
2. Hệ thống nhúng
Linux nhúng là hệ điều hành được cài đặt trên các thiết bị nhúng với cấu trúc điển
hình như sau:
Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010
202
Hình 1. Cấu trúc tổng quát của một hệ thống Linux
Hình 2. Cấu trúc phần cứng hỗ trợ linux nhúng Hình 3. Chức năng phần cứng
Thiết bị phần cứng được sử dụng trong đề tài này là KIT ARM9 với các tính năng sau:
CPU AT91SAM9260 32 bit, 180Mhz là bộ xử lý thực hiện điều hành, xử lý tất cả
mọi hoạt động của hệ thống. SDRAM là chip MT48LC16M16A2, 32M làm nhiệm vụ load
kenel, làm bộ đệm, bộ nhớ tạm thời trong quá trình hoạt động. FLASH là chip
K9F2G08UOM 256M làm nhiệm vụ lưu trữ boot loader, lưu trữ nhân của hệ điều hành.
Console dùng UART0 để truy cập và thao tác trên hệ thống.
Các thiết bị ngoại vi tùy theo ứng dụng mà kết nối như ethernet DM9161EA 10/100
duplex, usb host, usb device, sd card 4GB, uart, ADC Extension Connector.
3. Thuật toán xử lý ảnh
3.1. JPEG
3.1.1. Khái niệm:
Chuẩn JPEG mô tả một họ kỹ
thuật nén ảnh cho tone liên tục (mức
xám hay màu) của ảnh. JPEG khai
thác độ dư thừa sinh lý thị giác trong
ảnh. JPEG được tiến nhất trí với giải
pháp DCT thích nghi để cải thiện và
tăng cường ảnh.
3.1.2. Mã hóa JPEG:
Hình 4. Sơ đồ mã hóa JPEG
Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010
203
3.1.3. Chuyển đổi Cosin rời rạc DCT (Discrete Cosine Transform)
DCT thuận:
otherwise
orf
jif
vjuivu
vuF
i j
1
00
2
1
)(
),(.
16
).12(
cos.
16
).12(
cos
4
)()(
,
7
0
7
0
(1)
DCT ngược:
otherwise
orf
vuF
vjui
vujif
u v
1
00
2
1
)(
),(.
16
).12(
cos.
16
).12(
cos)()(
4
1
),(
7
0
7
0
~
(2)
3.2. Thuật toán phát hiện sự chuyển động và bám theo đối tượng
3.2.1. Thuật toán phát hiện sự chuyển động
Có nhiều phương pháp tiếp cận
để phát hiện chuyển động trong hình ảnh
video liên tục. Có thể so sánh khung hình
hiện tại với hình nền chúng ta chụp từ
ban đầu khi bật camera hoặc từ khung
hình trước. Đối với phương pháp thứ
nhất thì đơn giản và giảm được việc xử
lý. Tuy nhiên, cách tiếp cận có một bất
lợi lớn - điều gì sẽ xảy ra, ví dụ nếu có
một đối tượng đang di chuyển ở frame
đầu tiên, nhưng sau đó nó đã biến mất.
Phương pháp thứ hai thì xử lý phức tạp
hơn, xử lý nhiều hơn nhưng lại thích nghi
với mọi môi trường, kể cả môi trường ít
thay đổi hoặc thay đổi nhiều. Nhược
điểm là nếu đối tượng di chuyển một
cách rất chậm thì hệ thống không phát
hiện ra. Nhưng có thể giải quyết bằng
cách tăng số khung hình trên giây. Trong
đề tài này giới thiệu theo phương pháp
thứ hai.
Giả sử rằng chúng ta có một bản
gốc 24 bpp RGB là hình ảnh hiện tại
(img1) và khung hình trước đó (img2),
một bản sao màu xám của nó
(gray_img1) và (gray_img2). Trước hết,
chúng ta hãy tìm những khu vực nơi hai khung hình khác nhau bằng cách trừ từng pixel
Begin
Thu khung hình
hiện tại, và trước
đó
Chuyển thành
ảnh xám
So sánh từng pixel
của 2 ảnh xám
Giá trị > ngưỡng
cho truớc
Pixel ảnh đầu ra
màu đen
Pixel ảnh đầu ra
màu trắng
Số điểm trắng >
mức báo động
Không có
sự di chuyển
End
Có sự di chuyển
N
N
Y
Y
Hình 5. Lưu đồ thuật toán phát hiện sự chuyển động
Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010
204
của 2 khung hình xám kia và so sánh với một ngưỡng cho trước. Tiếp đó, chúng ta sẽ nhận
được một hình ảnh ở đầu ra (result) với các
điểm ảnh màu trắng nơi mà những điểm ảnh
của khung hiện tại khác với khung hình trước
đó với một ngưỡng cho trước ở trên còn lại
màu đen. Ta có thể đếm các điểm ảnh màu
trắng và nếu số điểm ảnh của nó lớn hơn một
mức độ báo động xác định trước chúng ta có
thể báo hiệu về một sự kiện chuyển động.
Lưu đồ thuật toán được thể hiện ở hình 5.
3.2.2. Thuật toán bám theo đối tượng
Khi có sự di chuyển giữa 2 khung hình
ta sẽ xác định được tọa độ lớn nhất và nhỏ nhất
trên một hàng mà ở đó pixel của hai khung
hình có giá trị khác nhau, sau đó ta sẽ tìm được
giá trị trung bình của các tọa độ kia đó là tâm
của đối tượng di chuyển. Nếu tâm này nằm
ngoài điểm ảnh mà định nghĩa trước là điểm
min và max thì điều khiển động cơ quay sang
trái hoặc phải tùy vào là vượt điểm max hoặc
min. Lưu đồ thuật toán được thể hiện ở hình 6.
4. Kết quả
Kết quả thi công phần cứng hệ thống cũng như thuật toán xử lý ảnh được thể hiện
bằng các hình ảnh dưới đây.
4.1. Thi công hệ thống
Hình 7. Hình ảnh thật hệ thống
4.2. Kết quả thực hiện thuật toán xử lý ảnh
Hình 8. Ảnh đầu vào 1 và Ảnh đầu vào 2
Hệ thống gồm webcam độ phân giải 5.0 Mpxl,
tiêu cự f = 3.58mm, tín hiệu ra 30 hình/s. Quá
trình xử lý điều khiển thực hiện bởi chip
AT91SAM9260 tốc độ 180MHz. Phần mềm được
viết bằng ngôn ngữ C chạy trên nền Linux.
Begin
Xác định tọa độ
điểm khác biệt trên
1 hàng
Xác định tâm
Tâm > xmax
Quay phải động
cơ 1 bước
Tâm < xmin
Quay trái động
cơ
1 bước
End
Y
N
Y
N
Hình 6. Lưu đồ thuật toán bám theo đối tượng
Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010
205
Hình 9. Ảnh sau khi chuyển sang gray
Hình 10. Ảnh đầu ra và tâm của sự thay đổi
Kết luận
Bài báo đã xây dựng được thuật toán xử lý ảnh và điều khiển bám theo đối tượng
chính xác. Mô hình thực nghiệm cho kết quả tốt khẳng định tính đúng đắn của thuật toán.
TÀI LIỆU THAM KHẢO
[1] Ths. Nguyễn Duy Nhật Viễn (2006), “Giáo trình xử lý ảnh”, Ch. 3. Tr. 26-39.
[2] Andrew Kirillov, Software Developer (4/2007), “Motion Detection Algorithms”
[3]
Các file đính kèm theo tài liệu này:
- 04.07.r.son-thuong.pdf