4. MÔ HÌNH HỌC MÁY VÀ BỘ DỮ LIỆU
6.4.5. Thêm, sửa, xoá template (Admin):
Sau khi nhận được đề xuất từ người dùng, về mặt thêm template nhóm hiện đang chỉ thực hiện trên phương diện thủ công, chưa cho phép người dùng tương tác hoàn toàn với model cũng như việc training data. Với những template được người dùng đề xuất, nhóm sẽ chọn lọc và ưu tiên phát triển những template hợp lí, có mức độ ứng dụng cao, khả thi cho việc xây dựng trên ứng dụng hiện tại. Tiếp đến, thông qua người dùng và tìm kiếm trên internet, nhóm sẽ tạo dataset cho object mà người dùng mong muốn tối thiểu 2000 objects với mật độ >10 objects/hình sau đó tiến hành training dữ liệu tạo ra model. Với đánh giá các model có mức độ chính xác cao trên test set thì nhóm sẽ bắt đầu deploy model đó lên server và bắt đầu áp dụng thực tế trên ứng dụng. Admin sẽ là người dùng cuối thực hiện việc Add Template thông qua Add Template Screen, nhập đầy đủ thông tin bao gồm Name Field (tên của template), Drive ID Field (đường dẫn đến drive chứa model) và Description Field (mô tả cho template), chọn Select Photo Button để thêm ảnh đại diện cho template.
Hình 6.10 Các thành phần chính của Add Template Screen 6.4.6. Đánh giá sau mỗi lần đếm
Ở màn hình Count Screen, sau mỗi lần đếm và đưa ra kết quả, người dùng có thể tương tác với kết quả đó thông qua mục Rating nằm bên dưới kết quả. Nếu một template trong ứng dụng bị đánh giá không tốt quá nhiều lần (dưới 3 sao) thì nhóm sẽ tiến hành đánh giá nhận xét từ phía người dùng và retrain model lại nếu model thực sự chưa tốt, chưa đáp ứng được nhu cầu thực tế.
Chương 6: ỨNG DỤNG iOS
Hình 6.11 Màn hình Count Result Screen 6.5. Prototype
6.5.1. Screenflow
Hình 6.12 Application’s Screenflow
6.5.2. Danh sách các màn hình
No Screen Name Description
SC02 Count Screen Màn hình thực hiện chức năng đếm vật thể
SC03 SelectPhotoScreen Màn hình hiển thị thông báo khi người dùng ấn Select Photo Button
SC04 SelectedPhotoScreen Màn hình sau khi người dùng chọn ảnh để thực hiện chức năng đếm vật thể
SC05 ChangedPhotoScreen Màn hình sau khi người dùng thay đổi ảnh đã chọn, khi đó background app sẽ thay đổi tuỳ thuộc vào hình ảnh
SC06 Count Result Screen Màn hình hiển thị kết quả đếm vật thể
SC07 Share Result Screen Màn hình cho phép người dùng thực hiện thao tác chia sẻ kết quả vừa nhận được
SC08 Tap Image Screen Màn hình sau khi người dùng ấn vào hình ảnh thể hiện kết quả
SC09 Zoom Image Screen Màn hình sau khi người dùng phóng to ảnh kết quả đếm vật thể
SC10 Guest Tab Screen Màn hình hiển thị khi người dùng chưa đăng nhập ấn vào thanh Tab menu
SC11 Admin Tab Screen Màn hình hiển thị khi admin ấn vào thanh Tab menu
SC12 User Tab Screen Màn hình người dùng đã đăng nhập ấn vào thanh Tab menu
SC13 Login Screen Màn hình cho phép người dùng thực hiện chức năng đăng nhập
SC14 Register Screen Màn hình cho phép người dùng thực hiện chức năng đăng kí
SC15 Template List Screen (Admin) Màn hình hiển thị danh sách template hiện có của ứng dụng
SC16 Remove Template Screen (Admin) Màn hình hiển thị thao tác Remove cho phép Admin xoá template
Chương 6: ỨNG DỤNG iOS
SC17 Add Template Screen (Admin) Màn hình cho phép Admin thực hiện chức năng thêm template
SC18 Template Photo Added Screen (Admin)
Màn hình sau khi Admin thêm ảnh cho template
SC19 Propose Template Screen (User) Màn hình cho phép người dùng đề xuất Template
SC20 Object Photo Added Screen (User) Màn hình sau khi người dùng thêm ảnh cho object
SC21 Count History Screen (Admin + User)
Màn hình hiển thị lịch sử đếm
SC22 Remove History Screen (Admin) Màn hình cho phép Admin thực hiện thao tác xoá lịch sử.
Bảng 6.1 Danh sách các màn hình 6.6. Đặc tả các màn hình
Chương 6: ỨNG DỤNG iOS
No Name
Required (Input… Validation)
Type Reference Note
1 Menu
Button True Button
Button bật/ tắt hiển thị menu tab. 2 Template List True Collection View Data từ Api server
Collection view hiển thị danh sách các template hiện có, cho phép người dùng thao tác chọn template phù hợp mục đích sử dụng.
3 Template
Image True Image
Data từ Api server
Ảnh đại diện của template.
4 Template
Description True Text
Data từ Api Server
Tên và mô tả template.
5
Propose Template Header
True Header Header hiển thị phần
template đang được đề nghị.
6
Propose Template Button
True Button
Button điều hướng đến Propose Template Screen cho phép người dùng đề nghị template mới.
6.6.2. SC02.Count Screen
Chương 6: ỨNG DỤNG iOS
No Name
Required (Input… Validation)
Type Reference Note
1 Template
Information True Text
Data từ Api server
Hiển thị thông tin template vừa được người dùng chọn 2 Select Photo Button True Button
Button cho phép người dùng thực hiện chức năng chọn ảnh để đếm
6.6.3. SC03.Select Image Screen
Chương 6: ỨNG DỤNG iOS
No Name
Required (Input… Validation)
Type Reference Note
1
Take Photo Button
True Button
Nút chức năng cho phép người dùng chọn ảnh qua việc chụp ảnh bằng camera. 2 Select Photo Button True Button
Nút chức năng cho phép người dùng chọn ảnh qua thư viện ảnh của thiết bị.
3 Cancel
Button True Button Nút huỷ thao tác.
6.6.4. SC04.Selected Image Screen
Chương 6: ỨNG DỤNG iOS
No Name
Required (Input… Validation)
Type Reference Note
1 Change Photo Button True Button Nút chức năng cho phép người dùng thay đổi ảnh vừa chọn.
2 Selected
Image True Image Hiển thị ảnh vừa được chọn.
3 Score
Slider True Slider
Slider tăng/giảm score cho kết quả phù hợp với mong muốn người dùng.
4 Confident
Checker True CheckView Bật/tắt hiển thị confident
5 Count
Button True Button
Nút chức năng cho phép người dùng thực hiện thao tác đếm vật thể trên ảnh vừa chọn.
6.6.5. SC05.Change Image Screen
Chương 6: ỨNG DỤNG iOS
No Name
Required (Input… Validation)
Type Reference Note
1 Change Photo Button True Button Nút chức năng cho phép người dùng thay đổi ảnh vừa chọn.
2 Selected
Image True Image Hiển thị ảnh vừa được chọn.
3 Score
Slider True Slider
Slider tăng/giảm score cho kết quả phù hợp với mong muốn người dùng.
4 Confident
Checker True CheckView Bật/tắt hiển thị confident
5 Count
Button True Button
Nút chức năng cho phép người dùng thực hiện thao tác đếm vật thể trên ảnh vừa chọn.
6.6.6. SC06.Count Result Screen
Chương 6: ỨNG DỤNG iOS
No Name
Required (Input… Validation)
Type Reference Note
1 Result
Image True Image
Data từ Api server
Hình ảnh hiển thị kết quả với các vòng tròn xác định vị trí vật thể được đếm. 2 Number of Object True Image Data từ Api server
Hiển thị kết quả số các vật thể đã đếm được.
3 Counting
Time True Slider
Data từ Api server
Hiển thị thời gian đếm
4 Rating True RatingView
Cho phép người dùng đánh giá kết quả, phản hồi về phía người phát triển.
5 Share
Button True Button
Nút chức năng cho phép người dùng thực hiện chia sẻ kết quả.
6.6.7. SC07.Share Result Screen
Chương 6: ỨNG DỤNG iOS
No Name
Required (Input… Validation)
Type Reference Note
1 Share
Sheet True
Share Sheet
Sheet cho phép người dùng thực hiện chức năng chia sẻ kết quả.
6.6.8. SC08.Tap Image Screen
Chương 6: ỨNG DỤNG iOS
No Name
Required (Input… Validation)
Type Reference Note
1 Number
of Object True Text
Data từ Api server
Hiển thị kết quả số các vật thể đã đếm được.
2 Close
button True Button
Nút chức năng thoát chế độ xem ảnh kết quả.
3 Result
Image True Image
Data từ Api server
Hình ảnh hiển thị kết quả với các vòng tròn xác định vị trí vật thể được đếm.
6.6.9. SC09.Zoom Image Screen
Chương 6: ỨNG DỤNG iOS
No Name
Required (Input… Validation)
Type Reference Note
1 Result
Image True Image
Data từ API
Hình ảnh hiển thị kết quả với các vòng tròn xác định vị trí vật thể được đếm.
6.6.10.SC10.Guest Tab Screen
Chương 6: ỨNG DỤNG iOS
No Name
Required (Input… Validation)
Type Reference Note
1 Login
Button True Button
Nút chức năng cho phép người dùng điều hướng đến Login Screen. 2 Count History Button True Button
Nút chức năng cho phép người dùng điều hướng đến Count History Screen. 3 Propose Template Button True Button
Nút chức năng cho phép người dùng điều hướng Propose Template Screen.
6.6.11.SC11.Admin Tab Screen
Chương 6: ỨNG DỤNG iOS
No Name
Required (Input… Validation)
Type Reference Note
1 Username True Text
Nút chức năng cho phép người dùng điều hướng đến Login Screen.
2 Type of
User True Text
Nút chức năng cho phép người dùng điều hướng đến Count History Screen.
3 Avatar True Image
Nút chức năng cho phép người dùng điều hướng Propose Template Screen. 4 Add Template Button True Button
Nút chức năng cho phép người dùng điều hướng Add
Template Screen. 5 Template List Button True Button
Nút chức năng cho phép người dùng điều hướng đến
Template List Screen.
6
Count History Button
True Button
Nút chức năng cho phép người dùng điều hướng đến Count History Screen. 7 Propose Template Button True Button
Nút chức năng cho phép người dùng điều hướng Propose Template Screen.
8 Log out
Button True Button
Nút chức năng cho phép người dùng đăng xuất khỏi tài khoản.
6.6.12.SC12.User Tab Screen
Chương 6: ỨNG DỤNG iOS
No Name
Required (Input… Validation)
Type Reference Note
1 Username True Text
Nút chức năng cho phép người dùng điều hướng đến Login Screen.
2 Type of
User True Text
Nút chức năng cho phép người dùng điều hướng đến Count History Screen.
3 Avatar True Image
Nút chức năng cho phép người dùng điều hướng Propose Template Screen. 4 Count History Button True Button
Nút chức năng cho phép người dùng điều hướng đến Count History Screen. 5 Propose Template Button True Button
Nút chức năng cho phép người dùng điều hướng Propose Template Screen.
6 Log out
Button True Button
Nút chức năng cho phép người dùng đăng xuất khỏi tài khoản.
6.6.13.SC13.Login Screen
Chương 6: ỨNG DỤNG iOS
No Name
Required (Input… Validation)
Type Reference Note
1 Register
Link True
Navigation Link
Nút chức năng cho phép người dùng điều hướng đến Register Screen.
2 Email
Field True Text Field Field điền email người dùng
3 Password
Field True Text Filed
Field điền mật khẩu cho email đã đăng kí
4 Login
Button True Button
Nút chức năng cho phép người dùng thực hiện chức năng đăng nhập. Nếu thành công, ứng dụng sẽ tự động điều hướng về Home Screen.
5 Forgot
Password True
Navigation Link
Nút chức năng cho phép người dùng điều hướng đến trang Reset Password.
6 Login By Social Media True Button Nút chức năng cho phép người dùng đăng nhập thông qua các tài khoản mạng xã hội.
6.6.14.SC14.Register Screen
Chương 6: ỨNG DỤNG iOS
No Name
Required (Input… Validation)
Type Reference Note
1 Login
Link True
Navigation Link
Nút chức năng cho phép người dùng điều hướng đến Login Screen.
2 Email
Field True Text Field
Field điền email người dùng muốn đăng kí
3 Password
Field True Text Filed
Field điền mật khẩu cho email
4
Repeat Password Field
True Text Field Field lặp lại mật khẩu vừa điền
5 Register
Button True Button
Nút chức năng cho phép người dùng thực hiện chức năng đăng kí. Nếu thành công, ứng dụng sẽ tự động điều hướng về Home Screen bằng tài khoản vừa đăng kí.
6.6.15.SC15.Template List Screen
Chương 6: ỨNG DỤNG iOS
No Name
Required (Input… Validation)
Type Reference Note
1 Template
List True List
Data từ Api Server
Hiển thị danh sách template hiện có trong ứng dụng
2 Template
Name True Text
Data từ Api Server
Tên của template
3 Template
Description True Text
Data từ Api Server
Mô tả template
4 Template
Image True Image
Data từ Api Server
Ảnh đại diện cho template
6.6.16.SC16.Remove Template Screen
Chương 6: ỨNG DỤNG iOS
No Name
Required (Input… Validation)
Type Reference Note
1 Remove
Button True Button
Nút chức năng cho phép người dùng xoá template được chọn
6.6.17.SC17.Add Template Screen
Chương 6: ỨNG DỤNG iOS
No Name
Required (Input… Validation)
Type Reference Note
1 Name
Field True
Text Filed
Field để người dùng điền tên template muốn thêm vào
2 DriveID
Field True
Text Filed
Field để người dùng điền Drive ID
3 Description
Field True
Text Filed
Field để người dùng điền mô tả cho template
4
Select Photo Button
True Button Nút chức năng cho phép người dùng chọn ảnh cho template
5 Add
Button True Button
Nút chức năng cho phép người dùng thêm template sau khi điền đầy đủ thông tin
6.6.18.SC18.Template Photo Added Screen
Chương 6: ỨNG DỤNG iOS
No Name
Required (Input… Validation)
Type Reference Note
1 Template
Image True Image
Ảnh vừa được người dùng thêm vào từ thiết bị
6.6.19.SC19.Propose Template Screen
Chương 6: ỨNG DỤNG iOS
No Name
Required (Input… Validation)
Type Reference Note
1 Template Name Filed True Text Filed
Field để người dùng nhập tên Template muốn đề xuất
2 Description
Field True
Text Filed
Filed để người dùng nhập mô tả cho template
3
Select Photo Button
True Button Nút chức năng cho phép người dùng chọn ảnh cho template
4 Submit
Button True Button
Nút chức năng hoàn tất việc đề xuất template sau khi điền đầy đủ thông tin.
6.6.20.SC20.Object Photo Added Screen
Chương 6: ỨNG DỤNG iOS
No Name
Required (Input… Validation)
Type Reference Note
1 Template
Image True Image
Data từ API
Phần hiển thị ảnh đã được người dùng thêm vào dùng cho
template muốn đề xuất.
6.6.21.SC21.Count History Screen
Chương 6: ỨNG DỤNG iOS
No Name
Required (Input… Validation)
Type Reference Note
1 Count History List True List Data từ Api Server
Hiển thị danh sách lịch sử đếm vật thể trên ứng dụng
2 Result True Text
Data từ Api Server
Phần hiển thị kết quả và thời gian của kết quả đó
3 Rating True Rating View
Data từ Api Server
Phần đánh giá kết quả của người dùng
4 Result
Image True Image
Data từ Api Server Hình ảnh của kết qủa đếm vật thể, người dùng có thể nhấn vào ảnh để phóng to.
Bảng 6.22 Chi tiết Count History Screen 6.6.22.SC22.Remove History Screen
Chương 6: ỨNG DỤNG iOS
No Name
Required (Input… Validation)
Type Reference Note
1 Remove
Button True Button
Nút cho phép người dùng xoá kết quả ra khỏi lịch sử đếm.
Bảng 6.23 Chi tiết Remove History Screen 6.7. Đặc tả cơ sở dữ liệu
Hình. Cơ sở dữ liệu của ứng dụng
Cơ cở dữ liệu của ứng dụng được lưu ở Firebase, bao gồm 2 bảng chính:
- Bảng Template: Lưu trữ danh sách các template hiện có trong ứng dụng gồm những thuộc tính như:
o TemplateID: Mã của template, ngoài ra còn là khoá chính để phân biệt những template khác nhau.
o DriveID: Đường dẫn đến địa chỉ chứa file .h5 được lưu trên Google Drive (dùng cho việc dự đoán & đếm vật thể). o CreateDate: Thời gian template được thêm vào ứng dụng. o ImageURL: Đường dẫn đến ảnh đại diện của template. o Name: Tên của template.
o Description: Mô tả của template.
o IsCircle: Thuộc tính dạng true/false, phân biệt hình dạng của vật thể (hình tròn/hình chữ nhật).
- Bảng History: Lưu trữ lịch sử đếm của người dùng sau khi đếm thành công bao gồm những thuộc tính sau:
o Name: Tên của template đã đếm.
o Count: Kết quả số lượng object đã đếm được trên hình ảnh. o Rate: Đánh giá của người dùng (1-5 sao) cho lần đếm tương ứng.
o ImageURL: Đường dẫn đến hình ảnh được người dùng sử dụng để đếm