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

báo cáo đề tài trí tuệ nhân tạo nghiên cứu và xây dựng ứng dụng xử lí ảnh dựa trên thuật toán kmeans

14 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Nội dung

Một trong những sự kiện nổi bật là Dartmouth Workshop năm 1956, nơi thuật ngữ "Trí Tuệ Nhân Tạo" đã được đặt ra và các dự án đầu tiên về AI đã được khởi đầu.2.Thập kỷ 1960-1970: Phương p

Trang 1

TRƯỜNG ĐẠI HỌC KIẾN TRÚC HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN

Nguyễn Hoàng NguyênPhạm Ngọc SơnNguyễn Hoàng TháiGiảng viên hướng dẫn: ThS Nguyễn Thị Huệ

Trang 2

1.2.3, Thu t toán đậượ ử ục s d ng 9

1.2.3.Phâần mêầm Sublimetext 10

CHƯƠNG 2: THUẬT TOÁN K-MEANS VÀ ỨNG DỤNG TRONG XỬ LÝ ẢNH 11

2.1, Tổng quan về thuật toán 11

2.1.1, Thu t toán k-means là gì?ậ 11

2.1.2, Ý tưởng c a K-means.ủ 11

2.1.3, Cách ho t đ ng c a K-means.ạ ộủ 12

2.1.4, Các l u ý khi áp d ng thu t toán Kmeans.ưụậ 12

2.2, Ứng dụng thuật toán Kmeans trong xử lý ảnh 13

CHƯƠNG 3 SẢN PHẨM NGHIÊN CỨU VÀ KẾT LUẬN + 13

3.1.Sản phẩm nghiên cứu 13

3.2.kết luận 13

TÀI LIỆU THAM KHẢO 13

Trang 3

LỜI MỞ ĐẦU

AI là một ngành khoa học đang rất phát triển trên thế giới Chúng ta không thể phủ nhận vai trò của những mô hình và thuật toán đang ngày càng quan trọng đối với con người Nó len lỏi vào cuộc sống hàng ngày của bạn, thay đổi thói quen của bạn mà bạn có thể không nhận ra Khi bạn lướt facebook, những tin tức mà bạn đọc được đều là kết quả đã được khuyến nghị từ thuật toán Bạn lướt một trang web và nhận được các banner quảng cáo đúng sản phẩm mình cần Bạn vào một bệnh viện khám bệnh, kết quả của bạn nhận được có thể một phần được đóng góp từ dự đoán của thuật toán Điện thoại của bạn có thể phân biệt được bạn và em trai của bạn Tất

Ngày nay AI đang thu hút được sự đầu tư mạnh mẽ từ các công ty công nghệ trên toàn cầu và thậm chí nó nằm trong chiến lược cạnh tranh giữa các quốc gia Do nhận được sự đầu tư mạnh mẽ như vậy nên các công việc liên quan tới AI cũng được coi là mang lại một mức thu nhập cao hơn so với những ngành khác AI đồng thời cũng thu hút được một lượng người học đông đảo không chỉ tại Việt Nam mà còn trên thế giới.

Machine learning (ML) hay máy học là một nhánh của trí tuệ nhân tạo (AI), nó là một lĩnh vực nghiên cứu cho phép máy tính có khả năng cải thiện chính bản thân chúng dựa trên dữ liệu mẫu (training data) hoặc dựa vào kinh nghiệm (những gì đã được học) Machine learning có thể tự dự đoán hoặc đưa ra quyết định mà không cần được lập trình cụ thể.

phân ngành trong xử lý số tín hiệu với tín hiệu xử lý là ảnh Đây là một phân ngành khoa học mới rất phát triển trong những năm gần đây Xử lý ảnh gồm 4 lĩnh vực chính: xử lý nâng cao chất lượng ảnh, nhận dạng ảnh, nén ảnh và truy vấn ảnh Sự phát triển của xử lý ảnh đem lại rất nhiều lợi ích cho cuộc sống của con người.Ngày nay xử lý ảnh đã được áp dụng rất rộng rãi trong đời sống như: photoshop, nén ảnh, nén video, nhận dạng biển số xe, nhận dạng khuôn mặt, nhận dạng chữ viết, xử lý ảnh thiên văn, ảnh y tế,

Trang 4

 Suy nghĩ như người Suy nghĩ hợp lý Hành động như người Hành động hợp lý

1.1.2, Lịch sử phát triển :

Lịch sử phát triển Trí Tuệ Nhân Tạo (Artificial Intelligence - AI) đã trải qua nhiều giai đoạn và cách tiến hóa Dưới đây là một số mốc lịch sử quan trọng của AI :

1 Thập kỷ 1950-1960: Thành lập AI: Giai đoạn này được coi là thời kỳ "sinhra" của AI Các nhà khoa học như Alan Turing và John von Neumann đã đưa ra các ý tưởng về máy tính và trí tuệ nhân tạo Một trong những sự kiện nổi bật là Dartmouth Workshop năm 1956, nơi thuật ngữ "Trí Tuệ Nhân Tạo" đã được đặt ra và các dự án đầu tiên về AI đã được khởi đầu.

2.Thập kỷ 1960-1970: Phương pháp toán học và Logic: Trong giai đoạn này, AI phát triển dựa trên lý thuyết toán học và logic Các hệ thống như Logic Theorist và Dendral đã được phát triển để giải quyết vấn đề trong lĩnh vực hình thái và hóa học.

Trang 5

3.Thập kỷ 1980: Lập trình Logic và Expert Systems: AI đã tập trung vào việcxây dựng hệ thống dựa trên luật và kiến thức chuyên gia Các hệ thống Expert Systems (Hệ thống Chuyên gia) như MYCIN và Dendral đã thu hút sự quan tâm lớn.

4.Thập kỷ 1990: Mạng nơ-ron và Máy học: Giai đoạn này chứng kiến sự pháttriển của mạng nơ-ron nhân tạo và các thuật toán máy học Các mô hình như Mạng Neuron Nhân Tạo (ANN) đã xuất hiện và được áp dụng trong nhiều ứng dụng như nhận dạng giọng nói và thị giác máy tính.

5.Thế kỷ 21: Học sâu và Tiến bộ của AI: AI đã đạt được những tiến bộ lớn trong thập kỷ này, đặc biệt là trong lĩnh vực học sâu (deep learning) Các mô hình như Convolutional Neural Networks (CNNs) và Recurrent Neural Networks (RNNs) đã thúc đẩy sự phát triển trong lĩnh vực thị giác máy tính, xử lý ngôn ngữ tự nhiên, và tự động lái xe.

6.Hiện tại và Tương lai: AI ngày càng trở nên phổ biến và tích hợp trong cuộc sống hàng ngày, từ ứng dụng trợ lý ảo đến tự động hóa công việc trong các ngành công nghiệp Trong tương lai, AI có tiềm năng để thúc đẩy sự tiến bộ trong nhiều lĩnh vực như y tế, ô tô tự hành, và nhiều lĩnh vực khác.

Lịch sử phát triển AI là một hành trình dài và đa dạng, với nhiều bước tiến quan trọng và sự phát triển đáng kể AI đang tiếp tục phát triển và có tiềm năng thayđổi cách chúng ta sống và làm việc trong tương lai.

1.1.3, Các lĩnh vực nghiên cứu

Trí tuệ nhân tạo được chia thành một số lĩnh vực nghiên cứu nhỏ hơn và chuyên sâunhằm giải quyết những vấn đề khác nhau khi xây dựng một hệ thống trí tuệ nhân tạo, một số thì được hình thành để giải quyết một lớp bài toán, một lĩnh vực chuyên sâu khác thì tập trung vào hướng tiếp cận hay các kỹ thuật nhưng cũng một phần nghiên cứu lại xoay quanh các ứng dụng cụ thể.

Thông thường, để một hệ thống trí tuệ nhân tạo hoàn chỉnh làm việc trong một môi trường nào đó cần có những khả năng như:

 Cảm nhận (perception) Lập luận (reasoning) Hành động (action)

Trang 6

Và dưới đây là những lĩnh vực nghiên cứu cụ thể của trí tuệ nhân tạo dựa theo 3 thành phần trên:

 Cảm nhận: Thị giác máy tính, xử lý ngôn ngữ tự nhiên … Lập luận và suy diễn: Biểu diễn tri thức, Học máy…

 Hành động: Kỹ thuật Robot, tổng hợp ngôn ngữ và tiếng nói tự nhiên…

1.1.4,Phân loại trí tuệ nhân tạo

 Khả năng học hỏi và tự cải tiến:

chỉ có thể thực hiện công việc mà được lập trình sẵn.

với mục tiêu dài hạn của nghiên cứu AI, có khả năng tương đương với trí tuệ con người.

 Phạm vi ứng dụng:

chatbot, hệ thống nhận diện khuôn mặt…

Intelligence): là loại AI có khả năng thực hiện bất kỳ nhiệm vụ nào mà

một con người có thể thực hiện và đây vẫn là một khái niệm lý tưởng vẫn đang trong giai đoạn nghiên cứu.

 Phương pháp hoạt động chính:

mẫu và tạo ra các dự đoán hoặc quyết định.

vào mạng thần kinh nhân tạo với nhiều tầng ẩn để xử lý thông tin phức tập.

 Nhiệm vụ cụ thể:

được sử dụng để hiểu và tạo ra ngôn ngữ tự nhiên, chẳng hạn như chatbot hoặc phân tích cảm xúc từ văn bản.

và xử lý hình ảnh và video, ví dụ như nhận diện khuôn mặt hoặc xe hơitự lái.

Trang 7

 Robotics: Kết hợp AI với robot để thực hiện các nhiệm vụ vật lý, ví dụ

như robot hút bụi tự động hoặc robot sản xuất trong nhà máy.

1.1.5, Mặt tích cực và hạn chế của trí tuệ nhân tạo.

 Mặt tích cực:

 Tích cực cho năng suất: AI có thể thực hiện các tác vụ lặp đi lặp lại

một cách nhanh chóng và chính xác hơn con người giúp tăng năng suấttrong nhiều lĩnh vực công nghiệp.

 Khả năng học hỏi và tự cải tiến: AI có khả năng tự học từ dữ liệu mới

và cải thiện hiệu suất theo thời gian mà không cần sự can thiệp của conngười.

 Tích cực trong y tế: AI có thể được sử dụng để chuẩn đoán bệnh, phát

triển thuốc mới và cải thiện quản lý dữ liệu y tế, giúp cải thiện chấtlượng chăm sóc sức khỏe.

 Tích cực trong tự động hóa: AI giúp tự động hóa các quy trình sản

xuất, vận chuyển, dịch vụ, tìm kiếm thông tin, và thậm chí những côngviệc phức tạp hơn.

 Mặt hạn chế:

 Khả năng cạnh tranh với lao động con người: các hệ thống AI có thể

thay thế công việc của con người trong nhiều ngành công nghiệp, gây lo ngại về việc thất nghiệp của một số người.

 Bảo mật và quyền riêng tư: sử dụng AI có thể gây ra rủi ro bảo mật và

xâm phạm quyền riêng tư khi thông tin cá nhân và dữ liệu nhạy cảm được sử dụng và lưu trữ.

 Bias và công bằng: AI có thể kế thừa bias từ dữ liệu huấn luyện và gây

ra các quyết định không công bằng hoặc kỳ thị đối với một số nhóm dânsố.

 Khoản đầu tư và hậu quả xã hội: phát triển và triển khai AI đòi hỏi

khoản đầu tư lớn và có thể tạo ra một sự tăng khoảng cách kinh tế và xã hội giữa các quốc gia và tổ chức.

 Hiểu biết hạn chế: AI hiện tại vẫn có hiểu biết hạn chế và không thể

đối phó hiệu quả với tất cả các tình huống và vấn đề phức tạp.

Trang 8

 Vấn đề đạo đức và luật pháp: AI đặt ra nhiều câu hỏi đạo đức và pháp

lý, chẳng hạn như về trách nhiệm và quyền của AI trong các quyết định quan trọng.

Những mặt tích cực và hạn chế này nên được xem xét kĩ lưỡng cẩn thận khi phát triển và triển khai các ứng dụng AI để đảm bảo rằng lợi ích của công nghệ này đượctận dụng một cách hợp lý nhằm bảo vệ quyền và an ninh của con người

1.2, Tổng quan về xử lý ảnh 1.2.1, Giới thiệu bài toán

Xử lý ảnh là đối tượng nghiên cứu của lĩnh vực thị giác máy tính về quá trình biến đổi một ảnh ban đầu sang một ảnh mới với đặc tính và tuân theo ý muốn của người sử dụng Xử lý ảnh có thể bao gồm quá trình phân tích, phân lớp các đối tượng, làmtăng chất lượng, phân đoạn và tách cạnh, gán nhãn cho vùng hay quá trình biên dịchcác thông tin hình ảnh của bức ảnh đó.

Cũng như xử lý dữ liệu bằng đồ họa, xử lý ảnh số là một lĩnh vực của tin học ứng dụng nhưng xử lý bằng đồ họa sẽ là những ảnh nhân tạo và được tạo bởi các chương trình Còn xử lý ảnh số thì sẽ bao gồm các phương pháp và kỹ thuật biến đổi để truyền tải hoặc mã hóa các ảnh tự nhiên Mục đích của xử lý ảnh gồm:

 Biến đổi ảnh làm tăng chất lượng ảnh.

 Tự động nhận dạng, đoán nhận, đánh giá các nội dung của ảnh.Các quá trình xử lý ảnh cơ bản:

Thu nhận ảnh(Scanner,Camera,Sensor)

Tiền xử lý Trích chọnđặc điểm

Hệ quyết định

ra kết luậnLưu trữ

Trang 9

1.2, Các công nghệ được sử dụng 1.2.1.Ngôn ngữ lập trình python

Python là một ngôn ngữ lập trình thông dịch và đa năng được tạo ra vào nhữngnăm 1990 bởi Guido van Rossum Là một ngôn ngữ lập trình mạnh mẽ và linhhoạt, có khả năng phục vụ nhiều mục tiêu và lĩnh vực khác nhau Nó đã trở thành một trong những công cụ quan trọng nhất trong lĩnh vực khoa học máy tính, phát triển web, xử lý dữ liệu, và trí tuệ nhân tạo

Python có một loạt các thư viện và frameworks mạnh mẽ giúp tạo ra các ứng dụng và dự án phức tạp như: NumPy, pandas, TensorFlow, Django, Flask …Python nổi tiếng với cú pháp đơn giản và dễ đọc, làm cho nó trở thành một trong những ngôn ngữ lập trình phổ biến nhất trên thế giới.

1.2.2 Những thư viện được sử dụng

1 Pygame : được sử dụng để phát triển trò chơi và ứng dụng cho phép tạo , vẽ , xử lí ảnh , tạo các animation và hiển thị chúng lên màn hình

2 Random : cung cấp các hàm để làm việc với số ngẫu nhiên và tạo các tình huống ngẫu nhiên trong python

3 Math : cung cấp các hàm toán học tiêu chuẩn trong python.4 Matplotlib.pyplot : được sử dụng tạo các biểu đồ và đồ thị dữ liệu.5 Sklearn.cluster.Kmeans : là 1 phần của scikit learn , tạo 1 thư viện machine

learning phổ biến và đc sử dụng cho việc phân cụm Kmeans.

6 Numpy : là 1 thứ viện đc sử dụng cho các phép toán số học trong python , thường được sử dụng xử lý mảng hoặc ma trận.

7 Tkinter : là thư viện tiêu chuẩn cho giao diện người dung đồ họa (Graphical User Interface-GUI ) trong python, và nó được sử dụng để tạo ứng dụng desktop với giao diện đồ họa

1.2.3, Thuật toán được sử dụng

Trang 10

K-means - là một thuật toán phân cụm đơn giản thuộc loại học không giám sát(tức là dữ liệu không có nhãn) và được sử dụng để giải quyết bài toán phân cụm Ý tưởng của thuật toán phân cụm k-means là phân chia 1 bộ dữ liệu thành các cụm khác nhau Trong đó số lượng cụm được cho trước là k Công việc phân cụm được xác lập dựa trên nguyên lý: Các điểm dữ liệu trong cùng 1 cụm thì phải có cùng 1 số tính chất nhất định Tức là giữa các điểm trong cùng 1 cụm phải có sự liên quan lẫn nhau Đối với máy tính thì các điểm trong 1 cụm đó sẽ là các điểm dữ liệu gần nhau.

 Mục tiêu cơ bản của thuật toán:

Nhóm các điểm dữ liệu tương tự lại với nhau và khám phá các cấu trúc (pattern) cơ bản:

 K-means tìm kiếm 1 số lượng cố định (k) các cụm trong 1 tập dữ liệu  Xác định k số Centroid (vị trí thực hoặc ảo đại diện cho trung tâm của 1 cụm)

và sau đó phân bổ mọi điểm dữ liệu vào các cụm gần nhất, mỗi cụm tương ứng với 1 điểm trung tâm Centroid

 "Means" trong K-means đề cập đến điểm trung bình của dữ liệu, hay nói cáchkhác là tìm ra điểm trung tâm.

1.2.3.Phần mềm Sublimetext.

Sublime Text 3 cung cấp chức năng năng soạn thảo và biên tập mã nguồn với

đảo những nhã phát triển web, lập trình viên sử dụng và yêu thích, gồm cả những

với đầy đủ ngôn ngữ lập trình phổ biến nhất hiện nay.Các tính năng chính của Sublime Text 3:

- Trình soạn thảo code chuyên nghiệp- Đánh dấu mã, văn xuôi

- Giao diện hiển thị rõ ràng- Kho plugin tuyệt vời

- Hỗ trợ nhiều ngôn ngữ lập trình

Trang 11

CHƯƠNG 2: THUẬT TOÁN K-MEANS VÀ ỨNG DỤNG TRONG XỬ LÝ ẢNH

2.1, Tổng quan về thuật toán.2.1.1, Thuật toán k-means là gì?

Thuật toán phân cụm k-means là một phương pháp được sử dụng trong phân tích tính chất cụm của dữ liệu Nó đặc biệt được sử dụng nhiều trong khai phá dữ liệu và thống kê Nó phân vùng dữ liệu thành k cụm khác nhau Giải thuật này giúp chúng ta xác định được dữ liệu của chúng ta nó thực sử thuộc về nhóm nào VD : Trong các mô hình kinh doanh, doanh nghiệp sẽ chia nhỏ tệp khách hàng ra thành những nhóm đối tượng khác nhau để có thể áp dụng những chiến lược kinh doanh cụ thể cho từng nhóm đối tượng Điều này giúp cho khách hàng được tiếp cận với các sản phẩm thật sự phù hợp với bản thân họ Sự phù hợp đó sẽ kéo doanh số của chúng ta tăng lên Vấn đề đặt ra là làm sao có thể chia nhỏ tệp khách hàng đóra khi mà số lượng hóa đơn là rất lớn và chúng ta không thể ngồi để phân tích từng vị khách.

Và mục tiêu của các thuật toán phân cụm là từ tập dữ liệu khổng lồ đó Làm sao chúng ta biết có những nhóm dữ liệu đặc trưng nào trong đó? Từng dữ liệu trong đóthuộc vào nhóm nào? Đó là cái mà thuật toán phân cụm của chúng ta cần đi tìm câu trả lời.

2.1.2, Ý tưởng của K-means

- Chuyền vào bộ dữ liệu cần phân cụm.

- Khởi tạo K điểm dữ liệu trong bộ dữ liệu, tạm thời coi nó là tâm của các

cụm dữ liệu

Trang 12

- Với mỗi điểm dữ liệu, tâm cụm của nó sẽ được xác định là 1 trong K tâm

cụm gần nó nhất

- Sau khi tất cả các điểm đã có tâm, tính toán lại vị trí của tâm ( Nhằm đảm

bảo tâm củacụm nằm ở chính giữa cụm)

- Lặp đi lặp lại B2 và B3 cho tới khi vị trí của tâm cụm ko đổi ( Tâm của tất

cả các điểm dữ liệu ko đổi)

2.1.3, Cách hoạt động của K-means.

1 Khởi tạo các điểm trung tâm ban đầu: Ban đầu, thuật toán K-Means yêu cầu bạn xác định số lượng clusters (k) bạn muốn tạo Sau đó, k điểm ngẫu nhiên từ tập dữ liệu được chọn làm các điểm trung tâm ban đầu của các clusters.

2 Gán các điểm dữ liệu vào clusters: Cho mỗi điểm dữ liệu trong tập dữ liệu, thuật toán tính khoảng cách từ điểm này đến tất cả các điểm trung tâm của clusters Nó sau đó gán điểm dữ liệu này vào cluster có điểm trung tâm gần nhất.

3 Cập nhật các điểm trung tâm: Sau khi tất cả các điểm dữ liệu đã được gán vào các clusters, thuật toán tính lại các điểm trung tâm của các clusters bằng cách lấy trung bình của tất cả các điểm dữ liệu trong mỗi cluster.

4 Lặp lại quá trình gán và cập nhật: Bước 2 và bước 3 được lặp lại cho đến khi một điều kiện dừng được thoả mãn Điều kiện dừng thường là sự thay đổi nhỏ hoặc không đổi của các điểm trung tâm hoặc số lần lặp đã đạt đến giới hạn tối đa.

5 Kết quả cuối cùng: Khi thuật toán kết thúc, bạn sẽ có k clusters, mỗi cluster chứa các điểm dữ liệu có sự tương đồng với nhau Các điểm trung tâm của các clusters cuối cùng đại diện cho các điểm "trung tâm" của từng nhóm.

2.1.4.Giải thích toán học

Ngày đăng: 19/07/2024, 16:30

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

TÀI LIỆU LIÊN QUAN

w