Cấu trúc để thực hiện bài toán phân loại ảnh gồm: • Tiền xử lý ảnh: Mục đích của quá trình này là để cải thiện dữ liệu hình ảnh các tính năng bằng cách loại bỏ các biến dạng không mong
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
TRƯỜNG ĐIỆN – ĐIỆN TỬ
Hà Nội, 5 – 2023
Trang 2TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
TRƯỜNG ĐIỆN – ĐIỆN TỬ
Hà Nội, 5 – 2023
Trang 3L ỜI CẢM ƠN
Lời đầu tiên tôi xin gửi lời cảm ơn và lòng biết ơn sâu sắc đến thầy giáo PGS.TS Nguyễn Hữu Phát, người đã giúp tôi chọn đề tài, định hướng và tận tình chỉ bảo, hướng dẫn tôi trong suốt quá trình thực hiện luận văn này
Tôi cũng xin chân thành cảm ơn quý thầy, cô giáo trong Trường Điện Điện tử, Đại học Bách khoa Hà Nội Các thầy, cô giáo đã dạy bảo và truyền đạt nhiều kiến
thức, giúp tôi có được một nền tảng kiến thức vững chắc trong quá trình học tập
tại Đại học Bách khoa Hà Nội
Một lần nữa, tôi xin cảm ơn quý thầy cô, tôi kính chúc thầy cô luôn có sức
khỏe thật tốt để dìu dắt nhiều thế hệ sinh viên với những kiến thức hay và bổ ích
nhất
Tôi xin chân thành cảm ơn!
Trang 4TÓM T ẮT NỘI DUNG LUẬN VĂN
Trí tuệ nhân tạo đang phát triển, ảnh hưởng thiết thực đến mọi ngành công nghiệp lớn trên thế giới Trong nhiều lĩnh vực, phân loại ảnh là một bài toán được ứng dụng rộng rãi, là một phần quan trọng trong việc xây dựng hệ thống truy vấn
vấn ảnh dựa trên thông tin ảnh Với mục đích phân loại ảnh vào một hoặc nhiều
thể loại được xác định Ứng dụng công nghệ phân loại hiện nay đang phát triển rất
mạnh ở rất nhiều lĩnh vực, bên cạnh đó, trong những năm gần đây, ứng dụng học máy vào các hoạt động kinh tế, kinh doanh đạt được những lợi ích chưa từng có
Với ứng dụng thực tế trong đời sống việc phân loại ảnh, cụ thể là phân loại các voucher trong các siêu thị lớn giúp các siêu thị, nhà phân phối sản phẩm hiểu rõ được các sản phẩm, nhu cầu của khách hàng cho từng sản phẩm là như thể nào Điều này là cơ sở để phát triển các chiến lược kinh doanh, tạo các sản phẩm kế
tiếp, sao cho phù hợp với như cầu của người tiêu dùng.Tuy nhiên với số lượng dữ
liệu voucher khổng lồ, làm sao để đưa ra phân loại voucher đó thuộc sản phẩm nào, nhà cung cấp nào được nhanh và chính xác nhất khi hiện tại công việc đó đang được thực hiện bằng tay Thêm nữa khi xuất hiện thêm các ảnh dữ liệu mới chưa được đào tạo thì phải giải quyết ra sao khi không đào tại lại model Vì vậy nhận
thấy sự cần thiết của việc đề xuất hệ thông tự động phân loại ảnh ứng dụng thị giác máy tính nhằm giải quyết các vấn đề cho việc phân loại
Luận văn Thạc sĩ với đề tài “Phân lo ại voucher sử dụng mô hình học máy “
sẽ tập trung vào các vấn đề sau: Tìm hiểu, nghiên cứu chuyên sâu về các phương pháp phân loại ảnh hiện có Các kỹ thuật thực hiện bài toán phân loại ảnh, cách tạo
và thực hiện bài toán Tìm hiểu, so sánh và đưa ra phương pháp đề xuất để xử lý bài toán Cuối cùng là quá trình thực hiện, đưa ra kết quả, đánh giá, phân tích và đưa ra các giải pháp tương lai
Các vấn đề sẽ lần lượt được giải quyết bằng quá trình tìm hiều và nghiên cứu
một cách khách quan, nghiêm túc Kết quả nghiên cứu được tổng hợp và đúc kết
lại thành những kiến thức, kỹ năng và áp dụng trực tiếp vào sản phẩm thực tiễn
Kết quả cuối cùng mà luận văn hướng đến là tổng hợp và đúc kết lại nhưng
kiến thức, hiểu biết về trí tuệ nhân tạo, bài toán phân loại ảnh, các bước thực hiện,
Trang 5từ việc chuẩn bị dữ liệu, xử lý, đào tạo, đưa ra kết quả, đánh giá và cải tiến model Đảm bảo kết quả đầu ra có kết quả chính xác nhất, đưa ra sự hiệu quả của hệ thống
đã đề xuất
Luận văn cũng mở ra nhiều hướng nghiên cứu trong lĩnh vực trí tuệ nhân tạo Còn có rất nhiều vẫn đề mà chúng ta có thể gặp phải trong quá trị thực hiện và ứng
dụng trong thực tế Kết quả chính xác, tốc độ thực hiện, hiệu suất, sự thêm dữ liệu
liệu sau thời gian sử dụng lâu dài
Hà Nội, ngày tháng 5 năm 2023
Học viên (Ký ghi rõ họ tên)
Trang 6M ỤC LỤC
DANH M ỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT i
DANH M ỤC HÌNH VẼ ii
DANH M ỤC BẢNG BIỂU iii
CHƯƠNG 1 GIỚI THIỆU CHUNG 1
1.1 Gi ới thiệu chung 1
1.2 Bài toàn phân lo ại ảnh 2
1.2.1 Khái niệm 2
1.2.2 Các kỹ thuật phân loại ảnh 3
1.2.2.1 Phân lo ại có giám sát 3
1.2.2.2 Phân lo ại không giám sát (Unsupervised learning) 4
1.2.3 Một số thuật toán dùng trong bài toán phân loại 4
1.2.3.1 Support Vector Machine (SVM) 4
1.2.3.2 Decision Tree (Cây quy ết định) 5
1.2.3.3 Artificial Neural Network – ANNs (M ạng nơ-ron nhân tạo) 7
1.2.3.4 Convolutional Neural Networks – CNNs (M ạng nơ ron tích chập) 8
1.2.4 Những vấn đề đặt ra trong bài toán phân loại voucher 9
1.3 Ý tưởng xây dựng hệ thống và các kỹ thuật sử dụng 9
1.4 Các k ỹ thuật đề xuất 11
1.4.1 Kỹ thuật trích lọc đặc trưng 11
1.4.2 Kỹ thuật phân loại 11
1.5 K ết luận 11
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 12
2.1 Ảnh số và một số không gian màu biểu diễn ảnh số 12
2.1.1 Phân loại ảnh số 12
2.1.2 Các không gian màu biểu diễn ảnh số 13
2.1.2.1 Không gian màu RGB 14
2.1.2.2 Không gian màu HSV 14
Trang 72.2 X ử lý ảnh số 15
2.3 T ổng quan về Convolution Neural Network 18
2.3.1 Giới thiệu tổng quan 18
2.3.2 Kiến trúc CNN 18
2.3.2.1 Convolution layer 19
2.3.2.2 Pooling layer – L ớp tổng hợp 21
2.3.2.3 Fully Connected layer 21
2.3.3 Các hàm kích hoạt (Activation Function) 22
2.4 Thu ật toán tối ưu 26
2.4.1 Gradient Descent (GD) – Giảm dần độ dốc 26
2.4.2 Stochastic Gradient Descent (SDG) 27
2.4.3 Monentum 27
2.4.4 Nesterov accelerated gradient (NAG) 29
2.4.5 Adagrad 29
2.4.6 RMSprop 30
2.4.7 Adam 31
2.5 Auto-encoder 31
2.5.1 Tổng quan 31
2.5.2 Cấu trúc của Auto-encoder 32
2.6 Siamese Neural Networks 33
2.7 K ết luận 34
CHƯƠNG 3 THIẾT KẾ HỆ THỐNG, KIỂM THỬ VÀ ĐÁNH GIÁ KẾT QUẢ 35 3.1 Bài toán đặt ra 35
3.1.1 Mô tả bài toán, quy trình và các khối thực hiện 35
3.1.2 Tạo bộ dữ liệu 37
3.2 Quá trình th ực hiện 38
3.2.1 Tiền xử lý 38
3.2.2 Quá trình đào tạo 39
3.2.2.1 Khối trích xuất đặc trưng – AutoEncoder 39
3.2.2.2 Khối phân loại siamese neural network 41
3.2.3 Các chỉ số đánh giá (Metrixs) 43
3.2.4 Cấu hình sử dụng 43
3.3 Quá trình đánh giá trên tập test 44
Trang 83.3.1 Chuyển model sang dạng onnx 44
3.3.2 Tạo cở sở lưu trữ bộ dữ liệu chuẩn 44
3.3.3 Đánh giá 45
3.4 K ết quả 46
3.4.1 Kết quả trích xuất đặc trưng dùng AutoEnconder 46
3.4.2 Kết quả với model phân loại 47
3.5 Đánh giá kết quả 48
3.6 K ết luận 49
K ẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 50
TÀI LI ỆU THAM KHẢO 51
Trang 10AdaGrad Adaptive Gradient Algorithm Thuật toán Gradient thích ứng
AI Artificial Intelligent Trí tuệ nhân tạo
ANN Artificial Neural Network Mạng nơ-ron nhân tạo
CNN Convolution Neural Network Mạng nơ-ron tích chập
DenseNet Dense Convolutional Network Mạng Tích chập Kết nối Dày đặc
NAG Nesterov Accelerated Gradient Nesterov tăng tốc độ dốc
ReLU Rectified Linear Unit Đơn vị tuyến tính chỉnh lưu
Resnet Residual networks Mạng phần dư
RMSprop Root Mean Square
Propagation
Lan truyền bình phương trung bình gốc
SDG Stochastic Gradient Descent Độ dốc ngẫu nhiên
SNN Siamese Neural Network Mạng nơ-ron siamese
SVM Support vector machine
algorithm
Máy vector hỗ trợ
Trang 11ii
Hình 1.1 Thuật toán SVM [1] 5
Hình 1.2: Mô hình cây quyết định [2] 6
Hình 1.3 Tế bào thần kinh sinh học và mô hình toán học của nó [3] 8
Hình 1.4 Mô hình ANN đơn giản [4] 8
Hình 1.5 Quá trình phân loại ảnh và kỹ thuật tương ứng 10
Hình 2.1: Minh họa của không gian màu HSV [5] 15
Hình 2.2 Kiến trúc của CNN [7] 19
Hình 2.3 Zero padding [8] 20
Hình 2.4 Max-pooing [9] 21
Hình 2.5 Ví dụ về CNN phân loại chữ viết tay [10] 22
Hình 2.6 Biểu diễn giá trị của Sigmoid [11] 23
Hình 2.7 Đồ thị hàm Tanh [12] 24
Hình 2.8 Đồ thị hàm ReLU 25
Hình 2.9 Đồ thị hàm Mish [13] 25
Hình 2.10 Minh họa thuật toán GD [14] 28
Hình 2.11 Ý tưởng của NAG [15] 29
Hình 2.12 Quả cầu nặng ma sát, quả cầu đã đi qua local minumum 2 và đến được global minimum 4 [16] 31
Hình 2.13 Cấu trúc của Auto-encoder [17] 32
Hình 2.14 Ví dụ dùng siamese neural network cho phân loại chữ ký [19] 33
Hình 3.1 Quá trình đào tạo 36
Hình 3.2 Quá trình đánh giá 36
Hình 3.3 Thiết kế bộ dataset 38
Hình 3.4 Kiến trúc model Auto-encoder 40
Hình 3.5 Khối phân loại 42
Hình 3.6 Khối đánh gía ảnh test 46
Trang 12iii
Bảng 3.1:Cặp dữ liệu positive pair 41
Bảng 3.2: Cặp dữ liệu negative pair 41
Bảng 3.3: Confusion matrix [24] 43
Bảng 3.4: Thông tin cấu hình máy sử dụng 43
Bảng 3.5: Cấu trúc tập dữ liệu chuẩn 45
Bảng 3.6 Một số kết quả mới model AutoEncoder 46
Bảng 3.7: Kết quả độ chính xác trên tập real test 47
Bảng 3.8: Một số kết quả phân loại 48
Bảng 3.9: Một số trường hợp lỗi 48
Trang 131
CHƯƠNG 1 GIỚI THIỆU CHUNG
Trong phần này học viên sẽ tổng quan về bài toán phân loại ảnh, các yêu cầu
và những vấn đề cần giải quyết Cụ thể học viên sẽ tìm hiểu và tiếp cận các kỹ thuật hiện tại và ứng dụng để giải quyết bài toán phân loại voucher
1.1 Gi ới thiệu chung
Ngày nay, trí tuệ nhân tạo (AI) đang có sự ảnh hưởng thiết thực đến mọi ngành công nghiệp lớn trên thế giới Cùng với đó con người cũng đang ứng dụng công nghệ hiện đại vào trong đời sống ngày càng tăng Việc xử lý máy tính nhanh, tái
tạo nhanh các thiết bị được kết nối với internet mạnh mẽ đã khẳng định được vị
thế của AI Có thể thấy rằng, từ trên phim ảnh đến ngoài đời thực luôn xuất hiện
những lo ngại rằng máy móc hay robot sẽ thay đổi con người thậm trí sẽ khiến cho
một số vai trò trước đó của con người sẽ trở nên thừa thãi Tuy nhiên, trên thực tế khi các tổ chức/doanh nghiệp áp dụng công nghệ AI vào trong quá trình sản xuất, lao động thì sẽ cải thiện năng xuất lao động
Với sự thay đổi ngày càng tăng, sự cần thiết và ứng dụng của AI, các lĩnh
vực như học máy và các tập hợp con của nó, học sâu và mạng lưới thần kinh đã đạt được những kết quả to lớn Việc đào tạo cần các phần mềm và công cụ như bộ phân loại, cung cấp dữ liệu khổng lồ, phân tích chúng và trích xuất các tính năng
hữu ích Mục đích của quá trình phân loại ảnh là phân loại tất cả các pixel trong ảnh kỹ thuật số thành một trong nhiều lớp Phân loại ảnh có lẽ là phần quan trọng
nhất của phân tích hình ảnh kỹ thuật số Phân loại giữa các đối tượng là một nhiệm
vụ phức tạp và do đó phân loại ảnh là một nhiệm vụ quan trọng trong lĩnh vực thị giác máy tính Phân loại ảnh đề cập đến việc dán nhãn hình ảnh vào trong một trong số các lớp được xác định Có thể có n lớp trong đó các hình ảnh có thể được phân loại Việc kiểm tra và phân loại hình ảnh thủ công có thể là công việc tẻ nhạt, đặc biệt khi chúng có số lượng lớn và do đó sẽ rất hữu ích nếu chúng ta có thể tự động hóa toàn bộ quá trình này bằng thị giác máy tính Cấu trúc để thực hiện bài toán phân loại ảnh gồm:
• Tiền xử lý ảnh: Mục đích của quá trình này là để cải thiện dữ liệu hình ảnh (các tính năng) bằng cách loại bỏ các biến dạng không mong muốn
Trang 14• Trích xuất đặc trưng và đào tạo: Đây là bước quan trọng trong đó các phương pháp thống kê hoặc học sâu được sử dụng để xác định các mẫu hình ảnh thú vị nhất, các đặc trưng có thể là duy nhất cho một lớp cụ thể
và sau này sẽ giúp mô hình phân biệt giữa các lớp khác nhau Quá trình này trong đó mô hình học các đặc trưng từ tập dữ liệu được gọi là đào
tạo mô hình
• Phân loại phần tử: Bước này phân loại các đối tượng được phát hiện thành các lớp xác định trước bằng các lớp được xác định trước bằng cách
sử dụng một số kỹ thuật phân loại phù hợp để so sánh các mẫu hình ảnh
với các mẫu mục tiêu
1.2 Bài toàn phân lo ại ảnh
1.2.1 Khái ni ệm
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 danh mục được xác định và đào tạo trước
Ví dụ, với một tập hình ảnh, mỗi hình ảnh mô tả một con mèo hoặc một con chó, thuật toán sẽ quan sát toàn bộ dữ liệu và dựa trên hình dạng, màu sắc để hình thành giả thuyết liên quan đến nội dung của ảnh Kết quả thu được là từ tập dữ liệu ban đầu, các hình ảnh chó/mèo đã được phân loại một cách tự động Thực tế, thị giác góp phần tạo nên 80-85% nhận thức của con người về thế giới Hàng ngày,
một người phải thực hiện phân loại trên bất kỳ dữ liệu hình ảnh nào mà chúng ta
bắt gặp
Do đó, mô phỏng nhiệm vụ phân loại với sự trợ giúp của mạng nơ-ron là một trong những ứng dụng đầu tiên của thị giác máy tính mà các nhà nghiên cứu nghĩ đến
Trang 153
1.2.2 Các k ỹ thuật phân loại ảnh
Có nhiều thuật toán khác nhau được dựa vào 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 và học không giám sát
1.2.2.1 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ừ tập 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 thấy trước đó
Trong quá trình đào tạo, đặc điểm của ma trận hình ảnh sẽ được trích xuất dưới
dạng dữ liệu quan trọng để đưa vào xử lý Các đặc điểm này đại diện cho hình ảnh trong không gian chiều thấp (lower-dimensional feature space) và là cơ sở thuật toán tiến hành phân lọai
Trong quá trình đánh giá, các đặc điểm của ảnh thử nghiệm được thu thập và tái phân loại với sự hỗ trợ của mạng thần kinh nhân tạo
Các phương loại phân loại phổ biến dựa trên học có giám sát bao gồm:
• Support Vertor Machines
• Phân loại nhãn đơn (Single-label classification): Là tác vụ phổ biến nhất trong phần loại hình ảnh có giám sát Theo đó, mỗi hình ảnh được đại diện bởi một nhãn Mô hình đưa ra một giá trị hoặc dự đoán duy nhất cho mỗi hình ảnh mà nó xử lý
• Phân loại đa nhãn (Multi -label classification): Phân loại đa nhãn là một tác vụ phân loại trong đó mỗi hình ảnh có thể chứa nhiều hơn một nhãn hoặc một số hình ảnh chứa đồng thời tất cả các nhãn Phân loại đa nhãn xuất hiện phổ biến trong lĩnh vực xử lý hình ảnh y tế, khi một bệnh nhân
có thể được chẩn đoán mặc nhiều bệnh dựa trên dữ liệu chụp X-quang
Trang 164
1.2.2.2 Phân loại không giám sát (Unsupervised learning)
Phân loại không giám sát là nơi kết quả (nhóm pixel có đặc điểm chung) dựa trên phân tích hình ảnh mà không cần người dùng cung cấp mẫu dữ liệu Máy tính
sử dụng các kỹ thuật để xác định pixel nào liên quan và nhóm chúng thành các lớp Người dùng có thể chỉ định thuật toán nào sẽ sử dụng và số lượng đầu ra mong
muốn nhưng nếu không thì không hỗ trợ phân loại
1.2.3 M ột số thuật toán dùng trong bài toán phân loại
Có nhiều thuật toán phân loại ảnh bắt đầu với một số phân loại học máy thống
kê Support Vector Machine (SVM) và Decision Tree, sau đó các kiến trúc học sâu như Convolutional Neural Networks:
1.2.3.1 Support Vector Machine (SVM)
Support Vector Machine: Đây là thuật toán học máy có giám sát được sử dụng cho cả vấn đề hồi quy và phân loại Tuy nhiên, nó chủ yếu được sử dụng trong bài toán phân loại, ví dụ như phân loại văn bản Trong thuật toán SVM, chúng ta biểu
diễn mỗi mục dữ liệu dưới dạng một điểm trong không gian n chiều (trong đó n là
số đặc trưng mà bạn có), với mỗi giá trị của từng đặt trưng là giá trị của một tọa
độ cụ thể Sau đó, chúng ta biểu diễn phân loại bằng cách tìm siêu phẳng tối ưu phân biệt tốt hai lớp (như Hình 1-1 bên dưới)
Ưu điểm
• SVM hoạt động tốt với biên độ phân tách rõ ràng
• Nó có hiệu quả trong không gian nhiều chiều
• Nó có hiệu quả trong trường hợp số lượng kích thước lớn hơn số lượng mẫu
• SVM sử dụng một tập hợp con của tập huấn luyện trong hàm quyết định
(được gọi là vector hỗ trợ), do đó nó cũng hiệu quả về bộ nhớ
Trang 175
Support Vertor Machine là một thuật toán mạnh mẽ và được sử dụng tốt nhất
để xây dựng các mô hình học máy với tập dữ liệu nhỏ Trong thuật toán này, chúng
ta tạo ra một siêu phẳng hay
hay m ột tập các siêu mặt phẳng trong một không gian nhiều chiều và sự tách biệt tốt giữa hai lớp đạt được nhờ siêu phẳng có kho ảng cách lớn nhất đến điểm dữ liệu huấn luyện gần nhất của bất kỳ lớp nào Sức mạnh của thuật toán này phụ thuộc vào kernel đang được sử dụng
1.2.3.2 Decision Tree (Cây quyết định)
Decision Tree là một thuật toán của học có giám sát Cây quyết định có thể được sử dụng để giải quyết các bài toán về hồi quy và phân loại Cây quyết định
có thể được giải thích bởi hai thực thể, đó là các nút quyết định và các lá Các lá là các quyết định hoặc kết quả cuối cùng Và các nút quyết định là nơi dữ liệu được phân chia
Mục tiêu của việc sử dụng cây quyết định là tạo một mô hình đào tạo có thể sử
dụng để dự đoán loại hoặc giá trị của biến mục tiêu bằng các học các quy tắc quyết định đơn giản được suy ra từ dữ liệu trước đó (dữ liệu đào tạo)
Trang 186
Trong cây quyết định, để dự đoán lớp nhãn cho bản ghi, chúng ta bắt đầu từ
Root (gốc) của cây Chúng ta so sánh các giá trị của thuộc tính gốc với thuộc tính
của bản ghi Trên cơ sở so sánh, ta đi theo nhánh tương ứng với giá trị đó và nhảy sang nút tiếp theo
Các thuật ngữ quan trọng liên quan đến Cây quyết định:
• Root Node (Nút gốc): Đại diện cho toàn bộ mẫu và được chia thành nhiều tập hợp đồng nhất
• Splitting (Tách): Đây là quá trình chia các nút thành hai hay nhiều nút
nhỏ
• Decision Node (Nút quyết định): Khi một nút con tách thành các nút con khác thì nó được gọi là nút quyết định
• Leaf /Terminal Node (Lá /Nút đầu cuối): Các nút không phân chia được
gọi là lá hoặc nút đầu cuối
• Pruning (Cắt tỉa): Khi chúng ta loại bỏ các nút con của một nút quyết định, quá trình này được gọi là cắt tỉa Có thể hiểu nó quá trình phân tách ngược
• Branch /Sub-Tree: Một phần con của toàn bộ cây được gọi là nhánh
hoặc cây con
• Parent and Child Node ( Nút cha và nút con): Một nút được chia thành các nút con được gọi là nút cha của các nút con trong khi các nút con là nút con của nút cha
Hình 1.2: Mô hình cây quy ết định [2]
Ưu điểm
Trang 197
Cây quyết định là một thuận toán đơn giản và phổ biến Thuật toán này được
sử dụng rộng rãi bởi những ưu điểm của nó:
• Mô hình sinh ra các quy tắc dễ hiểu cho người đọc, tạo ra bộ luật với
mỗi nhánh là là một luật của cây
• Dữ liệu đầu vào có thể là dữ liệu missing, không cần chuẩn hóa hoặc
tạo biến giả
• Có thể làm việc với cả dữ liệu số và dữ liệu phân loại
• Có thể xác thực mô hình bằng cách sử dụng các kiểm tra thống kê
• Có khả năng làm việc với dữ liệu lớn
Nhược điểm
Bên cạnh đó, cây quyết định cũng có những nhược điểm cự thể như sau:
• Mô hình cây quyết định phụ thuộc rất lớn vào dữ liệu đầu vào Thậm chí, với một số thay đôi nhỏ trong bộ dữ liệu, cấu trúc mô hình cây quyết định có thể thay đổi hoàn toàn
• Cây quyết định hay gặp vấn đề overfitting
1.2.3.3 Artificial Neural Network – ANNs (Mạng nơ-ron nhân tạo)
Về cơ bản đây là một mô hình tính toán, chúng được xây dựng dựa trên cấu trúc và chức năng của mạng lưới nơ-ron trong Sinh học
ANN lấy ý tưởng từ cách hoạt động của bộ não con người- tạo ra các kết nối phù hợp, bắt chước cách tế bào thần kinh sinh học truyền tín hiệu cho nhau Mạng nơ-ron nhân tạo bao gồm các nút, chứa lớp đầu vào, một hoặc nhiều lớp ẩn và lớp đầu ra Mỗi nút kết nối với nút khác và có trọng số và ngưỡng liên quan Nếu đầu
ra của bất kỳ nút riêng lẻ nào cao hơn giá trị ngưỡng đã chỉ định, nút đó sẽ được kích hoạt, gửi dữ liệu đến các lớp tiếp theo của mạng Mặt khác, không có dữ liệu nào được truyền sang lớp tiếp theo của mạng
Mạng lưới thần kinh dựa vào dữ liệu đào tạo để tìm hiểu và cải thiện độ chính xác theo thời gian Sau khi các thuật toán này được tinh chỉnh để đạt được độ chính xác, chúng sẽ là những công cụ mạnh mẽ trong khoa học máy tinh và trí tuệ nhân
tạo
Trang 208
Hình 1.3 T ế bào thần kinh sinh học và mô hình toán học của nó [3]
ANN gồm ba thành phần chính: Input Layer và Output layer chỉ gồm 1 layer, hidden layer có thể có nhiều layer tùy vào bài toán cụ thể ANN hoạt động theo hướng mô tả lại cách hoạt động của hệ thần kinh với các nơ-ron được kết nối với nhau Trừ Input Layer thì tất cả các node thuộc các layer khác đều Fully-connected
với các node thuộc layer trước nó Mỗi node thuộc Hidden layer nhận đầu vào từ layer trước và kết hợp với trọng số để được ra kết quả
Hình 1.4 Mô hình ANN đơn giản [4]
1.2.3.4 Convolutional Neural Networks – CNNs (Mạng nơ ron tích chập)
Mạng nơ-ron tích chập là cấu trúc đặc biệt của mạng nơ-ron nhân tạo CNN sử
dụng một số tính năng của vỏ não thị giác và do đó đã đạt được kết quả hiện đại trong các nhiệm vụ thị giác máy tính Mặc dù đơn giản nhưng có vô số cách sắp
Trang 219
xếp các lớp này cho một bài toán thị giác máy tính nhất định Các thành phần của
mạng nơ-ron tích chập, chẳng hạn như các lớp tích chập và lớp pooling, tương đối
dễ hiểu
1.2.4 Nh ững vấn đề đặt ra trong bài toán phân loại voucher
Hệ thống phân loại và tính các voucher giảm giá tại các siêu thị hầu hết đang được làm thủ công, tốn rất nhiều thời gian vào việc phân loại và tổng hợp các voucher số tiền được giảm và gửi về các nhà phân phối của từng mã hàng đó Vậy
với số lượng lớn các mã voucher đến từ nhiều nhà cung cấp khác nhau sẽ làm thế nào đề tiết kiệm thời gian và nhanh chóng đưa ra kết quả chính xác nhất Thêm
nữa, bộ dữ liệu đầu vào cho các loại voucher là khá ít, để dự đoán tốt học viên cần nghiên cứu lựa chọn model phù hợp nhất Hiện tại các kỹ thuật liên quan đến học sâu rất phát triển, áp dụng các kỹ thuật này vào các bài toán phân loại đưa ra độ chính xác tốt Và việc áp dụng kỹ thuật học sâu vào bài toán phân loại voucher là phương án mà học viên lựa chọn Tuy nhiên các kỹ thuật phân loại có thể áp dụng thành công cho bài toán này nhưng chưa chắc đã thành công cho các bài toán khác
Vì vậy cần đảm bảo yếu tố sau:
• Xây dựng bộ dữ liệu: Việc xây dựng bộ dữ liệu đào tạo ban đầu là rất quan trọng, đây là cơ sở để đào tạo sẽ quyết định phần lớn độ chính xác,
độ nhạy của hệ thống
1.3 Ý tưởng xây dựng hệ thống và các kỹ thuật sử dụng
Mục tiêu của thuật toán là đưa ra giải pháp phân loại voucher đúng với các giá
trị mã giảm giá, và đúng với nhà phân phối của sản phẩm đó
Với những vấn đề và mục tiêu của bài toán, mô hình thuật toán cho phân loại
sẽ được thực hiện như Hình 1.5 Việc chuẩn bị bộ data chuẩn cần được thực hiện trước khi đưa vào các quá trình tiếp theo Module trích xuất đặc trưng sẽ nhận các ảnh đầu vào học các đặc trưng của ảnh đó để làm đầu vào cho module phân loại
tiếp theo Dựa vào các đặc trưng đã học được từ module trước, bộ phân loại sẽ phân loại xem ảnh voucher thuộc class nào
Trang 2210
Hình 1.5 Quá trình phân lo ại ảnh và kỹ thuật tương ứng
Như mô tả trong Hình 1.5, trước khi thực hiện quá trình phân loại, học viên
thực hiện tiền xử lý ảnh Đầu tiên, hình ảnh được thay đổi kích thước về dạng tiêu chuẩn để đồng bộ quá trình xử lý, tiếp theo hình ảnh sẽ được chuyển đổi hệ màu,
vì gần đây các mạng học sâu đã cho thấy hiệu suất tốt cho nhiệm vụ phân loại ảnh
Hầu hết các bộ dữ liệu ảnh đầu vào đều để ở định dạng hình ảnh RGB và việc phân
loại được thực hiện mà không có sự thay đổi Tầm quan trọng của không gian màu
có thể ảnh hưởng đến độ chính xác của phân loại
Quá trình trích xuất đặc trưng được học viên sử dụng mạng nơ-ron Auto Encoder để học các đặc trưng của các ảnh đầu vào Kết quả của quá trình này sẽ là đầu vào cho quá trình tiếp theo, quá trình phân loại
Sau khi có các đặc trưng của ảnh, học viên sử dụng mạng nơ-ron Siamese Đây
là mạng nơ-ron chứa hai hay nhiều mạng con giống hệt nhau Siamese được sử
Trang 23Ở những bộ dữ liệu nhiều chiều thì huấn luyện mô hình và dự đoán cần tiêu
tốn rất nhiều chi phí tính toán Chính vì thế trích lọc đặc trưng là một kỹ thuật giúp
giảm chiều dữ liệu mà ở đó cho phép ta lựa chọn hoặc loại bỏ những đặc trưng không thực sự chứa thông tin hữu ích cho bài toán phân loại, mà vẫn thể hiện một cách chính xác và nguyên vẹn của dữ liệu gốc
Trích lọc đặc trưng được áp dụng trong nhiều bài toán khác nhau của học sâu
Một kỹ thuật hiệu quả cần tìm hiểu trong bài toán là Auto-Encoder Kỹ thuật này
sẽ tự động mã hóa dữ liệu đầu vào từ không gian nhiều chiều sang không gian thấp chiều Sau đó giải mã ngược lại từ không gian thấp chiều sang không gian nhiều chiều sao cho thông tin đầu ra của quá trình giải mã và đầu vào gần bằng nhau
1.4.2 K ỹ thuật phân loại
Các kỹ thuật phân loại đối tượng đặc biệt được chú ý trong xử lý ảnh, nó là
một bài toán lớn trong các ứng dụng trí tuệ nhân tạo Trong nội dung bài toán của
đề tài này, các yêu cầu đặt ra cho bộ phân loại là có thể phân biệt được các ảnh Về
độ chính xác yêu cầu phải cao, điều này sẽ đảm bảo độ chính xác của việc phân
Trang 2412
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
Chương này sẽ trình bày về cơ sở lý thuyết, thông qua việc tìm hiểu, khai phá tri thức từ các nguồn dữ liệu khổng lồ, từ những thành tựu đã đạt được, những công trình nghiên cứu của các chuyên gia trong lĩnh vực Chương 2 sẽ trình bày chi tiết
về cơ sở lý thuyết như sau
2.1 Ảnh số và một số không gian màu biểu diễn ảnh số
Ảnh số là khái niệm dùng để chỉ biểu diễn số học của hình ảnh trong máy tính, thường là biểu diễn nhị phân Ảnh số bao gồm ảnh raster và ảnh vector Tuy nhiên
ở đây học viên chỉ đề cập đến ảnh raster – đối tượng chính của xử lý ảnh và thị giác máy tính
Ảnh Raster là tập hợp hữu hạn các giá trị số, gọi là điểm ảnh (Pixel) Thông thường một hình ảnh được chia thành các hàng và cột chứa điểm ảnh Điểm ảnh là thành phần bé nhất biểu diễn ảnh, có giá trị số biểu diễn màu sắc, độ sáng… của
một thành phần trong bức ảnh
Cấu trúc của ảnh số là tập hợp các điểm ảnh với mức xám phù hợp đề mô tả ảnh gần với ảnh thực Điểm ảnh (Pixel) chính là một phần tử của ảnh số tại tọa độ (x, y) với độ xám hoặc màu nhất định Kích thước và khoảng cách giữa các pixel được lựa chọn thích hợp Có thể giúp mắt người cảm nhận sự liên tục về không gian và mức xám (hoặc màu) của ảnh gần nhất với cảnh thực
Mật độ pixel được ấn định trên một ảnh chính là độ phân giải của ảnh Đô phân
giải càng thấp thì hình ảnh hiển thị càng mờ, ngược lại độ phân giải càng cao thì ảnh càng sắc nét Mức xám của ảnh số là kết quả của sự mã hóa tương ứng cường
độ sáng của mỗi điểm ảnh và giá trị số
2.1.1 Phân lo ại ảnh số
Ảnh đen trắng
Ảnh đen trắng là loại ảnh gồm hai màu đen và trắng, không chứa các màu khác
Thực tế ảnh đen trắng lại được chia thành hai loại khác nhau là ảnh nhị phân và ảnh đa mức xám (Grayscale) Người ta phân mức đen trắng của ảnh thành L mức
Trang 2513
Nếu L bằng 2 nghĩa là chỉ có 2 mức 0 và mức 1, hay còn được gọi là ảnh nhị phân
Nếu L lớn hơn 2 thì ta sẽ có ảnh đa mức xám
Nói cách khác, mỗi điểm ảnh nhị phân được mã hóa trên 1 bit còn ảnh xám
256 mức được mã hóa trên 8 bit (1 byte) Với ảnh đen trắng, nếu ta dùng 8 bit để
biểu diễn mức xám thì có thể biểu diễn được 256 mức xám Mỗi mức xám sẽ được
biểu diễn dưới dạng một số nguyên nằm trong khoảng từ 0 đến 255 Trong đó mức
0 biểu diễn cho mức cường độ đen nhất và 255 biểu diễn cho mức cường độ sáng
Qua nghiên cứu thị lực của người với màu sắc, James Clerk Maxwell đã phát
hiện ra rằng các tế bào hình nón chia thành 3 loại: một loại nhạy cảm với ánh sáng
đỏ, một loại nhạy cảm với xanh lá, loại còn lại nhạy cảm với xanh dương, ông phán đoán rằng mắt người có thể tổng hợp một màu sắc bất kỳ dựa trên ba màu cơ bản trên Các cuộc thử nghiệm thành công sau đó đã mở ra một kỉ nguyên mới về nhiếp ảnh màu
Máy ảnh màu kỹ thuật số có bộ phận phân tách ánh sáng thành ba phổ màu cơ
bản riêng biệt: đỏ (R); xanh lá (G); xanh dương (B) Mỗi phổ màu này được biến đổi thành tín hiệu số và lưu trữ riêng biệt Mỗi kênh màu được lưu trữ tương tự như ảnh đa mức xám Nếu dùng 8bit để mã hóa giá trị một kênh màu của điểm ảnh, với 3 kênh màu, để biểu diễn một điểm ảnh cần 24 bit Nghĩa là cần gấp 3 lần không gian lưu trữ cho ảnh màu so với ảnh đa mức xám Các kỹ thuật phân đoạn ảnh dựa trên màu sắc được thực hiện trên ảnh màu
2.1.2 Các không gian màu bi ểu diễn ảnh số
Không gian màu là một mô hình có thể được sử dụng để biểu thị nhiều màu
mà hệ thống thị giác của chúng ta có thể cảm nhận được (tuy nhiên, thông thường
nhất, chúng chỉ có thể biểu thị một tập hợp con của những màu này) Theo màu
sắc, chúng ra thường đề cập đến các màu sắc mà hệ thống thị giác của con người
có thể cảm nhận được và các màu sắc khác nhau có thể thu được bằng tất cả các
Trang 2614
kết hợp có thể có của tất cả các màu ánh sáng từ quang phổ nhìn thấy được Phạm
vi của các màu có thể được đại diện bởi một hệ thống cụ thể được gọi là gam màu
Một không gian màu ở dạng đơn giản nhất, có thể được coi là sự kết hợp của ba màu cơ bản là đỏ, xanh lục, xanh lam Hệ thông không gian màu cho phép mỗi màu được xác định theo số học, bằng cách đó ta có thể chọn và lặp lại các màu nào
đó thật chính xác
2.1.2.1 Không gian màu RGB
RGB là không gian màu phổ biến dùng máy tính, máy ảnh, điện thoại và nhiều thiết bị kỹ thuật số khác nhau Không gian màu này khá gần với cách mắt người
tổng hợp màu sắc Nguyên lý cơ bản là sử dụng 3 màu sắc cơ bản R (red – đỏ), G (green – xanh lục) và B (blue – xanh lam) để biểu diễn tất cả các màu sắc
Thông thường, trong mô hình 24bit mỗi kênh màu sử dụng 8bit để biểu diễn,
tức là từng giá trị R, G, B nằm trong khoảng 0 – 255 Bộ 3 số này biểu diễn cho
từng điểm ảnh, mối số biểu diễn cho cường độ của một màu Với mô hình màu 24bit thì số màu tối đa có thể tạo ra là 255x255x255 màu Không gian màu RGB
biểu thị hình ảnh dưới dạng mạng số m-n-3 Phạm vi của các giá trị số phụ thuộc vào các loại dữ liệu của hình ảnh:
• Cho mảng đơn và kép, giá trị RGB nằm trong khoảng [0,1]
• Cho mảng uint8, giá tị RGB nằm trong khoảng [0,255]
• Cho mảng uint16, giá trị RGB nằm trong khoảng [0, 65535]
2.1.2.2 Không gian màu HSV
Mô hình màu HSV trực quan hơn mô hình màu RGB Trong không gian này,
H đại diện đại diện cho tông màu, độ bão hòa S là lượng màu, và V được gọi cường
độ, giá trị hoặc độ sáng, nó cho phép phân biệt giữa màu tối và màu sáng Giá tị H
nằm trong khoảng [0,360], giá trị S và V nằm trong khoảng [0, 255]
Trang 2715
Hình 2.1: Minh h ọa của không gian màu HSV [5]
Như Hình 2.1 minh họa mô hình HSV hình lục giác đơn Đỉnh của hình nón
lục giác tương ứng với V =1, hoặc cường độ tối đa của màu sắc Điểm ở đáy của hình nón lục giác có màu đen và ở đây V = 0 Các màu bổ sung ngược nhau 180 được đo bằng Hue, góc xung quanh trục thẳng đứng Value, với màu đỏ ở 0 Giá trị
của S là một tỷ lệ, nằm trong khoảng từ 0 trên trục tung của đường tâm V đến 1 trên các cạnh của hình nón lục giác bất kỳ giá trị nào của S trong khoảng từ 0 đến
1 đều có thể được liên kết với điểm V=0 Điểm S=0, V=1 có màu trắng Giá trị trung gian của V cho S= 0 là màu xám Lưu lý rằng khi S=0, giá trị của H là không liên quan
2.2 X ử lý ảnh số
Xử lý ảnh là thuật ngữ chung đề cập đến một loạt các chức năng có thể thực
hiện trên một ảnh tĩnh, là các thuật toán thay đổi hình ảnh đầu vào để tạo ra hình ảnh mới Xử lý ảnh chính là việc thực hiện các phép toán trên từng pixel của ảnh Các giai đoạn cơ bản liên quan đến xử lý ảnh số là [6]:
• Thu thập hình ảnh: Điều này liên quan đến việc chụp ảnh bằng máy ảnh
kỹ thuật số hoặc máy quét hoặc nhập hình ảnh hiện có vào máy tính Nó
có thể hiểu đơn giản như cung cấp hình ảnh ở dạng kỹ thuật số:
- Scaling
- Chuyển đổi hệ màu
Trang 28• Phân đoạn hình ảnh: Bước này chia ảnh thành các vùng hoặc phân đoạn,
mỗi vùng tương ứng với một đối tượng hoặc tính năng cụ thể trong ảnh
• Biểu diễn và mô tả hình ảnh: Việc biểu diễn hình ảnh theo cách mà máy tính có thể phân tích và thao tác, đồng thời mô tả các đặc điểm của hình ảnh một cách cô đọng và có ý nghĩa
• Phân tích hình ảnh: Sử dụng các thuật toán và mô hình toán học để trích
xuất thông tin từ một hình ảnh, chẳng hạn như nhận dạng đối tượng, phát hiện đối tượng,…
• Tổng hợp và nén hình ảnh: Tạo hình ảnh mới hoặc nén hình ảnh hiện có
để giảm yêu cầu lưu trữ và truyền tải
Ưu điểm của xử lý ảnh số
• Cải thiện chất lượng hình ảnh: Các thuật toán xử lý ảnh số có thể cải thiện
chất lượng hình ảnh, làm cho hình ảnh rõ ràng, sắc nét hơn và nhiều thông
tin hơn
• Các tác vụ dựa trên hình ảnh được tự động hóa như nhận dạng đối tượng, phát hiện đối tượng và đo lường
• Tăng hiệu quả: Các thuật toán xử lý ảnh có thể xử lý ảnh nhanh hơn nhiều
so với con người, giúp phân tích lượng lớn dữ liệu trong một khoảng thời gian ngắn
• Tăng độ chính xác: Các thuật toán xử lý ảnh có thể cung cấp kết quả chính
xác hơn so với con người
Nhược điểm
• Một thuật toán xử lý ảnh số đòi hỏi nhiều tài nguyên tính toán
• Có thể tạo ra kết quả mà con người khó diễn giải, đặc biệt đối với các thuật toán phức tạp
• Phụ thuộc vào chất lượng đầu vào, hình ảnh đầu vào có chất lượng kém có
thể dẫn đến chất lượng đầu ra kém
Trang 2917
• Hạn chế của thuật toán, chẳng hạn như khó nhận dạng đối tượng trong cảnh
lộn xộn, hoặc thiếu sáng, hoặc khả năng nhận diện đối tượng bị hạn chế
hoặc bị che khuất đáng kể
• Hiệu suất của nhiều thuật toán xử lý ảnh phụ thuộc vào chất lượng của dữ
liệu đào tạo được sử dụng để phát triển thuật toán
Phép tích ch ập trong xử lý ảnh (Convolution)
Convolution là kỹ thuật quan trọng trong xử lý ảnh, được sử dụng chủ yếu trong các phép toán trên ảnh như: Đạo hàm ảnh, làm trơn ảnh trích xuất biên cạnh của ảnh…
Theo toán học, tích chập là phép toán tuyến tính, cho ra kết quả là một hàm
bằng việc tính toán dựa trên hai hàm đã có (f và g) Công thực tích chập giữa hai hàm ảnh f (x, y) và bộ lọc k (x, y) kích thước mxn
tử trên kernel được xem như là hệ số tổ hợp với lần lượt từng giá trị độ xám của điểm ảnh trong vùng tương ứng với kernel
Phép tích chập được hình dung thực hiện bằng việc dịch chuyển ma trận kernel
lần lượt qua tất cả các điểm trong ảnh Bắt đầu từ góc bên trái trên của ảnh Ở mỗi
lần dịch chuyển, thực hiện tính toán kết quả cho điểm ảnh đang xét bằng công thức tích chập
Trang 3018
2.3 T ổng quan về Convolution Neural Network
2.3.1 Gi ới thiệu tổng quan
Convolution Neural Networks (CNN) là một trong những mô hình deep learning phổ biến nhất và có ảnh hưởng nhiều nhất trong cộng đồng Computer vision CNN được dùng trong nhiều bài toán như phân loại ảnh, phân tích video,
hoặc cho các bài toán của lĩnh vực xử lý ngôn ngữ tự nhiên, và hầu hết đều giải quyết tốt các bài toán này
CNN cũng có lịch sử khá lâu đời Kiến trúc gốc của mô hình CNN được giới thiệu bởi một nhà khoa học máy tính người Nhật vào năm 1980 Sau đó, năm 1998, Yan LeCun lần đầu huấn luyện mô hình CNN với thuật toán backpropagation cho bài toán nhận dạng chữ viết tay Tuy nhiên, mãi đến năm 2012, khi một nhà khoa
học máy tính người Ukraine - Alex Krizhevsky xây dựng mô hình CNN (AlexNet)
và sử dụng GPU để tăng tốc quá trình huấn luyện deep nets để đạt được top 1 trong
cuộc thi Computer Vision thường niên ImageNet với độ lỗi phân lớp top 5 giảm hơn 10% so với những mô hình truyền thống trước đó, đã tạo nên làn sóng mạnh
mẽ sử dụng deep CNN với sự hỗ trợ của GPU để giải quyết càng nhiều các vấn đề trong Computer Vision
Trang 31và receptive field, feature map Conv layer nhận đầu vào là một ma trận 3 chiều và
một bộ filters cần phải học Bộ filters này sẽ trượt qua từng vị trí trên bức ảnh để tính tích chập (convolution) giữa bộ filter và phần tương ứng trên bức ảnh Phần tưng ứng này trên bức ảnh gọi là receptive field, tức là vùng mà một neuron có thể nhìn thấy để đưa ra quyết định, và mà trận cho ra bởi quá trình này được gọi là feature map
Tầng convolution có chức năng chính là phát hiện đặc trưng cụ thể của bức ảnh Những đặc trưng này bao gồm đặc trưng cơ bản như là góc, cạnh, màu sắc,
hoặc đặc trưng phức tạp hơn như texture của bức ảnh
Các tham số của tầng convolution là kích thước bộ filter, stride, padding Kích thước bộ filter là một trong những tham số quan trọng nhất của tầng convolution Kích thước này tỉ lệ thuận với các tham số cần học tại mỗi tầng convolution và là tham số quan trọng nhất của tầng convolution Kích thước này tỷ lệ thuận với số tham số cần học lại mỗi tầng convolution và là tham số quyết định receptive field
của tầng này Kích thước phổ biển của bộ filrer là 3x3
Kích thước filter của tầng convolution hầu hết đề là số lẻ, ví dụ 3x3, 5x5 Với kích thước filter lẻ, các giá trị của feature map sẽ xác định mỗi tâm điểm ở tầng
Trang 3220
phía trước Nếu các bạn chọn filter có kích thước 2x2, 4x4 thì sẽ gặp khó khăn khi
muốn tìm vị trí tương ứng cới các giá trị feature map trên không gian ảnh
Ở những trường hợp đặc biệt như filter có kích thước 1x1 hay có kích thước
bằng ma trận đầu vào, tầng convolution có ý nghĩa rất thú vị Khi có kích thước 1x1 tầng convolution xem mỗi điểm như một đặc trưng riêng biệt, có chức năng
giảm chiều (tăng chiều) khi số lượt feature map ở tầng sau nhỏ hơn (lớn hơn) tầng trước Filter 1x1 đã được sử dụng trong kiếm trúc mạng phổ biến như Inception Networks Trong khi đó, filter có kích thước bằng ảnh đầu vào, tầng convolution
có chức năng y hệt fully connected layer
Khi áp dụng phép convolution thì ma trận đầu vào sẽ bị nhỏ dần đi, do đó layer
của mô hình CNN sẽ bị giới hạn, và không thể xây dựng mạng học sâu mong muốn
Để giải quyết tình trạn này, việc thêm padding vào ma trận đầu vào để đảm bảo kích thước đầu ra sau mỗi tầng convolution là không đổi Do đó có thể xây dựng được mô hình với số tầng convolution lớn tùy ý Một cách đơn giản và phổ biến
nhất để padding là sử dụng hàng số 0 như Hình 2.3 bên dưới, ngoài ra có thể sử
dụng reflection padding hay là symetric padding
Hình 2.3 Zero padding [8]