Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
743,26 KB
Nội dung
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM ĐỒ ÁN ĐỀ TÀI: ỨNG DỤNG TỰ ĐỘNG TẠO MÔ TẢ CHO ẢNH Thực hiện: Nguyễn Trường Khoa Nguyên 17520827 Phạm Huỳnh Tấn Đạt 17520338 GIẢNG VIÊN HƯỚNG DẪN TS.HUỲNH NGỌC TÍN TP Hồ Chí Minh, ngày 22 tháng 01 năm 2021 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM NGUYỄN TRƯỜNG KHOA NGUYÊN – 17520827 PHẠM HUỲNH TẤN ĐẠT – 17520338 ĐỒ ÁN ỨNG DỤNG TỰ ĐỘNG TẠO MÔ TẢ CHO ẢNH AUTOMATIC IMAGE CAPTIONING GIẢNG VIÊN HƯỚNG DẪN TS.HUỲNH NGỌC TÍN TP HỒ CHÍ MINH, 2021 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN ĐỀ CƯƠNG CHI TIẾT TÊN ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG TẠO MƠ TẢ CHO HÌNH ẢNH Cán hướng dẫn: TS.HUỲNH NGỌC TÍN Thời gian thực hiện:Từ ngày…28/10/2020… đến ngày……21/01/2021… Sinh viên thực hiện: Nguyễn Trường Khoa Nguyên - 17520827 Phạm Huỳnh Tấn Đạt - 17520338 Nội dung đề tài: Đặt vấn đề Trong sống, người nhìn thấy ảnh, não họ dễ dàng phân tích nhận thức, mơ tả ảnh cách dễ dàng Nhưng cịn với máy tính ? Làm để máy tính mơ tả ảnh người ? Và với khả giúp máy tính mơ tả ảnh, ta ứng dụng khả việc tăng cường khả tìm kiếm hình ảnh thơng qua tiêu đề, ứng dụng camera an ninh, Phạm vi đề tài 2.1 Phạm vi công nghệ - Ngơn ngữ lập trình : Python - Thư viện hỗ trợ : Tensorflow 2.2 Phạm vi đối tượng - Phân tích hình ảnh đưa vào thành mơ tả Phương pháp thực 3.1 Phương pháp phân tích liệu - Rút kết đặc trưng ảnh nhờ vào CNN sau so sánh với mơ tả gán nhãn với hình đầu vào 3.2 Phương pháp lập trình - Cài đặt thuật tốn Nội dung thực 4.1 Khảo sát thuật toán - Khảo sát mơ hình xây dựng cho tốn image captioning - Đánh giá độ xác mơ hình 4.2 Tìm hiểu lựa chọn thuật tốn, cơng nghệ - Tìm đọc chọn paper vấn đề tạo mô tả cho ảnh phù hợp - Kiểm thử kết với mơ hình chọn 4.3 Xây dựng tốn tạo mơ tả ảnh - Tiến hành thiết lập theo mơ hình đề xuất paper - Tìm, chọn liệu cho trình kiểm thử - Chạy so sánh kết đạt qua model khác Kết mong đợi - Tạo mơ tả với hình ảnh đưa vào Kế hoạch thực hiện: STT Nội Dung Thực Hiện Thời gian dự kiến (tuần) Xác định đề tài thực hiện.Viết mơ tả đề tài.Tìm hiểu mơ hình tạo mơ tả áp dụng, cơng nghệ, thuật toán 28/10/2020 14/11/2020 – Chọn thuật toán phù hợp Kiểm thử kết thuật toán chọn 15/11/2020 28/11/2020 – Nghiên cứu phân tích, xử lý đầu vào cho thuật toán chọn 29/11/2020 09/12/2020 – Xây dựng toán Image Captioning 10/12/2020– 23/12/2020 Thử nghiệm mơ hình với tập liệu khác 24/12/202002/01/2021 Kiểm thử độ xác mơ hình sửa lỗi 03/01/2021 15/01/2021 – Viết báo cáo hoàn chỉnh 16/01/2021 21/01/2021 – Xác nhận CBHD TP HCM, ngày….tháng … năm… (Ký tên ghi rõ họ tên) Sinh viên (Ký tên ghi rõ họ tên) LỜI CẢM ƠN Nhóm xin chân thành cảm ơn tới giảng viên hướng dẫn Huỳnh Ngọc Tín tận tình dẫn cho chúng em trình thực đề tài Nhóm xin gửi lời cảm ơn tới anh Trần Văn Tùng – sinh viên khóa 10 trường đại học Cơng nghệ Thơng tin góp ý, giúp đỡ chúng em việc xác định thực đề tài cách tốt Nhóm xin cảm ơn anh chị VCCorp hướng dẫn củng cố kiến thức cần thiết cho đồ án MỤC LỤC Contents Tóm Tắt Bài tốn tự động thêm mơ tả cho ảnh toán trọng lĩnh vực máy học học sâu ngày Hệ thống góp phần phát triển hệ thống AI tạo nhiều sản phẩm cơng nghệ có tính ứng dụng cao đời sống Nhận thấy điều đó, đề tài đồ án nhóm chúng em nghiên cứu thực xây dựng mơ hình thêm mô tả cho ảnh Phương pháp sử dụng mạng neural network để rút trích đặc trưng từ ảnh thành vector sinh câu văn mô tả cho ảnh Phương pháp tập trung vào hai nhiệm vụ chính, là: rút trích đặc trưng từ ảnh thành vector, sinh câu văn mô tả dựa vector đặc trưng thu thông qua mạng neural network Để thực tốt đề tài này, nhóm sử dụng liệu Flickr 8k COCO Kết thúc đề tài nhóm thu kết sau : • Học kiến thức máy học, cụ thể toán Neural Network • Thu kiến thức mơ hình thêm mơ tả cho ảnh • Xây dựng mơ hình thêm mơ tả cho ảnh đơn giản Mở Đầu Với phát triển không ngừng tăng công nghệ đại số, lĩnh vực AI ngày mở rộng với phát triển Deep Learning Và nhu cầu áp dụng công nghệ vào ứng dụng sống ngày tăng Một toán phát triển thêm mơ tả cho ảnh Mơ hình thêm mơ tả cho ảnh với nhiều hình khác nhau, máy tính nhận diện xác vật, việc xảy ảnh, từ sinh câu văn mơ tả ảnh cách có nghĩa Việc thêm mơ tả cho ảnh giúp cơng cụ tìm kiếm tìm ảnh theo tiêu đề nhanh hơn, hỗ trợ toán Computer Vision khác giúp camera nhận diện tình khẩn cấp,….và tính làm cho mạng xã hội thu hút người dùng Mơ hình thêm mơ tả cho ảnh thường dùng mơ hình CNN-RNN để xây dựng kết câu văn sinh thường khơng xác độ dài câu văn khơng đủ dài để diễn tả đầy đủ nội dung, ý nghĩa câu Vì việc áp dụng mơ hình CNN - LSTM giúp mơ hình học tốt khả sinh câu tốt CHƯƠNG PHÁT BIỂU BÀI TOÁN 1.1 Mở đầu Chương trình bày tổng quát mục đích đề tài, tốn đề tài khó khăn thực đề tài 1.2 Thêm mơ tả cho hình ảnh Ứng dụng thêm mơ tả cho ảnh ứng dụng tự động thêm mô tả chi tiết ảnh cho người dùng Với mơ tả chi tiết xác vật, việc ảnh Việc tự động sinh mơ tả cho hình ảnh giúp cho người dùng có thơng tin mơ tả chi tiết ảnh Đó mục tiêu lớn ứng dụng thêm mô tả cho ảnh Bên cạnh đó, ứng dụng thêm mơ tả cho ảnh cịn giúp người thị lực biết cảnh vật xung quanh, hỗ trợ di chuyển giúp cơng cụ tìm kiếm tìm ảnh dựa vào mô tả, … Ngày nay, ứng dụng thêm mô tả cho ảnh lĩnh vực thú vị bật, mang lại nhiều lợi ích sống Chúng ta điểm qua ứng dụng sinh mô tả cho ảnh phân biệt địa danh Google Photos, tìm ảnh mặt bạn hình Picasa, Làm để sinh mơ tả cho ảnh vừa xác cao có ý nghĩa ? Đó vấn đề mà nhóm quan tâm muốn giải quyết, mục tiêu đề tài hướng tới Nhóm mong muốn tìm phương pháp hợp lý hiệu so với nhiều phương pháp Qua để nâng cao độ xác mơ tả cho ảnh 10 19 Ở giai đoạn train vector đưa vào fully connected layer để mạng học phân loại đối tượng có hình Để định phân loại hình dựa vào layer softmax để phân phối xác suất lấy đối tượng có xác suất có khả cao Các vector đặc trưng sau lấy từ mạng CNN đóng vai trị làm input hidden layer cho mạng LSTM (kiến trúc mạng nói rõ phần phụ lục) 20 Các giá trị input đưa vào câu mô tả gán nhãn tương ứng Tập data Flickr 8k cung cấp file câu miêu tả hỗ trợ cho trình training mơ hình, với hình dán nhãn năm câu mô tả tương ứng Ở giai đoạn tiền xử lý câu đưa vào format lại thành chữ thường, loại bỏ khoảng cách dư thừa ký tự đặc biệt (!"#$ %&()*+,-./:;?@[\\]^_`{|}~\t\n) tách câu thành từ riêng lẻ để sử dụng trình xây dựng nên từ điển Các từ sau xử lý với từ vựng gán cho giá trị index để hỗ trợ cho việc sử dụng lưu thông tin từ để tiện cho việc truy xuất Các câu miêu tả hình gán token đầu cuối để mạng học phát sinh miêu tả biết nên dừng lại Ở giai đoạn training, có hai inputs đưa vào mạng LSTM vector đặc trưng lấy từ mạng CNN từ trước, vector đặc trưng truyền vào LSTM hidden layer token truyền vào input bắt đầu tạo mô tả với đặc điểm lấy 21 Các từ input vào LSTM để mạng sử dụng được, đưa qua tầng Embedding để vector hóa giá trị giúp mơ hình học cập nhật giá trị Sau từ vựng vector hóa, mạng LSTM bắt đầu q trình train, đưa vào hai input vector đặc trưng hình đóng vai trò tầng hidden token để bắt đầu khởi tạo câu , mạng khởi tạo đến xuất token báo hiệu kết thúc câu khởi tạo Trong trình phát sinh văn bản, từ dự đoán đem so sánh với từ gán nhãn để tính độ sai, độ sai sử dụng trình truyền ngược để cập nhật lại trọng số, cải thiện khả dự đốn mơ hình 22 4.4 Tổng quan cơng nghệ 4.4.1 Tensorflow – Keras Tensorflow thư viện mã nguồn mở cung cấp khả xử lý tính tốn số học dựa biểu đồ mơ tả thay đổi liệu Tensor sử dụng bạn cần giải toán supervised learning Keras open source cho Neural Network viết ngơn ngữ Python Nó library phát triển vào năm 205 Francois Chollet, kỹ sư nghiên cứu Deep Learning Keras sử dụng chung với thư viện tiếng Tensorflow, CNTK, Theano 4.6 Kết chương Trong chương này, yêu cầu, kiến trúc tổng quan hệ thống giới thiệu, Ngoài sâu vào chi tiết thành phần hệ thống, cơng nghệ sử dụng 23 CHƯƠNG THỰC NGHIỆM, ĐÁNH GIÁ 5.1 Mở đầu Ở chương trước, qua phần thực hệ thống, nhìn tổng quan hệ thống, cấu trúc đầu vào đầu hệ thống Ở chương này,chúng ta chi tiết trình thực nghiệm phương pháp đánh giá mơ hình 5.2 Mơ tả tập liệu Qua khảo sát dataset việc tạo mơ tả cho hình ảnh nay, dataset có tập liệu với kích thước lớn hầu hết liệu cơng bố tiếng nước ngồi Nhưng nhóm mong muốn có áp dụng hệ thống cộng đồng người Việt Về việc xây dựng liệu gặp nhiều khó khan, hình có nhiều cách nhìn nhận vật việc khác nên gây khó khăn cho người làm liệu, cần có thước đo để lấy mơ tả dán nhãn cách xác để đưa vào mơ hình để học đánh giá Dataset nhóm sử dụng đồ án tập liệu Flickr8k, tập liệu bao gồm 8091 hình với năm câu hình Tập liệu thiết kế với image name có mơ tả khác để đánh giá Tập liệu thể mối quan hệ việc ảnh 24 5.3 Phương pháp đánh giá 5.3.1 Các độ đo Để đánh giá kết dự đốn model huấn luyện, nhóm sử dụng độ đo thường dùng để đánh giá mơ hình tạo mô tả: bleu-score 5.3.2 Độ đo BLEU BLEU viết tắt Bilingual Evaluation Understudy, phương pháp đánh giá dịch dựa dịch tham khảo, giới thiệu paper BLEU: a Method for Automatic Evaluation of Machine Translation) 25 Phương pháp đếm số matching n-grams candidate reference (hoặc match reference có nhiều reference), kết số match chia cho số từ candidate Các match khơng phụ thuộc vào vị trí, BLEU không sử dụng word order Càng match nhiều tức tốt Các ưu điểm BLEU là” ● Nhanh chi phí tính tốn thập ● Dễ hiểu ● Khơng phụ thuộc vào ngơn ngữ ● Có độ tương đồng cao với cách đánh giá người ● Được sử dụng rộng rãi 5.4 Thiết lập thực nghiệm Việc đánh giá mơ hình dựa vào việc mơ hình tạo câu miêu tả với độ liên quan với nhãn gán trước hay khơng Ta có groundtruth mơ tả hình để huấn luyện cho mơ hình Một hình có năm miêu tả đóng vai trị làm ground-truth 5.5 Kết thực nghiệm Kết thu sau huấn luyện đánh giá mơ hình với tập liệu Flickr8k chứa 8091 hình ảnh với hình ảnh câu miêu tả tương ứng Nhóm sử dụng hai mơ hình mạng CNN khác để rút kết đặc trưng ảnh so sánh kết mô tả tạo Hai kiến trúc CNN nhóm sử dụng để so sánh kiến trúc Inception GoogLeNet kiến trúc Xception Cả model pre-trained theo phân loại ảnh tập liệu ImageNet với 14 triệu hình gồm 26 20000 lớp đối tượng khác Khi kiểm tra 1000 hình nhóm đánh giá mơ hình sử dụng Inception có độ xác 39% Xception lại cho độ xác 43% (trên độ đo bleu-1) 5.6 Kết chương Trong chương này, phương pháp thực nghiệm kết đánh giá trình bày chi tiết Qua thực nghiệm thấy việc kết hợp đơn feature chưa mang lại kết cao việc tạo mô tả ảnh liên quan Tuy nhiên, 27 thực nghiệm làm tiền đề để nghiên cứu phát triển mô hình tự động thêm mơ tả hình ảnh liên quan tương lai 28 Kết luận hướng phát triển Trong đồ án này, toán Automatic Image Captioning phát biểu xây dựng chi tiết theo mơ hình Show And Tell phát triển vào năm 2015 Đây hướng tiếp cận học sâu sở để giải tốn tự động tạo mơ tả cho ảnh Bằng cách áp dụng phương pháp học sâu thay phương pháp truyền thống mang lại độ xác tương đối cao hơn, nhiên nhóm xây dựng mơ hình sở nên độ xác tốn cịn thấp, điều nhiều nguyên nhân, liệu chưa đủ lớn (flickr8k, flickr30k), thời gian chưa đủ lâu mơ hình chưa thật học tốt Trong trình nghiên cứu xây dựng mơ hình thêm mơ tả cho ảnh, nhóm thu kết sau: ● Phát biểu tốn tự động thêm mơ tả cho ảnh theo model Show And Tell ● Kiến thức máy học cụ thể toán Convolutional Neural Networks Long Short Term Memory ● Xây dựng toán theo mơ hình Trong tương lai nhóm dự định sâu việc tìm kiếm phương pháp liên quan để tối ưu toán nhằm đạt kết cao hơn, đồng thời nhóm nghiên cứu áp dụng yếu tố cảm xúc vào toán để tốn tạo miêu tả theo cảm xúc truyền vào 29 Tài liệu tham khảo - Show, Attend and Tell: Neural Image Caption Generation with Visual Attention : Show, Attend and Tell: Neural Image CaptionGeneration with Visual Attention (arxiv.org) - Show and Tell: A Neural Image Caption Generator: 1411.4555.pdf (arxiv.org) - Bleu: a Method for Automatic Evaluation of Machine Translation: bleu.dvi (aclweb.org) - ImageNet: A large-scale hierarchical image database: ImageNet: A largescale hierarchical image database - IEEE Conference Publication - An Introduction to Convolutional Neural Networks: (PDF) An Introduction to Convolutional Neural Networks (researchgate.net) 30 Phụ lục Convolutional Neural Networks Trong deep learning, Convolutional Neural Networks (CNN) phần deep neural network Chúng mô não người, với cấu tạo nhiều neural thần kinh, để học điều giống với cách mà não người hoạt động CNN ứng dụng nhiều xử lý ảnh, mục đích để phân tích đặc điểm, hình dạng ảnh.Trong phạm vi toán này, mục tiêu lấy vector đặc trưng cho hình cần sử dụng CNN để thực điều Dưới khái niệm cần nắm CNN: ● Filter: Là lọc, ma trận vuông với giá trị: 0; 1; Được nhân với ma trận đầu vào tìm đặc trưng ● Window size: kích thước ma trận vuông filter ● Feature map: ma trận sau thực phép tích chập ● Pooling : stage quan trọng CNN, sử dụng để giảm kích thước liệu giữ thuộc tính quan trọng Kích thước liệu giảm giúp giảm việc tính tốn model ● Fully connected: đảm bảo neuron layer kết nối đầy đủ với neuron layer khác Cấu trúc mạng CNN gồm stage: convolution: stage này, ma trận đầu vào quét toàn từ xuống dưới, từ trái qua phải Việc quét thực filter với window size định nghĩa Feature map đầu cho stage Stage thứ hai Pooling, giai đoạn thực việc giảm số chiều ma trận feature map, cách thực việc giữ lại trọng số tốt thơng qua phép tốn, thơng thường giữ lại trọng số cao nhất(max pooling) Trong mạng CNN, thực convolution pooling nhiều lần Giai đoạn cuối Fully Connected, giai đoạn tính xác suất đưa kết để phân lớp giá trị đầu vào Đối với mạng CNN, việc “lan truyền ngược” thực để tối ưu model để phân lớp xác 31 Long Short-Term Memory Mạng nhớ dài-ngắn (Long Short Term Memory networks), thường gọi LSTM - dạng đặc biệt RNN, có khả học phụthuộc xa LSTM giới thiệu Hochreiter Schmidhuber (1997),và sau cải tiến phổ biến nhiều người ngành Chúng Hoạt động hiệu nhiều tốn khác nên dần trở nên phổ biến LSTM thiết kế để tránh vấn đề phụ thuộc xa (long-term dependency).Việc nhớ thông tin suốt thời gian dài đặc tính mặc định chúng, ta khơng cần phải huấn luyện để nhớ Tức nội ghi nhớ mà không cần can thiệp Mọi mạng hồi quy có dạng chuỗi mô-đun lặp lặp lại mạng nơ-ron Với mạng RNN chuẩn, modun có cấu trúc đơn giản, thường tầng LSTM có kiến trúc dạng chuỗi vậy, mơ-đun có cấu trúc khác với mạng RNN chuẩn Thay Vì có tầng mạng nơ-ron, chúng có tới tầng tương tác với cách đặc biệt 32 Điểm quan trọng mạng LSTM cell state Cell state truyền xuyên suốt tất nút mạng tương tác tuyến tính, thơng tin dễ dàng truyền thơng suốt, khơng bị thay đổi LSTM có khả bỏ thêm vào thông tin cần thiết cho cell state, chúng điều chỉnh cẩn thận nhóm gọi cổng (gate) Gate nơi sàng lọc thơng tin qua nó, chúng kết hợp tầng mạng sigmoid phép nhân 33 ... mơ tả cho ảnh 10 1.3 Phát biểu tốn thêm mơ tả cho ảnh Ứng dụng thêm mơ tả cho hình ảnh ứng dụng tạo mô tả phù hợp với hình truyền vào Hiện có nhiều hướng tiếp cận để xây dựng tốn thêm mơ tả cho. .. cho ảnh ứng dụng tự động thêm mô tả chi tiết ảnh cho người dùng Với mô tả chi tiết xác vật, việc ảnh Việc tự động sinh mơ tả cho hình ảnh giúp cho người dùng có thơng tin mơ tả chi tiết ảnh Đó... dụng để giải toán báo cáo 2.2 Giới thiệu tốn thêm mơ tả cho ảnh Mơ hình thêm tả cho ảnh giới thiệu paper “Show and Tell: A Neural Image Caption Generator” Mơ hình thêm mô tả cho ảnh công cụ tạo