Cực tiểu hoá năng lƣợng bằng phƣơng pháp graph cut

Một phần của tài liệu Kết hợp đa đặc trưng trong mô hình crfs cho bài toán phân đoạn ảnh theo đối tượng (Trang 25 - 35)

Nguyên tắc cơ bản của phƣơng pháp graph-cut là xây dựng một đồ thị đặc biệt dựa trên hàm năng lƣợng cần cực tiểu hoá để cho đường cắt tối thiểu (minimum cut hay min-cut) trên đồ thị cũng làm cực tiểu hoá năng lƣợng [6]. Việc tìm ra min-cut lại một lần nữa có thể giải một cách hiệu quả bằng thuật toán dòng cực đại (max-flow). Các thuật toán này có độ phức tạp thấp, và do đó cho phép tính toán nhanh chi phí tối thiểu trong bài toán min-cut.

2.2.2.1. Đƣờng cắt tối thiểu

Gọi là một đồ thị có trọng số chứa một tập hợp các đỉnh V, và một tập hợp các cạnh có hƣớng E kết nối giữa các đỉnh. Có hai đỉnh đặc biệt gọi là đỉnh đầu

17

đỉnh là các pixel và các đỉnh đầu cuối tƣơng ứng với nhãn gán vào các pixel. Để đơn giản, phần tiếp theo sẽ chỉ tập trung vào đồ thị có hai đỉnh đầu cuối. Trong trƣờng hợp này, hai đỉnh đƣợc gọi là đỉnh đầu (source, s) và đỉnh cuối (sink, t).

Hình 3-1, minh họa một đồ thị diễn tả ảnh 3x3 với hai nhãn. Các công trình khác nhau sử dụng các cấu trúc đồ thị khác nhau, tuy nhiên tất cả chúng đều dựa trên đồ thị tƣơng tƣ nhƣ hình 3-1.

Hình 2-2. Ví dụ về đồ thị (a) và đƣờng cắt (b). Các cạnh nối giữa hai đỉnh đầu cuối với các pixel (màu đỏ và xanh) thể hiện thế năng đơn phân. Các cạnh nối giữa các pixel (màu vàng) thể hiện thế năng liên kết. Một đƣờng cắt sẽ chia tập các pixel ra

làm 2 phần, tƣơng ứng với việc gán nhãn nhị phân.

Tất cả các cạnh trong đồ thị đƣợc gán một trọng số hay chi phí (cost). Lƣu ý, trọng số cho cạnh có hƣớng (p, q) có thể khác với cạnh ngƣợc lại (q, p). Thông thƣờng, có hai loại cạnh trong đồ thị: cạnh n(t-links) và cạnh t(t-links). Cạnh n liên kết các cặp pixel láng giềng có trọng số tƣơng ứng với sự chênh lệch về diện mạo giữa các pixel, đây chính là thế năng liên kết trong hàm năng lƣợng 3-1. Cạnh t

liên kết các pixel với các điểm đầu cuối (nhãn). Trọng số của cạnh t tƣơng ứng với độ tƣơng thích giữa pixel với nhãn đó, trọng số này chính là thế năng đơn phân trong hàm năng lƣợng 3-1.

18

Một đường cắt (cut) C trên đồ thị có hai đỉnh đầu cuối là một cách phân hoạch các đỉnh thành hai đồ thị con không giao nhau S và T trong đó đỉnh s nằm trong S và

đỉnh t nằm trong T. Nói cách khác một đƣờng cắt là một tập hợp các cạnh sao cho khi xoá các cạnh này khỏi đồ thị thì hai đỉnh đầu cuối s, t sẽ tách rời nhau. Chi phí cho đƣờng cắt C ký hiệu là , là tổng trọng số các cạnh trong C. Bài toán

đường cắt tối thiểu (min-cut) liên quan đến việc tìm ra đường cắt có chi phí nhỏ

nhất trong tổng số các đường cắt chia tách hai điểm đầu cuối. Fork và Fulkerson

[38] chỉ ra rằng đƣờng cắt tối thiểu có thể đƣợc tìm thấy dựa trên việc tính toán

dòng chảy cực đại (max-flow) giữa hai điểm đầu cuối. Nói một cách dễ hiểu, dòng

chảy cực đại là tổng số lƣợng nƣớc có thể gửi từ điểm đầu s, đến điểm cuối t, thông qua hệ thống ống dẫn là các cạnh đồ thị. Do đó bài toán đƣờng cắt tối thiểu tƣơng đƣơng với bài toán dòng chảy cực đại và giá trị của dòng chảy cực đại bằng với chi phí của đƣờng cắt tối thiểu. Hình 3-2 mình họa graph-cut trong bài toán phân đoạn ảnh.

Hình 2-3. Ví dụ đơn giản về phân đoạn ảnh 2D cho ảnh 3x3. Trọng số của các cạnh thể hiện bằng độ dày của cạnh đó trong hình. Đầu tiên ảnh (a) sẽ đƣợc chuyển thành

đồ thị tƣơng ứng (b), việc tìm ra đƣờng cắt tối thiểu (c) tƣơng ứng với sự phân đoạn ảnh tốt nhất (d). [38]

19

Việc tìm ra đƣờng cắt tối thiểu/dòng chảy cực đại trong trƣờng hợp đồ thị chỉ có hai đỉnh đầu cuối là một vấn đề kinh điển và đã đƣợc giải tƣơng đối tốt. Tuy nhiên đối với bài toán có nhiều hơn hai nhãn, việc tìm ra năng lƣợng cực tiểu vẫn còn là một vấn đề khó. Phần sau sẽ trình bày rõ hơn cách giải quyết bài toán nhiều hơn hai nhãn bằng phƣơng pháp graph-cut.

2.2.2.2. Thuật toán bƣớc di chuyển

Các thuật toán cực tiểu hoá năng lƣợng bằng phƣơng pháp xấp xỉ chủ yếu dựa trên nguyên tắc tìm cực tiểu cục bộ của hàm năng lƣợng E tại f:

ầ (3.2)

Một sự gán nhãn f’ “gần” f là một sự gán nhãn có thể đạt đƣợc từ f thông qua một bước di chuyển. “Bƣớc di chuyển” sẽ thay đổi nhãn của một số pixel. Nguyên lý

chung của phƣơng pháp này tƣơng tự nhƣ thuật toán leo đồi. Tại mỗi bƣớc, thuật toán sẽ tìm trong không gian các bƣớc di chuyển, và chọn giải pháp có năng lƣợng thấp nhất. Bƣớc di chuyển này gọi là bước di chuyển tối ưu. Thuật toán gọi là hội tụ khi không thể tìm ra một bƣớc di chuyển có mức năng lƣợng thấp hơn. Một số thuật toán nhƣ [6] sử dụng bƣớc di chuyển đơn, nghĩa là chỉ thay đổi một pixel tại một thời điểm. Cách di chuyển này rất dễ rơi vào một cực tiểu cục bộ có giá trị cao. Do đó kết quả của các phƣơng pháp này thƣờng có năng lƣợng cao. Để tránh khuyết điểm này cần phải tìm ra một thuật toán có khả năng thay đổi nhãn của nhiều pixel cùng lúc.

Từ nhận xét trên, dễ nhận ra rằng kích thƣớc của không gian di chuyển là tính chất quan trọng của thuật toán. Một bƣớc di chuyển lớn (thay đổi nhiều nhãn một lúc) đồng nghĩa với hàm năng lƣợng thay đổi lớn hơn. Điều này khiến cho thuật toán giảm bớt cơ hội bị kẹt tại cực tiểu địa phƣơng và hội tụ nhanh hơn. Hai thuật toán tiêu biểu trong nhóm này là thuật toán hoán đổi alpha-beta (alpha-beta swap) và

20

Một bƣớc di chuyển có thể đƣợc mã hoá bằng vector nhị phân , trong đó sẽ xác định cách biến đổi pixel i. Hàm biến đổi sẽ nhận vào nhãn hiện tại và bƣớc di chuyển t, và trả về nhãn mới , tƣơng ứng.

Thuật toán mở rộng alpha sẽ cho phép bất kỳ pixel nào hoặc là giữ nguyên nhãn (adsbygoogle = window.adsbygoogle || []).push({});

của nó hoặc là đổi sang nhãn alpha (xem hình 3.3(c)). Hàm di chuyển của thuật toán mở rộng đƣợc biểu diễn nhƣ sau:

ế

ế (1.1)

Thuật toán hoán đổi alpha-beta chỉ tác động lên các pixel có nhãn hiện tại là alpha hoặc beta. Nó sẽ biến đổi các nhãn này thành alpha hoặc beta tuỳ theo vector di chuyển. (xem hình 3.3(d)). Hàm di chuyển của thuật toán hoán đổi alpha-beta đƣợc biểu diễn nhƣ sau:

ế

ế (1.1)

Hình 2-4. Ví dụ về bƣớc di chuyển. (a) Nhãn ban đầu. (b) “bƣớc di chuyển đơn” sẽ thay đổi nhãn của một pixel (đánh dấu tròn). (c) “hoán đổi alpha-beta” thay đổi một

số pixel có nhãn alpha thành beta và ngƣợc lại (d) “mở rộng alpha” thay đổi nhãn của một số pixel thành alpha.

Hai thuật toán trên đều cho kết quả khá tốt nhƣng có một chút khác biệt. Trong khi thuật toán hoán đổi alpha-beta có thể giải quyết các hàm năng lƣợng tổng quát hơn,

21

thì thuật toán mở rộng alpha lại hiệu quả hơn. Phần sau sẽ trình bày chi tiết hơn về thuật toán mở rộng alpha do phù hợp với bài toán trong luận văn.

Thuật toán mở rộng alpha có thể tóm tắt nhƣ sau: 1. Bắt đầu với một nhãn bất kỳ f

2. Đặt điều kiện dừng = true

3. Lặp cho từng nhãn alpha thuộc L

3.1. Tìm = arg min E(f’) trong số các f’ là một mở rộng alpha từ f. 3.2. Nếu E( ) < E(f), đặt f := và điều kiện dừng = false

4. Nếu điều kiện dừng = false lặp lại bƣớc 2 5. Trả về f

Nhìn chung, thuật toán trên khá đơn giản. Chỉ có một bƣớc cần phải lƣu ý là bƣớc 3.1 : cách tìm ra mở rộng alpha tốt nhất trong số các mở rộng alpha từ f. Để thực

hiện bƣớc này Boykov [38], xây dựng một đồ thị dựa trên f và alpha. Ông

chứng minh đƣợc rằng một đƣờng cắt trên đồ thị này tƣơng đƣơng với một mở rộng alpha từ f và quan trọng là đƣờng cắt tối thiểu trên đồ thị sẽ tƣơng đƣơng với bƣớc mở rộng alpha tốt nhất . Cụ thể nhƣ sau:

Xây dựng đồ thị:

Tập đỉnh: gồm hai đỉnh đầu cuối , tập các pixel và tập các đỉnh phụ trợ là các đỉnh thêm vào nối hai pixel láng giềng có nhãn khác nhau.

22

Tập cạnh: mỗi pixel đƣợc kết nối với hai đỉnh đầu cuối bởi cạnh t: .

Các pixel láng giềng có nhãn giống nhau đƣợc kết nối bằng cạnh n: . Trong trƣờng hợp hai pixel láng giềng có nhãn khác nhau, chúng sẽ không kết nối trực tiếp với nhau mà thông qua đỉnh phụ trợ a tạo thành bộ ba cạnh

. gồm cạnh , nối đỉnh phụ trợ với hai pixel p,q và cạnh nối đỉnh phụ trợ với đỉnh đầu cuối . (xem hình 3-4)

(1.3)

Hình 2-5. Ví dụ về đồ thị cho ảnh 1 chiều. Tập hợp các pixel trong ảnh là P = {p,q,r,s}, trong đó {q,r}có cùng nhãn, p có nhãn khác {q,r}, còn s có nhãn là khác cả

3 đỉnh trên. Hai đỉnh phụ trợ là đƣợc thêm vào để nối hai pixel láng giềng khác nhãn (adsbygoogle = window.adsbygoogle || []).push({});

23

Bảng 2-1.Trọng số các cạnh trong đồ thị mở rộng alpha.

Cạnh Trọng số Điều kiện

Pixel p có nhãn alpha Pixel p có nhãn khác alpha Với mọi pixel p

Pixel p,q kề nhau và khác nhãn Pixel p,q kề nhau và cùng nhãn Bảng 2-2. Trọng số các cạnh trong đồ thị mở rộng alpha.

Nhƣ vậy, chƣơng vừa qua đã trình bày một số cơ sở lý thuyết về mô hình CRFs và phƣơng pháp cực tiểu hoá năng lƣợng bằng phƣơng pháp graph-cut mà cụ thể hơn là thuật toán mở rộng alpha. Chƣơng tiếp theo sẽ trình bày cụ thể việc lựa chọn các thế đơn phân, thế liên kết trong bài toán phân đoạn ảnh theo đối tƣợng mà luận văn sử dụng.

24

Chƣơng 3: Mô hình CRFs cho bài toán phân đoạn ảnh theo đối tƣợng.

Chƣơng trƣớc đã trình bày một số cơ sở lý thuyết về mô hình CRFs và phƣơng pháp cực tiểu hoá năng lƣợng dùng graph-cut. Phần tiếp theo trong chƣơng này sẽ trình bày cụ thể các thế năng sử dụng trong luận văn.

Mô hình chung của hệ thống có thể đƣợc tóm tắt qua hình 3-1.

Hình 3-1. Mô hình chung của hệ thống phân đoạn ảnh theo đối tƣợng dùng trong luận văn

Một bức ảnh có thể đƣợc xem làm một mảng gồm N (số lƣợng pixel) phần tử:

25

Tƣơng tự, một sự phân đoạn ảnh (kết quả của bài toán phân đoạn ảnh đối tƣợng) cũng đƣợc biểu diễn bằng một mảng các giá trị nguyên:

Các giá trị xi thể hiện nhãn của pixel thứ i hay nói cách khác nó cho biết pixel i

thuộc đối tƣợng nào. xi có giá trị nằm trong một tập nhãn L.

Gọi V là tập hợp tất cả các pixel trong ảnh và Ni là tập hợp gồm các pixel láng giềng của pixel i (thông thƣờng chọn láng giềng 4 hoặc láng giềng 8).

Một hàm năng lƣợng E đƣợc định nghĩa sao cho giá trị E tối thiểu tƣơng ứng với sự phân đoạn ảnh tốt nhất. (3.1) Hay (3.2)

Trong đó U(x) đƣợc gọi là thế năng đơn phân (unary potential hay data term), đo

lƣờng mức độ phù hợp của nhãn x với ảnh đầu vào y. Một cách chi tiết, U(x) đƣợc tính bằng tổng của các - negative loglikelihood của nhãn đƣợc gán vào pixel i.

đƣợc tính dựa trên giá trị màu của từng pixel và mô hình màu sắc của từng đối tƣợng. Tuy nhiên, nếu chỉ dùng các đặc trƣng về màu sắc sẽ không đủ để phân biệt giữa các đối tƣợng do đó luận văn sử dụng kết hợp các đặc trƣng màu sắc, vân ảnh, và vị trí tƣơng đối của từng pixel:

(3.3) Trong đó, , , là các đặc trƣng về vân ảnh, màu sắc và vị trí. Còn là các trọng số thể hiện mức độ quan trọng của các đặc trƣng tƣơng ứng.

26

Ngoài ra, đƣợc gọi là thế năng liên kết (pairwise potential hay smoothness

term) thể hiện tính chất đƣờng biên trong sự phân đoạn ảnh. Thành phần này sẽ khuyến khích các pixel láng giềng nhận chung một nhãn. Nó đƣợc tính dựa trên sự khác biệt về màu sắc giữa hai pixel láng giềng.

ế

ượ (3.4)

Hàm thƣờng đƣợc tính dựa trên độ chênh lệnh màu sắc giữa hai pixel láng giềng. Thông thƣờng, sẽ có giá trị lớn khi hai pixel láng giềng tƣơng tự nhau và có giá trị gần về 0 khi hai pixel rất khác nhau. Luận văn sẽ sử dụng hàm nhƣ sau [24]:

(3.5) (adsbygoogle = window.adsbygoogle || []).push({});

Mô hình CRFs bên trên đƣợc gọi là mô hình CRFs đôi (pairwise CRFs) hay mô hình CRFs truyền thống đƣợc tính dựa trên từng pixel và các pixel láng giềng. Trong phần 3.4, luận văn sẽ trình bày mô hình CRFs mức cao là sự kết hợp của mô hình CRFs đôi với thế năng mức cao. Thế năng này đƣợc tính dựa trên các phân đoạn ảnh có đƣợc từ các thuật toán phân đoạn ảnh không giám sát.

Một phần của tài liệu Kết hợp đa đặc trưng trong mô hình crfs cho bài toán phân đoạn ảnh theo đối tượng (Trang 25 - 35)