ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN – ĐIỆN TỬ
ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌC
NGÀNH: CƠNG NGHỆ KỸ THUẬT ĐIỀU KHIỂN VÀ
TỰ ĐỘNG HỐ
ĐỀ TÀI:
ỨNG DỤNG XỬ LÝ ẢNH ĐỂ PHÂN LOẠI SẢN
PHẨM THEO HÌNH DẠNG, ĐIỀU KHIỂN VÀ
GIÁM SÁT QUA WINCC
Người hướng dẫn : ThS. Phan Thị Thanh Vân
Sinh viên thực hiện : Bùi Anh Dũng
Phạm Lê Bảo Hồng
Mã sinh viên
: 1811505520113
1811505520217
Lớp
: 18TDH1
18TDH2
Đà Nẵng, tháng 6/2022
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN – ĐIỆN TỬ
ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌC
NGÀNH: CƠNG NGHỆ KỸ THUẬT ĐIỀU KHIỂN VÀ
TỰ ĐỘNG HỐ
ĐỀ TÀI:
ỨNG DỤNG XỬ LÝ ẢNH ĐỂ PHÂN LOẠI SẢN
PHẨM THEO HÌNH DẠNG, ĐIỀU KHIỂN VÀ
GIÁM SÁT QUA WINCC
Người hướng dẫn : ThS. Phan Thị Thanh Vân
Sinh viên thực hiện : Bùi Anh Dũng
Phạm Lê Bảo Hồng
Mã sinh viên
: 1811505520113
1811505520217
Lớp
: 18TDH1
18TDH2
Đà Nẵng, tháng 6/2022
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
NHẬN XÉT CỦA NGƯỜI PHẢN BIỆN
TĨM TẮT ĐỒ ÁN
Tên đề tài: “ Ứng dụng xử lý ảnh để phân loại sản phẩm theo hình dạng, điều khiển
và giám sát qua WinCC”.
Sinh viên thực hiện:
Bùi Anh Dũng
Mã SV: 1811505520113
Phạm Lê Bảo Hồng
Mã SV: 1811505520217
Lớp: 18TDH1, 18TDH2
Nội dung:
Mơ hình xử lý ảnh để phân loại sản phẩm theo hình dạng, điều khiển và giám sát qua
WinCC sử dụng Kit Raspberry Pi 4B và PLC S7 – 1200. Ở đây nhóm đã sử dụng CPU
1214C DC/DC/DC, dịng CPU đời mới, hiện đã và đang được ứng dụng trong các nhà máy
lớn với chức năng điều khiển quy trình hoạt động lớn của một hệ thống sản xuất của một
nhà máy.
Đề tài nghiên cứu tập trung vào sử dụng ngơn ngữ lập trình Python để xử lý ảnh, tín
hiệu được gửi tới PLC S7 – 1200 thơng qua cổng Ethernet, quy trình điều khiển tuần tự mà
từ đó viết chương trình phân loại sản phẩm dựa theo hình dạng.
Báo cáo về đề tài gồm có 5 phần chính:
Chương 1: Tổng quan về hệ thống phân loại sản phẩm theo hình dạng.
Giới thiệu tổng quan về hệ thống phân loại sản phẩm theo hình dạng. Ngun lý
hoạt động của hệ thống. Các cơng nghệ sử dụng trong hệ thống : sử dụng Kit Raspberry
4B để xử lý ảnh, sử dụng PLC S7 – 1200 để phân loại sản phẩm. Đưa ra nhiều phương án
thiết kế, so sánh, đánh giá rồi chọn ra phương án thiết kế phù hợp nhất với đề tài.
Chương 2: Giới thiệu về Rapberry và ngơn ngữ lập trình Python.
Trình bày tổng quan về Raspberry, giới thiệu ngơn ngữ lập trình Python và thư viện
OpenCV. Tổng quan về xử lý ảnh và tiến hành xử lý ảnh.
Chương 3: Giới thiệu về PLC S71200 và phần mềm TIA Portal.
Trình bày tổng quan về PLC và giới thiệu PLC S7 – 1200, làm việc với phần mềm
Tia Portal V16. Phương pháp kết nối giữa PLC và WinCC, thiết kế giao diện WinCC.
Chương 4: Thiết kế và thi cơng mơ hình “Ứng dụng xử lý ảnh để phân loại sản phẩm
theo hình dạng, điều khiển và giám sát trên WinCC”.
Trình bày u cầu cơng nghệ của hệ thống. Sơ đồ khối. Lựa chọn thiết bị phù hợp
với đề tài. Sơ đồ bố trí hệ thống. Sơ đồ đấu nối của hệ thống.
Chương 5: Chương trình điều khiển và giám sát hệ thống.
Lập bảng phân cơng đầu vào/ra. Xây dựng lưu đồ thuật tốn. Vẽ giãn đồ thời gian.
Lập trình, điều khiển hệ thống. Phương pháp giao tiếp và truyền thơng giữa PLC và
Raspberry thơng qua thư viện Snap 7.
Kết luận và hướng phát triển
Tài liệu tham khảo
Phụ lục
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN – ĐIỆN TỬ
CỘNG HỊA XÃ HƠI CHỦ NGHĨA VIỆT NAM
Độc lập Tự do Hạnh phúc
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Giảng viên hướng dẫn: ThS. Phan Thị Thanh Vân
Sinh viên thực hiện: Bùi Anh Dũng
Phạm Lê Bảo Hồng
Mã SV: 1811505520113
Mã SV: 1811505520217
1. Tên đề tài:
“Ứng dụng xử lý ảnh để phân loại sản phẩm theo hình dạng, điều khiển và giám sát
trên WinCC”.
2. Các số liệu, tài liệu ban đầu:
PLC S71200, Raspberry Pi 4B, camera, động cơ, cảm biến, xi lanh…
Trần Văn Hiếu, “Tự Động Hóa PLC S7 – 1200 Với TIA Portal”, năm 2019, nhà xuất
bản khoa học kỹ thuật.
3. Nội dung chính của đồ án:
Chương 1: Tổng quan về hệ thống phân loại sản phẩm theo hình dạng.
Chương 2: Giới thiệu về Rapberry và ngơn ngữ lập trình Python.
Chương 3: Giới thiệu về PLC S71200 và phần mềm TIA Portal.
Chương 4: Thiết kế và thi cơng mơ hình “Ứng dụng xử lý ảnh để phân loại sản phẩm theo
hình dạng, điều khiển và giám sát trên WinCC”.
Chương 5: Chương trình điều khiển và giám sát hệ thống.
ĐÁNH GIÁ KẾT QUẢ THỰC HIỆN CỦA ĐỀ TÀI
HƯỚNG PHÁT TRIỂN ĐỀ TÀI
4. Các sản phẩm dự kiến
Mơ hình “Ứng dụng xử lý ảnh để phân loại sản phẩm theo hình dạng, điều khiển
và giám sát trên WinCC”.
Báo cáo thuyết minh đề tài.
Chương trình xử lý ảnh trên Python.
Chương trình điều khiển hệ thống trên TIA Portal.
5. Ngày giao đồ án: 21/02/2022
6. Ngày nộp đồ án: 30/05/2022
Trưởng Bộ mơn
Đà Nẵng, ngày 21 tháng 02 năm 2022
Người hướng dẫn
ThS. Phan Thị Thanh Vân
LỜI NĨI ĐẦU
Cơng nghiệp hóa – hiện đại hóa đất nước là một trong một trong những mục tiêu mà
nước ta hiện và đang chú trọng trong những năm vừa qua. Việc áp dụng những dây chuyền
sản xuất tự động ngày càng được áp dụng nhiều trong các nhà máy, xí nghiệp nhằm tăng
năng suất làm việc, tăng lợi nhuận đầu ra, giảm thời gian sản xuất… đáp ứng cầu của thị
trường, sự phát triển hàng ngày hàng giờ của kinh tế và cơng nghệ. Từ đó ngành kỹ thuật
điều khiển và tự động hóa ra đời và càng phát triển hơn, đáp ứng đủ nhu cầu và nguồn lực
cho cơng nghiệp thời đại mới cũng như sự phát triển của nước nhà.
Sau khoảng thời gian học tập và rèn luyện, được nhận những kiến thức chun
ngành của thầy và cơ khoa Điện – Điện tử, Trường ĐH Sư phạm Kỹ thuật – Đại học Đà
Nẵng, nhóm chúng em đã tiến hành thực hiện đồ án “Ứng dụng xử lý ảnh để phân loại
sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC”.
Đồ án ứng dụng những kiến thức được nhận trên trường lớp cùng với việc tìm hiểu
thơng qua Internet để giải quyết vấn đề đặt ra cũng như đánh giá cơ sở lý thuyết đến giải
quyết thực tiễn. Từ đó là cơ sở nền, vững chắc thêm kiến thức suốt 4 năm đại học.
Em xin chân thành cảm ơn ThS.Phan Thị Thanh Vân đã tận tình hướng dẫn và giúp
chúng em thực hiện đồ án này. Trong q trình thực hiện đồ án mặc dù đã cố gắng hết sức
nhưng vẫn sẽ khơng thể tránh thiếu sót, mong sự đóng góp ý của thầy/cơ.
8
LỜI CAM ĐOAN
Tên đề tài : “Ứng dụng xử lý ảnh để phân loại sản phẩm theo hình dạng, điều khiển và
giám sát qua WinCC.”
Sinh viên thực hiện:
Bùi Anh Dũng
Mã SV: 1811505520113
Phạm Lê Bảo Hồng
Mã SV: 1811505520217
Lớp: 18TDH1, 18TDH2
“Tơi xin cam đoan đồ án tốt nghiệp này là do chính chúng tơi nghiên cứu và thực hiện. Tơi
khơng sao chép từ bất kì một bài viết nào đã được cơng bố mà khơng trích dẫn nguồn gốc.
Nếu có bất kì một sự vi phạm nào, chúng tơi xin chịu hồn tồn trách nhiệm.”
Sinh viên thực hiện
Bùi Anh Dũng Phạm Lê Bảo Hồng
9
MỤC LỤC
10
DANH SÁCH BẢNG, HÌNH ẢNH
BẢNG 1. 1 Đặc điểm hình dạng sản phẩm
11
DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT
Đ
Đúng
S
Sai
PLC
Programmable Logic Control
I/O
Input/Output
LAD
Ladder Diagram
FBD
Function Block Diagram
STL
Instruction List
HMI
Human Machine Interface
Scada
Supervisory Control And Data Acquisition
AI
Analog Input
DI
Digital Input
ĐC
Động cơ
WinCC
Windows Control Center
CPU
Central Procecssing Unit
Power Supply
Nguồn cấp
Input voltage DI
Điện áp đầu vào
Output Voltage DOĐiện áp đầu ra
Working Memory
Bộ nhớ làm việc
Protocols
Các giao thức
Programming Language Ngơn ngữ lập trình
Class of Protection Lớp bảo vệ
12
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
MỞ ĐẦU
Trong thời đại mà các dây chuyền sản xuất, đóng gói và phân loại sản phẩm của các
nhà máy khơng chỉ ở nước ta mà trên tồn thế giới đang dần dần chuyển hồn tồn thành
dây chuyền tự động hóa. Mục đích nhằm tăng năng suất sản phẩm, rút ngắn thời gian
thành phẩm, có thể làm việc liên tục, giảm sức người và nhân cơng nhằm đem lại lợi
nhuận lớn hơn cho doanh nghiệp và nhà đầu tư.
Đồ án “Ứng dụng xử lý ảnh để phân loại sản phẩm theo hình dạng, điều khiển và
giám sát qua WinCC” thơng qua việc sử dụng Kit Raspbbery Pi 4B, PLC Siemens S7 – 1200
và WinCC giám sát cơng đoạn phân loại sản phẩm theo hình dạng của từng sản phẩm,
giúp kiểm sốt được những sản phẩm bị lỗi, phân loại sản phẩm theo hình dạng mong
muốn.
Đồ án gồm 5 chương chính:
Chương 1: Tổng quan về hệ thống phân loại sản phẩm theo hình dạng.
Chương 2: Giới thiệu về Rapberry và ngơn ngữ lập trình Python.
Chương 3: Giới thiệu về PLC S71200 và phần mềm TIA Portal.
Chương 4: Thiết kế và thi cơng mơ hình “Ứng dụng xử lý ảnh để phân loại sản phẩm
theo hình dạng, điều khiển và giám sát trên WinCC”.
Chương 5: Chương trình điều khiển và giám sát hệ thống.
ĐÁNH GIÁ KẾT QUẢ THỰC HIỆN CỦA ĐỀ TÀI
HƯỚNG PHÁT TRIỂN ĐỀ TÀI
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
TỔNG QUAN VỀ HỆ THỐNG PHÂN LOẠI SẢN PHẨM THEO HÌNH
DẠNG
a.
Tổng quan về hệ thống
Ngày nay, nước ta đang thực chính sách “Cơng nghiệp hố – hiện đại hố đất nước”.
Nền Cơng nghiệp đang hướng tới Cơng nghiệp 4.0, là sự kết hợp các cơng nghệ lại với
nhau, làm mờ ranh giới giữa vật lý, kỹ thuật số và sinh học. Với sự phát triển của cơng
nghệ kỹ thuật, các bộ điều khiển đang có ứng dụng rộng rãi trong các lĩnh vực khoa học
kỹ thuật và đời sống xã hội, đặc biệt là trong tự động hố và điều khiển. Từ đó mà việc
đưa tự động hóa vào sản xuất như diễn ra một điều tất yếu.
Việc tạo ra các sản phẩm tự động hố khơng những trong cơng nghiệp mà ngay cả
trong đời sống con người ngày càng được phổ biến. Phân loại sản phẩm là một bài tốn đã
và đang được ứng dụng rất nhiều trong thực tế hiện nay. Cơng việc này địi hỏi sự tập
trung cao và có tính lặp lại, nên các cơng nhân khó đảm bảo được sự chính xác trong
cơng việc. Chưa kể đến có những phân loại dựa trên các chi tiết kĩ thuật rất nhỏ mà mắt
thường khó có thể nhận ra. Điều đó sẽ ảnh hưởng trực tiếp tới chất lượng sản phẩm và
uy tín của nhà sản xuất. Vì vậy, hệ thống tự động nhận dạng và phân loại sản phẩm ra
đời là một sự phát triển tất yếu nhằm đáp ứng nhu cầu cấp bách này.
b.
Ngun lý hoạt động của hệ thống
Đề tài “Ứng dụng xử lý ảnh để phân loại sản phẩm theo hình dạng, điều khiển và
giám sát qua WinCC” là mơ hình phân loại sản phẩm theo hình dạng (hình trịn, hình vng,
hình tam giác và hình chữ nhật). Dựa trên ngơn ngữ Python với thư viện chính là OpenCV
và được thực hiện trên Kit Raspberry Pi 4B và PLC S7 1200. Tại đây sử dụng các đặc
điểm riêng biệt của từng hình dạng để đi nhận dạng rồi sau đó phân loại từng sản phẩm.
Hệ thống gồm camera, Raspberry, PLC. Camera sẽ chụp ảnh sản phẩm cần phân loại rồi
sau đó gửi đến Rasppberry để xử lí, sau khi xử lí được ảnh thì Rasppberry sẽ gửi đến PLC
để điều khiển và phân loại sản phẩm. Kết quả thực hiện của đề tài là nhận dạng được
những sản phẩm có hình dạng (hình trịn, hình vng, hình tam giác và hình chữ nhật) cùng
với việc đếm được sản phẩm theo hình dạng của từng sản phẩm, hiển thị trên màn hình.
c.
Các cơng nghệ sử dụng trong hệ thống
Phương pháp xử lý ảnh dùng phần mềm Matlab
Matlab là ngơn ngữ lập trình bậc cao dùng cho kỹ thuật. Đồng thời nó là mơi trường
tương tác có thể thực hiện nhiều nhiệm vụ, phát triển giải thiết, phân tích dữ liệu, tính
tốn các phép tính số học và hình ảnh hố số liệu. So với các ngơn ngữ lập trình truyền
thống như C, C++ hay Fortran thì Matlab có nhiều ưu điểm hơn do được tích hợp các hỗ
trợ rất mạnh.
Ưu điểm : Phần mềm dễ sử dụng
Nhược điểm :
+ Độ chính xác khơng cao
+ Việc truyền thơng, giao tiếp với các phần mềm rất khó
Phương pháp xử lý ảnh dùng phần mềm Labview
14
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
Labview là một phần mềm lập trình mơ phỏng robot được sáng chế ra với mục đích
hỗ trợ người dùng tạo ra các thiết bị ảo dựa trên nhu cầu cá nhân.
Ưu điểm :
+ Phần mềm dễ sử dụng nên được nhiều người sử dụng
+ Khả năng phát hiện hình dạng của chương trình LabView là cực kì nhanh
chóng. Có thể sử dụng các chứng năng mở rộng có sẵn trong Labview đê
tăng khả năng phân biệt nhiều sản phẩm
+ Kết quả xử lý ảnh với tỷ lệ sai lệch nhỏ và có độ chính xác cao
Nhược điểm : Khó khăn về kết hợp giữa phần mềm Labview với các phần mềm
khác
Trên đây là 2 phương pháp được sử dụng rất nhiều hiện nay. Tuy nhiên, trong một
hệ thống địi hỏi độ chính xác cao, việc giao tiếp và truyền thống với các thiết bị khác phải
đảm bảo tính ổn định và nhanh chóng. Trong các nhà máy, xí nghiệp hiện nay thì việc sử
dụng phương pháp xử lý ảnh thơng qua Raspberry kết hợp với PLC đang dần thay thế các
phương pháp khác. Do vậy, trong đề tài này sử dụng các cơng nghệ như sau:
Sử dụng Kit Raspberry Pi 4B thơng qua thư viện OpenCV để xử lý ảnh
Sử dụng PLC S7 – 1200 để phân loại sản phẩm
Sử dụng WinCC để giám sát q trình hoạt động và hiện thị số lượng lên màn
hình
d.
Phương pháp phân loại sản phẩm theo hình dạng
Với đề tài “Ứng dụng xử lý ảnh để phân loại sản phẩm theo hình dạng, điều khiển
và giám sát qua WinCC”. Ở phần này sẽ đi tìm hiểu chi tiết phương pháp nhận dạng của
từng sản phẩm và phân loại sản phẩm theo từng hình dạng đã được nhận dạng.
d.i.
Các hình dạng cơ bản của sản phẩm
Trong cuộc sống hiện nay, nhu cầu về kiểu dáng sản phẩm ngày càng được chứ
trọng, để đáp ứng nhu cầu thiết yếu đó nên trên thị trường ra nhiều sản phẩm có hình
dạng và kiểu dáng đa dạng. Ở đề tài này, để gần với thực tế, nhóm chọn sản phẩm có
hình dạng phổ biến. Chủ yếu là các hình dạng ở ngồi cuộc sống (hình trịn, hình vng,
hình tam giác và hình chữ nhật).
Đặc điểm cơ bản của sản phẩm có hình dạng phổ biến:
Đặc điểm nhận dạng hình chữ nhật: Có 4 đỉnh, 4 cạnh, 4 góc vng, 2 cạnh đối
diện đều bằng nhau khác với so với hình vng là 2 cạnh kề khơng bằng nhau,…
Đặc điểm nhận dạng hình vng : Có 4 đỉnh, 4 cạnh, 4 góc vng, 2 cạnh đối
diện đều bằng nhau, 2 cạnh kề bằng nhau,…
Đặc điểm nhận dạng hình trịn: Một hình trịn là một vùng trên mặt phẳng nằm
"bên trong" đường trịn. Bán kính tính từ tâm đến đường trịn. Đặc điểm nhận dạng: Bán
kính đều bằng nhau,…
Đặc điểm nhận dạng hình tam giác: có 3 đỉnh và 3 cạnh là hình tam giác,…
d.ii.
Phương pháp nhận dạng hình dạng
Phương pháp nhận dạng hình ảnh là giai đoạn quan trọng của hệ thống xử lý ảnh.
Nhận dạng là q trình phân loại các đối tượng được biểu diễn theo một mơ hình nào đó.
Ảnh được chụp sẽ được phân tích thành các đặc trưng riêng biệt, với những đặc trưng đó
ta đem đi nhận dạng.
15
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
Như đã đề cập ở trên thì các hình dạng của sản phẩm sẽ có các đặc điểm riêng biệt.
Tuy nhiên, thì vẫn có một số đặc điểm giống nhau, đặc điểm khác nhau, cùng với đó có
thêm một số đặc điểm bị dư thừa trong việc so sánh với các sản phẩm khác. Chính vì vậy,
ở đề tài này, ta cần chọn lọc ra từng đặc điểm riêng biệt của từng hình mà các hình khác
khơng có và loại bỏ các đặc điểm khơng cần thiết. Như vậy, để nhận dạng được hình
dạng của sản phẩm cần xác định các đặc điểm đặc trưng riêng biệt của từng hình dạng.
Ở đây chỉ có 4 hình dạng sản phẩm (hình chữ nhật, hình vng, hình trịn, hình tam giác)
cần phân loại, chính vì vậy sẽ có một số đặc điểm hình dạng khơng cần xét tới.
Sản phẩm hình chữ nhật
Hình chữ nhật là hình có 4 đỉnh, 4 cạnh, 4 góc vng, 2 cạnh đối diện bằng nhau,...
Từ đặc điểm đó ta đi so sánh với 3 hình cịn lại và phân tích thấy: Đặc điểm thứ nhất có 4
đỉnh, nhưng sản phẩm hình vng cũng có 4 đỉnh. Vì vậy ta có đặc điểm thứ hai để so sánh
sự khác biệt với hình vng, đó là 2 cạnh kề khơng bằng nhau với hình chữ nhật, với hình
vng thì chúng bằng nhau. Như vậy, đặc điểm nhận dạng sản phẩm hình chữ nhật, gồm
4 đỉnh và 2 cạnh kề khơng bằng nhau.
Hình 1. : Đặc điểm hình chữ nhật
Sản phẩm hình vng
Đặc điểm nhận dạng: Có 4 đỉnh, 4 cạnh, 4 góc vng, 2 cạnh đối diện đều bằng
nhau, 2 cạnh kề bằng nhau,… Từ đặc điểm đó ta đi so sánh với 3 hình cịn lại và phân tích
thấy: Đặc điểm thứ nhất có 4 đỉnh, nhưng sản phẩm hình chữ nhật cũng có 4 đỉnh như đã
đề cập ở trên. Chính vì vậy ta có đặc điểm thứ hai để so sánh sự khác biệt với hình chữ
nhật, đó là 2 cạnh bằng nhau. Như vậy, đặc điểm nhận dạng sản phẩm hình vng, gồm 4
đỉnh và 2 cạnh kề bằng nhau.
16
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
Hình 1. : Đặc điểm hình vng
Sản phẩm hình trịn
Đặc điểm nhận dạng: Bán kính đều bằng nhau,… Từ đặc điểm đó ta đi so sánh với 3
hình cịn lại và phân tích thấy: bán kính tính từ tâm đến đường trịn bên ngồi tất cả chúng
đều bằn nhau chính vì vậy đó là đặc điểm riêng biệt của hình trịn.
Hình 1. : Đặc điểm hình trịn
Sản phẩm hình tam giác
Đặc điểm nhận dạng: có 3 đỉnh và 3 cạnh là hình tam giác,… Từ đặc điểm đó ta đi
so sánh với 3 hình cịn lại và phân tích thấy: Chỉ có hình tam giác có 3 đỉnh, và đó chính là
đặc điểm đặc trưng riêng biệt của tam giác.
Hình 1. : Đặc điểm hình tam giác
17
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
Bảng 1. Đặc điểm hình dạng sản phẩm
Đặc điểm
Hình vng
Hình chữ nhật
Hình trịn
Hình tam giác
đỉnh
4 đỉnh
4 đỉnh
khơng
3 đỉnh
2 cạnh kề bằng
2 cạnh kề khơng
nhau
bằng nhau
khơng
3 cạnh
khơng
Khơng
bằng nhau
khơng
cạnh
bán kính
Như vậy ta có thể thấy, ta chỉ cần tìm ba đặc điểm chính: Đỉnh, cạnh và bán kính.
Trong đó đỉnh liên quan đến hình tam giác, hình chữ nhật và hình vng. Cạnh chỉ có hai
hình là hình vng và hình chữ nhật. Bán kính chỉ liên quan tới hình trịn.
d.iii.
Phương pháp tìm đặc điểm hình dạng để phân loại sản phẩm
Để phân loại sản phẩm ta cần có đặc điểm của hình dạng, từ đó ta đi so sánh để
phân loại sản phẩm theo hình dạng.
Đỉnh của hình dạng
Đầu tiên ta tìm số đỉnh của các hình. Có 3 hình dạng có đặc điểm liên quan tới đỉnh là
hình chữ nhật, hình vng và hình tam giác. Đặc điểm gồm:
Có 4 đỉnh là hình vng và hình trịn
Có 3 đỉnh là hình tam giác
Cạnh của hình dạng
Vấn đề về cạnh chỉ có 2 hình là liên quan tới chúng là: hình chữ nhật và hình vng.
Đặc điểm gồm:
Hai cạnh kề bằng nhau là hình vng
Hai cạnh kề khơng bằng nhau là hình chữ nhật
Bán kính của hình dạng
Bán kính là độ dài tính từ tâm tới điểm ngồi đường trịn, ở đây thì liên quan có duy
nhất một hình là hình trịn.
Có đặc điểm: bán kính bằng nhau.
Phương pháp tìm đỉnh
Hình 1. : Đỉnh của hình
Sử dụng thuật tốn RamerDouglasPeucker để tìm đường bao xấp xỉ, từ đường bao
ta suy ra được đỉnh.
18
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
Hình 1. : Đoạn Ramer – Douglas – Peucker
Ý tưởng cơ bản của thuật tốn RamerDouglasPeucker là xét xem khoảng cách lớn
nhất từ đường cong tới đoạn thẳng nối hai điểm đầu và điểm cuối đường cong, có lớn
hơn ngưỡng θ khơng. Đầu tiên ta có điểm đầu và điểm cuối (tạm gọi là A, E) của sẽ được
giữ lại, sau đó tìm điểm có khoảng cách lớn nhất đến đường thẳng AB (tạm gọi là điểm C
và độ dài tạm gọi là h). Nếu khoảng h < θ thì điểm C sẽ bị loại bỏ, ngược lại nếu h ≥ θ thì
điểm C sẽ được giữ lại và sẽ được chia thành 2 đoạn thẳng là AC và CB. Với từng đoạn
AC và CB, thuật tốn sẽ được lặp lại tương tự như với AB ban đầu.
Ở đây hình dạng sản phẩm là đa giác tức là đường viền couar nó chính là đường
khép kín từ đó có thể thấy điểm đầu và điểm cuối trùng nhau.
Hình 1. : Đường xấp xỉ
Giả xử điểm đầu và điểm cuối là A, tiếp tục so sánh đoạn AC với θ nếu > θ thì C là
đỉnh ngược lại thì khơng phải. Tương tự ta sử dụng thuật tốn đó để tìm ra đỉnh B và đỉnh
D.
Phương pháp tìm độ dài cạnh
Hình 1. : Độ dài cạnh
Giả sử ta có tọa độ của 2 đỉnh tìm được ở bước tìm đỉnh là A() và B(), ta tìm cạnh
với cơng thức:
19
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
Với AB là độ dài cạnh. Tương tự cho các cạnh cịn lại
Phương pháp tìm tâm và bán kính
Bán kính là khoảnh cách từ tâm tới các điểm trên đường trịn.
Hình 1. : Bán kính bằng nhau
Tìm tâm O theo phương pháp tìm tâm đường trịn ngoại tiếp tam giác, đường trịn đi
qua 3 đỉnh của tam giác ABC được gọi là đường trịn ngoại tiếp tam giác ABC khi đó tam
giác ABC nội tiếp đường trịn tâm O. Tâm đường trịn ngoại tiếp tam giác là giao điểm của
3 đường trung trực, tam giác ở đây ta chọn bất kì 3 điểm trên dườn trịn giả sử chọn 3 đỉnh
A(), B(), C(). Gọi tâm O(x,y), tìm tâm theo cơng thức sau:
Với AO, BO, CO chính là bán kính đường trịn, từ đó ta có:
tâm O(x,y)
Phương án thiết kế
u cầu thiết kế
Với mục tiêu là mơ hình phục vụ cho đồ án tốt nghiệp nên khơng thể đáp ứng được
đầy đủ các u cầu trong thực tế cũng như các điều kiện phân loại phức tạp. Tuy nhiên,
mơ hình thiết kế phải đảm bảo một số u cầu kỹ thuật chung như sau:
Mơ hình cơ bản phải phù hợp với ngun lý phân loại trong thực tế;
Lắp ráp, đấu nối và vận hành điều khiển dễ dàng;
Sử dụng các vật tư, thiết bị, linh kiện thơng dụng để dễ dàng thay thế sữa chữa;
Đảm bảo tính thẩm mỹ và gọn gàng. Các cơ cấu truyền động, kết nối phải đảm bảo
cứng vững và tuổi thọ cao
e.ii.
Lựa chọn phương án thiết kế
Với những u cầu kỹ thuật đã phân tích ở trên, kết hợp với một số tài liệu tham
khảo, nhóm quyết định sẽ sử dụng cơng nghệ phân loại sản phẩm bằng phương pháp xử
lý ảnh thơng qua Raspberry kết hợp với PLC S7 – 1200 cho đề tài “Ứng dụng xử lý ảnh để
phân loại sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC”.
Nhóm chọn phương án thiết kế này vì nó dễ lắp đặt và thi cơng mơ hình chi phí
khơng cao, cịn những phương án thiết kế khác thì chi phí lắp đặt cao, nhiều thiết bị vật
liệu khó tìm kiếm.
Mơ hình của nhóm mơ phỏng lại một hệ thống như trong thực tế.
Phương án thiết kế mơ hình gồm các phần chính như sau:
e.
e.i.
20
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
Phần cơ khí:
Sử dụng băng tải để vận chuyển sản phẩm
Kích thước ước tính của mơ hình : D/R/C: 120/60/40 cm
Sử dụng xilanh để đẩy sản phẩm vào ơ chứa
Sử dụng cảm biến để đếm sản phẩm
Phần điện:
Sử dụng nguồn điện 220, nguồn tổ ong 24V
Sử dụng Raspberry để xử lý ảnh thơng qua thư viện OpenCV
Sử dụng PLC S7 1200 CPU 1214C DC/DC/DC để lập trình điều khiển q trình hoạt
động của mơ hình
Mơ hình ở đề tài được hướng thiết kế theo mơ hình phân loại sản phẩm thực tế với
các chức năng được mơ phỏng tương tự gồm có:
Bảng điều khiển trên tủ điện
Nút nhấn Start
Nút nhấn Stop
Nút nhấn E – Stop
4 nút điều khiển bằng tay ( Băng tải, Xilanh 1, Xilanh 2, Xilanh 3)
GIỚI THIỆU VỀ RASPPBERRY VÀ NGƠN NGỮ LẬP TRÌNH
PYTHON
21
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
f.
Tổng quan về Raspberry
Raspberry Pi là cái máy tính giá 35USD kích cỡ như iPhone và chạy HĐH Linux. Với
mục tiêu chính của chương trình là giảng dạy máy tính cho trẻ em. Được phát triển bởi
Raspberry Pi Foundation – là tổ chức phi lợi nhuận với tiêu chí xây dựng hệ thống mà
nhiều người có thể sử dụng được trong những cơng việc tùy biến khác nhau.
Nhiệm vụ ban đầu của dự án Raspberry Pi là tạo ra máy tính rẻ tiền có khả năng lập
trình cho những sinh viên , nhưng Pi đã được sự quan tầm từ nhiều đối tượng khác nhau.
Đặc tính của Raspberry Pi xây dựng xoay quanh bộ xử lí SoC Broadcom BCM2835 ( là chip
xử lí mobile mạnh mẽ có kích thước nhỏ hay được dùng trong điện thoại di động ) bao
gồm CPU , GPU , bộ xử lí âm thanh /video , và các tính năng khác … tất cả được tích hợp
bên trong chip có điện năng thấp này .
Raspberry Pi khơng thay thế hồn tồn hệ thống để bàn hoặc máy xách tay . Bạn
khơng thể chạy Windows trên đó vì BCM2835 dựa trên cấu trúc ARM nên khơng hỗ trợ mã
x86/x64 , nhưng vẫn có thể chạy bằng Linux với các tiện ích như lướt web , mơi trường
Desktop và các nhiệm vụ khác . Tuy nhiên Raspberry Pi là một thiết bị đa năng đáng ngạc
nhiên với nhiều phần cứng có giá thành rẻ nhưng rất hồn hảo cho những hệ thống điện
tử , những dự án DIY , thiết lập hệ thống tính tốn rẻ tiền cho những bài học trải nghiệm
lập trình …
Model B bao gồm những phần cứng và những cổng giao diện:
SoC 700MHz với 512MB RAM.
1 cổng HDMI cho đầu ra âm thanh / video số.
1 cổng video RCA cho đầu ra video Analog.
Jack Headphone Stereo 3.5mm cho đầu ra âm thanh Analog.
2 cổng USB.
1 đầu đọc thẻ nhớ SD để tải hệ điều hành.
1 cổng Ethernet LAN.
1 giao diện GPIO (General Purpose Input/Output) .
Về cơ bản Raspberry Pi có khá nhiều OS linux chạy được nhưng vẫn có sự thiếu
vắng của Ubuntu (do CPU ARMv6).
Điểm danh một số Distributions Linux (nhúng) chạy trên Raspberry Pi như Raspbian,
Pidora, openSUSE, OpenWRT, OpenELEC,….
Hình 2. : Raspberry Pi
22
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
g.
g.i.
Giới thiệu ngơn ngữ lập trình Python
Giới thiệu ngơn ngữ Python
Python là một ngơn ngữ lập trình được sử dụng phổ biến ngày nay từ trong mơi
trường học đường cho tới các dự án lớn. Ngơn ngữ phát triển nhiều loại ứng dụng, phần
mềm khác nhau như các chương trình chạy trên desktop, server, lập trình các ứng dụng
web... Ngồi ra Python cũng là ngơn ngữ ưa thích trong xây dựng các chương trình trí tuệ
nhân tạo trong đó bao gồm machine learning. Ban đầu, Python được phát triển để chạy trên
nền Unix, nhưng sau này, nó đã chạy trên mọi hệ điều hành từ MSDOS đến Mac OS,
OS/2, Windows, Linux và các hệ điều hành khác thuộc họ Unix.
Python do Guido van Rossum tạo ra năm 1990. Python được phát triển trong một dự
án mã mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý. Mặc dù sự phát
triển của Python có sự đóng góp của rất nhiều cá nhân, nhưng Guido van Rossum hiện nay
vẫn là tác giả chủ yếu của Python. Ơng giữ vai trị chủ chốt trong việc quyết định hướng
phát triển của Python.
g.ii.
Đặc điểm nổi bật của Python
Python là ngơn ngữ có hình thức đơn giản, cú pháp ngắn gọn, sử dụng một số lượng
ít các từ khố, do đó Python là một ngơn ngữ dễ học đối với người mới bắt đầu tìm hiểu.
Python là ngơn ngữ có mã lệnh (source code hay đơn giản là code) khơng mấy phức tạp.
Cả trường hợp bạn chưa biết gì về Python bạn cũng có thể suy đốn được ý nghĩa của
từng dịng lệnh trong source code.
Python có nhiều ứng dụng trên nhiều nền tảng, chương trình phần mềm viết bằng
ngơn ngữ Python có thể được chạy trên nhiều nền tảng hệ điều hành khác nhau bao gồm
Windows, Mac OSX và Linux.
h.
Giới thiệu thư viện OpenCV
h.i.
Giới thiệu OpenCV
OpenCV là tên viết tắt của open source computer vision library – có thể được hiểu là
một thư viện nguồn mở cho máy tính. Cụ thể hơn OpenCV là kho lưu trữ các mã nguồn
mở được dùng để xử lý hình ảnh, phát triển các ứng dụng đồ họa trong thời gian thực.
OpenCV cho phép cải thiện tốc độ của CPU khi thực hiện các hoạt động real time.
Nó cịn cung cấp một số lượng lớn các mã xử lý phục vụ cho quy trình của thị giác máy
tính hay các learning machine khác.
Thư viện OpenCV được phát hành với giấy phép BDS. Do đó các dịch vụ nó cung
cấp là hồn tồn miễn phí và được hạn chế tối đa các rào cản thơng thường. Cụ thể, bạn
được phép sử dụng phần mềm này cho cả hoạt động thương mại lẫn phi thương mại.
OpenCV sở hữu giao diện thiên thiện với mọi loại ngơn ngữ lập trình, ví dụ như C++, C,
Python hay Java… Ngồi ra, nó cũng dễ dàng tương thích với các hệ điều hành khác nhau,
bao gồm từ Windows, Linux, Mac OS, iOS cho đến cả Android.
Kể từ lần đầu xuất hiện từ năm 1999, giờ đây OpenCV đã sở hữu đội ngũ người
dùng hùng hậu, con số ước tính có thể lên tới 47.000 người. Tất cả là nhờ những ưu điểm
vượt trội của OpenCV.
Thư viện Ooencv được ứng dụng vào rất nhiều trường hợp khác nhau. Như các phần
mềm định vị, bản đồ nói chung, nhà cung cấp dữ liệu hình ảnh cho các app về Map, khởi
tạo ra những hình ảnh 3 chiều phức tạp, tất cả những ứng dụng cơng nghệ như robot, xe
tự lái, bảng cảm ứng thơng minh…
Thư viện sử dụng nhiều ngơn ngữ lập trình phổ biến như: ngơn ngữ lập trình C+
+/C# ngơn ngữ lập trình Java và Python.
Và ở đây, ta sử dụng ngơn ngữ lập trình Python cho đề tài. Với phần mềm khơng
q phức tạp mà thiên hướng gọn nhẹ thì ngơn ngữ Python sẽ là sự lựa chọn chính xác
23
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
nhất. Nhờ các câu lệnh ngắn gọn cùng thuộc tính đơn giản, Python giúp cho q trình phát
triển phần mềm OpenCV diễn ra dễ dàng hơn. Sử dụng ngơn ngữ Python sẽ là biện pháp
tốt nhất cho những người khơng mạnh mảng lập trình. Điểm trừ của Python là vì có cấu
tạo q đơn giản nên một số tính năng cần sự phức tạp sẽ bị hạn chế.
h.ii.
Đặc điểm OpenCV
OpenCV Là một thư viện mở nên sử dụng các thuật tốn một cách miễn phí, cùng
với việc chúng ta cũng có thể đóng góp thêm các thuật tốn giúp Thư viện thêm ngày càng
phát triển.
Các tính năng của thư viện OpenCV:
Đối với hình ảnh, chúng ta có thể đọc và lưu hay ghi chúng.
Về Video cũng tương tự như hình ảnh cũng có đọc và ghi.
Xử lý hình ảnh có thể lọc nhiễu cho ảnh, hay chuyển đổi ảnh.
Thực hiện nhận dạng đặc điểm của hình dạng trong ảnh.
Phát hiện các đối tượng xác định được xác định trước như khn mặt, mắt, xe trong
video hoặc hình ảnh.
Phân tích video,... ước lượng chuyển động của nó, trừ nền ra và theo dõi các đối
tượng trong video.
i.
Tổng quan về xử lý ảnh
i.i.
Giới thiệu xử lí ảnh
Xử lý ảnh khơng cịn là đề tài q mới, nó được áp dụng từ trong các hoạt động
thường ngày cho đến việc nâng cao sản xuất. Nó khơng những giúp ích cho cá nhân hay gia
đình, mà cịn ứng dụng cả trong Chính trị, Y tế, Giáo dục,… Xử lý tín hiệu là một mơn học
trong kỹ thuật điện tử, viễn thơng và trong tốn học. Liên quan đến nghiên cứu và xử lý tín
hiệu kỹ thuật số và analog, giải quyết các vấn đề về lưu trữ, các thành phần bộ lọc, các
hoạt động khác trên tín hiệu. Các tín hiệu này bao gồm truyền dẫn tín hiệu, âm thanh hoặc
giọng nói, hình ảnh, và các tín hiệu khác,…
Trong số các phương pháp xử lý tín hiệu kể trên, lĩnh vực giải quyết với các loại tín
hiệu mà đầu vào là một hình ảnh và đầu ra cũng là một hình ảnh, sản phẩm đầu ra được
thực hiện trong một q trình xử lý, đó chính là q trình xử lý ảnh. Nó có thể được chia
thành xử lý hình ảnh tương tự và xử lý hình ảnh kỹ thuật số. Để có 1 bức ảnh số ta có qúa
trình thực hiện như sau: Chụp ảnh từ một máy ảnh là một q trình vật lý. Ánh sáng mặt
trời sử dụng như một nguồn năng lượng. Một dãy cảm biến được sử dụng cho việc thu
lại của hình ảnh. Vì vậy, khi ánh sáng mặt trời rơi trên người đối tượng, sau đó số lượng
ánh sáng phản xạ của đối tượng được cảm nhận từ các cảm biến, và một tín hiệu điện áp
liên tục được tạo ra bởi số lượng dữ liệu cảm biến đó. Để tạo ra một hình ảnh kỹ thuật
số, chúng ta cần phải chuyển đổi dữ liệu này thành một dạng kỹ thuật số. Điều này liên
quan đến việc lấy mẫu và lượng tử hóa. Kết quả của việc lấy mẫu và lượng tử hóa sau
một q trình xử lý là một hình ảnh kỹ thuật số.
i.ii.
Những vấn đề trong xử lý ảnh
Có những vấn đề cơ bản như sau :
Điểm ảnh
Là đơn vị cơ bản nhất để tạo nên một bước ảnh kỹ thuật số. Địa chỉ của điểm ảnh
24
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
được xem như là một tọa độ (x,y) nào đó. Một bức ảnh kỹ thuật số, có thể được tạo ra
bằng cách chụp hoặc bằng một phương pháp đồ họa nào khác, được tạo nên từ hàng ngàn
hoặc hàng triệu pixel riêng lẻ. Bức ảnh càng chứa nhiều pixel thì càng chi tiết. Một triệu
pixel thì tương đương với 1 megapixel.
Biến đổi ảnh
Nói một cách đơn giản thì biến đổi ảnh thành dạng ảnh khác: ảnh màu sang ảnh
xám, ảnh xám sang nhị phân, RGB > HSV,…
Lọc màu ảnh
Có 2 cách để lọc màu ảnh theo dãy màu HSV và dãy màu BGR.
Dãy màu HSV :
Thơng thường ảnh được biểu diễn trong khơng gian màu BGR, nhưng khơng gian màu
HSV lại dễ dàng xử lý hơn. Dãy màu của kênh Hue là “bảy sắc cầu vồng” từ đỏ đến
tím rồi lại về đỏ, nên có thể xác định được ngay nó là màu gì. Do đó trong hầu hết bài
tốn đều phải tiến hành chuyển ảnh ban đầu sang khơng gian màu HSV trước khi xử lý
những bước tiếp theo.
Hình 2. : Dãy màu HSV
Dãy màu RGB :
RGB là khơng gian màu phổ biến dùng trong máy tính, máy ảnh, điện thoại và nhiều
thiết bị kĩ thuật số khác nhau. Khơng gian màu này khá gần với cách mắt người tổng hợp
màu sắc. Ngun lý cơ bản là sử dụng 3 màu sắc cơ bản R (red đỏ), G (green xanh lục)
và B (blue xanh lam) để biểu diễn tất cả các màu sắc.
Thơng thường, trong mơ hình 24 bit mỗi kênh màu sẽ sử dụng 8bit để biểu diễn,
tức là giá trị R, G, B nằm trong khoảng 0 255. Bộ 3 số này biểu diễn cho từng điểm
ảnh, mỗi số biểu diễn cho cường độ của một màu. Với mơ hình màu 24bit thì số màu tối
đa có thể tạo ra là 255 x 255 x 255 = 16581375 màu.
Bên cạnh hệ màu RGB thì ta sẽ nghe đến RGBA, thực ra đây là một hệ màu được
lấy căn bản từ hệ màu RGB tuy nhiên có thêm một kênh alpha (α). Kênh α được sử dụng
như là kênh mờ, nếu một pixel có giá trị 0% trong kênh α của nó thì nó hồn tồn trong suốt,
trong khi giá trị 100% sẽ khiến cho điểm đó bị mờ đục. Điều này được ứng dung rất
nhiều trong việc ghép các ảnh lại và mang một độ chân thực nhất định.
25