1. Trang chủ
  2. » Công Nghệ Thông Tin

báo cáo môn trí tuê nhân tạo giải bài toán nhận diện chữ viêt tay bằng mạng noron nhân tao, sử dụng ngôn ngữ java

21 1,8K 0

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

Nội dung

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG  BÀI TẬP LỚN TRÍ TUỆ NHÂN TẠO Đề tài: Nhận diện chữ viết tay bằng mạng noron nhân tạo Giảng viên hướng dẫn : TS. Phạm Văn Hải Nhóm sinh viên thực hiện : Nhóm 3 Nguyễn Xuân Tùng 20102495 Nguyễn Thị Kim Chi 20101157 Mai Thị Gấm 20090843 Phạm Thị Sen 20102077 Tống Thị Đông 20104037 Trần Văn Nhuận 20072164 Hà Nôi, Tháng 8 năm 2013 Giáo viên hướng dẫn: TS.Phạm Văn Hải Mục Lục 2 Giáo viên hướng dẫn: TS.Phạm Văn Hải LỜI CẢM ƠN “Trí tuệ nhân tạo” là khoa học nghiên cứu các hành vi thông minh nhằm giải quyết các vấn đề được đặt ra đối với các chương trình máy tính. Đây là môn học mới lạ với chúng tôi nhưng rất quan trọng với những sinh viên công nghệ thông tin, giúp cung cấp những kiến thức cần thiết về trí thông minh của các hệ thống máy tính. Và để có được những kiến thức đó, chúng tôi xin gửi lời cảm ơn chân thành đến thầy Phạm Văn Hải – Giảng viên Viện Công nghệ thông tin và truyền thông, Đại học Bách Khoa Hà Nội đã tận tình chỉ dạy, đưa chúng tôi đến gần hơn với một lĩnh vực hoàn toàn mới, giúp chúng tôi có thêm những kiến thức nền tảng để có thể phát triển tiếp trong tương lai và hoàn thành bài tập này. 3 Giáo viên hướng dẫn: TS.Phạm Văn Hải LỜI NÓI ĐẦU Bài toán nhận dạng tuy ra đời từ thập nhiên 60 của thế kỷ trước nhưng vẫn nhận được sự quan tâm, nghiên cứu của nhiều nhà khoa học trên thế giới. Đặc biệt là trong những năm gần đây, cùng với quá trình đẩy mạnh tin học hóa trong mọi lĩnh vự đời sống xã hội, nhận dạng không chỉ còn là lĩnh vực nghiên cứu lý thuyết nữa mà đã được ứng dụng rộng rãi trong thực tế cuộc sống. Các bài toán nhận dạng được nghiên cứu nhiều nhất hiện nay bao gồm nhận dạng các mẫu hình học (vân tay, mặt người, hình khối,…), nhận dạng tiếng nói và nhận dạng chữ viết. Chúng được áp dụng vòa nhiều lĩnh vực như y học, an ninh, dự báo thời tiết, dự báo cháy rừng,….Trong các bài toán nhận dạng này, nhận dạng chữ viết là bài toán đang được ứng dụng phổ biến nhất hiện nay. Nhận dạng chữ viết bao gồm hai kiểu chính là nhận dạng chữ in và nhận dạng chữ viết tay. Vấn đề đặt ra là mỗi nguời đều có một kiểu chữ viết tay khác nhau: về cỡ chữ, kiểu chữ, độ thanh, đầm của mỗi chữ nên viêc nhận diện chữ viết sao cho máy tính có thể hiểu độ chính xác cao là khá phức tạp và yêu cầu tốn thời gian.Nó cũng là thách thức đối với các nhà nghiên cứu, bài toán này vẫn chưa đuợc giải quyết trọn vẹn vì nó còn phụ thuộc quá nhiều vào nguời viết và sự biến đổi quá đa dạng trong cách viết và trạng thái tinh thần của người viết. Trong khuôn khổ bài tập lớn của nhóm, chúng tôi xin đuợc trình bày phuơng pháp nhận diện chữ cái viết tay sử dụng mạng nơron nhân tạo. 4 Giáo viên hướng dẫn: TS.Phạm Văn Hải CHƯƠNG I: TỔNG QUAN VỀ MẠNG NORON 1. Noron sinh học Quá quá trình nghiên cứu về bộ não, người ta thấy rằng: bộ não con người bao gồm khoảng 10 11 nơron tham gia vào khoảng 10 15 kết nối trên các đường truyền. Mỗi đường truyền này dài khoảng hơn một mét. Các nơron có nhiều đặc điểm chung với các tế bào khác trong cơ thể, ngoài ra chúng còn có những khả năng mà các tế bào khác không có được, đó là khả năng nhận, xử lý và truyền các tín hiệu điện hóa trên các đường mòn nơron, các con đường này tạo nên hệ thống giao tiếp của bộ não Hình 1: Cấu trúc của một nơron sinh học điển hình Mỗi nơron sinh học có 3 thành phần cơ bản: • Các nhánh vào hình cây ( dendrites) • Thân tế bào (cell body) • Sợi trục ra (axon) Các nhánh hình cây truyền tín hiệu vào đến thân tế bào. Thân tế bào tổng hợp và xử lý cho tín hiệu đi ra. Sợi trục truyền tín hiệu ra từ thân tế bào này sang nơron khác. Điểm liên kết giữa sợi trục của nơron này với nhánh hình cây của nơron khác gọi là synapse. Liên kết giữa các nơron và độ nhạy của mỗi synapse được xác định bởi quá trình hóa học phức tạp. Một số cấu trúc của nơron được xác định trước lúc sinh ra. Một số cấu trúc được phát triển thông qua quá trình học. Trong cuộc đời cá thể, một số liên kết mới được hình thành, một số khác bị hủy bỏ. 5 X1 X2 Xn f(x) Bias Result Wi1 Win Giáo viên hướng dẫn: TS.Phạm Văn Hải Như vậy nơron sinh học hoạt động theo cách thức sau: nhận tín hiệu đầu vào, xử lý các tín hiệu này và cho ra một tín hiệu output. Tín hiệu output này sau đó được truyền đi làm tín hiệu đầu vào cho các nơron khác. Dựa trên những hiểu biết về nơron sinh học, con người xây dựng nơron nhân tạo với hy vọng tạo nên một mô hình có sức mạnh như bộ não. 2. Noron nhân tạo Một nơron là một đơn vị xử lý thông tin và là thành phần cơ bản của một mạng nơron, được mô tả như hình dưới đây: Các thành phần cở bản của một noron nhân tạo là:  Tập đầu vào: là tín hiệu vào của các noron (input signals) của noron, các tín hiệu này thường được đưa vào dưới dạng một vecto n chiều.  Tập các liên kết : Mỗi liên kết được biểu diễn bởi các trọng số (gọi là trong số liên kết – Synaptic weight), trọn số liên kết thứ j liên kết với noron thứ i được kí hiệu là w ij . Thông thường được khởi tạo ngẫu nhiên và được cập nhập lại trong quá trình huấn luyện.  Bộ tổng (Summing function): thường được dùng để tính tổng tích trọng số với đầu vào của nó.  Ngưỡng (bias): thường được đưa vào trong thành phần huấn luyện.  Hàm truyền (Transfer function) : hàm này được đưa ra để giới hạn đầu ra của mỗi noron. Thông thường phạm vi đầu ra của mỗi noron được giới hạn trong đoạn [0 , 1] hoặc [-1, 1]. Có các loại hàm truyền như trong bảng sau: Hàm truyền Đồ thị 6 Giáo viên hướng dẫn: TS.Phạm Văn Hải Symmetrical Hard Limit (hardlims) Linear (purelin) Saturating Linear (satlin) Log-Sigmoid (logsig)  Đầu ra: là tín hiệu ra của một noron, mỗi noron có duy nhất một đầu ra Xét về mặt toán học, thì một noron được biểu diễn bởi công thức: Trong đó, w ij là trọn số liên kết của noron thứ i tới đầu vào j, còn x j là giá trị đầu vào thứ j, bias là ngưỡng của noron, f() là hàm truyền, a là đầu ra của noron. 3. Mạng noron nhân tạo Mạng noron nhân tạo, Artificial Neural Network(ANN) là một mô hình xử lý thông tin phỏng theo cách thức xử lý thông tin của các hệ noron sinh học. Nó được tạo lên từ một số lượng các phần tử noron, kết nối với nhau thông qua trọng số liên kết , làm việc như một thể thống nhất để giải quyết một vấn đề cụ thể nào đó. Một mạng noron nhân tạo được cấu hình cho một ứng dụng cụ thể(nhận dạng mẫu, phân loại dữ liệu, …) thông qua một quá trình học từ tập các mẫu huấn 7 Giáo viên hướng dẫn: TS.Phạm Văn Hải luyện, về bản chất của quá trình học là quá trình hiệu chỉnh ngưỡng và các trọng số liên kết. 8 Giáo viên hướng dẫn: TS.Phạm Văn Hải CHƯƠNG II: GIỚI THIỆU BÀI TOÁN NHẬN DẠNG CHỮ CÁI BẰNG MẠNG NORON NHÂN TẠO 1. Các phương pháp nhận dạng chữ cái. Để nhận dạng chữ cái, nhiều giải pháp khác nhau đã được đưa ra, chúng tôi xin được đưa ra một vài phương pháp thông dụng hiện nay: 1.1. Đối sánh mẫu : Đây là kỹ thuật nhận dạng chữ cái đơn giản nhất dựa trên cơ sở đối sánh các nguyên mẫu với nhau để nhận dạng kí tự hoặc từ. Gồm: - Đối sánh trực tiếp: với kí tự đầu vào là ảnh đa cấp xám hoặc ảnh nhị phân đuợc so sánh trực tiếp với một tập mẫu chuẩn đã được lưu trữ. - Các mẫu biến dạng và đối sánh mềm: Sử dụng các mẫu biến dạng trong đó một phép biến dạng ảnh đuợc dùng để đối sánh là ảnh chưa biết với một cơ sở dữ liệu ảnh đã biết. - Đối sánh giản nhẹ : kỹ thuật này sử dụng hình dáng đặc trưng cơ bản của ảnh kí tự, các vùng đối sánh đã đuợc nhận biết. Sau đó trên cơ sở một số vùng đối sánh đuợc đánh giá tốt, các phần tử của ảnh được so sánh với các vùng đối sánh này. Các kỹ thuật của đối sánh mẫu chỉ áp dụng tốt đối với nhận dạng chữ in, còn đối với chữ viết tay thì các kỹ thuật này tỏ ra kém hiệu quả. 1.2. Phuơng pháp tiếp cận cấu trúc. - Cách tiếp cận phuơng pháp này dựa vào việc mô tả đối tượng nhờ một số khái niệm biểu diễn đối tượng cơ sở trong ngôn ngữ tự nhiên. Để mô tả đối tuợng nguời ta dung một số dạng nguyên thủy như đoạn thẳng, cung… Mỗi đối tuợng được mô tả như một sự kết hợp các dạng nguyên thủy. - Hiện nay, nhận dạng theo cấu trúc phổ biến là trích trọn các đặc trưng của mẫu học, phân hoạch bảng kí tự dựa trên các đặc trưng này, sau đó ảnh cần nhận dạng sẽ đuợc trích chọn đặc trưng, sau đó so sánh trên bảng phân hoạch để tìm ra kí tự có các đặc trưng phù hợp. - Đối với nhận dạng chữ viết tay rời rạc dựa theo cấu trúc xương và đuờng biên, công việc này đòi hỏi phải xây dựng các đặc trưng của chữ, đặc biệt là đăc trưng về các điểm uốn, điểm gấp khúc và các đặc trưng của các nét.Sau khi tiền xử lý, tách nét đuợc tiến hành thông qua các điểm. Sau đó trích chọn đặc trưng cấu trúc xương của chữ, mỗi nét đặc trưng bởi cặp chỉ số đầu và cuối tuơng ứng với các thực tự của điểm chạc đầu và điểm cuối. Cuối cùng là xây dựng cây tìm kiếm, dựa vào đặc trưng về cấu trúc xuơng và cấu trúc biên để 9 Giáo viên hướng dẫn: TS.Phạm Văn Hải phân tập mẫu học thành các lớp. Qúa trình phân lớp được tiến hành theo 2 bước : Xác định lớp tương ứng với mẫu và tìm kiếm trong lớp đó mẫu nào gần giống với mẫu vào nhất. 1.3. Mạng nơron. - Một mạng nơ ron được định nghĩa như một cấu trúc tính toán bao gốm nhiệu bộ xử lý “ nơron” được kết nối song song chằng chịt với nhau. Do bản chất song song của các noron nên nó có thể thực hiện các tính toán tốc độ cao hơn so với các kỹ thuật phân lớp khác. Một mạng nơron chứa nhiều nút, đầu ra của một nút đuợc sử dụng cho một nút khác ở trong mạng và hàm quyết định cuối cùng phụ thuộc vào sự tuơng tác phức tạp giữa các nút. Mặc dù nguyên lý khác nhau nhưng hầu hết các kiến trúc mạng nơron đều tương đương với các phương pháp nhận diện dạng mẫu thống kê. - Các kiến trúc mạng nơron có thể được phân thành 2 nhóm chính là: Mạng truyền thẳng và mạng lan truyền nguợc.Trong các hệ thống nhận dạng chữ, các mạng nơron sử dụng phổ biến nhất là mạng perceptron đa lớp thuộc nhóm mạng truyền thẳng và mạng SOM của Kohonen thuộc nhóm mạng lan truyền ngược. - Mạng perceptron đa lớp đuợc đề xuất bởi Rosenblatt đuợc nhiều tác giả sử dụng trong các hệ nhận dạng chữ viết tay. Hầu hết các nghiên cứu phát triển nhận dạng chữ viết tay hiện nay đều tập trung vào mạng SOM .SOM kết hợp trích chọn đặc trưng và nhận dạng trên một tập lớp các ký tự huấn luyện. Mạng này chứng tỏ rằng nó tuơng đuơng với thuật tóan phân cụm k- mean. - Với thật toán đơn giản nhưng hiệu quả, cùng với thành công của mô hình này trong các ứng dụng thực tiễn, mạng nơron hiện đang là một trong các huớng nghiên cứu của lĩnh vực học máy. Mạng nơ ron tỏ ra phù hợp với các bài tóan đối sánh, phân loại mẫu, xấp xỉ hàm, tối ưu hóa, luợng tử hóa véc tơ và phân hoach không gian dữ liệu, trong khi các phương pháp truyền thống không đủ khả năng giải quyết các vấn đề nêu trên một cách hiệu quả. Đăc biệt trong các hệ thống nhận dạng sử dụng mạng nơron đã đạt đuợc tỉ lệ nhận dạng khá chính xác, có thể so sánh với các phương pháp nhận dạng cấu trúc, thống kê…. Trong bài tập lớn của mình chúng tôi áp dụng phương pháp mạng noron nhân tạp để giải quyết bài tóan nhận dạng chữ của mình. 10 [...]...Giáo viên hướng dẫn: TS.Phạm Văn Hải 2 Giải quyết bài toán nhận diện chữ cái Bài toán nhận dạng chữ cái bằng mạng noron nhân tạo, áp dụng giải thuật lan truyền ngược Để phân loại một bức ảnh gồm các bước sau: Tiền xử lý Mẫu Đưa ra kết quả Áp dụng giải thuật lan truyền ngược Trích chọn đặc trưng Phân lớp • Mẫu : là chữ cái dung để nhận diện • Tiền xử lý: chuyển đổi tài liệu trong kho dữ... - Thời gian học của mạng noron là 3h - Tỉ lệ chính xác sau khi test là 29,74% 19 Giáo viên hướng dẫn: TS.Phạm Văn Hải TỔNG KẾT Nhận dạng chữ cái bằng phương pháp dùng mạng noron nhân tạo là một hướng có rất nhiều ưu điểm Báo cáo này đã đạt được một số kết quả chính sau đây: - Hệ thống hóa một số vấn đề lý thuyết về nhận dạng chữ cái, đề xuất hướng tiếp cận trong vấn đề nhận dạng chữ cái Trình bày các... Oh)ΣOkwkhvớik∈Downstream(j), áp dụng trong bài toán thì k =1; 2.4 Cập nhập lại trong số cũng như ngưỡng của bài toán Δwji = lErrjxji Wji= Wji+Δwji Δbj = lErrj bj = bj+Δbj 18 Giáo viên hướng dẫn: TS.Phạm Văn Hải CHƯƠNG IV: CÀI ĐẶT BÀI TOÁN 1 Mô hình lớp của thuật toán 2 Thông số bài toán: - Số lượng đặc trưng ảnh: 256 đặc trưng - Số lượng noron của tầng đầu ra: 8 - Ngưỡng đánh giá kết quả là 0.5 - Số noron lớp ẩn : 100 noron. .. NxN vùng Tổng số điểm đen của mỗi vùng sẽ được chọn để tạo thành các vectơ đặc trưng Trong thực nghiệm, với ảnh kích thước 16x16, chọn N= 8 , như vậy có 8x8 = 64 đặc trưng 14 Giáo viên hướng dẫn: TS.Phạm Văn Hải CHƯƠNG III: XÂY DỰNG VÀ HUẤN LUYỆN MẠNG NORON NHÂN TẠO ĐỂ GIẢI QUYẾT BÀI TOÁN 1 Xây dựng mô hình huấn luyện - Mô hình của mạng nơ ron nhân tạo - Mỗi mẫu dữ liệu được chuẩn bị dưới dạng một cặp... THAM KHẢO 1 Slide Trí tuệ nhân tạo phần học máy – Thầy Nguyễn Nhật Quang 2 ứng dụng mô hình mạng nơron trong nhận dạng chữ viết tay rời rạc hạn chế trực tuyến trên tablet pc – Ngô Xuân Bách 3 Luận văn nghiên cứu và cài đặt một số giải thuật phân cụm phân lớp – Vũ Lan Phương 4 Mạng noron nhân tạo ANN và giới thiệu một số ứng dụng trong quản lý dự án đầu tư xây dựng – Phan Văn Quang, Lưu Trọng Văn, Lê... bản của mạng noron nhân tạo Xây dựng được một hệ thống nhận dạng chữ cái theo hướng đã đề xuất và thu được một số kết quả rất khả quan Với những kết quả đã thu được, chúng tôi sẽ tiếp tục nghiên cứu và phát triển để nâng cao hiệu suất của hệ thống đồng thời giảm thời gian thực hiện để hoàn thiện hệ thống đã đưa ra 20 Giáo viên hướng dẫn: TS.Phạm Văn Hải TÀI LIỆU THAM KHẢO 1 Slide Trí tuệ nhân tạo phần... được tiến hành như sau: huấn luyện mạng với tập dữ liệu huấn luyện, kiểm tra mô hình thu được trên tập dữ liệu kiểm tra Chừng nào sai số trên tập kiểm tra còn giảm xuống thì tập kiểm tra không giảm nữa(có thể tăng lên)thì dừng lại 2 Quá trình nhận dạng Sau quá trình huấn luyện, mạng nơron có thể được sử dụng cho quá trình nhận dạng chữ cái viết tay trực tuyến Với mỗi mẫu chữ đầu vào(được biểu diễn dưới... điểm của chữ, và cố định trong một bài toán nhận dạng cụ thể Target = {a1, ,an}, ai = 1 nếu mẫu thuộc lớp thứ i, và ạ=0 với mọi ij (N là số lớp chữ cái cần nhận dạng) Ta có mô hình: Trong đó: • Data: là tập dữ liệu ban đầu 15 Giáo viên hướng dẫn: TS.Phạm Văn Hải • • • • Training Set: là tập dữ liệu huấn luyện Test Set: là tập dữ liệu kiểm tra ANN: là mạng nơron cần huấn luyện Model: là mô hình tạo ra... phần liên thông của ký tự thành hai ký tự riêng biệt , tạo nên sai lầm trong quá trình nhận dạng Làm mảnh chữ Đây là một bước quan trọng nhằm phát hiện khung xương của ký tự bằng cách loại bộ dần các điểm bên ngoài của các nét Tuy nhiên, quá trình làm mảnh chữ rất nhạy cảm với việc khử nhiễu Hiện nay có nhiều phương pháp làm mảnh chữ Hình ban đầu Trích chọn đặc trưng Sau khi tiền xử lý 13 Giáo viên hướng... thứ j • Downstream(j): Tập tất cả các nút nhận đầu ra của nút thứ j làm một giá trị đầu vào • l: tốc độ học • hàm truyền : out = Thuật toán được mô tả như sau: Input: - - Mạng feedforward với ni đầu vào, nh nút ẩn và no đầu ra Trong bài toán, chúng tôi xây dựng với 1 lớp ẩn, với 100 nút ẩn và 8 nút đầu ra Mỗi đầu ra tương ứng với 1 bit để biểu diễn chữ cái cần nhận dạng Hệ số học l, ( l = 0.3) Tập dữ . Hải 2. Giải quyết bài toán nhận diện chữ cái. Bài toán nhận dạng chữ cái bằng mạng noron nhân tạo, áp dụng giải thuật lan truyền ngược. Để phân loại một bức ảnh gồm các bước sau: • Mẫu : là chữ. TS.Phạm Văn Hải CHƯƠNG II: GIỚI THIỆU BÀI TOÁN NHẬN DẠNG CHỮ CÁI BẰNG MẠNG NORON NHÂN TẠO 1. Các phương pháp nhận dạng chữ cái. Để nhận dạng chữ cái, nhiều giải pháp khác nhau đã được đưa ra,. HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG  BÀI TẬP LỚN TRÍ TUỆ NHÂN TẠO Đề tài: Nhận diện chữ viết tay bằng mạng noron nhân tạo Giảng viên hướng dẫn : TS. Phạm Văn Hải Nhóm sinh viên

Ngày đăng: 23/10/2014, 23: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