Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
1,02 MB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THÔNG TIN BÁO CÁO HỆ CƠ SỞ DỮ LIỆU ĐA PHƯƠNG TIỆN ĐỀ TÀI Xây dựng hệ CSDL lưu trữ tìm kiếm ảnh nhân vật hoạt hình GIẢNG VIÊN: NGUYỄN ĐÌNH HĨA LỚP HỌC PHẦN: D18-026 NHĨM BTL: 04 SINH VIÊN THỰC HIỆN: NGUYỄN QUANG ĐỒNG B16DCCN162 MAI THANH SƠN B16DCCN514 ĐOÀN VIỆT DŨNG B16DCCN096 Hà Nội, ngày 02/05/2022 MỤC LỤC Trình bày liệu (Kết sưu tầm) Đặc trưng ảnh Hãy tìm hiểu kỹ thuật xử lý tìm kiếm ảnh hành Elasticsearch trình phân tích liệu Ưu điểm nhược điểm Elasticsearch 12 XÂY DỰNG HỆ THỐNG NHẬN DẠNG VÀ TÌM KIẾM ẢNH NHÂN VẬT HOẠT HÌNH 14 Trình bày thuộc tính sử dụng để nhận dạng ảnh nhân vật hoạt hình hệ thống, kỹ thuật để trích rút thuộc tính 15 Trình bày cách lưu trữ quản lý thuộc tính ảnh nhân vật hoạt hình cách nhận dạng, tìm kiếm ảnh CSDL dựa thuộc tính 19 Trình bày liệu (Kết sưu tầm) • Tổng số ảnh: 150 • Kích cỡ ảnh: 450x285 • Số nhân vật hoạt hình: 15 • Số lượng nhân vật hoạt hình phim : o Jujutsu Kaisen : o Dragon Ball : o Bleach : o Naruto : o Conan : o Hunter X Hunter : o One Piece : o Fairy Tail : o Dr.Stone : o Haikyuu!! : o Toriko : o Shokugeki no Soma : • Số ảnh nhân vật hoạt hình: STT Tên nhân vật Số ảnh Tên Phim Gojo Satoru 10 Jujutsu Kaisen Son Goku 10 Dragon Ball Kurosaki Ichigo 10 Bleach Uchiha Itachi 10 Naruto Kid ( Kuroba Kaito) 10 Conan Zoldyck Killua 10 Hunter X Hunter Levi Ackerman 10 Attack on Titan Monkey D.Luffy 10 One Piece Uzumaki Naruto 10 Naruto 10 Natsu Dragneel 10 Fairy Tail 11 Uchiha Sasuke 10 Naruto 12 Senku Ishigami 10 Dr.Stone 13 Souma Yukihira 10 Shokugeki no Soma 14 Tobio Kageyama 10 Haikyuu!! 15 Toriko 10 Toriko Link: https://drive.google.com/drive/folders/13RQBFJcABu6fJPTRLJrwtlRuwrwEWlTN Đặc điểm: Đặc trưng ảnh - Về đối tượng:Nhân vật hoạt hình + Hình dạng: hình dáng tư thế, chân dung , cận mặt nhân vật + Màu sắc: Ảnh nhân vật hoạt hình có vài màu sắc chủ đạo màu tách biệt rõ ràng màu sắc đối tượng - Nền: Ảnh nhân vật hoạt hình tách nền, cịn để lại chủ thể nhân vật hoạt hình - Kết cấu ảnh: Giống : Mỗi ảnh có đối tượng nhân vật hoạt hình Về hình dáng màu sắc nhân vật kết cấu ảnh giống Ví dụ Về màu sắc: Một số nhân vật hoạt hình có màu sắc phân bố giống Khác nhau: Hình dáng đặc trưng màu sắc đặc trưng nhân vật hoạt hình khác Ví dụ Kid có màu tóc đen ln mắc vest Senku có màu tóc trắng Màu sắc chủ đạo ảnh (màu sắc đặc trưng nhân vật hoạt hình), Ví dụ : Khác kết cấu ảnh ( độ tương phản, entropy, độ đồng nhất, tổng trung bình xác suất mức xám, …) → Do nhân vật có đặc trưng màu sắc riêng nên ma trận màu, véc-tơ màu nhân vật khác nhau→ Bọn em sử dụng thuộc tính màu sắc cho tốn Hãy tìm hiểu kỹ thuật xử lý tìm kiếm ảnh hành Elasticsearch q trình phân tích liệu Elasticsearch Như chúng ta biết Elasticsearch open-source search engine tiếng hỗ trợ cho việc tìm kiếm cho hệ thống bạn Được xây dựng apache lucene (một thư viện mã nguồn mở để xây dựng search engine), Elasticsearch hoạt động độc lập server đồng thời giao tiếp thông qua RESTful vậy, hệ thống bạn viết ngơn ngữ Elasticsearch sử dụng Sử dụng Elasticsearch Elasicsearch có khả mở rộng mạnh mẽ, bạn cài đặt để lưu liệu dạng phân tán thành nhiều server có server down Elasictsearch tự động khơi phục liệu server đó, xem thêm khái niệm cluster, node, shards , bạn sử dụng Elasticsearch database Tuy nhiên Elasticsearch mạnh mẽ việc truy suất tìm kiếm liệu, cịn việc thêm / sửa / xóa liệu xa database khác Mysql, Postgres nên khuyến khích sử dụng Elasticsearch để lưu trữ liệu cần search kết hợp với database khác để lưu trữ liệu Về nguyên tắc sử dụng hệ thống bạn gửi liệu cần search lên server Elasicsearch thông qua http request, liệu lưu dạng documents, đồng thời liệu đánh index giống database khác để tăng tốc độ tìm kiếm, khác với database khác, Elasticsearch , sử dụng cấu trúc gọi inverted index - khác với Btree Mysql, liệu tách thành token lưu lại, Analysis gì? Analysis trình tự động thực để phân tích liệu trước lưu vào inverted index Elasticsearch sử dụng analyzer Ví dụ phân tích đoạn text, q trính thực bước sau: • Character filtering—Chuyển đổi ký tự sử dụng character filter • Breaking text into tokens—Tách đoạn text thành tập hợp token • Token filtering—Biến đổi token sử dụng token filter • Token indexing—Và cuối lưu token vào inverted index Trước vào chi tiết bước, hình mơ tả tổng quan q trình phân tích đoạn text có nội dung "share your experience with NoSql & big data technologies" sử dụng analyser gồm chararacter filter, tokenizer, token filters Bước 1: Character filtering Đây bước trình analysis, bước này, ký tự chuyển đổi thành liệu cho phù hợp với yêu cầu search bạn sử dụng Character filters , trình giúp bạn xử lý cho trường hợp muốn loại bỏ thẻ/ký tự HTML đoạn text, chuyển ký tự thành từ có nghĩa “I love u 2” thành “I love you too” Ở ví dụ charater filter chuyển đổi ký tự "&" thành từ "and", bạn tìm kiếm với từ khóa "and" liệu chứa ký tự "&" liệt kê ra, điều khó thực search với câu lệnh sql Bước 2: Breaking into tokens Sau đoạn text xử lý chuyển đổi ký tự xong, phân tách thành tokens độc lập sử dụng tokenizers Elasitcsearch cung cấp nhiều tokenizers để phục vụ cho u cầu tốn bạn, ví dụ whitespace tokenizer tách đoạn text thành tokens dựa váo khoảng trắng whitespace: "artic region" output token artic, region, letter tokenizer tách đoạn text thành token dựa vào whitespace ký tự đặc biệt: "sun-asterisk company" có output tokens sun, asterisk, company Bước 3: Token filtering Sau đoạn text tách cho output tokens, tokens sau đưa vào nhiều Token filters, tokens xóa bợt, thêm chỉnh sửa tùy vào loại token filter Các token hữu ích trường hợp bạn muốn chuyển token dạng lowercase ngược lại, thêm token "tools" ví dụ Một analyzer có khơng nhiều token filters Bước 4: Token indexing Sau token qua nhiều token filters chúng gửi tới Lucene để lập đánh index Một analyzer bao gồm không nhiều character filters, tokenizer, không nhiều token filters Tùy thuộc vào loại query bạn sử dụng, analyzer áp dụng cho tìm kiếm văn trước search thực Đặc biệt, query chứa truy vấn match match_phrase thực analysis trước thực tìm kiếm, để xử lý liệu trước, nhờ kết tìm kiếm trả xác việc tìm kiếm nhanh Ưu điểm nhược điểm Elasticsearch Ưu điểm Elasticsearch • Làm cơng cụ phát triển dựa tảng Apache Lucene xử lý liệu mạnh mẽ gần với thời gian thực – near-real time • Khơng tìm kiếm liệu, Elasticsearch cịn hỗ trợ phân tích liệu • Khả mở rộng mạnh mẽ tuyệt vời • Hỗ trợ nhiều ngơn ngữ lập trình khác cho lập trình viên trở nên thoải mái • Hỗ trợ Structured Query DSL để cung cấp đặc tả cho truy vấn phức tạp cách rõ ràng cụ thể JSON • Có thể tìm kiếm nhiều loại ngôn ngữ khác Nhược điểm Elasticsearch Khơng phải cơng cụ tồn năng, thế, Elasticsearch có số nhược điểm đáng chú ý Khi sử dụng, bạn nên chú ý số điểm như: • Elasticsearch thiết kế cho mục đích tìm kiếm Do đó, nhiệm vụ, chức khác, Elasticsearch đáp ứng so với phần mềm, công cụ chuyên dụng khác • Đối với số truy vấn nặng, độ trễ Elasticsearch tăng nhiều lần • Để khai thác chức Elasticsearch cách tối ưu nhất, bạn cần: • Có nhiều kiến thức chun mơn • Thơng thạo ngơn ngữ lập trình Java • Một điểm đáng lưu tâm khác: Elasticsearch khơng có khái niệm database transaction Vì thế, tính tồn vẹn liệu khơng đảm bảo bạn khơng nên sử dụng vào database Nếu ứng dụng, hệ thống bạn cần phải thường xuyên cập nhật liệu, Elasticsearch bộc lộ nhược điểm gây tốn tài nguyên cho việc index liệu XÂY DỰNG HỆ THỐNG NHẬN DẠNG VÀ TÌM KIẾM ẢNH NHÂN VẬT HOẠT HÌNH 3.1 Sơ đồ khối hệ thống quy trình thực yêu cầu 3.1.1 Sơ đồ khối 3.2 Quy trình thực a Luồng liệu + Tạo kho liệu ảnh nhân vật hoạt hình + Trích xuất đặc trưng ảnh kho liệu ảnh nhân vật hoạt hình + Lưu đặc trưng trích xuất thành vector b Luồng truy vấn + Nhập ảnh cần tìm kiếm + Trích xuất đặc trưng ảnh lưu vào vector c Luồng so sánh + So sánh độ tương đồng khoảng cách vector ảnh cần truy vấn với vector trích xuất từ kho liệu + Sắp xếp kết + Hiển thị kết Trình bày thuộc tính sử dụng để nhận dạng ảnh nhân vật hoạt hình hệ thống, kỹ thuật để trích rút thuộc tính Thuộc tính sử dụng màu sắc Các bước để trích rút thuộc tính là: + Bước 1: Tiền xử lý + Bước 2: Trích rút đặc trưng lập mục hình ảnh 4.1 Tiền xử lý - Như trình bày trên, thay sử dụng mơ hình màu RGB sử dụng mơ hình - màu HSV để tăng độ xác cho tốn nhận diện ảnh dựa màu sắc Vậy nên, chuyển đổi ảnh RGB sang HSV - Ban đầu ảnh thuộc hệ RGB Nhóm thực chuyển đổi tuyến tính từ RGB sang HSV theo công thức đây: R’= R/255, G’ = G/255, B’ = B/255 Cmax = max ( R ', G ', B ') Cmin = ( R ', G ', B ') ∆= Cmax – Cmin Tính Hue: Tính Saturation: Tính Value: 4.2 Trích rút đặc trưng lập mục hình ảnh Thực tính tốn biểu đồ màu dạng xác suất cho ảnh đầu vào: - Chọn số lượng bin cho biểu đồ màu (khi ta chia miền giá trị thành phần,mỗi phần bin) + Nếu chọn bin, biểu đồ có thành phần khơng thể phân biệt hình ảnh với phân bố màu sắc khác đáng kể + Còn chọn nhiều bin, biểu đồ có nhiều thành phần hình ảnh có nội dung khác thực tế chúng giống Chọn bins kênh Hue, 12 bins kênh Saturation, bins kênh Value - => Vectơ đặc trưng có x 12 x = 288 phần tử Chia vùng ảnh: Nhận thấy khu vực trung tâm hình ảnh khu vực quan trọng nhiếp ảnh Chúng ta thường tập trung ảnh vào đối tượng để làm cho ảnh trở nên thẩm mỹ Vậy nên, chia hình ảnh thành vùng: góc trái, góc phải, góc phải, góc trái trung tâm hình ảnh - Sử dụng mặt nạ cho vùng ảnh vừa chia Mặt nạ che phần khơng muốn tính tốn Tại điểm ảnh có giá trị 255 (màu trắng) đưa vào tính tốn biểu đồ, điểm ảnh có giá trị (màu đen) bỏ qua - Trích xuất biểu đồ màu theo thứ tự 1, 2, 3, 4, cách chia cách: sử dụng hình ảnh muốn trích xuất đặc trưng làm đối số đầu tiên, mặt nạ đại diện cho vùng muốn mô tả làm đối số thứ Biểu đồ trả biểu đồ biểu diễn cho vùng bình thường hóa biểu đồ màu lưu vào danh sách vectơ đặc trưng + Bình thường hóa biểu đồ màu: Chuyển biểu đồ màu từ dạng tần xuất sang xác xuất Để biểu đồ biểu thị tỷ lệ phần trăm tương đối cho bin cụ thể số nguyên cho bin Và hình ảnh có nội dung tương tự kích thước khác đáng kể tương tự nhưmột áp dụng chức tương tự Vectơ đặc trưng biểu diễn cho vùng vùng hình ảnh chia Mỗi phần biểu thị biểu đồ với x 12 x = 288 phần tử (tương ứng với vector đặc trưng cho vùng với 288 chiều) Nối vector đặc trưng lại với ta thu vectơ đặc trưng hình ảnh với 288 x = 1440 chiều - Vậy hình ảnh biểu diễn vector đặc trưng 1440 chiều Từ vectơ đặc trưng, nhóm xây dựng mục phục vụ cho nhận diện ảnh gồm có id_image vectơ đặc trưng 5 Trình bày cách lưu trữ quản lý thuộc tính ảnh nhân vật hoạt hình cách nhận dạng, tìm kiếm ảnh CSDL dựa thuộc tính 5.1 5.2 Lưu trữ quản lý thuộc tính - Sau trích xuất đặc trưng liệu ảnh lưu vào vector vector lưu xuất files csv Truy vấn ảnh 5.2.1 Bước 1: Nhập ảnh đầu vào mà cần truy vấn 5.2.2 Bước 2: Trích xuất xuất đặc trưng màu sắc ảnh 5.2.3 Bước 3: Lưu đặc trưng vừa trích xuất vào vector 5.2.4 Bước 4: So sánh độ tương đồng vector đặc trưng ảnh truy vấn ảnh CSDL - Để kiểm tra độ tương đồng ảnh truy vấn ảnh sẵn có CSDL nhóm tính bình phương khoảng cách vectơ đặc trưng ảnh truy vấn ảnh CSDL Trong đó: 𝑎𝑖, 𝑏𝑖 giá trị vectơ đặc trưng A , Beps = 1e-10 để tránh việc chia cho n số chiều vector đặc trưng (trong n = 1440) Giải thích: Cơng thức dựa thống kê kiểm tra chi bình phương Pearson sử dụng để so sánh phân phối xác suất rời rạc Do so sánh biểu đồ màu theo phân phối xác suất xác định nên hàm chi bình phương cho kết tốt + Khi khoảng cách ảnh coi giống hệt + Khi khoảng cách lớn độ tương tự ảnh giống - Sắp xếp kết theo thứ tự tăng dần (hình ảnh giống với ảnh truy vấn đầu danh sách) Bước 5: Đưa ảnh có khoảng cách thấp (khoảng cách vector) ... tượng - Nền: Ảnh nhân vật hoạt hình tách nền, để lại chủ thể nhân vật hoạt hình - Kết cấu ảnh: Giống : Mỗi ảnh có đối tượng nhân vật hoạt hình Về hình dáng màu sắc nhân vật kết cấu ảnh giống Ví... Luồng liệu + Tạo kho liệu ảnh nhân vật hoạt hình + Trích xuất đặc trưng ảnh kho liệu ảnh nhân vật hoạt hình + Lưu đặc trưng trích xuất thành vector b Luồng truy vấn + Nhập ảnh cần tìm kiếm +... Elasticsearch 12 XÂY DỰNG HỆ THỐNG NHẬN DẠNG VÀ TÌM KIẾM ẢNH NHÂN VẬT HOẠT HÌNH 14 Trình bày thuộc tính sử dụng để nhận dạng ảnh nhân vật hoạt hình hệ thống, kỹ thuật để trích rút