Để có thể tính đƣợc thế năng vân-bố cục, cần phải xây dựng một bộ phân lớp với đầu vào là các đặc trƣng vân-bố cục đã rút trích trong các bƣớc trên. Bộ phân lớp đối tƣợng đƣợc sử dụng là thuật toán Joint Boosting [29]. Thuật toán này sẽ lần lƣợt chọn các bộ lọc vân-bố cục để xây dựng bộ học yếu (weak learner), sau đó kết hợp các bộ lọc yếu để tạo thành một bộ phân lớp mạnh , sử dụng bởi thế năng vân - bố cục. Thuật toán Joint Boost sẽ chia sẽ từng bộ học yếu cho một số lớp trong tập các lớp lớp C, từ đó một bộ phân lớp yếu có thể phân loại một số lớp thay vì chỉ một.
Giống nhƣ các thuật toán boosting khác, mục đích của Joint Boosting là học đƣợc
M bộ phân lớp yếu, từ đó tổng hợp lại để tại thành một bộ phân lớp mạnh
(3.11) Trong đó, là nhãn lớp, là vector đặc trƣng đầu vào( N chiều). M là số vòng
boost.
Từ đó các xác suất phân bố của nhãn có thể đƣợc tính.
(3.12)
Thuật toán boosting này khác biệt ở chỗ, thay vì các lớp đƣợc huấn luyện bằng các bộ học yếu khác nhau, joint boosting cho phép một số lớp chia sẽ chung bộ học yếu. Ví dụ trong trƣờng hợp có 3 lớp. Một bộ phân lớp mạnh có thể định nghĩa nhƣ sau:
34
Trong đó, là bộ học yếu chia sẽ cho cả 3 lớp. là bộ học yếu chia sẽ giữa lớp 1 và 2. là bộ học yếu chỉ dùng cho lớp 1.
Các bộ học yếu có dạng:
ế
ượ ạ (3.14)
Trong đó, bộ tham số gồm ( a, b, {kc}cN, , S, r, t). là hàm đặc trƣng 0-1. Cặp (r,t) là đặc trƣng shape filter (vùng chữ nhật r và texton t). thể hiện kết quả của bộ lọc vân-cục bộ tại vị trí i.
Đối với những lớp dùng chung bộ học yếu này ( , với ), bộ học yếu sẽ có giá trị phụ thuộc vào kết quả của việc so sánh giữa với một ngƣỡng . Đối với những lớp không dùng bộ phân lớp yếu này ( ), bộ phân lớp yếu sẽ đƣợc gán một hằng số
Quá trình boosting:
Ý tƣởng của thuật toán này là tại mỗi vòng lặp, các tập con khác nhau S của tập
nhãn C đƣợc xem xét ( ). Sau đó, chọn ra tập S tốt nhất sao cho hàm lỗi đạt giá trị nhỏ nhất.
Từng mẫu đầu vào i (một pixel trong tập huấn luyện), đƣợc gắn với một giá trị mục tiêu (+1 nếu mẫu i có nhãn đúng – ground truth - là c, -1 nếu ngƣợc lại). và một bộ trọng số sẽ đƣợc cập nhật sau mỗi vòng lặp. Có N mẫu huấn
luyện và nhãn.
35
Input:
N mẫu học, mỗi mẫu học i, gồm một vector đặc trƣng , và nhãn đúng của
mẫu học đó.
Output:
Một bộ học mạnh gồm M bộ học yếu, mỗi bộ học yếu đƣợc xác định bằng một bộ tham số: a, b, {kc}cN, , S(n), r, t
Thuật toán:
B1. Khởi gán các trọng số và đặt = 0, i = 1..N, c = 1..C B2. Lặp M lần, m = 1,2, … M
2.1 Lặp n = 1,2,…, 2C – 1 (duyệt tất cả tập con của tập nhãn C) 2.1.1 Tìm bộ phân lớp yếu ế ế 2.1.2 Tính độ lỗi (3.15)
2.2 Tìm tập con S(n) tốt nhất làm cho độ lỗi đạt cực tiểu: , và chọn bộ phân lớp yếu tƣơng ứng. 2.3 Cập nhật bộ phân lớp mạnh và trọng số.
36 =
Tối thiểu hoá độ lỗi cho ra các tham số nhƣ sau [29]: (3.16) (3.17) (3.18) 3.2. Thế năng màu sắc
Thế năng màu sắc (color potential) sẽ khai thác phân phối màu sắc của các đối
tƣợng trong một ảnh cụ thể. Sự phân bố màu sắc cùa toàn bộ các đối tƣợng thuộc
các lớp khác nhau rất đa dạng và phân tán. Ngƣợc lại, sự phân phối màu sắc của từng đối tƣợng cụ thể lại tƣơng đối tập trung cho phép xây dựng mô hình màu chính xác hơn dẫn đến tăng cƣờng kết quả phân đoạn ảnh [1]. Từ nhận xét trên, quá trình tính toán thế năng màu sắc chỉ xảy ra trên từng ảnh riêng biệt trong lúc kiểm tra, không cần quá trình huấn luyện nhƣ thế năng vân-bố cục. Lƣu ý rằng, thế năng vân bố cục cũng ngầm sử dụng thông tin màu sắc, nhƣng nó mô hình hoá phân bố màu sắc rộng hơn trên toàn bộ lớp.
Mô hình màu đƣợc sử dụng là mô hình hỗn hợp Gausssian (Gaussian Mixture
37
Hình 3-8. Minh hoạ các tính thế năng màu sắc
Nhƣ minh hoạ trong hình 4-7. Xác suất có điều kiện của pixel x đƣợc tính nhƣ sau:
(3.19)
Trong đó, k là số lƣợng thành phần Gaussian, xác suất cho pixle x thuộc về thành phần Gassian thứ k đƣợc tính nhƣ sau:
(3.20)
Trong đó và lần lƣợt là trung bình và phƣơng sai của Gaussian thứ k. Lƣu ý rằng đối với từng ảnh chỉ có một mô hình GMM đƣợc áp dụng chung cho tất cả các lớp.
Đối với từng pixel , xác suất đƣợc tính, và sử dụng trong thế năng màu sắc nhƣ sau:
(3.21)
Tham số thể hiện phân phối xác suất có dạng bảng tra và đƣợc tính (vào lúc kiểm tra) nhƣ sau:
B1: Tính toán mô hình GMM tƣơng ứng với ảnh đầu vào. B2: Suy đoán nhãn lớp c*
38
(3.22)
B4: Lặp lại bƣớc 2.
Trên thực tế, các tham số đƣợc chọn nhƣ sau: , , 15 gaussian cho mô hình GMM, và lặp 2 lần cho kết quả tốt.
3.3. Thế năng vị trí:
Thế năng vị trí (location potential) mô hình hoá mối quan hệ giữa nhãn lớp và vị trị
tƣơng đối của pixel trong ảnh. Thế năng vị trí có dạng một bảng tra dựa vào giá trị lớp và vị trí pixel:
(3.23)
Trong đó, là vị trí chuẩn hoá của vị trí pixel i, việc chuẩn hoá này cho phép xử lý các ảnh với các kích thƣớc khác nhau. Và
(3.24)
Trong đó, là số lƣợng pixel thuộc lớp c tại vị trí i trong tập huấn luyện. là tổng số pixel tại vị trí i. và đƣợc chọn nhƣ sau: ,
Hình 3-9. Minh họa về thế năng vị trí. Màu trắng biểu hiện tần số xuất hiện cao. Hình trên cho biết một số thông tin nhƣ cây và bầu trời thƣờng nằm phía trên ảnh, đƣờng
40
Có ba thuật toán tiêu biểu nhằm giải quyết vấn đề này. Đó là thuật toán dựa trên đồ thị (graph-based) [23] , thuật toán mean-shift [5] và thuật toán superpixel [21]. Hình 4-9 so sánh kết quả ba thuật toán trên.
Hình 3-10. So sánh kết quả của ba thuật toán phân đoạn ảnh. (b) thuật toán dựa trên đồ thị [23] , (c) thuật toán superpixel [21] (d) thuật toán mean-shift [5]
Thuật toán phân đoạn ảnh dựa trên đồ thị sẽ xây dựng đồ thị với các đỉnh là các pixel, các cạnh là các pixel láng giềng với trọng số là khoảng cách Euclid giữa hai vector màu của hai pixel láng giềng. Thuật toán này rất nhanh do chỉ có một vòng lặp, tuy nhiên kết quả phân đoạn không đƣợc tốt với các phân đoạn ảnh có hình dạng rất khác nhau.
Thuật toán superpixel cũng xây dựng một đồ thị với các đỉnh là các pixel tuy nhiên trọng số của các cạnh đƣợc tính dựa vào sự giống nhau (trọng số càng cao tƣơng ứng với hai pixel cùng giống nhau). Sau đó tiến hành phân đoạn ảnh bằng việc giải bài toán k-cut trên đồ thị này. Thuật toán này cho ra kết quả tƣơng đối tốt, nhƣng đòi hỏi thời gian tính toán và bộ nhớ rất cao. Khác với hai thuật toán còn lại các phân đoạn ảnh kết quả của thuật toán này có kích thƣớc gần giống nhau.
Thuật toán mean-shift xem các pixel trong ảnh nhƣ một vector đặc trƣng 5 chiều (gồm 3 chiều màu, và 2 chiều vị trí x, y) . Tham số của thuật toán mean-shift gồm độ rộng băng thông màu và không gian . Thuật toán bắt đầu tại mỗi pixel, sau đó di chuyển trung tâm của pixel dựa theo láng giềng của nó (đƣợc xác định thông qua băng thông màu và không gian). Thuật toán lặp cho đến khi pixel đạt đến điểm dừng. Các phân đoạn đạt đƣợc bằng các nhóm các pixel hội tụ trong cùng điểm dừng.
41
Do thuật toán graph-based có kết quả phân đoạn không đƣợc tốt, nên luận văn chỉ sử dụng 2 thuật toán còn lại (superpixel và mean-shift). Cả hai thuật toán này đều cho ra kết quả phân đoạn ảnh không giám sát rất tốt, với việc các đƣờng biên đƣợc phân định rất rõ ràng. Tuy nhiên, hai thuật toán này có sự khác biệt căn bản về kích thƣớc của các phân đoạn ảnh. Trong khi thuật toán superpixel cho ra các phân đoạn ảnh có kích thƣớc và hình dạng gần giống nhau, thì kết quả của thuật toán mean- shift là các phân đoạn ảnh các kích thƣớc và hình dạng rất khác nhau.
3.4.2. Thế năng mức cao:
Thế năng mức cao sẽ khuyến khích các pixel nằm trong cùng phân đoạn ảnh có nhãn giống nhau. Do đó thế năng này sẽ có giá trị nhỏ khi các pixel nằm trong cùng phân đoạn ảnh có nhãn giống nhau và giá trị lớn nếu chúng khác nhau. Cụ thể, thế năng mức cao đƣợc tính nhƣ sau:
ế
ượ ạ (3.26) Trong đó ,
Tuy nhiên điều kiện trong công thức 4.26 khá ngặt nghèo, đòi hỏi tất cả các pixel trong cùng phân đoạn phải có nhãn giống nhau. Do đó, nó không giải quyết đƣợc trong trƣờng hợp các phân đoạn ảnh không chính xác hay hai phân đoạn xung đột nhau. Để giải quyết vấn đề này, có thể sử dụng thế năng mức cao bền vững (robust higher oder potential)
ế
ượ ạ
(3.27)
Trong đó, thể hiện số lƣợng pixel có nhãn khác với nhãn chủ đạo của phân đoạn ảnh c (nhãn chủ đạo là nhãn có số lƣợng pixel mang nhãn này nhiều nhất trong một phân đoạn ảnh). Công thức trên chấp nhận một số lƣợng nhất định các pixel mang nhãn khác nhau.
42
Sự khác biệt giữa hai công thức trên thể hiện qua hình dƣới đây:
Hình 3-11. Minh hoạ hai cách tính thế năng mức cao. Hình (a) ứng với công thức 4.26. Hình (b) ứng với công thức 4.27.
43
Chƣơng 4: Kết quả thực nghiệm
4.1. Bộ dữ liệu
Luận văn sẽ tập trung vào vấn đề phân đoạn ảnh đối tƣợng trên ảnh tĩnh. Các ảnh này phải tƣơng đối phong phú, có hơn hai đối tƣợng trong một ảnh, và phải có ảnh kết quả đã gán nhãn sẵn (grounth-truth) để huấn luyện và kiểm tra. Cụ thể hơn, các thử nghiệm đánh giá hiệu năng thuật toán trong luận văn này sẽ đƣợc thực hiện trên bộ dữ liệu Microsoft Research Cambridge - MSRC [10].
Bộ dữ liệu này gồm 591 ảnh trong đó có 21 lớp đối tƣợng: building, grass, tree, cow, sheep, sky, airplane, water, face, car, bicycle, flower, sign, bird, book, chair, road, cat, dog, body, boat. Các ảnh có kích thƣớc khoảng 320 x 240. Môi trƣờng
trong các bức ảnh cũng rất đa dạng gồm đồng cỏ, cây cối, trong nhà, đƣờng phố, trên trời, dƣới nƣớc. 21 đối tƣợng này có thể đƣợc chia làm 5 nhóm:
Môi trƣờng: grass, sky, water, road.
Động vật: cow, sheep, bird, cat, dog.
Thực vật: tree, flower
Đồ vật: building, airplane, car, bicycle, sign, book, chair, boat.
Ngƣời: face, body.
Mỗi ảnh sẽ đi kèm với một ảnh đã gán nhãn sẵn (ground-truth) trong đó mỗi màu sẽ ứng với một đối tƣợng (xem hình 1-3). Lƣu ý trong các ảnh đã gán nhãn, có chứa những pixel đƣợc gán nhãn “void” (màu đen), các pixel này không thuộc về bất kỳ lớp nào và sẽ đƣợc bỏ qua trong lúc huấn luyện cũng nhƣ kiểm tra. Do sự tồn tại của những pixel không đƣợc gán nhãn, nên thông tin về đƣờng biên giữa các đối tƣợng trong tập dữ liệu này không chính xác.
44
4.2. Độ đo
Nhƣ trong hầu hết các thuật toán phân đoạn ảnh khác, luận văn sử dụng phƣơng pháp đánh giá độ chính xác dựa trên tỷ lệ phần trăm số lƣợng pixel đƣợc phân loại đúng chia cho tổng số pixel.
ổ ố ượ
ổ ố (4.1)
Lƣu ý: các pixel đƣợc gán nhãn “void” (màu đen) sẽ không đƣợc tính.
Hình 4-1. Bộ dữ liệu MSRC. Cột a-d là một số ảnh trong bộ dữ liệu. Cột e là ảnh đã gán nhãn sẵn của các ảnh trong cột d.
4.3. Bố trí thí nghiệm
Các thí nghiệm trong luận văn này đƣợc tiến hành trên máy tính với cấu hình Core 2 Duo 2.4 GHz, 2Gb RAM. Tập dữ liệu đƣợc chia ra làm ba phần: 45% cho huấn luyện, 10% cho thực nghiệm chọn tham số, và 45% cho kiểm tra. Các thí nghiệm
45
đƣợc tiến hành trên môi trƣờng Windows 7 và sử dụng ngôn ngữ lập trình C++ và C#.
4.4. Kết quả
4.4.1. Thí nghiệm với các kích thƣớc từ điển khác nhau
Trong thí nghiệm này, luận văn sẽ thử nghiệm hiệu năng của đặc trƣng vân-bố cục với các kích thƣớc từ điển texton khác nhau. Hiệu năng đƣợc tính chung cho tất cả các lớp. Các tham số đƣợc chọn nhƣ sau: 150 đặc trƣng với kích thƣớc mỗi vùng tối đa là 200 x 200.
Kết quả thử nghiệm cho thấy, khi số lƣợng texton trong từ điển là 400 sẽ cho kết qua tối ƣu. Nhỏ hơn kích thƣớc này, từ điển texton không đủ để mô tả sự đa dạng về màu sắc, vân của các ảnh. Ngƣợc lại, nếu số lƣợng texton quá lớn sẽ gây nên tình trạng quá khớp, khiến cho hiệu năng giảm xuống.
Chi phí thời gian để huấn luyện với 5000 vòng boosting khoảng 40 giờ. Thời gian để kiểm tra một ảnh khoảng 6 phút.
Hình 4-2. Kết quả thí nghiệm hiệu năng của đặc trƣng vân – bố cục với các kích thƣớc từ điển texton khác nhau.
46
4.4.2. Thí nghiệm với các mức độ kết hợp đặc trƣng trong mô hình CRF đôi đôi
Trong thí nghiệm này, luận văn sẽ thử nghiệm hiệu năng phân đoạn ảnh giữa 4 mô hình sau:
Chỉ sử dụng đặc trƣng vân – bố cục
Thế năng đơn phân (gồm đặc trƣng vân - bố cục, đặc trƣng màu sắc và đặc trƣng vị trí)
Mô hình CRFs đôi ( gồm thế năng đơn phân và thế năng liên kết).
Thuật toán của Shotton [10], đƣợc dùng làm thuật toán baseline để so sánh kết quả
Bảng 4-1 cho thấy hiệu năng chung của 4 mô hình. Hiệu năng chung này đƣợc tính trên tất cả các lớp. Qua bảng này có thể nhận xét rằng, tuy đặc trƣng vân - bố cục còn kém kết quả trong [10] (~ 1%), nhƣng khi áp dụng thêm các đặc trƣng khác nhƣ màu sắc, vị trí tƣơng đối, thế năng liên kết, kết quả đã tốt lên trông thấy (xem hình 4-3).
Bảng 4-1. Hiệu năng chung của việc kết hợp các loại đặc trƣng khác nhau trong trong mô hình CRFs đôi
Shotton ([10]) Thế vân-bố cục Thế năng đơn phân CRF đôi
69.6 % 68.5 % 70.8 % 71.1 %
Bảng 4-2 cho thấy hiệu năng cụ thể hơn của từng lớp đối tƣợng trong 3 mô hình (gồm 21 lớp). Có thể thấy rằng, ở hầu hết các lớp mô hình CRFs đôi cho kết quả tốt nhất.
47
Bảng 4-2. Hiệu năng cụ thể của từng lớp với các loại đặc trƣng khác nhau trong mô hình CRFs đôi. b u il d - in g gr ass tree cow sh ee p sk y ae ro - p lan e wat er fac e car b ik e Vân-bố cục 47.0 94.1 70.3 74.8 58.2 64.7 58.5 49.2 53.5 70.5 84.6 Đơn phân 48.8 96.5 71.2 75.5 61.9 67.2 60.9 53.5 54.3 74.5 88.3 CRF 49.2 96.7 71.2 75.8 62.3 67.5 61.4 54.1 55.0 74.8 88.6 flow er sign b ird book ch air road cat d og bod y b oat Vân-bố cục 72.0 63.1 18.4 90.1 55.8 66.3 71.8 31.5 47.2 27.1 Đơn phân 71.3 65.3 16.9 91.7 55.0 71.5 73.8 35.2 49.6 23.7 CRF 71.4 65.5 16.2 92.1 55.0 71.8 74.0 35.8 50.1 23.4
Hình 4-3 thể hiện một số hình ảnh kết quả với 3 mô hình trên. Qua đó có thể nhận thấy rằng việc thêm thông tin về cạnh, màu sắc, vị trí (mô hình CRF đôi), giúp loại bỏ những pixel cô lập bị phân loại sai, do đó tăng hiệu năng của thuật toán.
Hình 4-3. Một số kết quả trên tập dữ liệu MSRC. Các cột lần lƣợt từ trái qua phải: ảnh đầu vào, ảnh kết quả dùng đặc trƣng vân-bố cục, kết quả dùng thế năng đơn
phân, ảnh kết quả dùng mô hình CRF đôi, ảnh groundtruth.
Lớp Mô hình
48
4.4.3. Thí nghiệm kết hợp với kết quả phân đoạn ảnh không giám sát