Tải bản đầy đủ (.ppt) (36 trang)

NHẬN DẠNG ẢNHIMAGE RECOGNITION

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (544.56 KB, 36 trang )

CHƯƠNG 6
NÉN ẢNH
IMAGE COMPRESSION
IMAGE COMPRESSION
TRẦN THANH LƯƠNG
Khoa Công nghệ Thông tin
Trường Đại học Khoa học Huế
Email:
Website: />2
2
NỘI DUNG BÀI GIẢNG

M
M
ột số khái niệm
ột số khái niệm

Dư thừa dữ liệu
Dư thừa dữ liệu

Các phương pháp nén ảnh
Các phương pháp nén ảnh

Mã hoá loạt dài (RLC)

Mã hoá Huffman

Mã hoá LZW
3
3
GIỚI THIỆU



Lý do cần nén dữ liệu
Lý do cần nén dữ liệu

Dữ liệu được lưu trữ, trao đổi trên các phương tiện
xử lý và truyền tải thông tin.

Quá trình xử lý dữ liệu đặt ra cho chúng ta những
yêu cầu sau:

Yêu cầu về lưu trữ là phải chính xác và tiết kiệm.

Yêu cầu về truyền tải phải nhanh chóng, hiệu quả.

Nén dữ liệu là một yêu cầu tất yếu được đặt ra trong
thời đại bùng nỗ thông tin.
4
4
MỘT SỐ KHÁI NIỆM

Nén dữ liệu (Data Compression)
Nén dữ liệu (Data Compression)

Là quá trình giảm lượng thông tin dư thừa trong dữ
liệu gốc.

Lượng thông tin thu được sau khi nén nhỏ hơn rất
nhiều so với dữ liệu gốc.

Nén dữ liệu còn có cách gọi khác là: giảm độ dư thừa

thông tin, mã hóa ảnh gốc.

Trong phần này chúng ta đề cập đến việc nén dữ liệu
ảnh.
5
5
MỘT SỐ KHÁI NIỆM

Tỉ lệ nén (Compression rate)
Tỉ lệ nén (Compression rate)

Tỉ lệ nén là một trong những đặc trưng quan trọng
nhất của mọi phương pháp nén.

Giả sử n
1
là kích thước của ảnh sau khi nén, n
2

kích thước của ảnh gốc. Khi đó tỉ lệ nén được tính theo
công thức:

Độ dư thừa dữ liệu được tính theo công thức:
1
2
n
n
r =
r
d

1
1−=
6
6
MỘT SỐ KHÁI NIỆM

Tỉ lệ nén (Compression rate)
Tỉ lệ nén (Compression rate)

Ví dụ ảnh gốc có kích thước 1000 byte, ảnh sau khi
nén có kích thước 100 byte. Khi đó tỉ lệ nén là:

Độ dư thừa dữ liệu là:
10
100
1000
==r
%909.0
10
1
1 ==−=d
7
7
MỘT SỐ KHÁI NIỆM

Tỉ lệ nén (Compression rate)
Tỉ lệ nén (Compression rate)

Tỉ lệ nén >< Tốc độ nén.


Tỉ lệ nén >< Chất lượng nén.

Có 3 loại dư thừa dữ liệu
Có 3 loại dư thừa dữ liệu

Dư thừa mã

Dư thừa nội tại điểm ảnh

Dư thừa tâm sinh lý nhìn
8
8
DƯ THỪA MÃ

Giả sử các cấp xám là các đại lượng ngẫu nhiên,
Giả sử các cấp xám là các đại lượng ngẫu nhiên,
n
n
k
k
là số lượng điểm ảnh có giá trị cấp xám là k, n
là số lượng điểm ảnh có giá trị cấp xám là k, n
là tổng số điểm ảnh trong ảnh. Khi đó xác suất
là tổng số điểm ảnh trong ảnh. Khi đó xác suất
để xảy ra cấp xám thứ k là:
để xảy ra cấp xám thứ k là:

Trong đó: L là số cấp xám của ảnh.
Trong đó: L là số cấp xám của ảnh.
1, ,2,1,0,)( −== Lk

n
n
kp
k
9
9
DƯ THỪA MÃ

Gọi l(k) là số bit để biểu diễn điểm ảnh có cấp
Gọi l(k) là số bit để biểu diễn điểm ảnh có cấp
xám bằng k. Khi đó, số bit trung bình để biểu
xám bằng k. Khi đó, số bit trung bình để biểu
diễn một điểm ảnh là:
diễn một điểm ảnh là:

Vậy, tổng số bit cần để biểu diễn ảnh có kích
Vậy, tổng số bit cần để biểu diễn ảnh có kích
thước M
thước M
×
×
N là:
N là:
M
M
×
×
N
N
×

×
L
L
avg
avg


=
=
1
0
)()(
L
k
avg
kpklL
10
10
DƯ THỪA MÃ

Giả sử mỗi điểm ảnh được biểu diễn bởi m bit cố
Giả sử mỗi điểm ảnh được biểu diễn bởi m bit cố
định. Khi đó L
định. Khi đó L
avg
avg
= m.
= m.

Để nén ảnh, ta sẽ tìm cách giảm số bit trung bình

Để nén ảnh, ta sẽ tìm cách giảm số bit trung bình
biểu diễn một điểm ảnh.
biểu diễn một điểm ảnh.

L
L
avg
avg
càng nhỏ
càng nhỏ


M
M
×
×
N
N
×
×
L
L
avg
avg
càng nhỏ
càng nhỏ


tỉ lệ nén
tỉ lệ nén

càng cao.
càng cao.
11
11
VÍ DỤ DƯ THỪA MÃ

Cho một ảnh 8 cấp xám có các thông số như
Cho một ảnh 8 cấp xám có các thông số như
bảng sau.
bảng sau.
k p(k) Code 1 l
1
(k) Code 2 l
2
(k)
0 0.19 000 3 11 2
1 0.25 001 3 01 2
2 0.21 010 3 10 2
3 0.16 011 3 001 3
4 0.08 100 3 0001 4
5 0.06 101 3 00001 5
6 0.03 110 3 000001 6
7 0.02 111 3 000000 6
12
12

Số bit trung bình để biểu diễn cho một điểm ảnh theo cách mã
Số bit trung bình để biểu diễn cho một điểm ảnh theo cách mã
hóa 1 (Code 1) là 3.
hóa 1 (Code 1) là 3.


Số bit trung bình để biểu diễn cho một điểm ảnh theo cách mã
Số bit trung bình để biểu diễn cho một điểm ảnh theo cách mã
hóa 2 (Code 2) là:
hóa 2 (Code 2) là:
k p(k) Code 1 l
1
(k) Code 2 l
2
(k)
0 0.19 000 3 11 2
1 0.25 001 3 01 2
2 0.21 010 3 10 2
3 0.16 011 3 001 3
4 0.08 100 3 0001 4
5 0.06 101 3 00001 5
6 0.03 110 3 000001 6
7 0.02 111 3 000000 6
7.2)02.0(6)03.0(6)06.0(5)08.0(4)16.0(3
)21.0(2)25.0(2)19.0(2)()(
7
0
2
=+++++
++==

=k
avg
kpklL
13

13
DƯ THỪA NỘI TẠI ĐIỂM ẢNH

Một điểm ảnh nào đó có thể được dự báo từ các
Một điểm ảnh nào đó có thể được dự báo từ các
điểm ảnh xung quanh.
điểm ảnh xung quanh.

Để giảm độ dư thừa trong điểm ảnh, người ta
Để giảm độ dư thừa trong điểm ảnh, người ta
biến đổi dạng 2 chiều dùng cho việc biểu diễn
biến đổi dạng 2 chiều dùng cho việc biểu diễn
ảnh thành một dạng khác có hiệu quả hơn.
ảnh thành một dạng khác có hiệu quả hơn.

Chẳng hạn, có thể sử dụng sự khác nhau giữa
Chẳng hạn, có thể sử dụng sự khác nhau giữa
hai điểm ảnh kề nhau để biểu diễn ảnh.
hai điểm ảnh kề nhau để biểu diễn ảnh.
14
14
DƯ THỪA TÂM SINH LÝ NHÌN

Mắt người không thể đáp ứng được với tất cả độ nhạy
Mắt người không thể đáp ứng được với tất cả độ nhạy
ánh sáng.
ánh sáng.

Thông tin đơn giản có tầm quan trọng ít hơn những
Thông tin đơn giản có tầm quan trọng ít hơn những

thông tin khác trong vùng nhìn thấy.
thông tin khác trong vùng nhìn thấy.

Những thông tin không chủ yếu có thể loại bỏ được mà
Những thông tin không chủ yếu có thể loại bỏ được mà
không ảnh huởng đến hình ảnh nhận thức của con
không ảnh huởng đến hình ảnh nhận thức của con
người.
người.

Số lượng màu mà mắt người có thể phân biệt được là
Số lượng màu mà mắt người có thể phân biệt được là
rất ít so với các màu có trong tự nhiên.
rất ít so với các màu có trong tự nhiên.
15
15
DƯ THỪA TÂM SINH LÝ NHÌN

Ví dụ: Mắt người không thể phân biệt được một số
Ví dụ: Mắt người không thể phân biệt được một số
màu đỏ gần nhau.
màu đỏ gần nhau.

Nghĩa là, chúng ta ánh xạ một khoảng rộng các
Nghĩa là, chúng ta ánh xạ một khoảng rộng các
giá trị cấp xám đầu vào thành một khoảng hẹp
giá trị cấp xám đầu vào thành một khoảng hẹp
các giá trị cấp xám đầu ra.
các giá trị cấp xám đầu ra.
255,0,0 255,10,0 255,20,0

255,10,10 255,20,10 255,10,20
16
16
CÁC PHƯƠNG PHÁP NÉN ẢNH

Mã hóa theo loạt dài RLC (Run Length Coding)
Mã hóa theo loạt dài RLC (Run Length Coding)

Mã hóa Huffman
Mã hóa Huffman

Mã hóa LZW (Lempel Ziv-Wench)
Mã hóa LZW (Lempel Ziv-Wench)
17
17
MÃ HÓA LOẠT DÀI - RLC

Được áp dụng cho ảnh đen trắng (có 2 mức xám,
Được áp dụng cho ảnh đen trắng (có 2 mức xám,
màu đen (0), màu trắng (1)), chẳng hạn như văn
màu đen (0), màu trắng (1)), chẳng hạn như văn
bản trên nền trắng, bản vẽ kỹ thuật, …
bản trên nền trắng, bản vẽ kỹ thuật, …

Ý tưởng cơ bản là phát hiện dãy các bit lặp,
Ý tưởng cơ bản là phát hiện dãy các bit lặp,
chẳng hạn như bit 0 nằm giữa hai bit 1, hoặc bit
chẳng hạn như bit 0 nằm giữa hai bit 1, hoặc bit
1 nằm giữa hai bit 0 (dãy này gọi là mạch).
1 nằm giữa hai bit 0 (dãy này gọi là mạch).


Thay thế chuỗi đó bởi một chuỗi mới gồm hai
Thay thế chuỗi đó bởi một chuỗi mới gồm hai
thông số: chiều dài của chuỗi và bit lặp.
thông số: chiều dài của chuỗi và bit lặp.
18
18
MÃ HÓA LOẠT DÀI - RLC

Ví dụ:
Ví dụ:
000000000000000000000
000000000000000000000
111111111111
111111111111


33
33

Thay thế chuỗi bit 0 bằng:
Thay thế chuỗi bit 0 bằng:
00010101
00010101
0
0

Thay thế chuỗi bit 1 bằng:
Thay thế chuỗi bit 1 bằng:
00001100

00001100
1
1

Kết quả ta có:
Kết quả ta có:
00010101
00010101
0
0
00001100
00001100
1
1


18
18
21 bit 0 12 bit 1
00010101 00001100
19
19
MÃ HÓA LOẠT DÀI - RLC

Nếu chuỗi lặp có độ dài lớn hơn 255, thì ta tách
Nếu chuỗi lặp có độ dài lớn hơn 255, thì ta tách
chuỗi lặp đó ra thành nhiều chuỗi.
chuỗi lặp đó ra thành nhiều chuỗi.

Các chuỗi đầu có độ dài là 255

Các chuỗi đầu có độ dài là 255

Chuỗi cuối cùng có độ dài là số bit còn lại.
Chuỗi cuối cùng có độ dài là số bit còn lại.
20
20
MÃ HÓA LOẠT DÀI - RLC

Đối với ảnh không phải là ảnh nhị phân, chúng ta
Đối với ảnh không phải là ảnh nhị phân, chúng ta
cũng thực hiện tương tự.
cũng thực hiện tương tự.

Thay loạt các giá trị cấp xám giống nhau bằng
Thay loạt các giá trị cấp xám giống nhau bằng
hai thông tin.
hai thông tin.

Số điểm ảnh có giá trị bằng nhau (count).

Giá trị cấp xám (value).
21
21
MÃ HÓA LOẠT DÀI - RLC

Ví dụ:
Ví dụ:
1 1 1 3 3 8 8 8
8 9 9 7 7 7 7 7
6 6 6 5 5 5 3 3

1 1 1 1 1 2 2 2
(3,1) (2,3) (4,8)
(2,9) (5,7)
(3,6) (3,5) (2,3)
(5,1) (3,2)
Count ≤ 5 → Count sử dụng 3 bit để biểu diễn.
Value ≤ 9 → Value sử dụng 4 bit để biểu diễn.
Số loạt sau mã hóa: 10 → số bit là: 10×7=70 bit
Mỗi điểm ảnh sử dụng 4 bit để biểu diễn → Số bit là: 32×4=128 bit
Số bit cho 1 loạt là:
3+4=7
22
22
MÃ HÓA HUFFMAN

Huffman là một trong những phương pháp mã
Huffman là một trong những phương pháp mã
hóa thông tin được sử dụng nhiều trong việc
hóa thông tin được sử dụng nhiều trong việc
giảm kích thước dữ liệu và truyền tin
giảm kích thước dữ liệu và truyền tin

Kỹ thuật mã hóa Huffman được đề nghị vào năm
Kỹ thuật mã hóa Huffman được đề nghị vào năm
1952.
1952.

Phương pháp này có thể áp dụng trong việc nén
Phương pháp này có thể áp dụng trong việc nén
dữ liệu tổng quát.

dữ liệu tổng quát.
23
23
MÃ HÓA HUFFMAN

Nguyên tắc của phương pháp mã hóa Huffman:
Nguyên tắc của phương pháp mã hóa Huffman:

Là phương pháp dựa vào mô hình thống kê để tính
tần suất xuất hiện của các tín hiệu.

Gán cho những tín hiệu có tần suất xuất hiện cao
một từ mã có độ dài bé.

Gán cho những tín hiệu có tần suất xuất hiện thấp
một từ mã có độ dài lớn.
→ Làm giảm độ dài trung bình của từ mã.
24
24
MÃ HÓA HUFFMAN

Thuật toán: Gồm 2 bước chính
Thuật toán: Gồm 2 bước chính
1.Duyệt tập tin gốc để tính xác suất xuất hiện của mỗi
tín hiệu, sau đó sắp xếp các tín hiệu này theo thứ tự
giảm dần của xác suất. Duyệt bảng xác suất từ cuối lên
đầu để thực hiện ghép hai phần tử có xác suất thấp
thành một phân tử mới. Phần tử này có xác suất bằng
tổng xác suất hai phần tử thành phần và loại bỏ hai
thành phần này. Lặp lại quá trình cho đến khi chỉ còn

hai phần tử.
25
25
MÃ HÓA HUFFMAN

Thuật toán: Gồm 2 bước chính
Thuật toán: Gồm 2 bước chính
2.Xây dựng cây nhị phân, với gốc là một phần tử giả.
Các cây con trái và cây con phải tương ứng là hai phần
tử có xác suất lớn nhất. Và cứ tiếp tục như vậy cho các
phần tử tiếp theo cho đến khi hoàn chỉnh. Tiến hành mã
hóa cho các tín hiệu. Bắt đầu gốc, nếu đi xuống cây con
trái thì thêm vào bit 0, cây con phải thì thêm vào bit 1.
Quá trình kết thúc khi tất cả các nút lá đều được gán
mã.

×