Trong suốt thời gian khi bắt tay vào hoàn thành đề tài luận văn “nhận dạng chuyển động video bằng phương pháp Eigenbackground” em đã nhận được rất nhiều sự giúp đỡ từ bạn bè cũng như sự
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
NGÀNH KHOA HỌC MÁY TÍNH
Đề Tài
NHẬN DẠNG CHUYỂN ĐỘNG VIDEO BẰNG PHƯƠNG PHÁP EIGENBACKGROUND
Sinh viên: Trần Phương Bình
Mã số: 1117828 Khóa: K37
Trang 2TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
BỘ MÔN KHOA HỌC MÁY TÍNH
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
NGÀNH KHOA HỌC MÁY TÍNH
Đề Tài NHẬN DẠNG CHUYỂN ĐỘNG VIDEO BẰNG PHƯƠNG PHÁP EIGENBACKGROUND
Người hướng dẫn Sinh viên thực hiện Ths Phạm Nguyên Hoàng Trần Phương Bình
Mã số: 1117828 Khóa: K37
Cần Thơ, 5/2015
Trang 3
Cần thơ, ngày tháng năm 2015 Giáo viên hướng dẫn
(Ký và ghi rõ họ tên)
Trang 4NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 1
Cần thơ, ngày tháng năm 2015 Giáo viên phản biện
(Ký và ghi rõ họ tên)
Trang 5NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 2
Cần thơ, ngày tháng năm 2015
Giáo viên phản biện
(Ký và ghi rõ họ tên)
Trang 6LỜI CẢM ƠN!
Trên thực tế không thành công nào mà không gắn liền với sự hỗ trợ, giúp đỡ dù ít
hay nhiều, dù trực tiếp hay gián tiếp của mọi người xung quanh Trong suốt thời gian
khi bắt tay vào hoàn thành đề tài luận văn “nhận dạng chuyển động video bằng
phương pháp Eigenbackground” em đã nhận được rất nhiều sự giúp đỡ từ bạn bè cũng
như sự quan tâm hổ trợ từ phía thầy cô
Lời đầu tiên em xin gửi lời cảm ơn chân thành đến quý thầy, cô đã truyền đạt
những kiến thức quý báo giúp em có được nền tảng vững chắc để hoàn thành tốt đề tài
luận văn của em
Với lòng biết ơn sâu sắc nhất em xin gửi lời cảm ơn chân thành đến thầy Phạm
Nguyên Hoàng, người đã trực tiếp hướng dẫn em hoàn thành đề tài luận văn này trong
nhiều tháng qua Thầy đã định hướng giúp đở em rất nhiều trong việc tìm kiếm
hướng giải quyết những thuật toán quan trọng trong đề tài, bên cạnh đó thầy luôn
thúc đẩy em hoàn thành đúng tiến độ luận văn, luôn đưa ra những lời khuyên hửu
ích cũng như những gợi ý cần thiết để em hoàn thành tốt đề tài luận văn của mình
Em xin bài tỏ lời cảm ơn sâu sắc đến cô Trần Nguyễn Minh Thư đã giảng dạy
em ở môn xử lý ảnh, là nền tảng cho những kiến thức nâng cao được áp dụng trong đề
tài Cùng toàn thể quý thầy cô đã dạy em nhiều kiến thức quý báo để em hoàn thành đề
tài
Đồng thời, em cũng xin gởi lời cảm ơn đến tất cả bạn bè, những người đã giúp
đỡ và hỗ trợ trong quá trình hoàn thiện đề tài
Cuối cùng, em xin Cảm ơn những người thân trong gia đình về những hỗ trợ và
động viên trong những năm tháng dài cố gắng học tập
Em xin chân thành cảm ơn!
Cần Thơ, ngày 20 tháng 5 năm 2015
Sinh viên Trần Phương Bình
Trang 7MỤC LỤC
Danh Mục Hình Ảnh
Hình 1: Quá trình xử lý ảnh ………Trang
Hình 2: Các bước cơ bản trong một hệ thống xử lý ảnh ……….Trang
Hình 3: Không gian màu RGB ……… Trang
Hình 4: Không gian màu HSV ……… Trang
Hình 5: Các pixel nằm cạnh nhau.………Trang
Hình 6: Quá trình thu nhận ảnh ở mắt người và ở máy ……… Trang
Hình 7: Qúa trình thu nhận ảnh ở máy ảnh số ……… Trang
Hình 8: hệ tọa độ RGB ………Trang
Hình 9: Cấu trúc phân cấp của video ……… Trang
Hình 10: minh họa về chuyển động giữa các lia ……… Trang
Hình 11: Logo Qt Creator……….Trang
Hình 12: logo OpenCV ………Trang
Hình 13: Giao diện chính cuả chương trình……… Trang
Hình 14: Chọn video để chương trình xử lý ………Trang
Hình 15: hiển thị kết quả nhận dạng chuyển động……… Trang
Hình 16: kết quả nhận dạng cuyển động từ video ……….Trang
Hình 17: Giao diện chương trình test ……….Trang
Hình 18: Thống kê số điểm ảnh đúng và sai mà chương trình đạt được…… Trang
Trang 8Danh Mục Bảng
Trang 9TÓM TẮT
Ngày nay, bài toán về phát hiện chuyển động có nhiều ứng dụng trong thực tế
như ứng dụng về giám sát an ninh, có thể ứng dụng để xây dựng một hệ thống thu thập
thông tin các phương tiện tham gia giao thông trên các tuyến đường quan trọng, ứng
dụng hệ thống quan sát tại những nơi công cộng phức tạp như nhà trọ, khách sạn,
trường học,… Vì thế yêu cầu phát hiện nhanh chóng các mục tiêu di chuyển trong
chuỗi ảnh video và nhận dạng chuyển động của từng đối tượng trong video đang rất
được quan tâm Nhận dạng chuyển dộng đã được nghiên cứu trong nhiều năm lại đây,
nhằm phân loại, phát hiện, giám sát những chuyển động thay đổi trong video, camera
quan sát Có nhiều cách tiếp cận khác nhau đến vấn đề này trong các loại mô hình nền
và thủ tục được sử dụng để cập nhật mô hình Trong nội dung đề tài của tôi sẽ nói về
phương pháp Eigenbackground Eigenbackground là mô hình dựa trên sự phân tích giá
trị eighen lần đầu tiên được đề xuất bởi Oliver
Sau quá trình thực hiện kiểm tra thực nghiệm trên các video thật, tôi nhận thấy
phương pháp Eigenbackground nhận dạng cho kết quả tốt ở các video ngoài trời,
không có sự thay đổi ánh sáng đột ngột, cho kết quả tốt ở kể cả những nơi có nhiều đối
tượng Nhưng tôi nhận thấy phương pháp này cho kết quả tệ ở các video ở trong nhà,
trong phòng, những khu vực lộn xộn, đối tượng chồng chéo và có sự thay đổi độ sang
đột ngột
Trang 10Abstract
Today, the problem of motion detection has many practical applications such as
applications for security surveillance, can be applied to build information collection
system on the vehicle in traffic on the important route Vision system applications in
complex public places such as boarding house, hotel, schools,etc Therefore require
rapid detection of moving targets in the video image sequence and identification of
each object motion in video is very interesting Movement detection is studied in
recent years, in order to classify, detect, monitor the movements change in video, the
camera observes There are different approaches together to this issue in the base
models and procedures used to update the model In the context of the topic I will talk
about Eigenbackground methos Eigenbackground is models base on an analysis of the
first eighen value suggested by Oliver
After the process perform experimental tests on real video, I noticed
Eigenbackground methods for identifying good results in the video outdoor, no sudden
light changes, for results good at including those where there are many objects But i
noticed Eigenbackground methods for identifying bad results in the video in the home,
in a room, cluttered areas, overlapping objects and sudden light changes
Trang 11CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN
I ĐẶT VẤN ĐỀ
Trong thời đại ngày nay công nghệ thông tin hầu như đã thâm nhập vào toàn bộ
các lĩnh vực đời sống xã hội Xã hội càng phát triển thì nhu cầu về công nghệ thông
tin ngày càng cao, do vậy dữ liệu số hầu như không còn xa lạ đối với mỗi người
chúng ta Trong mọi lĩnh vực các ứng dụng công nghệ thông tin đã trợ giúp con người
rất nhiều Hiện nay thông tin hình ảnh đóng vai trò rất quan trọng trong trao đổi thông
tin, bởi phần lớn các thông tin mà con người thu nhận được đều thông qua thị giác
Trong các lĩnh vực công nghệ thông tin thì lĩnh vực giám sát tự động đã và đang thu
hút được nhiều sự quan tâm của các nhóm nghiên cứu trong và ngoài nước Cùng với
sự phát triển của sức mạnh máy tính, các hệ thống giám sát tự động ngày càng tinh vi
và hiện đại đã trợ giúp con người rất nhiều trong việc bảo vệ an ninh, giám sát giao
thông, v.v
Ở nước ta hiện nay, lĩnh vực giám sát tự động cũng đã có những bước phát triển
đáng kể Tuy nhiên, nó chỉ mới dựa trên nền tảng phần cứng và cũng chưa được áp
dụng nhiều trong thực tế Việc giải quyết bài toán nhận dạng chuyển động video theo
hướng tiếp cận sử dụng phần mềm để xử lý video chưa được quan tâm phát triển Từ
nhu cầu xây dựng phần mền xử lý video cũng như những lợi ích thiết thực của lĩnh
vực giám sát tự động đã đóng góp cho đời sống xã hội có thể thấy giám sát tự động là
một hướng mới và có nhiều triển vọng trong sự phát triển tiếp theo của lĩnh vực nhận
dạng và xử lý ảnh hai chiều Đồng thời, đó cũng là một hướng đi cho mảng phần mềm
thiết kế chuyên dụng cho các thiết bị giám sát tự động Việc phát hiện ra các đối
tượng chuyển động trong Video nhờ các kỹ thuật xử lý ảnh, trên cơ sở đó đoán nhận
một số hành vi của đối tượng là một việc làm có ý nghĩa khoa học và thực tiễn, nhất là
trong hoàn cảnh Việt Nam chưa có nhiều nghiên cứu và ứng dụng theo hướng này
Xuất phát từ thực tế đó, việc nghiên cứu và xây dựng một ứng dụng nhận dạng
chuyển động trong video là vô cùng thiết thực Được sự hướng dẫn của Thạc Sĩ Phạm
Nguyên Hoàng tôi đã tiến hành nghiên cứu đề tài “Nhận dạng chuyển động video bằng
phương pháp Eigenbackground”
Trang 12II LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ
Trên thế giới các hệ thống giám sát thông minh bằng hình ảnh đã được phát triển
và đã chứng minh được hiệu quả nhất định trên một số lĩnh vực như giám sát hoạt
động con người, giám sát giao thông, Từ các hình ảnh thu được từ những nơi được
quan sát, ta có thể phát hiện được chuyển động của các đối tượng trong các khung
hình Tuy nhiên, các hệ thống vẫn gặp phải một số tồn tại như hiệu quả của việc quan
sát luôn phụ thuộc vào điệu kiện môi trường quan sát, kiểu chuyển động của đối tượng
hay các lý do khách quan khác Vì vậy, các hệ thống này vẫn còn đang được nhiều nhà
khoa học, trung tâm nghiên cứu trên thế giới và Việt nam quan tâm phát triển
Nhiều phương pháp nhận dạng chuyển động đã được phát triển trong những năm
gần đây đồng thời được tìm hiểu và phát triển đưa vào sử dụng để phát hiện các đối
tượng chuyển động trong video thu từ máy camera như: lọc Kalman của tác giả
Messelodi và cộng sự (2005), lọc Wiener của tác giả Toyama và cộng sự (1999), hỗn
hợp Gauss của tác giả Stauffer và Grimson (1999), trung bình của tác giả Lee và cộng
sự (2002), Trung vị của tác giả Mac Farlane và cộng sự (1995), …
III PHẠM VI CỦA ĐỀ TÀI.
Thị giác máy tính là một môn học khoa học liên quan đến lý thuyết đằng sau các
hệ thống nhân tạo có trích xuất các thông tin từ các hình ảnh Dữ liệu hình ảnh có thể
nhiều dạng, chẳng hạn như chuỗi video, các cảnh từ đa camera, hay dữ liệu đa chiều từ
máy quét y học Thị giác máy tính còn là một môn học kỹ thuật, trong đó tìm kiếm
việc áp dụng các mô hình và các lý thuyết cho việc xây dựng các hệ thống thị giác máy
tính
Các lĩnh vực con của thị giác máy tính bao gồm tái cấu trúc ảnh, dò tìm sự kiện, theo
dõi video, nhận diện bố cục đối tượng, học, chỉ mục, đánh giá chuyển động và phục
hồi ảnh
Thị giác máy tính bao gồm nhiều lĩnh vực khá rộng lớn nên ở đây em chỉ tập trung
vào lĩnh vực con của thị giác máy tính đó là theo dõi nhận dạng chuyển động trong
video
Luận văn tập trung nghiên cứu các phương pháp xử lý ảnh, mô hình nhận dạng
chuyển động video kỹ thuật số, để tự động giám sát, theo dõi
Sử dụng thuật toán Eigenbackground để nhận dạng chuyển động
Thực hiện trên dạng video số và camera thu hình trực tiếp
Trong khuôn khổ của nghiên cứu này tôi cho chương trình chạy trên 7 video có
ngữ cảnh khác nhau và đưa ra kết luận tương ứng
Trang 13IV PHƯƠNG PHÁP NGHIÊN CỨU
Đề tài nghiên cứu tổng quan về xử lý ảnh, cấu trúc và các dạng video Tham
khảo các thuật toán giải quyết yêu cầu bài toán trên mạng, sách báo Đồng thời ghi
nhận những góp ý của thầy cô cũng như bạn bè để Sau khi đã nắm rõ được vấn đề thì
bắt đầu viết code cho từng giải thuật được yêu cầu Dựa trên công cụ QT Creator với
sự hổ trợ của thư viện OpenCV để biên dịch thành code và chạy ra kết quả đúng yêu
cầu của đề tài đặt ra
Trong khuôn khổ đề tài luận văn này em tập trung trình bày về các kỹ thuật trừ
ảnh và ứng dụng các kỹ thuật này để giải quyết một bài toán quan trọng và then chốt
trong lĩnh vực giám sát tự động đó là bài toán phát hiện tự động đối tượng chuyển
động từ video hoặc bất chuyển động ngay trên webcam máy tính
Trang 14CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
I TỔNG QUAN VỀ XỬ LÝ ẢNH
1 Khái quát về xử lý ảnh
1.1 Xử lý ảnh là gì?
Con người thu nhận thông tin qua các giác quan, trong đó thị giác đóng vai trò
quan trọng nhất Những năm trở lại đây với sự phát triển của phần cứng máy tính, xử
lý ảnh và đồ hoạ đó phát triển một cách mạnh mẽ và có nhiều ứng dụng trong cuộc
sống Xử lý ảnh và đồ hoạ đóng một vai trò quan trọng trong tương tác người máy
Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho
ra kết quả mong muốn Kết quả đầu ra của một quá trình xử lý ảnh có thể là một ảnh
“tốt hơn” hoặc một kết luận
Hình 1: Quá trình xử lý ảnh
Ảnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnh được xem như là đặc
trưng cường độ sáng hay một dấu hiệu nào đó tại một vị trí nào đó của đối tượng trong
không gian và nó có thể xem như một hàm n biến P(c1, c2, , cn) Do đó, ảnh trong xử
lý ảnh có thể xem như ảnh n chiều Sơ đồ tổng quát của một hệ thống xử lý ảnh:
Hình 2 Các bước cơ bản trong một hệ thống xử lý ảnh
Đối xánh rút ra kết luận
Hệ quyết định
Lưu trử
Trang 152 Các vấn đề cơ bản trong xử lý ảnh
2.1 Một số khái niệm
* Ảnh và điểm ảnh: Điểm ảnh được xem như là dấu hiệu hay cường độ sáng tại 1 toạ
độ trong không gian của đối tượng và ảnh được xem như là 1 tập hợp các điểm ảnh
* Mức xám, màu là số các giá trị có thể có của các điểm ảnh của ảnh
2.1.1 Biểu diễn ảnh số.
Trong xử lý ảnh bằng máy tính, ảnh phải được đưa về dạng biểu diễn số Một ảnh được
biểu diễn bằng một ma trận số hay là một mảng hai chiều Một phần tử của ma trận biểu diễn
cho mức xám hay cường độ của điểm ảnh tương ứng Mỗi phần tử trong ma trận được gọi là
một pixel Tùy vào giá trị của pixel mà các ảnh được phân chia ra thành ảnh màu hay
ảnh Nếu trên một ảnh chỉ tồn tại các giá trị 0 hoặc 1 thì ta nói đó là ảnh nhị phân Mỗi điểm
ảnh nhị phân sẽ cần dùng 1 bit để biểu diễn, ảnh xám sẽ cần 8 bit và ảnh màu sẽ cần 24 bit
2.1.2 Không gian màu RGB
Ý tưởng chính của không gian màu này là sự kết hợp của 3 màu sắc cơ bản: màu đỏ
(Red), xanh lục (Green) và xanh lơ (Blue) để mô tả tất cả các màu sắc khác
Tuy nhiên trong mô hình màu RGB tụ bản thân nó cũng không định nghĩa thế nào là
Red, Green, Blue một cách chính xác, vì thế với cùng các giá trị như nhau của RGB có
thể mô tả các màu tương đối khác nhau trên các thiết bị khác nhau cùng mô hình màu
Hình 3: Không gian màu RGB
Trang 162.1.3 Không gian màu HSV
Không gian màu HSV là không gian màu thường được dùng nhiều trong công
việc chỉnh sửa ảnh, phân tích ảnh và một phần của lĩnh vực thị giác máy tính Hệ
không gian này dựa vào 3 thông số sau để mô tả màu sắc:
+ H (Hue): màu sắc thuần khiết, chạy từ 0 đến 3600
+ S (Staturation): độ đậm đặc, sự bảo hòa, S càng lớn thì màu càng tinh khiết,
nguyên chất
+ V (value): giá trị cường độ sáng, V càng lớn thì màu càng sáng
Hình 4: Không gian màu HSV
2.1.4 Độ phân giải của ảnh
Độ phân giải của máy chụp ảnh số thường được quyết định bởi bộ cảm biến, đó là
phần đổi ánh sáng thành những tín hiệu rời rạc Bộ cảm biến gồm hàng triệu lỗ nhỏ Những lỗ
nhỏ này phản ứng với một màu ánh sáng tùy theo kính lọc màu của nó Mỗi lỗ đó gọi là một
pixel Chúng được sắp xếp xen vào nhau sao cho ba chấm màu RGB (đỏ-lục-lam) ghép lại
thành một chấm có đủ màu
Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh (pixel) được ấn định trên
một ảnh số được hiển thị
Theo định nghĩa, khoảng cách giữa các điểm ảnh phải được chọn sao cho mắt
người vẫn thấy được sự liên tục của ảnh Việc lựa chọn khoảng cách thích hợp tạo
nên một mật độ phân bổ, đó chính là độ phân giải và được phân bố theo trục x và y
trong không gian hai chiều
Hình 5: Các pixel nằm cạnh nhau