Tải bản đầy đủ (.pdf) (40 trang)

đồ án 1 tạo mô tả bằng tiếng anh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.11 MB, 40 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH </b>

<b>TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN </b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH </b>

<b>TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN </b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>MỤC LỤC </b>

Chương 1. MỞ ĐẦU ... 1

1.1. Đông lực nghiên cứu ... 1

1.2. Mục tiêu của đề tài ... 2

1.3. Công nghệ và phạm vi ... 3

1.4. Đóng góp của nghiên cứu ... 4

1.5. Bố cục của báo cáo ... 5

Chương 2. CƠ SỞ LÝ THUYẾT ... 6

2.6. Tổng quan về Amazon Web Services (AWS) ... 9

2.7. Tổng quan về backend server ... 11

2.7.1. Mô tả tổng quan về backend server ... 11

2.7.2. Công nghệ và framework sử dụng. ... 12

2.7.3. Kiến trúc backend và các API, endpoints. ... 13

2.7.4. Xử lí dữ liệu. ... 13

2.7.5. Tương tác với client... 14

Chương 3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG ... 15

3.1. Khảo sát hiện trạng ... 15

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

3.1.1. Mục đích khảo sát hiện trạng ... 15

3.1.2. Thực trạng hiện nay ... 15

3.2. Xây dựng hệ thống ... 16

3.2.1. Công nghệ sử dụng ... 16

3.2.2. Sơ đồ Use case ... 17

3.2.3. Mô tả Use case ... 17

4.1.4. Màn hình hiển thị thơng tin ... 24

4.1.5. Màn hình hiển thị thống kê về thuật tốn ... 25

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

5.2. Kết quả đạt được ... 305.3. Hướng phát triển ... 30TÀI LIỆU THAM KHẢO ... 32

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>DANH MỤC HÌNH </b>

Hình 1. Đầu vào và đầu ra của bài tốn sinh câu mơ tả ... 3

Hình 2. Bảng điểm kết của của OFA ... 6

Hình 3. Kiến trúc mơ hình OFA... 7

Hình 4. Sơ đồ Use case ... 17

Hình 5. Sơ đồ Activity ... 20

Hình 11. Màn hình so sánh thuật tốn ... 26

Hình 12. Ứng dụng trên Play Store ... 27

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>DANH MỤC BẢNG </b>

Bảng 1. Bảng mô tả Use cases ... 18

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>DANH MỤC TỪ VIẾT TẮT </b>

API Application Programming Interface VinVL Visual Representations in Vision-

Language Models

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b>Chương 1. MỞ ĐẦU </b>

<b>1.1. Đông lực nghiên cứu </b>

Động lực nghiên cứu của chúng tôi xuất phát từ nhận thức về tiềm năng và ứng dụng rộng lớn của Image Captioning. Việc có khả năng tự động tạo ra mơ tả cho hình ảnh có thể mang lại nhiều lợi ích trong nhiều lĩnh vực khác nhau.

Trong đời sống hằng ngày, ứng dụng này mang lại nhiều lợi ích đáng giá cho người dùng Tiết kiệm thời gian, Người dùng không cần phải tự viết mơ tả cho từng ảnh. Mơ hình tự động tạo ra mơ tả chính xác và nhanh chóng; Hỗ trợ khả năng thị giác, ứng dụng giúp người dùng với khả năng thị giác yếu hoặc khó khăn trong việc mơ tả hình ảnh; Tăng tính sáng tạo, người dùng có thể tận dụng mơ tả để sáng tạo và sắp xếp lại các mô tả để phù hợp với nội dung mình muốn thể hiện.

Trong lĩnh vực giải trí, Image Captioning có thể cung cấp trải nghiệm tương tác mới mẻ cho người dùng. Nó có thể được sử dụng để tạo ra các mơ tả tự động cho các bức ảnh trên các trang web chia sẻ hình ảnh, ứng dụng xem ảnh và các nền tảng mạng xã hội. Điều này giúp người dùng hiểu và tận hưởng nội dung hình ảnh một cách tốt hơn.

Trong các lĩnh vực như y tế và khoa học, Image Captioning có thể hỗ trợ trong việc phân tích ảnh y khoa, phát hiện đối tượng và các ứng dụng khám phá tri thức từ hình ảnh. Việc có mơ tả tự động cho các hình ảnh này có thể giúp cải thiện quy trình chuẩn đốn và nghiên cứu.

Ngồi ra, Image Captioning cũng có tiềm năng trong việc hỗ trợ người dùng với khuyến nghị sản phẩm, dịch vụ và trải nghiệm mua sắm trực tuyến. Với một mô tả tự động cho mỗi hình ảnh, người dùng có thể nhận được thơng tin chi tiết và phong phú về sản phẩm hoặc dịch vụ mà họ quan tâm, giúp họ đưa ra quyết định mua hàng thông minh và hiệu quả hơn.

Với những động lực trên, chúng tôi đã tiến hành nghiên cứu và phát triển ứng dụng Image Captioning. Mục tiêu của chúng tôi là tạo ra một ứng dụng dễ sử dụng,

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

chính xác và linh hoạt, giúp người dùng tận dụng tối đa tiềm năng của hình ảnh thơng qua mơ tả văn bản tự động.

<b>1.2. Mục tiêu của đề tài </b>

Bài toán sinh câu mô tả tự động cho bức ảnh là một bài tốn trong lĩnh vực trí tuệ nhân tạo và xử lý ngôn ngữ tự nhiên. Mục tiêu của bài tốn là tạo ra một câu mơ tả tự động cho một bức ảnh, miêu tả những đặc điểm và chi tiết quan trọng của bức ảnh một cách tự nhiên và chính xác.

Để giải quyết bài tốn này, ta cần sử dụng các kỹ thuật và phương pháp của xử lý ngơn ngữ tự nhiên và trí tuệ nhân tạo. Cụ thể, q trình sinh câu mơ tả tự động cho bức ảnh có thể được chia thành các bước sau:

1. Phân tích bức ảnh: Đầu tiên, ta cần sử dụng mơ hình xử lý ảnh để phân tích bức ảnh và trích xuất các đặc trưng và chi tiết quan trọng như đối tượng, màu sắc, vị trí, kích thước, mối liên hệ giữa các đối tượng trong bức ảnh, v.v.

2. Xây dựng câu mô tả: Tiếp theo, ta cần sử dụng mơ hình xử lý ngôn ngữ tự nhiên để xây dựng câu mô tả dựa trên các thông tin và đặc điểm đã được trích xuất từ bức ảnh. Các mơ hình này có thể sử dụng phương pháp sinh từ đầu tiên (generate-from-scratch) hoặc kết hợp giữa sinh và chọn từ (generate-and-rank) để tạo ra câu mơ tả tự nhiên và chính xác.

3. Đánh giá chất lượng của câu mô tả: Cuối cùng, ta cần đánh giá chất lượng của câu mô tả tự động bằng cách so sánh với các câu mô tả được tạo ra bởi con người hoặc các tiêu chuẩn chất lượng khác để đảm bảo tính chính xác và tự nhiên của câu mơ tả.

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>Đầu vào Đầu ra </b>

Hình 1. Đầu vào và đầu ra của bài tốn sinh câu mơ tả

Trong đồ án này, nhóm chúng tơi tập trung vào việc sử dụng mô hình đã được huấn luyện sẵn để đưa vào ứng dụng di động, nhằm sinh câu mơ tả tự động cho hình ảnh được thu thập và hiển thị trên ứng dụng đó.

<b>1.3. Cơng nghệ và phạm vi </b>

Ở nghiên cứu này, nhóm chúng tôi ưu tiên các mục tiêu sau:

Thứ nhất, thành thạo ngôn ngữ lập trình Javascript, Python, sử dụng framework React Native và AWS server nhằm làm nền tảng để phát triển dự án.

Thứ hai, nghiên cứu và tìm hiểu cách sử dụng model pre-train cũng như cách đưa model lên server và thực hiện gọi model trên ứng dụng di động.

Bên cạnh đó, mục tiêu dành ra cho dự án gồm:

Phát triển ứng dụng trên thiết bị di động: Ứng dụng này cho phép quét/ quay/ chụp/ tải lên hình ảnh và chạy được trên hầu hết các thiết bị di động hiện đại hiện nay trên thị trường.

Sử dụng được chức năng sinh câu mơ tả tự động cho bức ảnh: Tích hợp hoặc gọi thành cơng model sao cho có thể sinh câu mô tả được cho bức ảnh được quét/ quay/ chụp hoặc tải lên từ thiết bị di động

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

Tối ưu trải nghiệm người dùng: Giao diện ứng dụng trực quan, dễ sử dụng. Đồng thời đảm bảo thời gian đáp ứng nhanh, chất lượng câu mơ tả gần với thực tế bức hình

Nghiên cứu được triển khai dựa trên bộ dữ liệu sẵn có và model được huấn luyện sẵn, model được dùng thử và đánh giá thông qua ứng dụng di động được phát triển bằng React Native và API của AWS.

<b>1.4. Đóng góp của nghiên cứu </b>

Nghiên cứu về sinh câu mơ tả tự động sẽ phần nào đóng góp quan trọng trong kỷ ngun cơng nghệ của lồi người ở nhiều lĩnh vực khác nhau, cụ thể :

Xác minh và xác thực hình ảnh : Đây có thể được xem là đóng góp chính của nghiên cứu cho lồi người bởi vì chú thích chứa thơng tin chính xác về những gì đang diễn ra trong bức ảnh, địa điểm và thời điểm chụp ảnh, và đôi khi là lý do hoặc mô tả một số chủ thể đang diễn ra trong khung hình đó. Một mơ tả chính xác về một yếu tố trực quan giúp xác minh và xác thực hình ảnh . Nếu khơng có chú thích, hình ảnh có thể bị hiểu sai ngữ cảnh và trở nên khó hiểu hoặc ngồi ý muốn.

Tạo nội dung cho truyền thông: Sinh câu mô tả tự động cho bức ảnh là bước khởi đầu cho những mục đích lớn hơn trong tương lai. Có thể nó sẽ được sử dụng để tạo ra các bài báo, bài viết hoặc video bằng cách tự động tóm tắt nội dung từ các nguồn khác nhau, giúp tiết kiệm thời gian và cải thiện hiệu quả sản xuất nội dung.

Đóng góp trong y tế : Sinh câu mơ tả tự động từ bức ảnh có thể được sử dụng để tạo ra các mô tả âm thanh, giúp cải thiện khả năng nhìn/ đọc hiểu được nội dung của người khuyết tật.

Hỗ trợ phiên dịch: Sinh câu mơ tả tự động có thể được sử dụng để tạo ra các câu mô tả tự động cho các bản dịch, giúp cải thiện tính chính xác và hiệu quả của các dịch vụ phiên dịch tự động.

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

Tóm lại, nghiên cứu về sinh câu mơ tả tự động cho bức ảnh đóng góp rất lớn vào đời sống mới của con người, cải thiện trải nghiệm người dùng ở rất nhiều lĩnh vực khác nhau.

<b>1.5. Bố cục của báo cáo </b>

Phần còn lại của báo cáo được trình bày theo bố cục như sau:

<b>CHƯƠNG 2 – CƠ SỞ LÝ THUYẾT CHƯƠNG 3 – XÂY DỰNG ỨNG DỤNG </b>

<b>CHƯƠNG 4 – KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN:</b>

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b>Chương 2. CƠ SỞ LÝ THUYẾT </b>

<b>2.1. Bộ dữ liệu </b>

Tên bộ dữ liệu : Microsoft COCO Caption.

Tổng quan về bộ dữ liệu : tập dữ liệu sẽ có hơn 1.500.000 chú thích mơ tả hơn 330.000 hình ảnh. Đối với mỗi hình ảnh đào tạo sẽ có năm caption độc lập với nhau do con người tạo ra. Để đảm bảo tính nhất quán trong việc đánh giá các thuật toán tạo phụ đề tự động, một máy chủ đánh giá đã được sử dụng. Máy chủ đánh giá nhận phụ đề ứng viên và cho điểm chúng bằng một số chỉ số phổ biến, bao gồm BLEU, METEOR, ROUGE và CIDer.

<b>2.2. Phương thức huấn luyện </b>

Model được đào tạo bằng một mô hình đào tạo trước đa phương thức chung là OFA (One For All).

OFA (One-For-All) là một mô hình đào tạo trước đa phương thức chung, sử dụng khung học tập theo trình tự đơn giản để thống nhất các phương thức (đa phương thức, hình ảnh, ngôn ngữ, v.v.) và các nhiệm vụ (chẳng hạn như tạo hình ảnh, định vị trực quan, v.v.), mơ tả ảnh, phân loại ảnh, tạo văn bản, v.v.).

OFA đã thành công đứng đầu danh sách chính thức của Microsoft COCO Captions và đạt được số điểm CIDer 154,9 trong bộ kiểm tra cổ điển phân tách kiểm tra Karpathy. chi tiết như sau:

Hình 2. Bảng điểm kết của của OFA [1]

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<b>Kiến trúc mơ hình </b>

Tiền xử lý đa phương thức: Phương pháp thông thường cho việc tiền xử lý đa phương thức là huấn luyện mơ hình Transformer trên các bộ dữ liệu ảnh-văn bản quy mô lớn. Điều này đòi hỏi tiền xử lý dữ liệu hoặc các bộ chuyển đổi riêng biệt cho từng phương thức để kết hợp huấn luyện cả thơng tin hình ảnh và ngơn ngữ trong kiến trúc Transformer.

Hình 3. Kiến trúc mô hình OFA [1][3]

Trích xuất đặc trưng hình ảnh: Thay vì trích xuất đặc trưng phức tạp từ đối tượng, phương pháp của chúng ta tập trung vào sự đơn giản. Chúng ta sử dụng các mô-đun ResNet để biến đổi ma trận đặc trưng hình ảnh, biểu diễn là xv ∈ R H×W×C, thành P đặc trưng patch có kích thước ẩn.

Xử lý thơng tin ngơn ngữ: Đối với việc xử lý thông tin ngôn ngữ, chúng ta áp dụng phương pháp được sử dụng bởi GPT và BART. Chúng ta sử dụng mã hóa byte-pair (BPE) cho chuỗi văn bản đã cho, và sau đó nhúng các mã subword thành các đặc trưng.

Biểu diễn không gian thống nhất: Để xử lý hiệu quả các phương thức đa dạng mà không cần dựa vào kiến trúc đầu ra cụ thể cho từng nhiệm vụ, việc biểu diễn dữ liệu từ các phương thức khác nhau trong không gian thống nhất là điều quan trọng. Một cách tiếp cận khả thi là rời rạc hóa văn bản, hình ảnh và đối tượng, và biểu diễn chúng bằng cách sử dụng các mã từ bộ từ vựng thống nhất. Các tiến bộ gần đây trong

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

việc rời rạc hóa hình ảnh đã chứng minh hiệu quả trong tổng hợp văn bản thành hình ảnh . Chúng ta sử dụng chiến lược này cho việc biểu diễn hình ảnh, sử dụng mã hóa thưa để giảm độ dài chuỗi biểu diễn hình ảnh.

Biểu diễn đối tượng: Ngồi việc biểu diễn hình ảnh, cũng quan trọng là biểu diễn các đối tượng trong hình ảnh, đặc biệt là cho các nhiệm vụ liên quan đến vùng. Chúng ta biểu diễn các đối tượng như các chuỗi mã token rời rạc. Cụ thể, đối với mỗi đối tượng, chúng ta trích xuất nhãn và hộp giới hạn của nó. Các tọa độ góc liên tục (trên cùng bên trái và dưới cùng bên phải) của hộp giới hạn được rời rạc thành các số nguyên là các token vị trí ⟨x1, y1, x2, y2⟩. Nhãn đối tượng, vốn là ngơn ngữ, có thể được biểu diễn hiệu quả bằng mã token BPE.

.

<b>2.3. Tổng quan về React-native </b>

React Native [4] là một framework phát triển ứng dụng di động đa nền tảng sử dụng JavaScript, giúp bạn xây dựng giao diện người dùng tương tác trên cả iOS và Android. Với React Native, bạn có thể tạo giao diện linh hoạt cho ứng dụng đề xuất phim, hiển thị danh sách phim, chi tiết phim, hình ảnh và video. Bạn có thể tương tác với API phim để lấy thơng tin phim và hiển thị nó trên ứng dụng của mình.

Bên cạnh đó, React Native cung cấp khả năng tích hợp Firebase và hỗ trợ các thư viện và công cụ mở rộng cho ứng dụng của bạn. Ví dụ, bạn có thể sử dụng React Navigation để quản lý điều hướng giữa các màn hình, Redux để quản lý trạng thái ứng dụng và Axios để tương tác với API. Điều này giúp bạn xây dựng một ứng dụng đề xuất phim đa nền tảng, linh hoạt và có hiệu năng tốt.

Tóm lại, React Native là một cơng cụ mạnh mẽ để xây dựng ứng dụng đề xuất phim đa nền tảng. Nó cho phép bạn tạo giao diện tương tác, tích hợp dữ liệu từ API phim, quản lý người dùng và sử dụng các thư viện mở rộng để tăng cường tính năng của ứng dụng..

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<b>2.4. Tổng quan về Visual Studio Code </b>

Visual Studio Code (VS Code) [6] là một trình biên tập mã nguồn mở và miễn phí phát triển bởi Microsoft. Nó cung cấp một mơi trường phát triển tích hợp (IDE) mạnh mẽ với nhiều tính năng hỗ trợ lập trình viên, như gợi ý mã, kiểm tra lỗi, gỡ lỗi, quản lý phiên bản và tích hợp các cơng cụ phát triển phổ biến như Git. VS Code hỗ trợ nhiều ngơn ngữ lập trình và khả năng mở rộng thơng qua các tiện ích và tiện ích mở rộng của cộng đồng.

<b>2.5. Tổng quan về Docker </b>

Docker [5] là một nền tảng phần mềm cho việc đóng gói và chạy ứng dụng trong một mơi trường ảo hóa gọn nhẹ gọi là container. Container cho phép bạn đóng gói tất cả các thành phần cần thiết cho ứng dụng vào một hình ảnh duy nhất, bao gồm cả các phụ thuộc và cấu hình hệ thống. Điều này giúp đảm bảo tính nhất quán và di động cho ứng dụng khi chạy trên các môi trường khác nhau. Docker cung cấp cách tiếp cận chuẩn hóa và dễ dàng triển khai ứng dụng trên nền tảng điện toán đám mây và môi trường sản xuất.

<b>2.6. Tổng quan về Amazon Web Services (AWS) </b>

Amazon Web Services [7] đem đến các dịch vụ điện toán đám mây tin cậy, quy mơ linh hoạt và ít tốn kém. Tham gia miễn phí, chỉ trả phí cho những gì bạn sử dụng.

Amazon Web Services là tập hợp các dịch vụ cung cấp cho người lập trình có khả năng truy cập tới hạ tầng kiến trúc tính tốn kiểu sẵn sàng-để-sử dụng (ready-to-use) của Amazon. Các máy tính có nền tảng vững chắc đã được xây dựng và tinh chế qua nhiều năm của Amazon bây giờ là có thể cho phép bất cứ ai cũng có quyền cập tới Internet. Amazon cung cấp một số dịch vụ Web nhưng trong loạt bài viết này chỉ tập trung vào các dịch vụ khối hợp nhất (building-block) cơ bản, cái mà đáp ứng được một số yêu cầu cốt lõi của hầu hết các hệ thống như: lưu trữ, tính tốn, truyền thông điệp và tập dữ liệu.

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

Amazon Web Services (AWS) dịch vụ điện toán đám mây, mà là an toàn nhất và đáng tin cậy.

Amazon Web Services (AWS) cung cấp một cơ sở hạ tầng ổn định trực tiếp đến các trung tâm mua sắm lớn nhất (Trung tâm Mua sắm tại Amazon) đã được chứng minh trên thế giới.

Amazon Web Services (AWS) cung cấp khả năng mở rộng nhanh chóng và dễ dàng.

Amazon Web Services (AWS) để cung cấp một nền tảng để giảm chi phí bằng cách chỉ sử dụng.

Amazon Web Services (AWS) có thể được sử dụng mà khơng trả tốt chỉ về chi phí hoặc dài hạn.

Thông thường chúng ta mua các dịch vụ về Hosting để thiết lập và “chạy” ứng dụng của mình trên các hosting truyền thống. Họ cung cấp các rất nhiều tính năng và quản trị dễ dàng qua các cpanel, ftp, ssh. Có nhiều gói khác nhau (giá cả cũng khác nhau) bao gồm cả shared host và dedicated service. Các tuỳ chọn này phù hợp với các ứng dụng và dịch vụ cỡ nhỏ, không dễ dàng mở rộng và cũng rất bó buộc trong các giới hạn nhà dịch vụ cung cấp.

AWS giúp chúng ta không cần thiết quan tâm đến việc thiết lập cả 1 hạ tầng từ phần cứng, mạng máy tính (rất mất thời gian) đến chi phí thuê Data Center, và dĩ nhiên tối thiểu hố chi phí duy trì (maintenance). TD đơn giản, trong môi trường truyền thống, chúng ta cần phải quản lý và chăm sóc các rack các máy chủ với chi phí đắt đỏ; chúng ta có thể “quên đi” chuyện phải mua và thay thế RAM hoặc ổ cứng (bất kể loại gì) và dĩ nhiên tiết kiệm được chi phí về nhân lực. Hơn nữa, khi cần cấu hình mạnh hơn, việc nâng cấp sẽ rất dễ dàng và rất nhanh chóng mà người quản trị không cần đi đến data center và cũng không cần quan tâm đến phần cứng.

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

AWS giúp chúng ta đơn giản hoá việc quản trị Private Cloud và máy ảo (VSphere…) được thiết lập trên các máy tính cỡ bự Blade và đằng sau 1 mớ rối rắm các thiết lập nêu trên với các thiết bị Firewall, SAN, Load Balancer…

Elastic computing with Amazon EC2:

Amazon EC2 là dịch vụ Web cho phép bạn yêu cầu các máy ảo trong vòng một vài phút và dễ dàng thay đổi khả năng của bạn hoặc tải xuống dựa trên nhu cầu. Bạn chỉ cần phải trả chi phí cho khoảng thời gian mà bạn sử dụng. Nếu bạn muốn tăng khả năng tính tốn của bạn nên, bạn có thể nhanh chóng tiếp cận khởi tạo máy áo và sau đó chấm dứt chúng khi mà nhu cầu của bạn giảm đi.

Những trường hợp mà dựa trên Linux® và có thể chạy trên bất kỳ ứng dụng nào hoặc phần mềm nào bạn muốn. Bạn có thực hiện điều khiển cho từng trường hợp cụ thể. Môi trường của EC2 là được xây dựng trên cùng mã nguồn mở Xen hypervisor, cái được phát triển tại trường Đại học Cambridge. Amazon cho phép bạn tạo ra hình ảnh máy Amazon (AMIs) cái thực hiện hành động như là các khuôn mẫu cho các ví dụ của bạn. Truy cập với các ví dụ có thể được điều khiển bằng việc xác định được các quyền cho phép. Bạn cũng có thể làm bất cứ cái gì bạn muốn với chúng tuy chỉ có một hạn chế duy nhất là yêu cầu bạn cần sử dụng dựa trên Linux.

<b>2.7. Tổng quan về backend server </b>

<b>2.7.1. Mô tả tổng quan về backend server </b>

Backend server của dự án được viết bằng ngôn ngữ Python để xử lý và đưa ra kết quả thông qua API. Chức năng chính của server là nhận một bức ảnh từ client và trả về một dòng caption mơ tả về bức ảnh đó.

Chúng tơi sử dụng một model Image Captioning được cung cấp sẵn bởi OFA (One For All) và tích hợp vào server. Để thực hiện việc này, chúng tôi sử dụng thư viện modelscope có sẵn trong ngơn ngữ Python. Qua đó, chúng tơi đã lựa chọn Python làm ngơn ngữ chính để viết mã cho server.

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

Khi client gọi API và gửi một bức ảnh, backend server sẽ nhận được bức ảnh đó và tiến hành xử lý. Sau quá trình xử lý, server sẽ trả về một câu caption mơ tả cho bức ảnh tương ứng.

Để đóng gói và triển khai backend server lên một máy chủ trong môi trường AWS EC2, chúng tôi sử dụng Docker. Docker là một nền tảng ảo hóa dựa trên container, cho phép chúng tơi đóng gói ứng dụng và các thành phần liên quan thành các container độc lập. Việc sử dụng Docker giúp đơn giản hóa quy trình triển khai và đảm bảo tính nhất quán giữa môi trường phát triển và môi trường triển khai.

Sau khi tạo và đóng gói ứng dụng vào các container Docker, chúng tôi triển khai backend server lên một máy chủ EC2 trong AWS. EC2 (Elastic Compute Cloud) cung cấp một môi trường linh hoạt để chạy các ứng dụng web và các dịch vụ khác trên đám mây. Việc triển khai backend server trên EC2 cho phép chúng tơi có sẵn nguồn tài ngun mạnh mẽ và có khả năng mở rộng khi cần thiết.

b) Python: Ngôn ngữ lập trình Python đã được sử dụng trong tồn bộ q trình phát triển backend của phần mềm Image Captioning. Python cung cấp một hệ sinh thái phong phú của các thư viện và công cụ hỗ trợ cho xử lý ảnh, học máy, và xử lý ngôn ngữ tự nhiên. Chúng tôi đã sử dụng Python để triển khai các thuật tốn và mơ hình cho việc tạo chú thích cho ảnh.

c) modelscope [2]: Một thư viện hỗ trợ sử dụng model OFA_Image-Caption. OFA (One-For-All) là một mô hình đào tạo trước đa phương thức chung, sử dụng

</div>

×