1. Trang chủ
  2. » Tất cả

Báo cáo handwritten digit recognition

13 3 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 13
Dung lượng 1,45 MB
File đính kèm code_COLAB.rar (322 B)

Nội dung

1. Mở đầu Trong thời đại 4.0 ngày nay, để có thể giải quyết các công việc mà con người không thể làm, máy móc là giải pháp cần thiết ngày nay. Bằng cách huấn luyện cho máy có thể học và hiểu được những gì con người mong muốn, tự giải quyết được các công việc mà con người không thể làm được hoặc tiết kiệm được thời gian, nhân lực tăng tốc độ phát triển xã hội. Bài toán nhận diện cũng được áp dụng rộng rải trên nhiều lĩnh vực hiện nay ví dụ như nhận diện biển số xe trong vấn đề bảo mật hay nhận diện các chữ số viết tay trong lĩnh vực thông tin. Để có thể tiếp cận đến bài toán nhận diện này nhóm chúng em đã lựa chọn đề tài nhận diện chữ số viết tay, với đề tài này chúng em có thể học được các bước cơ bản cho một bài toán nhận diện từ đó phát triển về sau.

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO  Máy học Handwritten Digit Recognition GVHD: TRẦN VŨ HOÀNG ĐH Sư Phạm Kỹ Thuật Hồ Chí Minh Mở đầu Trong thời đại 4.0 ngày nay, để giải công việc mà người làm, máy móc giải pháp cần thiết ngày Bằng cách huấn luyện cho máy học hiểu người mong muốn, tự giải công việc mà người làm tiết kiệm thời gian, nhân lực tăng tốc độ phát triển xã hội Bài toán nhận diện áp dụng rộng rải nhiều lĩnh vực ví dụ nhận diện biển số xe vấn đề bảo mật hay nhận diện chữ số viết tay lĩnh vực thơng tin Để tiếp cận đến tốn nhận diện nhóm chúng em lựa chọn đề tài nhận diện chữ số viết tay, với đề tài chúng em học bước cho toán nhận diện từ phát triển sau Cách tiếp cận toán Nhận dạng chữ viết tay thường bao gồm bốn giai đoạn: tiền xử lý (preprocessing), trích chọn đặc trưng(representation), huấn luyện nhận dạng (training and recognition), hậu xử lý (postprocessing) :  Tiền xử lý: giảm nhiễu cho lỗi trình quét ảnh, hoạt động viết người, chuẩn hóa liệu nén liệu.   Biểu diễn, rút trích đặc điểm: giai đoạn đóng vai trị quan trọng nhận dạng chữ viết tay Để tránh phức tạp chữ viết tay tăng cường độ xác, ta cần phải biểu diễn thông tin chữ viết dạng đặc biệt cô đọng hơn, rút trích đặc điểm riêng nhằm phân biệt ký tự khác nhau.  ĐH Sư Phạm Kỹ Thuật Hồ Chí Minh   Huấn luyện nhận dạng: phương pháp điển hình so trùng mẫu, dùng thống kê, mạng nơ-ron,trí tuệ nhân tạo hay dùng phương pháp kết hợp phương pháp trên.  Hậu xử lý: sử dụng thông tin ngữ cảnh để giúp tăng cường độ xác, dùng từ điển liệu Mạng nơ-ron tích chập CNN Trong phần này, chúng tơi trình bày tóm tắt CNN số lớp thơng dụng mạng dùng cho lĩnh vực xửlý ảnh 3.1 Tích chập Tích chập (convolution) sử dụng xử lý tín hiệu số(signal processing) Nhờ vào nguyên lý biến đổi thông tin, nhà khoa học áp dụng kĩ thuật vào xử lý ảnh video số Để dễ hình dung, xem tích chập cửa sổ trượt (sliding window) áp đặt lên ma trận Hình minh họa chế tích chập Hình 3.1: Minh họa tích chập Ma trận bên trái ảnh xám, giá trị ma trận tương đương với điểm ảnh (pixel) có giá trị biến thiên từ đến 255 Sliding window cịn có tên gọi kernel, filter hay feature detector Ở đây, ta dùng ma trận filter kích thước 3×3 nhân thành phần tương ứng với ma trận ảnh bên trái Giá trị đầu tích thành ĐH Sư Phạm Kỹ Thuật Hồ Chí Minh phần cộng lại Kết tích chập ma trận sinh từ việc trượt ma trận filter thực tích chập lúc lên tồn ma trận ảnh bên trái 3.2 Mơ hình mạng nơ-ron tích chập Mơ hình CNN đơn giản gồm vài layer convolution kết hợp với hàm kích hoạt phi tuyến ReLU hay để tạo thông tin mức trừu tượng cho layer Trong mơ hình mạng nơ-ron truyền thẳng (feedforward nơ-ron network), layer kết nối trực tiếp với thông qua trọng số w(weighted vector) Các layer gọi có kết nối đầy đủ(fully connected layer) hay affine layer Trong mơ hình CNN ngược lại Các layer liên kết với thông qua chế convolution Layer kết convolution từ layer trước đó, nhờ mà ta có 110 kết nối cục Nghĩa nơ-ron layer sinh từ filter áp đặt lên vùng ảnh cục nơ-ron layer trước Mỗi layer áp đặt filter khác nhau, thông thường có vài trăm đến vài nghìn filter Một sốlayer khác pooling/subsampling layer dùng để chắt lọc lại thơng tin hữu ích (loại bỏcác thơng tin nhiễu) Trong suốt trình huấn luyện, CNN tự động học thông số cho filter Ví dụ,trong nhiệm vụ phân lớp ảnh minh họa hình 2, CNN cố gắng tìm thông số tối ưu cho filter tương ứng theo thứ tự raw pixel > edges > shapes > facial > high-level features Layer cuối dùng để phân lớp ảnh Hình 3.2: Minh họa kiến trúc CNN dùng phân loại ảnh CNN có tính bất biến tính kết hợp cục bộ(Location Invariance and Compositionality) Với đối tượng, đối tượng chiếu theo góc độ khác (translation, rotation, scaling) độ xác thuật tốn bị ảnh hưởng đáng kể Pooling layer cho tính bất biến phép dịch chuyển (translation), phép quay ĐH Sư Phạm Kỹ Thuật Hồ Chí Minh (rotation) phép co giãn (scaling) Tính kết hợp cục cho ta cấp độ biểu diễn thông tin từ mức độ thấp đến mức độ cao trừu tượng thông qua convolution từcác filter Đó lý CNN cho mơ hình với độ xác cao Tiếp theo,chúng tơi trình bày chi tiết lớp mơ hình Convolutional Layer Layer nơi thể tư tưởng ban đầu CNN Thay kết nối toàn điểm ảnh, layer sử dụng tập lọc (filters) có kích thước nhỏ so với ảnh (thường 5×5 3×3) áp vào vùng ảnh tiến hành tính tích chập lọc giá trị điểm ảnh vùng cục Bộ lọc dịch chuyển theo giá trị bước trượt (stride) chạy dọc theo ảnh qt tồn ảnh Hình 3.3: Tính tích chập với lọc Như vậy, với ảnh 32×32 filter 3×3, ta có kết ảnh có kích thước 32×32 (với điều kiện thêm padding vào ảnh gốc để tính tích chập cho trường hợp filter quét biên cạnh) kết tích chập filter ảnh Với filter lớp ta có nhiêu ảnh tương ứng mà lớp trả truyền vào lớp Các trọng sốcủa filter ban đầu sẽđược khởi tạo ngẫu ĐH Sư Phạm Kỹ Thuật Hồ Chí Minh nhiên học dần trình huấn luyện mơ hình Hình minh họa phép tính convolution với lọc có kích thước 3×3 Rectified Linear Unit (ReLU) LayerLayer thường cài đặt sau layer Convolution Layer sử dụng hàm kích hoạt f(x) = max(0, x) Nói cách đơn giản, layer có nhiệm vụ chuyển tồn giá trị âm kết lấy từ lớp Convolution thành giá trị Ý nghĩa cách cài đặt tạo nên tính phi tuyến cho mơ hình Tương tự mạng truyền thẳng, việc xây dựng dựa phép biến đổi tuyến tính khiến việc xây dựng đa tầng đa lớp trở nên vơ nghĩa Có nhiều cách để khiến mơ hình trở nên phi tuyến sử dụng hàm kích hoạt sigmoid, tanh, hàm f(x) = max(0, x) dễ cài đặt, tính tốn nhanh mà hiệu Pooling Layer Layer sử dụng cửa sổ trượt quét qua toàn ảnh liệu, lần trượt theo bước trượt (stride) cho trước Khác với layer Convolution, layer Pooling khơng tính tích chập mà tiến hành lấy mẫu (subsampling) Khi cửa sổ trượt ảnh, có giá trị xem giá trị đại diện cho thông tin ảnh vùng (giá trị mẫu) giữ lại Các phương thức lấy phổ biến layer Pooling MaxPooling (lấy giá trị lớn nhất), MinPooling (lấy giá trị nhỏ nhất) AveragePooling (lấy giá trị trung bình) Xét ảnh có kích thước 32×32 layer Pooling sử dụng lọc có kích thước 2×2 với bước trượt stride 2, phương pháp sử dụng MaxPooling Bộ lọc trượt qua ảnh, với lần trượt chỉcó giá trị lớn giá trị nằm vùng cửa sổ2×2 lọc giữ lại đưa vào ma trạn đầu Như vậy, sau qua layer Pooling, ảnh giảm kích thước xuống cịn 16×16 (kích thước chiều giảm lần) ĐH Sư Phạm Kỹ Thuật Hồ Chí Minh Hình 3.4: Lớp Pooling Hình 3.5: Kết sau qua lớp Pooling Pooling Layer có vai trị giảm kích thước liệu Với ảnh kích thước lớn qua nhiều Pooling Layer thu nhỏ lại nhiên giữ đặc trưng cần cho việc nhận dạng (thơng qua cách lấy mẫu) Việc giảm kích thước liệu làm giảm lượng tham số, tăng hiệu tính tốn góp phần kiểm sốt tượng khớp (overfitting) Fully Connected (FC) Layer Layer tương tự với layer mạng nơ-ron truyền thẳng, giá trịảnh liên kết đầy đủ vào cácnơ-ron layer Sau ảnh xử lý rút trích đặc trưng từ layer trước đó, dữliệu ảnh sẽkhơng cịn q lớn so với mơ hình truyền thẳng nên ta sử dụng mơ hình truyền thẳng để tiến hành nhận dạng 3.3 Hoạt động mơ hình CNN Mơ hình CNN hình thành cách kết nối layer nêu lại với Mơ hình bắt đầu với Convolutional Layer ReLU Layer thường cài đặt sau Convolutional Layer chí kết hợp hai layer thành layer Các layer Convolutional hay Pooling tùy theo kiến trúc mà ta muốn xây dựng Cuối sẽlà Fully-Connected Layer để tiến hành phân lớp 3.4.Tập liệu ĐH Sư Phạm Kỹ Thuật Hồ Chí Minh Trong phần thực nghiệm, sử dụng tập liệu MNIST (Yann LeCun, Corinna Cortes Christopher, 1989) Đây tập liệu thường dùng để đánh giá hiệu mơ hình nhận dạng ký tự số viết tay Tập liệu MNIST có nguồn gốc từ tập NIST tổchức National Institute of Standards and Technology (NIST) cung cấp, sau LeCun cập nhật chia thành tập riêng biệt: Tập liệu huấn luyện gồm có 60.000 ảnh kích thước 28×28 chữsốviết tay dùng cho việc huấn luyện mơ hình học máy Tất ảnh tập liệu chỉnhvà biến đổi thành dữliệu dạng điểm gồm 60.000 phần tử (ký tự số) có 784 chiều giá trị mức xám điểm ảnh, 10 lớp (giá trịtừ đến 9).Tập liệu kiểm tra gồm có 10.000 ảnh chữ số viết tay dùng cho việc kiểm thử.Các ảnh tập liệu kiểm tra biến đổi chỉnh thành liệu điểm gồm 10.000 phần tử 784 chiều, 10 lớp (giá trị từ đến 9) Hình ví dụ số mẫu tập liệu Hình 3.6: Tập liệu MNIST ĐH Sư Phạm Kỹ Thuật Hồ Chí Minh Khảo sát đánh giá mơ hình Trong phần này, CNN áp dụng tập liệu MNIST để quan sát thay đổi độ xác chữ số viết tay Hình 4.1 : Kết đạt sau train mơ hình Nhận thấy độ xác cao lên đến 98.9 % với số lần epoch 40 numb_batch = 64 số hình epoch = 64 hình Để tạo đồ thị arccuracies nhóm sử dụng câu lệnh plt.plot(accuracies) : ĐH Sư Phạm Kỹ Thuật Hồ Chí Minh Và hình ảnh sau thực : Hình 4.2: Đồ thị accuracies Một số hình ảnh sau train mà máy không nhận : 10 ĐH Sư Phạm Kỹ Thuật Hồ Chí Minh Có thể thấy chữ số sai tệp MNIST có nhầm lẫn số lable chữ số khó nhận diện kể mắt thường phán đoán giống Kết đạt Sau đưa hình ảnh mạng đoạn code : path = " https://encrypted tbn0.gstatic.com/images? q=tbn:ANd9GcQatDUmvzsNn_E4SKfwCRKS3sKoZMttx9dkBg&usqp=CAU " 11 ĐH Sư Phạm Kỹ Thuật Hồ Chí Minh Đoạn code để train hình ảnh ta đưa vào : Kết đạt : Với độ xác máy tính dự đốn : 12 ĐH Sư Phạm Kỹ Thuật Hồ Chí Minh Kết luận hướng pháp triển  Hệ thống đạt số yêu cầu đề nhận dạng chữ số viết tay Tuy nhiên với mơ hình nhận diện chữ số đơn lẽ không phức tạp  Nhóm học q trình xử lý mơ hình máy học cách thức sử dụng, từ làm tảng để phát triển cho mơ hình  Phương hướng phát triển tìm cách sử dụng số mơ hình khác để nhận dạng biển số xe chuỗi kí tự nhiều 13 ... xử lý (preprocessing), trích chọn đặc trưng(representation), huấn luyện nhận dạng (training and recognition) , hậu xử lý (postprocessing) :  Tiền xử lý: giảm nhiễu cho lỗi trình quét ảnh, hoạt

Ngày đăng: 31/01/2023, 09:38

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

TÀI LIỆU LIÊN QUAN

w