nhom-13-bao-cao-do-an-chuyen-nghanh (1).docx

nguyenvietthaithainv 41 views 48 slides Oct 19, 2024
Slide 1
Slide 1 of 48
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48

About This Presentation

Đồ án Khoa học máy tính xây dựng chatbot


Slide Content

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
NHÓM-13 Báo-cáo-Đồ-án-chuyên-nghành
Cơ bản công nghệ thông tin (Trường Đại học Công nghiệp Hà
Nội)
Scan to open on Studocu

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
Studocu is not sponsored or endorsed by any college or university

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
--------- * * * ---------
BÁO CÁO BÀI TẬP LỚN
HỌC PHẦN ĐỒ ÁN CHUYÊN NGÀNH
ĐỀ TÀI:
XÂY DỰNG ỨNG DỤNG TRÍCH XUẤT THÔNG TIN TỪ CĂN
CƯỚC CÔNG DÂN
Giảng viên hướng dẫn: Ths. Nguyễn Lan Anh
Lớp: 20221IT6052001 Khoá K14
Nhóm 13
Sinh viên thực hiện:
Nguyễn Đức Thiệp - 2019605294
Triệu Quang Trường -
2019605040 Nguyễn Hữu Thảo -
2019604211
Hà Nội , 2022

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
I.Thông tin chung
PHIẾU HỌC TẬP NHÓM
1.Tên lớp : 20221IT6052001 Khóa : K14
2.Tên nhóm :13 Họ và tên thành viên trong nhóm :Nguyễn Đức Thiệp,
Nguyễn Hữu Thảo, Triệu Quang Trường
II.Nội dung học tập
1.Tên chủ đề : Xây dựng ứng dụng trích xuất thông tin từ CCCD
2.Hoạt động của sinh viên:
-Hoạt động/Nội dung 1: Xây dựng hệ thống CSDL. Mục tiêu/chuẩn đầu ra: Có hệ
thống cơ sở dữ liệu.
-Hoạt động/Nội dung 2: Xây dựng giao diện chương trình. Mục tiêu/chuẩn đầu ra: Có
được giao diện chương trình.
-Hoạt động/Nội dung 3: Xây dựng mã logic theo từng module. Mục tiêu/chuẩn đầu ra:
Có code chương trình.
-Hoạt động/Nội dung 4:Test chương trình. Mục tiêu/chuẩn đầu ra: Có được testcase và
test plan.
-Hoạt động/Nội dung 5: Hoàn thiện được báo cáo. Mục tiêu/chuẩn đầu ra: Có word
báo cáo chương trình
3.Sản phẩm nghiên cứu: Xây dựng ứng dụng trích xuất thông tin từ CCCD
III.Nhiệm vụ học tập
1.Hoàn thành Tiểu luận, Bài tập lớn,Đồ án/Dự án theo đúng thời gian quy định
(từ ngày 10/2022 Đến ngày 30/12/2022)
2.Báo cáo sản phẩm nghiên cứu theo chủ đề được giao trước giảng viên và những
sinh viên khác
IV.Học liệu thực hiện Tiểu luận, Bài tập lớn, Đồ án/Dự án
1.Tài liệu học tập :
1.1.Trần Hùng Cường, Trần Thanh Hùng, Giáo trình khai phá dữ liệu, Hà
Nội, NXB Thống kê, 2017
1.2.Nguyễn Mạnh Cường, Trần Hùng Cường, Giáo trình nhập môn lý
thuyết nhận dạng, Hà Nội, Nhà NXB Giáo dục VN, 2014
1.3.Trần Hùng Cường, Nguyễn Phương Nga, Giáo Trình Trí Tuệ Nhân Tạo,
Hà Nội, Nhà Xuất Bản Giáo Dục Việt Nam , 2014.
1.4.Nguyễn Văn Hậu, Giáo trình Python cơ bản, Hà Nội, NXB Đại học
Quốc Gia Hà Nội, 2014
1.5.Nguyễn Thị Thanh Huyền, Ngô Thị Bích Thúy, Phạm Thị Kim Phượng,
Giáo trình phân tích thiết kế hệ thống, Hà Nội, NXB Giáo dục VN, 2011.
2.Phương tiện, nguyên liệu thực hiện Tiểu luận, Bài tập lớn,Đồ án/Dự án (nếu có)

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
KẾ HOẠCH THỰC HIỆN TIỂU LUẬN,BÀI TẬP LỚN,ĐỒ ÁN
Tên lớp : 20221IT6052001Khoá:K14
Họ và tên sinh viên : Nguyễn Đức Thiệp, Nguyễn Hữu Thảo, Triệu Quang Trường
Tên nhóm : 13
Tên chủ đề : Xây dựng ứng dụng trích xuất thông tin từ CCCD
TuầnNgười thực
hiện
Nội dung công việc Kết quả
đạt được
Phương pháp
thực hiện
1 Cả nhóm -Tìm hiểu chung nội
dung đề tài
-Chia công việc cho các
thành viên
Hiểu biết
khái quát
những vấn
đề, nội
dung cần
thực hiện
trong đề tài
Sưu tầm tài liệu
Nghiên cứu tài
liệu
Trao đổi
qua zoom
2 Nguyễn
Đức Thiệp
- Tìm hiểu vềề Machine
learning
Hoàn thiện
chương 1
Sưu tầm tài liệu
Nghiên cứu tài
liệuNguyễn
Hữu
Thảo
- Tìm hiểu về mạng
nơ- ron
Triệu
Quan
g
Trường
- Tìm hiểu vềề
Deep learning
3 Nguyễn
Đức ThiệpTìm hiểu về thị giác
máy tính
Hoàn
thiện
chương
2
Sưu tầm tài liệu
Sưu tầm dữ liệu
Nghiên cứu tài
liệu
Nguyễn
Hữu
Thảo
Tìm hiểu
CNN, mạng
Unet
Triệu
Quan
g
Trường
Tìm hiểu về mạng
T
ensorFlow
, Tesseract
4 Cả nhóm Thiết kế CSDL, thiết kế
mô tả chi tiết Use case
Xây dựng giao diện
Bảng
CSDL, mô
tả chi tiết
Use case,
các biểu đồ
use case,
bản thiết kế
giao diện
màn hình
Trao đổi qua
zoom, thực hiện
bằng các công cụ
rational rose,
balsamiq,…

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
5 Cả nhóm Code chương trình Chương
trình hoàn
thiện.
Tổng hợp/ đánh
giá
6 Cả nhóm Hoàn thiện báo cáo
word, powpoint,…
Báo cáo
hoàn thiện
Ngày….tháng…..năm
XÁC NHẬN CỦA GIẢNG VIÊN
(Kí,ghi rõ họ tên)
Nguyễn Lan Anh

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
BÁO CÁO HỌC TẬP NHÓM
Tên lớp : 20221IT6052001 Khóa : K14
Họ và tên sinh viên : Nguyễn Đức Thiệp, Nguyễn Hữu Thảo, Triệu Quang Trường
Tên nhóm : Nhóm 13
Tên chủ đề : Xây dựng ứng dụng trích xuất thông tin từ căn cước công dân
TuầnNgười thực
hiện
Nội dung công việc Kết quả đạt được Kiến nghị
với giảng
viên hướng
dẫn
1 Cả nhóm -Tìm hiểu chung
nội dung đề tài
-Chia công việc cho
các thành viên
Hiểu biết khái quát
những vấn đề, nội dung
cần thực hiện trong đề
tài
2 Nguyễn
Đức Thiệp
- Tìm hiểu vềề Machine
learning
Hoàn thiện chương 1
Nguyễn
Hữu
Thảo
- Tìm hiểu về mạng
nơ- ron
Triệu
Quang
Trường
- Tìm hiểu vềề
Deep learning
3 Nguyễn
Đức ThiệpTìm hiểu về thị giác
máy tính
Hoàn thiện
chương 2
Nguyễn
Hữu
Thảo
Tìm hiểu
CNN, mạng
Unet
Triệu
Quang
Trường
Tìm hiểu về
mạng
TensorFlow,
Tesseract
4 Cả nhóm Thiết kế CSDL, thiết kế
mô tả chi tiết Use case
Xây dựng giao diện
Bảng CSDL, mô tả chi
tiết Use case, các biểu
đồ use case, bản thiết
kế giao diện màn hình
5 Cả nhóm Code chương trình. Chương trình hoàn
thiện.
6 Cả nhóm Hoàn thiện báo cáo
word, powpoint,…
Báo cáo hoàn thiện
Ngày….tháng…..năm
XÁC NHẬN CỦA GIẢNG VIÊN
(Kí,ghi rõ họ tên)

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
Nguyễn Lan Anh

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
MỤC LỤC
DANH MỤC HÌNH ẢNH.........................................................................................................1
LỜI CẢM ƠN............................................................................................................................2
MỞ ĐẦU....................................................................................................................................3
CHƯƠNG 1: TỔNG QUAN VỀ BÀI TOÁN NHẬN DẠNG...............................................4
1.1.Machine learning....................................................................................................................4
1.2.Mạng nơ-ron ( Neural network)...........................................................................................6
1.2.1.Khái niệm.................................................................................................................6
1.2.2.Cấu tạo.....................................................................................................................7
1.2.3.Phân loại..................................................................................................................8
1.2.4.Mục đích..................................................................................................................9
1.3.Deep learning........................................................................................................................10
1.3.1.Định nghĩa..............................................................................................................10
1.3.2.Cơ sở của deep learning.......................................................................................10
1.3.3.Điểm mạnh của deep learning..............................................................................11
CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT VÀ KỸ THUẬT NHẬN DẠNG..............................12
2.1.Thị giác máy tính ( Computer vision)................................................................................12
2.1.1.Phân loại ảnh (Image classification)....................................................................12
2.1.2.Khoanh vùng đối tượng ( Object detection).......................................................13
2.1.3.Phân vùng đối tượng ( Image segmentation)......................................................14
2.2.Mạng nơ-ron tích chập (CNN)............................................................................................15
2.2.1.Giới thiệu...............................................................................................................15
2.2.2.Mô hình..................................................................................................................16
2.3.Mạng Unet.............................................................................................................................16
2.4.Mạng TensorFlow................................................................................................................17
2.4.1.Giới thiệu...............................................................................................................17
2.4.2.Lịch sử ra đời và hoạt động.................................................................................17
2.4.3.Cấu trúc Tensorflow.............................................................................................18
2.5.Tesseract................................................................................................................................18
2.5.1.Giới thiệu...............................................................................................................19
2.5.2.Lịch sử ra đời và hoạt động.................................................................................19
2.5.3.Chức năng..............................................................................................................19
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG.................................................................................19
3.1.Biểu đồ CSDL.......................................................................................................................19
3.2.Biểu đồ Use Case..................................................................................................................20
3.2.1.Mô tả use case TrichXuatTT...............................................................................20
3.2.2.Mô tả use case QuanLyTT...................................................................................21
3.3.Biểu đồ trình tự các Use case...............................................................................................22
3.3.1.Use case TrichXuatTT..........................................................................................22
3.3.2.Use case QuanLyTT..............................................................................................22
3.3.Biểu đồ phân tích các lớp Use case.....................................................................................23
3.3.1.Use case TrichXuatTT..........................................................................................24

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
3.3.2.Use case QuanLyTT..............................................................................................24
3.4.Thiết kế giao diện người dùng các use case.......................................................................25
3.4.1.Giao diện use case TrichXuatTT.........................................................................25
3.4.1.1.Hình dung màn hình......................................................................................25
3.4.1.2.Biểu đồ màn hình...........................................................................................26
3.4.1.3.Biểu đồ cộng tác các màn hình......................................................................27
3.4.2.Giao diện use case QuanLyTT.............................................................................27
3.4.2.1.Hình dung màn hình......................................................................................27
3.4.2.2.Biểu đồ màn hình...........................................................................................28
3.4.2.3.Biểu đồ cộng tác các màn hình......................................................................28
CHƯƠNG 4: CÀI ĐẶT CHƯƠNG TRÌNH.........................................................................29
4.1.Cài đặt chương trình Phần mềm........................................................................................29
4.2.Thực hiện cài đặt chương trình..........................................................................................29
4.3.Kết quả thu được..................................................................................................................30
CHƯƠNG 5 : KIỂM THỬ HỆ THỐNG..............................................................................34
5.1.Kế hoạch kiểm thử...............................................................................................................34
5.2.Test case................................................................................................................................34
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.............................................................................35
TÀI LIỆU THAM KHẢO......................................................................................................36

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
CÁC TỪ VIẾT TẮT
STT Ký hiệu Ý nghĩa
1 API Application Programming Interface
2 ML Machine learning
3 DNN Deep neural network
4 CNN Convolutional neural network
5 KWS Keyword spotting
6 RNN Return neural network
7 ReLU Rectifier Linear Unit

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
DANH MỤC HÌNH ẢNH
Hình 1. Trợ lý ảo Alexa của Amazon.............................................................................4
Hình 2. Định nghĩa Neural Network là gì ?....................................................................6
Hình 3. Kiến trúc mạng Neural network.........................................................................8
Hình 4. Deep Learing là gì ?.........................................................................................10
Hình 5. Deep Learing hoạt động như thế nào ?............................................................11
Hình 6. Image Classfication..........................................................................................12
Hình 7. Object detection...............................................................................................13
Hình 8. Image segmentation.........................................................................................15
Hình 9. Bảng ma trận RGB...........................................................................................16
Hình 10. Mô hình CNN.................................................................................................16
Hình 11. Hình ảnh mô tả kiến trúc U-net......................................................................17
Hình 12. Kiến trúc TensorFlow....................................................................................18
Hình 13. Biểu đồ CSDL................................................................................................20
Hình 14. Biểu đồ Use case............................................................................................20
Hình 15. Biểu đồ trình tự Use case TrichXuatTT.........................................................22
Hình 16. Biểu đồ trình tự Use case QuanLyTT............................................................23
Hình 17. Biểu đồ phân tích lớp Use case TrichXuatTT................................................24
Hình 18. Biểu đồ phân tích lớp Use case QuanLyTT...................................................25
Hình 19. Hình dung màn hình use case TrichXuatTT..................................................26
Hình 20. Biểu đồ màn hình use case TrichXuatTT.......................................................26
Hình 21. Biểu đồ cộng tác các màn hình use case TrichXuatTT..................................27
Hình 22. Hình dung màn hình use case QuanLyTT......................................................27
Hình 23. Biểu đồ màn hình use case QuanLyTT..........................................................28
Hình 24. Biểu đồ cộng tác các màn hình use case QuanLyTT.....................................28
Hình 25. Giao diện quét ảnh.........................................................................................31
Hình 26. Giao diện chọn bản ghi..................................................................................31
Hình 27. Giao diện chọn ảnh.........................................................................................31
Hình 28. Ảnh được quét................................................................................................32
Hình 29. Thông tin chi tiết bản ghi ảnh được quét........................................................32
Hình 30. Giao diện quản lý thông tin............................................................................32
Hình 31. Giao diện xem thông tin chi tiết.....................................................................32
Hình 32. Giao diện chọn cách sửa thông tin.................................................................33
Hình 33. Giao diện chọn cách sort................................................................................33
Hình 34. Giao diện cài đặt ứng dụng............................................................................33
Hình 35. Giao diện chỉnh màu ứng dụng......................................................................33

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
LỜI CẢM ƠN
Lời đầu tiên cho phép chúng em gửi lời cảm ơn tới các thầy cô trong khoa Công
nghệ thông tin - Trường Đại học Công Nghiệp Hà Nội, những người đã hết mình
truyền đạt và chỉ dẫn cho chúng em những kiến thức, những bài học quý báu và bổ ích.
Đặc biệt chúng em xin được bày tỏ chân thành cảm ơn giảng viên Nguyễn Lan Anh
người trực tiếp hướng dẫn, chỉ bảo chúng em trong suốt quá trình học tập, nghiên cứu
và hoàn thành được đồ án.
Gần đây chắc hẳn các bạn đã nghe nhiều tới các khái niệm như định danh điện
tử, Ekyc,... Nếu như trước đây, khách hàng muốn mở tài khoản ngân hàng, mở thẻ
ATM... sẽ phải đến trực tiếp quầy giao dịch để thực hiện các thủ tục đăng kí, xác minh
thông tin, thì giờ đây các thao tác này đều có thể thực hiện qua chiếc điện thoại nhờ
giải pháp định danh khách hàng điện tử (eKYC). Và bài toán Trích xuất thông tin từ
chứng minh thư chính là bài toán nhỏ trong ứng dụng định danh điện từ này.
Đây là một bài toán rất thường gặp trong thực tế và đã có rất nhiều mô hình
được đưa ra để giải quyết như: mô hình Naive Bayes, KNN (K-Nearest- Neighbor),
Cây quyết định (Decision Tree), Mạng Neuron nhân tạo (Artificial Neural Network)
và SVM (Support Vector Machine). Mỗi mô hình đều cho kết quả khá tốt cho bài toán
này, tuy nhiên mô hình phân loại hình ảnh bằng thuật toán CNN được sử dụng phổ
biến hơn cả và dễ dàng cài đặt. Chính vì vậy chúng em lựa chọn đề tài: “ Xây dựng
ứng dụng trích xuất thông tin từ thẻ căn cước công dân“ làm đề tài kết thúc môn học
của mình.
Trong quá trình nghiên cứu và làm đề tài, do năng lực, kiến thức, trình độ bản
thân chúng em còn hạn hẹp nên không tránh khỏi những thiếu sót và chúng em mong
mỏi nhận được sự thông cảm và những góp ý từ quý thầy cô cũng như các bạn trong
lớp.
Chúng em xin chân thành cảm ơn !
11

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
MỞ ĐẦU
Ngày nay với sự phát triển ngày càng mạnh mẽ của trí tuệ nhân tạo. Nó đã đem lại
những ứng dụng to lớn trong nhiều lĩnh vực khác nhau như xử lý ngôn ngữ tự nhiên, tự
động hoá, thị giác máy tính, …. Trí tuệ nhân tạo ngày càng trờ thành một phần không
thể thiếu của cuộc sống. Sự tồn tại và phát triển của một doanh nghiệp, cơ quan, tổ
chức nhà nước,…Không thể thiếu sự trợ giúp của trí tuệ nhân tạo. Trong việc thu nhận
và xử lý thông tin với khối lượng ngày càng lớn, nhiều lúc với những việc thủ công
không đem lại hiệu quả mong muốn, lại tốn nhiều công sức và thời gian. Nhằm đem
lại sự nhanh chóng và chính xác, giảm thiểu công sức của con người. Nhóm em đã
chọn đề tài “XÂY DỰNG ỨNG DỤNG TRÍCH XUẤT THÔNG TIN TỪ CĂN
CƯỚC CÔNG DÂN” để nghiên cứu và viết báo cáo.
Để mô tả quá trình nghiên cứu, tìm hiểu, báo cáo được chia thành 3 chương với
các nội dung như sau:
Chương 1: Tổng quan về công nghệ sử dụng
Chương 2: Cơ sở lý thuyết
Chương 3: Thiết kế hệ thống
Chương 4: Cài đặt chương trình
12

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
CHƯƠNG 1: TỔNG QUAN VỀ BÀI TOÁN NHẬN DẠNG
1.1.Machine learning
Những năm gần đây, AI - Artificial Intelligence (Trí Tuệ Nhân Tạo), và cụ thể
hơn là Machine Learning (Học Máy hoặc Máy Học) nổi lên như một bằng chứng của
cuộc cách mạng công nghiệp lần thứ tư (1 - động cơ hơi nước, 2 - năng lượng điện, 3 -
công nghệ thông tin). Trí Tuệ Nhân Tạo đang len lỏi vào mọi lĩnh vực trong đời sống
mà có thể chúng ta không nhận ra. Xe tự hành của Google và Tesla, hệ thống gợi ý
nhạc của Spotify, hệ thống tự tag khuôn mặt trong ảnh của Facebook, trợ lý ảo Siri và
Alexa của Apple và Amazon, hệ thống cửa hàng không nhân viên của Amazon, hệ
thống gợi ý phim của Netflix, máy chơi cờ vây AlphaGo của Google DeepMind, …,
chỉ là một vài trong vô vàn những ứng dụng của AI/Machine Learning.
Hình 1. Trợ lý ảo Alexa của Amazon
Machine learning (ML) là nghiên cứu khoa học về các thuật toán và mô hình
thống kê mà các hệ thống máy tính sử dụng để thực hiện hiệu quả một nhiệm vụ cụ thể
mà không cần sử dụng các hướng dẫn rõ ràng, thay vào đó dựa vào các tập mẫu và suy
luận. Nó được xem như một tập hợp con của trí tuệ nhân tạo . Các thuật toán học máy
xây dựng một mô h nh toán học của dữ liệu mẫu, được gọi là " dữ liệu huấn luyện ", để
đưa ra dự đoán hoặc quyết định mà không được lập trình rõ ràng để thực hiện nhiệm
vụ. Thuật toán học máy được sử dụng trong rất nhiều ứng dụng, chẳng hạn như lọc

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
email, hỗ trợ con người đưa ra các quyết định, xử lý thông tin tự động. Học máy có
liên quan chặt chẽ với thống kê tính toán , trong đó tập trung vào việc đưa ra dự đoán
bằng máy tính. Nghiên cứu về tối ưu hóa toán học cung cấp các phương pháp, lý
thuyết và lĩnh vực ứng dụng cho lĩnh vực học máy. Thị giác máy tính cũng là một lĩnh
vực nghiên cứu trong học máy, và tập trung vào các thuật toán xử lý thông tin từ ảnh,
âm thanh. Trong ứng dụng của mình trong các vấn đề kinh doanh, học máy cũng được
gọi là phân tích dự đoán.
Học máy có liên quan mật thiết đến thống kê, vì cả hai lĩnh vực đều nghiên cứu
việc phân tích dữ liệu, nhưng khác với thống kê, học máy tập trung vào sự phức tạp
của các giải thuật trong việc thực thi tính toán. Nhiều bài toán suy luận được xếp vào
loại bài toán NP-khó, v thế một phần của học máy là nghiên cứu sự phát triển các giải
thuật suy luận xấp xỉ mà có thể xử lý được.
Học máy có hiện nay được áp dụng rộng rãi bao gồm máy truy t m dữ liệu, các
hệ thống hỗ trợ quyết định, chẩn đoán y khoa, phát hiện thẻ tín dụng giả, phân tích thị
trường chứng khoán, phân loại các chuỗi DNA, nhận dạng tiếng nói và chữ viết, dịch
tự động, chơi trò chơi và cử động rô-bốt (robot locomotion).
Các thuật toán học máy thường được chia ra thành 2 nhóm lớn.
●Học có giám sát (supervise learning)
●Học không giám sát (unsupervise learning)
Trong học có giám sát các thuật toán được xây dựng từ tập mẫu bao gồm cả dữ
liệu đầu vào và đầu ra kỳ vọng. Ví dụ: nếu bài toán là xác định các con vật có trong
ảnh, lúc này dữ liệu cho thuật toán học có giám sát sẽ bao gồm ảnh đầu vào cũng với
đầu ra tương ứng được đánh nhãn là tên các con vật có trong ảnh. Một nhánh nhỏ khác
của học có giám sát là học bán giám sát. Học bán giám sát là thuật toán được xây
dựng trên các tập dữ liệu mà một phần dữ liệu đầu vào có thể không có nhãn.
Các thuật toán phân loại và thuật toán hồi quy là các kiểu học có giám sát. Các
thuật toán phân loại được sử dụng khi các đầu ra bị giới hạn trong một tập hợp các giá
trị giới hạn . Đối với thuật toán xác định bệnh y khoa, đầu vào sẽ là hồ sơ bệnh án của
bệnh nhân và đầu ra sẽ là tên bệnh hoặc tên nhóm bệnh của bệnh nhân đó. Đối với
thuật toán xác định bệnh ung thư, đầu ra sẽ là dự đoán của " bị ung thư " hoặc "không
bị ung thư", được biểu thị bằng các giá trị Boolean đúng và sai. Các thuật toán hồi quy
14

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
được đặt tên cho đầu ra liên tục của chúng, có nghĩa là chúng có thể có bất kỳ giá trị
nào trong một phạm vi. Ví dụ về giá trị liên tục là nhiệt độ, độ ẩm, kích thước hoặc giá
của một vật thể.
Trong học tập không giám sát , thuật toán xây dựng một mô h nh toán học từ một
tập hợp dữ liệu chỉ chứa các đầu vào và không có nhãn đầu ra mong muốn. Các thuật
toán học tập không giám sát được sử dụng để tìm cấu trúc trong dữ liệu, như phân
nhóm hoặc phân cụm các điểm dữ liệu. Học tập không giám sát có thể khám phá các
mẫu trong dữ liệu và có thể nhóm các đầu vào thành các danh mục, như trong học tập
tính năng . Giảm kích thước là quá trình giảm số lượng "tính năng" hoặc đầu vào trong
một tập hợp dữ liệu.
1.2.Mạng nơ-ron ( Neural network)
1.2.1.Khái niệm
Neural Network đọc tiếng việt là Mạng nơ-ron nhân tạo, đây 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.
Hình 2. Định nghĩa Neural Network là gì ?

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
Neural Network 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ử.
1.2.2.Cấu tạo
Mạng Neural Network là sự kết hợp của những tầng perceptron hay còn gọi là
perceptron đa tầng. Và mỗi một mạng Neural Network thường bao gồm 3 kiểu tầng
là:
●Tầng input layer (tầng vào): Tầng này nằm bên trái cùng của mạng, thể
hiện cho các đầu vào của mạng.
●Tầng output layer (tầng ra): Là tầng bên phải cùng và nó thể hiện cho những
đầu ra của mạng.
●Tầng hidden layer (tầng ẩn): Tầng này nằm giữa tầng vào và tầng ra nó
thể hiện cho quá trình suy luận logic của mạng.
❖Lưu ý: Mỗi một Neural Network chỉ có duy nhất một tầng vào và 1 tầng ra
nhưng lại có rất nhiều tầng ẩn
16

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
Hình 3. Kiến trúc mạng Neural network
Với mạng Neural Network thì mỗi nt mạng là một sigmoid nơron nhưng chúng lại có
hàm kích hoạt khác nhau. Thực tế, người ta thường sử dụng có cùng loại với nhau để
việc tính toán thuận lợi hơn. Tại mỗi tầng, số lượng nt mạng có thể khác nhau còn tùy
vào bài toán hoặc cách giải quyết.
Tuy nhiên, khi làm việc người ta sẽ để các tầng ẩn số với số lượng nowrowrron
khác nhau. Ngoài ra, những nơron nằm ở tầng thường sẽ liên kết đôi với nhau để tạo
thành mạng kết nối đầy đủ nhất. Khi đó, người dùng có thể tính toán được kích cỡ của
mạng dựa vào tầng và số lượng nơ ron.
1.2.3.Phân loại
Mạng nơ-ron nhân tạo có thể được phân loại theo phương thức dữ liệu được truyền từ
nt đầu vào đến nt đầu ra :
●Mạng nơ-ron truyền thẳng: Mạng nơ-ron truyền thẳng xử lý dữ liệu theo một
chiều, từ nt đầu vào đến nt đầu ra. Mỗi nt trong một lớp được kết nối với tất
cả các nt trong lớp tiếp theo. Mạng truyền thẳng sử dụng một quy trình phản
hồi để cải thiện dự đoán theo thời gian.

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
●Thuật toán truyền ngược : Mạng nơ-ron nhân tạo liên tục học hỏi bằng cách sử
dụng vòng lặp phản hồi hiệu chỉnh để cải thiện phân tích dự đoán của chúng.
Đơn giản mà nói, bạn có thể coi rằng dữ liệu truyền từ nt đầu vào đến nt đầu
ra qua nhiều lối đi khác nhau trong mạng nơ-ron. Chỉ có duy nhất một lối đi
chính xác, ánh xạ nt đầu vào đến nt đầu ra thích hợp. Để tìm ra lối đi này,
mạng nơ-ron sử dụng một vòng lặp phản hồi với cách thức hoạt động như sau:
●Mỗi nt đưa ra một dự đoán về nt tiếp theo trên lối đi.
●Nt này sẽ kiểm tra tính chính xác của dự đoán. Các nt sẽ chỉ
định giá trị trọng số cao hơn cho những lối đi tới nhiều dự đoán
chính xác hơn và giá trị trọng số thấp hơn cho các lối đi tới dự
đoán không chính xác.
●Đối với điểm dữ liệu tiếp theo, các nt đưa ra dự đoán mới bằng
cách sử dụng các lối đi có trọng số cao hơn rồi lặp lại Bước 1.
●Mạng nơ-ron tích chập : Những lớp ẩn trong mạng nơ-ron tích chập thực hiện
các chức năng toán học cụ thể, như tóm tắt hoặc sàng lọc, được gọi là tích
chập. Chúng rất hữu ích trong việc phân loại hình ảnh vì chúng có thể trích
xuất các đặc điểm liên quan từ hình ảnh, điều này có lợi cho việc nhận dạng và
phân loại hình ảnh. Biểu mẫu mới dễ xử lý hơn mà không làm mất đi các đặc
điểm quan trọng để đưa ra dự đoán chính xác. Mỗi lớp ẩn trích xuất và xử lý
các đặc điểm hình ảnh khác nhau, như các cạnh, màu sắc và độ sâu.
1.2.4.Mục đích
Bộ não con người chính là nguồn cảm hứng cho kiến trúc mạng nơ-ron. Các tế bào
não của con người, còn được gọi là nơron, tạo thành một mạng lưới phức tạp, có tính
liên kết cao và gửi các tín hiệu điện đến nhau để giúp con người xử lý thông tin.
Tương tự, một mạng nơ-ron nhân tạo được tạo ra từ các tế bào nơron nhân tạo, cùng
nhau phối hợp để giải quyết một vấn đề. Nơ-ron nhân tạo là các mô đun phần mềm,
18

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
được gọi là nt và mạng nơ-ron nhân tạo là các chương trình phần mềm hoặc thuật
toán mà về cơ bản, sử dụng hệ thống máy tính để giải quyết các phép toán.
1.3.Deep learning
3.1.1.Đ nh

nghĩa
Deep Learning là tập hợp con của Machine Learning và nó có tác dụng hỗ trợ cho
máy tính tự huấn luyện chính nó để có thể thực hiện mọi tác vụ tương tự như con
người. Điều này chính là giúp máy tính bắt chước con người cách học hỏi và suy nghĩ.
Các hệ thống của Deep Learning có khả năng cải thiện được những hiệu suất của
chúng với quyền truy cập vào dữ liệu sẽ được nhiều hơn.
Thông thường, phiên bản máy sẽ có nhiều kinh nghiệm hơn; những máy móc đã có
đủ kinh nghiệm thì sẽ được mang đi phục vụ cho những công việc như: lái xe, phát
hiện cỏ dại,...
Hình 4. Deep Learing là gì ?
Deep Learning có hỗ trợ cho việc dịch ngôn ngữ, phân loại các hình ảnh, nhận
dạng giọng nói. Chính vì thế, nó có thể được ứng dụng để giải quyết mọi nhu cầu cần
nhận dạng mẫu mà không cần đến sự can thiệp của con người.
3.1.2.C
ơ
s

c a

deep learning
Deep Learning là một phương pháp của Machine Learning. Mạng nơ-ron nhân tạo
trong Deep Learning được xây dựng để mô phỏng khả năng tư duy của bộ não con
người.

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
Một mạng nơ-ron bao gồm nhiều lớp (layer) khác nhau, số lượng layer càng nhiều
thì mạng sẽ càng “sâu”. Trong mỗi layer là các nt mạng (node) và được liên kết với
những lớp liền kề khác. Mỗi kết nối giữa các node sẽ có một trọng số tương ứng, trọng
số càng cao thì ảnh hưởng của kết nối này đến mạng nơ-ron càng lớn.
Mỗi nơron sẽ có một hàm kích hoạt, về cơ bản thì có nhiệm vụ “chuẩn hoá” đầu ra
từ nơ-ron này. Dữ liệu được người dùng đưa vào mạng nơ-ron sẽ đi qua tất cả layer
và trả về kết quả ở layer cuối cùng, gọi là output layer.
Hình 5. Deep Learing hoạt động như thế nào ?
Trong quá trình huấn luyện mô hình mạng nơ-ron, các trọng số sẽ được thay
đổi và nhiệm vụ của mô hình là tìm ra bộ giá trị của trọng số sao cho phán đoán là tốt
nhất.
Các hệ thống Deep Learning yêu cầu phần cứng phải rất mạnh để có thể xử lý
được lượng dữ liệu lớn và thực hiện các phép tính phức tạp. Nhiều mô hình Deep
Learning có thể mất nhiều tuần, thậm chí nhiều tháng để triển khai trên những phần
cứng tiên tiến nhất hiện nay.
3.1.3.Đi m

m nh

c a

deep learning
Một số ưu điểm vượt trội của Deep Learning gồm có:
●Kiến trúc mạng nơ-ron linh hoạt, có thể dễ dàng thay đổi để phù hợp với
nhiều vấn đề khác nhau.
●Có khả năng giải quyết nhiều bài toán phức tạp với độ chính xác rất cao.
●Tính tự động hoá cao, có khả năng tự điều chỉnh và tự tối ưu.
●Có khả năng thực hiện tính toán song song, hiệu năng tốt, xử lý được lượng dữ
liệu lớn.
20

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT VÀ KỸ
THUẬT NHẬN DẠNG
2.1.Thị giác máy tính ( Computer vision)
2.1.1.Phân loại ảnh (Image classification)
Hình 6. Image Classfication
Phân loại hình ảnh (Image classification) hay Nhận dạng hình ảnh (Image
recognition) là một trong những tác vụ của thị giác máy tính, ở đó thuật toán xem xét
và dán nhãn cho hình ảnh từ một tập danh mục được xác định và đào tạo trước.
Có nhiều thuật toán khác nhau được ứng dụng trong việc phân loại hình ảnh.
Các thuật toán này được chia thành hai nhóm chính là Học có giám sát (supervised
learning) và Học không giám sát (unsupervised learning).
❖Phân loại có giám sát
Trong học máy có giám sát, thuật toán được huấn luyện trên một tập hình ảnh
đã được dán nhãn. Từ dữ liệu mẫu này, thuật toán có thể trích xuất thông tin, phục vụ
phân loại ngay cả những hình ảnh chưa từng nhìn thấy trước đó. Các phương pháp
phân loại phổ biến dựa trên học có giám sát bao gồm:
●Support Vector Machines
●Decision Trees

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
●K Nearest Neighbors
Các mạng nơ-ron thường được sử dụng để phân loại hình ảnh có giám sát bao
gồm AlexNet, ResNet, DenseNet và Inception.
Đối với phân loại có giám sát, việc dán nhãn dữ liệu đóng vai trò quan trọng. Độ chính
xác của dữ liệu được dán nhãn quyết định phần lớn hiệu suất của mô hình học máy.
Các thuật toán phân loại có giám sát có thể được chia thành hai mục nhỏ hơn dựa trên
nhãn dữ liệu.
❖Phân loại không giám sát
Trong học máy không giám sát, thuật toán chỉ sử dụng dữ liệu thô để đào
tạo.Các nhãn phân loại thường không xuất hiện trong kiểu học này và mô hình học
bằng cách nhận dạng các mẫu trong tập dữ liệu huấn luyện.
Giống như phân loại có giám sát, các phương pháp dựa trên không giám sát
cũng liên quan đến bước trích xuất đặc điểm với các thông tin chi tiết nhất về hình ảnh.
Các đặc điểm này sau đó được xử lý bằng các phương pháp phân cụm tham số
(Gaussian Mixture Models) và phi tham số (K-means) hoặc các thuật toán học không
giám sát khác.
Các thuật toán và kỹ thuật phân loại của thị giác máy tính không chỉ giới hạn
trong dữ liệu hình ảnh 2D đơn giản mà còn mở rộng ra dưới dạng Video và ảnh 3D.
2.1.2.Khoanh vùng đối tượng ( Object detection)
Hình 7. Object detection
22

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
Object Detection đề cập đến khả năng của hệ thống máy tính và phần mềm để định
vị các đối tượng trong một hình ảnh và xác định từng đối tượng. Object Detection đã
được sử dụng rộng rãi để phát hiện khuôn mặt, phát hiện xe, đếm số người đi bộ, hệ
thống bảo mật và xe không người lái. Có nhiều cách để nhận diện đối tượng có thể
được sử dụng cũng như trong nhiều lĩnh vực thực hành. Giống như mọi công nghệ
khác, một loạt các ứng dụng sáng tạo và tuyệt vời của Object Detection sẽ đến từ các
lập trình viên và các nhà phát triển phần mềm.
Bắt đầu sử dụng các phương pháp nhận diện đối tượng hiện đại trong các ứng dụng
và hệ thống, cũng như xây dựng các ứng dụng mới dựa trên các phương pháp
này.Việc triển nhận diện đối tượng sớm liên quan đến việc sử dụng các thuật toán cổ
điển, giống như các thuật toán được hỗ trợ trong OpenCV, thư viện computer vision
phổ biến. Tuy nhiên, các thuật toán cổ điển này không thể đạt được hiệu suất đủ để
làm việc trong các điều kiện khác nhau.
Việc áp dụng đột phát và nhanh cóng của deep learning vào năm 2012 đã đưa vào
sự tồn tại các thuật toán và phương pháp phát hiện đối tượng hiện đại và chính xác
cao như R-CNN, Fast-RCNN, Faster-RCNN, RetinaNet và nhanh hơn nhưng rất chính
xác như SSD và YOLO. Sử dụng các phương pháp và thuật toán này, dựa trên deep
learning và cũng dựa trên việc học máy đòi hỏi rất nhiều kiến thức về toán học và việc
học sâu. Có hàng triệu chuyên gia lập trình và các nhà phát triển phần mềm muốn tích
hợp và tạo ra các sản phẩm mới sử dụng object detection. Nhưng công nghệ này xa
tầm tay của họ và phức tạp để hiểu và sử dụng thực tế của nó.
ImageAI, một thư viện python cho phép các lập trình viên và các nhà phát triển
phần mềm dễ dàng tích hợp các công nghệ thị giác máy hiện đại vào các ứng dụng
hiện có và mới của họ, và chỉ cần sử dụng một vài dòng mã. ImageAI hỗ trợ một danh
sách các thuật toán học máy hiện đại nhất cho việc dự đoán hình ảnh,, nhận diện vật
thể, phát diện video,...
2.1.3.Phân vùng đối tượng ( Image segmentation)
Phân vùng ảnh (Image Segmentation) là một phần quan trọng trong lĩnh vực thị
giác máy tính (Computer Vision). Nó là quá trình chia nhỏ một bức ảnh thành nhiều
phần, với mục tiêu đơn giản hóa hoặc thay đổi biểu diễn của bức ảnh để dễ dàng phân

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
tích. Phân vùng ảnh cũng có một mục tiêu chung với phát hiện vật thể (Object
Detection) là phát hiện ra vùng ảnh chứa vật thể và gán nhãn phù hợp cho chúng. Tuy
nhiên tiêu chuẩn về độ chính xác của Image Segmentation ở mức cao hơn so với
Object Detection khi nó yêu cầu nhãn dự báo đúng tới từng pixel.
Trong quá trình này, mỗi pixel trong hình ảnh được liên kết với một loại đối tượng.
Có hai kiểu phân đoạn hình ảnh chính – phân đoạn ngữ nghĩa (semantic segmentation)
và phân đoạn cá thể (instance segmentation). Từ đó, Phân vùng ảnh có thể chỉ ra
thông tin chi tiết của bức ảnh, bao gồm: Vị trí của vật thể trong ảnh, hình dạng của vật
thể và từng pixel nào thuộc về vật thể nào.
Hình 8. Image segmentation
2.2.Mạng nơ-ron tích chập (CNN)
2.2.1.Giới thiệu
Trong mạng neural, mô hình mạng neural tích chập (CNN) là 1 trong những mô
hình để nhận dạng và phân loại hình ảnh. Trong đó, xác định đối tượng và nhận dạng
khuôn mặt là 1 trong số những lĩnh vực mà CNN được sử dụng rộng rãi.
CNN phân loại hình ảnh bằng cách lấy 1 hình ảnh đầu vào, xử lý và phân loại nó
theo các hạng mục nhất định (Ví dụ: Chó, Mèo, Hổ, ...). Máy tính coi hình ảnh đầu vào
là 1 mảng pixel và nó phụ thuộc vào độ phân giải của hình ảnh. Dựa trên độ phân giải
24

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
hình ảnh, máy tính sẽ thấy H x W x D (H: Chiều cao, W: Chiều rộng, D: Độ dày). Ví
dụ: Hình ảnh là mảng ma trận RGB 6x6x3
2.2.2.Mô hình
Hình 9. Bảng ma trận RGB
Về kỹ thuật, mô hình CNN để training và kiểm tra, mỗi hình ảnh đầu vào sẽ
chuyển nó qua 1 loạt các lớp tích chập với các bộ lọc (Kernals), tổng hợp lại các lớp
được kết nối đầy đủ (Full Connected) và áp dụng hàm Softmax để phân loại đối tượng
có giá trị xác suất giữa 0 và 1. Hình dưới đây là toàn bộ luồng CNN để xử lý hình ảnh
đầu vào và phân loại các đối tượng dựa trên giá trị.
2.3.Mạng Unet
Hình 10. Mô hình CNN

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
U-Net là một mạng nơ-ron tích chập ban đầu được phát triển để phân đoạn các
hình ảnh y sinh. Kiến trúc của nó trông giống như chữ U và do đó có tên là U-Net.
Kiến trúc của nó được tạo thành từ hai phần, phần bên trái – trích xuất đặc trưng
(encoder) và phần bên phải – giải mã đặc trưng (decoder). Mục đích của encoder là cô
đọng thông tin ngữ cảnh trong khi vai trò của decoder là giải mã thông tin, xác định
chính xác các đối tượng.
Hình 11. Hình ảnh mô tả kiến trúc U-net
2.4.Mạng TensorFlow
2.4.1.Giới thiệu
TensorFlow chính là thư viện mã nguồn mở cho machine learning nổi tiếng
nhất thế giới, được phát triển bởi các nhà nghiên cứu từ Google. Việc hỗ trợ mạnh mẽ
các phép toán học để tính toán trong machine learning và deep learning đã giúp việc
tiếp cận các bài toán trở nên đơn giản, nhanh chóng và tiện lợi hơn nhiều.
2.4.2.Lịch sử ra đời và hoạt động
26

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
Vài năm trước, khi phải xử lý lượng dữ liệu khổng lồ, deep learning bắt đầu cho
thấy hiệu năng vượt trội so với tất cả các thuật toán machine learning khác. Google
sớm nhận ra tiềm năng này và nghĩ rằng họ nên sử dụng deep neural network để cải
thiện các dịch vụ của mình, trong đó có:
●Gmail.
●Hình Ảnh
●Google search engine
Thế là họ dựng 1 framework có tên là TensorFlow để các nhà nghiên cứu cũng
như lập trình viên có thể làm việc cùng nhau trên model A.I. 1 khi đã được phát triển
và scale hoàn chỉnh, rất nhiều người đã có thể sử dụng được nó.
2.4.3.Cấu trúc Tensorflow
Kiến trúc TensorFlow hoạt động được chia thành 3 phần
●Tiền xử lý dữ liệu
●Dựng model
●Train và ước tính model
2.5.Tesseract
Hình 12. Kiến trúc TensorFlow

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
2.5.1.Giới thiệu
Tesseract là một OCR (Optical Character Recognition) engine hàng đầu hiện
nay. Công cụ này được phân phối với bản quyền mã nguồn mở Apache 2.0. Nó hỗ trợ
nhận diện ký tự trên các tập tin hình ảnh và xuất ra dưới dạng kí tự thuần, html, pdf,
tsv, invisible-text-only pdf. Người dùng có thể sử dụng trực tiếp hoặc lập trình viên có
thể sử dụng các chức năng thông qua API.
2.5.2.Lịch sử ra đời và hoạt động
Tesseract được phát triển bởi Hewlett-Packard Laboratories Bristol tại Hewlett-
Packard Co, Greeley Colorado từ 1985 đến 1994. Sau đó, nó được cập nhật một số
thay đổi nhỏ và tạm ngưng phát triển từ sau 1998. Đến năm 2005, Tesseract được
phân bố dưới dạng mã nguồn mở bởi HP và được phát triển bởi Google từ năm 2006.
2.5.3.Chức năng
Hiện tại, Tesseract đã phát triển đến version 3.0x và có thể hoạt động trên 3 hệ
điều hành phổ biến là Window, Mac và Linux. Công cụ này hỗ trợ nhận diện ký tự của
hơn 100 ngôn ngữ khác nhau, bao gồm cả tiếng Việt. Không những thế, chúng ta có
thể huấn luyện chương trình dùng Tesseract để có thể nhận diện một ngôn ngữ nào đó.
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG
3.1.Biểu đồ CSDL
28

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
Hình 13. Biểu đồ CSDL
3.2.Biểu đồ Use Case
Hình 14. Biểu đồ Use case
3.2.1.Mô tả use case TrichXuatTT
1.Tên use case: Trích xuất thông tin
2.Mô tả vắn tắt: Use case này cho phép người dùng quét ảnh từ camera hoặc chọn
ảnh từ thư viện ảnh để trích xuất thông tin từ ảnh.
3.Luồng sự kiện:
3.1.Luồng cơ bản:
●Use case bắt đầu khi người dùng kích nt “Scan”. Người dùng quét hình ảnh
muốn trích xuất thông tin. Hệ thống sẽ lấy thông tin từ ảnh được quét lưu vào
CSDL bảng ANH và bảng THONG_TIN.
●Khi người dùng chọn “Scan image” hệ thống hiển thị ra thư viện ảnh của
máy. Người dùng chọn ảnh muốn quét. Hệ thống trích xuất lấy thông tin ảnh
được chọn lưu vào CSDL bảng ANH và bảng THONG_TIN.
4.Các yêu cầu đặc biệt: không có

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
5.Tiền điều kiện: không có
6.Hậu điều kiện: không có
7.Các điểm mở rộng: không có
3.2.2.Mô tả use case QuanLyTT
1.Tên use case: Quản lý thông tin
2.Mô tả vắn tắt: Use case này cho phép người quản lý thông tin quét được từ ảnh.
Người dùng có thể xem, sửa, xóa các bản ghi trích xuất thông tin từ ảnh đã
quét.
3.Luồng sự kiện:
3.1.Luồng cơ bản:
●Use case bắt đầu khi người dùng sử dụng ứng dụng, kích nt “Home”. Hệ
thống hiển thị ra danh sách các bản ghi trích xuất thông tin. Người dùng có thể
xem, sửa, xóa các bản ghi thông tin.
●Xem thông tin bản ghi: Người dụng chọn bản ghi muốn xem. Hệ thống kết nối
CSDL bảng ANH và bảng THONG_TIN. Hiển thị thông tin bản ghi lên màn
hình
●Sửa thông tin bản ghi: Người dùng chọn bản ghi muốn sửa thông tin. Chọn
“edit” hệ thống hiển thị lên màn hình lựa chọn camera và library.
●Người dùng chọn camera: Hệ thống hiển thị lên màn hình quét ảnh.
Người dùng quét ảnh mới, hệ thống trích xuất thông tin từ ảnh và
thay thế thông tin cũ của bản ghi rồi lưu vào bảng ANH và bảng
THONG_TIN.
●Người dùng chọn library: Hệ thống hiển thị lên thư viện ảnh của
máy, người dùng chọn ảnh mới muốn trích xuất thông tin. Hệ
thống trích xuất thông tin ảnh được chọn, thay thế thông tin cũ của
bản ghi và lưu vao bảng ANH và bảng THONG_TIN.
●Xóa thông tin bản ghi: Người dùng chọn bản ghi muốn xóa. Chọn “delete” hệ
thống sẽ xóa bản ghi khỏi CSDL bảng ANH và bảng THONG_TIN
4.Các yêu cầu đặc biệt: Không
5.Tiền điều kiện: Không
30

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
6.Hậu điều kiện: Không
7.Các điểm mở rộng: Không
3.3.Biểu đồ trình tự các Use case
3.3.1.Use case TrichXuatTT
Hình 15. Biểu đồ trình tự Use case TrichXuatTT
3.3.2.Use case QuanLyTT

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
32

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
Hình 16. Biểu đồ trình tự Use case QuanLyTT
3.3.Biểu đồ phân tích các lớp Use case
3.3.1.Use case TrichXuatTT
Hình 17. Biểu đồ phân tích lớp Use case TrichXuatTT
3.3.2.Use case QuanLyTT

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
Hình 18. Biểu đồ phân tích lớp Use case QuanLyTT
3.4.Thiết kế giao diện người dùng các use case
3.4.1.Giao diện use case TrichXuatTT
3.4.1.1.Hình dung màn hình
34

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
Hình 19. Hình dung màn hình use case TrichXuatTT
3.4.1.2.Biểu đồ màn hình
Hình 20. Biểu đồ màn hình use case TrichXuatTT

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
3.4.1.3.Biểu đồ cộng tác các màn hình
Hình 21. Biểu đồ cộng tác các màn hình use case TrichXuatTT
3.4.2.Giao diện use case QuanLyTT
3.4.2.1.Hình dung màn hình
Hình 22. Hình dung màn hình use case QuanLyTT
36

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
37
3.4.2.2.Biểu đồ màn hình
Hình 23. Biểu đồ màn hình use case QuanLyTT
3.4.2.3.Biểu đồ cộng tác các màn hình
Hình 24. Biểu đồ cộng tác các màn hình use case QuanLyTT

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
CHƯƠNG 4: CÀI ĐẶT CHƯƠNG TRÌNH
4.1.Cài đặt chương trình Phần mềm
—Visual Studio Code
—Ngôn ngữ lập trình: Python
—Thuật toán: YOLOv3 và CNN
—Thư viện: Keras với backend là Tensorflow
4.2.Thực hiện cài đặt chương trình
Cài đặt thư viện
Xử lý dữ liệu đầu vào và ra
38

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
4.3.Kết quả thu được
39

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
Hình 25. Giao diện quét ảnh
Hình 26. Giao diện chọn bản ghi
Hình 27. Giao diện chọn ảnh
40

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
Hình 28. Ảnh được quét
Hình 29. Thông tin chi tiết bản ghi ảnh được
quét
Hình 30. Giao diện quản lý thông tin
Hình 31. Giao diện xem thông tin chi tiết
41

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
Hình 32. Giao diện chọn cách sửa thông tin
Hình 34. Giao diện cài đặt ứng dụng
Hình 33. Giao diện chọn cách sort
Hình 35. Giao diện chỉnh màu ứng dụng
42

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
CHƯƠNG 5 : KIỂM THỬ HỆ THỐNG
5.1.Kế hoạch kiểm thử
https://docs.google.com/document/d/1Em2mNAnKe53wZcCYK9CoreYUFGh6hzpR/
edit?usp=share_link&ouid=101095472028493756512&rtpof=true&sd=true
5.2.Test case
https://docs.google.com/spreadsheets/d/1K5Kovw0O1IXE6PU4Mil3Wk-
pX3opJRdQ/edit?
usp=share_link&ouid=101095472028493756512&rtpof=true&sd=true
43

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Trong quá trình làm đề tài: “XÂY DỰNG ỨNG DỤNG TRÍCH XUẤT THÔNG TIN
TỪ CĂN CƯỚC CÔNG DÂN”, chúng em đã học hỏi được rất nhiều kiến thức chuyên
ngành và nhiều kỹ năng giúp nâng cao trình độ và phát triển bản thân. Sau khi hoàn
thành đề tài chúng em đã thu được một số kinh nghiệm sau:
●Làm quen và sử dụng ngôn ngữ lập trình Python.
●Nắm bắt kiến thức cơ bản về các kỹ thuật nhận dạng và những yếu tố cần thiết
để xây dựng một hệ thống hiệu quả chuẩn xác.
●Biết đến các kỹ thuật nhận diện vật thể và các model phổ biến hiện nay.
●Ứng dụng các thư viện như OpenCV, Numpy, Keras, … vào bài toán xác
định và nhận diện chữ và chữ số.
●Tuy nhiên còn một số vấn đề cần cải thiện:
●Tốc độ xử lý còn chậm do dựa trên việc xử lý của GPU và resource.
●Đôi khi còn có sự nhầm lẫn giữa các ký tự.
●Việc nhận dạng còn dựa trên chất lượng cũng như ánh sáng của ảnh đầu vào.
Trong thời gian tới, chúng em sẽ cố gắng tìm hiểu nhiều hơn về các công nghệ
kỹ thuật để tiến tới hoàn thiện. Qua đó ứng dụng có thể được phát triển và áp dụng
trong môi trường làm việc thực tế và giảm bớt được các trong cuộc sống hiện nay ở
nước ta.
44

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
TÀI LIỆU THAM KHẢO
1.Trần Hùng Cường, Trần Thanh Hùng, Giáo trình khai phá dữ liệu, Hà Nội,
NXB Thống kê, 2017
2.Nguyễn Mạnh Cường, Trần Hùng Cường, Giáo trình nhập môn lý thuyết
nhận dạng, Hà Nội, Nhà NXB Giáo dục VN, 2014
3.Trần Hùng Cường, Nguyễn Phương Nga, Giáo Trình Trí Tuệ Nhân Tạo, Hà
Nội, Nhà Xuất Bản Giáo Dục Việt Nam , 2014.
4.Nguyễn Văn Hậu, Giáo trình Python cơ bản, Hà Nội, NXB Đại học Quốc Gia
Hà Nội, 2014
5.Nguyễn Thị Thanh Huyền, Ngô Thị Bích Thúy, Phạm Thị Kim Phượng,
Giáo trình phân tích thiết kế hệ thống, Hà Nội, NXB Giáo dục VN, 2011.
45

lO MoA Rc PSD |4 7 2 10 5 5 8
Downloaded by Nguyen thai
Tags