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

Tiểu luận môn Máy học và ứng dụng THUẬT TOÁN K-MEANS VÀ ỨNG DỤNG TRONG BÀI TOÁN PHÂN ĐOẠN ẢNH

20 2,1K 34

Đ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 20
Dung lượng 0,94 MB

Nội dung

Trong giới hạn của đồ án này chúng ta sẽ khảo sát qua các khái niệm cơ bản về máy học, thuật toán K-means và ứng dụng của thuật toán K-means trong phân đoạn ảnh.. Một trong những định ng

Trang 1

THUẬT TOÁN K-MEANS VÀ ỨNG

DỤNG TRONG BÀI TOÁN PHÂN ĐOẠN ẢNH

Giảng viên hướng dẫn: PGS TS Vũ Thanh Nguyên Học viên thực hiện: Trần Quốc Bảo

MSHV: CH1301004

TP Hồ Chí Minh, tháng 03/2014

Trang 2

Trong thập kỷ qua, việc ứng dụng máy học vào khoa học kỹ thuật đã giúp cho chúng ta có thể tạo ra được những chiếc xe tự lái, nhận dạng giọng nói thực tế, tìm kiếm web có hiệu quả, và sự hiểu ngày càng sâu sắc hơn về bộ gen của con người,v.v Ngày nay máy học phổ biến đến nỗi chúng ta có thể sử dụng nó hàng chục lần một ngày mà không hề hay biết biết

Trong giới hạn của đồ án này chúng ta sẽ khảo sát qua các khái niệm cơ bản

về máy học, thuật toán K-means và ứng dụng của thuật toán K-means trong phân đoạn ảnh

Tôi chân thành tỏ lòng biết ơn PGS TS Vũ Thanh Nguyên, Trưởng khoa Khoa Công nghệ Phần mềm, Trường Đại học Công nghệ Thông tin, người đã cung cấp cho tôi các kiến thức cơ bản ban đầu để có thể tìm hiểu sâu thêm trong lĩnh vực máy học

Trang 3

1.2 Tiến trình máy học và phân loại các thuật toán 2

Chương II: THUẬT TOÁN K-MEANS 6

2.1 Giới thiệu thuật toán và các định nghĩa cơ sở 6

2.2 Thuật toán K-Means 6

2.3 Ví dụ minh họa 8

2.4 Ưu và khuyết điềm của thuật toán 9

Chương III: ỨNG DỤNG THUẬT TOÁN K-MEANS TRONG PHÂN ĐOẠN ẢNH 10

3.1 Giới thiệu về phân đoạn ảnh 10

3.2 Phát biểu ứng dụng 13

TÀI LIỆU THAM KHẢO 17

Trang 4

Chương I CƠ SỞ LÝ THUYẾT

1.1 Máy học là gì

Rất khó để có thể định nghĩa một cách chính xác về máy học Một trong những định nghĩa rộng nhất về thuật ngữ máy học là: “một cụm từ dùng để chỉ khả năng một chương trình máy tính để tăng tính thực thi dựa trên những kinh nghiêm

đã trải qua” hoặc “là để chỉ khả năng một chương trình có thể phát sinh ra một cấu trúc dữ liệu mới khác với các cấu trúc dữ liệu cũ”

Lợi điểm của các phương pháp máy học là nó phát sinh ra các luật tường minh, có thể được sửa đổi, hoặc được huấn luyện trong một giới hạn nhất định.Các phương pháp này học trên các dữ liệu có đặc tả thông tin Cấu trúc thông tin gồm 4 mức được gọi là tri thức kim tự tháp

Hình 1.1 Mô hình tri thức kim tự tháp

Máy học là sự tự động của quy trình học và việc học thì tương đương với việc xây dựng những luật dựa trên việc quan sát trạng thái trên cơ sở dữ liệu và những sự chuyển hoá của chúng

Máy học kiểm tra những ví dụ trước đó và kiểm tra luôn cảnhững kết quả của chúng khi xuất và học làm cách nào để tái tạo lại những kết quả này và tạo nên những sự tổng quát hóa cho những trường hợp mới

Trang 5

Nói chung, máy học sử dụng một tập hữu hạn dữ liệu được gọi là tập huấn luyện Tập này chứa những mẫu dữ liệu mà nó được viết bằng mã theo một cách nào đó để máy có thể đọc và hiểu được

Tuy nhiên, tập huấn luyện bao giờ cũng hữu hạn do đó không phải toàn bộ

dữ liệu sẽ được học một cách chính xác

Lợi ích của máy học

Các thông tin ngày càng nhiều, hàng ngày ta phải xử lý rất nhiều thông tin đến từ nhiều nguồn khác nhau Máy học có thể giúp xứ lý và dự báo các thông tin

đó bằng cách tạo ra các luất sản xuất từdữ liệu thu thập.Ở những nơi không có chuyên gia, máy học có thể giúp tạo ra được các quyết định từ các dữ liệu có được.Các thuật toán sử dụng trong máy học máy học có thể giúp xử lý khi dữ liệu không đầy đử, không chính xác

Máy học giúp thiết kế hệ thống huấn luyện tự động (mạng nơrôn nhân tạo)

và giải mã mối liên hệ giữa các tri thức được lưu trữtrong mạng từ dữ liệu.Công nghệ Máy học là một trong những phương pháp chính trong khai phá dữ liệu Nó được sử dụng trong tiến trình khám phá tri thức

1.2 Tiến trình máy học và phân loại các thuật toán

1.2.1 Tiến trình máy học

Một tiến trình máy học bao gồm 2 giai đoạn:

Giai đoạn học: hệ thống phân tích dữ liệu và nhận ra sự mối quan hệ

(có thể là phi tuyến hoặc tuyến tính) giữa các đối tượng dữ liệu Kết quả của việc học có thể là: nhóm các đối tượng vào trong các lớp, tạo

ra các luật, tiên đoán lớp cho các đối tượng mới

Giai đoạn thử nghiệm: Mối quan hệ (các luật, lớp ) được tạo ra

phải được kiểm nghiệm lại bằng một số hàm tính toán thực thi trên một phần của tập dữ liệu huấn luyện hoặc trên một tập dữ liệu lớn

Trang 6

1.2.2 Phân loại các thuật toán

Các thuật toán máy học được chia làm 3 loại: học giám sát, học không giám sát và học nửa giám sát

Học có giám sát (Supervised Learning).

Đây là cách học từ những mẫu dữ liệu mà ở đó các kỹ thuật máy học giúp hệ thống xây dựng cách xác định những lớp dữ liệu Hệ thống phải tìm một sự

mô tả cho từng lớp (đặc tính của mẫu dữ liệu).Người ta có thể sử dụng các luật phân loại hình thành trong quá trình học và phân lớp để có thể sử dụng dự báo các lớp dữ liệu sau này

Thuật toán học có giám sát gồm tập dữ liệu huấn luyện M cặp:

S = {(xi, cj) i=1,…,M; j=1,…,C}

Các cặp huấn luyện này được gọi là mẫu, vớixi là vector n-chiều còn gọi

là vector đặc trưng,cj là lớp thứ j đã biết trước

Thuật toán máy học giám sát tìm kiếm không gian của những giả thuyết

có thể, gọi là H Đối với một hay nhiều giả thuyết, mà ước lượng tốt nhất hàm không được biết chính xác f : x  c.Đối với công việc phân lớp có thể xem giả thuyết như một tiêu chí phân lớp

Thuật toán máy học tìm ra những giả thuyết bằng cách khám phá ra những đặc trưng chung của những ví dụ mẫu thể hiện cho mỗi lớp.Kết quả nhận được thường ở dạng luật (Nếu thì)

Khi áp dụng cho những mẫu dữ liệu mới, cần dựa trên những giả thuyết

đã có để dự báo những phân lớp tương ứng của chúng Nếu như không gian giả thuyết lớn, thì cần một tập dữ liệu huấn luyện đủ lớn nhằm tìm kiếm một hàm xấp

xỉ tốt nhất f.Tùy thuộc vào mức độ của thuật toán học giám sát, người ta có những

mô hình học giám sát như sau:

Trang 7

- Học vẹt (rote): hệ thống luôn luôn được “dạy” những luật

đúng, rồi có học hội tụ

- Học bằng phép loại suy (analogy): hệ thống được dạy phản hồi

đúng cho một công việc tương tự, nhưng không xác định Vì thế hệ thống phải hiệu chỉnh phản hồi trước đó bằng cách tạo ra một luật mới có thể áp dụng cho trường hợp mới

- Học dựa trên trường hợp (case-based learning): trong trường

hợp này hệ thống học lưu trữ tất cả các trường hợp, cùng với kết quả đầu

ra của chúng Khi bắt gặp một trường hợp mới, nó sẽ cố gắng hiệu chỉnh đến trường hợp mới này cách xử lý trước đó của nó đã được lưu trữ

- Học dựa trên sự giải thích (explanation-based learning), hệ

thống sẽ phân tích tập hợp những giải pháp nhằm chỉ ra tại sao mỗi phương pháp là thành công hay không thành công Sau khi những giải thích này được tạo ra, chúng sẽ được dùng để giải quyết những vấn đề mới

Một số thuật toán học có giám sát.

- Support Vector Machine – SVM.

- K Nearest Neighbours – KNN.

- Centroid–base vector.

- Linear Least Square Fit – LLSF.

Học Không giám sát (Unsupervised Learning).

Trang 8

Đây là việc học từ quan sát và khám phá Hệ thống khai thác dữ liệu được ứng dụng với những đối tượng nhưng không có lớp được định nghĩa trước, mà

để nó phải tự hệ thống quan sát những mẫu và nhận ra mẫu Hệ thống này dẫn đến một tập lớp, mỗi lớp có một tập mẫu được khám phá trong tập dữ liệu.Học không giám sát còn gọi là học từ quan sát và khám phá

Trong trường hợp chỉ có ít, hay gần như không có tri thức về dữ liệu đầu vào, khi đó một hệ thống học không giám sát sẽ khám phá ra những phân lớp của dữ liệu, bằng cách tìm ra những thuộc tính, đặc trưng chung của những mẫu hình thành nên tập dữ liệu.Một thuật toán máy học giám sát luôn có thể biến đổi thành một thuật toán máy học không giám sát (Langley 1996).Đối với một bài toán mà những mẫu dữ liệu được mô tả bởi n đặc trưng, người ta có thể chạy thuật toán học giám sát n-lần, mỗi lần với một đặc trưng khác nhau đóng vai trò thuộc tính lớp, mà chúng ta đang tiên đoán.Kết quả sẽ là n tiêu chí phân lớp (n bộ phân lớp), với hy vọng là ít nhất một trong n bộ phân lớp đó là đúng

Một số thuật toán học không giám sát:

- Hệ thống ART(adaptive resonance theory)

Học nửa giám sát.

Học nửa giám sát là các thuật toán học tích hợp từ học giám sát và học không giám sát Việc học nửa giám sát tận dụng những ưu điểm của việc học giám sát và học không giám sát và loại bỏ những khuyết điểm thường gặp trên hai kiểu học này

Một số thuật toán học nửa giám sát.

- EM - Expectation Maximization.

Trang 9

- TSVM - Transductive Support Vector Machine.

- Các phương pháp dựa trên đồ thị (graph-based).

Chương II: THUẬT TOÁN K-MEANS

2.1 Giới thiệu thuật toán và các định nghĩa cơ sở

Thuật toán K-means thuộc vào loại thuật toán không giám sát rất đơn giản và được áp dụng rộng rãi vào các mẫu bài toán phân cụmdo MacQueen giới thiệu trong tài liệu “J Some Methods for Classification and Analysis of Multivariate Observations” năm 1967

Bài toán phân cụm là quá trình nhóm một nhóm các điềm dữ liệu vào trong một số lượng nhỏ các cụm Tổng quát về mặt biểu diễn toán học, chúng ta có n điểm dữ liệu xi,i=1 n cần phải được phân vào trong k cụm Mục tiêu của bài toán

là một điểm dữ liệu cho một cụm Thuật toán K-means cung cấp cho chúng ta một phương pháp để tìm ra được vị trí các điểm μi,i=1 ki,i=1 k của các cụm sao cho hàm khoảng cách từ các điểm đến các cụm là nhỏ nhất

Trong đó ci là một tập các điểm bên trong cụm i Thuật toán K-means sử dụng khoảng cách Euclidean

2.2 Thuật toán K-means

Thuật toán K-means được dùng để giải bài toán về phân cụm hoạt động qua từng bước như sau:

Đầu tiên chúng ta cần xác định số cụm k

Trang 10

1 Khởi tạo điểm trung

tâm của cụm μii,i=1, ,k

2 Gán các điểm dữ liệu

vào các cụm gần nhất

3 Thiết lập lại điểm

trung tâm của mỗi

cụm

4 Lập lại các bước 2-3

cho đến khi hội tụ

Ghi chú |c|= số phần tử trong c

Thuật toán k-means trên được chứng minh là hội tụ và có độ phức tạp tính toán là:

Trong đó, n là số đối tượng dữ liệu, k là số cụm dữ liệu, d là số chiều, τ là số vòng lặp, Tflop là thời gian để thực hiện một phép tính cơ sở như phép tính nhân, chia, Như vậy, do K-means phân tích phân cụm đơn giản nên có thể áp dụng đối với tập dữ liệu lớn.Tuy nhiên, nhược điểm của K-means là chỉ áp dụng với dữ liệu

có thuộc tính số và khám phá ra các cụm có dạng hình cầu, k-means còn rất nhạy cảm với nhiễu và các phần tử ngoại lai trong dữ liệu Hơn nữa, chất lượng phân cụm

dữ liêuk của thuật toán k-means phụ thuộc nhiều vào các tham số đầu vào như: số cụm k và k trọng tâm khởi tạo ban đầu Trong trường hợp các trọng tâm khởi tạo ban đầu mà quá lệch so với các trọng tâm cụm tự nhiên thì kết quả phân cụm của k-means là rất thấp, nghĩa là các cụm dữ liệu được khám phá rất lệch so với các cụm

Trang 11

trong thực tế Trên thực tế chưa có một giải pháp tối ưu nào để chọn các tham số đầu vào, giải pháp thường được sử dụng nhất là thử nghiệm với các giá trị đầu vào k khác nhau rồi sau đó chọn giải pháp tốt nhất

2.3 Ví dụ minh họa

Trong phần này chúng ta sẽ xem qua các bước thực hiện của thuật toán K-means bằng đồ họa

Hình 2.1.Giá trị gốc ban đầu Hình 2.2 Khởi tạo các cụm ban đầu

Hình 2.3 Gán các điểm dữ liệu vào các

cụm

Hình 2.4 Tính toán lại vị trí các điểm

trung tâm của cụm

Trang 12

Hình 2.5 Gán các điểm dữ liệu vào

trong các cụm

Hình 2.6 Thuật toán dừng lại vì không có

điểm thay đổi

Thuật toán kết thúc vì không có sự thay đổi của các đối tượng trong từng cụm

2.4 Ưu và khuyết điềm của thuật toán

Ưu điểm:

 Với số lượng biến lớn thì thuật toán K-means có thể tính toán nhanh hơn so với các thuật toán phân nhóm phân cấp khác (nếu K là nhỏ)

 K-means có thể gom các cụm chặt chẽ hơn so với phân cụmtheo cấp bậc, đặc biệt là nếu các cụm hình cầu

Khuyết điểm: Giống như các thuật toán khác, k- means cũng có một số

khuyết điềmnhất định:

 Việc khởi tạo phần tử trung tâm của các cụm ban đầu ảnh hưởng đến

sự phân chia đối tượng vào cụm trong trường hợp dữ liệu không lớn

 Số cụm k luôn phải được xác định trước

 Không xác định được rõ ràng vùng của các cụm, cùng 1 đối tượng, nó

có thể được đưa vào cụm này hoặc cụm khác khi dung lượng dữ liệu thay đổi

Trang 13

 Điều kiện khởi tạo có ảnh hưởng lớn đến kết quả Điều kiện khởi tạo khác nhau có thể cho ra kết quả phân cụm khác nhau

 Không xác định được mức độ ảnh hưởng của thuộc tính đến quá trình tạo các cụm

Chương III: ỨNG DỤNG THUẬT TOÁN K-MEANS TRONG PHÂN ĐOẠN ẢNH

3.1 Giới thiệu về phân đoạn ảnh

Phân đoạn ảnh là một thao tác ở mức thấp trong toàn bộ quá trình xử lý ảnh Quá trình này thực hiện việc phân vùng ảnh thành các vùng rời rạc và đồng nhất với nhau hay nói cách khác là xác định các biên của các vùng ảnh đó Các vùng ảnh đồng nhất này thông thường sẽ tương ứng với tòan bộ hay từng phần của các đối tượng thật sự bên trong ảnh Vì thế, trong hầu hết các ứng dụng của lĩnh vực xử lý ảnh (image processing), thị giác máy tính, phân đoạn ảnh luôn đóng một vai trò cơ bản và thường là bước tiền xử lý đầu tiên trong toàn bộ quá trình trước khi thực hiện các thao tác khác ở mức cao hơn như nhận dạng đối tượng, biểu diễn đối tượng, nén ảnh dựa trên đối tượng, hay truy vấn ảnh dựa vào nội dung …

Vào những thời gian đầu, các phương pháp phân vùng ảnh được đưa ra chủ yếu làm việc trên các ảnh mức xám do các hạn chế về phương tiện thu thập và lưu trữ Ngày nay, cùng với sự phát triển về các phương tiện thu nhận và biểu diễn ảnh , các ảnh màu đã hầu như thay thế hoàn toàn các ảnh mức xám trong việc biểu diễn

và lưu trữ thông tin do các ưu thế vượt trội hơn hẳn so với ảnh mức xám Do đó, các

kỹ thuật, thuật giải mới thực hiện việc phân vùng ảnh trên các loại ảnh màu liên tục được phát triển để đáp ứng các nhu cầu mới Các thuật giải, kỹ thuật này thường

được phát triển dựa trên nền tảng các thuật giải phân vùng ảnh mức xám đã có sẵn.

Các hướng tiếp cận phân đoạn ảnh

Phân đoạn ảnh là chia ảnh thành các vùng không trùng lắp Mỗi vùng gồm một nhóm pixel liên thông và đồng nhất theo một tiêu chí nào đó Tiêu chí này phụ

Trang 14

thuộc vào mục tiêu của quá trình phân đoạn Ví dụ như đồng nhất về màu sắc, mức xám, kết cấu, độ sâu của các layer… Sau khi phân đoạn mỗi pixel chỉ thuộc về một vùng duy nhất Để đánh giá chất lượng của quá trình phân đoạn là rất khó Vì vậy trước khi phân đoạn ảnh cần xác định rõ mục tiêu của quá trình phân đoạn là gì Xét một cách tổng quát, ta có thể chia các hướng tiếp cận phân đoạn ảnh thành ba nhóm chính như sau:

 Các kỹ thuật phân đoạn ảnh dựa trên không gian đặc trưng

 Các kỹ thuật dựa trên không gian ảnh

 Các kỹ thuật dựa trên các mô hình vật lý

Các phương pháp dựa trên không gian đặc trưng

Nếu chúng ta giả định màu sắc bề mặt của các đối tượng trong ảnh là một thuộc tính bất biến và các màu sắc đó được ánh xạ vào một không gian màu nào đó,

vậy thì chúng ta sẽ có một cái nhìn đối với mỗi đối tượng trong ảnh như là một cụm

(cluster) các điểm trong không gian màu đó Mức độ phân tán của các điểm trong trong một cụm được xác định chủ yếu bởi sự khác biệt về màu sắc Một cách khác, thay vì ánh xạ các pixel trong ảnh vào một không gian màu cụ thể, ta xây dựng một

histogram dựa trên các đặc trưng màu dạng ad-hoc cho ảnh đó (ví dụ như Hue), và

thông thường, các đối tượng trong ảnh sẽ xuất hiện như các giá trị đỉnh trong histogram đó Do đó, việc phân vùng các đối tượng trong ảnh tương ứng với việc xác định các cụm – đối với cách biểu diễn thứ nhất – hoặc xác định các vùng cực trị của histogram – đối với cách biểu diễn thứ hai

Các phương pháp tiếp cận này chỉ làm việc trên một không gian màu xác định chẳng hạn phương pháp của Park áp dụng trên không gian màu RGB, còn phương pháp của Weeks và Hague thì áp dụng trên không gian màu HIS Dựa trên không gian đặc trưng, ta có các phương pháp phân đoạn: phương pháp phân nhóm đối tượng không giám sát, phương pháp phân lớp trung bình-k thích nghi, phương pháp lấy ngưỡng histogram

Ngày đăng: 21/05/2015, 12:49

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w