ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ------ PHẠM TRẦN THIỆN NGHIÊN CỨU MỘT SỐ KỸ THUẬT XỬ LÝ VIDEO VÀ ỨNG DỤNG VÀO XÂY DỰNG PHẦN MỀM GIÁM SÁT, QUẢN LÝ TỰ ĐỘNG CÁC TRANG
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
- -
PHẠM TRẦN THIỆN
NGHIÊN CỨU MỘT SỐ KỸ THUẬT XỬ LÝ VIDEO VÀ ỨNG DỤNG VÀO XÂY DỰNG PHẦN MỀM GIÁM SÁT, QUẢN LÝ
TỰ ĐỘNG CÁC TRANG TRẠI
Ngành: Công Nghệ Thông Tin Chuyên ngành: Công Nghệ Phần Mềm
Mã số: 60 48 10
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS Phạm Việt Bình
Hà Nội - 2008 MỤC LỤC
MỞ ĐẦU 4 Chương 1:- TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ VIDEO 7
Trang 21.1 Tổng quan về xử lý ảnh 7
1.1.1 Xử lý ảnh và sơ đồ tổng quát 7
1.1.2 Một số vấn đề cơ bản của xử lý ảnh 10
1.1.2.1 Các khái niệm cơ bản của xử lý ảnh 10
1.1.2.2 Các kỹ thuật cơ bản trong xử lý ảnh 14 1.2 Tổng quan về xử lý Video
Error! Bookmark not defined
1.2.1 Sơ lược về Video
Error! Bookmark not defined
1.2.2 Các dạng chuẩn và kiến trúc của Video
Error! Bookmark not defined
1.2.2.1 Video tương tự
Error! Bookmark not defined
1.2.2.2 Video số
Error! Bookmark not defined
1.2.2.3 Thuật toán chuyển đổi Cosine rời rạc trong nén ảnh
Error! Bookmark not defined
1.2.2.4 Bù chuyển động
Error! Bookmark not defined
Chương 2:- CÁC KỸ THUẬT ĐÁNH GIÁ VẬN ĐỘNG CỦA ĐỐI TƯỢNG TRONG VIDEO
Error! Bookmark not defined
2.1 Kỹ thuật bắt đối tượng chuyển động
Error! Bookmark not defined
2.1.1 Kỹ thuật trừ ảnh
Error! Bookmark not defined
2.1.2 Kỹ thuật trừ nền (Background Subtraction)
Error! Bookmark not defined
Phương pháp Heikkila và Olli
Error! Bookmark not defined
Bộ trộn thích nghi của Gaussians
Error! Bookmark not defined
Pfinder
Error! Bookmark not defined
W4
Error! Bookmark not defined
Error! Bookmark not defined
Error! Bookmark not defined
Trang 3Cutler
Error! Bookmark not defined
Wallflower
Error! Bookmark not defined
2.2 Các thuật toán đánh giá vận động của đối tượng trong Video
Error! Bookmark not defined
2.2.1 Sự quan trọng của đánh giá chuyển động trong xử lý ảnh
Error! Bookmark not defined
Thông tin chuyển động
Error! Bookmark not defined
2.2.2 Các hướng tiếp cận để đánh giá chuyển động
Error! Bookmark not defined
2.2.3 Một số vấn đề liên quan đánh giá chuyển động
Error! Bookmark not defined
Điều kiện so khớp
Error! Bookmark not defined
Vấn đề về khung trọn vẹn
Error! Bookmark not defined
Thuật toán loại trừ liên tục
Error! Bookmark not defined
Thuật toán theo dõi thay đổi cửa sổ
Error! Bookmark not defined
Thuật toán Modified Window Follower
Error! Bookmark not defined
2.2.4 Các phương pháp đánh giá chuyển động
Error! Bookmark not defined
2.2.4.1 Lucas – Kadane
Error! Bookmark not defined
2.2.4.2 Phương pháp phát hiện chuyển động nổi trội
Error! Bookmark not defined
2.2.4.3 Phương pháp đánh giá vận động toàn diện
Error! Bookmark not defined
Chương 3:- KẾT QUẢ VÀ THỰC NGHIỆM
Error! Bookmark not defined
3.1 Một số đặc điểm hành vi liên quan đến bệnh tật và động dục ở bò sữa
Error! Bookmark not defined
3.2 Sơ lược về qui trình thiết kế phần mềm ứng dụng
Error! Bookmark not defined
3.3 Cài đặt các kỹ thuật liên quan
Error! Bookmark not defined
Trang 43.3.1 Thiết bị quan sát và lưu trữ
Error! Bookmark not defined
3.3.2 Ngôn ngữ cài đặt
Error! Bookmark not defined
3.3.3 Các lớp khai báo sử dụng trong chương trình
Error! Bookmark not defined
3.3.4 Một số lớp dll truy xuất từ window
Error! Bookmark not defined
3.3.5 Phát hiện và đánh dấu chuyển động của đối tượng
Error! Bookmark not defined
3.3.6 Thuật toán trừ nền cơ bản
Error! Bookmark not defined
3.3.6.1 Phát hiện đối tượng chuyển động dựa theo hướng tiếp cận
trừ khung hình liền kề
Error! Bookmark not defined
3.3.6.2 Phát hiện đối tượng chuyển động theo hướng tiếp cận kết hợp
Error! Bookmark not defined
3.3.7 Thuật toán phát hiện vận động toàn diện của đối tượng
Error! Bookmark not defined
3.3.8 Chương trình cài đặt
Error! Bookmark not defined.
KẾT LUẬN 71
TÀI LIỆU THAM KHẢO 72 PHỤ LỤC 73
Trang 5MỞ ĐẦU
Trong thế kỷ 21, sự phát triển của công nghệ thông tin đã đẩy nhanh sự phát triển nhiều lĩnh vực của đời sống xã hội Với sự phát triển nhanh chóng của phần cứng máy tính và các thiết bị liên quan về các phương diện thu nhận và hiển thị đã mở ra nhiều hướng mới cho sự phát triển của phần mềm Trong số đó phải kể đến lĩnh vực giám sát tự động
Ngày nay, lĩnh vực này đã và đang được nhiều người quan tâm, nghiên cứu Các vấn đề liên quan đến giám sát tự động như: dự đoán, cảnh báo đối tượng đột nhập; dự đoán, cảnh báo các hiện tượng trong tự nhiên; dự đoán, cảnh báo hành vi của con người, loài vật,… thông qua hệ thống camera giám sát Đây chính là những lĩnh vực rất gần gũi
và cấp thiết đối với nhu cầu trong cuộc sống của con người
Từ dữ liệu thu được qua camera quan sát dưới dạng video lưu trữ trên máy tính rồi tiến hành tìm hiểu, nghiên cứu các vấn đề liên quan đến nó để từ đó đưa ra các phương pháp, thuật toán và cài đặt phần mềm ứng dụng cho vấn đề nghiên cứu này
Với những tiến bộ trong lưu trữ dữ liệu video và thiết bị công nghệ máy tính, nhiều ứng dụng mới liên quan đến hệ thống thông tin video đang ngày càng nổi trội Video là một phương tiện với độ phức tạp cao Nó có các đặc trưng về thời gian và không gian Thông tin liên quan đến vị trí, khoảng cách, mối quan hệ thay đổi về thời gian và không gian được bao hàm hoàn toàn trong dữ liệu video
Để khai thác tốt được thông tin trong dữ liệu video thì cần tìm hiểu, nghiên cứu nhiều hơn nữa các vấn đề liên quan đến phân tích, đánh giá thông tin trên dữ liệu video
và xây dựng thuật toán cho xử lý các vấn đề này Video chính là dãy các khung ảnh, các khung ảnh này thay đổi qua thời gian và theo không gian Tuy nhiên, việc trích xuất và so sánh các ngữ cảnh video trong hệ thống thông tin video vẫn còn là vấn đề quan trọng cần được giải quyết
Hiện nay chúng ta đang ở thời đại hậu PC (personal computer) sau giai đoạn phát triển của máy tính lớn (mainframe) 1960-1980, và sự phát triển của PC-Internet giai đoạn 1980-2000 Dự đoán từ năm 2000 đến 2020 là giai đoạn của môi trường thông minh mà
hệ thống nhúng (embedded systems) là cốt lõi và đang làm nên làn sóng đổi mới trong công nghệ thông tin và giám sát tự động Một thực tế khách quan là thị trường của các hệ thống nhúng lớn gấp khoảng 100 lần thị trường của PC, trong khi đó chúng ta mới nhìn
Trang 6thấy bề nổi của công nghệ thông tin là các hệ thống sử dụng PC và Internet còn phần chìm của công nghệ thông tin chiếm 99% số vấn đề trên toàn cầu này nằm trong các hệ nhúng thì còn ít được biết đến [7]
Lĩnh vực giám sát tự động cũng đang phát triển cả về công nghệ và lĩnh vực phần mềm liên quan Nhưng để một ứng dụng giám sát tự động có kết quả tốt cần phải có hệ thống các kỹ thuật, các phương pháp, các thuật toán liên quan đến xử lý và nhận dạng đối với ảnh kỹ thuật số và video, để từ đó xây dựng nên các phần mềm kết hợp với các thiết
bị trong vấn đề giám sát tự động
Ngày nay, trên thế giới cũng đã có nhiều thành tựu về các sản phẩm ứng dụng liên quan đến xử lý và nhận dạng video trong lĩnh vực giám sát tự động như: giám sát chống trộm; giám sát, cảnh báo cháy rừng; giám sát, cảnh báo tình trạng ngủ gật của các tài xế lái xe tải; và một số các nghiên cứu liên quan đến nhận diện hành vi con người, loài vật,
Hiện nay ở nước ta, nông nghiệp đang trên đà phát triển, đang được khuyến khích
áp dụng công nghệ vào trong nông nghiệp để nâng cao hiệu quả sản xuất, lao động, giảm bớt thao tác thủ công Bên cạnh đó, sự mở rộng về quy mô của các trang trại lớn, đặc biệt
là các trang trại chăn nuôi bò sữa, với một diện tích rất rộng, qui mô lớn, nhân công nhiều,…Điều này đặt ra các yêu cầu về vấn đề giám sát
Xuất phát từ thực tế này, vấn đề nghiên cứu các kĩ thuật xử lý video quan sát và ứng dụng cài đặt phần mềm liên quan để hỗ trợ tốt nhất cho các công việc giám sát đối với tình hình ở các trang trại chăn nuôi bò sữa này là cần thiết Trong đó, vấn đề liên quan đến xử lý và nhận dạng video trong giám sát tự động phục vụ cho nhu cầu phát hiện
và cảnh báo một số hành vi bất thường của bò sữa như phát hiện ra dấu hiệu bất thường của một con bò sữa nào đó trong trang trại với các dấu hiệu, động dục, sinh nở, ốm đau thông qua việc giám sát tự động bởi các camera Với nhu cầu trên, được sự hướng dẫn
của TS Phạm Việt Bình tôi tiến hành thực hiện đề tài “Nghiên cứu một số kỹ thuật xử lý
Video và ứng dụng vào xây dựng phần mềm giám sát, quản lý tự động các trang trại”
Trong khuôn khổ của luận văn này, mục tiêu của đề tài là tìm hiểu và nghiên cứu một số kỹ thuật, phương pháp trong việc nhận diện, hiểu được một số hành động của động vật để từ đó dự đoán hành vi của động vật, cụ thể là bò sữa Bước đầu xây dựng một ứng dụng để áp dụng các kỹ thuật, phương pháp tìm hiểu được
Để đạt được mục tiêu trên, các vấn đề cần giải quyết trong đề tài này gồm:
Trang 7+ Nghiên cứu tổng quan về xử lý ảnh, video, các thao tác cơ bản đối với video và ứng dụng
+ Nghiên cứu và xây dựng một số kỹ thuật xử lý ảnh áp dụng trong việc hiểu cử chỉ, hành vi động vật trong video
+ Nghiên cứu một số phương pháp trong việc xây dựng phần mềm ứng dụng + Cài đặt một ứng dụng giám sát cụ thể sử dụng kỹ thuật liên quan
Trang 8Chương 1:- TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ VIDEO
1.1 Tổng quan về xử lý ảnh
Trong công nghệ thông tin, xử lý ảnh và đồ họa đã chiếm một vị rất quan trọng bởi vì các đặc tính đầy hấp dẫn của nó đã tạo nên một sự phân biệt với các lĩnh vực khác Chúng giới thiệu các phương pháp và kỹ thuật để tạo ra các ảnh và xử lý các ảnh này Trong thực tế 79% thông tin mà con người thu nhận được qua thị giác đều bắt nguồn từ ảnh [1]
Ngày nay, xử lý ảnh là lĩnh vực đã và đang ngày càng phát triển mạnh mẽ và cũng đã
có nhiều thành tựu minh chứng cho sự phát triển này Điển hình, trong y học, xử lý ảnh
số được dùng để phát hiện và nhận dạng khối u, cải thiện ảnh X quang , nhận dạng đường biên mạch máu từ những ảnh chụp mạch bằng tia X Trong lĩnh vực khoa học kỹ thuật,
xử lý ảnh đã và đang có những đóng góp quan trọng, đặc biệt là trong lĩnh vực robot Robot thông minh ngày nay không thể thiếu yếu tố xử lý ảnh, đó là các vấn đề về nhận dạng các đối tượng ngoài môi trường, từ việc nhận dạng có thể giải quyết rất nhiều bài toán như tránh vật cản, dò đường
Bên cạnh đó, xử lý ảnh cũng đang góp phần quan trọng vào lĩnh vực an ninh như: quan sát và cảnh báo tự động đối tượng đột nhập Góp phần vào lĩnh vực sản xuất như:
giám sát và cảnh báo tự động liên quan đến sản phẩm,…
1.1.1 Xử lý ảnh và sơ đồ tổng quát
Hệ thống xử lý ảnh số bao gồm một phạm vi rộng các kiến thức về phần cứng, phần mềm và cơ sở lý thuyết Các bước cơ bản của xử lý ảnh số được mô tả trong sơ đồ dưới đây:
Trang 9Hình 1.1 Các bước cơ bản trong xử lý ảnh số
Thu thập ảnh: Trong hệ thống xử lý ảnh số, camera là một thiết bị rất quan trọng
có chức năng quan sát và thu nhận ảnh đầu vào của hệ thống Nó thường được coi là hộp đen trong đó có các quá trình biến đổi để chuyển một ảnh thành dạng lưu trữ trong máy tính Các bước xử lý này bao gồm sự phát sáng, thấu kính, sensor, các phần tử quang điện
và bộ số hoá, mỗi thành phần này phối hợp nhằm đưa ra ảnh số cuối cùng Điểm đặc biệt quan trọng trong nhận dạng ảnh là đặc tính thời gian của camera, vì vậy quá trình xử lí ảnh có vai trò như bộ lấy mẫu trong hệ thống nhận dạng ảnh
Ảnh số được thu nhận bằng một cảm biến ảnh có khả năng biến thông tin về cường độ sáng và mức xám của ảnh thực thành tín hiệu điện áp dưới dạng analog Tín hiệu này sau đó được số hóa để trở thành tín hiệu số
Cảm biến nhìn chung gồm 2 thành phần chính Thành phần thứ nhất tạo ra tín hiệu điện ở đầu ra tỉ lệ với mức năng lượng mà nó nhận được Thành phần thứ 2 là bộ số hóa,
là phần tử biến đổi tín hiệu tương tự thành tín hiệu số Tùy thuộc vào thành phần số hóa thực chất là bộ chuyển đổi ADC, chúng ta có các tín hiệu với số bit khác nhau: 4 bit, 8bit,
10 bit, 12 bit , tương ứng ta sẽ được các ảnh có 16, 256 mức xám khác nhau,
Tiền xử lý ảnh : Sau khi ảnh số được thu thập dưới dạng tín hiệu số, cần phải trải
qua giai đoạn tiền xử lý Chức năng chủ yếu của tiền xử lý là cải thiện ảnh, nâng cao các
Trang 10tính chất của ảnh giúp cho các quá trình xử lý về sau được thuận tiện hơn Các công đoạn
cơ bản của tiền xử lý là: nâng cao độ tương phản, lọc nhiễu
Phân vùng ảnh: Bước tiếp theo của quá trình xử lý là phân vùng ảnh Ảnh sau khi
đã được cải thiện, sẽ trở nên thuận tiện hơn cho việc phân ngưỡng và phân vùng Nhiệm
vụ chính của phân ngưỡng và phân vùng ảnh là tách ảnh đầu vào thành các đối tượng, vật thể riêng biệt Kết quả của quá trình phân vùng ảnh, ta sẽ được một tập hợp các điểm ảnh
có liên kết với nhau thành các đối tượng, được đánh số phân biệt, thuận tiện cho các quá trình xử lý cao hơn
Đầu ra của quá trình phân vùng ảnh là các pixel chưa được lọc, bao gồm liên kết của 1 vùng hoặc tất cả các điểm ảnh trong vùng đó Số liệu này cần được biến đổi thành dạng thích hợp cho máy tính xử lý
Phân tích ảnh: đây là giai đoạn xử lý bậc cao trong hệ thống xử lý ảnh số Ảnh
sau khi được phân vùng thành các đối tượng riêng biệt, đã được đánh số phân biệt, sẽ được phân tích để phục vụ những mục đích khác nhau như: Xác định các đặc trưng hình học của đối tượng: dựa trên cơ sở đối tượng đã được xác định và phân biệt, ta có thể thực hiện xác định các đặc trưng hình học của mỗi đối tượng đấy, như: vị trí, kích thước, hướng, và số đối tượng hay mật độ đối tượng trong ảnh Đây là các đặc trưng được dùng nhiều trong hệ thống thị giác máy (machine vision)
Nhận dạng : các đối tượng có thể là các vật thể có hình dạng nhất định,
hoặc các kí tự số, chữ cái, dấu vân tay, Ảnh sau khi được phân vùng có thể được nhận dạng theo những phương pháp nhất định như phương pháp neural, để tìm ra mẫu hình dạng mà đối tượng đó thuộc về
Để hướng dẫn hoạt động của từng module xử lý, cần có một hệ cơ sở kiến thức để kiểm tra hoạt động và tương tác giữa các module Hệ này có nhiệm vụ kiểm soát hoạt động của từng module và sắp xếp trình tự hoạt động của chúng trong từng thời điểm, giải quyết bài toán xung đột
Trang 111.1.2 Một số vấn đề cơ bản của xử lý ảnh
1.1.2.1 Các khái niệm cơ bản của xử lý ảnh
Ảnh: Là một tập hợp hữu hạn các điểm ảnh kề nhau Ảnh thường được biểu diễn
bằng một ma trận hai chiều, mỗi phần tử của ma trận tương ứng với một điểm ảnh
- Ảnh nhị phân (đen trắng): là ảnh có giá trị mức xám của các điểm ảnh được
biểu diễn bằng 1 bit (giá trị 0 hoặc 1)
Ví dụ về biểu diễn ảnh nhị phân:
1 1 1 0
1 1 0 0
0 1 1 1
0 1 1 0
- Ảnh xám: giá trị mức xám của các điểm ảnh được biểu diễn bằng 8 bit (giá trị từ
0 đến 255)
Ví dụ về biểu diễn ảnh xám:
12 245 11
0
9 156 0
0
0 21 94 15
0 12 5 0
- Ảnh màu: thông thường, ảnh màu được tạo nên từ 3 màu tương ứng với màu đỏ
(RED), xanh lá cây (GREEN), xanh lam (BLUE) Tất cả các màu trong tự nhiêu đều có thể được tổng hợp từ 3 thành phần màu trên theo các tỷ lệ khác nhau
Điểm ảnh (pixel): Ảnh trong tự nhiên là những tín hiệu liên tục về không gian
và giá trị độ sáng Để có thể lưu trữ và biểu diễn ảnh bằng máy tính, con người phải tiến hành biến đổi các tín hiệu liên tục đó thành một số hữu hạn các tín hiệu rời rạc thông qua quá trình lượng tử hóa và lấy mẫu thành phần giá trị độ sáng Một điểm ảnh là một giá trị biểu diễn cho mức xám hay cường độ ảnh tại một vị trí sau khi đã biến đổi ảnh thành một số hữu hạn các tín hiệu rời rạc