.20 Kết quả ống thép chữ nhật 1

Một phần của tài liệu Xây dựng ứng dụng iOS đếm vật thể mật độ cao trong hình ảnh dựa vào học máy và xử lý ảnh đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin (Trang 169 - 185)

Chương 7: KẾT QUẢ VÀ THỰC NGHIỆM

Chương 7: KẾT QUẢ VÀ THỰC NGHIỆM

Chương 7: KẾT QUẢ VÀ THỰC NGHIỆM

Chương 7: KẾT QUẢ VÀ THỰC NGHIỆM

7.2. So sánh

So sánh với những ứng dụng đếm hiện tại có mặt trên chợ ứng dụng

7.2.1. So sánh với ứng dụng CountThings

Ứng dụng CountThings là một ứng dụng đếm vật thể đến từ công ty Dynamic Ventures, Inc. của Mỹ, được phát hành đầu tiên năm 2011 với đội ngũ phát triển cực kỳ mạnh, ứng dụng đang là ứng dụng đứng đầu trong lĩnh vực đếm vật thể mật độ cao.

Bảng chi tiết so sánh ứng dụng My Counter trong đề tài và CountThings:

Mục so sánh My Counter CountThings

Độ chính xác

Cao Rất cao

Thời gian xử lý 75 giây 4 giây

Thời gian đếm 31 giây 4 giây

Giao điện Tương đối Tương đối

Tính năng Tương đối ít, đủ những tính năng chính cần có

Nhiều, đầy đủ hầu hết các tính năng liên quan

Số lượng template 10 loại Hơn 500 loại

Xuất kết quả Lưu hình ảnh, gửi hình ảnh

Xuất file csv, lưu hình ảnh có banner

Giá thành Miễn phí

Quá đắt $159.99 mỗi tháng $30.99 mỗi ngày gói 1 pack $99.99 mỗi ngày gói 4 pack $179 mỗi ngày gói 10 pack

Bảng 7.1 So sánh với CountThings 7.2.2. So sánh với ứng dụng Mediscount 7.2.2. So sánh với ứng dụng Mediscount

Mediscount là một ứng dụng trên chợ ứng dụng dùng để đếm thuốc hoặc vật thể tương tự, thuộc công ty Medity Inc. và được phát hành bản đầu tiên vào tháng 12 năm 2020. Ứng dụng có kết quả khá tốt nhưng chưa thực sự phổ biến, hầu hết sử dụng để đếm thuốc.

Bảng so sánh chi tiết ứng dụng My Counter và Mediscount:

Mục so sánh My Counter Mediscount

Độ chính xác

Cao Cao

Thời gian xử lý 75 giây 3 giây

Chương 7: KẾT QUẢ VÀ THỰC NGHIỆM

Giao điện Tương đối hợp lý Tương đối hợp lý Tính năng Tương đối ít, đủ những

tính năng chính cần có

Tương đối ít, chỉ cho phép chụp hình ảnh và khơng đếm

được ảnh có sẵn Số lượng template 10 loại Không xác định

Chỉnh sửa kết quả Chưa có Khơng có

Xuất kết quả Lưu hình ảnh, chia sẻ hình ảnh

Lưu hình ảnh, chia sẻ hình ảnh

Giá thành Miễn phí

Tương đối cao

$2.99 mỗi tháng hoặc $28.99 mỗi năm

Bảng 7.2 So sánh với Mediscount 7.3. Thực nghiệm 7.3. Thực nghiệm

- Nhóm đã kiểm tra với rất nhiều hình ảnh thực tế tự chụp, kết quả rất đáng khả quan.

- Nhóm đã kiểm tra với rất nhiều hình chụp từ cộng đồng, bạn bè và đều cho kết quả tốt, tỉ lệ đưa ra kết quả sai thấp.

- Thời gian đếm chưa thực sự nhanh, với những hình khó thì người dùng có thể đợi, cịn trong những hình dễ có thể đếm thủ cơng thì hệ thống vẫn tốn khoảng thời gian khá lâu, dẫn đến sự khó chịu của người dùng thật

7.4. Nhận xét và phân tích

- Ứng dụng đang hoạt động rất tốt, nhưng trong trường hợp người dùng chọn sai template, ví dụ chọn đếm trứng nhưng lại đưa hình khoai tây vào thì ứng dụng sẽ nhận diện sai. Tương tự trường hợp đếm trứng nhưng lẫn vào trong hình trứng một củ khoai tây hoặc ngược lại cũng có thể gây ra sai kết quả.

- Ứng dụng khuyến khích người dùng chọn đúng template trước khi đếm, trường hợp người dùng cố tình thử thách và lừa hệ thống thì rất khó kiểm soát và chắc chắn sẽ đưa ra kết quả sai.

- Trong thực tế, những trường hợp hi hữu như vậy rất khó xảy ra. Và nhóm đã có giải pháp là sẽ phát triển tính năng loại bỏ hoặc thêm thủ công cho kết quả. - Ứng dụng khuyến khích người dùng chụp hoặc đưa vào những hình ảnh có các

vật thể tách rời nhau, hoặc phải chụp chính diện khơng để khuất quá nhiều sẽ gây ra nhầm lẫn và ảnh hưởng kết quả.

Kết luận: Ứng dụng đáp ứng được nhu cầu cơ bản của người dùng trong việc đếm các vật thể mật độ dày đặc và rất khó đếm thủ cơng. Và vẫn chỉ đang trong quá

trình phát triển và hồn thiện, chưa thể đưa ra sử dụng một cách rộng rãi được. Người dùng phải chủ động giúp ứng dụng đạt kết quả cao, trường hợp cố tình lừa hệ thống thì rất khó để xử lý và có phương án hợp lý.

Chương 8: TỔNG KẾT

Chương 8

8. TỔNG KẾT

8.1. Kết luận

Sau khi hoàn thành được đề tài với kết quả vượt mong đợi của nhóm, nhóm đã học hỏi thêm được rất nhiều kiến thức từ nhiều lĩnh vực khác nhau như: Làm server bằng python, cách xử lý SSL Secure, sử dụng được OpenCV, sử dụng được nhiều model machine learning khác nhau, có thể đọc hiểu cơ bản và áp dụng được những paper của những chuyên gia đầu ngành vào ứng dụng thực tế, khả năng tìm hiểu công nghệ để làm ứng dụng iOS từ đầu đến cuối,... Nguồn kiến thức mà nhóm tìm hiểu được từ đề tài này thật sự quý giá.

Kết quả của đề tài rất đáng hứa hẹn, nếu sau này đủ thời gian và kiến thức sẽ có thể phát triển mạnh mẽ và đưa vào sử dụng trong đời sống, áp dụng được trong nhiều lĩnh vực.

8.2. Khó khăn

Trong quá trình thực hiện đề tài, nhóm đã gặp rất nhiều khó khăn, nhưng nhờ những kiến thức đã được học tại trường ĐH Sư Phạm Kỹ Thuật TpHCM, sự giúp đỡ của cộng đồng cùng với những tư vấn nhiệt tình của thầy Trần Nhật Quang, nhóm em đã vượt qua được.

8.2.1. Khó khăn trong q trình tìm hiểu phương pháp đếm

- Có rất nhiều phương pháp đếm từ nhiều bài báo khoa học khác nhau, nhưng hầu hết chỉ đúng trong ví dụ của bài báo, đưa ra sử dụng ở những hình ảnh khác thì lại đưa ra kết quả sai.

- Nhóm đã thử và sử dụng rất nhiều phương pháp khác nhau ở lĩnh vực xử lý ảnh số và học máy để tìm ra được phương pháp tối ưu và phù hợp nhất cho hầu hết các trường hợp.

- Những bài báo khoa học về học máy rất khó để sử dụng, mơi trường và các packet của bài khác với mơi trường nhóm thực hiện để chạy chương trình, gây ra rất nhiều khó khăn và lỗi

8.2.2. Khó khăn trong q trình xây dựng server và triển khai server

- Việc xây dựng một server có khả năng xử lý được những mơ hình học máy hoặc thuật toán xử lý ảnh số rất khó khăn, địi hỏi nhóm phải tìm hiểu những cơng nghệ mới như Flask hoặc SocketIO trên python trong thời gian ngắn.

- Khi triển khai server, tìm và lựa chọn hosting chất lượng cũng gặp nhiều trở ngại, vì một hosting có khả năng thực hiện được chương trình học máy cần tốn nhiều

tài nguyên và yêu cầu phần cứng cao, nên nhóm phải th một VM có cấu hình tương đối mới có thể dùng làm hosting cho server.

- Nhóm phải tìm cách để cải tiến thời gian một cách tốt nhất nên việc tìm kiếm phương pháp tối ưu gặp rất nhiều khó khăn. Thời gian đầu mỗi lần đếm mất rất nhiều thời gian, hiện tại thời gian đếm đã giảm nhưng vẫn cịn khá cao.

8.2.3. Khó khăn trong quá trình chuẩn bị dataset

- Việc chuẩn bị dataset là quá trình rất tốn nhiều thời gian, mỗi lần chuẩn bị cho dataset tốn khoảng 2-3 ngày liên tục cho một loại vật thể.

- Để đánh nhãn được những vật thể chuyên dụng, chỉ xuất hiện ở những khu công nghiệp, kho hoặc nhà máy nhưng khơng có sẵn hình ảnh trên mạng địi hỏi nhóm phải trực tiếp đến chụp ảnh để về đánh nhãn.

- Để có được model kết quả chính xác, nhóm đã đánh nhãn rất tỉ mỉ và nhiều hình cùng với bounding box.

8.3. Hướng phát triển

Theo mục đích của đề tài là “Đếm vật thể mật độ cao trên thiết bị iOS” và những thiếu sót cịn tồn đọng của ứng dụng. Nhóm có 3 mục tiêu cần phát triển là: Tăng độ chính xác, giảm thời gian đếm, cải tiến server, cải tiến ứng dụng ở phía client, thêm nhiều vật thể mới phù hợp.

8.3.1. Tăng độ chính xác

- Train thêm nhiều model cho nhiều vật thể hữu ích khác. - Đánh nhãn nhiều object hơn để tăng chính xác.

- Tăng epoch và step per epoch lên để tăng độ chính xác.

8.3.2. Giảm thời gian đếm

- Nâng cấp server cao hơn để xử lý nhanh hơn.

- Cố gắng tìm cách thay đổi việc predict, predict ngay trên thiết bị client, tận dụng tối đa phần cứng của client. Server chỉ có nhiệm vụ lọc lại dữ liệu và xử lý.

8.3.3. Cải tiến ứng dụng phía client

- Tìm hiểu nhu cầu của người dùng về một ứng dụng đếm để phát triển thêm những tính năng phù hợp.

- Cho phép người dùng export kết quả dưới nhiều dạng khác nhau (CSV, lưu tự động vào album trong thư viện).

- Chạy function trong background dể giúp người giúp bớt tốn thời gian chờ đợi. - Thêm giao diện hướng dẫn sử dụng chi tiết cho người sử dụng.

- Cho phép người dùng tự đánh nhãn thủ công cho vật thể tuỳ chọn, để server train tự động cho loại vật thể đó.

Chương 8: TỔNG KẾT

- Cho phép người dùng sửa đổi kết quả (thêm/sửa/xóa những vị trí bị sai) - Chỉnh sửa UI/UX phù hợp với người sử dụng hơn.

- Làm thêm nhiều client khác cho thiết bị android, web, windows application.

8.3.4. Cải tiến server

- Cho phép nhiều người dùng thực hiện đếm cùng một lúc.

- Tổ chức lại cơ sở dữ liệu, tổ chức lại các function logic hiệu quả hơn - Tăng lớp bảo mật cho server

8.3.5. Thêm nhiều loại vật thể mới thiết thực

- Cần tìm hiểu nhu cầu của người dùng về những vật thể cần đếm để chuẩn bị dataset phù hợp.

- Cần thu thập những vật thể có tính ứng dụng cao trong cuộc sống, những loại vật thể thiết thực cần đếm bằng trí tuệ nhân tạo.

TÀI LIỆU THAM KHẢO Tiếng Việt

[1] Vimentor. (2018). Chạy ứng dụng Flask với Gunicorn trên ubuntu. Được truy lục từ https://vimentor.com/vi/lesson/6-chay-ung-dung-flask-voi-gunicorn-tren- ubuntu

[2] TOMOSIA. (2021). SwiftUI là gì? Được truy lục từ https://blog.tomosia.com/swiftui-la-gi/

[3] NIITHanoi. (2019). Flask là gì? Bạn biết gì về framework này? Được truy lục từ https://blog.tomosia.com/swiftui-la-gi/

[4] Keras RetinaNet. (2021). Keras RetinaNet. Được truy lục từ https://github.com/fizyr/keras-retinanet

[5] Viblo Asia. (2020). Giới thiệu mạng ResNet. Được truy lục từ https://viblo.asia/p/gioi-thieu-mang-resnet-vyDZOa7R5wj

[6] OpenCV Official Document. (2021). Image Segmentation with Watershed

Algorithm. Được truy lục từ

https://docs.opencv.org/master/d3/db4/tutorial_py_watershed.html

[7] Praveen. (2020). Color Detection using OpenCV Python. Được truy lục từ https://medium.com/programming-fever/color-detection-using-opencv-python- 6eec8dcde8c7

[8] TopDev. (2020). Heroku là gì? Được truy lục từ https://topdev.vn/blog/heroku- la-gi/

[9] Amazon. (2021). Amazon là gì? Được truy lục từ https://aws.amazon.com/vi/about-aws/

[10] ITNAVI. (2020). Google Cloud Là Gì? Những Dịch Vụ Mà Google Cloud Cung

Cấp. Được truy lục từ https://blog.itnavi.com.vn/google-cloud-la-gi-nhung-dich-

vu-ma-google-cloud-cung-cap/

[11] Wikipedia. (2021). OpenCV. Được truy lục từ https://en.wikipedia.org/wiki/OpenCV

[12] TopDev. (2021). Được truy lục từ https://topdev.vn/blog/opencv-la-gi-hoc- computer-vision-khong-kho/

Tiếng Anh

[13] PapeWithCode. (2019). Precise Detection in Densely Packed Scenes. Được truy lục từ https://paperswithcode.com/paper/precise-detection-in-densely-packed- scenes

[14] PapeWithCode. (2019). Precise Detection in Densely Packed Scenes. Được truy lục từ https://paperswithcode.com/paper/precise-detection-in-densely-packed- scenes

[15] Wikipedia. (2021). OpenCV. Được truy lục từ https://en.wikipedia.org/wiki/OpenCV

[16] Praveen. (2020). Color Detection using OpenCV Python. Được truy lục từ https://medium.com/programming-fever/color-detection-using-opencv-python- 6eec8dcde8c7

[17] OpenCV Official Document. (2021). Image Segmentation with Watershed

Algorithm. Được truy lục từ

https://docs.opencv.org/master/d3/db4/tutorial_py_watershed.html [18] Keras RetinaNet. (2021). Keras RetinaNet. Được truy lục từ

Một phần của tài liệu Xây dựng ứng dụng iOS đếm vật thể mật độ cao trong hình ảnh dựa vào học máy và xử lý ảnh đồ án tốt nghiệp khoa đào tạo chất lượng cao ngành công nghệ thông tin (Trang 169 - 185)

Tải bản đầy đủ (PDF)

(185 trang)