intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Nhận dạng số viết tay sử dụng thuộc tính HOG kết hợp với support vector machine

Chia sẻ: ViDeshiki2711 ViDeshiki2711 | Ngày: | Loại File: PDF | Số trang:13

130
lượt xem
11
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mục tiêu của bài viết là nghiên cứu về thuộc tính trích chọn đặc trưng HOG và thuật toán học máy SVM, đồng thời sử dụng SVM với thuộc tính HOG trong nhận dạng chữ số viết tay cho bài toán nhận dạng số báo danh tự động.

Chủ đề:
Lưu

Nội dung Text: Nhận dạng số viết tay sử dụng thuộc tính HOG kết hợp với support vector machine

NHẬN DẠNG SỐ VIẾT TAY SỬ DỤNG<br /> THUỘC TÍNH HOG KẾT HỢP VỚI<br /> SUPPORT VECTOR MACHINE<br /> MCS HOG FEATURES AND SUPPORT VECTOR MACHINE<br /> BASED HANDWRITTEN DIGIT RECOGINITION SYSTEM<br /> <br /> <br /> Đỗ Thị Thanh Nga<br /> Trường Đại học Công nghệ và Quản lý Hữu Nghị<br /> Email: thanhngait94@gmail.com<br /> <br /> Nguyễn Vân Anh<br /> Trường Đại học Kinh Doanh và Công Nghệ Hà Nội<br /> Email: vnvananhcomputer@gmail.com<br /> <br /> <br /> <br /> Ngày tòa soạn nhận được bài báo: 28/11/2018<br /> Ngày phản biện đánh giá: 18/12/2018<br /> Ngày bài báo được duyệt đăng: 28/12/2018<br /> <br /> <br /> Tóm tắt: Nhận dạng chữ số viết tay là một bài toán khó nhưng có rất nhiều ứng dụng<br /> trong thực tế. Nhận dạng chữ số viết tay có thể ứng dụng trong nhận dạng số báo danh<br /> tự động, nhận dạng câu trả lời trắc nghiệm tự động,… Mục tiêu của bài báo là nghiên cứu<br /> về thuộc tính trích chọn đặc trưng HOG và thuật toán học máy SVM, đồng thời sử dụng<br /> SVM với thuộc tính HOG trong nhận dạng chữ số viết tay cho bài toán nhận dạng số báo<br /> danh tự động.<br /> Từ khóa:<br /> Summary: Handwriting digit recognition is a difficult problem but there are many<br /> practical applications. Handwritten alphanumeric identification can be applied in automatic<br /> attendance check, automatic multiple choice test answer identification, etc. The objective<br /> of the paper is to study the attribute HOG features and SVM, while using SVM with HOG<br /> attribute in hand writeen digit identification for automatic attendance check.<br /> Keywords: HOG, SVM, MNIST<br /> <br /> TẠP CHÍ KHOA HỌC 15<br /> QUẢN LÝ VÀ CÔNG NGHỆ<br /> I. TỔNG QUAN NHẬN DẠNG CHỮ SỐ<br /> Nhận dạng chữ số là đề tài thu hút rất nhiều nhà nghiên cứu quan tâm. Nhận dạng chữ số<br /> được chia thành 2 loại: Nhận dạng chữ số in và nhận dạng chữ số viết tay. Và trong bài báo này<br /> ta sẽ chỉ tìm hiểu về nhận dạng chữ số viết tay.<br /> Các bước trong nhận dạng chữ số<br /> Bước 1: Tiền xử lý<br /> Bước này sẽ giúp tăng độ chính xác cho hệ thống nhận dạng. Vì trong quá trình quét ảnh<br /> sẽ gặp các loại nhiễu, kích thước ảnh không đồng nhất hoặc ảnh thiếu ánh sáng trong quá trình<br /> chụp.<br /> Bước 2: Tách các chữ số<br /> Ở bước này sẽ tiến hành tách từng riêng từng ký tự để phục vụ nhận dạng. Vì chỉ khi tách<br /> riêng từng ký tự đơn ra khỏi một tổng thể lớn thì hệ thống mới dễ dàng phân lớp và nhận dạng.<br /> Bước 3: Trích rút đặc trưng<br /> Đặc trưng của ảnh là những đặc điểm riêng biệt giúp phân biệt ảnh này với ảnh khác. Và để<br /> giảm độ phức tạp và tăng độ chính xác của thuật toán thì đòi hỏi các đặc trưng được trích chọn<br /> rút gọn nhưng vẫn đảm bảo đủ thông tin đối tượng. Từ những tiêu chí trên ta phải tập hợp được<br /> đặc trưng riêng cho từng lớp để phân biệt các lớp với nhau.<br /> Bước 4: Huấn luyện và Nhận dạng<br /> • Huấn luyện<br /> Dữ liệu huấn luyện sau khi qua các khâu tiền xử lý và trích chọn đặc trưng sẽ được đưa vào<br /> huấn luyện. Sau khi kết thúc quá trình huấn luyện, hệ thống sẽ lưu lại giá trị các tham số của<br /> hàm quyết định phân lớp để phục vụ cho việc nhận dạng sau này. Quá trình huấn luyện tiêu tốn<br /> khá nhiều thời gian. Tốc độ huấn luyện nhanh hay chậm còn tùy thuộc vào từng thuật toán huấn<br /> luyện, chiến lược và số lượng mẫu tham gia huấn luyện.<br /> • Nhận dạng<br /> Để nhận dạng thì có rất nhiều các phương pháp khác nhau, mỗi phương pháp đều có những<br /> đặc điểm riêng.<br /> Từ bộ dữ liệu đã được huấn luyện kết hợp với các thuật toán phân lớp dữ liệu ta sẽ đưa ra<br /> được kết quả nhận dạng.<br /> II. TRÍCH CHỌN ĐẶC TRƯNG VỚI HOG<br /> Histogram of Oriented Gradients là một bộ vector mô tả đặc trưng của đối tượng. Nó trích<br /> rút những thông tin đặc trưng hữu ích bằng cách loại bỏ những thông tin dư thừa gây nhiễu với<br /> mục đích để phát hiện đối tượng.<br /> Bài toán tính toán HOG gồm 5 bước:<br /> <br /> 16 TẠP CHÍ KHOA HỌC<br /> QUẢN LÝ VÀ CÔNG NGHỆ<br /> Bước 1: Tiền xử lý quan tâm, sau đó sẽ cắt và điều chỉnh kích thước<br /> Đầu tiên ta phải xác về định<br /> cùngđược<br /> mộtđốikíchtượng<br /> thướccầncho trước (Tùy vào từng<br /> quan tâm, sau đó sẽ cắt vàtoán điềumàchỉnh kíchrathước<br /> ta đưa ảnhthước cụ thể)<br /> tỉ lệ kích<br /> Bước 1: Tiền xử lý<br /> về cùng một kích thước cho trước Ở (Tùy<br /> đây ta vàobài<br /> lấy từng bàinhận dạng người để làm<br /> toán<br /> Đầu tiêntoán màxác<br /> ta phải ta đưa<br /> định ra tỉ lệđốikích<br /> được thước<br /> tượng cần cụ thể)<br /> quan tâm, sau đó sẽ cắt và điều chỉnh kích<br /> dụ:<br /> thước ảnh về cùng một kích thước cho trước (Tùy vào từng bài toán mà ta đưa ra tỉ lệ kích thước<br /> cụ thể) Ở đây ta lấy bài toán nhận dạng người để làm ví<br /> Từ một bức ảnh tổng thể có kích thước ban<br /> dụ:<br /> Ở đây ta lấy bài toán nhận dạng người 720x475 ta tiến hành cắt đối tượng cần quan tâm<br /> để làm ví dụ:<br /> Từtổng<br /> Từ một bức ảnh mộtthểbức ảnhthước<br /> có kích tổng ban<br /> thểđầu<br /> kích có kích64x128<br /> thước thước<br /> 720x475 ta tiếnban lệđầu<br /> (tỉhành 1:2)<br /> cắt đối tượng cần quan<br /> tâm về kích720x475 ta tiến<br /> thước 64x128 (tỉ lệ hành<br /> 1:2) cắt đối tượng cần quan tâm về<br /> kích thước 64x128 (tỉ lệ 1:2) Hình<br /> <br /> <br /> Bước 3: Tính<br /> cells 8x8<br /> Chia ảnh<br /> Với mỗi thàn<br /> 8x8x3= 192<br /> nhỏ đó chỉ c<br /> Hình 2.1. Điều chỉnh và phân tách ảnh<br /> Gradient chỉ c<br /> Bước 2: Tính toán Gradient của các hình Và ảnh<br /> để vi<br /> Hình 2.1. Điều chỉnh và phân tách ảnh.<br /> Hình 2.1. Điều chỉnhĐầu cácảnhgradient chiều diễn<br /> tiêntách<br /> và phân ngang128vàgiáct<br /> Bước 2: Tính toán Gradient của các hình ảnh<br /> thẳng. trưng cho hư<br /> Bước 2: Tính toán Gradient của các hình ảnh Sau đó, chúng ta sẽ tính toán biểu đồ của<br /> Đầu tiên các gradient chiều Điều<br /> gradient. ngangnàyvà sẽchiều<br /> thực hiện được góc 0,dựa<br /> 20,40,…<br /> trên<br /> Đầu tiên các gradient chiều ngang và chiều thẳng. Sau đó, chúng ta sẽ tính toán biểu đồ của<br /> thẳng. Sau đó, chúng ta sẽthống tính toán biểu (kernels)<br /> các nhân đồ của các<br /> sau:<br /> các gradient. Điều này sẽ thực hiện được dựa trên hệ thống các nhân (kernels) sau: Ví dụ vớ<br /> gradient. Điều này sẽ thực hiện được dựa trên hệ được vẻ bên n<br /> Điều nàythống các nhân (kernels) sau:<br /> tính được bằng cách sử dụng toán tử<br /> Sobel trong OpenCV với lõi kích cỡ là 1.<br /> <br /> # Read image<br /> <br /> im = cv2.imread (‘bolt.png’)<br /> <br /> im = np.float32 (im) / 255.0<br /> <br /> # Calculate gradient Điều này tính được bằng cách sử dụng toá<br /> Sobel trong OpenCV với lõi kích cỡ là 1.<br /> gx = cv2.Sobel(img,cv2.CV_32F, 1, 0, ksize =1)<br /> Điều này tính được bằng cách sử dụng toán tử<br /> # Read image<br /> Sobel trong OpenCV với<br /> gy = cv2.Sobel(img,cv2.CV_32F, 0, 1, lõi kích<br /> ksize =1) cỡ là 1.<br /> im = cv2.imread (‘bolt.png’)<br /> # Read<br /> Tiếp theo chúng image<br /> ta sẽ tìm được độ lớn và hướng của gradien bằng công thức sau:<br /> im = np.float32 (im) / 255.0 Ở giữa:<br /> im = )cv2.imread (‘bolt.png’)<br /> g= √(g_x^2+g_y^2<br /> gradient bằng<br /> im = np.float32 (im) / 255.0 TẠP CHÍ KHOA HỌC 17<br /> QUẢN LÝ VÀ CÔNG NGHỆ<br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0