ĐẠ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
LUẬN VĂN THẠC SĨ
Hà Nội - 2008
ĐẠ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 1
Chương 1:- TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ VIDEO 8
1.1 Tổng quan về xử lý ảnh 8
1.1.1 Xử lý ảnh và sơ đồ tổng quát 8
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 20
1.2.1 Sơ lược về Video 20
1.2.2 Các dạng chuẩn và kiến trúc của Video 21
1.2.2.1 Video tương tự 21
1.2.2.2 Video số 21
1.2.2.3 Thuật toán chuyển đổi Cosine rời rạc trong nén ảnh 27
1.2.2.4 Bù chuyển động 28
Chương 2:- CÁC KỸ THUẬT ĐÁNH GIÁ VẬN ĐỘNG CỦA ĐỐI TƯỢNG
TRONG VIDEO 31
2.1 Kỹ thuật bắt đối tượng chuyển động 31
2.1.1 Kỹ thuật trừ ảnh 31
2.1.2 Kỹ thuật trừ nền (Background Subtraction) 33
Phương pháp Heikkila và Olli 34
Bộ trộn thích nghi của Gaussians 35
Pfinder 35
W
4
36
LOTS 36
Halevy 37
Cutler 37
Wallflower 37
2.2 Các thuật toán đánh giá vận động của đối tượng trong Video 38
2.2.1 Sự quan trọng của đánh giá chuyển động trong xử lý ảnh 38
Thông tin chuyển động 38
2.2.2 Các hướng tiếp cận để đánh giá chuyển động 40
2.2.3 Một số vấn đề liên quan đánh giá chuyển động 40
Điều kiện so khớp 40
Vấn đề về khung trọn vẹn 41
Thuật toán loại trừ liên tục 43
Thuật toán theo dõi thay đổi cửa sổ 44
Thuật toán Modified Window Follower 45
2.2.4 Các phương pháp đánh giá chuyển động 46
2.2.4.1 Lucas – Kadane 46
2.2.4.2 Phương pháp phát hiện chuyển động nổi trội 49
2.2.4.3 Phương pháp đánh giá vận động toàn diện 54
Chương 3:- KẾT QUẢ VÀ THỰC NGHIỆM 56
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 56
3.2 Sơ lược về qui trình thiết kế phần mềm ứng dụng 58
3.3 Cài đặt các kỹ thuật liên quan 59
3.3.1 Thiết bị quan sát và lưu trữ 59
3.3.2 Ngôn ngữ cài đặt 60
3.3.3 Các lớp khai báo sử dụng trong chương trình 61
3.3.4 Một số lớp dll truy xuất từ window 63
3.3.5 Phát hiện và đánh dấu chuyển động của đối tượng 64
3.3.6 Thuật toán trừ nền cơ bản 66
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ề 66
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 69
3.3.7 Thuật toán phát hiện vận động toàn diện của đối tượng 71
3.3.8 Chương trình cài đặt 74
KẾT LUẬN 71
TÀI LIỆU THAM KHẢO 72
PHỤ LỤC 73
1
DANH MỤC CÁC TỪ VIẾT TẮT
Cụm từ viết tắt
Mô tả viết tắt
ADC
Analog to digital converter
BS
Block Search
DCT
Descrete Cosine Transform
Fcur
Frame current
Feg
Frame edge
Fgreyc
Frame grey current
Fgreyp
Frame grey previous
Fpre
Frame previous
GOB
Group of Macroblock
Iwb
Image white black
MAD
Mean Absolute Dierence
MB
Macro Block
MC
Motion Compensation
MSD
Mean Square Dierence
MSEA
Min Successive Elimination Algorithm
MV
Motion Vector
MWFA
Modify Window Follower Algorithm
NTSC
National Television system committee
PC
Personal computer
SEA
Successive Elimination Algorithm
WFA
Window Follower Algorithm
2
DANH MỤC HÌNH
Hình 1.1. Các bước cơ bản trong xử lý ảnh số 4
Hình 1.2. Những liên kết giữa các điểm ảnh 7
Hình 1.3. Những kiểu đường liên kết giữa các điểm ảnh 8
Hình 1.4. Mô hình màu RGB 8
Hình 1.5. Mô hình màu HSV 9
Hình 1.6. Mô tả phương pháp tìm biên ảnh 10
Hình 1.7. Kết quả thuật toán dò biên 12
Hình 1.8. Phân ngưỡng theo lược đồ xám 14
Hình 1.9. MacroBlock 17
Hình 1.10. Chuỗi các khung của H.261 19
Hình 1.11. Nhóm ảnh trong MPEG-1 20
Hình 1.12. Mô hình DCT cho khối 8x8 22
Hình 1.13. Mô hình nén liên ảnh 23
Hình 1.14. Khảo sát ô mẫu pixel của ảnh chuyển động 23
Hình 1.15. Mô tả vector chuyển động giữa hai khung ảnh kế cận nhau 25
Hình 2.1. Mô tả của phép toán trừ ảnh 27
Hình 2.2. Kết quả khi thực hiện Xor hai ảnh a và b 28
Hình 2.3. Chuyển động 3D trong thế giới thực được chiếu như chuyển động
2D trên ảnh phẳng 34
Hình 2.4. Khung tích hợp 37
Hình 2.5. Tính toán của một khối tổng 38
Hình 2.6. Vector biểu thị dòng thị giác của đối tượng chuyển động trong Video 41
Hình 2.7. Mô tả trường chuyển động của dòng thị giác 42
Hình 2.8. Lọc theo thời gian được áp dụng đối với các optical flow đã tính toán
của các khung trong giai đoạn thời gian [t, t+n] 46
Hình 2.9. Mô tả kết quả của phát hiện vận động nổi bật 48
Hình 2.10. Vùng sai khác khi đối tượng vận động 50
Hình 3.1. Bò sữa ở trang trại Vinamilk - Tuyên Quang 51
Hình 3.2. Mối liên quan trong thiết kế phần mềm 53
Hình 3.3. Tiến trình thiết kế phần mềm 54
Hình 3.4. Bò sữa được quản lý theo các ô và được đánh số 55
Hình 3.5. Một góc của trang trại bò sữa 55
Hình 3.6. Một số hình ảnh về khoanh vùng chuyển động 61
3
Hình 3.7. Thuộc tính của file video dạng avi 61
Hình 3.8. Ảnh khung hình liền trước và hiện thời có sai khác ít 63
Hình 3.9. Ảnh khung hình liền trước và hiện thời có sai khác nhiều. 63
Hình 3.10. a), b) là 2 khung hình có độ sai khác thỏa mãn ngưỡng, c) Ảnh Iwb chưa
lọc nhiễu, d) là ảnh Iwb sau khi lọc nhiễu 64
Hình 3.11. Cửa sổ chương trình thực hiện 68
Hình 3.12. Menu một số chức năng của chương trình 68
Hình 3.13. Ví dụ hiển thị thông tin một file Avi 69
Hình 3.14. Thực hiện chương trình với file Avi 69
4
DANH MỤC CÁC BẢNG
Bảng 1.1. Các tiêu chuẩn Video số 16
Bảng 1.2. Mô tả kiểu CIF và QCIF 17
Bảng 1.3. Một số ràng buột của MPEG-1 19
Bảng 1.4. Các tham số có trong MB 21
5
DANH MỤC CÁC LƯỢC ĐỒ
Lược đồ 3.1. Thu ảnh và phát hiện chuyển động 57
Lược đồ 3.2. Thu ảnh và lưu trữ 64
Lược đồ 3.3. Phát hiện đối tượng vận động 65
Lược đồ 3.4. Đánh giá vận động của đối tượng 66
6
MỞ ĐẦ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 thấ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].
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:
+ 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.
8
Chươ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:
9
Hì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 tí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
10
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.
1.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).
11
Ví dụ về biểu diễn ảnh nhị phân:
1110
1100
0111
0110
- Ả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:
12245110
915600
0219415
01250
- Ả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.
Mức xám: Là kết quả của sự biến đổi tương ứng giá trị độ sáng của một điểm
ảnh với một giá trị số nguyên dương. Tùy thuộc vào số giá trị biểu diễn mức xám mà
mỗi điểm ảnh sẽ được biểu diễn trên 1, 4, 8, 24 hay 32 bit. Số lượng bit biểu diễn
mức xám càng lớn thì chất lượng ảnh càng cao nhưng sẽ tốn dung lượng bộ nhớ
nhiều hơn để lưu trữ và cần một hệ thống mạnh hơn để xử lý.
Một số định dạng ảnh hiện nay như:
BMP (Bitmap): Là ảnh được mô tả bởi một ma trận các giá trị số xác định
màu và bảng màu của các điểm ảnh tương ứng khi hiển thị. Ưu điểm của ảnh Bitmap
là tốc độ vẽ và tốc độ xử lý nhanh. Nhược điểm của nó là kích thước rất lớn.
12
JPEG (Joint Photographic Experts Group): Đây là một định dạng ảnh được
hỗ trợ bởi nhiều trình duyệt web. Ảnh JPEG được phát triển để nén dung lượng và
lưu trữ ảnh chụp, và được sử dụng tốt nhất cho đồ họa có nhiều màu sắc, ví dụ như là
ảnh chụp được scan. Tập tin ảnh JPEG là ảnh Bitmap đã được nén lại.
GIF (Graphics Interchange Format): Ảnh GIF được phát triển dành cho
những ảnh có tính chất thay đổi. Nó được sử dụng tốt nhất cho đồ họa có ít màu, ví
dụ như là ảnh hoạt hình hoặc là những bức vẽ với nhiều đường thẳng.
WMF (Windows Metafiles): Là một tập hợp các lệnh GDI dùng để mô tả ảnh
và nội dung ảnh. Có hai ưu điểm khi sử dụng ảnh WMF: kích thước tập tin WMF
nhỏ và ít phụ thuộc vào thiết bị hiển thị hơn so với ảnh Bitmap.
Điểm ảnh và các lân cận: Mỗi frame ảnh thu về được biểu diễn dưới dạng
I(x,y) trong đó x,y là tọa độ của điểm ảnh trên frame và I là mức xám tương ứng của
điểm ảnh đó. Như vậy 1 frame ảnh thu được sẽ được biểu diễn dưới dạng một ma
trận 2 chiều n x m với n là số điểm ảnh trên 1 hàng, m là số hàng trong 1 frame.
Mỗi điểm ảnh có các lân cận xung quanh. Nếu hiển thị mỗi điểm ảnh dưới dạng
một ô vuông, mỗi điểm có chung biên với 4 điểm lân cận, và có chung góc với 4 điểm
lân cận khác.
Hai điểm lân cận gọi là "liên kết 4" nếu chúng có chung biên với nhau, và "liên
kết 8" nếu chung góc và chung biên với nhau.
[i-1,j]
[i-1,j-1]
[i-1,j]
[i-1,j+1]
[i,j-1]
[i,j]
[i,j+1]
[i,j-1]
[i,j]
[i,j+1]
[i+1,j]
[i+1,j-1]
[i+1,j]
[i+1,j+1]
(a) Liên kết 4 (b) Liên kết 8
Hình 1.2. Những liên kết giữa các điểm ảnh
Đường liên kết: Đường liên kết là đường nối từ điểm ảnh [i
1
, j
1
] đến điểm ảnh
[i
n
,j
n
], qua một chuỗi các điểm ảnh [i
1
, j
1
], [i
2
, j
2
], , [i
k
, j
k
] ,[i
n
,j
n
] trong đó mỗi
điểm ảnh liên kết với điểm ảnh trước nó. Từ đó ta có đường liên kết 4 hoặc liên kết 8
nếu các điểm ảnh là liên kết 4 hoặc liên kết 8.
13
(a) liên kết 4 (b) liên kết 8
Hình 1.3. Những kiểu đường liên kết giữa các điểm ảnh
Mô hình màu: Là phương pháp diễn giải các đặc tính và tác động của màu
trong ngữ cảnh nhất định. Không có mô hình màu nào là đầy đủ cho mọi khía cạnh của
màu. Người ta sử dụng các mô hình màu khác nhau để mô tả các tính chất được nhận
biết khác nhau của màu. Sau đây là một số mô hình màu điển hình:
- Mô hình màu RGB: Mọi màu được biểu diễn bởi không gian màu RGB đều là
sự pha trộn của 3 thành phần màu cơ bản (Red, Green, Blue). Mô hình màu RGB được
biểu diễn bởi khối lập phương với các trục R, G, B và cách xám hóa ảnh màu RGB
như sau:
mức xám = 0.299R+0.587G+0.114B
hoặc mức xám = 0.333R+0.333G+0.333B
Hình 1.4. Mô hình màu RGB
Mô hình màu CMY: Gồm 3 thành phần màu cơ bản cyan, magenta, yellow. Là
bù màu của không gian màu RGB. Mối quan hệ giữa hai không gian như sau: C = 1.0 -
R, M = 1.0 – G, Y = 1.0 – B.
Mô hình màu HSV: Mô hình màu HSV suy diễn từ mô hình màu RGB. Nếu
quan sát hình hộp RGB theo đường chéo từ white đến black thì ta có hình lục giác với:
+ Hue: Bước sóng gốc của ánh sáng. Trong mô hình hue được biểu
diễn từ 0
o
đến 360
o
.
14
+ Value: Cường độ hay độ chiếu sáng. Value có giá trị trong [0,1], V=0
thì là màu đen, đỉnh lục giác có cường độ màu cực đại.
+ Saturation: Thước đo độ tinh khuyết ánh sáng gốc. S nằm trong
khoảng [0,1]. Biểu diễn tỷ lệ độ tinh khuyết của màu sẽ chọn với độ
tinh khuyết cực đại.
Hình 1.5. Mô hình màu HSV
1.1.2.2 Các kỹ thuật cơ bản trong xử lý ảnh
Toán tử cửa sổ: Trong việc thực thi các thuật toán xử lý ảnh số cơ bản, người
ta thường sử dụng một toán tử đặc biệt gọi là toán tử cửa sổ. Toán tử cửa sổ là một tập
hợp có hình dạng nhất định, gồm các điểm ảnh có liên kết với một điểm ảnh trung tâm,
là điểm ảnh đang được xử lý. Các phép toán trên các điểm ảnh này sẽ có ảnh hưởng
đến các điểm ảnh trung tâm cũng là các điểm ảnh đang được xử lý trong một thuật
toán xử lý ảnh. Toán tử cửa sổ có nhiều hình dạng, tùy thuộc vào thuật toán thực hiện.
Tuy nhiên thường dùng nhất là các toán tử có dạng hình vuông với các cạnh là một số
lẻ, ví dụ:3x3, 5x5, 7x7
Tăng độ tương phản: Ảnh sau khi thu được từ camera, có thể do sự tương
phản ảnh sáng kém, dẫn đến độ chói quá cao, khó phân biệt. Để cải thiện ảnh, hỗ trợ
các quá trình xử lý cao hơn, ta sử dụng các phương pháp hiệu chỉnh: hiệu chỉnh min-
max, hiệu chỉnh histogram, hiệu chỉnh Gamma, Ở đây ta sử dụng phương pháp hiệu
chỉnh min-max vì nó dãn đều mức xám của ảnh trong dải cho phép. Công thức để nâng
cấp ảnh theo hiệu chỉnh min-max:
256.
min
max
min
II
I
old
I
new
I
, với I
max
, I
min
, I
old
, I
new
lần lượt là các mức xám cao
nhất, thấp nhất, trước và sau khi thực hiện hiệu chỉnh.
15
Phép cuộn và mẫu:
Giả sử ta có ảnh I, lược đồ mức xám là I[M,N]
và mẫu T, lược đồ mức xám tương ứng T[m,n], khi đó ảnh I cuộn theo mẫu T được xác
định theo công thức:
1
0
1
0
)1(),(),().,(
m
i
n
j
yxjiTjyixITI
hoặc
1
0
1
0
)2(),(),().,(
m
i
n
j
yxjiTjyixITI
Ví dụ: cho ảnh
210000
321000
432100
543210
654321
I
và mẫu
10
01
T
Áp dụng công thức (1) ta có:
******
*42000
*64200
*86420
*108642
TI
Áp dụng công thức (2) ta có:
42000*
64200*
86420*
108642*
******
TI
Lọc tuyến tính: Đây là thuật toán cơ sở sử dụng phép nhân chập. Lọc tuyến
tính có tác dụng cải thiện ảnh, loại bỏ nhiễu hỗ trợ cho các quá trình xử lý cao hơn.
Mỗi bộ lọc khác nhau sử dụng một mặt nạ khác nhau, cho hiệu quả khác nhau tùy vào
mục đích sử dụng và tình trạng của ảnh sau khi thu thập.Các mặt nạ lọc thường là:
2x2, 3x3, 5x5, 7x7; Phép lọc được xác định bằng cách lấy tổng chập hàm lọc với hình
ảnh:
v(m,n) = Σs(m-k, n-l) h(k,l), với v(m,n) là điểm ảnh mới, s(m-k,n-l) là điểm ảnh
cũ, h(k,l) là hàm chập.
16
Lọc trung bình: Mỗi điểm ảnh được thay thế bằng trung bình trọng số của
các điểm lân cận:
Wlk
lnkmslkanmv
,
),(),(),(
, nếu a(k,l)=1/N
W
,
trong đó N
W
là số điểm trong cửa sổ, khi đó ta có phương pháp lọc trung
bình: giá trị mới của điểm ảnh thay bằng trung bình cộng của các điểm rơi
vào cửa sổ W
Wlk
lnkms
W
N
nmv
,
),(
1
),(
Lọc trung vị: Dùng trong trường hợp xuất hiện cô lập ngẫu nhiên dàn trải
trên ảnh; lọc trung bình có thể làm ảnh bị mờ;
Phương pháp: Lấy điểm trung vị trong dãy được sắp các giá trị trong cửa sổ;
lọc trung vị là lọc phi tuyến:
Median{ x(m) + y(m) } ≠ Median{x(m)} + Median{y(m)}, thông thường cửa
sổ có điểm số lẻ: 3x3, 5x5, Nếu cửa sổ có số điểm chẵn: lấy giá trị trung bình
của hai điểm ở giữa.
Thuật toán dò biên ảnh: Một điểm ảnh được coi là nằm trên đường biên nếu
tại vị trí điểm ảnh đó có sự thay đổi đột ngột của mức xám. Như vậy, đường biên là
đường nối các điểm ảnh nằm trong khu vực ảnh có thay đổi đột ngột về độ chói, đường
biên thường ngăn cách hai vùng ảnh có các mức xám gần như không đổi.
- Phương pháp Gradient:
Hình 1.6. Mô tả phương pháp tìm biên ảnh
Phương pháp này là phương pháp dò biên cục bộ dựa vào giá trị cực đại của
đạo hàm. Gradient là vector cho thấy tốc độ thay đổi giá trị độ chói của các điểm ảnh
theo hướng nhất định. Các thành phần của Gradient được tính bởi:
)2(
),(),(),(
)1(
),(),(),(
dy
yxfdyyxf
y
yxf
dx
yxfydxxf
x
yxf
dx, dy là khoảng cách giữa các điểm theo hướng lấy x, y. Thực tế thường dùng
dx=1, dy=1.[7]
17
Việc tính này thường sử dụng phép cuộn mẫu:
Ví dụ: Kỹ thuật PreWitt
Cho hai mẫu H
x
, H
y
và ảnh I[m,n]
111
000
111
101
101
101
y
H
x
H
Bước 1: Tính I cuộn theo H
x
, tính I cuộn theo H
y
Bước 2: Tính
y
HI
x
HI
- Phương pháp Laplace: Phương pháp Gradient làm việc tốt khi độ sáng thay
đổi tương đối rõ nét. Khi mức xám thay đổi chậm, các đường biên không rõ nét, miền
chuyển tiếp tương đối rộng, phương pháo hiệu quả hơn là dùng đạo hàm bậc hai mà
chúng ta gọi là phương pháp Laplace. Toán tử Laplace được định nghĩa như sau:
2
2
2
2
2
y
f
x
f
f
.
Ta có:
),1(),(2),1(),(),1(
2
2
yxfyxfyxfyxfyxf
xx
f
x
x
f
Tương tự:
)1,(),(2)1,(
2
2
yxfyxfyxf
y
f
)1,(),1(),(4)1,(),1(
2
yxfyxfyxfyxfyxff
Từ đó ta có thể chọn mẫu tương ứng như sau:
010
141
010
H
, ngoài ra còn có một số mẫu khác,
(a) ảnh trước khi dò biên (b) ảnh sau khi dò biên
Hình 1.7. Kết quả thuật toán dò biên
18
Histogram: Lược đồ mức xám (Biểu đồ tần suất)
Lược đồ mức xám của một ảnh I là một ma trận hai chiều I[m,n]
Với: m là số dòng của ma trận tương ứng với chiều cao của ảnh I
n là số cột của ma trận tương ứng với chiều rộng của ảnh I
Giá trị của I
ij
, với i=1,2,…,m; j=1,2, ,n là cường độ sáng của điểm ảnh trong
ảnh I tại vị trí dòng i, cột j.
Gọi mức xám g của ảnh I là số điểm ảnh của I có giá trị g và kí hiệu là h(g). Ví dụ:
124355
874210
)(
,
40021
71124
04012
87410
gh
g
I
Phân ngưỡng, phân vùng và nhị phân hóa ảnh số: Ảnh sau quá trình tiền xử
lý, nâng cấp, để tới những quá trình xử lý cao hơn cần được nhị phân hóa, phân vùng
thành các đối tượng riêng biệt.
Tìm ngưỡng: đây là quá trình tìm ra ngưỡng của một ảnh để thực hiện việc
phân vùng. Ngưỡng đóng vai trò quyết định quá trình nhị phân hóa ảnh số có hiệu quả
hay không. Nếu chọn ngưỡng không tốt, sẽ bỏ qua một số đối tượng, hoặc cho đối
tượng với kích thước, vị trí không đúng, hoặc tệ hơn là làm các đối tượng không phân
biệt được với nhau. Có nhiều thuật toán tìm ngưỡng, cho kết quả khác nhau: Trong đó
điển hình là tìm ngưỡng trung bình và tìm ngưỡng theo histogram.
- Tìm ngưỡng trung bình, ngưỡng được tính theo công thức:
n
i
m
j
jiI
nm
tb
I
1 1
),(
.
1
, và
tb
I
ng
I
trong đó, nxm là kích thước ảnh, I
tb
, I
ng
,
tương ứng lần lượt là: mức xám trung bình, giá trị ngưỡng, và số gia hiệu chỉnh.
- Tìm ngưỡng theo histogram: là phương pháp tìm ngưỡng dựa theo lược đồ
xám.
19
Hình 1.8. Phân ngưỡng theo lược đồ xám
Ngưỡng tìm được theo công thức:
2/
2max1max
II
ng
I
. Trong đó I
max1
và I
max2
là hai mức xám tương ứng cực đại trên histogram.
Phân vùng và nhị phân hóa ảnh số: sau khi tìm ngưỡng, ta có thể nhị phân
hóa ảnh số và tách các đối tượng. Trong ảnh xám ban đầu, ta coi đối tượng là những
vùng ảnh có mức xám thấp, nền là vùng ảnh có mức xám cao. Ta có thể tách đối tượng
ra bằng thuật toán phân ngưỡng:
,Ta sẽ được đối tượng có
màu đen( mức xám 1) và nền có màu trắng (mức xám 0).
I[i,j]=
1 nếu I[i,j]
I
ng
0 nếu I[i,j]
I
ng
20
1.2 Tổng quan về xử lý Video
1.2.1 Sơ lược về Video
Đa phương tiện là một trong những khía cạnh quan trọng của kỷ nguyên thông
tin. Dù đã có nhiều thành tựu về các khía cạnh khác nhau của đa phương tiện, nhưng
vẫn là chưa đủ so với sự phát triển về công nghệ thông tin hiện nay. Trong đó, Video
là một lĩnh vực của đa phương tiện, nó có phạm vi ứng dụng rộng rãi trong đời sống
con người. Vì vậy cần nhiều hơn nữa các nghiên cứu liên quan đến ảnh và video để
phát huy tính hữu dụng của nó.
Video là sự tái tạo ảnh tự nhiên về những khoảng cách không gian và thời gian
hoặc cả hai, thực chất là một dãy ảnh liên tục theo thời gian nhằm mô phỏng ảnh
chuyển động. Việc dùng ảnh liên tục để mô tả chuyển động theo thời gian đã xuất hiện
gần 2 thập kỉ nay. Một trong các hướng tiếp cận trước nhất đối với ảnh chuyển động
được phát minh bởi nhà toán học William George Horner năm 1834. Từ sau ý tưởng
của Horner hàng loạt các hướng nghiên cứu và ứng dụng về ảnh chuyển động dần hình
thành.
Dù đã có nhiều đóng góp và phát triển liên quan đến lĩnh vực này, nhưng ảnh
chuyển động vẫn còn ít hứa hẹn về mặt lợi ích kinh tế, mãi cho đến khi phát minh ra
phim ảnh bởi Hannibal Good thành công năm 1887, và trong năm 1889 bởi Henry W.
Reichenbach cho phim Eastman. Điều này mang đến sự thuận tiện cho nghệ thuật
nhiếp ảnh và phương tiện để hiển thị ảnh chuyển động (chiếu ảnh).
Năm 1895, một hệ thống camera/Projector với các chuẩn phim hiện tại (35mm
chiều rộng, 24 khung hình trên giây) được phát triển bởi Louis Lumiére. Thiết bị này
có tên là Cinématographe (hay là Cenéma).
Sự chuẩn hóa của video tương tự trong những năm đầu của thập niên
1950(NTSC) và những năm cuối của 1960 (SECAM và PAL) làm cho ảnh chuyển
động xuất hiện hầu như khắp nơi, với các thiết bị vô tuyến được dùng rộng rãi cho
mục đích giải trí, các hệ thống cho các ứng dụng công nghệ như phân tích chuyển
động tiếp tục được phát triển. Dù chưa hiệu quả nhiều về mặt kinh tế, nhưng các cố
gắng, nỗ lực về các hệ thống giao tiếp video cũng đã xuất hiện trong suốt thời gian
này.
Sự kiện của chuẩn video kĩ thuật số trong những năm 1990 (H.261, MPEG và
một vài chuẩn liên quan), đi cùng với nó là các thiết bị tin học cự kì rẻ đã mang lại kết
21
quả phát triển bùng nổ trong các ứng dụng giải trí, trong các giao tiếp video và trong
các lĩnh vực liên quan [11].
1.2.2 Các dạng chuẩn và kiến trúc của Video
1.2.2.1 Video tương tự
NTSC Video: Đây là dạng Video tương tự với 525 dòng trên một khung hình,
30 khung hình trong một giây, quét cách dòng, chia làm hai trường (mỗi trường 262.5
dòng), có 20 dòng dự trữ cho thông tin điều khiển tại thời điểm bắt đầu mỗi trường.
PAL Video: Dạng Video này có 625 dòng trên một khung hình, 25 khung hình
trong một giây, quét cách dòng. Khung gồm hai trường chẳn lẽ, mỗi trường bào gồm
312.5 dòng.
1.2.2.2 Video số
Một số tiêu chuẩn của Video số lấy theo tiêu chuẩn CCIR (Consultative
Committee for International Radio)
Bảng1.1. Các tiêu chuẩn của Video số
CCIR
601525/60
NTSC
CCIR 601625/50
PAL/SECAM
CIF
QCIF
Độ phân giải
độ chói
720x480
360x576
352x288
176x144
Độ phân giải
màu sắc
360x480
360x576
176x144
88x72
Lẫy mẫu màu
4:2:2
4:2:2
4:2:0
4:2:0
Số trường /s
60
50
30,15,10,7.5
30,15,10,7.5
Cách quét
Cách dòng
Cách dòng
Liên tục
Liên tục
Chuẩn Video H.261
H.261 được phát triển cho dịch vụ truyền hình hội nghị và Video phone qua
ISDN ở tốc độ px64kbps/s (p=1, 2, …,30), H.261 làm cơ sở cho các chuẩn nén sau này
như MPEG 1, 2.
H.261 sử dụng dạng thức trung gian CIF (Common Intermediate Format) với
các tốc độ bit thấp hơn, nó sử dụng dạng có tốc độ nhỏ hơn ¼ là QCIF (Quadrature).