Cân b ng Histogram
ng: Tìm m t bi n đ i phi tuy n
g = T(f )
áp d ng cho m i pixel c a nh f(x,y), đ
g(x,y) phân ph đ u.
•Ýt
Tr
Khoa Tốn - Tin h c
CuuDuongThanCong.com
ng HKHTN Tp.HCM
2007
/>
Cân b ng Histogram
• Chúng ta có giá tr xám r liên t c trong [0,1], r=0 mô t
màu đen và r=1 mơ t màu tr ng.
• Chúng ta c n xây d ng m t bi n đ i s=T(r), trên c s
histogram c a nh, bi n đ i này s làm t ng c ng nh.
• T có các tính ch t:
– T(r) là hàm t ng đ u v i 0≤r≤1
– T(r) ánh x t
[0,1] vào [0,1].
Tr
Khoa Toán - Tin h c
CuuDuongThanCong.com
ng HKHTN Tp.HCM
2007
/>
Cân b ng Histogram
• Xem xét bi n đ i ng c r=T-1(s) và xem nh bi n đ i ng c
•
•
•
này c ng th a hai đi u ki n trên.
Xem nh giá tr xám c a nh ban đ u (A) và k t qu (B) nh
bi n ng u nhiên trong [0, 1].
t pin(r) và pout(s) là m t đ xác su t các giá tr xám c a A và
B.
N u bi t pin(r) vàT(r), và T-1(s) th a đi u ki n 1, chúng ta có
th vi t (lý thuy t xác su t):
dr ⎤
⎡
p out (s ) = ⎢ p in (r ) ⎥
ds ⎦ r = T −1 ( s )
⎣
• M t cách đ t ng c ng nh là thi t k m t bi n đ i T(.)
m c xám nh phân b không chu n trong [0, 1].
pout(s)=1, 0 ≤s≤1
Tr
Khoa Toán - Tin h c
CuuDuongThanCong.com
ng HKHTN Tp.HCM
2007
/>
Cân b ng Histogram
• Các vùng c a histogram đ c ch nh đ “cân đ i
•
•
•
b ng nhau” trong m c xám. K thu t này đ c g i
là
cân
b ng
histogram
(histogram
r
equalization).
s = T (r ) = ∫ p in (w )dw ,
0 ≤ r ≤1
Xem nh là bi n đ i
o
CDF (cumulative distribution function) c a pin(r)
c ng th a 2 đi u ki n trên.
ds
T ph ng trình trên ta suy ra, dr = pin (r )
Tr
Khoa Toán - Tin h c
CuuDuongThanCong.com
ng HKHTN Tp.HCM
2007
/>
Cân b ng Histogram
• Thì k t qu s là
p out
⎡
1 ⎤
(s ) = ⎢ p in (r )
⎥
(
)
p
r
in
⎣
⎦ r = T −1 ( s )
= [1]r = T −1 ( s ) = 1, for 0 ≤ s ≤ 1
• Hàm m t đ xác su t c a g là đ u mà khơng quan
•
•
tâm f.
Dùng m t hàm bi n đ i đ cân b
giá tr xám r, c a f, chúng ta có th
g có các giá tr xám chu n.
i u này s làm t ng c ng nh,
ho t).
Tr
Khoa Toán - Tin h c
CuuDuongThanCong.com
ng CDF c a các
có m t nh m i
(t ng vùng linh
ng HKHTN Tp.HCM
2007
/>
Cân b ng Histogram
• R i r c hóa, ta s có:pin ( rk ) = nk , for 0 ≤ r ≤ 1, vaø 0 ≤ k ≤ L − 1
– L: T ng s m c xám
– nk: s l ng pixel m c xám rk
n
– n: T ng s pixel trong nh
• CDF s là
k
k
ni
sk = T (rk ) = ∑ = ∑ pin (ri ), for 0 ≤ k ≤ L − 1
i =0 n
i =0
• Cân b ng histogram không ph i lúc nào c ng cho
k t qu nh mong mu n, ch hi u qu khi
histogram b d n l i. i u này có th gây ra sai
c nh và vùng, có th gây ra nhi u.
Tr
Khoa Toán - Tin h c
CuuDuongThanCong.com
ng HKHTN Tp.HCM
2007
/>
Ví d cân b ng Histogram
nh ban đ u
Sau khi cân b ng histogram
Tr
Khoa Toán - Tin h c
CuuDuongThanCong.com
ng HKHTN Tp.HCM
2007
/>
Ví d cân b ng Histogram
Tr
Khoa Tốn - Tin h c
CuuDuongThanCong.com
ng HKHTN Tp.HCM
2007
/>
Ví d
• Xem xét m t b c
nh kích th c
64x64
8 m c
xám (0, 1, …, 7).
Chu n hóa giá tr
xám
(0, 1/7, 2/7, …,
1). Histogram sau
chu n hóa nh
b ng:
Tr
Khoa Toán - Tin h c
CuuDuongThanCong.com
k
rk
nk
p(rk)=nk/n
0
1
2
3
4
5
6
7
0
1/7
2/7
3/7
4/7
5/7
6/7
1
790
1023
850
656
329
245
122
81
0.19
0.25
0.21
0.16
0.08
0.06
0.03
0.02
ng HKHTN Tp.HCM
2007
/>
Ví d
Tr
Khoa Tốn - Tin h c
CuuDuongThanCong.com
ng HKHTN Tp.HCM
2007
/>
Ví d
• Áp d ng bi n đ i nh
trên, chúng ta có k t
qu
(sau khi làm
trịn):
0
s0 = T (r0 ) = ∑ pin (ri ) = pin (r0 ) = 0.19 → 1
i =0
7
1
s1 = T (r1 ) = ∑ pin (ri ) = pin (r0 ) + pin (r1 ) = 0.44 → 3
i =0
2
s2 = T (r2 ) = ∑ pin (ri ) = pin (r0 ) + pin (r1 ) + pin (r2 ) = 0.65 → 5
i =0
• Chú ý, có duy nh t 5
giá tr xám r i r c --(1/7, 3/7, 5/7, 6/7, 1)
đ c gán nhãn là (s0,
s1, …, s4).
3
s3 = T (r3 ) = ∑ pin (ri ) = pin (r0 ) + pin (r1 ) +
i =0
4
s4 = T (r4 ) = ∑ pin (ri ) = pin (r0 ) + pin (r1 ) +
i =0
5
s5 = T (r5 ) = ∑ pin (ri ) = pin (r0 ) + pin (r1 ) +
i =0
6
s6 = T (r6 ) = ∑ pin (ri ) = pin (r0 ) + pin (r1 ) +
i =0
7
s7 = T (r7 ) = ∑ pin (ri ) = pin (r0 ) + pin (r1 ) +
i =0
Tr
Khoa Toán - Tin h c
CuuDuongThanCong.com
7
7
+ pin (r3 ) = 0.81 → 6
7
+ pin (r4 ) = 0.89 → 6
+ pin (r5 ) = 0.95 → 1
+ pin (r6 ) = 0.98 → 1
+ pin (r7 ) = 1.00 → 1
ng HKHTN Tp.HCM
2007
/>
7
Ví d
bi n
đ i
histogram c a g là
Histogram c a g là
x , khơng chính
hồn tồn, chu n.
•V i
này
•
x p
xác
k
sk
nk
p(sk)=nk/n
0
1
2
3
4
1/7
3/7
5/7
6/7
1
790
1023
850
985
448
0.19
0.25
0.21
0.24
0.11
Dùng hàm imhist và histeq trong
image processing toolbox
Tr
Khoa Toán - Tin h c
CuuDuongThanCong.com
ng HKHTN Tp.HCM
2007
/>
Ví d
nh ban đ u
nh sau khi cân b ng
/>Tr
Khoa Toán - Tin h c
CuuDuongThanCong.com
ng HKHTN Tp.HCM
2007
/>
Ví d
Histogram c a nh ban đ u
Tr
Khoa Tốn - Tin h c
CuuDuongThanCong.com
Histogram c a nh sau cân b ng
ng HKHTN Tp.HCM
2007
/>
Ví d
nh ban đ u
nh sau khi cân b ng
Tr
Khoa Toán - Tin h c
CuuDuongThanCong.com
ng HKHTN Tp.HCM
2007
/>
Ví d
Histogram c a nh ban đ u
Tr
Khoa Tốn - Tin h c
CuuDuongThanCong.com
Histogram c a nh sau cân b ng
ng HKHTN Tp.HCM
2007
/>
Ví d
nh ban đ u
nh sau khi cân b ng
Tr
Khoa Toán - Tin h c
CuuDuongThanCong.com
ng HKHTN Tp.HCM
2007
/>
Ví d
Histogram c a nh ban đ u
Tr
Khoa Tốn - Tin h c
CuuDuongThanCong.com
Histogram c a nh sau cân b ng
ng HKHTN Tp.HCM
2007
/>
Ví d
nh ban đ u
nh sau khi cân b ng
Tr
Khoa Toán - Tin h c
CuuDuongThanCong.com
ng HKHTN Tp.HCM
2007
/>
Ví d
Histogram c a nh ban đ u
Tr
Khoa Tốn - Tin h c
CuuDuongThanCong.com
Histogram c a nh sau cân b ng
ng HKHTN Tp.HCM
2007
/>
Ch đ nh d ng Histogram
• Cân b ng histogram cung c p m t nh có các pixel đ c
phân b chu n m c xám (theo lý thuy t).
• ơi khi chúng ta khơng mu n đi u này. Thay vì v y,
chúng ta c n m t bi n đ i mà cho ta m t histogram theo
ý mình. K thu t này g i là ch đ nh histogram
(histogram specification).
• Gi s nh f có m t đ xác su t pin(r). Chúng ta mu n tìm
m t bi n đ i z=H(r), và m t đ xác su t c a g là pout(z).
r
• Áp d ng bi n đ i
s = T (r ) = ∫ pin (w)dw,
0 ≤ r ≤1
(*)
o
đ
nh m i có m t đ xác su t chu n.
Tr
Khoa Toán - Tin h c
CuuDuongThanCong.com
ng HKHTN Tp.HCM
2007
/>
Ch đ nh d ng Histogram
• N u g có m t đ chu n: ν
z
= G ( z ) = ∫ pout (w )dw,
0 ≤ z ≤1
(* *)
o
• T m c xámν chúng ta có z b ng bi n đ i ng c z=G-1(ν).
• N u thay vì dùng m c xám ν t (**), chúng ta dùng s t
(*) (c hai đ u là phân b chu n), thì:
z = H(r) = G-1[T(r)]
s cho nh m i có phân b c th pout(z), t nh có m t
k
đ pin(r).
n
sk = T ( rk ) = ∑ i , for 0 ≤ k ≤ L − 1 vaø
i=0 n
• R i r c các m c xám, ta có
k
ν k = G ( zk ) = ∑ pout ( zi ), for 0 ≤ k ≤ L − 1
i=0
Tr
Khoa Toán - Tin h c
CuuDuongThanCong.com
ng HKHTN Tp.HCM
2007
/>
Ch đ nh d ng Histogram
• N u bi n đ i zk→G(zk) là 1-1, bi n đ i ng c sk→G-1(sk) đ c xác đ nh d
•
•
dàng, t đây chúng ta có th phân chia v i m t t p nh các giá tr xám r i
r c.
Trong th c t , zk → G(zk) không ph i lúc nào c ng là 1-1, chúng ta ph i
thi t l p các giá tr xám phù h p v i histogram có, càng chính xác càng t t.
Ví d : xem xét nh 64x64 8 m c xám
Tr
Khoa Toán - Tin h c
CuuDuongThanCong.com
k
rk
nk
p(rk)=nk/n
0
1
2
3
4
5
6
7
0
1/7
2/7
3/7
4/7
5/7
6/7
1
790
1023
850
656
329
245
122
81
0.19
0.25
0.21
0.16
0.08
0.06
0.03
0.02
ng HKHTN Tp.HCM
2007
/>
Ví d
• Xem xét bi n đ i z=H(r)= G-1[T(r)], v i histogram nh
sau:
Tr
Khoa Toán - Tin h c
CuuDuongThanCong.com
k
zk
pout(zk)
0
0
0.00
1
1/7
0.00
2
2/7
0.00
3
3/7
0.15
4
4/7
0.20
5
5/7
0.30
6
6/7
0.20
7
1
0.15
ng HKHTN Tp.HCM
2007
/>
• Và G nh sau:
Ví d
0
ν 0 = G ( z0 ) = ∑ pout (zi ) = pout ( z0 ) = 0.00 → 0
• Bi n đ i T(r) nh sau: ν = G(z ) =
1
ri→sk
nk
p(sk)
r0 → s0 = 1/7
790
0.19
r1 → s1 = 3/7
1023
0.25
r2 → s2 = 5/7
850
0.21
r3,r4 → s3 = 6/7 985
0.24
r5, r6,r7 → s4=1
0.11
448
1
i =0
1
∑ p (z ) = p (z ) + p (z ) = 0.00 → 0
i =0
out
i
out
0
out
1
2
ν 2 = G ( z2 ) = ∑ pout (zi ) = pout ( z0 ) + pout ( z1 ) + pout (z 2 ) = 0.00 → 0
i =0
3
ν 3 = G ( z3 ) = ∑ pout ( zi ) = pout ( z0 ) + pout (z1 ) +
i =0
4
ν 4 = G ( z4 ) = ∑ pout (zi ) = pout (z0 ) + pout (z1 ) +
i =0
5
ν 5 = G (z5 ) = ∑ pout ( zi ) = pout ( z0 ) + pout (z1 ) +
i =0
6
ν 6 = G ( z6 ) = ∑ pout (zi ) = pout ( z0 ) + pout ( z1 ) +
i =0
7
ν 7 = G ( z7 ) = ∑ pout (zi ) = pout (z0 ) + pout (z1 ) +
i =0
Tr
Khoa Toán - Tin h c
CuuDuongThanCong.com
+ pout ( z3 ) = 0.15 → 1
7
+ pout ( z 4 ) = 0.35 → 2
7
+ pout (z5 ) = 0.65 → 5
7
+ pout ( z6 ) = 0.85 → 6
7
+ pout (z7 ) = 1.00 → 1
ng HKHTN Tp.HCM
2007
/>