1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phân loại voucher sử dụng mô hình học máy

65 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phân loại voucher sử dụng mô hình học máy
Tác giả Giáp Thị Nguyệt
Người hướng dẫn PGS.TS Nguyễn Hữu Phát
Trường học Trường đại học Bách Khoa Hà Nội
Chuyên ngành Khoa học máy tính
Thể loại Báo cáo luận văn thạc sĩ
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 65
Dung lượng 1,29 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1. GIỚ I THI Ệ U CHUNG (13)
    • 1.1 Gi ớ i thi ệ u chung (13)
    • 1.2 Bài toàn phân lo ạ i ả nh (14)
      • 1.2.1 Khái ni ệ m (14)
      • 1.2.2 Các k ỹ thu ậ t phân lo ạ i ả nh (15)
        • 1.2.2.1 Phân lo ạ i có giám sát (15)
        • 1.2.2.2 Phân lo ạ i không giám sát (Unsupervised learning) (16)
      • 1.2.3 M ộ t s ố thu ậ t toán dùng trong bài toán phân lo ạ i (16)
        • 1.2.3.1 Support Vector Machine (SVM) (16)
        • 1.2.3.2 Decision Tree (Cây quy ết đị nh) (17)
        • 1.2.3.3 Artificial Neural Network – ANNs (M ạng nơ -ron nhân t ạ o) (19)
        • 1.2.3.4 Convolutional Neural Networks – CNNs (M ạng nơ ron tích chậ p) (20)
      • 1.2.4 Nh ữ ng v ấn đề đặ t ra trong bài toán phân lo ạ i voucher (21)
    • 1.3 Ý tưở ng xây d ự ng h ệ th ố ng và các k ỹ thu ậ t s ử d ụ ng (21)
    • 1.4 Các k ỹ thu ật đề xu ấ t (23)
      • 1.4.1 Kỹ thuật trích lọc đặc trưng (23)
      • 1.4.2 Kỹ thuật phân loại (23)
    • 1.5 K ế t lu ậ n (23)
  • CHƯƠNG 2. CƠ SỞ LÝ THUY Ế T (24)
    • 2.1 Ả nh s ố và m ộ t s ố không gian màu bi ể u di ễ n ả nh s ố (24)
      • 2.1.1 Phân loại ảnh số (24)
      • 2.1.2 Các không gian màu biểu diễn ảnh số (25)
        • 2.1.2.1 Không gian màu RGB (26)
        • 2.1.2.2 Không gian màu HSV (26)
    • 2.2 X ử lý ả nh s ố (27)
    • 2.3 T ổ ng quan v ề Convolution Neural Network (30)
      • 2.3.1 Gi ớ i thi ệ u t ổ ng quan (30)
      • 2.3.2 Ki ế n trúc CNN (30)
        • 2.3.2.1 Convolution layer (31)
        • 2.3.2.2 Pooling layer – L ớ p t ổ ng h ợ p (33)
        • 2.3.2.3 Fully Connected layer (33)
      • 2.3.3 Các hàm kích ho ạ t (Activation Function) (34)
    • 2.4 Thu ậ t toán t ối ưu (38)
      • 2.4.1 Gradient Descent (GD) – Gi ả m d ần độ d ố c (38)
      • 2.4.2 Stochastic Gradient Descent (SDG) (39)
      • 2.4.3 Monentum (39)
      • 2.4.4 Nesterov accelerated gradient (NAG) (41)
      • 2.4.5 Adagrad (41)
      • 2.4.6 RMSprop (42)
      • 2.4.7 Adam (43)
    • 2.5 Auto-encoder (43)
      • 2.5.1 T ổ ng quan (43)
      • 2.5.2 C ấ u trúc c ủ a Auto-encoder (44)
    • 2.6 Siamese Neural Networks (45)
    • 2.7 K ế t lu ậ n (46)
  • CHƯƠNG 3. THIẾ T K Ế H Ệ TH Ố NG, KI Ể M TH Ử VÀ ĐÁNH GIÁ KẾ T QU Ả 35 (0)
    • 3.1 Bài toán đặ t ra (47)
      • 3.1.1 Mô tả bài toán, quy trình và các khối thực hiện (47)
      • 3.1.2 Tạo bộ dữ liệu (49)
    • 3.2 Quá trình th ự c hi ệ n (50)
      • 3.2.1 Tiền xử lý (50)
      • 3.2.2 Quá trình đào tạo (51)
        • 3.2.2.1 Khối trích xuất đặc trưng – AutoEncoder (51)
        • 3.2.2.2 Khối phân loại siamese neural network (53)
      • 3.2.3 Các chỉ số đánh giá (Metrixs) (55)
      • 3.2.4 Cấu hình sử dụng (55)
    • 3.3 Quá trình đánh giá trên tậ p test (56)
      • 3.3.1 Chuy ể n model sang d ạ ng onnx (56)
      • 3.3.2 T ạ o c ở s ở lưu trữ b ộ d ữ li ệ u chu ẩ n (56)
      • 3.3.3 Đánh giá (57)
    • 3.4 K ế t qu ả (58)
      • 3.4.1 K ế t qu ả trích xu ất đặc trưng dùng AutoEnconder (58)
      • 3.4.2 K ế t qu ả v ớ i model phân lo ạ i (59)
    • 3.5 Đánh giá kế t qu ả (60)
    • 3.6 K ế t lu ậ n (61)
  • minimum 4 16] (0)

Nội dung

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 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

TRƯỜNG ĐIỆN – ĐIỆN TỬ

Hà Nội, 5 – 2023

Trang 2

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

TRƯỜNG ĐIỆN – ĐIỆN TỬ

Hà Nội, 5 – 2023

Trang 3

L Ờ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 4

TÓ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 5

từ 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 6

M Ụ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 7

2.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 8

3.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 10

AdaGrad 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 11

ii

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 12

iii

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 13

1

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 15

3

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 16

4

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 17

5

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 18

6

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 19

7

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 20

8

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 21

9

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 22

10

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 24

12

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 25

13

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 26

14

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 27

15

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 29

17

• 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 30

18

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 31

và 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 32

20

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]

Ngày đăng: 04/07/2023, 05:48

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] "Learn How to Use Support Vector Machines (SVM) for Data Science," [Online]. Available:https://www.analyticsvidhya.com/blog/2017/09/understaing-support-vector-machine-example-code/. [Accessed 20 Mar 2023] Sách, tạp chí
Tiêu đề: Learn How to Use Support Vector Machines (SVM) for Data Science
Tác giả: Sunil Ray
Nhà XB: Analytics Vidhya
Năm: 2025
[2] "Decision Tree Algorithm, Explained," [Online]. Available: https://www.kdnuggets.com/2020/01/decision-tree-algorithm-explained.html. [Accessed 21 Mar 2023] Sách, tạp chí
Tiêu đề: Decision Tree Algorithm, Explained
Tác giả: Nagesh Singh Chauhan
Nhà XB: KDnuggets
Năm: 2022
[3] "CS231n Convolutional Neural Networks for Visual Recognition," [Online]. Available: https://cs231n.github.io/neural-networks-1/. [Accessed 21 Mar 2023] Sách, tạp chí
Tiêu đề: CS231n Convolutional Neural Networks for Visual Recognition
[4] "[C ẩ m nang AI] Artificial Neural Network là gì? C ấ u trúc, cách ho ạt độ ng và ứ ng d ụ ng c ủ a mô hình này," [Online]. Available:https://viettelidc.com.vn/tin-tuc/cam-nang-ai-artificial-neural-network-la-gi-cau-truc-cach-hoat-dong-va-ung-dung-cua-mo-hinh-nay. [Accessed 30 Mar 2023] Sách, tạp chí
Tiêu đề: [Cẩm nang AI] Artificial Neural Network là gì? Cấu trúc, cách hoạt động và ứng dụng của mô hình này
[5] "Understanding Color Spaces and Color Space Conversion," [Online]. Available:https://www.mathworks.com/help/images/understanding-color-spaces-and-color-space-conversion.html. [Accessed 21 Mar 2023] Sách, tạp chí
Tiêu đề: Understanding Color Spaces and Color Space Conversion
[6] "Digital Image Processing Basics," [Online]. Available: https://www.geeksforgeeks.org/digital-image-processing-basics/.[Accessed 22 Mar 2023] Sách, tạp chí
Tiêu đề: Digital Image Processing Basics
[7] "Tìm Hi ể u Convolutional Neural Networks Cho Phân Lo ạ i Ả nh," [Online]. Available: https://pbcquoc.github.io/cnn/. [Accessed 22 Mar 2023] Sách, tạp chí
Tiêu đề: Tìm Hiểu Convolutional Neural Networks Cho Phân Loại Ảnh
Tác giả: Quoc Pham
Năm: 2019
[8] "Zero-Padding in Convolutional Neural Networks," [Online]. Available: https://medium.com/@draj0718/zero-padding-in-convolutional-neural-networks-bf1410438e99. [Accessed 23 Mar 2023] Sách, tạp chí
Tiêu đề: Zero-Padding in Convolutional Neural Networks
Nhà XB: Medium
[9] "Thu ậ t toán CNN là gì? C ấ u trúc m ạ ng Convolutional Neural Network," [Online]. Available: https://topdev.vn/blog/thuat-toan-cnn-convolutional-neural-network/. [Accessed 22 Mar 2023] Sách, tạp chí
Tiêu đề: Thuật toán CNN là gì? Cấu trúc mạng Convolutional Neural Network
[10] "CS231n Convolutional Neural Networks for Visual Recognition," [Online]. Available: https://cs231n.github.io/neural-networks-1/. [Accessed 23 Mar 2023] Sách, tạp chí
Tiêu đề: CS231n Convolutional Neural Networks for Visual Recognition
[11] "Sigmoid function," [Online]. Available: https://en.wikipedia.org/wiki/Sigmoid_function. [Accessed 23 Mar 2023] Sách, tạp chí
Tiêu đề: Sigmoid function
[12] "CS231n: Convolutional Neural Networks for Visual Recognition," [Online]. Available: https://cs231n.github.io/neural-networks-1/. [Accessed 23 Mar 2023] Sách, tạp chí
Tiêu đề: CS231n: Convolutional Neural Networks for Visual Recognition
[13] D. Misra, "Mish: A Self Regularized Non-Monotonic Activation Function," in British Machine Vision Virtual Conference, UK, 2020 Sách, tạp chí
Tiêu đề: Mish: A Self Regularized Non-Monotonic Activation Function
Tác giả: D. Misra
Nhà XB: British Machine Vision Virtual Conference
Năm: 2020
[14] "Optimizer- Hi ể u sâu v ề các thu ậ t toán t ối ưu ( GD,SGD,Adam,..)," [Online]. Available:https://viblo.asia/p/optimizer-hieu-sau-ve-cac-thuat-toan-toi-uu-gdsgdadam-Qbq5QQ9E5D8. [Accessed 25 Mar 2023] Sách, tạp chí
Tiêu đề: Optimizer- Hi ể u sâu v ề các thu ậ t toán t ối ưu ( GD,SGD,Adam,..)
[15] "Momentum Method and Nesterov Accelerated Gradient," [Online]. Available: https://medium.com/konvergen/momentum-method-and-nesterov-accelerated-gradient-487ba776c987. [Accessed 25 Mar 2023] Sách, tạp chí
Tiêu đề: Momentum Method and Nesterov Accelerated Gradient
[16] "Intuition of Adam Optimizer," [Online]. Available: https://www.geeksforgeeks.org/intuition-of-adam-optimizer/.[Accessed 25 Mar 2023] Sách, tạp chí
Tiêu đề: Intuition of Adam Optimizer
[17] D. K. N. a. R. G. Bank, "Autoencoders," ArXiv, 2020. [Online]. Available: https://doi.org/10.48550/arXiv.2003.05991.[Accessed 25 Mar 2023] Sách, tạp chí
Tiêu đề: Autoencoders
Tác giả: D. K. N., R. G. Bank
Nhà XB: ArXiv
Năm: 2020
[18] Huu, P.N., Thi, N.G., Manh, H.T., Hai, T.L.T., Trong, H.N., Ngoc, P.P, "Proposing System for Classifying Voucher Images Using Siamese Model," in Intelligent Systems and Networks, Singapore, 2022 Sách, tạp chí
Tiêu đề: Proposing System for Classifying Voucher Images Using Siamese Model
Tác giả: Huu, P.N., Thi, N.G., Manh, H.T., Hai, T.L.T., Trong, H.N., Ngoc, P.P
Nhà XB: Intelligent Systems and Networks
Năm: 2022
[19] "Tìm hi ể u Siamese Neural Network," [Online]. Available: https://tiensu.github.io/blog/55_siamese_network/. [Accessed 25 Mar 2023] Sách, tạp chí
Tiêu đề: Tìm hi ể u Siamese Neural Network
Tác giả: SuNT
Nhà XB: SuNT's Blog
Năm: 2021
[20] "Ticket shop/cheap tickets at Ticket Ranger," [Online]. Available: https://www.ticketlife.jp/. [Accessed 25 Mar 2023] Sách, tạp chí
Tiêu đề: Ticket shop/cheap tickets at Ticket Ranger

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w