Cấu hình phần cứng

Một phần của tài liệu Tìm kiếm hình ảnh bằng phương pháp học sâu (Trang 60)

4.2.2. Trích xuất đặc trưng

Quy trình để trích xuất đặc trưng ảnh được tiến hành như sau:

- Giai đoạn 1: Huấn luyện mơ hình mạng CNN được xây dựng từ mơ hình mạng học chuyển giao (Transfer Learning Model) và tinh chỉnh (Fine-

Tuning) mô hình huấn luyện. Quy trình huấn luyện mơ hình sẽ thực hiện

các bước sau: từ tập dữ liệu hình ảnh đầu vào, tiền xử lý tập hình ảnh, bộ đọc dữ liệu sẽ tiến hành đọc các tập hình ảnh để phân chia thành 2 tập dữ liệu phục vụ cho việc huấn luyện và đánh giá mơ hình học sâu CNN là tập huấn luyện (train), tập kiểm thử (validation). Sau khi hoàn thành huấn luyện, mơ hình sẽ được lưu tập tin ở định dạng H5 (một định dạng lưu trữ mảng hiệu quả).

- Giai đoạn 2: Tất cả các ảnh trong tập hình ảnh dữ liệu được đưa qua mơ hình mạng đã huấn luyện ở Giai đoạn 1 để trích xuất những đặc trưng véc- tơ của ảnh (những đặc trưng đó là hình dạng, màu sắc, kết cấu, …). Các

61

véc-tơ đại diện thu thập được tại lớp FC (fully connected) cuối cùng sẽ được lưu lại sử dụng trong quá trình tìm kiếm sau này.

Sau khi mạng được huấn luyện, lớp đầu ra sẽ có 50 nơ-ron (tương ứng với 50 bộ hình ảnh trong cơ sở dữ liệu hình ảnh) với hàm kích hoạt softmax để trích xuất véc-tơ đặc trưng của ảnh và được sử dụng cho bài tốn tìm kiếm ảnh.

4.2.3. Kết quả:

Các tham số được sử dụng trong q trình huấn luyện mơ hình: - Tốc độ học: trong khoảng [0.00001, 0.0002]

- Giá trị Drop-out: 0.2 - Hàm tối ưu: Adam

- Hàm kích hoạt: Relu và Softmax - Hàm chi phí: cross-entropy - Số vịng lặp: 20

Kết quả huấn luyện trên các mơ hình học sâu mạng nơ-ron tích chập được như mơ tả chi tiết dưới đây:

Mơ hình pre-trained VGG19: thời gian huyến luyện mơ hình là 29.226 giây (tương đương 8 giờ)

Bắt đầu Kết thúc Train accuracy Val accuracy Train loss Val loss Train accuracy Val accuracy Train loss Val loss 0.0703 0.2237 3.8420 3.4467 0.6152 0.7059 1.9358 1.7253 Bảng 4.4: Kết quả huấn luyện pre-trained VGG19

62

Hình 4.2: Chi tiết huấn luyện pre-trained VGG19

63

64

Hình 4.5: Pre-trained VGG19 Confusion Matrix

Mơ hình pre-trained Densenet121: thời gian huyến luyện mơ hình là 10.816 giây (tương đương 3 giờ)

Bắt đầu Kết thúc Train accuracy Val accuracy Train loss Val loss Train accuracy Val accuracy Train loss Val loss 0.4070 0.8267 2.7152 1.3365 0.9400 0.9244 1.0392 1.0310 Bảng 4.5: Kết quả huấn luyện pre-trained Densenet121

65

Hình 4.6: Chi tiết huấn luyện pre-trained Densenet121

66

67

Hình 4.9: Pre-trained Densenet121 Confusion Matrix

Mơ hình pre-trained InceptionResNetV2: thời gian huyến luyện mơ hình là 12.988 giây (tương đương 3 tiếng 36 phút)

Bắt đầu Kết thúc Train accuracy Val accuracy Train loss Val loss Train accuracy Val accuracy Train loss Val loss 0.6634 0.8800 1.8544 1.0818 0.9173 0.9382 1.0200 0.9173 Bảng 4.6: Kết quả huấn luyện pre-trained InceptionResNetV2

68

Hình 4.10: Chi tiết huấn luyện pre-trained InceptionResNetV2

69

70

Hình 4.13: Pre-trained InceptionResNetV2 Confusion Matrix

Mơ hình Pre-trained InceptionV3: thời gian huyến luyện mơ hình là 12.346 giây (tương đương 3 giờ 24 phút)

Bắt đầu Kết thúc Train accuracy Val accuracy Train loss Val loss Train accuracy Val accuracy Train loss Val loss 0.7005 0.9347 1.7443 0.9865 0.9474 0.9596 0.9743 0.8939 Bảng 4.7: Kết quả huấn luyện pre-trained InceptionV3

71

Hình 4.14: Chi tiết huấn luyện pre-trained InceptionV3

72

Hình 4.16: Pre-trained InceptionV3 Classification Report

73

Hình 4.17: Pre-trained InceptionV3 Confusion Matrix

Mơ hình pre-trained Xception: thời gian huyến luyện mơ hình là 20.557 giây (tương đương 5 giờ 42 phút)

Bắt đầu Kết thúc Train accuracy Val accuracy Train loss Val loss Train accuracy Val accuracy Train loss Val loss 0.7850 0.9443 1.4459 0.9549 0.9733 0.9611 0.8983 0.8762 Bảng 4.8: Kết quả huấn luyện pre-trained Xception

74

Hình 4.18: Chi tiết huấn luyện pre-trained Xception

75

76

Hình 4.21: Pre-trained Xception Confusion Matrix

Từ các kết quả huấn luyện cho thấy mơ hình đề xuất Xception đạt được độ chính xác cao nhất so với các mơ hình tương tự trên cùng tập dữ liệu huấn luyện.

Mơ hình Accuracy F1 score Recall Precision Thời gian huấn luyện VGG19 70,59% 70,18% 70,59% 72,86% 29.226s (~8h) Densenet121 92,44% 92,39% 92,44% 92,81% 10.816s (~3h) InceptionResNetV2 93,82% 93,78% 93,82% 94,17% 12.988s (~3h36m) InceptionV3 95,96% 95,97% 95,96% 96,15% 12.346s (~3h24m) Xception 96,11% 96,18% 96,11% 96,54% 20.557s (~5h42m) Bảng 4.9: Đánh giá độ chính xác các mơ hình CNN

Áp dụng K-Fold Cross Validation để đánh giá các mơ hình CNN huấn luyện với k = 5 và epoch = 5

77

78 - Pre-trained Densenet121 model:

79 - Pre-trained InceptionResNetV2 model:

80 - Pre-trained InceptionV3 model:

81 - Pre-trained Xception model:

Hình 4.26: Kết quả 5-Fold Cross Validation trên pre-trained Xception

Từ các kết quả thực hiện 5-Fold Cross Validation trong 5 vòng lặp để đánh giá các mơ hình CNN huấn luyện cho thấy mơ hình đề xuất pre-trained Xception đạt được Accuracy cao nhất và Loss thấp nhất so với các mơ hình pre-trained khác.

82

Mơ hình Accuracy Loss

VGG19 77.01% (Độ lệch +- 1.16%) 1.51

Densenet121 92.92% (Độ lệch +- 0.28%) 1.02

InceptionResNetV2 91.00% (Độ lệch +- 0.59%) 0.99

InceptionV3 91.07% (Độ lệch +- 2.10%) 1.03

Xception 93.49% (Độ lệch +- 0.35%) 0.96

Bảng 4.10: So sánh đánh giá 5-Fold Cross Validation Quy trình tìm kiếm hình ảnh được tiến hành như sau: Quy trình tìm kiếm hình ảnh được tiến hành như sau:

- Giai đoạn 1: Sử dụng thư viện Annoy (phương pháp Nearest Neighbor Search) để đánh chỉ mục (index) các véc-tơ đặc trưng ảnh trong cơ sở dữ liệu hình ảnh đã được trích xuất từ các mơ hình CNN trước đó.

- Giai đoạn 2: Khi người dùng gửi hình ảnh truy vấn đến hệ thống, hệ thống sẽ trích xuất véc-tơ đặc trưng từ ảnh truy vấn này sau đó so sánh độ tương đồng với các vec-tơ đặc trưng hình ảnh trong cơ sở dữ liệu hình ảnh bằng phép đo khoảng cách angular. Tập K hình ảnh gần giống nhất với ảnh truy vấn được trả về theo khoảng cách được tính, trong đó hình ảnh gần giống nhất sẽ là ảnh có khoảng cách ngắn nhất đến truy vấn.

83

Hình 4.28: Hình ảnh được tìm kiếm bằng pre-trained Densenet121

Hình 4.29: Hình ảnh được tìm kiếm bằng pre-trained InceptionResNetV2

84

Hình 4.31: Hình ảnh được tìm kiếm bằng pre-trained Xception

Để đánh giá kết quả xếp hạng của hệ thống tìm kiếm, chúng tơi thử nghiệm hệ thống bằng 781 truy vấn ảnh được lấy ngẩu nhiên từ tổng 10% hình ảnh trong mỗi bộ dữ liệu ảnh và đánh giá kết quả trả về đối với MP@1, MP@10 , MP@20 và MP@40. Kết quả chi tiết về độ chính xác trung bình mAP của hệ thống tìm kiếm trong Bảng

4.11. Bảng 4.11: So sánh đánh giá mAP 4.3. X ây dựng ứng dụng 4.3.1. Thiết kế

Để trực quan các kết quả đạt được chúng tơi xây dựng chương trình dựa trên các công cụ Flask, HTML, CSS, Boostrap 3, Jquery, Python 3.8. Chương trình có các

Mơ hình MP@1 MP@10 MP@20 MP@40 Thời gian truy vấn trung bình VGG19 48,27% 38,40% 36,88% 35,88% 180 giây Densenet121 100% 97,10% 97,00% 96,99% 102 giây InceptionResNetV2 100% 93,97% 93,52% 94,18% 121 giây InceptionV3 100% 96,97% 96,89% 96,70% 136 giây Xception 100% 98,81% 98,84% 98,86% 190 giây

85

chức năng chính như: Phân tích dữ liệu, Mơ hình huấn luyện, Đánh giá mơ hình và Tìm kiếm hình ảnh.

4.3.2. Ứng dụng tìm kiếm hình ảnh

Hình 4.32: Giao diện chính

Chức năng phân tích dữ liệu: hiển thị quá trình phân tích và tiền xử lý dữ

86

Hình 4.33: Giao diện phân tích dữ liệu

Chức năng mơ hình huấn luyện: hiển thị cấu trúc mơ hình huấn luyện và kết

87

88

89

90

Chức năng đánh giá mơ hình: hiển thị chi tiết kết quả thực nghiệm các mơ

hình thực nghiệm VGG19, Densenet121, InceptionResNetV2, InceptionV3 và Xception

91

Chức năng tìm kiếm hình ảnh: Với mơ hình đã huấn luyện, ta có thể tiến

hành tìm kiếm hình ảnh bằng cách chọn ảnh muốn tìm kiếm:

Hình 4.38: Kết quả thực nghiệm 1 Mô tả chi tiết thực nghiệm 1 (Hình 4.38) như sau: Mơ tả chi tiết thực nghiệm 1 (Hình 4.38) như sau:

Input: Chúng tơi chọn hình ảnh đầu vào là ảnh một cô gái đứng kế bên con ngựa.

Output: Kết quả được trả về là 12 bức ảnh có hình “người và ngựa” hoặc hình “ngựa”. Quan sát các ảnh kết quả này đều có nét tương đồng với ảnh input.

92

Hình 4.39: Kết quả thực nghiệm 2 Mơ tả chi tiết thực nghiệm 2 (Hình 4.39) như sau: Mơ tả chi tiết thực nghiệm 2 (Hình 4.39) như sau:

Input: Chúng tơi chọn hình ảnh đầu vào là ảnh một con hổ vằn ngẫu nhiên. Output: Kết quả được trả về là 12 bức ảnh có hình hổ vằn. Quan sát các ảnh kết quả này đều tương đồng với ảnh input.

93

Hình 4.40: Kết quả thực nghiệm 3 Mơ tả chi tiết thực nghiệm 3 (Hình 4.40) như sau: Mơ tả chi tiết thực nghiệm 3 (Hình 4.40) như sau:

Input: Chúng tơi chọn hình ảnh đầu vào là ảnh một con dê núi ngẫu nhiên. Output: Kết quả được trả về là 12 bức ảnh có hình dê núi. Quan sát các ảnh kết quả này đều tương đồng với ảnh input.

94

Hình 4.41: Kết quả thực nghiệm 4 Mơ tả chi tiết thực nghiệm 4 (Hình 4.41) như sau: Mơ tả chi tiết thực nghiệm 4 (Hình 4.41) như sau:

Input: Chúng tơi chọn hình ảnh đầu vào là ảnh một cơ gái cầm bông hoa.

Output: Kết quả được trả về là 12 bức ảnh có hình bơng hoa. Quan sát các ảnh kết quả này là khơng có ảnh cơ gái với bông hoa nào cả, nguyên nhân do trong cơ sở dữ liệu hình ảnh của hệ thống chỉ có ảnh bơng hoa.

95

Hình 4.42: Kết quả thực nghiệm 5 Mơ tả chi tiết thực nghiệm 5 (Hình 4.42) như sau: Mơ tả chi tiết thực nghiệm 5 (Hình 4.42) như sau:

Input: Chúng tơi chọn hình ảnh đầu vào là ảnh một người đàn ơng đứng kế bên chiếc máy bay.

Output: Kết quả được trả về là 12 bức ảnh có hình máy bay. Quan sát các ảnh kết quả này là khơng có ảnh người nào đứng kế bên chiếc máy bay cả, nguyên nhân do trong cơ sở dữ liệu hình ảnh của hệ thống chỉ có ảnh máy bay.

96

CHƯƠNG 5

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Trong chương này, chúng tơi trình bày kết luận về nghiên cứu và hướng phát triển của luận văn.

5.1. Kết luận

Trong luận văn này, chúng tơi đã trình bày phương pháp sử dụng một mạng nơ ron tích chập đã huấn luyện từ trước (pre-trained model) và tối ưu lại các tham số huấn luyện trên tập dữ liệu Oxford-IIIT Pet Dataset và dữ liệu thu thập trên trang web Kaggle với tổng cộng 8803 hình ảnh để trích xuất véc-tơ đặc trưng và so sánh độ tương đồng cho tìm kiếm ảnh truy vấn. Chúng tơi áp dụng phương pháp học chuyển giao (transfer learning) để giảm phần nào thời lượng training, cải thiện chất lượng phân loại ảnh để trích xuất được đặc trưng của ảnh làm đại diện tốt nhất. Đồng thời áp dụng phương pháp “láng giềng gần nhất” (nearest neighbors) nhằm cải thiện tốc độ trả về kết quả tìm kiếm với thời gian truy vấn chấp nhận được. Tìm kiếm hình ảnh bằng phương pháp học sâu có ưu điểm là tận dụng được khả năng xử lý của mạng nơ ron tích chập cho cả thao tác phân loại và tính tốn véc tơ đại diện cho các ảnh trong tập ảnh tìm kiếm. Nghiên cứu này đã cho thấy việc áp dụng mạng nơ ron tích chập có kết quả tốt để góp phần nâng cao hiệu quả cho các hệ thống tìm kiếm.

5.2. Hướng phát triển

Việc huấn luyện trên mạng nơ ron tích chập là một hoạt động tiêu tốn tài nguyên và thời gian, nghiên cứu này chưa thực hiện tối ưu một cách triệt để các tham số của mơ hình. Do đó, các tham số của mạng nơ ron tích chập cũng cần được bổ sung và mở rộng khoảng giá trị khi thực hiện tối ưu nhằm tìm ra bộ tham số tốt nhất.

Ngồi ra, để có thể áp dụng cho một bài tốn tìm kiếm sản phẩm theo ảnh có độ chính xác cao thì khơng thể chỉ áp dụng mạng CNN để trích xuất đặc trưng của hình ảnh với đầu ra của mạng là một vec-tor đặc trưng sau đó dùng thư viện Annoy để tìm kiếm vì những sản phẩm có kích thước khá giống nhau dẫn tới việc mơ hình sẽ cho ra kết quả tìm kiếm dễ bị nhầm lẫn.

Hướng phát triển sắp tới, ngoài việc dùng vector embedding từ mơ hình thì chúng tơi sẽ nghiên cứu kết hợp thêm việc trích xuất đặc trưng về màu sắc trên từng

97

khu vực của hình ảnh. Chúng tôi sẽ thu thập thêm dữ liệu huấn luyện mơ hình với nhiều hình ảnh hơn để tăng độ chính xác của mơ hình mạng nơ-ron học sâu. Và tiếp tục nghiên cứu thêm nhiều phương pháp học sâu khác để tìm mơ hình có độ chính xác cao hơn.

98

CƠNG TRÌNH CƠNG BỐ

Phạm Hồng Phương, Bùi Thanh Hùng, “Tìm kiếm hình ảnh bằng phương

pháp học sâu”. NGÀY HỘI KHOA HỌC CÁN BỘ, GIẢNG VIÊN TRẺ VÀ HỌC

VIÊN CAO HỌC LẦN THỨ V – NĂM 2021 được tổ chức tại trường Đại học Thủ Dầu Một (tháng 06/2021).

Phạm Hồng Phương, Bùi Thanh Hùng, “Tìm kiếm hình ảnh bằng phương

pháp học sâu”. Bài báo được chấp nhận trình bày tại Hội nghị khoa học quốc gia lần

thứ XIV về "Nghiên cứu cơ bản và ứng dụng công nghệ thông tin" FAIR’2021 được tổ chức tại Trường Đại học Công nghiệp Thực phẩm TP. Hồ Chí Minh (HUFI)

Bui Thanh Hung, Pham Hoang Phuong, “Content based Image Retrieval

based on Deep Learning Approach”. International Conference on Computer Vision

and Robotics (CVR 2021). Organized by Babu Banarasi Das University Lucknow, India and Soft Computing Research Society (August 07-08, 2021).

99

TÀI LIỆU THAM KHẢO

[1] A.D.Dongare, R.R.Kharde, Amit D.Kachare, “Introduction to Artificial Neural Network”, International Journal of Engineering and Innovative Technology (IJEIT 2012)

[2] Fukushima, K.: Neocognitron, “A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position”, Biological Cybernetics 36(4), 193–202 (1980)

[3] Yann LeCun, Léeon Bottou, Yoshua Bengio, and Patrick Haffner, “Gradient-Based Learning Applied to Document Recognition”, IEEE 1998 [4] Alex Krizhevsky, Ilya Sutskever, Geoffrey Hinton, University of Toronto

Canada, “ImageNet Classification with Deep Convolutional Neural Networks”, Neural Information Processing Systems (NIPS 2012)

[5] Matthew D Zeiler, Rob Fergus, “Visualizing and Understanding Convolutional Networks”, arXiv:1311.2901v3 [cs.CV] 28 Nov 2013

[6] Karen Simonyan, Andrew Zisserman, “Very Deep Convolutional Networks For Large-Scale Image Recognition”, ICLR 2015

[7] Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, Andrew Rabinovich, “Going Deeper with Convolutions”, 2014

[8] Wengang Zhou, Houqiang Li, and Qi Tian, “Recent Advance in Content- based Image Retrieval: A Literature Survey”, 2017

[9] P.S. Hirematch, Jagadeesh Pujari, “Content base image retrieval base on color, texture and shape feature using Image and its complement”, International journal of computer science and security (IJCSS 2007)

[10] D. N. F. Awang Iskandar James A. Thom S. M. M. Tahaghoghi, “Content- based Image Retrieval Using Image Regions as Query Examples”. CRPIT 2008

[11] Shabaz Basheer Patel, Anand Sampat, “Semantic image search using queries”, Computer Vision and Pattern Recognition (CVPR 2017)

[12] M. Hadi Kiapour, Xufeng Han, Svetlana Lazebnik, Alexander C. Berg, and Tamara L. Berg, “Where to Buy It: Matching Street Clothing Photos in Online Shops”, ICCV 2015

100

[13] Agnes Borras, Francesc Tous, Josep Lladós, Maria Vanrell, “High-Level Clothes Description Based on Color-Texture and Structural Features”, Computer Science, Iberian Conference, Pattern Recognition and Image Analysis (2013)

[14] Lukas Bossard, Matthias Dantone, Christian Leistner, Christian Wengert, Till Quack, Luc Van Gool, “Apparel Classification with Style”, ACCV 2012

[15] Liu, Ying, Dengsheng Zhang, Guojun Lu, and Wei-Ying Ma, “A Survey of Content-Based Image Retrieval with High-Level Semantics”, Pattern Recogn. 40 (1): 262–282

[16] Magesh, N., and P. Thangaraj, “Semantic Image Retrieval Based on Ontology and SPARQL Query”, International Conference on Advanced

Một phần của tài liệu Tìm kiếm hình ảnh bằng phương pháp học sâu (Trang 60)

Tải bản đầy đủ (PDF)

(108 trang)