1. Trang chủ
  2. » Luận Văn - Báo Cáo

thuật toán phân vùng ảnh slic bằng các superpixels

63 496 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 63
Dung lượng 6,58 MB

Nội dung

12 Hình 9: a Ảnh hiển thị đánh dấu nội bộ vùng sáng và các đanh dấu bên ngoài Hình 11: Dendrogram này tương ứng với tám mẫu trong hình 12 bằng cách sử Hình 12: Thí dụ về thuật toán k-m

Trang 1

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Trang 2

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Nguyễn Xuân Kỳ

THUẬT TOÁN PHÂN VÙNG ẢNH SLIC

BẰNG CÁC SUPERPIXELS

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Chuyên ngành: Khoa học máy tính

Mã số: 60480101 NGƯỜI HƯỚNG DẪN KHOA HỌC:

TS ĐÀO NAM ANH

Trang 3

LỜI CẢM ƠN

Để hoàn thành chương trình cao học và viết luận văn này, tôi đã nhận được sự hướng dẫn, giúp đỡ và góp ý nhiệt tình của quí thầy cô trường Đại học Công nghệ thông tin và truyền thông – Đại học Thái Nguyên

Trước hết, tôi xin chân thành cảm ơn đến quí thầy cô trường Đại học Công nghệ thông tin và truyền thông – Đại học Thái Nguyên, đặc biệt là những thầy

cô đã tận tình dạy bảo cho tôi suốt thời gian học tập tại trường Tôi xin gửi lời biết ơn sâu sắc đến Tiến sĩ Đào Nam Anh đã dành rất nhiều thời gian và nhiệt tình hướng dẫn nghiên cứu giúp tôi hoàn thành luận văn tốt nghiệp

Nhân đây, tôi xin chân thành cảm ơn Ban Giám hiệu trường Đại học Công nghệ thông tin và truyền thông – Đại học Thái Nguyên cùng quí thầy cô đã tạo rất nhiều điều kiện để tôi học tập và hoàn thành tốt khóa học

Mặc dù tôi đã có nhiều cố gắng hoàn thiện luận văn bằng tất cả sự nhiệt tình và năng lực của mình, tuy nhiên không thể tránh khỏi những thiếu sót, rất mong nhận được những đóng góp quí báu của quí thầy cô và các bạn

Thái Nguyên, tháng 9 năm 2013

Học viên

Nguyễn Xuân Kỳ

Trang 4

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn là kết quả nghiên cứu của tôi, không sao chép của ai Nội dung luận văn có tham khảo và sử dụng các tài liệu liên quan, các thông tin trong tài liệu được đăng tải trên các tạp chí và các trang website theo danh mục tài liệu của luận văn

Tác giả luận văn

Nguyễn Xuân Kỳ

Trang 5

MỤC LỤC

1.1 Phương pháp phân vùng dựa vào ngưỡng 4

Trang 6

2.3 Độ phức tạp giải thuật 35 2.4 Ứng dụng của thuật toán phân vùng ảnh với điểm ảnh lớn SLIC 36

Error! Bookmark not defined

Trang 7

DANH MỤC CÁC THUẬT NGỮ, CÁC TỪ VIẾT TẮT

Over-segmentation Phân vùng quá

Screen Resolution Độ phân giải màn hình

Under-segmentation Phân vùng chưa hết

Normalized cuts algorithm Thuật toán cắt trung bình

Gradient-ascent-based

algorithms

Thuật toán tăng dần độ dốc

Simple linear iterative

Trang 8

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

Hình 2: Phân vùng ảnh theo hai ngưỡng trong biểu đồ 6

Hình 8: (a) ảnh đầu vào và (b) - kết quả áp dụng thuật toán đập nước 12 Hình 9: (a) Ảnh hiển thị đánh dấu nội bộ (vùng sáng) và các đanh dấu bên ngoài

Hình 11: Dendrogram này tương ứng với tám mẫu trong hình 12 bằng cách sử

Hình 12: Thí dụ về thuật toán k-means, để phân vùng ban đầu 19 Hình 13: Kết quả phân vùng của ảnh Lena bằng cách sử dụng các thuật toán thay

Hình 17: a tìm kiếm k-mean trong toàn ảnh, b SLIC tìm kiếm trong một vùng 30 Hình 18: Kết quả phân điểm ảnh lớn của SLIC cho các loại ảnh khác nhau với

Hình 21: Ảnh siêu âm của (a) sợi cơ khỏe mạnh và (b) sợi cơ yếu 366 Hình 22: Ảnh ban đầu của cơ khỏe mạnh và ảnh nâng cao cấp độ màu xám 36

Hình 25: Tìm các sợi lành mạnh hoặc bị hỏng từ hình 22 38 Hình 26: (a) Một ví dụ về một người đàn ông và (b) là kết quả phân chia hình

Trang 9

Hình 27: Kết quả tốt với i>=200 42 Hình 28: Kết quả tốt nhất với i=500, do ảnh có quá nhiều chi tiết 43 Hình 29: Kết quả với i=200 có thể chấp nhận được, tuy nhiên với i=500 thì tốt

Hình 31: với ảnh kiến trúc, các mức độ chi tiết tương ứng với số điểm ảnh 46 Hình 32: Với ảnh kiến trúc, số điểm ảnh lớn cao phân vùng tốt hơn 47 Hình 33: Với ảnh kiến trúc có khung cảnh thiên nhiên, cần số điểm ảnh lớn 48 Hình 34: Với ảnh có kiến trúc nét, chỉ cần ít số điểm ảnh lớn 49 Hình 35: Để phân biệt các chi tiết kiến trúc cần chọn số điểm ảnh phù hợp 50

Trang 10

MỞ ĐẦU

Thông tin ảnh đóng vai trò quan trọng trong hầu hết mọi lĩnh vực của cuộc sống Ngày nay, thông tin ảnh được xử lý bằng kỹ thuật số Xử lý ảnh (XLA) là một trong những chuyên ngành quan trọng và lâu đời của Công nghệ thông tin được áp dụng trong các ứng dụng khác nhau, từ truyền hình đến chụp cắt lớp, từ nhiếp ảnh đển in ấn, từ robot đến cảm biến từ xa [1,2]

Để xử lý được ảnh thì phải trải qua nhiều bước, nhưng bước quan trọng

và khó khăn nhất đó là phân vùng ảnh Nếu bước phân vùng ảnh không tốt thì dẫn đến việc nhận diện sai lầm về các đối tượng có trong ảnh[3,4]

Điểm ảnh lớn đang trở nên ngày càng phổ biến để sử dụng trong các ứng dụng thị giác máy tính Superpixel là điểm ảnh lớn, hay một nhóm điểm ảnh ở cạnh nhau và có đặc tính tương đồng Điểm ảnh lớn được dùng để đánh giá độ sâu của ảnh, phân vùng ảnh, phát hiện đối tượng trong ảnh, và thường được áp dụng cho ảnh màu Tuy nhiên, không phải thuật toán superpixel nào cũng tốt Để hiểu những thuật toán hiện có, cần thiết phân tích, đánh giá các

ưu điểm và mặt yếu của các thuật toán Các yếu tố cần xem xét là khả năng phát hiện phân vùng ảnh, tốc độ tính toán, hiệu quả sử dụng bộ nhớ

Trong các thuật toán trên có thuật toán đệ qui tuyến tính có tên là SLIC Thuật toán này có cách tiếp cận phân nhóm k-means để tạo ra các điểm ảnh lớn một các hiệu quả Mặc dù thuật toán đơn giản, nhưng SLIC có khả năng bám đường biên tốt Đồng thời, thuật toán có tốc độ nhanh và sử dụng

bộ nhớ hiệu quả, cải thiện hiệu suất phân vùng ảnh

Mục đích chính của luận văn là nắm được các hướng tiếp cận chính trong phân vùng ảnh trong đó có phân vùng ảnh màu dựa trên Điểm ảnh lớn Luận văn sẽ tập trung tìm hiểu và trình bày thuật toán phân vùng ảnh đệ qui tuyến tính SLIC

Trang 11

Ngoài phần mở đầu và kết luận, luận văn được chia làm 3 chương, cụ thể nội dung các chương như sau:

Chương 1: Tổng quan về phân vùng ảnh, các thuật toán tạo superpixel Các mô hình phân vùng ảnh cơ bản: theo đường biên, theo vùng Trong phân ảnh theo vùng, superpixel – điểm ảnh lớn là một hướng phát triển

Chương 2: Thuật toán phân vùng ảnh SLIC Trong chương này một số thuật toán tạo superpixel – điểm ảnh lớn sẽ được tập trung phân tích Sau đó trình bày chi tiết thuật toán xây dựng các điểm ảnh lớn SLIC theo phương pháp đệ qui tuyến tính, áp dụng cho ảnh màu

Chương 3: Cài đặt thử nghiệm Cài đặt thuật toán phân vùng ảnh màu, xây dựng điểm ảnh lớn SLIC bằng ngôn ngữ C++

Trang 12

CHƯƠNG 1 TỔNG QUAN VỀ PHÂN VÙNG ẢNH

Với một số ứng dụng, như nhận diện ảnh hay nén ảnh, ta không thể xử

lý toàn bộ bức ảnh một cách trực tiếp bởi lý do việc đó không hiệu quả và phi thực tế Vì vậy, một vài thuật toán về phân vùng ảnh đã được đưa ra nhằm phân vùng ảnh trước khi nhận diện hoặc nén Phân vùng ảnh là phân loại hoặc nhóm ảnh thành nhiều phần (vùng) tuỳ theo đặc tính của ảnh, ví dụ, giá trị điểm ảnh hay miền tần số Cho tới nay, có rất nhiều thuật toán về phân vùng ảnh vẫn tồn tại và được ứng dụng rộng rãi trong khoa học và trong cuộc sống thường ngày Tuỳ theo phương pháp phân vùng ảnh, có thể phân loại chúng thành phân vùng ảnh dựa vào vùng, nhóm dữ liệu, và phân vùng ảnh dựa vào biên (cạnh) [13,14,15]

Phân vùng ảnh rất hữu ích trong nhiều ứng dụng Phân vùng ảnh có thể phát hiện những vùng cần quan tâm trong một cảnh hoặc chú giải dữ liệu Ta phân loại thuật toán phân vùng hiện nay thành phân vùng ảnh dựa vào vùng, hợp nhóm dữ liệu, và phân vùng ảnh dựa vào biên [6,7] Phân vùng ảnh dựa vào vùng bao gồm các thuật toán phát triền vùng gieo hạt và vùng không gieo hạt, và thuật quét nhanh Tất cả chúng đều mở rộng từng vùng điểm ảnh dựa vào giá trị điểm ảnh của chúng hay giá trị lượng tử hoá để làm sao cho mỗi nhóm đều có mối quan hệ Đối với hợp nhóm dữ liệu, khái niệm nhóm dựa trên toàn ảnh và khoảng cách giữa từng dữ liệu

Đặc điểm của nhóm dữ liệu là mỗi điểm ảnh của một nhóm không liên kết hoàn toàn với nhau Phương pháp cơ bản của nhóm dữ liệu có thể được chia thành nhóm theo thứ bậc và nhóm bộ phận Ngoài ra, có phiên bản mở rộng của nhóm dữ liệu là thuật toán dịch chuyển trung bình, mặc dầu thuật toán này thuộc về ước lượng mật độ nhiều hơn Phần còn lại của phân vùng ảnh là phân vùng ảnh dựa vào biên Loại phân vùng ảnh này nhìn chung áp dụng việc tìm biên hoặc khái niệm biên

Loại điển hình này là một thuật toán đập nước, nhưng thuật toán này có vấn đề phân vùng quá (over-segment), vì thế nên dùng kỹ thuật đánh dấu (marker) để cải thiện thuật toán đập nước Cuối cùng, ta chỉ ra một số ứng dụng áp dụng kỹ thuật phân vùng trong quá trình tiền xử lý

Trang 13

Phần này giới thiệu một số thuật toán phân vùng ảnh phổ biến, tìm hiểu

về những đặc tính của chúng, và chỉ ra các kết quả phân vùng

1.1 Phương pháp phân vùng dựa vào ngưỡng

Phân vùng ảnh dựa trên ngưỡng nhằm mục đích phân vùng một ảnh đầu vào thành các điểm ảnh của hai hoặc nhiều hơn hai giá trị thông qua việc

so sánh các giá trị pixel với giá trị T ngưỡng được xác định một cách độc lập Không tìm thấy các thuật toán phù hợp nhất để xác định giá trị T ngưỡng Kết quả có thể là một hoặc tất cả những điều sau đây

• Các vùng được phân vùng có thể là nhỏ hơn hoặc lớn hơn so với thực

tế

• Các cạnh của vùng đượcphân vùng có thể không được kết nối

• Vùng trên hoặc dưới của ảnh (phát sinh của các cạnh giả hoặc thiếu cạnh)

Kỹ thuật cắt biểu đồ, dựa vào một ngưỡng được sử dụng để phân vùng ảnh Việc này có thể được áp dụng trực tiếp cho một ảnh, nhưng cũng có thể được kết hợp, thực hiện trước hoặc sau một kỹ thuật xử lý ảnh khác

Ký hiệu f(x,y) là màu xám của ảnh gốc với ngưỡng T, hàm g(x,y) sẽ lọc những điểm ảnh mà f(x,y) cho giá trị lớn hơn hoặc bằng ngưỡng T

T y x f y

x g

) , ( if 0

) , ( if 1 ) , (

( 1)

Trong hình 1, bên trái là ảnh gốc với ba chiếc bút chì, bên phải là phân vùng, xác định đối tượng trong vùng màu trắng, còn lại là nền màu đen

Trang 14

Hình 1: Phân vùng ảnh theo một ngưỡng

Việc phần vùng theo ngưỡng không chỉ dừng lại một ngưỡng: có thể có nhiều hơn một ngưỡng

2 1

1

) , ( if

) , ( if

2

) , ( if

1

) , ( if 0

) , (

n

T n

T y x f T

T y x f T

T y x f

y x g

( 2)

Việc phần vùng theo ngưỡng không chỉ dừng lại một ngưỡng: có thể có nhiều hơn một ngưỡng Trong hình 2 là một ví dụ sử dụng 2 ngưỡng để phân vùng ảnh

Trang 15

a ảnh gốc b ảnh được phân vùng với ngưỡng

Trang 16

1.2 Phân vùng dựa vào phát triển vùng

Kỹ thuật phân vùng dựa trên cạnh có thể tìm được đường biên đối tượng và sau đó xác định vị trí các đối tượng đó bằng cách làm đầy bên trong đường biên

Kỹ thuật phân vùng dựa trên vùng có cách tiếp cận ngược lại, bắt đầu ở giữa một đối tượng và sau đó "phát triển" ra ngoài cho đến khi gặp đường biên đối tượng [11,12]

a ảnh gốc b kết quả của việc phát triển từ

điểm hạt giống nằm chính giữa ảnh (a)

Hình 3: Phân vùng ảnh theo vùng - phát triển vùng

1.2.1 Điểm ảnh lớn

Các thuật toán điểm ảnh lớn nhóm các điểm ảnh thành các vùng ảnh có

ý nghĩa Cách tiếp cận này có thể thay thế các cấu trúc lưới điểm ảnh (Hình 4), loại bớt thông tin thừa, tạo nên cơ sở thuận tiện tính toán các đặc điểm của ảnh, và giảm độ phức tạp của các thủ tục xử lý ảnh sau đó Điểm ảnh lớn đã trở thành cơ sở quan trọng cho các thuật toán quan sát máy tính, được sử dụng trong các ứng dụng đánh giá chiều sâu không gian, phân vùng ảnh, đánh giá chuyển động cơ thể, và xác định đối tượng trong ảnh

Trang 17

Hình 4: Điểm ảnh lớn

Có nhiều phương pháp tạo ra điểm ảnh lớn, mỗi phương pháp đều có

ưu nhược điểm và phù hợp với từng ứng dụng cụ thể Ví dụ, phương pháp dựa trên đồ thị có thể là lựa chọn tốt khi xem biên ảnh là quan trọng nhất Tuy nhiên nếu sử dụng điểm ảnh lớn để xây dựng đồ thị, phương pháp tạo lưới đều, có thể là lựa chọn tốt hơn Thường là khó xác định một giải pháp lý tưởng cho tất cả các ứng dụng, tuy nhiêu, với điểm ảnh lớn, thường có các yêu cầu sau:

• Điểm ảnh lớn cần phải tạo nên biên ảnh tốt

• Điểm ảnh lớn cần phải được tính toán nhanh, tiết kiệm bộ nhớ, và

dễ sử dụng, giảm độ phức tạp tính toán

• Khi được dùng cho mục đích phân vùng ảnh, điểm ảnh lớn cần làm tăng tốc độ và cải thiện chất lượng của kết quả

Trang 18

Hình 5: Điểm ảnh lớn với kích thước nhỏ hơn

Điểm ảnh lớn đã trở thành một công cụ cần thiết cho xử lý ảnh, và chương sau

sẽ phân tích các kỹ thuật điểm ảnh lớn hiện đại Các thuật toán được phân tích về sự tuân thủ đường biên, tốc độ phân vùng, và hiệu suất khi sử dụng như là một bước tiền xử lý trong phạm vi phân vùng ảnh

1.3 Phương pháp phân vùng dựa vào cạnh

Trong kỹ thuật này, các cạnh được phát hiện trong ảnh được cho là đại diện cho đường biên đối tượng, và được sử dụng để xác định các đối tượng này

Thuật toán Phân vùng theo cạnh:

Bước 1: Tính ảnh tăng cường cạnh ∇f từ f, bằng một toán tử dạng gradient

Trang 19

Bước 2: Áp dụng ngưỡng với ảnh∇f: (∇f)t, từ đó ta có ảnh nhị phân chỉ ra các

cạnh

Bước 3: Tính Laplacian Δf từ f, sử dụng bộ lọc Laplacian liên tục hoặc rời rạc

Bước 4: Tính ảnh g = (∇f)t · sgn(Δf) Trong đó hàm sgn trả lại dấu của giá trị

Ảnh g sẽ chỉ có 3 giá trị: 0 tại điểm không phait cạnh, 1 Tại điểm cạnh, ở bên vùng sáng, -1 tại điểm cạnh ở bên vùng tối

Hình dưới đây minh họa thuật toán trên

a ảnh gốc b ảnh được làm nét

các cạnh

c ảnh được lấy ngưỡng từ (b)

f Lấy ngưỡng cho (e)

Hình 6: Phân vùng ảnh theo cạnh

Trang 20

Những phương pháp này có vấn đề với ảnh đó là:

• Cạnh yếu

• Rất nhiễu

• Ranh giới rất mịn

• Ranh giới kết cấu

Các vấn đề khác của những kỹ thuật này bắt nguồn từ sự khó khăn điều chỉnh hiệu chỉnh chức năng Gradient cho phù hợp như vậy, tạo ra kết quả không mong muốn như:

• Các vùng phân vùng có thể là nhỏ hơn hoặc lớn hơn so với thực tế

• Các cạnh của vùng phân vùng có thể không được kết nối

• Phân vùng trên hoặc dưới của ảnh (phát sinh của các cạnh giả hoặc thiếu cạnh)

Về sau, các phương pháp khác chỉ dựa trên cơ sở các khái niệm về cạnh thay vì sử dụng phương pháp phát hiện cạnh, ví dụ, thuật toán phân vùng đập nước

1.3.1 Thuật toán phân vùng đập nước

Mục đích chính của thuật toán phân vùng đập nước là để tìm thấy những "dòng chảy" trong một ảnh để tách các vùng riêng biệt Trong thuật toán này, xem ảnh như một biểu đồ địa hình 3D, trong đó x và y biểu thị tọa

độ, và z biểu thị các giá trị pixel

Thuật toán bắt đầu đổ nước trong biểu đồ địa hình từ lưu vực thấp nhất tới đỉnh cao nhất Trong quá trình này, ta có thể phát hiện một số đỉnh núi được tách rời các lưu vực, được gọi là "đập" Biểu đồ cho thấy trong hình dưới đây

Trang 21

lưu vực đập

Hình 7: Khái niệm về đập ước và dòng chảy

Trước khi mô tả các bước của lưu vực dòng chảy, trước hết ta xác định một số thông số Đặt bộ M1, M2, , MR biểu thị các tọa độ trong vùng cực tiểu của một ảnh g(x, y), trong đó g(x, y) là giá trị điểm ảnh của tọa độ (x, y) Ký hiệu C (Mi) là tọa độ trong lưu vực liên quan với vùng tối thiểu Mi Cuối cùng, đặt T[n] là tập hợp các toạ độ (s,t) sao cho g(s, t)<n và hiển thị như sau

Sau đó, quá trình của thuật toán đập nước được thực hiện với sự tăng dần của n để phát hiện các cạnh Kết quả thu được sau khi thực hiện thể hiện trong hình sau

Hình 8: (a) ảnh đầu vào và (b) - kết quả áp dụng thuật toán đập nước

ĐÁNH DẤU

Thuật toán phân vùng đập nước có nhược điểm là phân vùng quá, nghĩa là các vùng bị phân nhỏ qua mức, một đối tượng có thể nămg trong

Trang 22

nhiều vùng Để giải quyết vấn đề trên cách tiếp cận dựa trên các khái niệm về điểm đánh dấu được sử dụng Đánh dấu là một thành phần kết nối thuộc về một ảnh Các dấu hiệu bao gồm các dấu nội bộ, liên quan dến các đối tượng quan tâm, và đánh dấu bên ngoài, liên quan đến nền Việc lựa chọn điểm đánh dấu thông thường bao gồm hai bước: tiền xử lý và Xác định các tiêu chí

mà các dấu hiệu phải đáp ứng

Bước tiền xử lý là lọc ảnh với một bộ lọc làm mịn Bước này có thể giảm thiểu tác động chi tiết nhỏ, nói cách khác, bước này là để giảm số lượng lớn các cực tiểu tiềm năng (các chi tiết không liên quan) nguyên nhân phân vùng quá nêu trên

Các định nghĩa là của đánh dấu nội bộ:

• Một vùng được bao quanh bởi các điểm của"độ cao"

• Các điểm trong vùng tạo thành các thành phần kết nối

• Tất cả các điểm trong thành phần kết nối có giá trị cường độ như nhau

Sau khi ảnh được làm mịn, đánh dấu nội bộ có thể được xác định bởi các định nghĩa như mức xám, các blob như trong hình dưới (a) Do đó, các thuật toán đập nước được áp dụng cho ảnh đã mịn, với ràng buộc đó các đánh dấu nội bộ chỉ được phép cực tiểu vùng Hình18 (a) cho thấy các dòng nước chảy, là các đánh dấu bên ngoài Các điểm của dòng nước chảy dọc theo các điểm cao nhất giữa các đánh dấu lân cận

Hình 9: (a) Ảnh hiển thị đánh dấu nội bộ (vùng sáng) và các đanh dấu bên

Trang 23

1.4 Phân lớp dữ liệu

Phân lớp dữ liệu là một trong những phương pháp được áp dụng rộng rãi trong phân vùng ảnh và thống kê ảnh Khái niệm chính của phân lớp dữ liệu là sử dụng trọng tâm để đại diện cho mỗi cụm và trên cơ sở sự tương đồng với tâm của cụm để phân loại Theo đặc điểm của thuật toán phân lớp, ta gần như có thể phân chia thành các phân lớp"phân cấp" và "phân chia" Ngoại trừ hai lớp này, thuật toán thay đổi giá trị trung bình cũng là một phần của phân nhóm dữ liệu, và khái niệm của nó được dựa trên mật độ ước tính

Các phóm phân cấp có thể được chia thành hai loại thuật toán: thuật toán kết tụ thứ bậc và thuật toán phân chia thứ bậc Tương ứng, ta mô tả chi tiết của hai thuật toán như dưới đây

Thuật toán kết tụ thứ bậc:

Bước 1 Thiết lập từng mô hình trong cơ sở dữ liệu như là một cụm Ci và tính toán ma trận lân cận bao gồm cả khoảng cách giữa mỗi cặp của các mô hình

Bước 2 Sử dụng ma trận lân cận để tìm ra hầu hết các cặp cụm tương đồng và sau đó sát nhập hai cụm này thành một cụm Sau đó, cập nhật ma trận lân cận

Trang 24

Bước 3 Lặp lại Bước 1 và 2 cho đến khi tất cả các mẫu trong một cụm hoặc chỉ đạt được sự tương đồng mà ta yêu cầu, ví dụ như dòng gạch ngang trong hình 13

Chú ý rằng có một số cách để xác định "khoảng cách" giữa mỗi cặp của các mô hình Các định nghĩa phổ biến nhất là các thuật toán liên kết đơn và liên kết hoàn chỉnh Nếu ta giả sử D(Ci, Cj) là khoảng cách giữa các cụm Ci và

Cj, và giả sử d(a, b) là khoảng cách giữa mô hình a và b Sau đó, định nghĩa khoảng cách của phương pháp liên kết đơn

Hình 10: Mô hình 8 nhóm thành ba cụm

Trang 25

Hình 11: Dendrogram này tương ứng với tám mẫu trong hình 6 bằng cách sử

dụng các thuật toán liên kết đơn

1.4.2 Thuật toán phân chia thứ bậc

Trước khi giới thiệu thuật toán về phân chia thứ bậc, để xác định khoảng cách giữa mô hình x (như ảnh, điểm ảnh) và cụm C là d(x, C)= trung bình của khoảng cách giữa x và mỗi mẫu trong cụm C các bước của thuật toán phân chia thứ bậc thể hiện dưới đây

Thuật toán phân chia thứ bậc

Bước 1 Bắt đầu với một cụm toàn bộ cơ sở dữ liệu (về ảnh, toàn bộ ảnh) Bước 2 Tìm mô hình xi trong cụm Ci sao cho d(x, Ci) = max (d(y,Ci)),

∀y∈Ci, i = 1, 2, , N và N là số cụm hiện tại trong toàn bộ cơ sở dữ liệu

Bước 3 Chia xi ra thành một cụm Ci+n mới, và sau đó tính d (y, Ci) và d (y, Ci+n), với ∀ y ∈ Ci Nếu d (y, Ci)> d (y, Ci+n), thì phân chia y của Ci và sát nhập nó vào Ci+n

Bước 4 Lặp lại bước 2 cho đến khi tất cả các cụm không thay đổi nữa

Những ưu điểm và nhược điểm của thuật toán phân chia thứ bậc:

Trang 26

1.4.3.1 Thuật toán lỗi lấy bình phương

Trước khi ta mô tả các bước của việc phân cụm, tiêu chuẩn hội tụ nên được đề cập Khái niệm phân cụm bắt đầu với điểm dữ liệu ngẫu nhiên và tiếp tục giao lại các mô hình tới các cụm dựa trên sự giống nhau giữa các mô hình

và trọng tâm của các cụm cho đến khi một tiêu chuẩn hội tụ được phát hiện Một trong những tiêu chuẩn hội tụ thường xuyên áp dụng thuật toán lỗi bình phương [14] Lợi ích của lỗi bình phương là nó hoạt động tốt với các cụm cô lập và nhỏ gọn Lỗi bình phương cho một cụm L của một mô hình thiết lập R (có chứa K cụm) là

Trong đó Xi (j) là mô hình thứ ithuộc cụm thứ jvà Cj là trọng tâm của cụm thứ j

Trang 27

1.4.3.2 Thuật toán phân cụm k-means

Thuật toán phân cụm K – means là thuật toán khá nổi tiếng Các bước của thuật toán được thể hiện dưới đây

Thuật toán phân cụm K – means

Bước 1 Xác định số lượng của các cụm, trong kết quả phân loại cuối cùng và đặt số lượng là N Lựa chọn ngẫu nhiên mẫu N trong toàn bộ cơ sở dữ liệu là trọng tâm của các cụm N

Bước 2 Phân loại từng mô hình đến trọng tâm cụm gần nhất Cụm gần nhất thường đại diện cho các giá trị điểm ảnh tương đồng, nhưng nó vẫn có thể xem xét các tính năng khác

Bước 3 Tính lại các trọng tâm cụm và sau đó có trọng tâm N của cụm N như ta làm sau Bước 1

Bước 4 Lặp đi lặp lại của Bước 2 đến 3 cho đến khi một tiêu chuẩn hội

tụ được đáp ứng Các tiêu chuẩn hội tụ điển hình là: không xác định được bất

kỳ mô hình nào từ cụm này đến cụm khác, hoặc giảm tối thiểu lỗi bình phương

Nhận xét thuật toán phân lớp K-means:

Ưu điểm:

a Thuật toán K- means dễ dàng thực hiện

b Độ phức tạp thời gian là O(n), trong đó n là số các mẫu Thuật toán này nhanh hơn thuật toán phân cụm theo thứ bậc

Nhược điểm:

a Kết quả là nhạy cảm với việc lựa chọn trọng tâm ngẫu nhiên ban đầu

Trang 28

b Không thể hiển thị chi tiết các cụm như phân lớp thứ bậc

Trong ví dụ của bảy mô hình nhị phân được hiển thị trong hình 8, có vấn đề nhạy cảm với các phân vùng ban đầu Nếu ta bắt đầu với các mẫu A, B,

và C là ba trọng tâm ban đầu, thì phân vùng cuối cùng sẽ được {{A}, {B, C}, {D,

E, F, G}} được hiển thị bằng hình elip Giá trị các lỗi bình phương cho phân vùng này là lớn hơn nhiều hơn so với các phân vùng tốt nhất {{A, B, C}, {D, E}, {F, G}} được hiển thị theo hình chữ nhật Các giải pháp của vấn đề này được tóm tắt trong phần tiếp theo

Hình 12: Thí dụ về thuật toán k-means, để phân vùng ban đầu

1.4.3.3 k-means cải thiện

Có một vài dạng khác của thuật toán k-means Một số phương pháp đặt trọng tâm xử lý ban đầu tốt để thuật toán có nhiều khả năng tìm thấy kết quả tối ưu Một dạng khác của thuật toán k-means là chọn một chức năng làm chuẩn Diday và Symon đề xuất các thuật toán phân cụm động, trong đó thay thế trọng tâm cho từng cụm bằng dự toán tối đa

Dạng khác liên quan đến ý tưởng phân chia và sát nhập sau khi hoàn thành các thuật toán k-means Phương pháp đó là: một cụm được chia khi nó nằm trên một ngưỡng được xác định trước và hai cụm được sát nhập khi khoảng cách giữa trọng tâm của chúng dưới một ngưỡng xác định trước Dạng này có thể để đạt được các phân vùng tối ưu bắt đầu từ bất kỳ trọng tâm ban đầu tùy ý Vấn đề là yêu cầu các giá trị ngưỡng thích hợp

Trang 29

Thuật toán ISODATA sử dụng kỹ thuật sát nhập và tách cụm Vì vậy, nếu ISODATA được phân vùng "elip" được hiển thị trong hình 8 như một phân vùng ban đầu (giống như ví dụ, ta đề cập đến trong phần trước), đầu tiên ISODATA sẽ sát nhập các cụm {A} và {B, C} thành một cụm bởi vì khoảng cách của chúng là nhỏ và sau khi tách {D, E, F,G} thành hai cụm {D, E} và {F, G} vì lý do {D, E, F, G} có phương sai lớn

1.4.3.3 THAY ĐỔI GIÁ TRỊ TRUNG BÌNH

Nhiều phương pháp phân lớp không tham số có thể được tách thành hai phần: phân lớp phân cấp và dự toán mật độ Phân lớp phân cấp hoặc tập hợp hoặc phân chia dựa trên một số biện pháp gần đúng Trong đó h là một tham số băng thông thoả mãn h>0 và K là các hạt nhân toả tròn đối xứng

Trong đó Ck, d là một hằng số bình thường mà gồm K(x) tích hợp Chức năng K(x) là hạt nhân, sao cho x ≥ 0

Để phân tích một không gian đặc trưng với mật độ f(x), ta phải tìm các phương thức mật độ này Các chế độ nằm giữa các số không của gradient

∇f(x)=0 Gradient của các ước tính mật độ

Ta xác định chức năng g(x)=-k (x) và đưa g (x) vào

Thuật ngữ đầu tiên là tỷ lệ thuận với ước tính mật độ x tính toán với hạt nhân G(x)=Cg,d * g(|x|2)

Vì vậy, rõ ràng là vector thay đổi giá trị trung bình mh,G (x) được tính toán với hạt nhân G là tỷ lệ thuận với dự toán ước tính mật độ gradient thu được hạt nhân K Vector thay đổi giá trị trung bình luôn luôn hướng theo hướng tăng tối đa trong mật độ và thủ tục được đảm bảo để hội tụ tại một điểm gần đó mật độ không có độ dốc Tóm tắt thuật toán như sau

Thuật toán thay đổi giá trị trung bình

Bước 1 Quyết định những tính năng không gian mà ta muốn thay đổi giá trị trung bình xem xét và cho mỗi tính năng là một vector Sau đó, ta xây dựng d kích thước ma trận

Trang 30

Bước 2 Chọn ngẫu nhiên một cột để có giá trị trung bình ban đầu

Bước 3 Xây dựng một ma trận, mà được lặp lại giá trị trung bình ban đầu và sử dụng ma trận này để trừ "dataPts” Sau đó tính toán bình phương của tất cả các thành phần của ma trận mới và tổng hợp tất cả các cột độc lập

để có được một vector "SqDistToAll"

Bước 4 Từ "SqDistToAll", tìm ra các vị trí mà giá trị của chúng có kích thước nhỏ hơn 2 Lưu trữ các vị trí này trong "inInds" và gắn nhãn cho các vị trí này trong "beenVisitedFlag" mà đại diện cho các vị trí đã được nhóm

Bước 5 Tính toán lại giá trị trung bình mới giữa giá trị "inInds"

Bước 6 Lặp lại Bước 3 đến 5 cho đến khi giá trị trung bình hội tụ Hội tụ

có nghĩa là khoảng cách giữa giá trị trung bình trước đó và giá trị trung bình hiện tại nhỏ hơn ngưỡng mà chúng quyết định Khỏang cách đại diện cho bình phương giá trị trung bình hoặc tổng bình phương khác của chúng

Bước 7 Sau khi hội tụ, ta có thể nhóm những vị trí dán nhãn vào cùng một nhóm Nhưng trước khi nhóm, ta phải kiểm tra xem khoảng cách giữa giá trị trung bình được tìm thấy mới và những giá trị trung bình cũ có quá gần nhau hay không Nếu điều đó xảy ra, ta nên sát nhập những vị trí dán nhãn vào cụm của giá trị trung bình cũ

Bước 8 Sau đó loại bỏ những dữ liệu nhóm từ "dataPts" và lặp lại Bước

2 đến 7 cho đến khi tất cả "dataPts" thành nhóm Sau đó, phân lớp thay đổi giá trị trung bình kết thúc

Nhận xét thuật toán thay đổi giá trị trung bình:

Ưu điểm:

a Một công cụ rất linh hoạt cho việc phân tích không gian đặc trưng

b Phù hợp cho các không gian tính năng tùy ý

Nhược điểm:

Trang 31

a Băng thông hạt nhân là yếu tố duy nhất có thể kiểm soát đầu ra

b Thời gian tính toán là khá dài

Hình 13 là kết quả phân vùng ảnh của ảnh Lena bằng cách sử dụng các thuật toán thay đổi giá trị trung bình

Kết quả phân vùng ảnh trong hình 13 dường như thực sự phù hợp với cảm giác con người ngoại trừ một số vùng nhỏ tách rời nhau Tuy nhiên, để xem xét thời gian tính toán, đó là một phương pháp tốn thời gian

Hình 13: Kết quả phân vùng của ảnh bằng cách sử dụng các thuật toán thay đổi

trung bình

Ngày đăng: 22/11/2014, 21:34

HÌNH ẢNH LIÊN QUAN

Hình 1: Phân vùng ảnh theo một ngưỡng - thuật toán phân vùng ảnh slic bằng các superpixels
Hình 1 Phân vùng ảnh theo một ngưỡng (Trang 14)
Hình 2: Phân vùng ảnh theo hai ngưỡng trong biểu đồ - thuật toán phân vùng ảnh slic bằng các superpixels
Hình 2 Phân vùng ảnh theo hai ngưỡng trong biểu đồ (Trang 15)
Hình 3: Phân vùng ảnh theo vùng - phát triển vùng - thuật toán phân vùng ảnh slic bằng các superpixels
Hình 3 Phân vùng ảnh theo vùng - phát triển vùng (Trang 16)
Hình 4: Điểm ảnh lớn - thuật toán phân vùng ảnh slic bằng các superpixels
Hình 4 Điểm ảnh lớn (Trang 17)
Hình 5: Điểm ảnh lớn với kích thước nhỏ hơn - thuật toán phân vùng ảnh slic bằng các superpixels
Hình 5 Điểm ảnh lớn với kích thước nhỏ hơn (Trang 18)
Hình dưới đây minh họa thuật toán trên. - thuật toán phân vùng ảnh slic bằng các superpixels
Hình d ưới đây minh họa thuật toán trên (Trang 19)
Hình 7: Khái niệm về đập ước và dòng chảy - thuật toán phân vùng ảnh slic bằng các superpixels
Hình 7 Khái niệm về đập ước và dòng chảy (Trang 21)
Hình 8:  (a) ảnh đầu vào và (b) - kết quả áp dụng thuật toán đập nước.    ĐÁNH DẤU - thuật toán phân vùng ảnh slic bằng các superpixels
Hình 8 (a) ảnh đầu vào và (b) - kết quả áp dụng thuật toán đập nước. ĐÁNH DẤU (Trang 21)
Hình 9:  (a) Ảnh hiển thị đánh dấu nội bộ (vùng sáng) và các đanh dấu bên  ngoài (dòng nước chảy).(b) Kết quả phân vùng của (a) - thuật toán phân vùng ảnh slic bằng các superpixels
Hình 9 (a) Ảnh hiển thị đánh dấu nội bộ (vùng sáng) và các đanh dấu bên ngoài (dòng nước chảy).(b) Kết quả phân vùng của (a) (Trang 22)
Hình 10:  Mô hình 8 nhóm thành ba cụm. - thuật toán phân vùng ảnh slic bằng các superpixels
Hình 10 Mô hình 8 nhóm thành ba cụm (Trang 24)
Hình 12: Thí dụ về thuật toán k-means, để phân vùng ban đầu. - thuật toán phân vùng ảnh slic bằng các superpixels
Hình 12 Thí dụ về thuật toán k-means, để phân vùng ban đầu (Trang 28)
Hình 13 là kết quả phân vùng ảnh của ảnh Lena bằng cách sử dụng các  thuật toán thay đổi giá trị trung bình - thuật toán phân vùng ảnh slic bằng các superpixels
Hình 13 là kết quả phân vùng ảnh của ảnh Lena bằng cách sử dụng các thuật toán thay đổi giá trị trung bình (Trang 31)
Hình 14: Phân vùng “quá” - oversegmentation - thuật toán phân vùng ảnh slic bằng các superpixels
Hình 14 Phân vùng “quá” - oversegmentation (Trang 33)
Hình 16: Phân vùng ảnh thiên nhiên với SLIC - thuật toán phân vùng ảnh slic bằng các superpixels
Hình 16 Phân vùng ảnh thiên nhiên với SLIC (Trang 38)
Hình 17: a. tìm kiếm k-mean trong toàn ảnh, b. SLIC tìm kiếm trong một vùng - thuật toán phân vùng ảnh slic bằng các superpixels
Hình 17 a. tìm kiếm k-mean trong toàn ảnh, b. SLIC tìm kiếm trong một vùng (Trang 39)
Hình 18: Kết quả phân điểm ảnh lớn của SLIC cho các loại ảnh khác nhau với - thuật toán phân vùng ảnh slic bằng các superpixels
Hình 18 Kết quả phân điểm ảnh lớn của SLIC cho các loại ảnh khác nhau với (Trang 40)
Hình 1: SLIC với dãy ảnh liên tục trong video - thuật toán phân vùng ảnh slic bằng các superpixels
Hình 1 SLIC với dãy ảnh liên tục trong video (Trang 43)
Hình 20: Kết quả của SLIC với các ảnh kiến trúc - thuật toán phân vùng ảnh slic bằng các superpixels
Hình 20 Kết quả của SLIC với các ảnh kiến trúc (Trang 44)
Hình 21: Ảnh siêu âm của (a) sợi cơ khỏe mạnh và (b) sợi cơ yếu. - thuật toán phân vùng ảnh slic bằng các superpixels
Hình 21 Ảnh siêu âm của (a) sợi cơ khỏe mạnh và (b) sợi cơ yếu (Trang 45)
Hình 22: Ảnh ban đầu của cơ khỏe mạnh và ảnh nâng cao cấp độ màu xám. - thuật toán phân vùng ảnh slic bằng các superpixels
Hình 22 Ảnh ban đầu của cơ khỏe mạnh và ảnh nâng cao cấp độ màu xám (Trang 46)
Hình 24: Các vùng sợi cơ từ hình 22 - thuật toán phân vùng ảnh slic bằng các superpixels
Hình 24 Các vùng sợi cơ từ hình 22 (Trang 47)
Hình 25: Tìm các sợi lành mạnh hoặc bị hỏng từ hình 22. - thuật toán phân vùng ảnh slic bằng các superpixels
Hình 25 Tìm các sợi lành mạnh hoặc bị hỏng từ hình 22 (Trang 47)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w