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

Báo cáo thực tập nhận dạng chữ số viết tay

15 361 12

Đ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 15
Dung lượng 2,59 MB
File đính kèm NhanDangChuSoVietTay.rar (19 MB)

Nội dung

Nhằm thực hiện đồ án môn xử lý ảnh cho những bạn không có kiến thức nền tảng lập trình và các bạn đã có kiến thức về lập trình nhưng muốn tìm hiểu về máy học (Machine learning) để có thể phát triển thêm cho đồ án tốt nghiệp sau này để hiểu rõ thông tin file bạn vui lòng truy cập vào đường link https://www.youtube.com/watch?v=E-oL7tk6E7U&t=1s

Nhận dạng chữ số viết tay với sklearn opencv ngôn ngữ python * Nhằm thực đồ án mơn xử lý ảnh cho bạn khơng có kiến thức tảng lập trình bạn có kiến thức lập trình muốn tìm hiểu máy học (Machine learning) để phát triển thêm cho đồ án tốt nghiệp sau này.Chắc hẳn bạn nghe qua cụm từ máy học (Machine learning) từ bạn bè ,thầy cô hay người xung quanh thường hay nhắc tới ,liệu người nhắc tới họ hiểu rõ cụm từ Vậy phải ứng dụng máy học (Machine learning) vào đời sống : -Máy quét vân tay dùng để điểm danh trường học , doanh nghiệp -Thuật toán Uber tính giá cho chuyến cho khách hàng họ -Tính Facebook tự đơng gắn thẻ tên cho khn mặt bạn bè hình ảnh -Thuật toán dịch tự động google Translation Trong ngơn ngữ lập trình có lệnh if else để xử lý , gặp trường hợp thực cách , gặp trường hợp thực cách có 10 trường hợp liệt kê rõ ràng hết 10 trường hợp code ổn Nhưng ứng dụng cho toán nhận dạng chữ số viết tay liệu có ổn ? Mình thử tính xem có trường hợp cần xử lý Từ -> Là có 10 số tương ứng với 10 trường hợp Giả sử tạo app để nhận dạng chữ số viết tay cho người Việt Nam Mình tra khoảng 99.8 triệu người (2023) sinh sống ,cho 99 triệu người cho chẳn , người có kiểu ghi khác tương ứng với 99 triệu trường hợp.Vậy tổng cộng có 10x99 triệu = 990 triệu trường hợp Nếu mà dùng lệnh if else để xử lý tốn nhiều thời gian cơng sức để lấy mẫu viết code để xử lý cho mẫu ,thật khó khăn khơng , có thuật tốn Support Vector Machine (SVM) thuật tốn giám sát, sử dụng cho việc phân loại đệ quy.Bạn muốn biết cách hoạt động tra mạng để biết thêm , tài liệu nói điều cần có để thực thuật tốn nhé: * Đầu tiên ta cần có mẫu chữ số viết tay nhãn dán.Mình lấy sở liệu mnist (X_train,y_train),(X_test,y_test) = mnist.load_data() X_train : hình ảnh 28x28 kiểu ndarray dùng để training Y_train : nhãn dán kiểu unit8 dùng để training Y_train X_train Còn X_test,Y_test liệu giống với X_train,Y_train , nhằm để đưa vào thuật tốn để kiểm tra độ xác đưa phương án điểu chỉnh *Sau có mẫu chữ số viết tay ta tiến hành tính Hog cho mẫu X_train_feature = [] # biến lưu trữ giá trị hog for i in range(len(X_train)): feature = hog(X_train[i],orientations=9,pixels_per_cell=(14,14),cells_per_block=(1,1),block_norm="L2") X_train_feature.append(feature) # lần tính hog liệu đẩy vào biến X_train_feature = np.array(X_train_feature,dtype = np.float32) #sau tính xong biến ép kiểu float để phù hợp thuật tốn *Sau có giá trị hog mẫu ta tiến hành training thuật toán SVM model = LinearSVC(dual=True) # set giá trị thuật toán model.fit(X_train_feature,y_train) # training thuật tốn gồm có giá trị hog nhãn dán *Sau training thuật toán SVM xong ta tiến hành nhận dạng Đầu tiên ta cần hình ảnh cần nhận dạng vd : hình có kích thước 100x100 -Ta cần chuyển ảnh ảnh xám (ảnh nhị phân) để dễ dàng tính hog - Resize ảnh kích thước 28x28 với hình ảnh mẫu X_train cho dễ so sánh - Ta tiến hành tính hog cho ảnh để thu giá trị hog vd: hinh 1_hog - Ta tiến hành nhận dạng predict nbr = model.predict(np.array([hinh 1_hog], np.float32)) biến nbr trả số tương ứng với số hình Hiện có tạo nhận dạng chữ số viết tay với sklearn opencv ngôn ngữ python dựa thứ đề cập bạn xem app với Để tạo app bạn 30 phút, cần tải file làm theo hướng máy tính win áp dụng cho win , 10 B1 : Tải python version 3.8.3 vào web : Python.org Do phiên hợp với win B2 : Tải opencv 3.4.8 https://opencv.org B3 : Sau tải opencv 3.4.8 xong vào file opencv click vào build Click vào python Click vào cv2 Click vào python 2.7 , copy cv2.pyd Ban vào thư mục python38 Paste file cv2.pyd vào B4: Bạn click vào biểu tượng window gõ run, sau gõ cmd Sau gõ pip install opencv-python để cài opencv vào python Nếu bị Lỗi Thì gõ python -m pip install upgrade pip để nâng cấp pip sau tải lại pip install opencv-python Sau cài opencv vào python xong thư mục site-packages xuất file cv2 , bấm vào cv2 để copy cv2.pyd Paste vào file NhanDangChuSoVietTay Sau bạn nhấp vào cmd để tải thư viện khác pip install scikit-image pip install -U scikit-learn pip install upgrade tensorflow pip uninstall Pillow pip install Pillow==9.5.0 B5: Bạn load liệu cách start file loaddulieu.py Chờ Load liệu B6: Sau load xong start file textapp.py

Ngày đăng: 06/10/2023, 21:43

TỪ KHÓA LIÊN QUAN

w