Là một nhân viên làm hệ thống của công ty, từ nhu cầu thực tế đó, tôi đã có ý định “nghiên cứu và thử nghiệm các phương pháp tách đối tượng trên ảnh” để từ đó đề xuất các phương án kỹ t
Trang 1Chuyên ngành: công nghệ thông tin
LUẬN VĂN THẠC SỸ KỸ THUẬT
Người hướng dẫn: PGS.TS Nguyễn Linh Giang
Trang 2Lời cam đoan
Tôi xin cam đoan nội dung trong luận văn là sự tổng hợp, nhìn nhận của tôi xoay quanh nội dung đề tài Tất cả các nội dung, công thức, bảng biểu, hình vẽ được lấy từ bên ngoài đều có trong danh mục tài liệu tham khảo
Tôi xin chịu trách nhiệm về lời cam đoan trên
Học viên Nguyễn Phúc Đạt
Trang 3Mục lục
Mở đầu 1
1 Lý do chọn đề tài 1
2 Mục đích và phạm vi nghiên cứu của luận văn 2
3 Khó khăn và thách thức của bài toán 2
4 Các hướng tiếp cận 4
5 Phương pháp nghiên cứu 5
Phương pháp tách đối tượng 6
1 Các phương pháp phân vùng ảnh cơ bản 6
1.1 Phương pháp phân vùng dựa vào ngưỡng 6
1.2 Phân vùng theo miền đồng nhất 10
1.3 Phân vùng ảnh dựa vào lý thuyết đồ thị 13
1.4 Phân vùng ảnh dựa trên biểu diễn và xử lý đa phân giải 17
2 Tách đối tượng theo thuật toán Grab-cut 19
2.1 Giới thiệu 19
2.2 Phân đoạn năng lượng cực tiểu hóa theo Graph-cut 20
2.3 Giải thuật phân đoạn Grab-cut 22
Kỹ thuật sử dụng tự động thuật toán Grabcut 27
1 Phân tích một số dạng ảnh dùng trong thương mại điện tử 27
2 Cách khoanh vùng đối tượng trên ảnh 29
2.1 Chọn vùng cố định 29
2.2 Chọn vùng theo ngưỡng phân đoạn với điều kiện “lỏng” 31
2.3 Phân ngưỡng dựa trên tọa độ Oxyz 33
3 Các xử lý kỹ thuật khi tách đối tượng tự động bằng Grab-cut 34
3.1 Vấn đề ảnh có lẫn màu nền 34
3.2 Vấn đề bóng sản phẩm 35
Trang 43.3 Vấn đề ảnh chụp cùng các thiết bị khác 36
3.4 Vấn đề kích thước ảnh và thời gian xử lý 37
3.5 Vấn đề số lần lặp Grab-cut 37
Triển khai chương trình thử nghiệm 38
1 Chương trình thử nghiệm 38
1.1 Môi trường 38
1.2 Cấu trúc chương trình 38
1.3 Dữ liệu đầu vào 38
1.4 Dữ liệu đầu ra 39
2 Tiêu chuẩn chất lượng 39
2.1 Kiểm tra chất lượng tự động 40
2.2 Kiểm tra chất lượng bằng mắt 40
3 Kết quả chạy thử nghiệm và đánh giá 40
3.1 Kết quả 40
3.2 Đánh giá và so sánh 41
Kết luận 43
Tài liệu tham khảo 45
Trang 5Danh mục bảng biểu và hình vẽ
Hình 1 Ví dụ ảnh chụp trong studio 3
Hình 1-1 Ảnh gốc và ảnh phân vùng 6
Hình 1-2 Mô tả thuật toán đối xứng nền 8
Hình 1-3 Minh họa thuật toán tam giác 9
Hình 1-4 Bimodal Histogram 10
Hình 1-5 Minh họa 4 liên thông và 8 liên thông 12
Hình 1-6 Cây bao trùm tối thiểu 15
Hình 1-7 Các thuật toán có người dùng nhập liệu (ảnh màu) 19
Hình 1-8 Quá trình lặp lại quy tụ hàm cực tiểu hóa (ảnh màu) 25
Hình 1-9 Mô tả quá trình người dùng chỉnh sửa Grab-cut (ảnh màu) 25
Hình 1-10 Thêm ví dụ về sử dụng Grab-cut (ảnh màu) 26
Hình 2-1 Cách sử dụng thuật toán Grab-cut 27
Hình 2-2 Nhóm 1 có nền ảnh đồng nhất 27
Hình 2-3 Nhóm 2 có nền nhiều mảng 28
Hình 2-4 Nhóm 3 có nền ảnh phức tạp 28
Hình 2-5 Nhóm 4 có nền bên trong hoặc gương kính 28
Hình 2-6 Chọn đường bao theo tỷ lệ phần trăm 30
Bảng 2-7 Bảng số liệu chọn vùng ngưỡng cố định 30
Bảng 2-8 Bảng số liệu chọn ngưỡng theo tỷ lệ phần trăm 31
Hình 2-9 Minh họa tạo vùng chọn dựa vào phân ngưỡng lỏng 32
Lược đồ 2-10 Quy trình tạo vùng chọn dựa vào phân ngưỡng 32
Hình 2-11 Mô phỏng mô hình 3D 33
Lược đồ 2-12 Chọn vùng theo trục Oxyz 34
HÌnh 2-13 Ví dụ ảnh lẫn màu nền 35
Hình 2-14 Ví dụ bóng đổ và bóng gương 36
Hình 2-15 Ví dụ ảnh chụp cùng mannequin 36
Bảng 2-16 bảng thời gian tính theo kích thước ảnh 37
Hình 3-1 Kết quả ảnh đầu ra 39
Hình 3-2 Kết quả chạy thử nghiệm 41
Trang 6Danh mục các từ viết tắt
Trang 7xử lý ảnh cho riêng mình, chỉ gần 10% là sẵn sàng thuê một công ty khác bên ngoài làm việc đó Một ví dụ khác là tập đoàn Vin Group, khi vừa bước chân vào thị trường thương mại điện tử, một trong những việc đầu tiên họ làm là thành lập cho mình đội
xử lý ảnh với gần một trăm nhân viên làm việc toàn thời gian
Từng ấy con số đã đủ giúp hình dung thị trường xử lý ảnh, mà cụ thể là xử lý tách đối tượng, lọc nền, phục vụ cho thương mại điện tử lớn thế nào Ảnh đầu vào dùng để xử lý cho thương mại điện tử, thông thường là hình có nền đơn giản, thường
là sản phẩm đặt trên mặt bàn, nền nhà, hoặc cao cấp hơn là ảnh được chụp ở những studio chuyên nghiệp với nền chắn sáng đầy đủ
Một thực tế là gần như toàn bộ ảnh hiện tại cho dù có được xử lý nội bộ trong công ty, hay thuê một công ty bên ngoài, cũng đều do con người trực tiếp làm Thử tưởng tượng, nếu có một chương trình có thể làm việc tách ảnh sản phẩm ra một cách
tự động, thì sẽ mang lại hiệu quả kinh tế rất lớn cho doanh nghiệp và cho xã hội Thậm chí, một chương trình chỉ cần hỗ trợ bước lọc nền với tỷ lệ chính xác nào đó cũng sẽ có tác dụng như là một bước tiền xử lý trong cả chuỗi quy trình, sau đó con
Trang 8người vẫn tham gia vào việc xem xét lại ảnh nào đã đạt chất lượng, ảnh nào cần xử
lý lại thì cũng đã tiết kiệm một công sức rất lớn
Là một nhân viên làm hệ thống của công ty, từ nhu cầu thực tế đó, tôi đã có
ý định “nghiên cứu và thử nghiệm các phương pháp tách đối tượng trên ảnh” để từ
đó đề xuất các phương án kỹ thuật ứng dụng vào công việc thực tế của công ty
Bên cạnh đó, việc tách chính xác đối tượng là một bước trong các bài toán khác như: các hệ thống phân tích nhận dạng đối tượng, hệ thống theo dõi giám sát…
2 Mục đích và phạm vi nghiên cứu của luận văn
Mục tiêu của bài toán hướng đến là việc tách một cách tự động các sản phầm trong ảnh, sau đó đổ nền trắng, chuyển về kích thước nhỏ hơn, và tạo lề cho ảnh theo từng tham số truyền vào
Đầu vào của bài toán là tất cả các ảnh sản phẩm cần xử lý, với các tham số truyền vào gồm:
Các tham số phục vụ cho việc phân tách: ngưỡng phân đoạn, khoảng cách vùng chọn… tham số này có thể tối ưu với từng nhóm khách hàng, hoặc từng nhóm yêu cầu ảnh
Các tham số cho bước hậu xử lý: Nền ảnh mong muốn là nền màu gì, kích thước ảnh đầu ra, lề mong muốn
Đầu ra là ảnh thành phẩm có thể sử dụng trực tiếp trên website bán lẻ
Trong quy trình xử lý, vẫn cần có người giám sát, để phân loại chất lượng ảnh
ở đầu ra, có thể thống kê nhóm ảnh và tỷ lệ thành công, cũng như lưu lại các tham
số phục vụ việc phân tách để lần sau hiệu quả hơn
Mục tiêu hướng đến chính là nhóm ảnh có nền màu đơn giản, nền gradient; nền có ít khối nhiễu, và nền không bị lẫn vào bên trong của sản phẩm Trong khuôn khổ luận văn tôi hệ thống một cách ngắn gọn các thuật toán cơ bản trong việc phân tách đối tượng trong ảnh Sau đó tôi tiến hành nghiên cứu thuật toán được đánh giá tốt hiện nay là Grab-cut Cuối cùng tôi đưa ra phương pháp sử dụng Grab-cut một cách tự động hoàn toàn mà không yêu cầu người dùng phải nhập bất kỳ vùng chọn nào
3 Khó khăn và thách thức của bài toán
Bài toán tách đối tượng ra khỏi ảnh mang đầy đủ khó khăn của một bài toán
Trang 9Sau khi đã tách được các mảng đối tượng ra khỏi ảnh rồi, việc quyết định đâu
là sản phẩm, đâu là nền xem ra cũng không đơn giản Ví dụ hình sau, ảnh sản phẩm được chụp cùng với hai thiết bị giúp căn chỉnh sự cân bằng ảnh khi chụp
Hình 1 Ví dụ ảnh chụp trong studio
Khi chụp ảnh sản phẩm thường có bóng của sản phẩm, việc xác định đâu là vùng sản phẩm, đâu là vùng bóng sản phẩm cũng là một trong những yếu tố ảnh hưởng đến độ chính xác của ứng dụng
Bên cạch đó, chất lượng về đường viền của sản phẩm cũng là một trong những yếu tố quyết định đến chất lượng của ứng dụng Việc lấy viền để sao cho không bị sót nền vào sản phẩm, cũng như không bị lấy mất đi một phần sản phẩm Độ mịn của đường viền, hay giữ được hình dạng của đường viền từ những viền ảnh đơn giản được cấu tạo từ các các cạnh thẳng, cung tròn, cung elip đến những viền vô cùng phức tạp như ảnh chụp lông tóc cũng là một trong những câu hỏi hóc búa
Khó khăn nhiều là vậy, nhưng nếu để ý một chút thì bài toán tách đối tượng ảnh dùng trong thương mại điện tử cũng có rất nhiều thông tin thuận lợi khác:
Thông tin về sản phẩm có thể đã được cung cấp từ ảnh đầu vào Ví dụ
lô ảnh là giày hay quần áo, gợi ý cho chương trình xử lý biết trước
Trang 10được hình dạng sản phẩm và đưa ra quyết định trích chọn vùng phù hợp
Ảnh đầu vào có thể được phân loại nhóm chất lượng ảnh, cũng như yêu cầu đầu ra theo từng khách hàng, vì vậy việc điều chỉnh các tham
số xử lý ảnh cho các nhóm khác nhau, cũng sẽ thu được kết quả chính xác hơn
Quy trình hiện tại được xử lý và thẩm định chất lượng bởi mắt người, nên có thể lưu lại các quyết định của con người theo những bộ tham số
xử lý tạo thành kho tri thức cho những quyết định tự động về sau
4 Các hướng tiếp cận
Trong các cuốn giáo trình xử lý ảnh, đều có các khái niệm về phân vùng đối tượng, và dò biên đối tượng trong ảnh
Các thuật toán cơ bản trong việc phân vùng ảnh như:
Phân vùng ảnh dựa vào ngưỡng biên độ
Phân vùng ảnh theo miền đồng nhất
Phân vùng ảnh dựa trên phân tích kết cấu
Phân vùng ảnh dựa trên phân lớp điểm ảnh
Phân vùng ảnh dựa vào lý thuyết đồ thị
phân vùng ảnh dựa trên xử lý đa phân giải
Các phương pháp dò biên như:
Kỹ thuật Gradient
Kỹ thuật Laplace
Kỹ thuật đạo hàm tích chập (phương pháp Canny)
Bên cạnh đó còn có các cách tiếp cận và các thuật toán mới được sử dụng trong việc tách đối tượng có các chỉ thị lệnh từ con người:
Magic wand: được phát triển bởi tập đoàn Adobe năm 2012, từ một chấm điểm của người dùng, sẽ loang vùng chọn ra rộng hơn theo một dấu hiệu các điểm ảnh đồng nhất Hiện tại thuật toán này được cài đặt trong công cụ cùng trên trong ứng dụng Photoshop
Intelligent Scissors: được Mortensen và Barrett đưa ra năm 1995 tự động dò biên chính xác khi có đầu vào là việc di chuyển chuột theo
Trang 115
đường biên thực tế của đối tượng Phương pháp này được tập đoàn Adobe phát triển thêm, và hiện được cài đặt trong cộng cụ Magnetic Lasso của bộ Photoshop
Graph-cut: được đưa ra trong một bài báo của Boykov và Jolly năm
2001 Đầu vào là ảnh cộng với vùng đánh dấu đâu là đối tượng, đâu là nền ảnh
Grab-cut: được đưa ra bởi ba nhà nghiên cứu Rother, Kolmogorov và Blake của tập đoàn Microsoft Thuật toán là cải tiến thuật toán graph-cut, người dùng chỉ cần chỉ định một vùng đối tượng trong đó có đối tượng cần tách, chương trình sẽ tự động tách đối tượng đó Người dùng còn có thể đưa ra các vùng bị sai, như vùng đối tượng bị mất hoặc vùng nền còn sót và chương trình sẽ thực hiện tiếp theo các chỉ thị đó đến khi có kết quả cuối cùng hoàn hảo
Bên cạnh đó còn có rất nhiều các thuật toán khác như: Bayes Matte, Knockout, Random Walker, Random Walker Restart
5 Phương pháp nghiên cứu
Từ yêu cầu của thực tiễn, tôi đi tiến hành nghiên cứu các lý thuyết về phân đoạn ảnh, các kỹ thuật tách đối tượng và nền ảnh Song song với đó, tôi đi phân tích đặc điểm, phân loại ảnh trong thương mại điện tử Tôi thực hiện thử nghiệm việc phân tách tự động với các nhóm ảnh khác nhau và ghi nhận lại các kết quả, khi thử nghiệm tôi điều chỉnh các tham số xử lý cho từng nhóm ảnh và cũng ghi nhận kết quả Từ kết quả thu được, tôi đánh giá xác suất đạt tỷ lệ chính xác của từng nhóm ảnh Sau đó tiếp tục làm phương pháp tương tự với lô ảnh khác, và chọn ra những
bộ ảnh có khả năng cho ra độ chính xác cao của quá trình phân tách tự động Đây là thông tin cho việc ra quyết định có áp dụng được hay không kỹ thuật tách tự động đối tượng với nền ảnh
Trang 12Phương pháp tách đối tượng
1 Các phương pháp phân vùng ảnh cơ bản
Phân vùng đối tượng của ảnh là quá trình chia ảnh thành các vùng mà không
bị chồng lấn lên nhau Các vùng được phân chia dựa vào sự đồng nhất về tính chất nào đó Có rất nhiều cách định nghĩa về sự đồng nhất trong phân vùng đối tượng Thông thường người ta hay sử dụng các tham số bao gồm: màu sắc, độ sâu của layer, mức độ xám, hình dạng của đối tượng….Trong một tài liệu so sánh các phương pháp phân vùng đối tượng hai tác giả cùng tên Pal đã nói không có một phương pháp chuẩn nào cho việc phân tách đối tượng ra khỏi ảnh, các phương pháp đều bị phụ thuộc vào đặc điểm của ảnh, và ứng dụng cụ thể
1.1 Phương pháp phân vùng dựa vào ngưỡng
Phân vùng ảnh dựa vào ngưỡng là một phướng pháp tương đối đơn giản, và trong nhiều trường hợp nếu chọn được ngưỡng thích hợp, có thể mang lại kết quả phân vùng rất chính xác mà rất tiết kiệm thời gian cũng như tài nguyên tính toán
Giả sử rằng chúng ta đang quan tâm đến các đối tượng (object) sáng trên nền (background) tối, một tham số T - gọi là ngưỡng độ sáng, sẽ được chọn cho một ảnh
f[x,y] theo cách:
If f[x,y] ≥ T f[x,y] = object = 1
Else f[x,y] = Background = 0
Ngược lại, đối với các đối tượng tối trên nền sáng chúng ta có thuật toán sau:
If f[x,y] < T f[x,y] = object = 1
Else f[x,y] = Background = 0
Hình 1-1 Ảnh gốc và ảnh phân vùng
Trang 137
Ta có thể đưa ra các tham số khác tương tự như độ sáng tối, như màu sắc, hoặc các giá trị màu trong các hệ giá trị khác nhau Vấn đề chính là chúng ta nên chọn ngưỡng T như thế nào để việc phân vùng đạt được kết quả cao nhất?
Có rất nhiều thuật toán chọn ngưỡng: ngưỡng cố định, dựa trên lược đồ, sử dụng Entropy, sử dụng tập mờ, chọn ngưỡng thông qua sự không ổn định của lớp và tính thuần nhất của vùng vv…
1.1.1 Chọn ngưỡng cố định
Đây là phương pháp chọn ngưỡng độc lập với dữ liệu ảnh Nếu chúng ta biết trước là chương trình ứng dụng sẽ làm việc với các ảnh có độ tương phản rất cao, trong đó các đối tượng quan tâm rất tối còn nền gần như là đồng nhất và rất sáng thì việc chọn ngưỡng T= 128 (xét trên thang độ sáng từ 0 đến 255) là một giá trị chọn khá chính xác Chính xác ở đây hiểu theo nghĩa là số các điểm ảnh bị phân lớp sai là cực tiểu
1.1.2 Chọn ngưỡng dựa trên lược đồ (Histogram)
Trong hầu hết các trường hợp, ngưỡng được chọn từ lược đồ độ sáng của vùng hay ảnh cần phân đoạn Có rất nhiều kỹ thuật chọn ngưỡng tự động xuất phát từ lược đồ xám {h[b] | b = 0, 1, ., 2B-1} đã được đưa ra Những kỹ thuật phổ biến sẽ được trình bày dưới đây Những kỹ thuật này có thể tận dụng những lợi thế do sự làm trơn dữ liệu lược đồ ban đầu mang lại nhằm loại bỏ những dao động nhỏ về độ sáng Tuy nhiên các thuật toán làm trơn cần phải cẩn thận, không được làm dịch chuyển các vị trí đỉnh của lược đồ Nhận xét này dẫn đến thuật toán làm trơn dưới đây:
Trong đó, W thường được chọn là 3 hoặc 5
1.1.3 Thuật toán đẳng liệu
Đây là kỹ thuật chọn ngưỡng theo kiểu lặp do Ridler và Calvard đưa ra Thuật toán được mô tả như sau:
B1: Chọn giá trị ngưỡng khởi động θ
Trang 14k+1 Kết thúc, dừng thuật toán (ngược lại : Lặp lại bước 2)
1.1.4 Thuật toán đối xứng nền
Kỹ thuật này dựa trên sự giả định là tồn tại hai đỉnh phân biệt trong lược đồ nằm đối xứng nhau qua đỉnh có giá trị lớn nhất trong phần lược đồ thuộc về các điểm ảnh nền Đỉnh cực đại maxp tìm được nhờ tiến hành tìm giá trị cực đại
trong lược đồ Sau đó thuật toán sẽ được áp dụng ở phía không phải là điểm ảnh
thuộc đối tượng ứng với giá trị cực đại đó nhằm tìm ra giá trị độ sáng a ứng với
giá trị phần trăm p% mà: P(a) = p%, trong đó P(a) là hàm phân phối xác suất về độ sáng được định nghĩa như sau:
Định nghĩa:
Hàm phân phối xác suất P(a) thể hiện xác suất chọn được một giá trị độ sáng từ một vùng ảnh cho trước, sao cho giá trị này không vượt quá một giá trị sáng cho trước a Khi a biến thiên từ -∝ đến +∝, P(a) sẽ nhận các giá trị từ 0 đến 1 P(a) là hàm đơn điệu không giảm theo a, do vậy dP/da ≥ 0
Ở đây ta đang giả thiết là ảnh có các đối tượng tối trên nền sáng Giả sử mức là 5%, thì có nghĩa là ta phải ở bên phải đỉnh maxp một giá trị a sao cho P(a)=95% Do tính đối xứng đã giả định ở trên, chúng ta sử dụng độ dịch chuyển
về phía trái của điểm cực đại tìm giá trị ngưỡng T:
Hình 1-2 Mô tả thuật toán đối xứng nền
Θk=m f , k−1 +m b , k−1
2
Trang 159
Kỹ thuật này dễ dàng điều chỉnh được cho phù hợp với tình huống ảnh
có các đối tượng sáng trên một nền tối
1.1.5 Thuật toán tam giác
Khi một ảnh có các điểm ảnh thuộc đối tượng tạo nên một đỉnh yếu trong lược đồ ảnh thì thuật toán tam giác hoạt động rất hiệu quả Thuật toán này do Zack đề xuất và được mô tả như sau:
B1: Xây dựng đường thẳng ∆ là đường nối hai điểm (Hmax, bmax) và (Hmin,
bmin), trong đó Hmax là điểm có Histogram lớn nhất ứng với mức xám bmax
và Hmin là điểm có Histogram ứng với độ sáng nhỏ nhất bmin
B2: Tính khoảng cách d từ Hb của lược đồ (ứng với điểm sáng b) đến ∆ Trong đó b∈[b max , b min]
B3: Chọn ngưỡng T = Max{Hb }
Minh hoạ thuật toán tam giác bởi hình vẽ như sau:
1.1.6 Chọn ngưỡng đối với Bimodal Histogram
Ngưỡng T được chọn ở tại vị trí cực tiểu địa phương của histogram nằm giữa hai đỉnh của histogram Điểm cực đại địa phương của histogram có thể dễ dàng được phát hiện bằng cách sử dụng biến đổi chóp mũ (top hat) do Meyer đưa ra: Phụ thuộc vào tình huống chúng ta đang phải làm việc là với nhưng đối tượng sáng trên nền tối hay đối tượng tối trên nền sáng mà phép biến đổi top hat sẽ có một trong hai dạng sau:
a/ Các đối tượng sáng:
Hình 1-3 Minh họa thuật toán tam giác
T =Max p −(a−Max p)
Trang 16Việc tính toán giá trị cực tiểu địa phương của histogram thì khó nếu histogram nhiễu Do đó, trong trường hợp này nên làm trơn histogram, ví dụ sử dụng thuật toán (chọn ngưỡng dựa trên lược đồ Histogram)
Trong một số ứng dụng nhất định, cường độ của đối tượng hay nền thay đổi khá chậm Trong trường hợp này, histogram ảnh có thể không chứa hai thuỳ phân biệt rõ ràng, vì vậy có thể phải dùng ngưỡng thay đổi theo không gian Hình ảnh được chia thành những khối hình vuông, histogram và ngưỡng được tính cho mỗi khối tương ứng Nếu histogram cục bộ không phải là bimodal histogram thì ngưỡng được tính bằng cách nội suy ngưỡng của các khối láng giềng Khi ngưỡng cục bộ đã có thì áp dụng thuật toán phân ngưỡng dựa trên lược đồ histogram cho khối này
1.2 Phân vùng theo miền đồng nhất
Kỹ thuật phân vùng ảnh thành các miền đồng nhất dựa vào các tính chất quan trọng nào đó của miền ảnh Việc lựa chọn các tính chất của miền sẽ xác định tiêu chuẩn phân vùng Tính đồng nhất của một miền ảnh là điểm chủ yếu xác định tính hiệu quả của việc phân vùng Các tiêu chuẩn hay được dùng là sự thuần nhất về mức xám, màu sắc đối với ảnh màu, kết cấu sợi và chuyển động
Các phương pháp phân vùng ảnh theo miền đồng nhất thường áp dụng là :
Hình 1-4 Bimodal Histogram
Trang 1711
Phương pháp tách cây tứ phân
Phương pháp cục bộ
Phương pháp tổng hợp
1.2.1 Phương pháp tách cây tứ phân
Về nguyên tắc, phương pháp này kiểm tra tính đúng đắn của tiêu chuẩn đề ra một cách tổng thể trên miền lớn của ảnh Nếu tiêu chuẩn được thỏa mãn, việc phân đoạn coi như kết thúc Trong trường hợp ngược lại, chia miền đang xét thành 4 miền nhỏ hơn Với mỗi miền nhỏ, áp dụng một cách đệ quy phương pháp trên cho đến khi tất cả các miền đều thỏa mãn điều kiện
Phương pháp này có thể mô tả như sau :
End
Tiêu chuẩn xét miền đồng nhất ở đây có thể dựa vào mức xám Ngoài ra, có thể dựa vào độ lệch chuẩn hay độ chênh giữa giá trị mức xám lớn nhất và giá trị mức xám nhỏ nhất Giả sử Max và Min là giá trị mức xám lớn nhất và nhỏ nhất trong miền đang xét Nếu :|Max – Min| < T (ngưỡng) ta coi miền đang xét là đồng nhất Trường hợp ngược lại, miền đang xét không là miền đồng nhất và sẽ được chia làm
If I[i,j] < Min Then Min=I[i,j] ;
If I[i,j] < Max Then Max=I[i,j] ;
3 If ABS(Max–Min)<T Then Examin_Criteria=0
Else Examin_Criteria=1 ;
End
Trang 18Nếu hàm trả về giá trị 0, có nghĩa vùng đang xét là đồng nhất, nếu không thì
không đồng nhất Trong giải thuật trên, khi miền là đồng nhất cần tính lại giá trị
trung bình và cập nhật lại ảnh đầu ra Giá trị trung bình được tính bởi :
Tổng giá trị mức xám / tổng số điểm ảnh trong vùng
Thuật toán này tạo nên một cây mà mỗi nút cha có 4 nút con ở mọi mức trừ
mức ngoài cùng Vì thế, cây này có tên là cây tứ phân Cây cho ta hình ảnh rõ nét về
cấu trúc phân cấp của các vùng tương ứng với tiêu chuẩn
Một vùng thỏa mãn điều kiện sẽ tạo nên một nút lá; nếu không nó sẽ tạo nên
một nút trong và có 4 nút con tương ứng Tiếp tục như vậy cho đến khi phân chia
xong để đạt các vùng đồng nhất
1.2.2 Phân vùng ảnh dựa vào phát triển vùng cục bộ
Ý tưởng của phương pháp là xét ảnh từ các miền nhỏ nhất rồi nối chúng lại
nếu thỏa mãn tiêu chuẩn để được một miền đồng nhất lớn hơn Tiếp tục với các miền
thu được cho đến khi không thể nối thêm được nữa Số miền còn lại cho ta kết quả
phân đoạn Như vậy, miền nhỏ nhất của bước xuất phát là điểm ảnh Phương pháp
này hoàn toàn ngược với phương pháp tách Song điều quan trọng ở đây là nguyên
lý nối 2 vùng Việc nối 2 vùng được thực hiện theo nguyên tắc sau:
Hai vùng phải đáp ứng tiêu chuẩn, thí dụ như cùng màu hay cùng mức xám
Hai vùng phải kế cận nhau
Khái niệm kế cận: trong xử lý ảnh, người ta dùng khái niệm liên thông để xác
định tính chất kế cận Có hai khái niệm về liên thông là 4 liên thông và 8 liên thông
Với 4 liên thông một điểm ảnh I(x,y) sẽ có 4 kế cận theo 2 hướng x và y; trong khi
đó với 8 liên thông, điểm I(x,y) sẽ có 4 liên thông theo 2 hướng x, y và 4 liên thông
khác theo hướng chéo 45o
Hình 1-5 Minh họa 4 liên thông và 8 liên thông
Trang 1913
Dựa theo nguyên lý của phương pháp nối, ta có 2 thuật toán :
Thuật toán tô màu (Blob Coloring) : sử dụng khái niệm 4 liên thông, dùng một cửa sổ di chuyển trên ảnh để so sánh với tiêu chuẩn nối
Thuật toán đệ quy cục bộ: sử dụng phương pháp tìm kiếm trong một cây để làm tăng kích thước vùng
1.2.3 Phương pháp phân vùng dựa trên hợp và tách vùng
Hai phương pháp nối (hợp) và tách đều có nhược điểm Phương pháp tách sẽ tạo nên một cấu trúc phân cấp và thiết lập mối quan hệ giữa các vùng Tuy nhiên, nó thực hiện việc chia quá chi tiết Phương pháp hợp cho phép làm giảm số miền liên thông xuống tối thiểu, nhưng cấu trúc hàng ngang dàn trải, không cho ta thấy rõ mối liên hệ giữa các miền Vì nhược điểm này, người ta nghĩ đến phối hợp cả 2 phương pháp Trước tiên, dùng phương pháp tách để tạo nên cây tứ phân, phân đoạn theo hướng từ gốc đến lá Tiếp theo, tiến hành duyệt cây theo chiều ngược lại và hợp các vùng có cùng tiêu chuẩn Với phương pháp này ta thu được một cấu trúc ảnh với các miền liên thông có kích thước tối đa Giải thuật tách hợp gồm một số bước chính sau:
Kiểm tra tiêu chuẩn đồng nhất
◦ Nếu không thỏa mãn tiêu chuẩn đồng nhất và số điểm trong một vùng nhiều hơn 1, tách vùng ảnh làm 4 miền (trên, dưới, phải, trái) bằng cách
đệ quy Nếu kết quả tách xong và không tách được nữa chuyển sang bước
◦ Nếu tiêu chuẩn đồng nhất thỏa mãn thì tiến hành hợp vùng và cập nhật lại giá trị trung bình của vùng cho vùng này
Hợp vùng
Kiểm tra 4 lân cận như đã nêu trên Có thể có nhiều vùng thỏa mãn Khi đó, chọn vùng tối ưu nhất rồi tiến hành hợp
1.3 Phân vùng ảnh dựa vào lý thuyết đồ thị
Trong thời gian gần đây, các nhà nghiên cứu đã đưa ra một số phương pháp phân vùng dựa trên những hướng tiếp cận mới, trong đó có hướng tiếp cận phân vùng dựa trên đồ thị Đối với phương pháp này, hình ảnh sẽ được mô tả như một đồ thị với các đỉnh của đồ thị là các điểm ảnh và các cạnh trên đồ thị nối các điểm ảnh lân cận với nhau
Trang 20Từ trước đến nay, các phương pháp phân vùng dựa trên đồ thị chỉ dừng lại ở việc lựa chọn các cạnh từ một đồ thị để thực hiện việc phân vùng ảnh Trong phần này, chúng tôi sẽ giới thiệu phương pháp phân vùng ảnh dựa trên lý thuyết đồ thị Khác với các phương pháp phân vùng dựa trên đồ thị khác, phương pháp phân vùng dựa trên lý thuyết đồ thị thực hiện việc phân vùng dựa trên mức độ biến thiên giữa các vùng lân cận trong ảnh Cụ thể, phương pháp này so sánh sự khác nhau trong nội tại của một vùng so với sự khác nhau của vùng đó so với các vùng khác
1.3.1 Biểu diễn ảnh như là một đồ thị
Kỹ thuật phân vùng ảnh dựa trên lý thuyết đồ thị biểu diễn ảnh như là một đồ thị G = (V, E) Trong đó, V là tập hợp các đỉnh và E là tập hợp các cạnh của đồ thị Mỗi đỉnh vi ∈ V tương ứng với các điểm ảnh và các cạnh (vi , vj) ∈ E tương ứng là cạnh kết nối các cặp điểm ảnh lân cận Mỗi cạnh (vi , vj) ∈ E có một trọng số tương ứng là sự khác nhau về màu sắc, cường độ giữa hai điểm ảnh lân cận vi, vj và được
ký hiệu là w(vi,vj)
Đỉnh liền kề
Hai đỉnh vi và vj của đồ thị G được gọi là kề nhau nếu (vi,vj) là cạnh của đồ thị G Nếu e = (vi, vj) là cạnh của đồ thị ta nói cạnh này nối đỉnh vi và đỉnh vj, đồng thời các đỉnh vi và vj sẽ được gọi là các đỉnh đầu của cạnh (vi, vj) Khi đó, bậc deg(v) của đỉnh v là số cạnh nối với nó Đỉnh bậc 0 được gọi là đỉnh cô lập, còn đỉnh bậc 1 gọi là đỉnh treo
Đồ thị con và đồ thị riêng
Đồ thị G’ = (V’, E’) được gọi là đồ thị con của đồ thị G nếu V’⊆ V và E’= E
∩ (V’ × V’)
Đồ thị G”= (V, E”) với E” ⊆ E, được gọi là đồ thị riêng của đồ thị G
Mỗi tập con các đỉnh V’ của đồ thị tương ứng duy nhất với một đồ thị con,
do vậy để xác định một đồ thị con ta chỉ cần nêu tập đỉnh của nó
Còn đồ thị riêng là đồ thị giữ nguyên tập đỉnh và bỏ bớt đi một số cạnh
Cây bao trùm tối thiểu
Một đồ thị vô hướng liên thông không có chu trình gọi là cây Các đỉnh bậc 1 trên cây gọi là lá, và tất cả các cạnh được gọi là cành Một cây được gọi là cây bao
Trang 21Hình 1-6 Cây bao trùm tối thiểu
Phân vùng ảnh trên đồ thị
Một phân vùng S của ảnh trên đồ thị là tập hợp các vùng mà mỗi vùng C ϵ S tương ứng với một thành phần liên thông G’ = (V’, E’), với V’⊆V, E’ ⊆ E trong đồ thị sao cho các cạnh nối giữa hai đỉnh trong một vùng có trọng số nhỏ và các cạnh nối giữa hai đỉnh trong hai vùng khác nhau có trọng số lớn
1.3.2 Một số định nghĩa và tính chất liên quan
Tính chất so sánh vùng
Trong phần này, chúng ta định nghĩa một tính chất D, để đánh giá có hoặc không có một ranh giới giữa hai vùng trong một phân vùng Tính chất này được xác định nhờ việc so sánh sự khác nhau giữa hai vùng dọc theo ranh giới với sự khác nhau giữa các điểm ảnh trong mỗi vùng Chúng ta định nghĩa sự khác biệt nội bộ của một vùng C ⊆ V dựa vào trọng số cạnh lớn nhất trong cây bao trùm tối thiểu MST(C, E) của thành phần trong đồ thị tương ứng với vùng đó:
Int (C)=max e∈MST (C , E) W (e)
Sự khác nhau giữa hai vùng C1, C2 ⊆ V được định nghĩa bằng trọng số cạnh nhỏ nhất kết nối hai vùng Đó là:
Trang 22Dif (C1,C2)=min v i ∈C1,vj ∈C2,(v i ,v j )∈E W (v i , v j)
Nếu không có cạnh nối C1, C2 thì chúng ta có Dif( C1, C2) = ∞ Như vậy, giữa hai vùng lân cận sẽ có một ranh giới nến sự khác biệt giữa hai vùng Dif( C1,C2) là lớn hơn sự khác biệt nội bộ ít nhất một trong hai vùng, Int(C1) và Int(C2)
Chúng ta định nghĩa sự khác biệt nội bộ tối thiểu của hai vùng lân cận C1,C2
như sau:
Mint(C1,C2)=min(Int(C1)+T(C1), Int(C2)+T(C2))
với T(C) = k / |C| Trong đó k là một số không đổi, |C| là kích thước của vùng
C
Lúc này, tính chất so sánh cặp vùng C1 và C2, ký hiệu là D(C1, C2) được định nghĩa như sau:
D(C1,C2)= {0, 1}
(1, Nếu Dif (C1,C2)>Mint (C1,C2)
0, Trong trường hợp ngược lại) Trong thực tế, giá trị của k là không cố định, tùy thuộc vào người thực hiện phân vùng nhưng nói chung là không nhỏ hơn kích thước của vùng nhỏ nhất Nếu k lớn thì kích thước các vùng kết quả sẽ lớn, còn k nhỏ thì kích thước vùng kết quả sẽ nhỏ Hay nói cách khác, kích thước của vùng kết quả tỷ lệ thuận với giá trị của k
Một số định nghĩa
Trong phần này sẽ giới thiệu một số định nghĩa là cơ sở nền tảng cho thuật
toán thực hiện việc phân vùng theo tính chất so sánh vùng D được định nghĩa ở phần
Định nghĩa 1: Một phân vùng S được gọi là quá mịn nếu trong mỗi vùng kết
quả C∈S bất kỳ ta lấy một số cặp vùng bất kỳ C1, C2 ∈ C mà không tìm thấy ranh
giới giữa chúng
Định nghĩa 2: Để bổ sung cho định nghĩa một phân vùng quá thô, chúng tôi
sẽ giới thiệu khái niệm tinh chỉnh (refinement) của một phân vùng Cho S và T là hai phân vùng kết quả của cùng một ảnh, ta nói rằng T là một tinh chỉnh của S khi mỗi vùng trong phân vùng S chứa một số vùng trong phân vùng T Ngoài ra, chúng ta nói
T là một tinh chỉnh đúng (proper refinement) khi T ≠ S Lưu ý, nếu T là một tinh chỉnh dúng của S thì T có thể thu được bằng việc phân chia (splitting) một hoặc một
Trang 23Như vậy, đối với bất kì đồ thị (hữu hạn) G = (V, E) luôn tồn tại một số phân
vùng S không quá thô mà cũng không quá mịn
Chứng minh: Thật là dễ dàng để chúng ta thấy tính chất này là đúng
Thật vậy, nếu phân vùng mà tất cả các điểm ảnh nằm trong một vùng duy nhất thì phân vùng này không là quá mịn theo định nghĩa 1, bởi vì nó chỉ có một thành phần Thực ra điều này không đúng trong trường hợp lý tưởng là ảnh cùng một màu hay một cấp xám Tuy nhiên, trong thực tế thì điều này là không thể xảy ra vì trong quá trình thu ảnh ít nhiều cũng sẽ bị nhiễu hoặc ảnh có rất nhiều đối tượng Và nếu phân vùng này không là quá thô thì chúng ta đã giải quyết xong
Ngược lại, theo định nghĩa 2 ở trên, chúng ta sẽ có tinh chỉnh đúng mà nó không quá mịn Chọn một trong những tinh chỉnh đó và lặp lại thủ tục này cho đến khi chúng ta có được một phân vùng mà nó không phải là quá thô
1.4 Phân vùng ảnh dựa trên biểu diễn và xử lý đa phân giải
1.4.1 Nguyên tắc chung
Ảnh được biểu diễn đa phân giải dựa trên cấu trúc chóp (cây tứ phân hoặc bộ lọc) Trên cơ sở đó xây dựng cây liên kết trên cơ sở cây tứ phân theo chỉ tiêu phân vùng ảnh Dùng cây liên kết để tiến hành phân vùng ảnh, ở đó mỗi nhánh của cây đi
từ gốc (chổ cắt) đến lá cây cho phép xác định vùng ảnh của ảnh ban đầu
1.4.2 Chóp liên kết
Chóp liên kết được xây dựng trên cơ sở cây tứ phân biểu diễn đa phân giải Cây được biểu diễn như là một đồ thị G(V, E)
Trang 24Trong đó V ={ v (i , j , h)} ;(0,0)≤(i , j)≤(2 n−h , 2 n−h ) ;h∈[0, n]là tập đỉnh của đồ thị, h là chiều cao của cây và là tập các cạnh của đồ thị
1.4.3 Thuật toán phân vùng ảnh dựa trên chóp liên kết biểu diễn đa phân giải
Đầu vào: cho ảnh cần phân vùng, kích thước 2n x 2n
Đầu ra: cây liên kết trên cơ sở cây tứ phân biểu diễn đa phân giải (chóp tứ
phân)
Thuật toán:
Bước 1:
Xây dựng cây tứ phân biểu diễn đa phân giải
Xây dựng cây liên kết trên cơ sở cây tứ phân
Điều kiện dừng: nếu cây liên kết ổn định (V(t), E(t)) = (V(t-1), E(t-1)) thì
dừng Ngược lại thì lặp bước t+1
Bước cuối: Thực hiện phân vùng ảnh theo cây liên kết tìm được Cắt cây (từ
gốc) hoặc từ một mức nào đó, và mỗi nhánh của cây từ chổ cắt và đến các lá cho phép xác định một vùng ảnh ở mức 0 (lá)
Trang 25 Bước 1: Trường hợp thông thường là người dùng sẽ đánh dấu đâu là vùng đối tượng, đâu không phải là vùng đối tượng
Bước 2: Sau đó chương trình sẽ dựa vào thông tin đó để tự động xử lý Đưa trả kết quả cho người dùng
Bước 3: Người dùng sẽ xem lại kết quả, nếu chưa chính xác có thể đánh dấu sâu hơn ở những vùng chương trình tự động làm bị sai, và quy trình quay lại lặp bước 2 đến khi nào đạt chất lượng như mong muốn thì thôi
Ở bước 1, tùy từng thuật toán mà yêu cầu người dùng nhập vào theo các dạng khác nhau
Magic Wand: Yêu cầu người dùng chấm điểm vào các vùng cần chọn, và thuật toán
sẽ loang ra các vùng lân cận, và người dùng sẽ liên tục chấm cho đến khi lấy được đối tượng mong muốn Đôi khi việc này là không thể thực hiện được với những vùng gianh giới cực yếu hay kết cấu của đối tượng không đồng nhất Thuật toán này được phát triển bởi tập đoàn Adobe và hiện có như công cụ cùng tên trong Photoshop
Thuật toán có một tham số truyền vào để phát triển vùng loang dễ hay khó
Hình 1-7 Các thuật toán có người dùng nhập liệu (ảnh màu)