Giới thiệu
Nhiều năm trước, con người thường được sử dụng để kiểm tra sản phẩm trong quá trình sản xuất, nhưng tốc độ kiểm tra chậm và dễ xảy ra lỗi, gây thiệt hại lớn cho doanh nghiệp Công việc kiểm tra lặp đi lặp lại khiến người kiểm tra cảm thấy nhàm chán, dẫn đến mệt mỏi và giảm độ chính xác trong quyết định Đặc biệt, với tốc độ sản xuất nhanh, xác suất xảy ra lỗi càng cao Để khắc phục vấn đề này, công nghệ Machine Vision (Thị giác máy) đã được phát triển, thay thế con người trong kiểm soát chất lượng sản phẩm Trong thời đại công nghệ 4.0, nhiều doanh nghiệp đã trang bị công nghệ này cho hệ thống nhà máy của mình nhờ vào tính năng vượt trội, sự ổn định và độ chính xác cao, giúp tối ưu hóa quá trình tự động hóa sản xuất.
Kể từ khi ra mắt vào đầu những năm 1990, Mạng lưới thần kinh tích chập (CNN) đã trở thành kiến trúc học sâu phổ biến nhất nhờ vào khả năng xử lý hiệu quả các vấn đề liên quan đến hình ảnh như nhận dạng chữ viết tay, khuôn mặt và phân loại tế bào ung thư Điểm nổi bật của CNN là khả năng tự động học các đặc trưng từ dữ liệu đào tạo Mặc dù yêu cầu một lượng lớn dữ liệu, các nghiên cứu gần đây cho thấy hiệu suất cao có thể đạt được với mạng được đào tạo từ dữ liệu chung Trong những năm qua, CNN đã gần như đạt được hiệu suất tuyệt đối trong nhiều nhiệm vụ phân loại và phát hiện đối tượng.
Với sự gia tăng khả năng tính toán, chúng ta có thể đào tạo các mạng lưới thần kinh phức tạp để phát hiện những sai sót nhỏ trong sản phẩm, từ đó ảnh hưởng đến chất lượng sản phẩm Chẳng hạn, Cognex đã giới thiệu công cụ đọc OCR In-Sight Vidi D900 và VisionPro Vidi, sử dụng mạng nơron sâu để tự động kiểm tra mã bị biến dạng hoặc chất lượng khắc kém, đặc biệt trong điều kiện khó đọc mà các phương pháp truyền thống không thể xử lý Dựa trên những kết quả tích cực này, tôi đã phát triển hệ thống Machine Vision dựa trên nền tảng xử lý ảnh và mạng nơron tích chập Hệ thống bao gồm bo mạch Jetson Nano, hai máy ảnh Logitech, cảm biến tiệm cận và mô hình mô phỏng hệ thống băng chuyền, với mục tiêu đào tạo mô hình phát hiện đối tượng lỗi và đưa ra tín hiệu loại bỏ trước khi tiến hành các bước tiếp theo trong quy trình sản xuất.
Tổng quan về machine vision trong công nghiệp
Thị giác máy (Machine Vision) là công nghệ sử dụng các hệ thống cảm biến không tiếp xúc để nhận diện và phân tích hình ảnh, từ đó cung cấp thông tin hữu ích cho việc thực hiện các nhiệm vụ kiểm tra ngoại quan phức tạp Công nghệ này cũng hỗ trợ đưa ra hướng dẫn chính xác cho các thiết bị xử lý trong quá trình lắp ráp.
Công nghệ thị giác máy là quá trình sử dụng dữ liệu hình ảnh từ cảm biến thị giác để kiểm tra và kiểm soát quy trình sản xuất sản phẩm.
Mục tiêu của đề tài
Đề tài này tập trung vào những mục đích sau:
- Nghiên cứu và sử dụng các thành phần phù hợp và tương thích như cảm biến, máy tính nhúng
Sử dụng công nghệ xử lý ảnh kết hợp với mạng thần kinh tích chập, hệ thống có khả năng thu nhận và phân tích hình ảnh đầu vào để phát hiện lỗi sản phẩm Qua đó, hệ thống đưa ra quyết định liệu sản phẩm đó có đạt tiêu chuẩn chất lượng hay không.
Mục tiêu của hệ thống là thu nhận và phát hiện sản phẩm lỗi trong thời gian thực tại môi trường sản xuất, nhằm tối ưu hóa quá trình tự động hóa Sản phẩm được nghiên cứu trong đề tài này là lon nước, với các khiếm khuyết như móp đầu, móp trên, móp giữa, móp dưới và móp một bên.
Đối tượng và phạm vi nghiên cứu
Trong nghiên cứu này, chúng tôi đã phát triển một mô hình băng chuyền sản xuất sử dụng công nghệ Machine Vision, bao gồm hệ thống băng tải mô phỏng, bộ kit phát triển Jetson Nano, camera Logitech và module PLC S7.
Xử lý ảnh bằng mạng thần kinh tích chập (CNN) cho phép nhận diện ảnh đầu vào và phân loại thành sản phẩm bị lỗi hoặc bình thường Mô hình được đào tạo trên Jetson Nano, giúp thực hiện xử lý thời gian thực trong môi trường sản xuất Đánh giá hiệu quả của mô hình nhận dạng được thực hiện dựa trên kết quả thử nghiệm.
Phương pháp nghiên cứu
Nghiên cứu được tổ chức thành nhiều chương, mỗi chương là một bước quan trọng trong quá trình phát triển và xây dựng mô hình Machine Vision Phương pháp tiếp cận này thực hiện theo trình tự từ nhiệm vụ này sang nhiệm vụ tiếp theo, nhằm phát triển mô hình đáp ứng các mục tiêu và yêu cầu đã đặt ra.
Bước đầu tiên để hiểu rõ về hệ thống Thị giác máy theo thời gian thực và mạng lưới thần kinh tích chập là xác định các điểm mấu chốt và mục tiêu của chúng.
Bước thứ hai trong quá trình thiết kế mô hình là nghiên cứu kiến thức về ngôn ngữ lập trình, các thư viện liên quan, và cách sử dụng máy tính nhúng Việc nắm vững những kiến thức này sẽ hỗ trợ hiệu quả cho quá trình thiết kế.
Bước thứ ba là tham khảo các dự án trước đó, giúp bạn có cách tiếp cận phù hợp Việc này thiết lập nền tảng cho quyết định dựa trên kinh nghiệm, từ đó tránh được những sai lầm và thiết kế lỗi thời.
Bước cuối cùng trong quy trình là thu thập dữ liệu hình ảnh sản phẩm từ băng chuyền thực tế, sau đó sử dụng dữ liệu này để đào tạo mô hình trên máy tính Tiếp theo, mô hình sẽ được chạy thử nghiệm trên board Jetson Nano để hiệu chỉnh và phát triển sản phẩm Cuối cùng, việc đánh giá hiệu quả và độ ổn định của mô hình Machine Vision trong việc nhận diện và đưa ra tín hiệu loại bỏ sản phẩm lỗi sẽ được thực hiện.
Nội dung của đề tài
Đề tài “Nghiên cứu và ứng dụng Machine Vision phát hiện sản phẩm lỗi trong công nghiệp” bao gồm các chương sau:
Chương I Tổng quan: Chương này cũng cấp cái nhìn tổng quát về yêu cầu của đề tài bao gồm giới thiệu, mục tiêu, phạm vi thực hiện và nội dung đề tài
Chương II Cơ sở lý thuyết: Chương này cung cấp những kiến thức cơ bản về đề tài này như khái niệm về Machine Vision, trí tuệ nhân tạo, máy học, học sâu, mạng nơron tích chập
Chương III Các kỹ thuật xử lý tín hiệu ảnh trong Machine Vision: Chương này trình bày về các bước xử lý ảnh, cấu trúc và chức năng của mạng nơ ron tích chập
Chương IV Thiết kế phần cứng: Chương này trình bày về lựa chọn phần cứng, cách kết nối, giao tiếp giữa các thiết bị và cách hoạt động của hệ thống
Chương V Kết quả, so sánh, thực nghiệm, phân tích, tổng hợp: Chương này thể hiện kết quả chạy thực nghiệm của đề tài, từ đó đưa ra đánh giá chung cho mô hình
Chương VI Kết luận và hướng phát triển: Chương này trình bày kết luận về những thuận lợi cũng như khó khăn khi thực hiện đề tài này Những ý tưởng mới, định hướng phát triển đề tài này cũng được thể hiện ở đây.
Giới thiệu về hệ thống Machine Vision
2.1.1 Giới thiệu về Machine Vision
2.1.1.1 Khái niệm về Machine Vision
Thị giác máy (machine vision) là công nghệ cho phép máy tính theo dõi, đánh giá và xác định hình ảnh tĩnh hoặc động Đây là một lĩnh vực trong ngành thị giác máy tính (computer vision), tương tự như camera giám sát (surveillance cameras) trong các tòa nhà, nhưng với khả năng tự động chụp ảnh, phân tích và đánh giá.
Hệ thống thị giác máy tính cho phép máy tính nhận diện và đánh giá hình ảnh, tương tự như cách mà hệ thống nhận dạng giọng nói xử lý âm thanh.
Hệ thống thị giác máy bao gồm một camera và phần cứng kết hợp với phần mềm xử lý ảnh Camera thu thập hình ảnh từ môi trường và đối tượng quan sát, sau đó gửi đến hệ thống xử lý Tùy vào thiết kế và nhu cầu, hình ảnh có thể được lưu trữ hoặc xử lý sau Để hệ thống hoạt động hiệu quả và đáng tin cậy, việc hiểu cách các thành phần tương tác là rất quan trọng.
Hình 2.1 Các bộ phận cấu thành hệ thống Machine Vision cơ bản
Hệ thống thị giác máy công nghiệp hoạt động liên tục 100%, mang lại chất lượng sản phẩm tốt hơn, năng suất cao hơn và giảm chi phí sản xuất So với hệ thống thị giác học thuật, hệ thống công nghiệp yêu cầu độ mạnh mẽ, độ tin cậy và ổn định cao hơn, đồng thời có chi phí thấp hơn so với các ứng dụng trong chính phủ hay quân đội Do đó, Machine Vision công nghiệp nổi bật với chi phí hợp lý, độ chính xác chấp nhận được, độ bền và độ tin cậy cao, cùng với khả năng chịu nhiệt và cơ học tốt.
Hệ thống Machine Vision sử dụng cảm biến kỹ thuật số trong máy ảnh công nghiệp với quang học chuyên dụng để thu thập hình ảnh Hệ thống này kết hợp phần cứng và phần mềm để xử lý, phân tích và đo lường các đặc điểm khác nhau nhằm đưa ra quyết định chính xác.
Hình 2.2 Hệ thống Machine Vision nhìn mã sản phẩm
Hệ thống kiểm tra mức đầy tại nhà máy bia sử dụng cảm biến để kiểm tra mỗi chai bia Khi chai đi qua cảm biến, hệ thống thị giác sẽ kích hoạt đèn nhấp nháy và chụp ảnh chai Hình ảnh này được lưu trữ và phân tích để xác định mức độ đầy của chai Nếu phát hiện chai không đầy hoặc không đạt tiêu chuẩn, hệ thống sẽ báo cho thiết bị chấp hành từ chối chai đó Người điều hành có thể theo dõi các chai bị từ chối và thống kê quy trình trên màn hình.
2.1.1.2 Ánh sáng trong Machine Vision
Mắt người có khả năng nhìn rõ trong nhiều điều kiện ánh sáng, nhưng hệ thống thị giác máy không thể làm điều đó Vì vậy, việc chiếu sáng đúng cách cho bộ phận cần kiểm tra là rất quan trọng để thị giác máy có thể nhận diện chính xác Ánh sáng cần được điều chỉnh và giữ ổn định để mọi thay đổi mà thị giác máy phát hiện đều do bộ phận được kiểm tra, không phải do nguồn sáng Sử dụng ánh sáng thích hợp giúp quá trình kiểm tra diễn ra nhanh chóng và chính xác hơn, trong khi ánh sáng kém thường là nguyên nhân chính gây ra lỗi trong hệ thống kiểm tra thị giác máy.
Ánh sáng xung quanh có thể ảnh hưởng tiêu cực đến hiệu suất của hệ thống thị giác máy Khi ánh sáng kém, như đèn trần bị cháy, mờ hoặc bị chặn, hệ thống sẽ gặp khó khăn trong việc hoạt động hiệu quả.
2.1.1.3 Lợi ích của Machine Vision
Thị giác máy cải thiện chất lượng và năng suất, trong khi giảm được chi phí sản xuất
Machine Vision là công nghệ vượt trội trong việc đo lường các cảnh có cấu trúc nhờ vào tốc độ, độ chính xác và khả năng lặp lại cao Trong môi trường sản xuất, hệ thống Machine Vision có khả năng kiểm tra hàng trăm đến hàng nghìn bộ phận mỗi phút Với camera có độ phân giải cao, hệ thống này có thể phát hiện các chi tiết nhỏ mà mắt thường không thể nhìn thấy.
Machine Vision giúp loại bỏ tiếp xúc vật lý giữa hệ thống kiểm tra và các bộ phận, ngăn ngừa hư hỏng và giảm thiểu thời gian bảo trì cũng như chi phí hao mòn của các bộ phận cơ khí Công nghệ này không chỉ nâng cao an toàn và đảm bảo hoạt động liên tục bằng cách giảm sự tham gia của con người, mà còn giảm thiểu nguy cơ ô nhiễm phòng sạch do bụi bẩn và vi khuẩn từ cơ thể con người, bảo vệ công nhân khỏi môi trường làm việc nguy hiểm.
Hình 2.3 Môi trường làm việc của Machine Vision trong nhà máy
2.1.2 Các ứng dụng của Machine Vision trong công nghiệp và Smart Factory 2.1.2.1 Bảo trì dự đoán
Bảo trì máy định kỳ giúp kiểm tra hiệu suất và độ chính xác của máy móc, đảm bảo công việc diễn ra hiệu quả và tiết kiệm chi phí hơn so với sửa chữa Tuy nhiên, bảo trì thường xuyên có thể gây lãng phí nguồn lực Bảo trì tiên đoán (Predicted Maintenance) sử dụng công nghệ máy học và IoT để giám sát dữ liệu từ cảm biến, xác định tín hiệu hỏng hóc và thực hiện hành động khắc phục kịp thời Nhờ đó, doanh nghiệp có thể tiết kiệm nguồn lực hơn so với bảo trì định kỳ hay sửa chữa sau khi máy móc đã hỏng.
Chỉ một phút ngừng hoạt động trong một nhà máy ô tô có thể gây thiệt hại lên tới 20.000 đô la cho các phương tiện có lợi nhuận cao Để khắc phục tình trạng này, các giải pháp như thị giác máy đóng vai trò quan trọng Một ví dụ điển hình là phần mềm ZDT do FANUC phát triển, giúp thu thập hình ảnh từ các camera gắn trên robot Những hình ảnh và siêu dữ liệu này được gửi lên đám mây để xử lý, từ đó xác định và giải quyết các vấn đề tiềm ẩn trước khi chúng xảy ra.
2.1.2.2 Kiểm tra bao bì lỗi trong sản xuất Điều quan trong nhất đối với các công ty dược phẩm là phải đếm các viên thuốc trong vỉ (tablet) hoặc các viên nang (pill) trước khi đóng hộp Để giải quyết vấn đề này, Pharma Packaging Systems, có trụ sở tại Anh, đã phát triển một giải pháp có thể triển khai cho các dây chuyền sản xuất hiện có
Giải pháp sử dụng thị giác máy tính để kiểm tra chất lượng vỉ thuốc trong quá trình sản xuất Khi vỉ thuốc di chuyển qua dây chuyền, hình ảnh được chụp và gửi đến PC chuyên dụng Phần mềm xử lý hình ảnh sẽ phân tích để xác định xem vỉ thuốc có đúng màu sắc, kích thước và đầy đủ hay không.
Hệ thống kiểm tra Machine Vision trên PC thực hiện chức năng đếm và phát hiện lỗi trên vỉ thuốc Khi một vỉ thuốc bị coi là lỗi, thông tin sẽ được ghi lại và gửi tín hiệu đến bộ đếm để kiểm soát số lượng, sau đó chuyển vào container riêng biệt Các container này chứa sản phẩm lỗi sẽ không được vận chuyển, giúp ngăn chặn việc phân phối những vỉ thuốc không đạt chất lượng.
Tổng quan về lý thuyết xử lý ảnh
2.2.1 Giới thiệu về xử lý ảnh
Xử lý ảnh đã được đưa vào giảng dạy tại các trường đại học ở Việt Nam trong khoảng một thập kỷ qua, là một môn học liên quan đến nhiều lĩnh vực và đòi hỏi kiến thức nền tảng vững chắc Trọng tâm của môn học bao gồm xử lý tín hiệu số, với các khái niệm cơ bản như tính chập, biến đổi Fourier, Laplace và các bộ lọc Bên cạnh đó, các công cụ như đại số tuyến tính, xác suất và thống kê cũng đóng vai trò quan trọng Ngoài ra, kiến thức về trí tuệ nhân tạo và mạng nơron nhân tạo được nhấn mạnh trong quá trình phân tích, đặc biệt là trong nhận dạng ký tự quang học (OCR).
Các phương pháp xử lý ảnh chủ yếu tập trung vào hai ứng dụng chính: nâng cao chất lượng ảnh và phân tích ảnh Nâng cao chất lượng ảnh đã được áp dụng từ những năm 1920, khi hình ảnh được truyền qua cáp từ London đến New York Vấn đề này liên quan đến việc cân bằng sáng và cải thiện độ phân giải của ảnh.
Việc nâng cao chất lượng ảnh bắt đầu phát triển từ năm 1955, nhờ vào sự tiến bộ của máy tính sau Thế chiến thứ hai, tạo điều kiện thuận lợi cho xử lý ảnh số 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 việc làm nổi đường biên và lưu ảnh Từ đó đến nay, các phương tiện và phương pháp nâng cao chất lượng, nhận dạng ảnh không ngừng phát triển, với sự ứng dụng rộng rãi của trí tuệ nhân tạo, mạng nơron nhân tạo, và các thuật toán xử lý hiện đại, mang lại nhiều kết quả khả quan.
Xử lý ảnh là một lĩnh vực quan trọng trong thị giác máy, liên quan đến việc chuyển đổi ảnh ban đầu thành ảnh mới theo ý muốn của người sử dụng Quá trình này bao gồm phân tích và phân lớp các đối tượng, nâng cao chất lượng hình ảnh, phân đoạn, tách cạnh, và gán nhãn cho các vùng trong ảnh, cũng như biên dịch thông tin hình ảnh.
Xử lý ảnh số là một lĩnh vực quan trọng trong tin học ứng dụng, liên quan đến việc biến đổi và mã hoá các ảnh tự nhiên Nó bao gồm các phương pháp và kỹ thuật nhằm truyền tải thông tin từ các ảnh này, trong khi xử lý dữ liệu bằng đồ họa tập trung vào các ảnh nhân tạo được tạo ra bởi các chương trình và xem xét chúng như cấu trúc dữ liệu Mục đích chính của xử lý ảnh là cải thiện chất lượng và khả năng truyền tải của hình ảnh.
- Biến đổi ảnh làm tăng chất lượng ảnh
- Tự động nhận dạng ảnh, đoán ảnh, đánh giá các nội dung của ảnh
Nhận biết và đánh giá nội dung của ảnh là quá trình phân tích hình ảnh thành các phần có ý nghĩa, giúp phân biệt các đối tượng khác nhau và mô tả cấu trúc của hình ảnh ban đầu Một số phương pháp nhận dạng cơ bản bao gồm nhận dạng đối tượng, tách cạnh và phân đoạn hình ảnh Kỹ thuật này được ứng dụng rộng rãi trong y học, đặc biệt trong việc xử lý tế bào và nhiễm sắc thể, cũng như trong nhận dạng chữ trong văn bản.
2.2.2 Các quá trình xử lý ảnh
Các bước cơ bản trong xử lý ảnh bắt đầu bằng việc thu nhận ảnh tự nhiên từ thế giới bên ngoài qua các thiết bị như máy ảnh, máy chụp ảnh, hoặc máy quét Trước đây, ảnh được chụp bằng phim âm bản không thể áp dụng trong xử lý ảnh Tuy nhiên, với sự phát triển công nghệ, ảnh màu và đen trắng hiện nay có thể được chuyển trực tiếp thành ảnh số từ máy ảnh kỹ thuật số hoặc điện thoại, tạo điều kiện thuận lợi cho các bước xử lý tiếp theo Ngoài ra, ảnh cũng có thể được thu nhận từ vệ tinh hoặc thông qua máy quét ảnh.
Hình 2.10 Các bước cơ bản trong xử lý ảnh
Thu nhận ảnh là bước đầu tiên quan trọng trong quá trình XLA, nơi ảnh đầu vào được thu thập qua các thiết bị như camera, cảm biến và máy scanner Sau đó, các tín hiệu này sẽ được số hóa Việc lựa chọn thiết bị thu nhận ảnh phụ thuộc vào đặc tính của đối tượng cần xử lý, với các thông số quan trọng như độ phân giải, chất lượng màu, dung lượng bộ nhớ và tốc độ thu nhận ảnh.
Tiền xử lý là bước quan trọng trong quá trình XLA, nơi ảnh được cải thiện về độ tương phản, khử nhiễu, khử bóng và khử độ lệch Mục tiêu của bước này là nâng cao chất lượng ảnh, chuẩn bị cho các xử lý phức tạp hơn sau đó Quá trình tiền xử lý thường được thực hiện thông qua các bộ lọc chuyên dụng.
Phân đoạn ảnh là bước quan trọng trong XLA, giúp phân tích ảnh thành các thành phần có tính chất tương đồng dựa trên biên hoặc vùng liên thông Các tiêu chí xác định vùng liên thông có thể dựa vào màu sắc hoặc mức xám Mục tiêu của phân đoạn ảnh là tạo ra một mô tả tổng quát về các phần tử khác nhau trong ảnh thô Do lượng thông tin trong ảnh rất lớn, trong khi hầu hết các ứng dụng chỉ cần trích một số đặc trưng cụ thể, nên cần có quy trình giảm thiểu thông tin này Quy trình bao gồm việc phân vùng ảnh và trích chọn các đặc tính chủ yếu.
Kết quả của bước phân đoạn ảnh thường được thể hiện dưới dạng dữ liệu điểm ảnh thô, bao gồm biên của một vùng ảnh hoặc tập hợp các điểm ảnh thuộc về vùng đó Việc chuyển đổi dữ liệu thô thành dạng thích hợp cho xử lý máy tính là rất cần thiết Câu hỏi đầu tiên cần giải quyết là nên biểu diễn vùng ảnh dưới dạng biên hay vùng hoàn chỉnh Biểu diễn dạng biên phù hợp với các ứng dụng chú trọng vào đặc trưng hình dạng bên ngoài, như các góc cạnh và điểm uốn Ngược lại, biểu diễn dạng vùng thích hợp cho những ứng dụng khai thác tính chất bên trong của đối tượng, như vân ảnh hoặc cấu trúc xương Lựa chọn cách biểu diễn thích hợp chỉ là một phần trong quá trình chuyển đổi dữ liệu ảnh thô; chúng ta còn cần phát triển phương pháp mô tả dữ liệu đã chuyển đổi để làm nổi bật các tính chất quan trọng, thuận tiện cho việc xử lý tiếp theo.
Quá trình xử lý ảnh liên quan đến việc làm việc với ảnh số, được cấu thành từ một tập hợp hữu hạn các điểm ảnh Ảnh số có thể được biểu diễn dưới dạng ma trận 2 chiều, trong đó mỗi phần tử tương ứng với một điểm ảnh, được gọi là pixel (picture element) Ảnh có thể được định nghĩa như một hàm 2 chiều f(x, y), với x và y là các tọa độ trong không gian.
(spatial) hoặc mặt phẳng (plane), và độ lớn (amplitude) của hàm f được gọi là độ sáng
(intensity) hay độ xám (gray level) của ảnh tại điểm đó
2.2.3.1 Điểm ảnh Ảnh gốc (ảnh tự nhiên) là ảnh liên tục về không gian và độ sáng Để xử lý bằng máy tính (số), ảnh cần phải được số hóa Số hóa ảnh là sự biến đổi gần đúng một ảnh liên tục thành một tập điểm phù hợp với ảnh thật về vị trí (không gian) và độ sáng (mức xám) Khoảng cách giữa các điểm ảnh đó được thiết lập sao cho mắt người không phân biệt được ranh giới giữa chúng Mỗi một điểm như vậy gọi là điểm ảnh, hay được gọi tắt là Pixel Trong ảnh hai chiều, mỗi pixel ứng với cặp tọa độ (x,y)
Điểm ảnh (Pixel) là đơn vị cơ bản của ảnh số, xác định tại tọa độ (x,y) với độ xám hoặc màu cụ thể Kích thước và khoảng cách giữa các điểm ảnh được điều chỉnh hợp lý để tạo cảm giác liên tục về không gian và màu sắc, giúp mắt người cảm nhận ảnh số gần giống như ảnh thật Mỗi điểm ảnh trong ma trận được gọi là phần tử Ảnh.
Độ phân giải của ảnh là mật độ điểm ảnh trên một bức ảnh số Để mắt người cảm nhận được sự liên tục của hình ảnh, khoảng cách giữa các điểm ảnh phải được chọn hợp lý Việc lựa chọn khoảng cách này tạo ra mật độ phân bổ, gọi là độ phân giải, được phân bố theo trục x và y trong không gian hai chiều.
Hình 2.13 Hình ảnh với độ phân giải khác nhau
Deep Learning
Học sâu là một kỹ thuật học máy cho phép máy tính học hỏi từ ví dụ, tương tự như cách con người học Công nghệ này đóng vai trò quan trọng trong việc phát triển xe tự lái, giúp chúng nhận diện biển báo dừng và phân biệt người đi bộ với các vật thể khác Ngoài ra, học sâu còn là nền tảng cho các hệ thống điều khiển giọng nói trên các thiết bị tiêu dùng như điện thoại, máy tính bảng, Tivi và loa thông minh Gần đây, học sâu đã thu hút nhiều sự chú ý nhờ vào khả năng đạt được những kết quả vượt trội mà trước đây không thể thực hiện.
Mạng lưới thần kinh bao gồm nhiều lớp, với các nút liên kết chặt chẽ, có thể có từ hàng chục đến hàng trăm lớp ẩn.
Trong học sâu, mô hình máy tính học cách thực hiện các nhiệm vụ phân loại từ hình ảnh, văn bản hoặc âm thanh, đạt độ chính xác hiện đại, thậm chí vượt qua hiệu suất của con người Các mô hình này được đào tạo với tập dữ liệu lớn có nhãn và kiến trúc mạng thần kinh nhiều lớp Hầu hết các phương pháp học sâu sử dụng kiến trúc mạng thần kinh, dẫn đến việc chúng thường được gọi là mạng thần kinh sâu Thuật ngữ "Deep Learning" thường chỉ số lượng lớp ẩn trong mạng lưới thần kinh, trong khi mạng thần kinh nhân tạo truyền thống chỉ có 2 lớp.
3 lớp ẩn, trong khi mạng học sâu có thể có tới 150
Mạng nơron là một khái niệm cốt lõi trong Deep Learning, tương tự như một hàm trong lập trình Đơn vị cơ bản nhất của mạng nơron, gọi là Perceptron, nhận đầu vào (các tham số của hàm), thực hiện các bước xử lý (quy trình của hàm) và cuối cùng trả về phản hồi (đầu ra của hàm).
Hình 2.20 Mạng thần kinh đơn giản hoặc Perceptron
Mạng nơ-ron có khả năng phân loại dữ liệu dựa trên các yếu tố ảnh hưởng đến quá trình phân loại Perceptron được xem như một mã hóa giải pháp theo định dạng đồ họa, tương tự như cách hoạt động của các tế bào thần kinh trong não.
Hình 2.21 So sánh hiệu suất giữa Deep Learning với các thuật toán học theo thứ tự Ưu điểm của deep learning và Machine Vision trong Visual Inspection:
- Machine Vision có độ phân giải quang học rất cao phụ thuộc vào công nghệ và thiết bị được sử dụng để thu nhận ảnh
Thị giác máy có khả năng nhận thức trực quan vượt trội hơn so với thị giác của con người, với khả năng quan sát các vùng cực tím, X-ray và hồng ngoại trong quang phổ.
Hệ thống này cho phép thực hiện các quan sát và kết luận một cách nhanh chóng, mang lại kết quả tính toán chính xác Với tốc độ xử lý cao và bộ nhớ vô hạn, nó đảm bảo hiệu suất tối ưu trong mọi tác vụ.
- Đáng tin cậy - Hệ thống không thiên vị và lập trình theo yêu cầu, làm theo hướng dẫn mà không có câu hỏi
- Chính xác - Một hệ thống tự động có khả năng đo kích thước tuyệt đối theo các tiêu chuẩn
Môi trường độc lập là một hệ thống có khả năng hoạt động trong các điều kiện rủi ro hoặc nguy hiểm, đảm bảo an toàn cho con người trong những tình huống không thuận lợi.
2.4.1 Các thư viện và framework cho Deep Learning
Scikit-Learn là thư viện mã nguồn mở nổi bật, cung cấp đầy đủ các thuật toán cho học máy (ML), khai thác dữ liệu (DM), thống kê và phân tích dữ liệu Dự án này khởi đầu từ Google Summer of Code do David Cournapeau khởi xướng và đã được phát triển mạnh mẽ từ năm 2015.
• Được phát triển cho mục đích chung, mã nguồn mở, có thể dùng cho mục đích thương mại, là công cụ tương đối phổ biến
• Được tài trợ bởi nhiều tập đoàn lớn: INRIA, Telecom Paristech, Google, …
• Liên tục được cập nhật và hoàn thiện
• Liên kết chặt chẽ với nhiều Python package
• Chỉ hỗ trợ API-oriented
TensorFlow là thư viện mã nguồn mở do Google Brain phát triển, sử dụng đồ thị luồng dữ liệu để thực hiện các phép tính Thư viện này hỗ trợ nhiều API cho các ngôn ngữ lập trình như Python và C++ Ngoài ra, TensorFlow còn cung cấp phiên bản TensorFlow Lite, nhẹ hơn và tối ưu cho các thiết bị di động và nhúng Thư viện này cũng tương thích với môi trường đám mây của Google và Amazon.
• Thư viện đa dạng cho lập trình dataflow, nghiên cứu và phát triển DL
• Có thế tính toán trên CPU/GPU, mobile,
• Là công cụ phổ biến nhất trong cộng đồng nghiên cứu DL
• Xử lý hiệu quả cho tính toán mảng đa chiều
- Nhược điểm: API khó sử dụng để tạo DL model
Keras là thư việc Python giống như TensorFlow, CNTK, là công cụ hỗ trợ
DL Có thể thực thi trên CPU và GPU Được phát triển với các nguyên tắc thân thiện với người dùng
• Phổ biến, tài liệu tham khảo đầy đủ
• Nhẹ nhàng và dễ sử dụng
• GPU không làm hết hiệu suất 100%
• Kém linh hoạt, không phù hợp cho nghiên cứu kiến trúc mới
The Microsoft Cognitive Toolkit (CNTK) is a powerful deep learning framework developed by Microsoft Research, designed to efficiently handle large datasets It supports various architectures, including Feedforward Neural Networks (FFNN), Convolutional Neural Networks (CNN), Recurrent Neural Networks (RNN), and utilizes Stochastic Gradient Descent (SGD) for optimization.
• Hỗ trợ format ONNX (Open Neural Network Exchange) làm dễ dàng chuyển đổi model giữa CNTK, Caffe2, PyTorch, MXNet và công cụ DL khác
• Hiệu suất cao (hơn TensorFlow, Theano) khi sử dụng nhiều máy cho RNN/LSTM
- Nhược điểm: Hạn chế cho các thiết bị mobile
Caffe là một framework học sâu (DL) được phát triển bởi Yangqing Jia tại BAIR, cho phép định nghĩa mạng nơ-ron sâu (DNN) theo từng lớp Dữ liệu được đưa vào thông qua các lớp dữ liệu (data layers) Mặc dù các lớp mới cần được lập trình bằng C++/Cuda, nhưng một số lớp đã được hỗ trợ trên Python.
• Thích hợp xử lý ảnh bằng CNN
• Mạng được huấn luyện trước (Pre-trained network) có thể được tinh chỉnh (finetuning) trong Caffe Model Zoo
• Dễ code với Python, Matlab interface
• Model được định nghĩa trước phức tạp
• Khó khắn khi định nghĩa mô hình model mới
Caffe2 là một framework học sâu (DL) nhẹ hơn so với Caffe, được phát triển bởi Yangqing Jia tại Facebook Nó cung cấp các script Python giúp chuyển đổi các mô hình có sẵn từ Caffe sang Caffe2 một cách dễ dàng.
• Cross-platform, hỗ trợ các nền tảng di động
• Linh động, nhẹ hơn Caffe
• Khó khắn cho người mới bắt đầu
• Không có dynamic graph computation
Torch là framework hỗ trợ các tính toán khoa học, thuật toán ML dựa trên ngôn ngữ Lua Torch được hỗ trợ phát triển bởi Facebook, Google, DeepMind, Twitter, …
• Linh hoạt, dễ đọc, tái sử dụng code
• Tính môđun, tốc độ nhanh
• Phù hợp cho việc nghiên cứu
• Không còn được phát triển
PyTorch là thư viện DL Python dành cho GPU Được phát triển bởi Facebook PyTorch được viết bằng python, C và CUDA
• Hỗ trợ Dynamic computational graph
• Hỗ trợ tự động phân biệt cho NumPy và SciPy
• Sử dụng ngôn ngữ Python cho phát triển
- Nhược điểm: Không hỗ trợ trên mobile
Apache MXNet là DL framework hiệu quả và linh hoạt, được phát triển bởi Pedro Domingos tại University of Washington API hỗ trợ nhiều ngôn ngữ như R, Python, Julia,
• Linh hoạt, hỗ trợ nhiều tính năng cho tính toán trên GPU và cả CPU
• Hỗ trợ nhiều ngôn ngữ
- Nhược điểm: API khó sử dụng,
Hình 2.22 Biểu đồ so sánh các Deep Learning framework
TensorFlow được người dùng đánh giá cao nhờ tính đa dụng của nó, với nhiều bài viết trên các nền tảng nổi tiếng như GitHub, Medium và ArXiv, cùng với nhiều sách chuyên khảo Đối với những người mới bắt đầu với Deep Learning và có kiến thức về Python, numpy, pandas, sklearn và matplotlib, Keras là một lựa chọn tuyệt vời Keras không chỉ có một cộng đồng người dùng đông đảo mà còn là yêu cầu phổ biến của nhiều nhà tuyển dụng, đi kèm với nhiều hướng dẫn trực tuyến và API dễ sử dụng.