Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học Kiến trúc xây dựng Nhận dạng hình ảnh bằng cách kết hợp mạng neural tích chập và mạng neural truyền...

Tài liệu Nhận dạng hình ảnh bằng cách kết hợp mạng neural tích chập và mạng neural truyền thống

.PDF
86
114
93

Mô tả:

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA --------------------------------------- VƯƠNG QUANG PHƯỚC NHẬN DẠNG HÌNH ẢNH BẰNG CÁCH KẾT HỢP MẠNG NEURAL TÍCH CHẬP VÀ MẠNG NEURAL TRUYỀN THỐNG Chuyên ngành: Kỹ thuật Điện tử Mã số: 60.52.02.03 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC TS. HỒ PHƯỚC TIẾN Đà Nẵng – Năm 2017 i CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc LỜI CAM ĐOAN Kính gửi: Hội đồng bảo vệ luận văn tốt nghiệp Khoa Điện Tử - Viễn Thông, Trường Đại Học Bách Khoa – Đại Học Đà Nẵng. Tôi tên là: Vương Quang Phước. Hiện là học viên lớp Cao học Kỹ thuật điện tử - Khoá 32 - Khoa Điện Tử - Viễn Thông, Trường Đại Học Bách Khoa – Đại Học Đà Nẵng. Tôi xin cam đoan nội dung của luận văn này không phải là bản sao chép của bất cứ luận văn hoặc công trình nào đã có từ trước. Nếu vi phạm tôi xin chịu hoàn toàn trách nhiệm. Học viên Vương Quang Phước ii MỤC LỤC LỜI CAM ĐOAN ....................................................................................................i MỤC LỤC ............................................................................................................. ii TÓM TẮT LUẬN VĂN .........................................................................................v DANH MỤC CÁC TỪ VIẾT TẮT ...................................................................... vi DANH MỤC CÁC HÌNH ................................................................................... vii MỞ ĐẦU ................................................................................................................1 CHƯƠNG 1. LEARNING GIỚI THIỆU BÀI TOÁN PHÂN LOẠI HÌNH ẢNH VÀ DEEP .......................................................................................................4 1.1. Giới thiệu chương 1 .................................................................................4 1.2. Tổng quan về bài toán nhận dạng hình ảnh .............................................4 1.3. Tổng quan về Deep Learning ..................................................................9 1.4. Kết luận chương 1 ..................................................................................11 CHƯƠNG 2. MẠNG NEURON NHÂN TẠO VÀ MÔ HÌNH KIẾN TRÚC KẾT HỢP GIỮA MẠNG CNN VÀ MLP. ...................................................................12 2.1. Giới thiệu chương 2 ...............................................................................12 2.2. Mạng Neuron nhân tạo ..........................................................................12 2.2.1. Cấu trúc một Neuron sinh học .........................................................12 2.2.2. Cấu trúc một Perceptron ..................................................................13 2.3. Sigmoid neuron ......................................................................................14 2.4. Multi-layers Perceptron (MLP) .............................................................16 2.5. Mạng Neuron tích chập (Convolutional Neural Network – CNN) .......17 2.5.1. Vùng tiếp nhận cục bộ .....................................................................19 2.5.2. Trọng số dùng chung .......................................................................21 2.5.3. Pooling .............................................................................................24 2.6. Cấu trúc kết hợp CNN và MLP .............................................................25 2.6.1. Convolution-MLP ............................................................................25 2.6.2. Lớp Pooling .....................................................................................26 2.6.3. Lớp ReLU ........................................................................................27 iii 2.6.4. Lớp Dropout ....................................................................................28 2.6.5. Hàm tổn hao .....................................................................................29 2.6.6. Mô hình tổng thể ..............................................................................30 2.7. Kết luận chương 2 ..................................................................................31 CHƯƠNG 3. PHÂN LOẠI ẢNH SỬ DỤNG MÔ HÌNH MẠNG NEURON TÍCH CHẬP KẾT HỢP VỚI MẠNG NEURON TRUYỀN THỐNG .........................32 3.1. Giới thiệu chương 3 ...............................................................................32 3.2. Mô hình CNN – LeNet ..........................................................................32 3.3. thống Mô hình kết hợp giữa mạng Neuron tích chập và mạng Neuron truyền ...............................................................................................................36 3.3.1. Kiến trúc ConvNet ...........................................................................36 3.3.2. Kết hợp mạng CNN và mạng MLP trong phân loại ảnh .................37 3.4. Khảo sát hệ thống dưới vai trò của các hyperparameter........................39 3.4.1. Learning Rate...................................................................................39 3.4.2. Dropout ............................................................................................40 3.4.3. Số lượng khối CNN-MLP................................................................41 3.5. Tiền xử lý dữ liệu...................................................................................42 3.5.1. Chuẩn hóa dữ liệu (Normalization) .................................................42 3.5.2. Whitening data .................................................................................43 3.5.3. Kích thước các gói dữ liệu (Batch size) ..........................................43 3.6. Kết luận chương 3 ..................................................................................44 CHƯƠNG 4. KẾT QUẢ VÀ ĐÁNH GIÁ .........................................................45 4.1. Giới thiệu chương 4 ...............................................................................45 4.2. Cơ sở dữ liệu CIFAR-10........................................................................45 4.3. Phương pháp đánh giá ...........................................................................46 4.4. Khảo sát với mạng LeNet ......................................................................46 4.5. Vai trò của MLP khi kết hợp với CNN..................................................47 4.6. Tác động của các tham số ......................................................................49 4.6.1. Learning Rate...................................................................................49 iv 4.6.2. Vai trò của Dropout .........................................................................51 4.6.3. Ảnh hưởng của số khối con đến kết quả phân loại ..........................52 4.7. Khảo sát quá trình tiền xử lý dữ liệu .....................................................55 4.7.1. Tác động chuẩn hóa dữ liệu và whitening .......................................55 4.7.2. Ảnh hưởng của Batch size đến kết quả............................................56 4.8. Kết luận chương 4 ..................................................................................57 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ............................................................58 TÀI LIỆU THAM KHẢO ....................................................................................60 PHỤ LỤC .............................................................................................................62 v TÓM TẮT LUẬN VĂN NHẬN DẠNG HÌNH ẢNH BẰNG CÁCH KẾT HỢP MẠNG NEURON TÍCH CHẬP VÀ MẠNG NEURON TRUYỀN THỐNG Học viên: Vương Quang Phước Mã số: 60.52.02.03 Khóa: 32 Chuyên ngành: Kỹ thuật điện tử Trường Đại học Bách khoa - ĐHĐN Tóm tắt - Gần đây, kỹ thuật Deep Learning đã tạo ra những bước tiến đáng kể trong việc giải quyết các bài toán về thị giác máy tính. Bằng cách sử dụng một kiến trúc mạng Neuron mới – mạng Neuron tích chập (Convolutional Neural Network - CNN) –, ta có thể khắc phục được những trở ngại của mạng Neuron truyền thống, tức mạng Perceptron đa lớp (Multilayer Perceptrons - MLP), và từ đó giúp việc huấn luyện mạng Neuron trở nên hiệu quả hơn. Tuy nhiên, kiến trúc MLP cũng có những ưu điểm đối với việc xử lý cục bộ trong miền không gian. Luận văn trình bày một kiến trúc kết hợp giữa CNN và MLP để khai thác ưu điểm của hai kiến trúc này trong việc nhận dạng hình ảnh tự nhiên. Vai trò của các khối chức năng trong mạng sẽ được phân tích và đánh giá thông qua tỉ lệ nhận dạng. Việc đánh giá được thực hiện với bộ dữ liệu ảnh tự nhiên CIFAR-10. Quá trình thực nghiệm đã cho thấy những kết quả hứa hẹn về tỉ lệ nhận dạng, cũng như thể hiện được ưu điểm của kiến trúc kết hợp CNN và MLP. Từ khóa - Deep Learning, Neuron network, MLP, CNN, mô hình kết hợp, nhận dạng hình ảnh, CIFAR-10. IMAGE RECOGNITION USING MODEL COMBINATION – CONVOLUTIONAL NEURAL NETWORK AND TRADITIONAL NEURAL NETWORK Abstract - Recently, Deep Learning has brought about interesting improvements in solving computer vision problems. By using a new specific architecture, i.e. Convolutional Neural Network (CNN), which has more advantages than the traditional one - known as Multilayer Perceptrons (MLP) -, we can improve performance of the training process. Yet, the MLP architecture is also useful for localized processing in the spatial domain. This paper considers an architecture combining both CNN and MLP to exploit their advantages for the problem of natural image recognition. The functional blocks in the network are analyzed and evaluated using recognition rate. The evaluation is carried out with a well-known dataset (CIFAR-10). The experiment shows promising results, as well as benefits of a combination of the CNN and MLP architectures. Key words - Deep Learning; Neural network; MLP; CNN; model combination; image classification; CIFAR-10. vi DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt Diễn giải Ý nghĩa AI Artificial Intelligence Trí tuệ nhân tạo ANN Artificial Neural Network Mạng neuron nhân tạo CNN Convolutional Neural Network Mạng neuron tích chập MLP Multi-layers Perceptron Mạng perceptron đa lớp NiN Network in Network Mạng trong mạng FC Full-Connection Kết nối hoàn toàn NIST National Institute of Standards and Technology Viện tiêu chuẩn và kỹ thuật quốc gia CIFAR Canadian Institute for Advanced Research Viện nghiên cứu tiên tiến Canada ReLU Rectified Linear Unit Bộ hiệu chỉnh tuyến tính GPU Graphics Processing Unit Bộ xử lý hình ảnh vii DANH MỤC CÁC HÌNH Hình 1.1. Biểu diễn dữ liệu hình ảnh dưới dạng các lớp màu RGB. ......................5 Hình 1.2. Vật thể dưới các góc nhìn khác nhau. .....................................................6 Hình 1.3. Khả năng nhận dạng đối tượng thay đổi theo khoảng cách. ...................6 Hình 1.4. Đối tượng với các hình dạng hoạt động khác nhau. ...............................7 Hình 1.5. Nhận dạng đối tượng trong trường hợp bị che khuất. ............................7 Hình 1.6. Tác động của ánh sáng đến nhận dạng. ..................................................7 Hình 1.7. Khả năng gây nhầm lẫn khi đối tượng và bối cảnh có sự tương đồng. ..8 Hình 1.8. Sự đa dạng về mặt chủng loại của đối tượng. .........................................8 Hình 1.9. Mô tả sơ lược quá trình phân loại của mạng Neuron [5]. .....................11 Hình 2.1. Tế bào neuron thần kinh của con người [11]. .......................................12 Hình 2.2. Cấu trúc của một Perceptron đơn giản. ................................................13 Hình 2.3. Sự thay đổi nhỏ các giá trị trọng số dẫn đến sự thay đổi nhỏ tương ứng ở ngõ ra. .........................................................................................................................15 Hình 2.4. Hàm kích hoạt của Perceptron [1]. .......................................................15 Hình 2.5. Mô hình Perceptron đơn giản. ..............................................................15 Hình 2.6. Minh họa hàm Sigmoid [1]. ..................................................................16 Hình 2.7. Một mô hình mạng MLP gồm các lớp Full Connection.......................17 Hình 2.8. Cấu trúc mạng đa lớp MLP...................................................................17 Hình 2.9. Ảnh ngõ vào với kích thước 8 x 8. .......................................................19 Hình 2.10. Vùng cục bộ - vùng màu xanh có gạch chéo. .....................................19 Hình 2.11. Quá trình dịch của các cửa sổ bộ lọc. .................................................20 Hình 2.12. Sự dịch chuyển theo chiều ngang và dọc của bộ lọc. .........................20 Hình 2.13. Minh họa việc áp dụng một filter lấy tích chập lên ảnh ngõ vào. ......22 Hình 2.14. Các bản đồ đặc tính được tạo thành tương ứng với các bộ lọc...........22 Hình 2.15. Kích thước bị thu nhỏ sau quá trình lấy tích chập. .............................23 Hình 2.16. Chèn padding được thực hiện trước khi lấy tích chập. .......................23 Hình 2.17. Lấy mẫu xuống giúp giảm kích thước dữ liệu. ...................................24 viii Hình 2.18. (a) Khai thác thông tin theo miền không gian ở mô hình CNN, (b) Khai thác thông tin cục bộ ở mô hình MLP. .................................................................26 Hình 2.19. (a) Lớp tích chập trong CNN, (b) Tích chập kết hợp với MLP [3]. ...26 Hình 2.20. Hàm kích hoạt ReLU, chuyển các giá trị âm về 0. .............................27 Hình 2.21. Mạng Neuron trước và sau quá trình Dropout, các node gạch chéo là các node đã bị loại bỏ [7]. .............................................................................................28 Hình 2.22. Cấu trúc NiN gồm 3 khối mạng con nối tiếp và 1 lớp Average Pooling [2]...................................................................................................................................30 Hình 3.1. Cấu trúc mạng LeNet [16]. ...................................................................33 Hình 3.2. Minh họa mô hình LeNet sử dụng trong bài luận văn. .........................34 Hình 3.3. Một phương pháp khác để mô tả mạng LeNet sử dụng trong luận văn. .......................................................................................................................................35 Hình 3.4. Mô hình mạng LeNet dùng cho phân loại ảnh tự nhiên. ......................36 Hình 3.5. Kiến trúc CNN-MLP sử dụng 3 khối con (dạng rút gọn). ....................37 Hình 3.6. Mô hình kết hợp kiến trúc CNN và MLP, sử dụng 3 khối con CNNMLP. ..............................................................................................................................38 Hình 3.7. (a) Trường hợp với hệ số học vừa phải, (b) Trường hợp hệ số học thấp [1]...................................................................................................................................40 Hình 3.8. Mô hình LeNet có chèn thêm các lớp Dropout. ...................................41 Hình 3.9. Mô hình CNN-MLP với các lớp Dropout. ...........................................41 Hình 3.10. Mô hình kết hợp với 3 khối con CNN-MLP. .....................................42 Hình 3.11. Mô hình kết hợp với 4 khối con CNN-MLP. .....................................42 Hình 3.12. Mô hình kết hợp với 5 khối con CNN-MLP. .....................................42 Hình 3.13. Phân chia dữ liệu trong 1 epoch. ........................................................43 Hình 4.1. Một số hình ảnh trong bộ dữ liệu CIFAR-10. ......................................46 Hình 4.2. Tỉ lệ nhận dạng lỗi với mô hình LeNet.................................................47 Hình 4.3. So sánh khả năng phân loại của 2 mô hình thông qua tỉ lệ nhận dạng lỗi trên tập kiểm tra. ............................................................................................................48 Hình 4.4. Kết quả huấn luyện và kiểm tra của mạng CNN-MLP.........................48 Hình 4.5. Tác động của Learning rate lên mạng Lenet. .......................................50 ix Hình 4.6. Tác động của Learning rate lên mạng CNN-MLP. ..............................50 Hình 4.7. Tỉ lệ nhận dạng lỗi của mô hình LeNet trong trường hợp có và không có lớp Dropout. ..............................................................................................................51 Hình 4.8. Tỉ lệ nhận dạng lỗi của mô hình CNN-MLP trong trường hợp có và không có lớp Dropout. ...................................................................................................52 Hình 4.9. Tỉ lệ nhận dạng lỗi qua các vòng lặp với mô hình sử dụng 3 khối con CNN-MLP. ....................................................................................................................53 Hình 4.10. Kết quả nhận dạng tương ứng khi số khối con là 4. ...........................53 Hình 4.11. Kết quả nhận được với mô hình có 5 khối con. ..................................54 Hình 4.12. So sánh tỉ lệ nhận dạng giữa 3 khối ....................................................54 Hình 4.13. Kết quả nhận dạng trong trường hợp có và không có tiền xử lý dữ liệu. ................................................................................................................................55 Hình 4.14. Kết quả nhận dạng khi sử dụng dữ liệu với các batch size khác nhau trên cùng một mô hình mạng. ........................................................................................57 1 MỞ ĐẦU 1. Tính cấp thiết của đề tài Mạng Neuron nhân tạo – ANN (gọi tắt là mạng Neuron) là mô hình thuật toán được đưa ra dựa trên hệ thống thần kinh của con người. Thông thường, trong quá trình giải quyết một bài toán, người lập trình sẽ quy định các công việc, cho máy tính biết sẽ thực hiện các tác vụ nào. Trong quá trình này, lập trình viên phải phân chia vấn đề cần được xử lý thành các nhiệm vụ nhỏ hơn, chỉ ra chính xác những gì máy tính phải làm, sau đó tổng hợp các nhiệm vụ nhỏ đó lại, có nghĩa là máy tính chỉ thực hiện được các nhiệm vụ đơn giản. Trái lại, trong mạng Neuron, lập trình viên không cần phải đưa ra cho máy tính cách giải quyết vấn đề. Thay vào đó, máy tính sẽ học cách xử lý vấn đề từ các dữ liệu quan sát được bằng phép xấp xỉ, đưa ra giải pháp riêng cho vấn đề được đưa ra [1]. Từ đầu những năm 2010, Deep Learning và mạng Neuron tích chập đã thu hút sự quan tâm đặc biệt của cộng đồng nghiên cứu, và cho thấy những ưu điểm so với mạng Neuron truyền thống. Ngày nay, mạng Neuron nhiều lớp và Deep Learning đạt được những thành tích xuất sắc về việc giải quyết các vấn đề quan trọng trong lĩnh vực thị giác máy tính, nhận dạng giọng nói và xử lý ngôn ngữ tự nhiên. Và kỹ thuật này đã được áp dụng bởi nhiều công ty hàng đầu thế giới như Google, Microsoft hay Facebook. Luận văn này quan tâm đến kỹ thuật kết hợp mô hình Deep Learning và mạng Neuron, nền tảng của nó sẽ được xây dựng dựa trên mạng Neuron tích chập (CNN). Tuy nhiên, sẽ có thêm sự kết hợp với mạng Neuron truyền thống để khai thác khả năng học các thuộc tính tại những miền cục bộ. Mô hình này được gọi là Network in Network (NiN), như đã được đề xuất bởi Min Lin vào năm 2014 [2] cho phép giải thích và hình dung mô hình mạng dễ dàng hơn, cũng như đưa ra kết quả tốt hơn trong quá trình trích xuất ở các lớp so với các mạng truyền thống, trong luận văn này, mô hình NiN sẽ được ứng dụng để thực hiện việc phân loại ảnh. Đây là bước đệm đặt nền tảng để thực hiện các tác vụ phức tạp hơn, cao cấp hơn sau này. 2. Mục tiêu nghiên cứu Giải quyết bài toán nhận dạng hình ảnh bằng mô hình kết hợp giữa mạng Neuron tích chập (CNN) và mạng Neuron truyền thống (MLP). Kế thừa được ưu điểm của các kiến trúc trong mô hình kết hợp. Nghiên cứu, đánh giá hệ thống mạng kết hợp dựa trên cơ sở dữ liệu CIFAR-10. 2 Đánh giá tác động của số lớp, tỉ lệ loại bỏ ngẫu nhiên (dropout)… đến hệ thống dựa trên tỉ lệ nhận dạng đúng hình ảnh. Trong quá trình thực hiện luận văn, tôi cũng học hỏi và rèn luyện được một số kiến thức và kỹ năng sau: - Ứng dụng nội dung được học trong quá trình đào tạo vào thực tiễn. Tăng cường kiến thức về nhận dạng hình ảnh, cụ thể về mạng Neuron truyền thống, mạng Neuron sâu - tạo nền tảng cơ bản cho quá trình nghiên cứu sau này. - Nâng cao kỹ năng thực hành với phần mềm Matlab. - Tạo thói quen và rèn luyện kĩ năng đọc tài liệu khoa học, đặc biệt là tài liệu tiếng anh. 3. Đối tượng và phạm vi nghiên cứu a. Đối tượng nghiên cứu - Mô hình mạng Neuron truyền thống, mô hình mạng Neuron sâu và mạng Neuron tích chập (CNN) [1]. Mô hình Network in Network (NiN) – mô hình kết hợp giữa CNN và mạng Neuron truyền thống MLP [1]. Hiệu năng hoạt động hệ thống NiN khi thay đổi các thông số của hệ thống. Cơ sở dữ liệu CIFAR-10 [3] – dùng trong khảo sát và đánh giá hệ thống. b. Phạm vi nghiên cứu - Nhận dạng hình ảnh tự nhiên. Phân tích, xử lý ảnh. Mạng Neuron nhân tạo. Cơ sở dữ liệu. 4. Phương pháp nghiên cứu Trong phạm vi luận văn, phương pháp nhận dạng hình ảnh được xây dựng dựa trên mô hình kiến trúc kết hợp, cụ thể là giữa mạng Neuron tích chập (CNN) và mạng Neuron truyền thống (MLP). Hệ thống được tiến hành đánh giá dựa trên tỉ lệ phân loại đúng hình ảnh, ứng dụng với bộ cơ sở dữ liệu chính là CIFAR-10. Phương pháp nghiên cứu xuyên suốt của luận văn là kết hợp nghiên cứu lý thuyết, và đánh giá thông qua mô phỏng thực nghiệm. Quá trình thực hiện bao gồm các bước: xây dựng mô hình, huấn luyện, đánh giá khả năng phân loại ảnh tự nhiên của mạng dựa trên tỉ lệ nhận dạng đúng. 5. Bố cục đề tài 3 Trong luận văn “NHẬN DẠNG HÌNH ẢNH BẰNG CÁCH KẾT HỢP MẠNG NEURON TÍCH CHẬP VÀ MẠNG NEURON TRUYỀN THỐNG”, tôi tập trung vào việc nghiên cứu, xây dựng và khảo sát hiệu quả của hệ thống để giải quyết bài toán nhận dạng hình ảnh. Nội dung của luận văn gồm 4 chương: Chương 1: Giới thiệu bài toán phân loại hình ảnh và Deep Learning. Chương 2: Mạng Neuron nhân tạo và mô hình kiến trúc kết hợp giữa mạng CNN và MLP. Chương 3: Phân loại ảnh sử dụng mô hình mạng kết hợp. Chương 4: Kết quả và đánh giá. 4 CHƯƠNG 1. GIỚI THIỆU BÀI TOÁN PHÂN LOẠI HÌNH ẢNH VÀ DEEP LEARNING 1.1. Giới thiệu chương 1 Ngày nay, Deep Learning là một kỹ thuật huấn luyện cho máy tính tiên tiến và đang được nghiên cứu cũng như ứng dụng rộng rãi, đặc biệt đối với các hệ thống thông minh. Trong đó, bài toán nhận dạng hình ảnh là một trong những vấn đề được quan tâm hàng đầu. Chương 1 sẽ giới thiệu tổng quan về bài toán nhận dạng hình ảnh và trình bày sơ lược về sự phát triển của Deep Learning cũng như về mạng Neuron nhân tạo. 1.2. Tổng quan về bài toán nhận dạng hình ảnh Nhận dạng hình ảnh là một trong những chức năng quan trọng của hệ thống thị giác cũng như hệ thống nhận thức của con người. Trên thực tế, phần lớn thông tin mà chúng ta tiếp nhận được môi trường bên ngoài đều được thực hiện thông qua hệ thống thị giác. Hiện nay, với sự phát triển của các ứng dụng mạng xã hội, cũng như nhu cầu về xã hội, số lượng các dữ liệu thị giác đã và đang ngày một tăng lên theo cấp số nhân. Một ví dụ điển hình nhỏ, các khảo sát chỉ ra rằng chỉ trong năm 2016 có gần 1 tỉ bức ảnh được tải lên Facebook mỗi ngày [4]. Đặc biệt, trong lĩnh vực công nghệ, các công ty lớn như Facebook, Google hay Amazon … đã đưa thuật toán nhận dạng hình ảnh vào ứng dụng trong các sản phẩm giúp nhận diện khuôn mặt người dùng (Facebook), tìm kiếm bằng hình ảnh (Google) hay sử dụng drone để giao hàng tự động (Amazon). Đối với lĩnh vực y tế, việc xử lý hình ảnh bằng các Kỹ thuật nhận dạng tiên tiến có thể giúp chuẩn đoán sớm bệnh ung thư. Hay trong lĩnh vực tự động hóa, có thể nói đến hệ thống lái xe tự động của Tesla [5]. Điểm mấu chốt của các ứng dụng này là các công việc phát hiện, chuẩn hóa và phân loại hình ảnh. Về cơ bản, nhận dạng hình ảnh là trích xuất các lớp thông tin từ hình ảnh để phân loại đối tượng trong ảnh. Và dưới góc nhìn của một hệ thống, dữ liệu khi đưa vào mạng được biểu diễn bằng ma trận (matrix) số liệu hay tổng quát hơn là (ma trận nhiều chiều (tensor). Giả sử x là một ảnh màu RGB có kích thước H x W x D (tương ứng với kích thước chiều cao, rộng và độ sâu) sẽ được biểu diễn bởi bằng một tensor H x W x 3. Tensor này có 3 channel, tương ứng với ba màu đỏ, xanh lá cây và xanh dương. 5 Hình 1.1. Biểu diễn dữ liệu hình ảnh dưới dạng các lớp màu RGB. Có hai loại phân loại hình ảnh: giám sát (supervised) và không giám sát (unsupervised) - Phân loại giám sát: Sử dụng các thông tin thu được cung cấp trước đó về các mẫu huấn luyện để nhận dạng hình ảnh. Hay nói cách khác, trong nhận dạng có giám sát, ta có dữ liệu được đánh nhãn. - Phân loại không giám sát: Dựa trên việc phân tích một hình ảnh mà không có sự cung cấp trước về các mẫu. Trong nhận dạng không giám sát, ta dùng dữ liệu không được đánh nhãn. Đối với bộ não người bình thường, thông qua quá trình tiến hóa và thu nhận thông tin, cần chưa tới vài giây (hay thậm chí chỉ vài phần giây) để có thể nhận dạng một đối tượng là chó hay mèo, người hay vật, ... Tuy nhiên, đây lại là một vấn đề khó khăn và cực kì phức tạp đối với các hệ thống máy tính. Thậm chí, trong một số trường hợp với hình ảnh phức tạp hay dễ nhầm lẫn, bản thân con người cũng có thể không nhận dạng được đối tượng. Một số thách thức đối với nhận dạng hình ảnh có thể kể đến như: [6] - Về góc nhìn: Ảnh chụp một vật thể có thể từ các hướng nhìn khác nhau (trái, phải, trên, dưới) hoặc khi chuyển hướng nhìn  gây nhầm lẫn khi phân biệt sự vật. 6 Hình 1.2. Vật thể dưới các góc nhìn khác nhau. - Về tỉ lệ: Việc nhận định về vật thể có thể chịu sự chi phối về kích thước và tỉ lệ của vật thể. Trong trường hợp xét cụ thể, có thể kể đến việc sai khác về kích thước quan sát vật thể ở các khoảng cách khác nhau. Cùng một vật thể được đánh giá, nếu ở khoảng cách gần, chúng ta có thể quan sát được với kích thước lớn, và ngược lại khi vật thể ở xa. Hình 1.3. Khả năng nhận dạng đối tượng thay đổi theo khoảng cách. - Về hình dạng: Nhiều đối tượng có thể bị biến đổi hình dáng, đơn cử như động vật, con người có thể thay đổi dáng đi, đứng hay ngồi… Đây cũng là một yếu tố ảnh hưởng đến việc nhận dạng và phân loại đối tượng. 7 Hình 1.4. Đối tượng với các hình dạng hoạt động khác nhau. - Về vấn đề che khuất: Trong thực tế, không phải lúc nào chúng ta cũng có thể quan sát toàn vẹn về đối tượng. Trường hợp đối tượng bị che khuất một phần chính là một ví dụ cụ thể. Hình 1.5. Nhận dạng đối tượng trong trường hợp bị che khuất. Trong hình 1.4, cá thể mèo được chụp trong ảnh bị che khuất một phần cơ thể, chỉ vài phần nhỏ của nó có thể nhìn thấy được. Quá trình nhận dạng sẽ được thực hiện trong trạng thái khuyết thiếu dữ liệu. - Điều kiện chiếu sáng: Tác động của mức độ ánh sáng lên từng điểm ảnh. Hình 1.6. Tác động của ánh sáng đến nhận dạng. 8 - Nhầm lẫn bối cảnh: Một trường hợp khó xử lý khác mà chúng ta có thể kể đến là việc đối tượng có thể bị hòa trộn vào môi trường xung quanh trong ảnh. Hình 1.7. Khả năng gây nhầm lẫn khi đối tượng và bối cảnh có sự tương đồng. - Sự đa dạng chủng loại: Một đối tượng có thể có nhiều loại. Ví dụ: để nhận dạng về mèo, có nhiều thông tin trong tập dữ liệu cần chú ý đến như giống mèo, màu lông, kích thước… Hình 1.8. Sự đa dạng về mặt chủng loại của đối tượng. Bài toán nhận dạng đơn giản nhất hiện nay mà có thể xem là đã giải quyết được là bài toán nhận dạng chữ số viết tay, với kết quả các nhà nghiên cứu đạt được lên đến 99% [7]. Ngược lại, bài toán được cho là khó giải quyết nhất là bài toán nhận dạng ảnh tự nhiên, do sự đa dạng về bối cảnh, màu sắc, đối tượng, ... 9 1.3. Tổng quan về Deep Learning Deep Learning là một nhánh nhỏ của ngành Machine learning bao gồm các thuật toán được xây dựng dựa trên cấu trúc của não bộ con người, được gọi là Artificial Neural Networks (mạng Neuron nhân tạo). Một điểm đáng chú ý của các mạng Neuron nhân tạo là không cần con người lập trình để thực hiện công việc. Thay vào đó, các lập trình viên sẽ cung cấp cho máy tính một thuật toán học và một lượng lớn dữ liệu hay mẫu để huấn luyện. Sau đó, máy tính sẽ tự học được cách để nhận dạng một đối tượng nhất định. Deep Learning gắn liền với cụm từ “Neural Network”. Lĩnh vực này đã được biết đến dưới nhiều cái tên khác nhau và đã trải qua một quá trình lịch sử lâu dài về nghiên cứu. Mạng Neuron không phải là một lĩnh vực mới, thậm chí chúng là những mô hình machine learning lần đầu tiên xuất hiện từ đầu những năm 1950. Khởi đầu là những nghiên cứu về mạng Neuron nhân tạo (ANN), lấy cảm hứng từ các mô hình neuron sinh học như Perceptron, Adaline. Đến những năm 1960 - 1980 với sự phát minh của thuật toán lan truyền ngược (back propagation) [1] đã góp phần thúc đẩy sự phát triển của mạng Neuron, tuy nhiên vẫn chưa gây được sự chú ý trên thế giới. Tuy nhiên, hạn chế về dữ liệu, nền tảng phần cứng chưa mạnh nên những mô hình này không thể bắt kịp với những mô hình đơn giản như mô hình hồi quy logistic (Logistic Regression Model) hay SVM (support vector machines). Deep Learning muốn phát triển được cần ba yếu tố sau: - Lượng dữ liệu dồi dào. Tốc độ tính toán của máy tính mạnh. Các kỹ thuật nâng cao để huấn luyện mạng Neuron. Với sự phát triển của công nghệ khoa học hiện nay, các nhà khoa học đã nâng cao và khai thác được khả năng tính toán mạnh mẽ nhờ sự hỗ trợ các hệ thống máy tính hiện đại và thu thập được lượng dữ liệu khổng lồ thông qua Internet. Thỏa mãn hai điều kiện đầu tiên chính là tiền đề để mạng Neuron phát triển. Năm 2006, bài báo của Geoff Hinton về thuật toán học tập nhanh ứng dụng cho hệ thống mạng sâu trên tạp chí Nature gây được sự chú ý lớn trong cộng đồng khoa học. Năm 2010, AlexNet, một mô hình mạng Neuron tích chập (CNN - Convolutional Neural Network), chiến thắng cuộc thi về nhận diện đồ vật trong hình ảnh - ImageNet Challenge - với độ chính xác vượt trội các mô hình truyền thống. Tiềm năng của mạng Neuron được chú ý từ đây và kỹ thuật huấn luyện cũng dần được phát triển hoàn thiện. Khi 3 yếu tố kể trên được hội tụ, kỷ nguyên Deep Learning được mở ra. Chữ “Deep” trong Deep Learning thể hiện cho chiều sâu của mạng. Với các mạng truyền thống, việc học của mạng ban đầu được triển khai theo chiều “ngang” – 10 các mô hình mạng này được gọi là Shallow Learning – có nghĩa là mô hình mạng chỉ bao gồm một hoặc hai lớp neuron. Và với số lượng lớp ít như vậy, việc học quy định toàn bộ mạng phải nắm rất nhiều thuộc tính của đối tượng, trong khi một số thuộc tính này sẽ phải phụ thuộc vào thuộc tính khác làm nền tảng, hoặc giữa các thuộc tính có sự ràng buộc lẫn nhau. Việc ra đời Deep Learning là một yếu tố tất nhiên, mang tính kế thừa. Ở Deep Learning các thuộc tính được học tập một cách lắng đọng và có khả năng hỗ trợ lẫn nhau, phân chi từ học tập từ cấp thấp đến cấp cao. Như vậy cũng có thể hiểu chữ “Deep” theo ý nghĩa phân luồng dữ liệu từ sơ cấp đến cao cấp, bằng cách sử dụng nhiều lớp neuron để xử lý thông tin. Trong thập kỉ vừa qua, Deep Learning đã tạo những ảnh hưởng to lớn trong ngành thị giác máy tính, đạt được những kết quả cao trong nhiều bài toán như nhận dạng ảnh, xác định đối tượng, khoanh vùng đối tượng, bám đuổi đối tượng hay phân vùng ảnh [8]. Đơn giản nhưng nổi bật có thể kể đến là hệ thống mạng nhận dạng các hình ảnh đơn giản như mạng LeNet, nhận kí tự viết tay của Yann LeCun [9]. Theo xu hướng hiện tại, mỗi năm, lại có các mô hình mạng với cấu trúc phức tạp hơn, sâu hơn, huấn luyện trên tập dữ liệu hớn hơn và đạt được nhưng kết quả cao hơn xuất hiện. Trong bối cảnh này, mạng CNNs được xem là mô hình hiệu quả nhất cho bài toán nhận dạng hình ảnh. Hình 1.9 mô tả sơ lược cách thức hoạt động của Deep Learning trong việc nhận dạng đối tượng.
- Xem thêm -

Tài liệu liên quan