Đồ án mạng nơ ron nhân tạo ngành kỹ thuật máy tính ứng dụng mạng neural nhận dạng kí tự

28 0 0
Đồ án mạng nơ ron nhân tạo ngành kỹ thuật máy tính ứng dụng mạng neural nhận dạng kí tự

Đ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

Mặc dùcông việc nghiên cứu học thuật vẫn tiếp tục, một phần công việc của OCR đãchuyển sang ứng dụng trong thực tế với các kỹ thuật đã được chứng minh.Nhận dạng ký tự dùng các kỹ thuật q

lOMoARcPSD|39474592 BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI - ĐỒ ÁN MẠNG NƠ-RON NHÂN TẠO Ngành Kỹ thuật máy tính TÊN ĐỒ ÁN ỨNG DỤNG MẠNG NEURAL NHẬN DẠNG KÍ TỰ Giảng viên: TS Nguyễn Thị Thu Học viên: Nhóm 3 MSV: 2021603229 MSV: 2021602306 1 Nguyễn Quang Dũng MSV: 2021602185 2 Nguyễn Hoàng Hiệp MSV: 2021602981 3 Phạm Ngọc Hiếu MSV: 2021600204 4 Nguyễn Văn Khải 5 Nguyễn Văn Khánh Hà Nội, năm 2023 Downloaded by nhim nhim (nhimbien3@gmail.com) lOMoARcPSD|39474592 DANH MỤC HÌNH ẢNH Hình 2.1 Kiến trúc mạng nơron Hình 2.2.a Mạng một lớp truyền thẳng Hình 2.2.b Mạng nơron hồi quy đơn giản nhất, chỉ có một nơron liên hệ phản hồi với chính nó Hình 2.2.c Mạng nơron một lớp hồi quy với chính nó và các nơron khác Hình 2.2.d Mạng nhiều lớp truyền thẳng Hình 2.2.e Mạng nơron nhiều lớp truyền thẳng hồi quy Hình 2.2.f Mạng nơron phản hồi với đầu ra của mỗi nơron được quay trở lại nối với đầu vào của các nơron cùng lớp được gọi là mạng Lateral Hình 2.5 Cửa sổ trượt (Sliding Windows) Downloaded by nhim nhim (nhimbien3@gmail.com) lOMoARcPSD|39474592 MỤC LỤC DANH MỤC HÌNH ẢNH .1 LỜI MỞ ĐẦU 1 CHƯƠNG 1: TỔNG QUAN VỀ NHẬN DIỆN KÍ TỰ 2 1.1 Hệ thống nhận diện kí tự 2 1.1.1 Phạm vi nghiên cứu 2 1.1.2 Các hệ thống xử lý ảnh 2 1.2 Ứng dụng và thách thức 5 1.2.1 Ứng dụng 5 1.2.2 Thách thức .6 1.3 Kết luận chương 6 CHƯƠNG 2: THIẾT KẾ MÔ HÌNH MẠNG NORON NHÂN TẠO 7 2.1 Mạng nơron nhân tạo 7 2.2 Mục tiêu, yêu cầu thiết kế 11 2.3 Xây dựng mô hình mạng 12 2.3.1 Khái niệm cơ bản về CNN .12 2.3.2 Cấu trúc của mạng CNN 13 2.3.3 Thiết kế mô hình mạng tích chập nhận diện kí tự 14 2.3.4 Các bước xây dựng bài toán bằng ngôn ngữ Python 18 2.5 Ưu nhược điểm của ứng dụng .21 2.6 Kết luận chương 21 CHƯƠNG 3: KẾT QUẢ .22 TÀI LIỆU THAM KHẢO .23 Downloaded by nhim nhim (nhimbien3@gmail.com) lOMoARcPSD|39474592 1 LỜI MỞ ĐẦU Máy tính ngày càng đóng vai trò quan trọng khoa học kỹ thuật cũng như trong đời sống Nó đã làm được những điều kỳ diệu, giải được những vấn đề tưởng chừng nan giải Liệu máy tính có khả năng suy nghĩ như con người hay chưa? Chúng ta sẽ không trả lời câu hỏi ấy Thay vào đó, chúng ta sẽ nêu ra những khác biệt chủ yếu giữa cách làm việc của máy tính và bộ óc con người Một máy tính, dù có mạnh đến đâu chăng nữa, đều phải làm việc theo một chương trình chính xác đã được hoạch định trước bởi các chuyên gia Bài toán càng phức tạp thì việc lập trình càng công phu Trong khi đó con người làm việc bằng cách học tập và rèn luyện, khi làm việc con người có khả năng liên tưởng, kết nối sự việc này với sự việc khác, và quan trọng hơn hết, họ có thể sáng tạo Do có khả năng liên tưởng, con người có thể dễ dàng làm nhiều điều mà việc lập trình cho máy tính đòi hỏi rất nhiều công sức Chẳng hạn như việc nhận dạng hay trò chơi ô chữ Một em bé có thể tự học hỏi để nhận dạng và phân loại đồ vật chung quanh mình, biết được cái gì là thức ăn, cái gì là đồ chơi Một người bình thường cũng có thể đoán được vài chữ trong một ô chữ Nhưng thật khó mà dạy cho máy tính làm được những việc ấy Từ lâu các nhà khoa học đã nhận thấy những ưu điểm của bộ óc con người và tìm cách bắt chước để thực hiện trên những máy tính, tạo cho nó có khả năng học tập, nhận dạng và phân loại.Lý thuyết tập thô đã ra đời từ những nỗ lực đó Nó thực sự được chú ý và nhanh chóng trở thành một hướng nghiên cứu đầy triển vọng trong mục đích xây dựng các máy thông minh tiến gần tới trí tuệ con người Đặc biệt là lĩnh vực nhận dạng Báo cáo của chúng em sẽ trình bày “Ứng dụng mạng neural trong nhận dạng kí tự” Nội dung báo cáo gồm những chương sau: 1: Tổng quan về nhận dạng kí tự 2: Xây dựng mạng neural nhận dạng kí tự 3: Chương trình thử nghiệm Downloaded by nhim nhim (nhimbien3@gmail.com) lOMoARcPSD|39474592 2 CHƯƠNG 1: TỔNG QUAN VỀ NHẬN DIỆN KÍ TỰ 1.1 Hệ thống nhận diện kí tự Nhận dạng ký tự là loại phần mềm máy tính được tạo ra để chuyển các hình ảnh của chữ viết tay hoặc chữ đánh máy (thường được quét bằng máy scanner) thành các văn bản tài liệu OCR được hình thành từ một lĩnh vực nghiên cứu về nhận dạng mẫu, trí tuệ nhận tạo và machine vision Mặc dù công việc nghiên cứu học thuật vẫn tiếp tục, một phần công việc của OCR đã chuyển sang ứng dụng trong thực tế với các kỹ thuật đã được chứng minh Nhận dạng ký tự (dùng các kỹ thuật quang học chẳng hạn như gương và ống kính) và nhận dạng ký tự số (sử dụng máy quét và các thuật toán máy tính) lúc đầu được xem xét như hai lĩnh vực khác nhau Bởi vì chỉ có rất ít các ứng dụng tồn tại với các kỹ thuật quang học thực sự, bởi vậy thuật ngữ Nhận dạng ký tự quang học được mở rộng và bao gồm luôn ý nghĩa nhận dạng ký tự số Đầu tiên hệ thống nhận dạng yêu cầu phải được huấn luyện với các mẫu của các ký tự cụ thể Các hệ thống "thông minh" với độ chính xác nhận dạng cao đối với hầu hết các phông chữ hiện nay đã trở nên phổ biến Một số hệ thống còn có khả năng tái tạo lại các định dạng của tài liệu gần giống với bản gốc bao gồm: hình ảnh, các cột, bảng biểu, các thành phần không phải là văn bản Hiện nay, với chữ Việt, phần mềm nhận dạng chữ Việt in VnDOCR 4.0 có khả năng nhận dạng trực tiếp các loại tài liệu được quét qua máy quét, không cần lưu trữ dưới dạng tệp ảnh trung gian Các trang tài liệu có thể được quét và lưu trữ dưới dạng tệp tin nhiều trang Kết quả nhận dạng được lưu trữ sang định dạng của Microsoft Word, Excel phục vụ rất tốt nhu cầu số hóa dữ liệu Downloaded by nhim nhim (nhimbien3@gmail.com) lOMoARcPSD|39474592 3 1.1.1 Phạm vi nghiên cứu hướng Đầu vào là ảnh chụp từ các thiết bị kỹ thuật số chứa các ký tự viết tay được viết trên giấy, có thể có nhiễu vạch, nhiễu đốm, tuy nhiên không chứa các vật thể phức tạp khác như cây cối, xe cộ, con người vì sẽ làm ảnh hưởng đến quá trình phát hiện ký tự Các ký tự viết tay có thể nhận diện được bao gồm 62 ký tự: 26 ký tự latinh viết hoa (A-Z), 26 ký tự latinh viết thường (a-z), 10 ký tự số (0-9) 1.1.2 Các hệ thống xử lý ảnh a Tiền xử lý Tiền xử lý là giai đoạn đầu tiên trong xử lý ảnh số Tuỳ thuộc vào quá trình xử lý tiếp theo trong giai đoạn này sẽ thực hiện các công đoạn khác nhau như: nâng cấp, chỉnh mức sang, khôi phục ảnh, nắn chỉnh hình học, khử nhiễu v.v… b Trích chọn đặc trưng Các đặc điểm của đối tượng được trích chọn tuỳ theo mục đích nhận dạng trong quá trình xử lý ảnh Có thể nêu ra một số đặc điểm của ảnh sau đây: Đặc điểm không gian: Phân bố mức xám, phân bố xác suất, biên độ, điểm uốn v.v Đặc điểm biến đổi: Các đặc điểm loại này được trích chọn bằng việc thực hiện lọc vùng (zonal filtering) Các bộ vùng được gọi là “mặt nạ đặc 10 điểm” (feature mask) thường là các khe hẹp với hình dạng khác nhau (chữ nhật, tam giác, cung tròn v.v ) Đặc điểm biên và đường biên: Đặc trưng cho đường biên của đối tượng và do vậy rất hữu ích trong việc trích trọn các thuộc tính bất biến được dùng khi nhận dạng đối tượng Các đặc điểm này có thể được trích chọn nhờ toán tử gradient, toán tử la bàn, toán tử Laplace, toán tử “chéo không” (zero crossing) v.v Downloaded by nhim nhim (nhimbien3@gmail.com) lOMoARcPSD|39474592 4 Việc trích chọn hiệu quả các đặc điểm giúp cho việc nhận dạng các đối tượng ảnh chính xác, với tốc độ tính toán cao và dung lượng nhớ lưu trữ giảm xuống c Nhận dạng Nhận dạng tự động (automatic recognition), mô tả đối tượng, phân loại và phân nhóm các mẫu là những vấn đề quan trọng trong thị giác máy, được ứng dụng trong nhiều ngành khoa học khác nhau Tuy nhiên, một câu hỏi đặt ra là: mẫu (pattern) là gì? Watanabe, một trong những người đi đầu trong lĩnh vực này đã định nghĩa: “Ngược lại với hỗn loạn (chaos), mẫu là một thực thể (entity), được xác định một cách ang áng (vaguely defined) và có thể gán cho nó một tên gọi nào đó” Ví dụ mẫu có thể là ảnh của vân tay, ảnh của một vật nào đó được chụp, một chữ viết, khuôn mặt người hoặc một ký đồ tín hiệu tiếng nói Khi biết một mẫu nào đó, để nhận dạng hoặc phân loại mẫu đó có thể: Hoặc phân loại có mẫu (supervised classification), chẳng hạn phân tích phân biệt (discriminant analyis), trong đó mẫu đầu vào được định danh như một thành phần của một lớp đã xác định Hoặc phân loại không có mẫu (unsupervised classification hay clustering) trong đó các mẫu được gán vào các lớp khác nhau dựa trên một tiêu chuẩn đồng dạng nào đó Các lớp này cho đến thời điểm phân loại vẫn chưa biết hay chưa được định danh Hệ thống nhận dạng tự động bao gồm ba khâu tương ứng với ba giai đoạn chủ yếu sau đây:  Thu nhận dữ liệu và tiền xử lý  Biểu diễn dữ liệu  Nhận dạng, ra quyết định Bốn cách tiếp cận khác nhau trong lý thuyết nhận dạng là:  Đối sánh mẫu dựa trên các đặc trưng được trích chọn  Phân loại thống kê Downloaded by nhim nhim (nhimbien3@gmail.com) lOMoARcPSD|39474592 5  Đối sánh cấu trúc  Phân loại dựa trên mạng nơ-ron nhân tạo Trong các ứng dụng rõ ràng là không thể chỉ dùng có một cách tiếp cận đơn lẻ để phân loại “tối ưu” do vậy cần sử dụng cùng một lúc nhiều phương pháp và cách tiếp cận khác nhau Do vậy, các phương thức phân loại tổ hợp hay được sử dụng khi nhận dạng và nay đã có những kết quả có triển vọng dựa trên thiết kế các hệ thống lai (hybrid system) bao gồm nhiều mô hình kết hợp Việc giải quyết bài toán nhận dạng trong những ứng dụng mới, nảy sinh trong cuộc sống không chỉ tạo ra những thách thức về thuật giải, mà còn đặt ra những yêu cầu về tốc độ tính toán Đặc điểm chung của tất cả những ứng dụng đó là những đặc điểm đặc trưng cần thiết thường là nhiều, không thể do chuyên gia đề xuất, mà phải được trích chọn dựa trên các thủ tục phân tích dữ liệu d Nén ảnh Nhằm giảm thiểu không gian lưu trữ Thường được tiến hành theo cả hai cách khuynh hướng là nén có bảo toàn và không bảo toàn thông tin Nén không bảo toàn thì thường có khả năng nén cao hơn nhưng khả năng phục hồi thì kém hơn Trên cơ sở hai khuynh hướng, có 4 cách tiếp cận cơ bản trong nén ảnh:  Nén ảnh thống kê: Kỹ thuật nén này dựa vào việc thống kê tần xuất xuất hiện của giá trị các điểm ảnh, trên cơ sở đó mà có chiến lược mã hóa thích hợp Một ví dụ điển hình cho kỹ thuật mã hóa này là *.TIF  Nén ảnh không gian: Kỹ thuật này dựa vào vị trí không gian của các điểm ảnh để tiến hành mã hóa Kỹ thuật lợi dụng sự giống nhau của các điểm ảnh trong các vùng gần nhau Ví dụ cho kỹ thuật này là mã nén *.PCX  Nén ảnh sử dụng phép biến đổi: Đây là kỹ thuật tiếp cận theo hướng nén không bảo toàn và do vậy, kỹ thuật thướng nến hiệu quả hơn *.JPG chính là tiếp cận theo kỹ thuật nén này Downloaded by nhim nhim (nhimbien3@gmail.com) lOMoARcPSD|39474592 6  Nén ảnh Fractal: Sử dụng tính chất Fractal của các đối tượng ảnh, thể hiện sự lặp lại của các chi tiết Kỹ thuật nén sẽ tính toán để chỉ cần lưu trữ phần gốc ảnh và quy luật sinh ra ảnh theo nguyên lý Fractal 1.2 Ứng dụng và thách thức 1.2.1 Ứng dụng a Trong Quá Trình Số Hóa Văn Bản: - Quá trình Chuyển Đổi: Nhận dạng ký tự chủ yếu được sử dụng để chuyển đổi hình ảnh chữ viết tay hoặc chữ in thành dạng văn bản có thể xử lý được trên máy tính - Ứng Dụng Thực Tế: Số hóa sách, bản ghi lịch sử, và tài liệu giấy để thuận tiện trong việc lưu trữ và tìm kiếm b Ứng Dụng Trong Công Nghệ Thông Tin: - Xử Lý Hình Ảnh: Nhận dạng ký tự làm cơ sở cho việc xử lý hình ảnh, giúp máy tính hiểu được nội dung của hình ảnh chứa ký tự - Nhận Diện Biển Số Xe: Ứng dụng trong việc nhận diện và ghi nhớ biển số xe trong các hệ thống giao thông c Ứng Dụng Trong Công Nghệ Nhận Diện Khuôn Mặt: - Thông Tin Bổ Sung: Nhận dạng ký tự có thể được tích hợp để cung cấp thông tin bổ sung về danh tính khi kết hợp với công nghệ nhận diện khuôn mặt - Ứng Dụng An Ninh: Sử dụng trong các hệ thống an ninh để nhận dạng và đối chiếu thông tin trên các bảng thông báo, hình ảnh giấy tờ, v.v d Ứng Dụng Trong Xử Lý Hình Ảnh: - Tìm Kiếm Hình Ảnh: Nhận dạng ký tự hỗ trợ trong việc tìm kiếm hình ảnh, xác định nội dung cụ thể trong ảnh - Chú Thích Hình Ảnh: Sử dụng để chú thích và đánh dấu các phần quan trọng trong hình ảnh e Ứng Dụng Trong Công Nghệ Tìm Kiếm Hình Ảnh: Downloaded by nhim nhim (nhimbien3@gmail.com) lOMoARcPSD|39474592 7 - Tìm Kiếm Dựa Trên Văn Bản: Nhận dạng ký tự giúp cải thiện khả năng tìm kiếm trong hình ảnh dựa trên nội dung văn bản - Quảng Cáo và Tiếp Thị: Sử dụng để nhận diện và phân tích nội dung văn bản trên hình ảnh quảng cáo f Tích Hợp Với Các Nền Tảng Khác: - Tích Hợp Với Công Nghệ AI: Nhận dạng ký tự thường được tích hợp với công nghệ trí tuệ nhân tạo để cải thiện khả năng tự động và chính xác - Tương Tác Với Ứng Dụng Văn Bản: Cung cấp khả năng tương tác với các ứng dụng văn bản như xử lý ngôn ngữ tự nhiên và dịch thuật tự động g Sự Phổ Biến Trong Công Nghiệp 4.0: Tự Động Hóa Công Việc: Nhận dạng ký tự đóng vai trò quan trọng trong Công Nghiệp 4.0, giúp tự động hóa các quy trình sản xuất và quản lý dữ liệu 1.2.2 Thách thức Vấn đề chính với OCR là nó không hoàn hảo Nếu bạn tưởng tượng đọc văn bản trên trang này qua máy ảnh và sau đó chuyển những hình ảnh đó thành từ ngữ, bạn sẽ hiểu tại sao OCR có thể có vấn đề Một số thách thức đối với OCR bao gồm:  Xử Lý Ảnh Phức Tạp: Hình ảnh chứa ký tự thường đối mặt với nhiễu, ánh sáng không đồng đều, và chi tiết phức tạp, gây ảnh hưởng đến khả năng nhận dạng  Đa Dạng Ngôn Ngữ và Ký Tự: Mỗi ngôn ngữ và kiểu ký tự đều có cấu trúc và đặc điểm riêng, làm tăng khó khăn trong việc phát triển mô hình chung có thể nhận diện nhiều ngôn ngữ  Biến Đổi và Góc Nhìn: Khi hình ảnh chứa ký tự được chụp từ nhiều góc độ và có biến đổi, khả năng nhận diện giảm  Khả Năng Nhận Diện Trong Điều Kiện Ánh Sáng Thấp: Đối mặt với thách thức khi nhận diện ký tự trong điều kiện ánh sáng kém Downloaded by nhim nhim (nhimbien3@gmail.com) lOMoARcPSD|39474592 11 Hình 2.4 Sơ đồ cấu trúc một số mạng neural Hình 2.4.a Mạng một lớp truyền thẳng Hình 2.4.b Mạng nơron hồi quy đơn giản nhất, chỉ có một nơron liên hệ phản hồi với chính nó Hình 2.4.c Mạng nơron một lớp hồi quy với chính nó và các nơron khác Hình 2.4.d Mạng nhiều lớp truyền thẳng Hình 2.4.e Mạng nơron nhiều lớp truyền thẳng hồi quy Hình 2.4.f Mạng nơron phản hồi với đầu ra của mỗi nơron được quay trở lại nối với đầu vào của các nơron cùng lớp được gọi là mạng Lateral - Mạng nơron một lớp và nhiều lớp được gọi là truyền thẳng (Feedforward Network) nếu đầu ra của mỗi nơron được nối với các đầu vào của các nơron cùng lớp đó hoặc đầu vào của các nơron của các lớp trước đó Trong mạng không tồn tại bất kỳ một mạch hồi tiếp nào kể cả hồi tiếp nội lẫn hồi tiếp từ đầu ra trở về đầu vào Downloaded by nhim nhim (nhimbien3@gmail.com) lOMoARcPSD|39474592 12 - Mạng nơron bao gồm một hay nhiều lớp trung gian gọi là mạng MLP (Multilayer perceptrons Networks) - Mạng nơron phản hồi có thể thực hiện đóng vòng được gọi là mạng nơron hồi quy (Recurrent Networks) * Các luật học của mạng neural nhân tạo Học là vấn đề rất quan trọng trong mạng nơron Có hai kiểu học chính là: - Học thông số (Paramater Learning): Tìm ra biểu thức cập nhật các thông số về trọng số kết nối giữa các nơron - Học cấu trúc (Structure Learning): Trọng tâm là sự biến đổi cấu trúc của mạng nơron gồm số lượng nút (node) và các trọng số liên kết Chúng ta tập trung vào phần học thông số Giả sử ma trận trọng số bao gồm tất cả các trọng số của mạng nơron Nhiệm vụ của việc học thông số là bằng cách nào đó, tìm được ma trận chính xác mong muốn từ ma trận giả thuyết ban đầu với cấu trúc của mạng nơron có sẵn Để làm được việc đó, mạng nơron sử dụng các trọng số điều chỉnh, với nhiều phương pháp học khác nhau có thể tính toán gần đúng ma trận W cần tìm đặc trưng cho mạng Có ba phương pháp học: - Học có giám sát: Là quá trình học có sự tham gia giám sát của một “thầy giáo” Cũng giống như việc ta dạy một em nhỏ các chữ cái Ta đưa ra một chữ “a” và bảo với em đó rằng đây là chữ “a” Việc này được thực hiện trên tất cả các mẫu chữ cái Sau đó khi kiểm tra ta sẽ đưa ra một chữ cái bất kì (có thể viết hơi khác đi) và hỏi em đó đây là chữ gì? Như vậy với học có giám sát, số lớp cần phân loại đã được biết trước Nhiệm vụ của thuật toán là phải xác định được một cách thức phân lớp sao cho với mỗi vector đầu vào sẽ được phân loại chính xác vào lớp của nó - Học không có giám sát: Là việc học không cần có bất kỳ một sự giám sát nào Trong bài toán học không giám sát, tập dữ liệu huấn luyện được cho dưới Downloaded by nhim nhim (nhimbien3@gmail.com) lOMoARcPSD|39474592 13 dạng: D = {(x 1 , x 2 , , x N )}, với (x 1 , x 2 , , x N ) là vector đặc trưng của mẫu huấn luyện Nhiệm vụ của thuật toán là phải phân chia tập dữ liệu D thành các nhóm con, mỗi nhóm chứa các vector đầu vào có đặc trưng giống nhau Như vậy với học không giám sát, số lớp phân loại chưa được biết trước, và tùy theo tiêu chuẩn đánh giá độ tương tự giữa các mẫu mà ta có thể có các lớp phân loại khác nhau - Học tăng cường: Đôi khi còn được gọi là học thưởng-phạt (rewardpenalty learning), là sự tổ hợp của cả hai mô hình trên Phương pháp này cụ thể như sau: với vector đầu vào, quan sát vector đầu ra do mạng tính được Nếu kết quả được xem là “tốt” thì mạng sẽ được thưởng theo nghĩa tăng các trọng số kết nối lên; ngược lại mạng sẽ bị phạt, các trọng số kết nối không thích hợp sẽ được giảm xuống Do đó học tăng cường là học theo nhà phê bình (critic), ngược với học có giám sát là học theo thầy giáo (teacher) 2.2 Mục tiêu, yêu cầu thiết kế * Mục tiêu: Đề tài tập chung nghiên cứu và có thể ứng dụng nhận diện kí tự vào thực tế như là nhận diện các chữ, bài viết giải, quyết các vấn đề do có sự khác biệt trong cách viết, độ nghiêng, kí tự viết tay của mỗi người Để đạt được mục tiêu trên đề tài tập chung vào các nhiệm vụ sau: + Nghiên cứu tổng quan về nhận diện kí tự + Nghiên cứu , xây dụng ứng dụng nhận diện kí tự + Khảo sát thực tế * Yêu cầu thiết kế: Để hệ thống hoạt động, cần thực hiện các giai đoạn :  Giai đoạn 1 Đầu tiên, thu thập và chuẩn bị dữ liệu hình ảnh chứa các kí tự cần nhận dạng và training cho hệ thống nhận diện  Giai đoạn 2 Lựa chọn ảnh đầu vào muốn nhận diện, chạy hệ thống  Giai đoạn 3 Hệ thống sẽ tiến hành nhận diện các kí tự Downloaded by nhim nhim (nhimbien3@gmail.com) lOMoARcPSD|39474592 14  Giai đoạn 4 Hệ thống nhận diện sẽ hiển thị kết quả nhận diện đúng kí tự đó là bao nhiêu phần trăm 2.3 Xây dựng mô hình mạng Mạng nơ-ron nhân tạo là một chuỗi những thuật toán được đưa ra để tìm kiếm các mối quan hệ cơ bản trong tập hợp các dữ liệu Thông qua việc bắt bước cách thức hoạt động từ não bộ con người Nói cách khác, mạng nơ ron nhân tạo được xem là hệ thống của các tế bào thần kinh nhân tạo Đây thường có thể là hữu cơ hoặc nhân tạo về bản chất Mạng nơ-ron có khả năng thích ứng được với mọi thay đổi từ đầu vào Do vậy, nó có thể đưa ra được mọi kết quả một cách tốt nhất có thể mà bạn không cần phải thiết kế lại những tiêu chí đầu ra Khái niệm này có nguồn gốc từ trí tuệ nhân tạo, đang nhanh chóng trở nên phổ biến hơn trong sự phát triển của những hệ thống giao dịch điện tử 2.3.1 Khái niệm cơ bản về CNN Convolutional Neural Network (CNNs – Mạng nơ-ron tích chập) là một trong những mô hình Deep Learning tiên tiến giúp cho chúng ta xây dựng được những hệ thống thông minh với độ chính xác cao như hiện nay như hệ thống xử lý ảnh lớn như Facebook, Google hay Amazon đã đưa vào sản phẩm của mình những chức năng thông minh như nhận diện khuôn mặt người dùng, phát triển xe hơi tự lái hay drone giao hàng tự động CNN được sử dụng nhiều trong các bài toán nhận dạng các object trong ảnh Để tìm hiểu tại sao thuật toán này được sử dụng rộng rãi cho việc nhận dạng (detection), chúng ta hãy cùng tìm hiểu về thuật toán này Convolutional là một cửa sổ trượt (Sliding Windows) trên một ma trận Downloaded by nhim nhim (nhimbien3@gmail.com) lOMoARcPSD|39474592 15 Hình 2.5 Cửa sổ trượt (Sliding Windows) Các convolutional layer có các parameter(kernel) đã được học để tự điều chỉnh lấy ra những thông tin chính xác nhất mà không cần chọn các feature Trong hình ảnh ví dụ trên, ma trận bên trái là một hình ảnh trắng đen được số hóa Ma trận có kích thước 5x5 và mỗi điểm ảnh có giá trị 1 hoặc 0 là giao điểm của dòng và cột Convolution hay tích chập là nhân từng phần tử trong ma trận 3 Sliding Window hay còn gọi là kernel, filter hoặc feature detect là một ma trận có kích thước nhỏ như trong ví dụ trên là 3x3 Convolution hay tích chập là nhân từng phần tử bên trong ma trận 3x3 với ma trận bên trái Kết quả được một ma trận gọi là Convoled feature được sinh ra từ việc nhận ma trận Filter với ma trận ảnh 5x5 bên trái 2.3.2 Cấu trúc của mạng CNN Mạng CNN là một tập hợp các lớp Convolution chồng lên nhau và sử dụng các hàm nonlinear activation như ReLU và tanh để kích hoạt các trọng số trong các node Mỗi một lớp sau khi thông qua các hàm kích hoạt sẽ tạo ra các thông tin trừu tượng hơn cho các lớp tiếp theo Mỗi một lớp sau khi thông qua các hàm kích hoạt sẽ tạo ra các thông tin trừu tượng hơn cho các lớp tiếp theo Trong mô hình mạng truyền ngược (feedforward neural network) thì mỗi neural đầu vào (input node) cho mỗi neural đầu ra trong các lớp tiếp theo Mô hình này gọi là mạng kết nối đầy đủ (fully connected layer) hay mạng toàn vẹn (affine layer) Còn trong mô hình CNNs thì ngược lại Các layer liên kết được với nhau thông qua cơ chế convolution Layer tiếp theo là kết quả convolution từ layer trước đó, nhờ vậy mà ta có được các kết nối cục bộ Như vậy mỗi neuron ở lớp kế tiếp sinh ra từ kết quả của filter áp đặt lên một vùng ảnh cục bộ của neuron trước đó Mỗi một lớp được sử dụng các filter khác nhau thông thường có hàng trăm hàng nghìn filter như vậy và kết hợp kết quả của chúng lại Ngoài ra có một số layer khác như pooling/subsampling layer dùng để chắt lọc lại các thông tin hữu ích hơn (loại bỏ các thông tin nhiễu) Trong quá trình huấn Downloaded by nhim nhim (nhimbien3@gmail.com) lOMoARcPSD|39474592 16 luyện mạng (traning) CNN tự động học các giá trị qua các lớp filter dựa vào cách thức mà bạn thực hiện Ví dụ trong tác vụ phân lớp ảnh, CNNs sẽ cố gắng tìm ra thông số tối ưu cho các filter tương ứng theo thứ tự raw pixel > edges > shapes > facial > high-level features Layer cuối cùng được dùng để phân lớp ảnh Trong mô hình CNN có 2 khía cạnh cần quan tâm là tính bất biến (Location Invariance) và tính kết hợp (Compositionality) Với cùng một đối tượng, nếu đối tượng này được chiếu theo các gốc độ khác nhau (translation, rotation, scaling) thì độ chính xác của thuật toán sẽ bị ảnh hưởng đáng kể Pooling layer sẽ cho bạn tính bất biến đối với phép dịch chuyển (translation), phép quay (rotation) và phép co giãn (scaling) Tính kết hợp cục bộ cho ta các cấp độ biểu diễn thông tin từ mức độ thấp đến mức độ cao và trừu tượng hơn thông qua convolution từ các filter Đó là lý do tại sao CNNs cho ra mô hình với độ chính xác rất cao Cũng giống như cách con người nhận biết các vật thể trong tự nhiên 2.3.3 Thiết kế mô hình mạng tích chập nhận diện kí tự Mạng CNN sử dụng 3 ý tưởng cơ bản: - Các trường tiếp nhận cục bộ (local receptive field) - Trọng số chia sẻ (shared weights) -Tổng hợp (pooling) *Trường tiếp nhận cục bộ (local receptive field) Downloaded by nhim nhim (nhimbien3@gmail.com) lOMoARcPSD|39474592 17 Đầu vào của mạng CNN là một ảnh Ví dụ như ảnh có kích thước 28x28 thì tương ứng đầu vào là một ma trận có 28x28 và giá trị mỗi điểm ảnh là một ô trong ma trận Trong mô hình mạng ANN truyền thống thì chúng ta sẽ kết nối các neuron đầu vào vào tầng ảnh Tuy nhiên trong CNN chúng ta không làm như vậy mà chúng ta chỉ kết nối trong một vùng nhỏ của các neuron đầu vào như một filter có kích thước 5x5 tương ứng (28- 5 + 1) 24 điểm ảnh đầu vào Mỗi một kết nối sẽ học một trọng số và mỗi neuron ẩn sẽ học một bias Mỗi một vùng 5x5 đấy gọi là một trường tiếp nhận cục bộ Một cách tổng quan, ta có thể tóm tắt các bước tạo ra 1 hidden layer bằng các cách sau: - Tạo ra neuron ẩn đầu tiên trong lớp ẩn 1 - Dịch filter qua bên phải một cột sẽ tạo được neuron ẩn thứ 2 Downloaded by nhim nhim (nhimbien3@gmail.com)

Ngày đăng: 27/03/2024, 15:59

Tài liệu cùng người dùng

Tài liệu liên quan