Đồ Án: Ứng Dụng Xử Lý Ảnh trong Hệ Thống Băng Truyền Phân Loại Sản Phẩm - Đại Học GTVT

Ứng dụng xử lý ảnh để phân loại sản phẩm tự động giúp tối ưu quy trình, tiết kiệm thời gian. Tìm hiểu cách công nghệ này hoạt động và lợi ích mang lại.

Chuyên ngành

Cơ Điện Tử

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2021

77
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

LIỆT KÊ HÌNH ẢNH

LIỆT KÊ BẢNG

1. CHƯƠNG 1: Đặt vấn đề

1.1. Mục tiêu

1.2. Nội dung nghiên cứu

1.3. Kết quả của đề tài

1.4. Giới hạn của đề tài

1.5. Ứng dụng thực tiễn của đề tài

2. TỔNG QUAN VỀ XỬ LÝ ẢNH

3. CƠ SỞ TOÁN HỌC TRONG XỬ LÝ ẢNH

3.1. Phép tích chập (convolution)

3.2. Tích chập theo chiều sâu (Depthwise Convolusion):

3.3. Tích chập theo từng điểm (Pointwise convolution)

3.4. Fully connected layer

3.5. Phát hiện vật thể (Detect object) sử dụng mô hình SSD (Single Shot Detector)

4. GIỚI THIỆU LAPTOP ĐỂ XỬ LÝ ẢNH

4.1. Thông tin cấu hình Laptop:

5. GIỚI THIỆU VỀ WEBCAM:

6. GIỚI THIỆU VỀ ARDUINO UNO R3

6.1. Thông tin cấu hình Arduino UNO R3

7. GIỚI THIỆU VỀ ĐỘNG CƠ DC

7.1. Cấu tạo và nguyên lý hoạt động

8. GIỚI THIỆU VỀ ĐỘNG CƠ SERVO MG996R

8.1. Tổng quan về động cơ servo. Giới thiệu động cơ servo MG996R

9. HỆ THỐNG BĂNG TẢI

9.1. Cấu tạo và thông số băng tải:

10. GIỚI THIỆU NGÔN NGỮ PYTHON

10.1. Giới thiệu ngôn ngữ Python

10.2. Đặt điểm nỗi bật của Python

11. GIỚI THIỆU VỀ CÁC CHUẨN GIAO TIẾP UART

11.1. Truyền thông UART. Ứng dụng của UART

12. GIỚI THIỆU VỀ PHẦN MỀM ARDUINO IDE

13. TÍNH TOÁN VÀ THIẾT KẾ

14. TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG

14.1. Thiết kế sơ đồ khối hệ thống:

14.2. Sơ đồ kết nối hệ thống

14.3. Sơ đồ kết nối toàn mạch

14.4. Tốc độ xử lý tối thiểu của hệ thống

15. THI CÔNG HỆ THỐNG

16. THI CÔNG HỆ THỐNG

16.1. Chuẩn bị phần cứng

16.2. Lắp ráp và kiểm tra

17. LẬP TRÌNH HỆ THỐNG

17.1. Lưu đồ giải thuật xử lý ảnh trên Laptop

17.2. Lưu đồ giải thuật trên arduino

17.3. Nạp code vào máy tính

17.4. Nạp code vào arduino

18. KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ

18.1. Nhận Xét Và Đánh Giá

19. KẾT LUẬN VÀ PHÁT TRIỂN

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

19.2. Những mặt hạn chế

19.3. HƯỚNG PHÁT TRIỂN

LIỆT KÊ HÌNH ẢNH

LIỆT KÊ BẢNG

Tóm tắt

I. Tổng Quan Về Ứng Dụng Xử Lý Ảnh Phân Loại Sản Phẩm

Xã hội ngày càng phát triển, công nghiệp hóa, hiện đại hóa được nâng cao. Ứng dụng khoa học kỹ thuật ngày càng rộng rãi trong các lĩnh vực kinh tế, kỹ thuật và đời sống. Trong công nghiệp hóa, hiện đại hóa, thiết bị hiện đại được sử dụng để điều khiển tự động các quá trình sản xuất, gia công và chế biến sản phẩm. Điều này dẫn đến việc hình thành các hệ thống sản xuất linh hoạt, tự động hóa ở mức độ cao trên cơ sở sử dụng các máy CNC, robot công nghiệp. Hệ thống phân loại sản phẩm là một khâu quan trọng ảnh hưởng đến chất lượng sản phẩm. Nó có nhiệm vụ chia sản phẩm ra các nhóm có cùng thuộc tính để thực hiện đóng gói hay loại bỏ sản phẩm hỏng. Hiện nay, người ta thường sử dụng các loại cảm biến với các chức năng khác nhau để phân loại sản phẩm theo màu sắc, hình dáng,... Những cảm biến này có ưu điểm chung là quá trình lắp đặt và vận hành tương đối đơn giản nhưng lại dễ gây nhiễu. Đề tài "Ứng dụng xử lý ảnh trong hệ thống băng truyền phân loại sản phẩm" ra đời nhằm giải quyết vấn đề này, dựa trên nền tảng kiến thức về điện tử và công nghệ xử lý ảnh.

Mục tiêu của đề tài là phân loại sản phẩm theo đặc tính hình ảnh. Ngôn ngữ Python được sử dụng để xử lý thông qua máy tính và kit Arduino Uno R3. Đề tài tập trung vào các nội dung chính sau: cơ sở lý thuyết về xử lý ảnh, tính toán và thiết kế hệ thống, thi công hệ thống và kết luận, phát triển. Kết quả của đề tài là xây dựng thành công hệ thống băng truyền phân loại sản phẩm áp dụng kỹ thuật xử lý ảnh. Đề tài này là cơ sở quan trọng để các giảng viên có điều kiện giới thiệu một cách trực quan nhất cho sinh viên nghiên cứu, tìm hiểu về mô hình dây chuyền sản xuất trong thực tế được thực hiện một cách tự động hóa. Bên cạnh đó mô hình cũng đáp ứng được yêu cầu về đào tạo thực hành tại trường trong điều kiện thực tế chưa cho phép sinh viên được đi thực tế tại cơ sở sản xuất. Đề tài cũng là một tài liệu tham khảo hữu ích cho các bạn đồng nghiệp, các bạn sinh viên trong công việc cũng như trong quá trình học tập của mình.

Tuy nhiên, đề tài cũng có những giới hạn nhất định. Để ứng dụng kỹ thuật xử lý ảnh trên tốc độ băng tải thì độ chính xác phân loại sản phẩm chưa quá cao. Còn có thể bị nhầm lẫn bởi các vật thể có gần giống đặc tính sản phẩm. Cùng với Camera chụp ảnh không mong muốn ở điều kiện thiếu ánh sáng mà cần được che kín và chiếu thêm đèn led để tăng cường sáng. Đề tài chỉ xây dựng với mô hình nhỏ và gọn không làm thành dây chuyền sản xuất, sử dụng máy tính, Arduino, băng tải, động cơ Servo và hiển thị kết quả trên màn hình máy tính. Ứng dụng thực tiễn của đề tài rất lớn trong nhiều lĩnh vực như vận chuyển sản phẩm, đếm sản phẩm và phân loại sản phẩm. Với hệ thống tự động hóa này thì chúng ta có thể giảm thiểu nhân công đi kèm với giảm thiểu chi phí sản xuất.

1.1. Giới Thiệu Các Phương Pháp Xử Lý Ảnh Cơ Bản Nhất

Xử lý ảnh là một lĩnh vực khoa học và công nghệ mới mẻ, phát triển rất nhanh. Nó là kỹ thuật áp dụng trong việc tăng cường và xử lý các ảnh thu nhận từ các thiết bị như camera, webcam… Do đó, xử lý ảnh đã được ứng dụng và phát triển trong rất nhiều lĩnh vực quan trọng như: An ninh bảo mật (nhận diện khuôn mặt, vân tay,...), Quân sự (xử lý và nhận diện trang thiết bị,...), Giải trí (làm phim, trò chơi điện tử,...), Y tế (xử lý ảnh chụp X-quang, MRI,...), AI (nhận dạng và xử lý ảnh của robot,...). Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao chất lượng và phân tích ảnh. Ứng dụng đầu tiên được biết đến là nâng cao chất lượng ảnh báo được truyền từ Luân đôn đến New York từ những năm 1920. Sau đây, ta sẽ xét các bước cần thiết trong quá trình xử lý ảnh. Đầu tiên, ảnh tự nhiên từ thế giới bên ngoài được thu nhận qua các thiết bị thu (như Camera, máy chụp ảnh).

1.2. Tìm Hiểu Chi Tiết Về Hệ Màu RGB và Cách Chuyển Đổi

Ảnh có hai dạng chính: ảnh màu và ảnh xám. Ảnh màu sử dụng hệ màu RGB, trong đó mỗi pixel được biểu diễn bằng 3 giá trị (r, g, b) cho các màu đỏ, xanh lá cây và xanh lam. Mỗi giá trị này nằm trong khoảng [0, 255]. Tổng số màu có thể tạo ra là 256 * 256 * 256 = 16777216 màu. Ảnh màu được biểu diễn dưới dạng tensor bậc 3. Ảnh xám chỉ cần một giá trị nguyên trong khoảng [0, 255] để biểu diễn mỗi pixel. Giá trị 0 là màu đen, 255 là màu trắng. Khi chuyển từ ảnh màu sang ảnh xám, ta có thể dùng công thức x = r * 0. Tuy nhiên, khi chuyển ngược lại, vì chỉ biết giá trị x và cần đi tìm r,g,b nên sẽ không chính xác. Hiểu rõ về hệ màu và cách chuyển đổi giúp cho việc xử lý ảnh trở nên hiệu quả hơn.

II. Bí Quyết Ứng Dụng Phép Tích Chập Xử Lý Ảnh Sản Phẩm

Convolution (Tích chập) là kỹ thuật quan trọng trong xử lý ảnh, được sử dụng trong các phép toán trên ảnh như: đạo hàm ảnh, làm trơn ảnh, trích xuất biên cạnh trong ảnh. Về mặt toán học, tích chập là phép toán tuyến tính, cho ra kết quả là một hàm bằng việc tính toán dựa trên hai hàm đã có (f và g). Ví dụ: đối với phép lọc ảnh, phép tích chập giữa ma trận lọc và ảnh, cho ra kết quả ảnh đã được xoá nhiễu (làm mờ). Thành phần không thể thiếu của phép tích chập là ma trận kernel (bộ lọc). Điểm neo (anchor point) của kernel sẽ quyết định vùng ma trận tương ứng trên ảnh để tích chập, thông thường anchor point được chọn là tâm của kernel. Giá trị mỗi phần tử trên kernel được xem như là hệ số tổ hợp với lần lượt từng giá trị độ xám của điểm ảnh trong vùng tương ứng với kernel. Ta có thể tính toán trước ma trận kernel để "giảm độ phức tạp tính toán". Đối với ảnh màu (mảng 3 chiều), ảnh màu có tới 3 channels red, green, blue nên khi biểu diễn ảnh dưới dạng tensor 3 chiều. Nên ta cũng sẽ định nghĩa kernel là 1 tensor 3 chiều kích thước kk3.

2.1. Phân Tích Chi Tiết Về Depthwise và Pointwise Convolution

Depthwise Convolution chia features map đầu vào thành các group có số channel cố định bằng 1. Ví dụ ảnh dưới đây, theo conv truyền thống ta có đầu vào có kích thước 7 x 7 x3 nhân với một kernel có kích thước 3 x 3 x 3 sẽ cho output có kích thước 5 x 5 x 3. Depthwise Convolution sẽ chia kernel ra thành 3 kernel nhỏ có kích thước 3 x 3 x1 và nhân tích chập từng kernel nhỏ này tương ứng với 3 group, mỗi group nhỏ có kích thước 7 x 7 x 1 cho ra 3 output có kích thước 5 x 5 x 1. Bạn có thể thấy khi chúng ta chồng ba output đó lên nhau ta sẽ thu được output có kích thước 5 x 5 x 3, giống y hệt cách truyền thống nhưng chúng ta có thể biểu diễn tốt hơn vì sử dụng 3 kernel riêng biệt đồng thời số lượng tham số trong filtes cũng giảm đáng kể. Pointwise convolution hay có cách gọi khác là 1x1 convolution. Khi xây dựng một một mô hình học sâu, một vấn đề chúng ta gặp phải đó là số lượng channel của các features map tăng theo chiều sâu của mạng, điều đó dẫn tới số lượng tham số quá lớn nên dễ overfitting hay độ phức tạp tính toán tăng lên.

2.2. Ứng Dụng Pooling Layer và Fully Connected Layer Hiệu Quả

Pooling layer thường được dùng giữa các convolutional layer, để giảm kích thước dữ liệu nhưng vẫn giữ được các thuộc tính quan trọng. Kích thước dữ liệu giảm giúp giảm việc tính toán trong model. Có 2 loại pooling layer phổ biến là: max pooling và average pooling. Sau khi ảnh được truyền qua nhiều convolutional layer và pooling layer thì model đã học được tương đối các đặc điểm của ảnh (ví dụ mắt, mũi, khung mặt,...) thì tensor của output của layer cuối cùng, kích thước HWD, sẽ được chuyển về 1 vector kích thước (HWD).

III. Phương Pháp Ứng Dụng Mạng MobileNet Trong Phân Loại Ảnh

Mạng MobieNet là model deep learning áp dụng các phương pháp toán học trong xử lý hình ảnh nhằm chiết xuất đặc điểm của vật thể (feature map). Áp dụng cho bài toán phân loại hình ảnh (clasfication image). Chúng ta thấy rằng mô hình có 30 lớp với các đặc điểm sau: +Lớp 1: Convolution layer với stride bằng 2. +Lớp 2: Depthwise layer. +Lớp 3: Pointwise layer. +Lớp 4: Depthwise layer với stride bằng 2 (Khác với bước 2, dw lớp 2 có stride size bằng 1). +Lớp 5: Pointwise layer. +Lớp 6: Softmax, dùng để phân lớp. Ưu Điểm: Có số lượng tham số tính toán nhỏ hơn 3-10 với các mạng khác (GoogleNet, CGG16, …) nhưng độ chính xác vẫn đảm bảo (≈70%). Đảm bảo hoạt động trên các thiết bị hạn chế về tài nguyên (máy tính cấu hình yếu,điện thoại, raspberry pi,…).

3.1. Tìm Hiểu Về Cấu Trúc Và Ưu Điểm Của Mạng MobileNet

Mạng MobileNet là một kiến trúc mạng nơ-ron tích chập (CNN) được thiết kế đặc biệt để triển khai trên các thiết bị di động và nhúng với tài nguyên hạn chế. Điểm nổi bật của MobileNet là việc sử dụng các lớp tích chập sâu (depthwise separable convolutions) thay vì các lớp tích chập tiêu chuẩn. Điều này giúp giảm đáng kể số lượng tham số và phép tính cần thiết, làm cho mô hình trở nên nhẹ nhàng hơn và hoạt động nhanh hơn. MobileNet thường được sử dụng cho các tác vụ như phân loại ảnh, phát hiện đối tượng và phân đoạn ảnh.

3.2. Hướng Dẫn Tối Ưu Hóa Mạng MobileNet Để Phân Loại Sản Phẩm

Để tối ưu hóa mạng MobileNet cho việc phân loại sản phẩm, cần thực hiện một số bước quan trọng. Đầu tiên, thu thập một bộ dữ liệu lớn và đa dạng về các sản phẩm cần phân loại. Sau đó, tiền xử lý dữ liệu để đảm bảo chất lượng và tính nhất quán. Tiếp theo, tinh chỉnh (fine-tune) mạng MobileNet đã được huấn luyện trước (pretrained) trên bộ dữ liệu ImageNet để phù hợp với bộ dữ liệu sản phẩm của bạn. Cuối cùng, đánh giá hiệu suất của mô hình trên một tập kiểm tra độc lập và điều chỉnh các siêu tham số (hyperparameters) để đạt được kết quả tốt nhất.

IV. Cách Dùng Mô Hình SSD Phát Hiện Vật Thể Trong Ảnh Sản Phẩm

SSD được thiết kế để phát hiện đối tượng trong tổng thể hình ảnh. Mô hình SSD được chia thành 2 giai đoạn. Giai đoạn 1: mô hình SSD sử dụng mạng cơ sở MobileNet để trích xuất feature map (cũng có thể sử dụng googleNet, VGG16…). Đầu vào: image kích thước (300 * 300). Sau đó sử dụng MobileNet làm mạng cơ sở để trích xuất feature map. Sau khi tạo ra feature map thì mỗi pixel của feature map sẽ tạo ra 4 dự đoán đối tượng nghĩa là trong 1 bức ảnh 300300=90000 pixel sẽ có 900004 dự đoán với mỗi dự đoán bao gồm: Bouding box: 1 hình chữ nhật chứa vật thể (cx, cy, w, h) tương ứng (tâm x, tâm y, độ rộng, chiều cao) của bouding box. Class ID: chỉ vật thể. Score: là xác suất thể hiện cho khả năng trong bbx là đối tượng thuộc class đó. Giai đoạn 2: Sử dụng trình dự đoán tích chập (Convolution preditors) cho phát hiện đối tượng: Sau khi trích xuất feature maps dựa vào kiến trúc của mạng cơ sở (base network), mô hình SSD sẽ tiếp tục tính toán cả hai giá trị: đối với từng location và score cho các class bằng việc sử dụng các bộ lọc tích chập nhỏ. Sau khi trích xuất feature maps, SSD sử dụng một kernel 3 × 3 trên mỗi ô để tạo ra dự đoán. Mỗi đầu ra của bộ lọc là số channels = scores đối với mỗi lớp + 1.

4.1. Tìm Hiểu Sâu Về Kiến Trúc và Giai Đoạn Hoạt Động Của SSD

SSD (Single Shot Detector) là một mô hình phát hiện đối tượng thời gian thực được thiết kế để đạt được sự cân bằng giữa tốc độ và độ chính xác. SSD hoạt động bằng cách dự đoán ranh giới (bounding boxes) và nhãn lớp (class labels) của các đối tượng trong ảnh chỉ trong một lần chuyển tiếp (single shot). Kiến trúc của SSD bao gồm một mạng cơ sở (base network) như VGG hoặc ResNet để trích xuất các đặc trưng (features) từ ảnh, và một số lớp tích chập bổ sung (convolutional layers) để dự đoán ranh giới và nhãn lớp ở các tỷ lệ khác nhau. Giai đoạn hoạt động của SSD bao gồm việc trích xuất đặc trưng, dự đoán ranh giới và nhãn lớp, và lọc các dự đoán không chính xác bằng cách sử dụng kỹ thuật non-maximum suppression (NMS).

4.2. Ứng Dụng SSD Để Tự Động Gắn Nhãn Sản Phẩm Bằng AI

SSD có thể được ứng dụng để tự động gắn nhãn sản phẩm bằng AI bằng cách huấn luyện mô hình trên một bộ dữ liệu lớn về các sản phẩm đã được gắn nhãn trước. Sau khi huấn luyện, mô hình có thể dự đoán ranh giới và nhãn lớp của các sản phẩm trong ảnh mới một cách tự động. Quá trình này giúp giảm thiểu thời gian và công sức cần thiết để gắn nhãn sản phẩm thủ công, và cho phép tạo ra các bộ dữ liệu lớn hơn và chính xác hơn cho các ứng dụng AI khác.

V. Hướng Dẫn Thiết Kế Hệ Thống Phần Cứng Phân Loại Sản Phẩm

Để xây dựng hệ thống phần cứng phân loại sản phẩm, cần có các thành phần sau: Laptop, Webcam, Arduino Uno R3, Động cơ DC, Động cơ Servo. Laptop chạy hệ điều hành Window với dòng chip Intel có thể thực hiện nhiều phép toán trên giây, tốc độ xử lý ảnh cao. Webcam có thể được sử dụng để quay video độ nét cao, cũng như chụp hình ảnh tĩnh. Arduino Arduino UNO R3 là một board mạch vi xử lý tích hợp, nhằm xây dựng các ứng dụng tương tác với nhau hoặc với môi trường được thuận lợi hơn. Động cơ một chiều DC là Động cơ điều khiển bằng dòng điện có hướng xác định. Động cơ servo là một loại máy móc chuyên dùng để cung cấp cơ năng cho một thiết bị, dây chuyền hay cơ cấu trong quá trình sản xuất và chế tạo. Băng tải (băng chuyền) là một máy cơ khí dùng để vận chuyển các đồ vật từ điểm này sang điểm khác, từ vị trí A sang vị trí B.

5.1. Chi Tiết Về Cách Kết Nối Webcam và Arduino Uno R3

Webcam kết nối với Laptop qua cổng USB. Sau đó, Laptop sẽ xử lý ảnh từ Webcam bằng ngôn ngữ Python và gửi tín hiệu điều khiển đến Arduino Uno R3 thông qua cổng USB. Arduino Uno R3 nhận tín hiệu từ Laptop và điều khiển các động cơ Servo để thực hiện việc phân loại sản phẩm. Cần đảm bảo kết nối ổn định và đúng cách để hệ thống hoạt động trơn tru.

5.2. Lựa Chọn và Cấu Hình Động Cơ DC và Servo Phù Hợp Nhất

Lựa chọn động cơ DC và Servo phù hợp là yếu tố quan trọng để hệ thống hoạt động hiệu quả. Động cơ DC cần có đủ công suất để kéo băng tải. Động cơ Servo cần có độ chính xác cao để thực hiện việc phân loại sản phẩm một cách chính xác. Cần cấu hình các thông số như tốc độ, góc quay của động cơ để phù hợp với yêu cầu của hệ thống.

VI. Kết Luận Và Hướng Phát Triển Của Ứng Dụng Xử Lý Ảnh

Đề tài "Ứng dụng xử lý ảnh trong hệ thống băng truyền phân loại sản phẩm" đã xây dựng thành công hệ thống phân loại sản phẩm theo đặc tính hình ảnh, sử dụng ngôn ngữ Python, kit Arduino Uno R3. Đề tài có nhiều ứng dụng quan trọng trong nhiều lĩnh vực như vận chuyển sản phẩm, đếm sản phẩm và phân loại sản phẩm. Tuy nhiên, đề tài cũng có những giới hạn nhất định về độ chính xác và điều kiện ánh sáng. Trong tương lai, có thể phát triển đề tài theo hướng tăng độ chính xác phân loại sản phẩm, ứng dụng AI để tự động gắn nhãn sản phẩm, và tích hợp hệ thống với các dây chuyền sản xuất lớn hơn.

6.1. Tổng Kết Những Kết Quả Đạt Được Và Hạn Chế Của Đề Tài

Đề tài đã đạt được những kết quả đáng khích lệ trong việc ứng dụng xử lý ảnh vào hệ thống băng truyền phân loại sản phẩm. Tuy nhiên, vẫn còn một số hạn chế cần khắc phục trong tương lai. Độ chính xác của hệ thống vẫn chưa đạt mức tối ưu và còn phụ thuộc vào điều kiện ánh sáng. Hệ thống hiện tại chỉ hoạt động với mô hình nhỏ và gọn, chưa thể tích hợp vào các dây chuyền sản xuất lớn hơn.

6.2. Những Hướng Nghiên Cứu Và Phát Triển Tiềm Năng Trong Tương Lai

Trong tương lai, có thể phát triển đề tài theo nhiều hướng khác nhau. Tăng độ chính xác phân loại sản phẩm bằng cách sử dụng các thuật toán AI tiên tiến hơn. Ứng dụng tự động gắn nhãn sản phẩm bằng AI để giảm thiểu thời gian và công sức. Tích hợp hệ thống với các dây chuyền sản xuất lớn hơn để tăng hiệu quả sản xuất. Nghiên cứu và phát triển các ứng dụng mới của hệ thống trong các lĩnh vực khác nhau.

22/09/2025

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

CHƯƠNG 1: Cơ sở lý thuyết CHƯƠNG 2: Tính toán và thiết kế CHƯƠNG 3: Thi công hệ thống 1 KẾT LUẬN VÀ PHÁT TRIỂN 1. Kết quả của đề tài Xây dựng thành công hệ thống băng truyền phân loại sản phẩm áp dụng kỹ thuật xử lý ảnh. Đề tài sẽ là cơ sở quan trọng để các giảng viên có điều kiện giới thiệu một cách trực quan nhất cho sinh viên nghiên cứu, tìm hiểu về mô hình dây chuyền sản xuất trong thực tế được thực hiện một cách tự động hóa. Bên cạnh đó mô hình cũng đáp ứng được yêu cầu về đào tạo thực hành tại trường trong điều kiện thực tế chưa cho phép sinh viên được đi thực tế tại cơ sở sản xuất.Đề tài cũng là một tài liệu tham khảo hữu ích cho các bạn đồng nghiệp, các bạn sinh viên trong công việc cũng như trong quá trình học tập của mình.

Giới hạn của đề tài Hệ thống băng truyền phân loại sản phẩm ứng dụng kỹ thật xử lý ảnh là một đề tài còn khá mới mẻ. Nên trong phạm vi một đề tài nghiên cứu, với những giới hạn về kiến thức, thời gian và kinh phí đề tài giới hạn bởi: - Để ứng dụng kỹ thuật xử lý ảnh trên tốc độ băng tải thì độ chính xác phân loại sản phẩm chưa quá cao. Còn có thể bị nhầm lẫn bởi các vật thể có gần giống đặc tính sản phẩm - Cùng với Camera chụp ảnh không mong muốn ở điều kiện thiếu ánh sáng mà cần được che kín và chiếu thêm đèn led để tăng cường sáng. - Đề tài chỉ xây dựng với mô hình nhỏ và gọn không làm thành dây chuyền sản xuất,sử dụng máy tính, Arduino, băng tải, động cơ Servo và hiển thị kết quả trên màn hình máy tính.

Ứng dụng thực tiễn của đề tài - Đề tài mà em thiết kế có nhiều ứng dụng quan trọng trong nhiều lĩnh vực như vận chuyển sản phẩm, đếm sản phẩm và phân loại sản phẩm. Với hệ thống tự động hóa này thì chúng ta có thể giảm thiểu nhân công đi kèm với giảm thiểu chi phí sản xuất. - Ngày nay khi khoa học công nghệ kỹ thuật phát triển thì tự động hóa đã và đang góp phần rất lớn vào quá trình sản xuất thay thế sức lao động của con người. TỔNG QUAN VỀ XỬ LÝ ẢNH - Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ.

Nó là một ngành khoa học mới mẻ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó rất nhanh, kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên dụng riêng cho nó. - Xử lý ảnh là kỹ thuật áp dụng trong việc tăng cường và xử lý các ảnh thu nhận từ các thiết bị như camera, webcam… Do đó, xử lý ảnh đã được ứng dụng và phát triển trong rất nhiều lĩnh vực quan trọng như:  Trong lĩnh vực an ninh bảo mật: Nhận diện khuôn mặt người, nhận diện vân tay, mẫu mắt, hình ảnh người và các thiết bị khác.  Trong lĩnh vực quân sự: Xử lý và nhận diện các trang thiết bị quân sự, phục vụ trinh thám, giám sát các mục tiêu quan trọng.  Trong lĩnh vực giải trí: Phục vụ quá trình làm phim và tạo ra các trò chơi điện tử, xử lý đồ họa.

 Trong lĩnh vực y tế: Xử lý ảnh chụp X-quang, MRI, xử lý ảnh y sinh,…  Trong lĩnh vực AI: nhận dạng và xử lý ảnh của robot, giao tiếp giữa robot với con người, xử lý đồ họa. - Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao chất lượng và phân tích ảnh. Ứng dụng đầu tiên được biết đến là nâng cao chất lượng ảnh báo được truyền từ Luân đôn đến New York từ những năm 1920. Vấn đề nâng cao chất lượng ảnh có liên quan tới phân bố mức sáng và độ phân giải của ảnh.

Việc nâng cao chất lượng ảnh được phát triển vào khoảng những năm 1955. Điều này có thể giải thích được vì sau thế chiến thứ hai, máy tính phát triển nhanh tạo điều kiện cho quá trình xử lý ảnh số được thuận lợi hơn. Năm 1964, máy tính đã có khả năng xử lý và nâng cao chất lượng ảnh từ mặt trăng và vệ tinh Ranger 7 của Mỹ bao gồm: làm nổi đường biên, lưu ảnh. Từ năm 1964 đến nay, các phương tiện xử lý, nâng cao chất lượng, nhận dạng ảnh phát triển không ngừng.

Các phương pháp tri thức nhân tạo như mạng nơ-ron nhân tạo, các thuật toán xử lý hiện đại và cải tiến, các công cụ nén ảnh ngày càng được áp dụng rộng rãi và thu được nhiều kết quả khả quan hơn. - Sau đây, ta sẽ xét các bước cần thiết trong quá trình xử lý ảnh. Đầu tiên, ảnh tự nhiên từ thế giới bên ngoài được thu nhận qua các thiết bị thu (như Camera, máy chụp ảnh). Trước đây, ảnh thu qua Camera là các ảnh tương tự (loại Camera ống kiểu CCIR).

Gần đây với sự phát triển của công nghệ, ảnh màu hoặc đen trắng được lấy ra từ Camera, 3 sau đó nó được chuyển trực tiếp thành ảnh số tạo thuận lợi cho xử lý tiếp theo. Mặt khác ảnh có thể được quét từ vệ tinh chụp trực tiếp bằng máy quét ảnh. Ảnh trong máy tính a. Ảnh màu Hệ màu RGB - RGB viết tắt của red (đỏ), green (xanh lục), blue (xanh lam), là ba màu chính của ánh sáng khi tách ra từ lăng kính.

Khi trộn ba màu trên theo tỉ lệ nhất định có thể tạo thành các màu khác nhau. 1: Mô tả không gian màu RGB - Thêm đỏ vào xanh lá cây tạo ra vàng; thêm vàng vào xanh lam tạo ra trắng. - Với mỗi bộ 3 số r, g, b nguyên trong khoảng [0, 255] sẽ cho ra một màu khác nhau. Do có 256 cách chọn r, 256 cách chọn màu g, 256 cách chọn b.

=> Tổng số màu có thể tạo ra bằng hệ màu RGB là: 256 * 256 * 256 = 16777216 màu. - Để tiện lưu trữ và xử lý không thể lưu trong 1 ma trận như thế kia mà sẽ tách mỗi giá trị trong mỗi pixel ra một mảng riêng tạo thành mảng 3 chiều (tensor) 𝒓𝟏,𝟏 𝒓𝟏,𝟐 … 𝒓𝟏,𝟖𝟎𝟎 𝒈𝟏,𝟏 𝒈𝟏,𝟐 … 𝒈𝟏,𝟖𝟎𝟎 𝒓 𝒓𝟐,𝟐 … 𝒓𝟐,𝟖𝟎𝟎 𝒈𝟐,𝟏 𝒈𝟐,𝟐 … 𝒈𝟐,𝟖𝟎𝟎 [ 𝟐,𝟏 … … ] , [ … … ], … … … … 𝒓𝟔𝟎𝟎,𝟏 𝒓𝟔𝟎𝟎,𝟐 … 𝒓𝟔𝟎𝟎,𝟖𝟎𝟎 𝒈𝟔𝟎𝟎,𝟏 𝒈𝟔𝟎𝟎,𝟐 … 𝒈𝟔𝟎𝟎,𝟖𝟎𝟎 4 𝒃𝟏,𝟏 𝒃𝟏,𝟐 … 𝒃𝟏,𝟖𝟎𝟎 𝒃𝟐,𝟏 𝒃𝟐,𝟐 … 𝒃𝟐,𝟖𝟎𝟎 … … … … [𝒃𝟔𝟎𝟎,𝟏 𝒃𝟔𝟎𝟎,𝟐 … 𝒃𝟔𝟎𝟎,𝟖𝟎𝟎 ] Hình 1. 2: Bức ảnh có chiều rộng 600 pixel, cao 800 pixel - Bức ảnh được có thể biểu diễn dưới dạng ma trận 600 * 800. 3: Ảnh màu là tensor bậc 3 b.

4: Ảnh xám 6 - Tương tự ảnh màu, ảnh xám cũng có kích thước 800 pixel * 600 pixel, có thể biểu diễn dưới dạng một ma trận kích thước 600 * 800 (định nghĩa là số hàng nhân số cột). - Tuy nhiên mỗi pixel trong ảnh xám chỉ cần biểu diễn bằng một giá trị nguyên trong khoảng từ [0,255] thay vì (r,g,b) như trong ảnh màu. Do đó khi biểu diễn ảnh xám trong máy tính chỉ cần một ma trận là đủ. 𝒘𝟏,𝟏 𝒘𝟏,𝟐 … 𝒘𝟏,𝟖𝟎𝟎 𝒘 𝒘𝟐,𝟐 … 𝒘𝟐,𝟖𝟎𝟎 [ 𝟐,𝟏 … … ] … … 𝒘𝟔𝟎𝟎,𝟏 𝒘𝟔𝟎𝟎,𝟐 … 𝒘𝟔𝟎𝟎,𝟖𝟎𝟎 - Giá trị 0 là màu đen, 255 là màu trắng và giá trị pixel càng gần 0 thì càng tối và càng gần 255 thì càng sáng.

Chuyển hệ màu của ảnh - Mỗi pixel trong ảnh màu được biểu diễn bằng 3 giá trị (r,g,b) còn trong ảnh xám chỉ cần 1 giá trị x để biểu diễn. Khi chuyển từ ảnh màu sang ảnh xám ta có thể dùng công thức: x = r * 0. - Tuy nhiên khi chuyển ngược lại, vì chỉ biết giá trị x và cần đi tìm r,g,b nên sẽ không chính xác. CƠ SỞ TOÁN HỌC TRONG XỬ LÝ ẢNH 3.

Phép tích chập (convolution) - Convolution là kỹ thuật quan trọng trong Xử Lý Ảnh, được sử dụng chính yếu trong các phép toán trên ảnh như: đạo hàm ảnh, làm trơn ảnh, trích xuất biên cạnh trong ảnh. Có thể thực hiện nó trong ngôn ngữ C++ có hỗ trợ của thư viện openCV. *Định Nghĩa: - Theo toán học, tích chập là phép toán tuyến tính, cho ra kết quả là một hàm bằng việc tính toán dựa trên hai hàm đã có (f và g). Ví dụ: đối với phép lọc ảnh, phép tích chập giữa ma trận lọc và ảnh, cho ra kết quả ảnh đã được xoá nhiễu (làm mờ).

Công thức tích chập giữa hàm ảnh f(x, y) và bộ lọc k(x, y) (kích thước mxn): 7 - Thành phần không thể thiếu của phép tích chập là ma trận kernel (bộ lọc). Điểm neo (anchor point) của kernel sẽ quyết định vùng ma trận tương ứng trên ảnh để tích chập, thông thường anchor point được chọn là tâm của kernel. Giá trị mỗi phần tử trên kernel được xem như là hệ số tổ hợp với lần lượt từng giá trị độ xám của điểm ảnh trong vùng tương ứng với kernel. - Phép tích chập được hình dung thực hiện bằng việc dịch chuyển ma trận kernel lần lượt qua tất cả các điểm ảnh trong ảnh, bắt đầu từ góc bên trái trên của ảnh.

Và đặt anchor point tương ứng tại điểm ảnh đang xét. Ở mỗi lần dịch chuyển, thực hiện tính toán kết quả mới cho điểm ảnh đang xét bằng công thức tích chập. *Định nghĩa: Tích chập được định nghĩa là 1 phép toán trên không gian khả tích của các hàm tuyến tính, cho nên nó có tính chất giao hoán, kết hợp và phân phối. Ta có thể tính toán trước ma trận kernel để "giảm độ phức tạp tính toán" k = v * h do kích thước ma trận kernel hầu như rất nhỏ so với ảnh.

Lúc này, thay vì thực hiện tích chập theo thứ tự r = (f * g) * h, ta thực hiện r r = f * (v * h) = f * k. Phép tích chập đối với ảnh màu (mảng 2 chiều) - Lấy ví dụ trên ảnh xám, tức là ảnh được biểu diễn dưới dạng ma trận A kích thước m*n. - Ta định nghĩa kernel là một ma trận vuông kích thước k*k trong đó k là số lẻ. Ví dụ kernel kích thước 3*3 1 0 1 𝑊 = [0 1 0 ] 1 0 1 Kí hiệu phép tính convolution (⊗), kí hiệuY = X⊗W - Với mỗi phần tử xij trong ma trận X lấy ra một ma trận có kích thước bằng kích thước của kernel W có phần tử xij làm trung tâm (đây là vì sao kích thước của kernel thường lẻ) gọi là ma trận A.

Sau đó tính tổng các phần tử của phép tính element-wise của ma trận A và ma trận W, rồi viết vào ma trận kết quả Y.

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