Tải bản đầy đủ (.docx) (21 trang)

ứng dụng 3d VIRTUAL TRY ON thử đồ

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 (488.95 KB, 21 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

ĐỒ ÁN 2
Đề tài:

ỨNG DỤNG 3D VIRTUAL TRY-ON THỬ ĐỒ
Giảng viên hướng dẫn: ThS. Trần Anh Dũng
ThS. Phan Trung Hiếu

Sinh viên thực hiện:

Hồng Đình Quang

18520342

TP. Hồ Chí Minh, ngày 01 tháng 01 năm 2022


NHẬN XÉT CỦA GIẢNG VIÊN
.....................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
.......................................... ....................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................


...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
..................................................

LỜI CẢM ƠN
Lời đầu tiên nhóm chúng em xin chân thành gửi lời cảm ơn đến thầy - Ths
Trần Anh Dũng trong thời gian đã tận tâm giúp đỡ chúng em thông qua các


buổi báo cáo để giúp chúng em có thể hồn thành đồ án của mình một cách tốt
nhất
Đồng thời nhóm em cũng muốn gửi lời cảm ơn đến các anh chị khóa trên,
đặc biệt là những anh chị trong khoa đã chia sẻ những kinh nghiệm quý báu về
môn học cũng như những kiến thức liên quan. Cũng xin cảm ơn bạn bè đã tạo
điều kiện thuận, mọi người đã đưa ra nhận xét và góp ý chân thành, vơ cùng
quý giá. Những người đã động viên, hỡ trợ nhóm hoàn thành đề tài.
Dù đã rất cố gắng hoàn thành đề tài trong phạm vi và khả năng cho phép
nhưng chúng em vẫn chưa thể làm tốt đồ án. Quá trình thực hiện đồ án này
cũng là bài học học cho chúng em để rút ra những kinh nghiệm cho những lần
thực hiện đồ án tiếp theo. Em mong rằng trong thời gian sau vẫn luôn được
Thầy cùng với bạn bè ủng hộ và giúp đỡ cho nhóm chúng em
Chúng em xin chân thành cảm ơn.

Nhóm thực hiện

Hồng Đình Quang


Chương I: Giới thiệu đề tài
I . Lý do chọn đề tài
Ecommerce hiện nay đang phát triển mạnh mẽ với thói quen sử dụng thiết bị
cơng nghệ và mua hàng online. Với sự tiện lợi mà Ecommerce mang lại cho các
ngành hàng nói chung và ngành thời trang nói riêng, việc thử đồ khi mua đồ
online còn mang lại nhiều hạn chế về khoảng cách. Khách hàng phải tự ướm xem
sản phẩm với người mẫu và tự so sánh với mình để xem nó có phù hợp hay
khơng. Do đó, khách hàng khi nhận sản phẩm thường sẽ bị hớ về kích cỡ hay mặc
khơng hợp.
Hiện nay các trang web Ecommerce thời trang còn chưa chú trọng vào việc thử
đồ online, rất ít cửa hàng áp dụng nó. Với những lý do trên phát triển một công
nghệ cho phép khách hàng có thể thử đồ trên các web ecommerce thời trang là
một việc thiết yếu cho hiện tại và tương lai.

II. Xác định yêu cầu
1. Danh sách yêu cầu:
STT

Tên yêu cầu

Biểu mẫu

1

Thêm Model


BM 1

2

Thêm loại model

BM 2

2. Danh sách các biểu mẫu:
2.1 Biểu mẫu 1:

Quy định Ghi chú


2.2 Biểu mẫu 2:


Chương II: Phân tích
I. Sơ đồ Usecase:

II. Danh sách Actor:
STT
1

Tên Actor
Quản lý

2


Người dùng

Ý nghĩa/Ghi chú
Người có vị trí cao nhất, chịu trách nhiệm quản lý các
model.
Người dùng sử dụng dịch vụ thử đồ với các model
người quản lý tạo

III. Danh sách Usecase:
STT
1
2

Tên Usecase
Quản lý model
Quản lý loại model

Ý nghĩa/Ghi chú
Thêm/Sửa/Xóa các model.
Thêm/Sửa/Xóa loại model


3

Thử đồ

Thử đồ với các model có sẵn

IV. Đặc tả Usecase:
1. Quản lý model

-

Thêm model

Tên chức năng

Thêm model

Tóm tắt

Thêm các thông tin của model như: tên model, loại model và các
thơng tin chi tiết khác.

Dịng sự kiện chính

1. Vào trang quản lý điền thông tin vào form thêm model và chọn
“Thêm model”.
3. Hệ thống kiểm tra thông tin, nếu các thơng tin hợp lệ sẽ tiến hành
bước tiếp theo.

Dịng sự kiện khác

4. Hệ thống lưu dữ liệu và thông báo thành công.
3.1. Thông tin không hợp lệ:
Hệ thống hiển thị thông báo màu đỏ tại chỗ bị lỗi và yêu cầu nhập

Các u cầu đặc biệt

lại thơng tin.
Khơng có


Trạng thái hệ thống Actor: Quản lý.
trước khi thực hiện use
case

Điều kiện: Người dùng đã đăng nhập vào hệ thống và có quyền sử
dụng chức năng này.

Trạng thái hệ thống sau Người dùng thêm thông tin model thành công vào hệ thống.
khi thực thiện use case
Điểm mở rộng

-

Khơng có

Sửa model

Tên chức năng
Tóm tắt
Dịng sự kiện chính

Sửa thơng tin model
Cập nhật thơng tin của model
1. Vào mục danh sách model trong trang quản lý, nhấn vào nút “Thông
tin” của model.
2. Người dùng nhập thông tin mới vào form thông tin và nhấn “Lưu”.
3. Hệ thống kiểm tra thông tin, nếu các thông tin hợp lệ sẽ tiến hành



bước tiếp theo.
Dòng sự kiện khác

4. Hệ thống cập nhật dữ liệu và thông báo thành công.
3.1. Thông tin không hợp lệ:

Các yêu cầu đặc biệt
Trạng thái hệ thống trước

Hệ thống hiển thị thông báo yêu cầu nhập lại thông tin.
Khơng có
Actor: Quản lý

khi thực hiện use case

Điều kiện: người dùng đã đăng nhập vào hệ thống và có quyền sử dụng

Trạng thái hệ thống sau

chức năng này.
Người dùng cập nhật thông tin model thành công vào hệ thống.

khi thực thiện use case
Điểm mở rộng

Khơng có

-

Xố model


Tên chức năng
Tóm tắt
Dịng sự kiện chính

Xóa thơng tin model
Xóa thơng tin của model
1. Vào mục danh sách model trong trang quản lý, nhấn vào nút “Xóa
thơng tin” của model.
2. Người dùng chọn model cần xóa thơng tin và nhấn “Xác nhận”.

Dịng sự kiện khác
Các yêu cầu đặc biệt
Trạng thái hệ thống trước

3. Hệ thống cập nhật dữ liệu và thông báo thành công.
Không có
Khơng có
Actor: Quản lý

khi thực hiện use case

Điều kiện: người dùng đã đăng nhập vào hệ thống và có quyền sử dụng

Trạng thái hệ thống sau

chức năng này.
Người dùng xóa thông tin nhân viên thành công.

khi thực thiện use case

Điểm mở rộng

Khơng có

-

Xem thơng tin model

Tên chức năng

Xem thơng tin model

Tóm tắt

Xem thơng tin của model

Dịng sự kiện chính

1. Nhấn vào nhân viên cần xem chi tiết thơng tin.

Dịng sự kiện khác

2. Hệ thống hiển thị thơng tin model.
Khơng có

Các u cầu đặc biệt

Khơng có



Trạng thái hệ thống Actor: Quản lý
trước khi thực hiện use

Điều kiện: Khơng có

case
Trạng thái hệ thống sau Hệ thống hiển trị trang thông tin model.
khi thực thiện use case
Điểm mở rộng

Khơng có

2. Quản lý loại model
-

Thêm loại model

Tên chức năng

Thêm loại model

Tóm tắt

Thêm các thơng tin của loại model như: tên loại model và các
thơng tin chi tiết khác.

Dịng sự kiện chính

1. Vào trang quản lý điền thơng tin vào form thêm loại model và
chọn “Thêm loại model”.

3. Hệ thống kiểm tra thông tin, nếu các thông tin hợp lệ sẽ tiến hành
bước tiếp theo.

Dòng sự kiện khác

4. Hệ thống lưu dữ liệu và thông báo thành công.
3.1. Thông tin không hợp lệ:
Hệ thống hiển thị thông báo màu đỏ tại chỗ bị lỗi và yêu cầu nhập

Các yêu cầu đặc biệt

lại thơng tin.
Khơng có

Trạng thái hệ thống Actor: Quản lý.
trước khi thực hiện use
case

Điều kiện: Người dùng đã đăng nhập vào hệ thống và có quyền sử
dụng chức năng này.

Trạng thái hệ thống sau Người dùng thêm thông tin model thành công vào hệ thống.
khi thực thiện use case
Điểm mở rộng

-

Khơng có

Sửa loại model


Tên chức năng

Sửa thơng tin loại model


Tóm tắt
Dịng sự kiện chính

Cập nhật thơng tin của loại model
1. Vào mục danh sách loại model trong trang quản lý, nhấn vào nút
“Thông tin” của model.
2. Người dùng nhập thông tin mới vào form thông tin và nhấn “Lưu”.
3. Hệ thống kiểm tra thông tin, nếu các thông tin hợp lệ sẽ tiến hành
bước tiếp theo.

Dòng sự kiện khác

4. Hệ thống cập nhật dữ liệu và thông báo thành công.
3.1. Thông tin không hợp lệ:

Các yêu cầu đặc biệt
Trạng thái hệ thống trước

Hệ thống hiển thị thông báo yêu cầu nhập lại thơng tin.
Khơng có
Actor: Quản lý

khi thực hiện use case


Điều kiện: người dùng đã đăng nhập vào hệ thống và có quyền sử dụng

Trạng thái hệ thống sau

chức năng này.
Người dùng cập nhật thông tin model thành công vào hệ thống.

khi thực thiện use case
Điểm mở rộng

Khơng có

-

Xố model

Tên chức năng
Tóm tắt
Dịng sự kiện chính

Xóa thơng tin loại model
Xóa thơng tin của loại model
1. Vào mục danh sách loại model trong trang quản lý, nhấn vào nút “Xóa
thơng tin” của loại model.
2. Người dùng chọn loại model cần xóa thơng tin và nhấn “Xác nhận”.

Dịng sự kiện khác
Các yêu cầu đặc biệt
Trạng thái hệ thống trước


3. Hệ thống cập nhật dữ liệu và thơng báo thành cơng.
Khơng có
Khơng có
Actor: Quản lý

khi thực hiện use case

Điều kiện: người dùng đã đăng nhập vào hệ thống và có quyền sử dụng

Trạng thái hệ thống sau

chức năng này.
Người dùng xóa thơng tin nhân viên thành công.

khi thực thiện use case
Điểm mở rộng

Khơng có

-

Xem thơng tin model

Tên chức năng

Xem thơng tin loại model

Tóm tắt

Xem thơng tin của loại model


Dịng sự kiện chính

1. Nhấn vào loại model cần xem chi tiết thơng tin.

Dịng sự kiện khác

2. Hệ thống hiển thị thông tin loại model.
Khơng có


Các u cầu đặc biệt

Khơng có

Trạng thái hệ thống Actor: Quản lý
trước khi thực hiện use

Điều kiện: Khơng có

case
Trạng thái hệ thống sau Hệ thống hiển trị trang thông tin model.
khi thực thiện use case
Điểm mở rộng

Khơng có

V. Sơ đồ lớp:
1. Sơ đồ lớp (Mức phân tích)


2. Danh sách các lớp đối tượng
STT

Tên lớp

Loại

Ý nghĩa/ Ghi chú

1

Model

Model 3d

2

ModelCategory

loại Model 3d


3. Mô tả chi tiết từng đối tượng
3.1 Model
-

Danh sách thuộc tính:

STT


Thuộc tính

Kiểu dữ liệu

Phạm vi truy
cập

Ý nghĩa

1

ModelCode

String

Public

Id của model 3d

2

ModelName

String

Public

Tên của model
3d


3

ModelDescripte

String

Public

Mô tả của model
3d

4

ModelCategory

String

Public

Loại model 3d

5

ModelObj

Object

Public

File .Obj của

model

5

ModelMtl

Object

Public

File .mtl của
model

5

ModelMaterial

Object

Public

File màu chất
liệu của model

8

ModelStatus

String


Public

Trạng thái

-

danh sách phương thức

STT

Tên phương thức

Kiểu trả về

Ràng buộc

Ý nghĩa/ Ghi chú

1

FindByModelCode

Model

Public

Lấy thông tin một
model 3d

2


FindByModelCategory

List<Model>

Public

Lấy danh sách model
3d theo loại model

3

Create

Boolean

Public

Thêm mới model 3d

4

Update

Boolean

Public

Cập nhật model 3d


5

Delete

Boolean

Public

Xoá model 3d

3.2 ModelCategory


-

Danh sách thuộc tính:

STT

Thuộc tính

Kiểu dữ liệu

Phạm vi truy
cập

Ý nghĩa

1


ModelCategoryCode

String

Public

Id của loại model
3d

2

ModelCategoryName

String

Public

Tên của loại
model 3d

3

ModelCategoryDescripte

String

Public

Mô tả của loạik
model 3d


4

ModelCategoryStatus

String

Public

Trạng thái

-

danh sách phương thức

STT

Tên phương thức

1

Kiểu trả về

Ràng buộc

Ý nghĩa/ Ghi chú

FindByModelCategoryCode ModelCategory

Public


Lấy thông tin một
loại model 3d

2

FindAll

List<ModelCategory>

Public

Lấy danh sách tất cả
loại model 3d

3

Create

Boolean

Public

Thêm mới loại
model 3d

4

Update


Boolean

Public

Cập nhật loại model
3d

5

Delete

Boolean

Public

Xoá loại model 3d


Chương III: Thiết kế dữ liệu
I. Sơ đồ
1. Sơ đồ cơ sở dữ liệu

2. Sơ đồ logic

II. Mô tả bảng dữ liệu
1. Model
STT

Thuộc tính


Kiểu dữ liệu

Ý nghĩa

1

ModelCode

String

Id của model 3d

2

ModelName

String

Tên của model 3d

3

ModelDescripte

String

Mô tả của model 3d

4


ModelCategory

String

Loại model 3d


5

ModelObj

String

File .Obj của model

6

ModelMtl

String

File .mtl của model

7

ModelMaterial

String

File màu chất liệu của

model

8

ModelStatus

Trạng thái

2. ModelCategory
STT

Thuộc tính

Kiểu dữ liệu

Ý nghĩa

1

ModelCategoryCode

String

Id của loại model 3d

2

ModelCategoryName

String


Tên của loại model 3d

3

ModelCategoryDescripte

String

Mô tả của loạik model 3d

4

ModelCategoryStatus

String

Trạng thái


Chương IV: Thiết kế kiến trúc
I. Công nghệ sử dụng
- Technical Stack: MERN stack (MongoDB, ExpressJS, React, Node.js).
- Ngôn ngữ: JavaScript.
- Library: ReactJs, Mongoose.
- Framework: Express.
- Framework UI: Ant design.
- Library 3D: ThreeJS.
- Machine Learning solution: Tensorflow
- Cơ sở dữ liệu: MongoDB.


1. Giới thiệu:
-

MERN stack: là bộ combo open source các công nghệ đều liên
quan đến javascript hot hiện nay: MongoDB, ExpressJS, React/
React Native, NodeJS.

-

MongoDB: là một hệ cơ sở dữ liệu phân tán (noSQL database),
MongoDB thường đi với Mongoose – một library để giao tiếp với
MongoDB dễ dàng hơn.


-

Node.js: là một nền tảng được xây dựng dựa trên javascript
runtime của Chrome chạy theo hướng sự kiện không đồng bộ,
Nodejs được dùng để thiết kế, xây dựng một ứng dụng mạng mở
rộng.

-

Express: là web framework được xây bằng javascript chạy trên
nền Nodejs. Nó hỡ trợ thêm nhiều tính năng cần có của một web
framework như: routing, middlewares, template engines, vv.

-


React: là thư viện frontend của facebook được viết bằng javascript.

- Tensorflow: là một thư viện máy học với các mơ hình đặc trưng như body
segmentation, object detection....
- Threejs: là thư viện javascript dùng để tạo và hiển thị đồ hoạ máy tính 3D trong
trình duyệt sử dụng webGL.

II. Mơ hình kiến trúc hệ thống
- Sử dụng mơ hình Model View Controller (MVC):

· Model: là nơi chứa những nghiệp vụ tương tác với dữ liệu và hệ quản trị cơ
sở dữ liệu MongoDB; bao gồm các class/ function xử lý nhiều nghiệp vụ như kết
nối database, truy vấn dữ liệu, thêm – xóa – sửa dữ liệu….
· View: là nơi chứa những giao diện như nút bấm, khung nhập menu, hình ảnh,
… nó đảm nhiệm nhiệm vụ hiển thị dữ liệu và giúp người dùng tương tác với hệ
thống.
· Controller: là nơi tiếp nhận những yêu cầu xử lý được gửi từ người dùng, nó
sẽ gồm những class/ function xử lý nhiều nghiệp vụ logic lấy đúng dữ liệu thông tin
cần thiết nhờ các nghiệp vụ lớp Model cung cấp và hiển thị dữ liệu đó cho ra người
dùng nhờ lớp view.
- Sử tương tác giữa các thành phần:

· Controller tương tác qua lại với view.
· Controller tương tác qua lại với Model.
· Model và View khơng có sự tương tác với nhau mà nó tương tác thơng qua
Controller.


- Cấu trúc Modules


Chương V: Thiết kế giao diện
I. Danh sách các màn hình
STT

Màn hình

Loại màn hình

Chức năng

1

Màn hình thử đồ

Màn hình hiển
thị, thao tác

+ Cho phép người dùng xem danh sách
model và thử đồ

2

Màn hình Quản lý
loại model

Màn hình nhập
liệu và hiển thị,
thao tác

+ Cho phép người dùng thêm mới/sửa xóa

loại model,

Màn hình nhập
liệu và hiển thị,
thao tác

+ Cho phép người dùng thêm mới/sửa xóa
model,

3

Màn hình Quản lý
model

+ Xem thông tin loại model

+ Xem thông tin model


II. Sơ đồ liên kết màn hình

III. Mơ tả các đối tượng trên màn hình
1.màn hình thử đồ

STT

Tên

Kiểu


Chức năng
Hiển thị camera cùng với
model thử

1

Model

Card

2

Chụp hình

Button

Chụp hình

3

Hình ảnh

Button

Hiển thị hình ảnh đã chụp

Ghi chú


2.màn hình quản lý


STT

Tên

Kiểu

Chức năng
Load dữ liệu của model lên
form

1

Model

Card

2

Model Name

Textbox

Tên model

3

Textbox

Loại model


Textbox

Mô tả

5

Model category
Model
Description
Model Obj

File

File Obj

6

Model Mtl

File

File Mtl

7

Model Material

File


File Material

8

Model Image

File

Hình ảnh model

9

Save

Button

Lưu

10

Cancel

Button

Reset form

4

Ghi chú



Chương VII: Kết luận
I.
o
o
o
o

II.

Môi trường phát triển và môi trường triển khai
Phần mềm quản trị cơ sở dữ liệu: MongoDB
ReactJs
Tensorflow

Nền tảng: Windows

Kết quả đạt được

Sau thời gian tìm hiểu và tiến hành thực hiện đề tài. Nhóm chúng em đã
đạt được một số kết quả sau:
o
o
o

III.

Xây dựng, và hiểu biết được cơng nghệ virtual 3D.
Giao diện chương trình thân hiện, dễ dàng sử dụng.
Tìm hiểu và sử dụng thư viện ReactJs


Hướng phát triển

Với tính năng có thể vẽ các model 3D theo chuyển động của cơ thể, đã
có nhiều ứng dụng của nó áp dụng vào cuộc sống của chúng ta hiện nay như
filter, thử đồ, mark…. Nhóm chỉ phát triển đồ án ở mức độ hoàn thiện một số
chức năng chính của phần mềm. Nhóm sẽ cố gắng tìm hiểu thêm về công nghệ
để cải thiện và nâng cao khả năng đáp ứng nhu cầu của người dùng.



×