Đồ án tốt nghiệp 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

Trình bày đồ án tốt nghiệp xây dựng ứng dụng iOS đếm vật thể mật độ cao bằng học máy và xử lý ảnh. Tìm hiểu chi tiết kỹ thuật và ứng dụng thực tế.

Chuyên ngành

Công nghệ thông tin

Tác giả

Hồ Sĩ Tuấn

Người đăng

Ẩn danh

Thể loại

Luận văn tốt nghiệp

2021

190
0
0

Phí lưu trữ

45 Point

Tóm tắt

I. Tổng quan về việc xây dựng ứng dụng iOS đếm vật thể mật độ cao Nhu cầu và Tiềm năng

Trong kỷ nguyên công nghiệp 4.0, sự tự động hóa đang trở thành yếu tố then chốt giúp tối ưu hóa quy trình và nâng cao hiệu quả hoạt động. Việc đếm vật thể mật độ cao là một trong những bài toán phức tạp nhưng mang lại giá trị lớn, đặc biệt trong các ngành sản xuất, nông nghiệp, và logistics. Các quy trình kiểm đếm thủ công truyền thống thường gặp phải nhiều hạn chế như tốn kém thời gian, nguồn lực nhân công và đặc biệt là độ chính xác không cao, dễ dẫn đến sai sót. Nắm bắt được vấn đề này, việc xây dựng ứng dụng iOS đếm vật thể mật độ cao đã trở thành một giải pháp công nghệ tiên tiến, hứa hẹn thay đổi cách thức hoạt động của nhiều doanh nghiệp.

Ứng dụng này khai thác sức mạnh của nền tảng di động iOS cùng với các kỹ thuật học máyxử lý ảnh để tự động nhận diện, phân loại và định lượng vật thể một cách nhanh chóng và đáng tin cậy. Mục tiêu chính là loại bỏ những lãng phí, gia tăng năng suất và tiết kiệm chi phí vận hành. Với khả năng xử lý trên thiết bị (on-device processing), các ứng dụng đếm vật thể trên di động không chỉ mang lại hiệu quả cao mà còn đảm bảo tính linh hoạt, cho phép người dùng thực hiện công việc kiểm đếm mọi lúc mọi nơi mà không cần phụ thuộc vào hạ tầng máy chủ phức tạp. Đây là bước tiến quan trọng trong việc số hóa và tự động hóa các quy trình kiểm soát vật tư, hàng hóa có số lượng lớn, từ đó nâng cao độ tin cậy và minh bạch của toàn bộ chuỗi cung ứng.

1.1. Tại sao cần ứng dụng đếm vật thể mật độ cao trong kỷ nguyên số

Nhu cầu đếm vật thể mật độ cao phát sinh từ thực tế sản xuất hàng loạt trong nhiều ngành công nghiệp. Các công ty và xí nghiệp phải xử lý số lượng lớn sản phẩm lặp lại hàng ngày, việc kiểm đếm thủ công gây hao tốn rất nhiều tài nguyên về thời gian và nhân công. Độ chính xác và tin cậy của việc kiểm toán vật liệu cũng bị hạn chế khi phụ thuộc vào yếu tố con người. Do đó, việc xây dựng ứng dụng iOS đếm vật thể mật độ cao là cần thiết để khắc phục những hạn chế này, gia tăng năng suất, tiết kiệm chi phí và tài nguyên. Giải pháp này giúp tự động hóa quy trình, đảm bảo tính nhất quán và độ chính xác cao hơn hẳn phương pháp truyền thống.

1.2. Lợi ích và phạm vi ứng dụng của giải pháp đếm vật thể trên di động

Các giải pháp đếm vật thể trên di động mang lại nhiều lợi ích vượt trội. Ứng dụng này sở hữu tốc độ xử lý nhanh, kết quả chính xác và đặc biệt không yêu cầu máy chủ cấu hình cao, cho phép xử lý trực tiếp trên thiết bị iOS. Phạm vi ứng dụng rất rộng, từ việc đếm trứng gà trong ngành nông nghiệp, kiểm kê hàng tồn kho trong logistics, đếm sản phẩm trong nhà máy, đến các ứng dụng giám sát giao thông hoặc quản lý dân số. Khả năng linh hoạt và tiện lợi của nền tảng iOS làm cho giải pháp này trở thành công cụ đắc lực, góp phần tối ưu hóa hoạt động kinh doanh và sản xuất.

II. Thách thức lớn khi đếm vật thể mật độ cao trên iOS Vượt qua giới hạn truyền thống

Việc đếm vật thể mật độ cao trên các thiết bị di động iOS đặt ra nhiều thách thức kỹ thuật đáng kể, vượt xa khả năng của các phương pháp truyền thống. Một trong những rào cản lớn nhất nằm ở khả năng phân tách và nhận diện từng đối tượng riêng lẻ khi chúng nằm rất gần nhau, chạm viền hoặc thậm chí chồng chéo lên nhau trong hình ảnh. Tình trạng này khiến cho việc xác định ranh giới giữa các vật thể trở nên cực kỳ phức tạp, dễ dẫn đến việc đếm sai hoặc bỏ sót. Ngoài ra, sự biến đổi về điều kiện ánh sáng, kích thước, hình dạng và góc độ của vật thể cũng làm tăng độ khó của bài toán. Một ứng dụng iOS đếm vật thể mật độ cao hiệu quả cần phải có khả năng thích nghi với các biến thể này để duy trì độ chính xác cao.

Các phương pháp xử lý ảnh truyền thống thường dựa vào các thuật toán đơn giản như phát hiện cạnh, phân ngưỡng hoặc nhận dạng hình dạng cơ bản. Tuy nhiên, những kỹ thuật này bộc lộ rõ giới hạn khi đối mặt với dữ liệu hình ảnh mật độ cao và phức tạp. Chúng thường đòi hỏi các tham số được tinh chỉnh cụ thể cho từng trường hợp và dễ bị ảnh hưởng bởi nhiễu hay sự thay đổi nhỏ trong môi trường. Điều này buộc các nhà phát triển phải tìm kiếm những phương pháp tiên tiến hơn, đặc biệt là tích hợp học máy và mạng nơ-ron sâu, để xây dựng các giải pháp mạnh mẽ và đáng tin cậy hơn trên nền tảng di động. Những phương pháp mới này không chỉ cải thiện khả năng nhận diện mà còn giúp tự động hóa quá trình học hỏi và thích nghi với các điều kiện khác nhau, mở ra kỷ nguyên mới cho thuật toán đếm vật thể.

2.1. Khó khăn từ vật thể chồng chéo và mật độ cao trong hình ảnh

Thách thức lớn nhất trong xây dựng ứng dụng iOS đếm vật thể mật độ cao là giải quyết tình trạng vật thể chồng chéo và chạm viền. Trong hình ảnh mật độ cao, ranh giới giữa các đối tượng thường không rõ ràng, gây khó khăn cho việc phân tách từng cá thể. Nghiên cứu chỉ ra rằng việc tìm ra điểm kết thúc của một đối tượng và điểm bắt đầu của đối tượng kế tiếp là bài toán trung tâm cần được giải quyết để giảm thiểu sự nhầm lẫn. Các phương pháp truyền thống thường thất bại trong việc xử lý hiệu quả các khu vực có vật thể bị đè lên nhau, dẫn đến kết quả đếm không chính xác.

2.2. Giới hạn của phương pháp xử lý ảnh truyền thống và nhu cầu nâng cấp

Phương pháp xử lý ảnh truyền thống, như việc xác định vùng màu (ví dụ: vùng màu HSV của trứng gà) và dùng các thuật toán đơn giản, có ưu điểm là tốc độ nhanh và không yêu cầu cấu hình máy chủ cao. Tuy nhiên, nhược điểm lớn là chúng rất khó xác định chính xác các đối tượng khi chúng chồng chéo hoặc chạm viền lên nhau. Theo Hồ Sĩ Tuấn và Lâm Gia Khánh (2021), các trường hợp vật thể đè lên nhau là một hạn chế nghiêm trọng. Điều này đòi hỏi phải có sự nâng cấp, chuyển sang các kỹ thuật tiên tiến hơn như học máy để xử lý hiệu quả các tình huống phức tạp của mật độ cao.

III. Phương pháp xử lý ảnh hiệu quả cho ứng dụng đếm vật thể iOS Bí quyết tăng tốc

Để xây dựng ứng dụng iOS đếm vật thể mật độ cao đạt hiệu quả, giai đoạn xử lý ảnh đóng vai trò cực kỳ quan trọng. Các kỹ thuật tiền xử lý ảnh giúp chuẩn hóa dữ liệu đầu vào, loại bỏ nhiễu và làm nổi bật các đặc trưng của vật thể, tạo điều kiện thuận lợi cho các thuật toán nhận diện và đếm sau này. Thư viện OpenCV iOS là một công cụ mạnh mẽ được sử dụng phổ biến cho mục đích này, cung cấp hàng loạt chức năng từ chuyển đổi không gian màu, làm mờ đến phân ngưỡng và biến đổi hình thái. Việc lựa chọn và áp dụng đúng các bước xử lý ảnh có thể quyết định đáng kể tốc độ và độ chính xác của toàn bộ hệ thống.

Nghiên cứu của Hồ Sĩ Tuấn và Lâm Gia Khánh (2021) đã đề xuất một quy trình chi tiết bao gồm nhiều bước biến đổi ảnh để chuẩn bị dữ liệu. Sau khi ảnh được tiền xử lý, việc lựa chọn thuật toán đếm vật thể phù hợp là bước kế tiếp. Hai phương pháp chính được cân nhắc là HoughCircleDistance Transformations. Mỗi phương pháp có những ưu điểm và hạn chế riêng, đặc biệt khi đối mặt với các kịch bản có vật thể chồng chéo hoặc biến đổi hình dạng. Hiểu rõ cách thức hoạt động của từng thuật toán giúp tối ưu hóa quá trình nhận diện, từ đó cải thiện độ chính xác tổng thể của ứng dụng đếm vật thể iOS. Các phương pháp này, khi được kết hợp một cách thông minh, có thể tạo ra một giải pháp đếm nhanh và đáng tin cậy trên nền tảng di động.

3.1. Các bước cơ bản của xử lý ảnh với OpenCV iOS

Quy trình xử lý ảnh ban đầu bao gồm nhiều bước tuần tự sử dụng OpenCV iOS. Bắt đầu bằng việc đọc hình ảnh, sau đó chuyển sang dạng HSV để dễ dàng lấy vùng màu cụ thể (ví dụ: màu đỏ của trứng gà). Sử dụng hàm inRange của OpenCV để cô lập vùng màu mong muốn. Tiếp theo, ảnh được chuyển sang định dạng Gray và áp dụng bộ lọc Gaussian blur để làm mờ, giảm nhiễu. Bước phân ngưỡng Otsu (Thresh Otsu) chuyển ảnh sang dạng nhị phân, tạo ra các vùng đối tượng rõ ràng. Cuối cùng, Morphological Transformations kiểu closing được dùng để loại bỏ các vật thể nhỏ không mong muốn và lấp đầy các lỗ nhỏ trong vật thể chính, giúp chuẩn bị ảnh tốt nhất cho giai đoạn đếm.

3.2. So sánh thuật toán HoughCircle và Distance Transformations trong nhận diện

Sau khi tiền xử lý ảnh, có hai cách tiếp cận chính để đếm vật thể. Cách thứ nhất sử dụng HoughCircle của OpenCV iOS để tìm các hình tròn trong từng contour đã được phát hiện, sau đó đếm số lượng hình tròn này. Cách thứ hai áp dụng Distance Transformations để tìm trọng tâm của từng contour, từ đó xác định vùng vật thể chắc chắn dựa vào mật độ điểm màu. Sau đó, contour của vùng này được tìm và số lượng contour chính là số vật thể. Theo nghiên cứu, cả hai phương pháp đều cho phép đếm trứng gà với tốc độ tương đối cao, nhưng mỗi cách có thể phù hợp hơn với các loại vật thể và điều kiện hình ảnh khác nhau, đặc biệt khi cần độ chính xác cao đối với vật thể có hình dạng đều hoặc không đều.

IV. Tận dụng học máy để xây dựng ứng dụng iOS đếm vật thể mật độ cao Khai thác tiềm năng AI

Để vượt qua giới hạn của xử lý ảnh truyền thống trong môi trường mật độ cao và vật thể chồng chéo, việc tích hợp học máy là giải pháp tối ưu. Các mô hình học máy tiên tiến có khả năng học hỏi từ dữ liệu, nhận diện các mẫu phức tạp và đưa ra quyết định chính xác hơn so với các thuật toán dựa trên quy tắc cố định. Trong xây dựng ứng dụng iOS đếm vật thể mật độ cao, học máy không chỉ giúp cải thiện độ chính xác mà còn tự động hóa quá trình nhận diện các vật thể khó phân tách, từ đó giảm đáng kể sai sót và tăng hiệu quả.

Một trong những thách thức lớn nhất là làm thế nào để phân biệt từng vật thể riêng lẻ khi chúng nằm sát nhau hoặc bị che khuất một phần. Các phương pháp dựa trên học máy như mạng lưới Soft-IoU và đơn vị EM-Merger được thiết kế đặc biệt để giải quyết vấn đề này. Chúng không chỉ phát hiện bounding box mà còn đánh giá chất lượng của từng vùng được phát hiện, sau đó chuyển đổi chúng thành bản đồ mật độ để tách biệt các vật thể. Hơn nữa, việc sử dụng Mixture of Gaussians (MoG) cho phép tinh chỉnh vị trí các bounding box để đạt được độ chính xác cao nhất, ngay cả trong những trường hợp vật thể bị chồng chéo phức tạp. Sự kết hợp của các kỹ thuật học máy này tạo nên một hệ thống mạnh mẽ, có khả năng xử lý các kịch bản đếm vật thể phức tạp mà các phương pháp truyền thống không thể thực hiện.

4.1. Mạng lưới Soft IoU và EM Merger Giải pháp cho vật thể chồng chéo

Thách thức chính trong đếm vật thể mật độ cao là xác định điểm kết thúc của một đối tượng và điểm bắt đầu của đối tượng kế tiếp, đồng thời giảm thiểu sự chạm viền. Để giải quyết, nghiên cứu đề xuất sử dụng Soft-IoU network layer cung cấp một loại điểm chất lượng gọi là Jaccard index cho mỗi bounding box được phát hiện. Điểm này phản ánh mức độ trùng khớp giữa bounding box dự đoán và thực tế. Sau đó, EM-Merger unit được sử dụng để chuyển đổi các bounding box có cùng Soft-IoU score sang bản đồ mật độ Gaussian (MoG), giúp loại bỏ sự chồng chéo giữa các bounding box, đặt nền tảng cho việc phân tách vật thể chính xác hơn.

4.2. Tối ưu vị trí bounding box với Mixture of Gaussians MoG

Sau khi sử dụng EM-Merger để tạo ra bản đồ mật độ Gaussian (MoG) từ các bounding box ban đầu, bước tiếp theo là tối ưu hóa vị trí của các bounding box thông qua Mixture of Gaussians (MoG). Phương pháp này phân tích bản đồ mật độ Gaussian để xác định lại vị trí chính xác của từng vật thể riêng biệt, ngay cả khi chúng ban đầu bị đè chồng chéo. Quá trình này giúp điều chỉnh bounding box để chúng bao quanh từng đối tượng một cách chuẩn xác, cải thiện đáng kể độ chính xác trong nhận dạng vật thể và đếm, đặc biệt trong các kịch bản mật độ cao. Mạng lưới cơ sở (Base network) như RetinaNet thường được dùng để phát hiện vật thể ban đầu, sau đó MoG tinh chỉnh kết quả này.

V. Kết quả thực nghiệm và ứng dụng của ứng dụng đếm vật thể iOS Nâng cao năng suất

Những nỗ lực trong việc xây dựng ứng dụng iOS đếm vật thể mật độ cao đã mang lại những kết quả đáng khích lệ, chứng minh tính khả thi và hiệu quả của các phương pháp tích hợp học máyxử lý ảnh. Các thử nghiệm thực tế đã cho thấy khả năng đếm vật thể với tốc độ tương đối cao và độ chính xác đáng kể, ngay cả trong những môi trường phức tạp. Một ưu điểm nổi bật của các giải pháp này là khả năng xử lý trực tiếp trên thiết bị iOS mà không yêu cầu server cấu hình cao, giúp tiết kiệm chi phí và tăng tính linh hoạt cho người dùng. Điều này mở ra tiềm năng lớn cho việc triển khai rộng rãi các ứng dụng đếm vật thể trên di động trong nhiều lĩnh vực khác nhau.

Đặc biệt, việc áp dụng các kỹ thuật tiên tiến như mạng lưới Soft-IoU, đơn vị EM-MergerMixture of Gaussians (MoG) đã giúp giảm thiểu đáng kể sai sót so với các phương pháp truyền thống, đặc biệt là trong việc xử lý các khu vực có vật thể chồng chéo. Các nghiên cứu đã chỉ ra rằng độ chính xác được cải thiện đáng kể, vượt trội hơn so với các mô hình cơ sở như RetinaNet khi gặp phải các tình huống khó. Điều này khẳng định rằng tối ưu hiệu suất đếm không chỉ nằm ở tốc độ mà còn ở khả năng phân tách chính xác từng đối tượng. Những kết quả này tạo tiền đề vững chắc cho việc ứng dụng rộng rãi các giải pháp đếm vật thể mật độ cao trong thực tiễn, góp phần nâng cao năng suất và hiệu quả hoạt động trong nhiều ngành công nghiệp.

5.1. Đánh giá hiệu suất và độ chính xác của ứng dụng đếm vật thể mật độ cao

Theo kết quả nghiên cứu, ứng dụng đếm vật thể mật độ cao trên iOS đã đạt được tốc độ xử lý nhanh và kết quả tương đối chính xác. Ví dụ, hệ thống có thể đếm tối đa khoảng 10 trứng gà trong hình ảnh một cách hiệu quả. Ưu điểm nổi bật là không yêu cầu server cấu hình cao để xử lý, giúp tiết kiệm tài nguyên. Các phương pháp học máy như sử dụng Soft-IoU và EM-Merger đã được chứng minh là giảm đáng kể các sai sót phát hiện so với các mạng lưới cơ sở như RetinaNet, đặc biệt ở các khu vực vật thể phức tạp. Điều này khẳng định tiềm năng lớn trong việc tối ưu hiệu suất đếm trên các thiết bị di động.

5.2. Ứng dụng thực tiễn trong các ngành công nghiệp Từ trứng gà đến sản xuất

Khả năng của ứng dụng iOS đếm vật thể mật độ cao không chỉ giới hạn ở việc đếm trứng gà. Giải pháp này có thể mở rộng ứng dụng sang nhiều lĩnh vực công nghiệp khác nhau. Từ kiểm kê sản phẩm trong nhà máy, quản lý hàng tồn kho trong kho bãi, đến theo dõi cây trồng trong nông nghiệp hoặc thậm chí đếm dân số và phương tiện giao thông. Việc tự động hóa quy trình kiểm đếm giúp các doanh nghiệp tiết kiệm đáng kể thời gian và chi phí, đồng thời tăng cường độ chính xác và minh bạch trong các báo cáo. Đây là một bước tiến quan trọng hướng tới các quy trình sản xuất và quản lý thông minh hơn, nâng cao năng suất tổng thể.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

21/04/2026
Đồ án tốt nghiệp 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

Trích đoạn nội dung tài liệu

Chương 1: TỔNG QUAN o Tìm contour, tính contourArea và loại bỏ contour có contourArea quá nhỏ so với contourArea trung bình o Dùng Distance Transform và WaterShed Algorithm để tìm trọng tâm các contour, sau đó transform ngược về để tách rời các object ra o Tìm contour, và đếm số lượng contour o Vẽ kết quả contour, số lượng contour chính là số vật thể có trong hình - Kết quả đạt được: o Vật thể đếm được: Chỉ đếm được trứng gà o Độ chính xác: Tương đối, chỉ đúng trong trường hợp quả trứng không đè lên nhau và tách biệt với màu nền 1. Phương pháp đếm bằng học máy và neural networks - Các paper tham khảo chính: o Precise Detection in Dense Pakced Scenes - CVPR 2019: Mục đích paper: Phát hiện các vật thể trong hình ảnh có mật độ dày đặc Dataset: SKU110K gồm 11,762 hình với hơn 1,7 triệu bounding box của các hàng hoá trong siêu thị Model based on Resnet 50 Sử dụng trong luận văn: Train và sử dụng model khác dựa trên source code của bài báo o Keras RetinaNet: Mục đích paper: Phát hiện vật thể trong hình ảnh Dataset: Open Images Dataset gồm hơn 9 triệu hình ảnh với hơn 500 classes khác nhau Sử dụng trong luận văn: Paper CVPR 2019 train model transfer learning dựa vào pretrained model của Keras RetinaNet và là cải tiến của Keras RetinaNet. Tham khảo bài báo để tìm hiểu cách train và predict cho luận văn. - Môi trường quan trọng yêu cầu: o tensorflow 1.0 - Hướng xử lý chung để đếm: o Lựa chọn đối tượng cần đếm và thu thập hình ảnh 2 Chương 1: TỔNG QUAN o Đánh nhãn và chuẩn bị dataset phù hợp với các paper o Train lần 1 cho mô hình học máy bằng SKU110K CVPR dựa trên model base của Keras RetinaNet với backbone là Resnet 50 o Train lần 2 cho IoU layer của mô hình học máy o Sử dụng model đã train được để predict kết quả o Xử lý kết quả và đưa về dạng x, h, height, width, score 1.

Tổng quan về SwiftUI framework - SwiftUI là một framework của Apple được ra mắt vào WWDC 2019 dùng để xử lý và thiết kế giao diện theo theo cách mới – declarative. - Thiết kế giao diện theo phong cách declarative giúp chúng ta dễ dàng hình dung được giao diện và người dùng sẽ tương tác với nó như thế nào, từ code sinh ra giao diện. Ví dụ: Chúng ta có thể viết rằng chúng ta cần một danh sách, các mục bao gồm các văn bản, sau đó là các format căn chỉnh, màu sắc. Code để thực hiển điều đó dễ viết và dễ đọc hơn bao giờ hết, tiết kiệm được thời gian phát triển và bảo trì - Sử dụng trong luận văn: Dùng để phát triển ứng dụng iOS Client 1.

Tổng quan về Flask, Gunicorn, SocketIO và Flask-SocketIO - Flask: o Là một micro web framework để phát triển Web bằng ngôn ngữ Python ra mắt vào năm 2010 bởi nhà phát triển Amin Ronacher o Kích thước rất nhỏ nhẹ, không yêu cầu bất kì thư viện hoặc công cụ nào khi cài đặt. Không có database abstraction layer, form validation hay bất kì component nào không thực sự cần thiết o Dễ dàng để một người mới về Python phát triển được một Web Server hoặc website nhỏ o Dễ dàng nâng cấp, mở rộng trong ứng dụng phức tạp o Sử dụng trong luận văn: Dùng để phát triển web server - Gunicorn: o Gunicorn là một trong những python web server theo chuẩn WSGI (Web Server Gatewate Interface), ổn định và được triển khai nhiều trong các môi trường sản phẩm thực tế (Vimentor, 2018). o Gunicorn dễ sử dụng và hỗ trợ nhiều web framework khác nhau như Django, Flask,. (Vimentor, 2018) o Hỗ trợ SSL Certificate o Sử dụng trong luận văn: Dùng để triển khai server - Flask-SocketIO và SocketIO: 3 Chương 1: TỔNG QUAN o Flask-SocketIO và SocketIO là công cụ cho phép ứng dụng Flask giao tiếp 2 chiều có độ trễ thấp giữa client và server.

o Ứng dụng phía client có thể sử dụng bất kỳ ngôn ngữ nào trong JavaScript, Python, C++, Java và Swift. o Sử dụng trong luận văn: Dùng để client theo dõi tiến độ đếm của server 4 Chương 2: NỀN TẢNG LÝ THUYẾT VÀ CÔNG NGHỆ Chương 2 NỀN TẢNG LÝ THUYẾT VÀ CÔNG NGHỆ 2. Các phương pháp đếm vật thể 2. Phương pháp xử lý ảnh số bằng thư viện OpenCV 2.

Lý do sử dụng - OpenCV là một thư viện phổ biến hàng đầu của thị giác máy tính nên dễ tiếp cận và cài đặt - OpenCV được tối ưu hoá và có tốc độ xử lý tương đối nhanh - Document của OpenCV rõ ràng và dễ hiểu - OpenCV có cộng đồng sử dụng đông đảo giúp cho việc tìm hiểu và sửa lỗi thuận tiện hơn 2. Thời gian sử dụng Giai đoạn đầu: Từ ngày 05/03/2021 đến ngày 25/03/2021 2. Hướng xử lý chính và từng bước thực hiện Sử dụng phương pháp này chỉ để đếm số trứng gà. Mục tiêu là phát hiện vùng hình ảnh có thể là trứng gà rồi đếm số trừng gà trong vùng.

Tham khảo và tổng hợp phương pháp tại Image Segmentation with Watershed Algorithm (OpenCV Official Document, 2021) và Color Detection using OpenCV Python (Praveen, 2020) - Bước 1: Đọc hình ảnh - Bước 2: Chuyển sang dạng HSV để dễ dàng lấy vùng màu đỏ của trứng gà - Bước 3: Lấy vùng màu đỏ bằng function inRange của OpenCV - Bước 4: Convert ảnh sang Gray, sau đó dùng Gaussian blur - Bước 5: Dùng Thresh Otsu để chuyển ảnh sang dạng nhị phân - Bước 6: Dùng Morphological Transformatiosn kiểu closing để xoá những object nhỏ - Bước 7: Tìm contour, tính contourArea trung bình để xoá những contourArea quá nhỏ so với trung bình. Sau đó Negative ảnh. Tới đây có 2 cách để tìm số quả trứng trong hình. Cách 1: - Bước 8: Sử dụng HoughCircle của OpenCV để tìm hình tròn trong từng contour 5 Chương 2: NỀN TẢNG LÝ THUYẾT VÀ CÔNG NGHỆ - Bước 9: Kết luận số quả trứng trong hình là số lượng hình tròn phát hiện được Cách 2: - Bước 8: Dùng Distance Transformations để tìm trọng tâm của từng contour - Bước 9: Tìm vùng hình ảnh trứng gà chắc chắn của hình dựa vào mật độ các điểm màu - Bước 9: Tìm contour của hình vừa có được và kết luận số quả trứng gà trong hình là số lượng contour phát hiện được 2.

Kết quả đạt được Có thể đếm được trứng gà trong hình với tốc độ tương đối cao, tối đa khoảng 10 trứng gà. Đánh giá - Ưu điểm: o Tốc độ xử lý nhanh, kết quả tương đối chính xác o Không cần server cấu hình cao để xử lý - Nhược điểm: o Cần phải xác định vùng màu đối tượng cần đếm. Ví dụ: Nếu muốn tìm trứng thì phải xác định vùng màu của trứng gà trong tự nhiên theo chuẩn HSV) o Trường hợp các đối tượng chồng chéo, chạm viền lên nhau thì rất khó xác định o Trường hợp các đối tượng có màu tương đương với màu nền sẽ xảy ra nhầm lẫn và không chính xác 2. Nhận xét, mục tiêu Kết quả của phương pháp chỉ dùng để thực hành, tìm hiểu, không thể ứng dụng vào thực tế nên cần tìm phương pháp khác tối ưu hơn, kết quả chính xác hơn 2.

Phương pháp kết hợp xử lý ảnh bằng OpenCV và DO-U-Net 2. Lý do sử dụng Vì phương pháp xử lý ảnh bằng OpenCV chỉ đưa ra kết quả đúng trong trường hợp các vật thể tách rời nhau và tách biệt với màu nền, nên nhóm đã tìm hiểu và tham khảo paper DO-U-Net for Segmenttation and Counting nhằm tách các vật thể bị chạm viền lên nhau. Kết hợp 2 phương pháp để có kết quả chính xác hơn 2. Thời gian sử dụng 6 Chương 2: NỀN TẢNG LÝ THUYẾT VÀ CÔNG NGHỆ Giai đoạn 2: Từ ngày 25/03/2021 đến ngày 30/03/2021 2.

Tổng quan về DO-U-Net - DO-U-Net (viết tắt của Dual-Output U-Net) là Neural Network được xây dựng bởi tác giả Toyah Overton và Allan Tucker với mục đích là tách các object bị đè lên nhau để dễ dàng phân vùng (segmentation) và đếm (counting). DO-U-Net là một kiểu Encoder-Decoder, Fully Convolutional Network (FCN). - Cấu trúc U-Net: Hình 2.1 Cấu trúc U-Net - Source code GitHub: https://github.com/ToyahJade/DO-U-Net - Hình ảnh Demo từ paper: 7 Chương 2: NỀN TẢNG LÝ THUYẾT VÀ CÔNG NGHỆ Hình 2.2 Minh hoạ DO-U-Net 2. Kết quả - Việc đánh nhãn và train theo mạng DO-U-Net khó khăn và tốn nhiều thời gian, nhưng kết quả đạt được không như dự định.

- Neural Network của DO-U-Net khá nặng, thời gian đưa ra kết quả quá lâu 2. Nhận xét, mục tiêu Vì những bất cập và khó khăn của phương pháp, nhóm đã thay đổi phương pháp và tham khảo paper khác để có kết quả tốt hơn. Đếm bằng sử dụng học máy và neural networks 2. Lý do sử dụng Vì những khuyết điểm còn sót lại của hai phương pháp trên, nhóm tìm hiểu và tham khảo những paper khác về học máy để có kết quả tốt hơn 2.

Thời gian sử dụng Giai đoạn 3: Từ ngày 31/03/2021 đến hiện tại 2. Kết quả 8 Chương 2: NỀN TẢNG LÝ THUYẾT VÀ CÔNG NGHỆ - Đánh nhãn được 10 bộ dataset gồm: Trứng, gỗ, ống thép hình tròn, ống thép hình chữ nhật, bi, đồng xu, hộp iPhone, thùng giấy carton, bàn phím, bao gạo với khoảng 50 hình và 2000 bounding box mỗi loại - Thu thập hơn 5 bộ dataset có sẵn là: BCCD, Fruit, Ship on Earth, Grocey Store, Pill. - Train hơn 150 lần, và được chọn lọc được 9 model có kết quả tốt cho 9 bộ dataset đã đánh nhãn tương ứng. Bao gạo không đưa ra được model có kết quả chính xác.

- Kết quả có độ chính xác tương đối cao, hầu hết các object được phát hiện hết (ngoại trừ những trường hợp bị khuất quá nhiều) 2. Đánh giá - Ưu điểm: o Độ chính xác cao, nhận diện rất tốt, độ tin cậy cao o Thời gian predict trung bình tương đối thấp khoảng 5 đến 10 giây mỗi lần o Kích thước model nhỏ (148MB mỗi model) và có thể hoạt động trên server cấu hình bình thường o Thời gian train tương đối thấp, khoảng 3-4 giờ mỗi lần train (100 epoch và 250 step per epoch) - Nhược điểm: o Với những hình có độ phân giải cao phải mất hơn 1 phút để đưa ra kết quả o Với những hình có dung lượng cao (lớn hơn 10MB) có thể gây crash và sập server. o Nhận diện được những loại vật thể khác, dù không phải predict bằng model tương ứng 2. Nhận xét Hiện tại kết quả đạt được là rất tốt, nhóm cần phải tìm hiểu phương pháp để tối ưu hoá tốc độ predict, tăng thêm dữ liệu để có kết quả tốt hơn.

Ngôn ngữ phát triển Python là ngôn ngữ để phát triển server xuyên suốt quá trình thực hiện luận văn.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ