Thiết kế hệ thống nhúng nhận dạng chữ viết tay

Nhận dạng chữ viết tay là vấn đề đang được nghiên cứu và phát triển. Công việc xây dựng các hệ

thống nhận dạng chữ viết tay được thực hiện khá nhiều trên các hệ thống máy tính cá nhân. Ngày nay,

hệ thống nhúng đang được nghiên cứu và ứng dụng rộng rãi trong đời sống. Các hệ thống phần cứng

được thiết kế ngày càng nhỏ gọn và có tính linh hoạt cao. Nội dung bài báo sẽ giới thiệu quá trình xây

dựng hệ thống nhận dạng chữ viết tay off-line trên board nhúng Beagleboard xM (BBxM). Bài toán nhận

dạng được thực hiện dưới sự hỗ trợ của thư viện xử lý ảnh OpenCV và phương pháp phân lớp SVM

(Support vector machines). Ảnh các chữ viết tay sẽ được chụp từ camera. Hệ thống thực hiện công việc

phát hiện và tách các ký tự thành các mẫu. Các mẫu ký tự sẽ được trích chọn đặc trưng theo phương

pháp chu tuyến kết hợp với phương pháp xác định mật độ điểm ảnh. Quá trình xây dựng các ứng dụng

trên hệ điều hành nhúng được thực hiện trên hệ điều hành Linux với sự hỗ trợ của phần mềm QtCreator

và công cụ biên dịch chéo Qt-Everywhere. Kết quả thực nghiệm được thực hiện trên các mẫu chữ cái in

hoa với tỉ lệ nhận dạng đúng đạt gần 95%.

pdf 9 trang kimcuc 7500
Bạn đang xem tài liệu "Thiết kế hệ thống nhúng nhận dạng chữ viết tay", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Thiết kế hệ thống nhúng nhận dạng chữ viết tay

Thiết kế hệ thống nhúng nhận dạng chữ viết tay
4 5
Soá 12, thaùng 3/2014 4 Soá 12, thaùng 3/2014 5
Khoa hoïc Coâng ngheä Khoa hoïc Coâng ngheä
THIẾT KẾ HỆ THỐNG NHÚNG NHẬN DẠNG CHỮ VIẾT TAY
Trần Song Toàn *
Đặng Hữu Phúc **
*,** Thạc sĩ - Khoa Kỹ thuật & Công nghệ, Trường Đại học Trà Vinh
Tóm tắt
Nhận dạng chữ viết tay là vấn đề đang được nghiên cứu và phát triển. Công việc xây dựng các hệ 
thống nhận dạng chữ viết tay được thực hiện khá nhiều trên các hệ thống máy tính cá nhân. Ngày nay, 
hệ thống nhúng đang được nghiên cứu và ứng dụng rộng rãi trong đời sống. Các hệ thống phần cứng 
được thiết kế ngày càng nhỏ gọn và có tính linh hoạt cao. Nội dung bài báo sẽ giới thiệu quá trình xây 
dựng hệ thống nhận dạng chữ viết tay off-line trên board nhúng Beagleboard xM (BBxM). Bài toán nhận 
dạng được thực hiện dưới sự hỗ trợ của thư viện xử lý ảnh OpenCV và phương pháp phân lớp SVM 
(Support vector machines). Ảnh các chữ viết tay sẽ được chụp từ camera. Hệ thống thực hiện công việc 
phát hiện và tách các ký tự thành các mẫu. Các mẫu ký tự sẽ được trích chọn đặc trưng theo phương 
pháp chu tuyến kết hợp với phương pháp xác định mật độ điểm ảnh. Quá trình xây dựng các ứng dụng 
trên hệ điều hành nhúng được thực hiện trên hệ điều hành Linux với sự hỗ trợ của phần mềm QtCreator 
và công cụ biên dịch chéo Qt-Everywhere. Kết quả thực nghiệm được thực hiện trên các mẫu chữ cái in 
hoa với tỉ lệ nhận dạng đúng đạt gần 95%. 
Từ khóa: Beagleboard xM, hệ thống nhúng, nhận dạng chữ viết tay, phương pháp phân lớp Support 
Vector Machines.
Abstract
Handwriting recognition is an issue that is being studied and developed. The handwriting recognition 
systems are designed on personal computers. Nowadays, the embedded system is being studied and 
applied widely in life. The hardware systems are more compact and flexible. The content of the paper 
will introduce the process of building the offline handwriting recognition system on embedded board 
BeagleBoard xM (BBxM). The identification is carried out with the support of image processing 
library OpenCV and classification method SVM (Support vector machines). The handwriting letters 
will be captured by camera. The system will detect and separate the letter into samples. The features 
are extracted from these samples by the methods of circumference and pixel density. The process of 
building applications on embedded operating system is implemented on Linux operating system with 
the assistance of QtCreator software and Qt-Everywhere cross-compiler. The experimental result is 
performed on the Latin uppercase letterswith the correct recognition rate up to approximately 95%.
Keywords: Beagleboard xM, Embedded system, Handwriting recognition, classification method Support 
Vector Machines.
1. Giới thiệu
Vấn đề nhận dạng chữ viết tay đang được quan 
tâm nghiên cứu và có vai trò rất quan trọng trong 
công nghiệp. Trọng tâm của vấn đề nằm ở khả 
năng thiết kế một giải thuật hiệu quả để có thể 
nhận dạng được các ký tự viết tay bởi người dùng 
qua tablet, scanner và các thiết bị số khác. Các ứng 
dụng của nhận dạng chữ viết tay đã và đang có 
nhiều đóng góp vào đời sống. Nhận dạng chữ viết 
tay có thể phục vụ cho các ứng dụng đọc và xử 
lý các chứng từ, hóa đơn, phiếu ghi, bản viết tay 
chương trình. Tuy nhiên, cho đến nay, việc nhận 
dạng chữ viết tay vẫn còn là thách thức lớn đối 
với các nhà nghiên cứu. Đã có nhiều công trình 
nghiên cứu về nhận dạng các mẫu chữ viết tay của 
các hệ chữ cái Latin, Ả Rập, Trung Quốc,... nhưng 
kết quả vẫn còn khá hạn chế do chữ viết tay rất đa 
dạng về mẫu chữ cũng như các biến thể. 
Nhận dạng chữ viết tay được thực hiện dựa trên 
hai giải thuật chính: memory base và learning base. 
Memory base lưu trữ ảnh các ký tự mẫu và nhận 
dạng một ký tự chưa biết bằng cách so sánh với 
các ký tự mẫu. Learning base là giải thuật cố gắng 
học các mẫu ký tự chưa biết và xây dựng hàm nhận 
dạng tương ứng. Các nghiên cứu về nhận dạng chữ 
số viết tay đã đạt được các kết quả trên 90%. Nhận 
dạng chữ viết tay thực hiện dựa trên sự kết hợp giữa 
các thuật toán xử lý ảnh và các phương pháp phân 
lớp nhận dạng như mạng Neural, Support Vector 
Machines,... Các nghiên cứu về bài toán nhận dạng 
chữ viết tay đều thực hiện trên máy tính cá nhân.
Nội dung bài báo gồm các phần sau: phần 2 
trình bày về hệ thống nhận dạng chữ viết tay, phần 
3 trình bày các bước xây dựng ứng dụng trên board 
nhúng, phần 4 tổng hợp các kết quả thực hiện được 
và phần 5 trình bày kết luận và hướng nghiên cứu 
tiếp theo.
2. Hệ thống nhận dạng chữ viết tay
Hình 1 là sơ đồ khối của hệ thống nhận dạng 
chữ viết tay. Hệ thống gồm bốn khối chức năng 
chính: tiền xử lý, tách ký tự, trích chọn đặc trưng, 
nhận dạng.
Hình 1. Sơ đồ hệ thống nhận dạng chữ viết tay
2.1. Tiền xử lý
Quá trình tiền xử lý thực hiện các phương pháp 
lọc nhiễu, hiệu chỉnh độ nghiêng, tìm ngưỡng để 
đưa ảnh về dạng nhị phân phục vụ cho các bước 
tiếp theo. Ảnh nhị phân phục vụ cho quá trình nhận 
dạng là ảnh có nền đen và nét chữ trắng. 
Hình 2. Quá trình tiền xử lý
2.2. Tách ký tự
Ảnh sau khi được nhị phân hóa sẽ được tách ra 
thành từng dòng chữ, từng chữ và cuối cùng là các 
ký tự rời rạc.
2.2.1. Tách dòng chữ
Quá trình tách dòng chữ được thực hiện theo 
các bước sau: 
+ Xác định phân bố điểm ảnh theo dòng được 
thực hiện theo (1)
Với i = 0->high-1 (high: chiều cao ảnh); width: 
độ rộng ảnh.
+ Xác định giá trị điểm bắt đầu dòng chữ và độ 
rộng dòng chữ. Giải thuật được thể hiện trong lưu 
đồ hình 3.
(1)
Hình 3. Giải thuật xác định dòng chữ
4 5
Soá 12, thaùng 3/2014 4 Soá 12, thaùng 3/2014 5
Khoa hoïc Coâng ngheä Khoa hoïc Coâng ngheä
THIẾT KẾ HỆ THỐNG NHÚNG NHẬN DẠNG CHỮ VIẾT TAY
Trần Song Toàn *
Đặng Hữu Phúc **
*,** Thạc sĩ - Khoa Kỹ thuật & Công nghệ, Trường Đại học Trà Vinh
Tóm tắt
Nhận dạng chữ viết tay là vấn đề đang được nghiên cứu và phát triển. Công việc xây dựng các hệ 
thống nhận dạng chữ viết tay được thực hiện khá nhiều trên các hệ thống máy tính cá nhân. Ngày nay, 
hệ thống nhúng đang được nghiên cứu và ứng dụng rộng rãi trong đời sống. Các hệ thống phần cứng 
được thiết kế ngày càng nhỏ gọn và có tính linh hoạt cao. Nội dung bài báo sẽ giới thiệu quá trình xây 
dựng hệ thống nhận dạng chữ viết tay off-line trên board nhúng Beagleboard xM (BBxM). Bài toán nhận 
dạng được thực hiện dưới sự hỗ trợ của thư viện xử lý ảnh OpenCV và phương pháp phân lớp SVM 
(Support vector machines). Ảnh các chữ viết tay sẽ được chụp từ camera. Hệ thống thực hiện công việc 
phát hiện và tách các ký tự thành các mẫu. Các mẫu ký tự sẽ được trích chọn đặc trưng theo phương 
pháp chu tuyến kết hợp với phương pháp xác định mật độ điểm ảnh. Quá trình xây dựng các ứng dụng 
trên hệ điều hành nhúng được thực hiện trên hệ điều hành Linux với sự hỗ trợ của phần mềm QtCreator 
và công cụ biên dịch chéo Qt-Everywhere. Kết quả thực nghiệm được thực hiện trên các mẫu chữ cái in 
hoa với tỉ lệ nhận dạng đúng đạt gần 95%. 
Từ khóa: Beagleboard xM, hệ thống nhúng, nhận dạng chữ viết tay, phương pháp phân lớp Support 
Vector Machines.
Abstract
Handwriting recognition is an issue that is being studied and developed. The handwriting recognition 
systems are designed on personal computers. Nowadays, the embedded system is being studied and 
applied widely in life. The hardware systems are more compact and flexible. The content of the paper 
will introduce the process of building the offline handwriting recognition system on embedded board 
BeagleBoard xM (BBxM). The identification is carried out with the support of image processing 
library OpenCV and classification method SVM (Support vector machines). The handwriting letters 
will be captured by camera. The system will detect and separate the letter into samples. The features 
are extracted from these samples by the methods of circumference and pixel density. The process of 
building applications on embedded operating system is implemented on Linux operating system with 
the assistance of QtCreator software and Qt-Everywhere cross-compiler. The experimental result is 
performed on the Latin uppercase letterswith the correct recognition rate up to approximately 95%.
Keywords: Beagleboard xM, Embedded system, Handwriting recognition, classification method Support 
Vector Machines.
1. Giới thiệu
Vấn đề nhận dạng chữ viết tay đang được quan 
tâm nghiên cứu và có vai trò rất quan trọng trong 
công nghiệp. Trọng tâm của vấn đề nằm ở khả 
năng thiết kế một giải thuật hiệu quả để có thể 
nhận dạng được các ký tự viết tay bởi người dùng 
qua tablet, scanner và các thiết bị số khác. Các ứng 
dụng của nhận dạng chữ viết tay đã và đang có 
nhiều đóng góp vào đời sống. Nhận dạng chữ viết 
tay có thể phục vụ cho các ứng dụng đọc và xử 
lý các chứng từ, hóa đơn, phiếu ghi, bản viết tay 
chương trình. Tuy nhiên, cho đến nay, việc nhận 
dạng chữ viết tay vẫn còn là thách thức lớn đối 
với các nhà nghiên cứu. Đã có nhiều công trình 
nghiên cứu về nhận dạng các mẫu chữ viết tay của 
các hệ chữ cái Latin, Ả Rập, Trung Quốc,... nhưng 
kết quả vẫn còn khá hạn chế do chữ viết tay rất đa 
dạng về mẫu chữ cũng như các biến thể. 
Nhận dạng chữ viết tay được thực hiện dựa trên 
hai giải thuật chính: memory base và learning base. 
Memory base lưu trữ ảnh các ký tự mẫu và nhận 
dạng một ký tự chưa biết bằng cách so sánh với 
các ký tự mẫu. Learning base là giải thuật cố gắng 
học các mẫu ký tự chưa biết và xây dựng hàm nhận 
dạng tương ứng. Các nghiên cứu về nhận dạng chữ 
số viết tay đã đạt được các kết quả trên 90%. Nhận 
dạng chữ viết tay thực hiện dựa trên sự kết hợp giữa 
các thuật toán xử lý ảnh và các phương pháp phân 
lớp nhận dạng như mạng Neural, Support Vector 
Machines,... Các nghiên cứu về bài toán nhận dạng 
chữ viết tay đều thực hiện trên máy tính cá nhân.
Nội dung bài báo gồm các phần sau: phần 2 
trình bày về hệ thống nhận dạng chữ viết tay, phần 
3 trình bày các bước xây dựng ứng dụng trên board 
nhúng, phần 4 tổng hợp các kết quả thực hiện được 
và phần 5 trình bày kết luận và hướng nghiên cứu 
tiếp theo.
2. Hệ thống nhận dạng chữ viết tay
Hình 1 là sơ đồ khối của hệ thống nhận dạng 
chữ viết tay. Hệ thống gồm bốn khối chức năng 
chính: tiền xử lý, tách ký tự, trích chọn đặc trưng, 
nhận dạng.
Hình 1. Sơ đồ hệ thống nhận dạng chữ viết tay
2.1. Tiền xử lý
Quá trình tiền xử lý thực hiện các phương pháp 
lọc nhiễu, hiệu chỉnh độ nghiêng, tìm ngưỡng để 
đưa ảnh về dạng nhị phân phục vụ cho các bước 
tiếp theo. Ảnh nhị phân phục vụ cho quá trình nhận 
dạng là ảnh có nền đen và nét chữ trắng. 
Hình 2. Quá trình tiền xử lý
2.2. Tách ký tự
Ảnh sau khi được nhị phân hóa sẽ được tách ra 
thành từng dòng chữ, từng chữ và cuối cùng là các 
ký tự rời rạc.
2.2.1. Tách dòng chữ
Quá trình tách dòng chữ được thực hiện theo 
các bước sau: 
+ Xác định phân bố điểm ảnh theo dòng được 
thực hiện theo (1)
Với i = 0->high-1 (high: chiều cao ảnh); width: 
độ rộng ảnh.
+ Xác định giá trị điểm bắt đầu dòng chữ và độ 
rộng dòng chữ. Giải thuật được thể hiện trong lưu 
đồ hình 3.
(1)
Hình 3. Giải thuật xác định dòng chữ
6 7
Soá 12, thaùng 3/2014 6 Soá 12, thaùng 3/2014 7
Khoa hoïc Coâng ngheä Khoa hoïc Coâng ngheä
2.2.3. Tách ký tự
Quá trình tách ký tự được thực hiện theo giải 
thuật phát hiện hình bao của đối tượng và sau 
đó cắt các ký tự theo hình chữ nhật nhỏ nhất bao 
quanh ký tự.
Hình 7. Kết quả quá trình tách ký tự
2.3. Trích chọn đặc trưng
Quá trình trích chọn đặc trưng sẽ được thực 
hiện trên từng ký tự nhận được sau khi tách ký tự. 
Đặc trưng có ý nghĩa quan trọng trong việc quyết 
định tỷ lệ nhận dạng đúng ký tự. Để tránh những 
phức tạp của chữ viết tay cũng như tăng cường 
độ chính xác, ta cần phải biểu diễn thông tin chữ 
viết dưới những dạng đặc biệt hơn và cô đọng hơn, 
rút trích các đặc điểm riêng nhằm phân biệt các 
ký tự khác nhau. Đặc trưng của các ký tự có thể 
tìm ra bằng các phương pháp biến đổi, giải thuật 
toán học. Có nhiều hình thức trích đặc trưng thông 
dụng trong nhận dạng ký tự viết tay: đặc trưng nhị 
phân, đặc trưng vùng, đặc trưng theo chu tuyến, 
dùng biến đổi Haar Wavelet...
Phương pháp trích chọn đặc trưng được sử 
dụng trong bài báo là phương pháp trích đặc trưng 
theo chu tuyến kết hợp với phân bố điểm ảnh theo 
chiều ngang và chiều dọc. Ảnh ký tự được chuẩn 
hóa kích thước 22x30. Ảnh có nền màu đen nét 
chữ màu trắng. Với phương pháp trích đặc trưng 
trong bài báo thì chiều dài vector đặc trưng là 
156. So với sử dụng phương pháp đặc trưng nhị 
phân (chiều dài vector đặc trưng là 660), phương 
pháp sử dụng trong bài báo sẽ giúp cho thời gian 
huấn luyện cũng như nhận dạng nhanh hơn gấp 
nhiều lần.
Vector đặc trưng F có được từ sự kết hợp của 
6 giá trị.
 F = {L, R, U, D, V, H} (3)
Vector đặc trưng F có chiều dài là 156, trong đó 
L: đặc trưng lấy từ trái sang có 30 giá trị; R: đặc 
trưng lấy từ phải sang có 30 giá trị; U: đặc trưng 
lấy từ trên xuống có 22 giá trị; D: đặc trưng lấy từ 
dưới lên có 22 giá trị; V: đặc trưng phân bố dòng 
có 30 giá trị; H: đặc trưng phân bố cột có 22 giá trị.
2.3.1. Đặc trưng theo chiều từ trái sang
Việc lấy chu tuyến từ trái sang là xác định 
khoảng cách từ lề trái của mẫu đến vị trí điểm ảnh 
trắng đầu tiên theo từng dòng. Các giá trị đặc trưng 
L được xác định theo công thức (4).
 L[i] = d[P(0,i),PW] (4)
Với i = 0->29; d[P(0,i),PW] là khoảng cách từ 
điểm ảnh có tọa độ (0,i) đến điểm ảnh có giá trị 
255 đầu tiên theo chiều từ trái sang.
2.3.2. Đặc trưng theo chiều từ phải sang
Chu tuyến từ phải sang xác định khoảng cách 
từ lề phải đến điểm trắng đầu tiên trên từng dòng.
Các giá trị đặc trưng R được xác định theo công 
thức (5).
 R[i] = d[P(21,i),PW] (5)
Với i = 0->29; d[P(21,i),PW] là khoảng cách 
từ điểm ảnh có tọa độ (21,i) đến điểm ảnh có giá trị 
255 đầu tiên theo chiều từ phải sang.
2.3.3. Đặc trưng theo chiều từ trên xuống
Xác định khoảng cách từ lề trên của mẫu đến 
điểm trắng đầu tiên theo từng cột. Các giá trị đặc 
trưng U được xác định theo công thức (6).
 U[j] = d[P(j,0),PW] (6)
Với j = 0->21; d [P(j,0),PW] là khoảng cách 
từ điểm ảnh có tọa độ (j,0) đến điểm ảnh có giá trị 
255 đầu tiên theo chiều từ trên xuống.
2.3.4. Đặc trưng theo chiều từ dưới lên
Xác định khoảng cách từ lề dưới của mẫu đến 
điểm trắng đầu tiên theo từng cột. Các giá trị đặc 
trưng D được xác định theo công thức (7).
 D[j] = d[P(j,29),PW] (7)
Với j = 0->21; d[P(j,29),PW] là khoảng cách từ 
điểm ảnh có tọa độ (j,29) đến điểm ảnh có giá trị 
255 đầu tiên theo chiều từ dưới lên.
2.3.5. Đặc trưng phân bố điểm ảnh theo dòng
Đặc trưng này dựa trên tổng số điểm trắng 
phân bố trên từng dòng ảnh. Các giá trị đặc trưng 
V được xác định theo công thức (8).
Với j = 0->21; P(i,j) giá trị điểm ảnh (i,j)
+ Cắt ảnh dòng chữ từ ảnh gốc: Việc cắt ảnh các 
dòng được thực hiện bằng các hàm của thư viện 
OpenCV với vị trí độ lớn được xác định từ lưu đồ 
hình 3.
2.2.2. Tách chữ trên từng dòng chữ
Quá trình thực hiện việc tách chữ được thực hiện 
theo các bước:
+ Xác định phân bố điểm ảnh theo cột được thực 
hiện theo (2)
Với i = 0->width-1 (width: độ rộng ảnh); 
high: chiều cao ảnh.
+ Xác định điểm bắt đầu khoảng trắng, độ rộng 
kho ... á trình tách 
ký tự sẽ được đưa vào kết hợp với bộ huấn luyện 
sẽ cho kết quả nhận dạng. Kết quả sau khi nhận 
dạng với phương pháp phân lớp Support Vector 
machines (SVM) sẽ trả về một giá trị nhãn trong 
bộ huấn luyện SVM. Hàm nhân (kernel) được sử 
dụng trong phương pháp SVM là hàm tuyến tính 
theo biểu thức (10), các tham số được thiết lập theo 
phương pháp C-SVM được thể hiện theo công 
thức (11) và các giá trị tham số được thể hiện trong 
hình 12.
 K(x
i
,xj) = xi
Txj (10)
Quá trình huấn luyện được thực hiện với sự hỗ 
trợ của thư viện OpenCV với các tham số được 
trình bày trong hình 8. Giá trị nhãn sẽ cho ta một 
ký tự tương ứng. Kết quả sẽ được ghi vào file đồng 
thời hiển thị trên giao diện của ứng dụng.
(11)
Hình 8. Quá trình nhận dạng mẫu
3. Xây dựng ứng dụng trên board nhúng 
BeagleBoard xM (BBxM)
3.1. Hệ thống phần cứng
Sơ đồ hệ thống phần cứng của ứng dụng được 
thể hiện trong Hình 9. Ảnh các ký tự được thu 
qua camera đưa vào board để xử lý và kết quả của 
chương trình được hiển thị trên màn hình LCD.
BBxM sử dụng CPU ARM-Cortex A8 có thể 
hoạt động tối đa ở tốc độ 1Ghz cùng với bộ nhớ 
DDRAM công suất thấp 512MB. Kích thước của 
BBxM khá nhỏ gọn: 3.25” × 3.25”. BBxM cung 
cấp khá đầy đủ các kết nối của một máy tính mini: 
USB port, Audio input conector, Audio output 
connector, Svideo connector, DVI-D connector, 
LCD header...
Hình 9. Hệ thống phần cứng
Hình 10. Sơ đồ khối BBxM
Hệ thống nhận dạng chữ viết tay được thực 
hiện và kiểm tra trên máy tính cá nhân. Sau khi kết 
quả đạt yêu cầu, nó sẽ được biên dịch thành ứng 
dụng có thể thực thi trên board nhúng BBxM. Quá 
trình này được trình bày trong phần 3.3.
3.2. Hệ thống phần mềm
Hệ thống hỗ trợ thiết kế phần mềm gồm có:
+ Hệ điều hành Ubuntu 10.10: xây dựng và 
thiết kế các giao tiếp với BBxM.
+ Angstrom-toolchain: công cụ biên dịch chéo 
các ứng dụng và các gói cho kiến trúc ARM-
Cortex A8.
+ Qt Creator 2.0.1: công cụ thiết kế giao diện 
và ứng dụng.
+ Qt-Everywhere 4.8.2: Công cụ biên dịch Qt 
cho kiến trúc ARM.
+ OpenCV library: thư viện hỗ trợ cho công 
việc xử lý ảnh.
Quá trình cài đặt các ứng dụng cần quan tâm 
đến vấn đề cài đặt driver cho hệ thống. Hệ thống 
nhận dạng có sử dụng USB camera nên cần phải 
cài đặt trước khi sử dụng cho hệ thống.
3.3. Biên dịch ứng dụng cho BBxM
Ứng dụng được xây dựng với phần mềm Qt 
Creator được cài đặt trên hệ điều hành Ubuntu 
10.10. Công việc xử lý ảnh được thực hiện với thư 
viện OpenCV. Để có thể thực thi ứng dụng trên 
BBxM các thư viện hỗ trợ của Qt và OpenCV phải 
chạy được trên nền kiến trúc ARM. Một toolchain 
cần được cài đặt để biên dịch code trên hệ thống 
Linux có thể thực thi trên vi xử lý ARM của 
BBxM. Các vi xử lý ARM khác nhau sẽ được biên 
dịch khác nhau. Toolchain hỗ trợ cho việc build 
ứng dụng trên BBxM với hệ điều hành Angstrom 
là Angstrom toolchain.
Để có thể sử dụng thư viện OpenCV trên BBxM 
cần phải build các thư viện này với angstrom-
toolchain.
Hình 11. Hệ thống phần mềm
(9)
10 11
Soá 12, thaùng 3/2014 10 Soá 12, thaùng 3/2014 11
Khoa hoïc Coâng ngheä Khoa hoïc Coâng ngheä
 Chương trình được xây dựng trên phần mềm 
Qt nên cần phải build các ứng dụng này với Qt-
Everywhere.
Hệ điều hành được sử dụng trên BBxM là 
Angstrom OS. Để các ứng dụng có thể chạy được 
trên BBxM, cần cài đặt hệ điều hành trên BBxM.
4. Kết quả
Ứng dụng được thiết kế trực quan với giao diện 
dễ dàng sử dụng và kiểm tra. Kết quả cho phép 
nhận dạng các chữ viết tay rời rạc trên các dòng 
chữ khác nhau. Hình 14a, hình 14b và 14c cho thấy 
kết quả nhận dạng trên các loại văn bản khác nhau.
Kết quả quá trình tách ký tự đối với các văn 
bản các ký tự không dính nét đạt xấp xỉ 95%. Do 
phương pháp tách dòng và tách ký tự được sử 
dụng trong bài báo là phương pháp hình chiếu nên 
đối với các ảnh văn bản có độ nghiêng lớn dễ gây 
nhầm lẫn trong quá trình tách dòng và tách chữ.
Bài báo sử dụng ba phương pháp trích đặc 
trưng: đặc trưng theo chu tuyến (CT), đặc trưng 
nhị phân (NP) và đặc trưng chu tuyến kết hợp với 
phân bố mật độ điểm ảnh (CT+PB). Số lượng mẫu 
được sử dụng trong bài báo bao gồm 4799 mẫu 
trong đó bao gồm 1504 mẫu được dùng để training 
và 3295 mẫu dùng để testing.
Phương pháp trích đặc trưng được sử dụng 
trong bài báo đã cho thời gian huấn luyện cũng 
như nhận dạng ngắn hơn so với các phương pháp 
trích đặc trưng nhị phân, đặc trưng vùng hay biến 
đổi Haar Wavelet. 
Thời gian training và testing (thực hiện trên 
máy tính cá nhân, CPU core i3, 2GB RAM) được 
thể hiện trong bảng 1.
Bảng 1: Thời gian training và testing
Đặc trưng CT + PB CT NP
Training ~0.66s ~0.51s ~1.8
Testing ~1.17s ~0.88s ~3.78s
Thời gian nhận dạng được thể hiện trong Bảng 2. 
Thời gian này phụ thuộc vào kích thước bức ảnh, 
độ phức tạp và số lượng ký tự có trên bức ảnh.
Bảng 2: Thời gian nhận dạng
Kết quả nhận dạng trên các mẫu ký tự được thể 
hiện trong bảng 3. Kết quả này được thực hiện trên 
các mẫu ký tự rời rạc, các mẫu này gồm 26 mẫu 
ký tự in hoa (A->Z). Kết quả thể hiện trong Bảng 3 
là kết quả trung bình cộng của 26 kết quả đối với 
từng ký tự riêng lẻ.
Bảng 3: Kết quả nhận dạng
Từ kết quả trên, ta nhận thấy phương pháp trích 
đặc trưng theo chu tuyến kết hợp với mật độ điểm 
ảnh cho hiệu suất nhận dạng tốt nhất và thời gian 
xử lý ngắn. Phương pháp trích đặc trưng nhị phân 
thời gian xử lý nhiều nhưng tỉ lệ nhận dạng vẫn 
thấp hơn so với phương pháp chu tuyến.
5. Kết luận
Bài báo đã đưa ra giải thuật nhận dạng chữ viết 
tay và thực hiện trên board nhúng BBxM. Kết quả 
thực hiện trên BBxM có thể áp dụng được trên 
thực tế (thời gian nhận dạng khoảng 100ms với kết 
quả đạt được xấp xỉ 95%).
Kết quả của bài toán xử lý ảnh chỉ dừng lại ở 
mức độ tách các chữ viết rời rạc không bị dính 
nét. Hướng nghiên cứu và phát triển tiếp theo là 
xây dựng mô hình nhận dạng chữ viết để có thể 
nhận dạng được các chữ viết bị dính nét. Việc này 
đòi hỏi cần phải sử dụng kỹ thuật phân đoạn ảnh 
nâng cao để có thể tách được các ký tự dính nét. 
Phát triển mô hình nhận dạng chữ viết tay tiếng 
Việt. Xây dựng giải thuật hậu xử lý để nâng cao tỷ 
lệ nhận dạng. Kết quả sau khi nhận dạng sẽ được 
xem xét trong ngữ cảnh để có thể giải quyết một số 
trường hợp sai so với cấu trúc ngữ pháp tiếng Việt. 
Cải tiến giải thuật giúp cho hệ thống hoạt động 
nhanh hơn để có thể đáp ứng với hệ thống thời 
gian thực.
Hình 12. Build thư viện OpenCV cho BBxM
Hình 13. Build thư viện Qt cho BBxM
Hình 14a. Nhận dạng văn bản với nhiều dòng chữ
Hình 14b. Nhận dạng văn bản nghiêng
Hình 14c. Nhận dạng văn bản có nhiễu
10 11
Soá 12, thaùng 3/2014 10 Soá 12, thaùng 3/2014 11
Khoa hoïc Coâng ngheä Khoa hoïc Coâng ngheä
 Chương trình được xây dựng trên phần mềm 
Qt nên cần phải build các ứng dụng này với Qt-
Everywhere.
Hệ điều hành được sử dụng trên BBxM là 
Angstrom OS. Để các ứng dụng có thể chạy được 
trên BBxM, cần cài đặt hệ điều hành trên BBxM.
4. Kết quả
Ứng dụng được thiết kế trực quan với giao diện 
dễ dàng sử dụng và kiểm tra. Kết quả cho phép 
nhận dạng các chữ viết tay rời rạc trên các dòng 
chữ khác nhau. Hình 14a, hình 14b và 14c cho thấy 
kết quả nhận dạng trên các loại văn bản khác nhau.
Kết quả quá trình tách ký tự đối với các văn 
bản các ký tự không dính nét đạt xấp xỉ 95%. Do 
phương pháp tách dòng và tách ký tự được sử 
dụng trong bài báo là phương pháp hình chiếu nên 
đối với các ảnh văn bản có độ nghiêng lớn dễ gây 
nhầm lẫn trong quá trình tách dòng và tách chữ.
Bài báo sử dụng ba phương pháp trích đặc 
trưng: đặc trưng theo chu tuyến (CT), đặc trưng 
nhị phân (NP) và đặc trưng chu tuyến kết hợp với 
phân bố mật độ điểm ảnh (CT+PB). Số lượng mẫu 
được sử dụng trong bài báo bao gồm 4799 mẫu 
trong đó bao gồm 1504 mẫu được dùng để training 
và 3295 mẫu dùng để testing.
Phương pháp trích đặc trưng được sử dụng 
trong bài báo đã cho thời gian huấn luyện cũng 
như nhận dạng ngắn hơn so với các phương pháp 
trích đặc trưng nhị phân, đặc trưng vùng hay biến 
đổi Haar Wavelet. 
Thời gian training và testing (thực hiện trên 
máy tính cá nhân, CPU core i3, 2GB RAM) được 
thể hiện trong bảng 1.
Bảng 1: Thời gian training và testing
Đặc trưng CT + PB CT NP
Training ~0.66s ~0.51s ~1.8
Testing ~1.17s ~0.88s ~3.78s
Thời gian nhận dạng được thể hiện trong Bảng 2. 
Thời gian này phụ thuộc vào kích thước bức ảnh, 
độ phức tạp và số lượng ký tự có trên bức ảnh.
Bảng 2: Thời gian nhận dạng
Kết quả nhận dạng trên các mẫu ký tự được thể 
hiện trong bảng 3. Kết quả này được thực hiện trên 
các mẫu ký tự rời rạc, các mẫu này gồm 26 mẫu 
ký tự in hoa (A->Z). Kết quả thể hiện trong Bảng 3 
là kết quả trung bình cộng của 26 kết quả đối với 
từng ký tự riêng lẻ.
Bảng 3: Kết quả nhận dạng
Từ kết quả trên, ta nhận thấy phương pháp trích 
đặc trưng theo chu tuyến kết hợp với mật độ điểm 
ảnh cho hiệu suất nhận dạng tốt nhất và thời gian 
xử lý ngắn. Phương pháp trích đặc trưng nhị phân 
thời gian xử lý nhiều nhưng tỉ lệ nhận dạng vẫn 
thấp hơn so với phương pháp chu tuyến.
5. Kết luận
Bài báo đã đưa ra giải thuật nhận dạng chữ viết 
tay và thực hiện trên board nhúng BBxM. Kết quả 
thực hiện trên BBxM có thể áp dụng được trên 
thực tế (thời gian nhận dạng khoảng 100ms với kết 
quả đạt được xấp xỉ 95%).
Kết quả của bài toán xử lý ảnh chỉ dừng lại ở 
mức độ tách các chữ viết rời rạc không bị dính 
nét. Hướng nghiên cứu và phát triển tiếp theo là 
xây dựng mô hình nhận dạng chữ viết để có thể 
nhận dạng được các chữ viết bị dính nét. Việc này 
đòi hỏi cần phải sử dụng kỹ thuật phân đoạn ảnh 
nâng cao để có thể tách được các ký tự dính nét. 
Phát triển mô hình nhận dạng chữ viết tay tiếng 
Việt. Xây dựng giải thuật hậu xử lý để nâng cao tỷ 
lệ nhận dạng. Kết quả sau khi nhận dạng sẽ được 
xem xét trong ngữ cảnh để có thể giải quyết một số 
trường hợp sai so với cấu trúc ngữ pháp tiếng Việt. 
Cải tiến giải thuật giúp cho hệ thống hoạt động 
nhanh hơn để có thể đáp ứng với hệ thống thời 
gian thực.
Hình 12. Build thư viện OpenCV cho BBxM
Hình 13. Build thư viện Qt cho BBxM
Hình 14a. Nhận dạng văn bản với nhiều dòng chữ
Hình 14b. Nhận dạng văn bản nghiêng
Hình 14c. Nhận dạng văn bản có nhiễu
12 13
Soá 12, thaùng 3/2014 12 Soá 12, thaùng 3/2014 13
Khoa hoïc Coâng ngheä Khoa hoïc Coâng ngheä
Tài liệu tham khảo
BeagleBoard-xM Rev C System Reference Manual. April 4th, 2010.
Bui Minh Thanh, Truong Quang Vinh, Hoang Trang. 2012. “An Automatic Licence Plate Recognition 
System Based on Support Vector Machine”. The Second Solid-State Systems Symposium – VLSIs and 
Semiconductor Related Technologies. pp 31-36.
Jose Israel Pacheco. 2011. “A comparative study for the handwritten digit recognition problem”. 
Presented to the Department of Mathematics and Statistics California State University, Long Beach.
Le Anh Cuong, Ngo Tien Dat, Nguyen Viet Ha. 2010. “Isolated Handwritten Vietnamese Character 
Recognition with Feature Extraction and Classifier Combination”. VNU Journal of Science, Mathematics 
- Physics 26. pp 123-139.
Lê Trần Hùng Ân. 2012. “Nhận dạng chữ viết tay”. Luận văn tốt nghiệp đại học. Trường Đại học 
Bách Khoa, Đại học QG TPHCM.
Merciadri Luca, Köen Kooi. 2010. Ångström Manual.
OpenCV Reference Manual v2.1. 2010.
Phạm Anh Phương. 2009. “Một số phương pháp trích chọn đặc trưng hiệu quả cho bài toán nhận 
dạng chữ viết tay rời rạc”. Tạp chí khoa học, Đại học Huế. số 53. pp. 73-79.
Phạm Anh Phương, Ngô Quốc Tạo, Lương Chi Mai. 2008. “Vietnamese Handwritten Character 
Recognition By Combining SVM and Haar Wavelet Features”. Các công trình nghiên cứu khoa học, 
nghiên cứu triển khai CNTT - TT. Số 20. pp. 36-42.
Y. LeCun and C. Cortes. 2012. “The MNIST Database of Handwritten Digits.” Internet: 
lecun.com/exdb/mnist/
PHƯƠNG PHÁP CHIẾT HESPERIDIN TỪ VỎ QUẢ QUÝT HỒNG 
Ở HUYỆN LAI VUNG - ĐỒNG THÁP
Lê Thị Thanh Xuân *
* Thạc sĩ - Khoa Hóa-Sinh-KTNN, Trường Đại học Đồng Tháp
Tóm tắt
Quả quýt hồng thu hái tại vườn ở huyện Lai Vung, tỉnh Đồng Tháp, được xử lý sơ bộ và thực hiện 
phương pháp tách, chiết để tiến hành tách hesperidin từ vỏ quả quýt hồng, sản phẩm thu được là tinh thể 
màu trắng kết tinh trong methanol. Tinh thể sau khi thu được tiến hành xác định nhóm chức bằng phổ 
IR. Đồng thời thực hiện quá trình chưng cất thu được tinh dầu và xác định thành phần hóa học chính 
trong tinh dầu là limonene chiếm 86,162%. 
Từ khóa: Quýt hồng, phương pháp tách, tách hesperidin, tinh dầu, thành phần hóa học.
Abstract
Tangerines are harvested in the garden of Lai Vung district, Dong Thap province, which are treated 
crudely. Through extraction method, hesperidin is separated from Tangerine’s skin and a white crystal 
is obtained, which is crystalized in methanol. After the crystal is obtained, it is defined its group by 
spectrum IR. At the same time, as the process of distillation is carried out, essential oil is obtained, and 
the main chemical composition in essential oil to be defined is limonene with 86,162%.
Keywords: Tangerines of Lai Vung, separation method, separation hesperidin, essential oil, chemical 
composition. 
1. Mở đầu
Quýt (Citrus Reticulata Blanco) thuộc chi Cam 
(Citrus), họ Cam (Rutaceae), là cây ăn quả được 
trồng phổ biến ở Việt Nam nhưng nhiều nhất là ở 
các tỉnh miền Đông Nam Bộ và Đồng bằng sông 
Cửu Long. Vỏ quả quýt hồng có chứa nhiều tinh 
dầu và hợp chất hesperidin. Hesperidin là một loại 
hoạt chất quý được sử dụng rộng rãi trong bào chế 
nhiều loại thuốc, biệt dược và thực phẩm chức 
năng. Hesperidin có tác dụng kháng viêm, chống 
ôxy hóa, chống dị ứng, chống ung thư, kháng vi 
sinh vật (vi khuẩn, nấm, vi rút), chống loãng 
xương và đặc biệt khi dùng phối hợp với vitamin C 
có tác dụng cộng hưởng và hỗ trợ hấp thụ vitamin 
C rất tốt. Ngày nay, trong y học lâm sàng, người 
ta đang sử dụng nhiều loại thuốc và biệt dược 
được bào chế từ hesperidin để điều trị một số bệnh 
theo nhóm dược lý như bệnh về hệ mạch, bệnh 
thấp khớp và bệnh khớp, Hesperidin thuộc vào 
nhóm các hợp chất flavonoid có trong hầu hết các 
phần của thực vật bao gồm: trong quả, thân, lá, rễ 
và hoa, trong đó hesperidin tập trung chủ yếu ở 
lớp vỏ cùi dưới dạng kết tinh. Hesperidin là hợp 
chất flavonoid chủ yếu trong vỏ quả cây họ Cửu 
lý hương (Rutaceae) thường được gọi là họ Cam. 
Nhiều loại thuốc trong số này đã và đang được sử 
dụng trong điều trị bệnh tại Việt Nam.
2. Thực nghiệm
2.1. Quy trình tách Hesperidin từ vỏ quả 
quýt hồng
2.1.1. Chiết citroflavonoid toàn phần bằng ethanol
Thuyết minh quy trình
 Vỏ quả quýt hồng sau khi xử lý sơ bộ, được 
chiết nóng với cồn ở nhiệt độ 70 – 800C trong 2 
giờ. Dịch chiết thu được đem cô quay thu hồi dung 
môi được cao ethanol, cao ethanol sau khi cô quay 
tiến hành acid hóa điều chỉnh pH=5-6 sẽ thu được 
tủa hoạt chất thô có màu vàng. Tủa tan trong cồn 
700 sau đó lọc nóng để loại bỏ bã và tạp chất, thu 
được dịch lọc, dịch lọc đem kết tinh 24 giờ thu 
citroflavonoid toàn phần.
2.1.2. Tách và tinh chế hesperidin ra khỏi 
citroflavonoid toàn phần
Thuyết minh quy trình
- Citroflavonoid toàn phần được chiết ra từ vỏ 
quả quýt hồng. Sau đó, chúng tôi tiến hành tách 
hesperidin ra khỏi hỗn hợp citroflavonoid toàn 

File đính kèm:

  • pdfthiet_ke_he_thong_nhung_nhan_dang_chu_viet_tay.pdf