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

106 72 4
(Đồ án tốt nghiệp) 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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH CNKT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA 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 GVHD:NGUYỄN TỬ ĐỨC SVTH: PHẠM HỒNG VIỆT MSSV: 16151103 SKL007307 Tp Hồ Chí Minh, tháng 08/2020 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP 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 SVTH: PHẠM HỒNG VIỆT MSSV: 16151103 Khố: K16 Ngành: CNKT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA GVHD: THS NGUYỄN TỬ ĐỨC Tp Hồ Chí Minh, tháng năm 2020 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP 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 SVTH: PHẠM HỒNG VIỆT MSSV: 16151103 Khố: K16 Ngành: CNKT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HĨA GVHD: THS NGUYỄN TỬ ĐỨC Tp Hồ Chí Minh, tháng năm 2020 CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tư – Hạnh phúc *** Tp Hồ Chí Minh, ngày 27 tháng 07 năm 2020 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Phạm Hồng Việt MSSV: 16151103 Ngành: Cơng nghệ kỹ thuật Điều khiển Tư động hóa Lớp: 16151CL1 Giảng viên hướng dẫn: Ths Nguyễn Tử Đức ĐT: 0908 550 450 Ngày nhận đề tài: 24/02/2020 Ngày nộp đề tài: 27 tháng năm 2020 Tên đề tài: Nghiên cứu ứng dụng Machine Vision phát sản phẩm lỗi công nghiệp Các số liệu, tài liệu ban đầu: Nội dung thưc đề tài: Tìm hiểu nghiên cứu hệ thống Machine Vision cơng nghiệp Tìm hiểu giải thuật xủ lý ảnh máy học cho toán nhận dạng phân loại ảnh Tìm hiểu máy tính nhúng, cách cài đặt cấu hình phục vụ cho Computer Vision Deep Learning Áp dụng giải thuật xủ lý ảnh mơ hình Deep Learning xây dưng vào hệ thống Machine Vison phát sản phẩm lỗi Sản phẩm Hệ thống Machine Vision hồn chỉnh Chương trình phát sản phẩm lỗi Quyển báo cáo đồ án tốt nghiệp Đĩa CD TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN i CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh Phúc ******* PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ tên Sinh viên: Phạm Hoàng Việt MSSV: 16151103 Ngành: Công nghệ Kỹ thuật điều khiển Tư động hóa Tên đề tài: Nghiên cứu ứng dụng Machine Vision phát sản phẩm lỗi công nghiệp Họ tên Giáo viên hướng dẫn: Ths Nguyễn Tử Đức NHẬN XÉT Về nội dung đề tài khối lượng thưc hiện: Ưu điểm: Khuyết điểm: Đề nghị cho bảo vệ hay không? Đánh giái loại: Điểm: (Bằng chữ: ……… … ) Tp Hồ Chí Minh, ngày… tháng năm 2020 Giáo viên hướng dẫn (Ký & ghi rõ họ tên) ii CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh Phúc ******* PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ tên Sinh viên: Phạm Hoàng Việt MSSV: 16151103 Ngành: Công nghệ Kỹ thuật điều khiển Tư động hóa Tên đề tài: Nghiên cứu ứng dụng Machine Vision phát sản phẩm lỗi công nghiệp Họ tên Giáo viên phản biện: NHẬN XÉT Về nội dung đề tài khối lượng thưc hiện: Ưu điểm: Khuyết điểm: Đề nghị cho bảo vệ hay không? Đánh giái loại: Điểm: (Bằng chữ:………… ) Tp Hồ Chí Minh, ngày… tháng năm 2020 Giáo viên phản biện (Ký & ghi rõ họ tên) iii LỜI CẢM ƠN Đồ án tốt nghiệp xem môn học cuối sinh viên chúng em Quá trình thưc đồ án giúp đỡ em tổng hợp tất kiến thức học trường suốt năm qua Đây thời gian quý giá để em làm quen với công tác thiết kế, tập giải vấn đề mà em gặp tương lai Qua đồ án sinh viên chúng em trưởng thành để trở thành kỹ sư chất lượng phục vụ tốt cho dư án, hệ thống sản xuất nhà máy, xí nghiệp Có thể coi cơng trình nhỏ đầu tay sinh viên trường Trong địi hỏi người sinh viên phải nỗ lưc khơng ngừng học hỏi Để hồn thành tốt đồ án trước hết nhờ sư quan tâm bảo tận tình thầy, hướng dẫn với chỗ dưa tinh thần, vật chất gia đình sư giúp đỡ nhiệt tình bạn Em xin chân thành cảm ơn thấy Nguyễn Tử Đức thầy cô Khoa Đào Tạo Chất Lượng Cao Trường Đại Học Sư Phạm Kỹ Thuật TPHCM nói chung thầy cô chuyên ngành Công nghệ Kỹ thuật điều khiển Tư động hóa nói riêng hướng dẫn tận tình giúp em hồn thành đề tài đồ án giao môn học trước Mặc dù cố gắng trình thưc chưa có kinh nghiệm quỹ thời gian hạn chế nên chắn cịn nhiều sai sót Em kính mong sư dẫn thêm nhiều từ thầy cô Em xin chân thành cảm ơn iv TÓM TẮT Những năm gần chứng kiến sư tiến đáng kinh ngạc ngành công nghiệp sản xuất cách thay đổi hầu hết nguồn lưc người máy móc cơng nghệ tân tiến trí tuệ nhân tạo, thị giác máy tính hay máy học Trong đề tài này, tơi trình bày hệ thống Machine Vision phát sản phẩm lỗi công nghiệp Đây hệ thống điều khiển giải thuật xử lý ảnh mạng thần kinh nhân tạo Ảnh lấy từ camera sau đưa qua chương trình xử lý ảnh mơ hình mạng thần kinh thu kết sản phẩm bình thường bị lỗi Kết thử nghiệm hệ thống cho thấy tính hiệu tin cậy nhiệm vụ phát sản phẩm bị lỗi sản xuất Tốc độ xử lý hệ thống đạt 1.5-2 giây/sản phẩm điều kiện ánh sáng cố định, thấp so với thưc tế hệ thống không sử dụng camera máy tính nhúng cơng nghiệp v MỤC LỤ NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN LỜI CẢM ƠN TÓM TẮT MỤC LỤC DANH MỤC TỪ VIẾT TẮT DANH MỤC CÁC BẢNG BIỂU DANH MỤC CÁC HÌNH ẢNH VÀ BIỂU ĐỒ Chương 1.1 Giới thiệu 1.2 Tổng quan machine vision công ng 1.3 Mục tiêu đề tài 1.4 Đối tượng phạm vi nghiên cứu 1.5 Phương pháp nghiên cứu 1.6 Nội dung đề tài Chương 2.1 Giới thiệu hệ thống Machine Vision 2.1.1 Giới thiệu 2.1.2 Các ứng 2.2 Tổng quan lý thuyết xử lý ảnh 2.2.1 Giới thiệu 2.2.2 Các tr 2.2.3 Các vấn đ 2.2.4 Phạm vi ứ 2.2.5 Giới thiệu 2.3 Tổng quan trí tuệ nhân tạo vi 2.3.1Trí tuệ nhân tạo 2.3.2Machine Learning 2.4 Deep Learning 2.4.1Các thư viện fram Chương 3.1 Xử lý ảnh 3.1.1Tiền xử lý ánh 3.1.2Nhận dạng ảnh 3.2 Mạng nơron tích chập 3.2.1Giới thiệu 3.2.2Cấu trúc mạng n 3.2.3Lớp tích chập 3.2.4Hàm kích hoạt 3.2.5Lớp pooling 3.2.6Lớp kết nối đầy đủ 3.3 Kiến trúc mạng tổng thơng số mơ hì 3.3.1Pre-trained Model V 3.3.2Học chuyển giao 3.4 Tối ưu hóa mạng cần thiết 3.4.1Các loại Gradient D 3.4.2Các loại tối ưu hóa 3.5 Lưu đồ hệ thống Machine Vision nhận biết hình huấn luyện Chương 4.1 Thành phần phần cứng 4.1.1Camera Logitech C2 4.1.2Cảm biến vật cản hồ 4.1.3NVIDIA Jetson Nan 4.1.4Mạch Opto Cách Ly vii Hình 5.10 Thay đổi độ xác suốt trình đào tạo Hình 5.11 Thay đổi độ mát suốt trình đào tạo 74 5.4 Kết thực nghiệm Sau đào tạo máy tính, mơ hình chép trở lại Jetson Nano Sau đưa vào hệ thống Machine Vision thiết kế từ trước chạy đồng thời PLC, hệ thống bang tải cấu chấp hành, sau cảm biến phát vật khoảng thời gian từ lúc camera chụp hình đến lúc xử lý xong ảnh ~1.5-2s/sp Do camera máy tính nhúng dùng cho công nghiệp nên tốc độ xử lý khơng lý tưởng Hình ảnh thử nghiệm cho dư đốn mơ hình nhìn thấy hình 5.12 Mơ hình đào tạo đạt độ xác gần tuyệt đối, hệ thống hoạt động với yêu cầu đặt phát sản phẩm lỗi vết móp nằm phía lon Hình 5.12 Kết thưc nghiệm: Trên hình ảnh phía đầu sau thơng qua chức Softmax mơ hình (a) Bình thường, (b) Móp đầu, (c) Móp trên, (d) Móp Hình 5.13 Kết nhận diện lon lỗi với xử lý ảnh: (a) Móp bên, (b) Móp dưới, (c) Móp trên, (d) Móp đầu 75 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Trong đề tài này, trình bày hệ thống Machine Vision phát sản phẩm lỗi dưa phương pháp xử lý ảnh công nghệ AI tiên tiến Công việc giải nhiều vấn đề có sản xuất mà khơng cần đến giác quan người Có hai phương pháp sử dụng luận án này: Xử lý tín hiệu ảnh mơ hình Phát đối tượng (độ xác đào tạo: 98%) Tơi định kết hợp hai phương pháp lại với để tăng độ xác, đồng thời giảm đáng kể thời gian xử lý từ lúc chụp đến lúc xuất tín hiệu Kết đáng khích lệ cho thấy mơ hình mạng thần kinh tích chập hoạt động tốt với việc xử lý liệu thời gian thưc Bất chấp sư phức tạp mạng lưới thần kinh, tảng điện toán nhúng Raspberry Pi hay NVIDIA Jetson Nano Kit đủ mạnh để hỗ trợ tầm nhìn ứng dụng điều khiển thời gian thưc dưa học tập sâu Do sư phức tạp mạng, máy tính nhúng xử lý mơ hình, cần thêm mơ hình để xử lý tác vụ khác cần đến máy tính nhúng thứ hai Vấn đề chúng quan sát thấy việc kiểm tra mạng độ trễ camera Nó định nghĩa khoảng thời gian từ cảm biến phát vật đến lúc máy tính thưc sư đọc liệu hình ảnh số hóa Thật khơng may, thời gian dài đáng kể tùy thuộc vào máy ảnh hiệu suất Jetson, khoảng 100-120 mili giây Điều cao đáng kể so với độ trễ nhận thức người, biết nhanh mili giây Độ trễ camera cao ảnh hưởng tiêu cưc đến hiệu suất điều khiển, đặc biệt ứng dụng quan trọng an tồn, mạng lưới thần kinh sâu phân tích cảnh cũ Có nhiều lĩnh vưc khám phá để đẩy dư án xa thu kết chí thuyết phục Trong tương lai, tiếp tục nghiên cứu cách để đạt độ xác dư đoán tốt việc đào tạo mạng, xác định sử dụng camera có độ trễ thấp, tăng them khả nhận dạng đa dạng máy tính với liệu lớn Hơn nữa, tiếp tục nghiên cứu, mở rộng phạm vi ứng dụng hệ thống Machine Vision việc phân loại để hạn chế tối thiểu tác động người đến khu vưc sản xuất, nhằm đảm bảo an tồn tối ưu hóa sản lượng 76 TÀI LIỆU THAM KHẢO Tiếng Việt [1]Vũ Hữu Tiệp.” Machine Learning Co Ban” Nha xuat ban Khoa Hoc va Ky Thuat [2]Nguyễn Thanh Tuấn (2019) “Deep Learning Cơ Bản” Ebook Tiếng Anh [3]LeCun, Y., Boser, B., Denker, J S., Henderson, D., Howard, R E., Hubbard, W., & Jackel, L D (1989) “Backpropagation applied to handwritten zip code recognition Neural computation”, 1(4), pp 541-551 [4]Krizhevsky, A., Sutskever, I., & Hinton, G E (2012) “Imagenet classification with deep convolutional neural networks In Advances in neural information processing systems” , pp 1097-1105 [5]N Otterness, M Yang, S Rust, E Park, J H Anderson, F D Smith, Berg, and S Wang (2017).” An Evaluation of the NVIDIA TX1 for Supporting RealTime Computer-Vision Workloads In IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS)”, pages 353–364 IEEE, [6]Srikanth Tammina (2019) “Transfer learning using VGG-16 with Deep Convolutional Neural Network for Classifying Images” ISSN 2250-3153 [7] Aurélien Géron (2019) “Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow” O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, pages 431-469 [8]Ding, Zhengming, and Yun Fu (2016) "Robust Transfer Metric Learning for Image Classification." IEEE Transactions on Image Processing [9]T.R Padmannabhan “Programming with Python” Springer 77 PHỤ LỤC Phụ lục 1: Chương trình huấn luyện mô hình nhận dạng #Import packages from keras.applications.vgg16 import VGG16 from keras.preprocessing import image from keras.preprocessing.image import ImageDataGenerator from keras.layers import Dense, Conv2D, MaxPool2D , Flatten from keras.applications.vgg16 import preprocess_input from keras.layers import Dense import numpy as np import keras from keras import models, layers, optimizers from keras.callbacks import TensorBoard import os, glob from sklearn.model_selection import train_test_split from keras.utils import np_utils from keras import backend as K import os import matplotlib.pyplot as plt from keras.callbacks import TensorBoard vgg_conv = VGG16(weights='imagenet', include_top=False, input_shape=(224, 22 4, 3)) # Freeze the layers except the last layers for layer in vgg_conv.layers[:-8]: layer.trainable = False # Check the trainable status of the individual layers # for layer in vgg_conv.layers: # Create the model 78 model = models.Sequential() # Add the vgg convolutional base model model.add(vgg_conv) # model.add(Conv2D(input_shape=(224,224,3),filters=16,kernel_size=(3,3),paddin g="same", activation="relu")) # model.add(MaxPool2D(pool_size=(2,2),strides=(2,2))) # model.add(Conv2D(filters=32,kernel_size=(3,3),padding="same", activation="rel u")) # model.add(MaxPool2D(pool_size=(2,2),strides=(2,2))) # model.add(Conv2D(filters=64, kernel_size=(3,3), padding="same", activation="re lu")) # model.add(MaxPool2D(pool_size=(2,2),strides=(2,2))) # model.add(Conv2D(filters=126, kernel_size=(3,3), padding="same", activation=" relu")) # model.add(MaxPool2D(pool_size=(2,2),strides=(2,2))) # model.add(Conv2D(filters=256, kernel_size=(3,3), padding="same", activation=" relu")) # model.add(MaxPool2D(pool_size=(2,2),strides=(2,2))) # model.add(Conv2D(filters=512, kernel_size=(3,3), padding="same", activation=" relu")) # model.add(MaxPool2D(pool_size=(2,2),strides=(2,2))) # Add new layers model.add(layers.Flatten()) model.add(layers.Dense(128, activation='relu')) model.add(layers.Dense(2, activation='softmax')) # Show a summary of the model Check the number of trainable parameters model.summary() train_datagen = ImageDataGenerator(rescale=1./255, horizontal_flip=True) 79 validation_datagen = ImageDataGenerator(rescale=1./255, horizontal_flip=True) # Change the batchsize according to your system RAM train_batchsize = val_batchsize = image_size = 224 logsdir = os.path.join(os.getcwd(),"logs_0410") train_dir = "D:\\Do an\\Dataset\\data\\train\\" validation_dir = "D:\\Do an\\Dataset\\data\\test\\" train_generator = train_datagen.flow_from_directory( train_dir, target_size=(image_size, image_size), batch_size=train_batchsize, class_mode='categorical') validation_generator = validation_datagen.flow_from_directory( validation_dir, target_size=(image_size, image_size), batch_size=val_batchsize, class_mode='categorical', shuffle=False) checkpoint_path = os.path.join(logsdir, "{epoch:04d}.h5") tensorboard = [TensorBoard(log_dir=logsdir, histogram_freq=0, write_graph=True, write_images=False), keras.callbacks.ModelCheckpoint(checkpoint_path, verbose=0, save_best_only=False, save_weights_only=False),] # Compile the model model.compile(loss='categorical_crossentropy', 80 optimizer=optimizers.Adam(lr=1e-5), metrics=['acc']) # Train the model history = model.fit_generator( train_generator, steps_per_epoch=train_generator.samples/train_generator.batch_size , epochs=20, validation_data=validation_generator, validation_steps=validation_generator.samples/validation_generator batch_size, verbose=1, callbacks=tensorboard) acc = history.history['acc'] val_acc = history.history['val_acc'] loss = history.history['loss'] val_loss = history.history['val_loss'] epochs = range(len(acc)) #Show plots plt.plot(epochs, acc, 'b', label='Training acc') plt.plot(epochs, val_acc, 'r', label='Validation acc') plt.title('Training and validation accuracy') plt.legend() plt.figure() plt.plot(epochs, loss, 'b', label='Training loss') plt.plot(epochs, val_loss, 'r', label='Validation loss') plt.title('Training and validation loss') plt.legend() plt.show() 81 Phụ lục 2: Chương trình chạy mô hình xử lý ảnh phát lỗi #Import Pakages import keras import cv2 import numpy as np import time import keras import os from keras.models import load_model from keras.preprocessing.image import ImageDataGenerator from matplotlib import pyplot as plt import matplotlib matplotlib.use('TkAgg') def findContours(img, numberOfContours, reverse = True): # tìm đường biên o bj # if dim(img) == 3: # raise Exception "The function should be give channel but got channels" #cv2.CHAIN_APPROX_SIMPLE or cv2.CHAIN_APPROX_NONE contours, hierarchy = cv2.findContours(img, cv2.RETR_TREE, cv2.CHAIN_AP PROX_SIMPLE) # reverse = True : Sort follow max area If False, sort follow area contours = sorted(contours, key = cv2.contourArea, reverse = reverse)[:numberO fContours] return contours def segmentation(img): 82 img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # chuyển thành ảnh g ray img_sub = cv2.subtract(img[:,:,0], img_gray) # lấy kênh red - ảnh gray img_sub[:100,:] = 255 #ret, img_bw = cv2.threshold(img_sub, 0, 255, cv2.THRESH_BINARY_INV + c v2.THRESH_OTSU) ret, img_bw = cv2.threshold(img_sub, 20, 255, cv2.THRESH_BINARY_INV) kernel = np.ones((7,7),np.uint8) img_bw = cv2.dilate(img_bw ,kernel,iterations = 3) contours = findContours(img_bw, 1) # tìm đường bao x_min, y_min, w, h = cv2.boundingRect(contours[0]) return img_bw, x_min, y_min, w, h def predict_img(img, model, threshold): img_bw, x_min, y_min, w, h = segmentation(img) img_obj = img[y_min - 10: y_min + 830, x_min - 20: x_min + 400] idx_left = np.where(img_bw[y_min + 100: y_min+750, x_min + 20 : x_min + 21 ]==0) idx_right = np.where(img_bw[y_min + 100: y_min+750, x_min - 20 + w: x_min + w - 19] == 0) if len(idx_left[0]) > 150 or len(idx_right[0]) > 150: print("Defective Can") print(len(idx_left[0]), len(idx_right[0])) return False if img_obj.shape[0] != img_obj.shape[1]*2: img_obj = cv2.resize(img_obj, (420, 840)) #bot print(img_obj.shape) 83 img = img_obj[420: 840, :] img = cv2.resize(img, (224, 224)) img = img*1./255 img = img.reshape(-1,224,224,3) output = model.predict(img) # [[0.3, 0.7]] if output[0][1] < threshold: return False #mid img = img_obj[210: 630, :] img = cv2.resize(img, (224, 224)) img = img*1./255 img = img.reshape(-1,224,224,3) output = model.predict(img) if output[0][1] < threshold: return False #top img = img_obj[0: 420, :] img = cv2.resize(img, (224, 224)) img = img*1./255 img = img.reshape(-1,224,224,3) output = model.predict(img) if output[0][1] < threshold: return False return True model = load_model("0012.h5") img = cv2.imread("virtual.jpg") 84 img = img*1./255 img = img.reshape(-1,224,224,3) _ = model.predict(img) print("Loaded model") import sys sys.path.append('/opt/nvidia/jetson-gpio/lib/python/') sys.path.append('/opt/nvidia/jetson-gpio/lib/python/Jetson/GPIO') import RPi.GPIO as GPIO import time # Pin Definitions #output_pin = 18 # BOARD pin 12, BCM pin 18 # Pin Setup: # Board pin-numbering scheme GPIO.setmode(GPIO.BCM) # set pin as an output pin with optional initial state of HIGH GPIO.setup(18, GPIO.OUT, initial=GPIO.LOW) GPIO.setup(23, GPIO.IN) # set pin as an input pin path = "/home/phamviet/Desktop/DATN/loi" files = [i for i in os.listdir(path) if i.endswith(".jpg")] n=0 cap_1 = cv2.VideoCapture(0) # camera cap_2 = cv2.VideoCapture(1) # camera try: while(True): start = time.time() 85 _, image_1 = cap_1.read() _, image_2 = cap_2.read() image_1 = cv2.transpose(image_1,0) image_2 = cv2.transpose(image_2,0) #image_1 = cv2.flip(image_1, 0) if GPIO.input(23) == GPIO.LOW: # tin hieu tu cam bien gui ve cv2.imshow("", cv2.resize(image_1, (240, 320))) if cv2.waitKey(1) == 27: break continue print("Co object") flag_inspection_1 = predict_img(image_1, model, 0.5) flag_inspection_2 = predict_img(image_2, model, 0.5) if flag_inspection_1 and flag_inspection_2: print("Ok") cv2.circle(image_1, (650, 70), 50, (0,255,0), -1) else: print("Defect") GPIO.output(18, GPIO.HIGH) time.sleep(0.5) GPIO.output(18, GPIO.LOW) cv2.circle(image_1, (650, 70), 50, (0,0,255), -1) n=n+1 cv2.imshow("", cv2.resize(image_1, (360, 640))) print("time: ", time.time()- start) if cv2.waitKey(1) == 27: 86 break finally: GPIO.cleanup() cv2.destroyAllWindows() 87 ... CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP 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 SVTH: PHẠM HỒNG VIỆT MSSV: 16151103 Khoá: K16 Ngành: CNKT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA... Minh, tháng năm 2020 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP 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... tháng năm 2020 Tên đề tài: Nghiên cứu ứng dụng Machine Vision phát sản phẩm lỗi công nghiệp Các số liệu, tài liệu ban đầu: Nội dung thưc đề tài: Tìm hiểu nghiên cứu hệ thống Machine Vision công

Ngày đăng: 22/12/2021, 06:02

Hình ảnh liên quan

trong máy ảnh công nghiệp có quang học chuyên dụng để thu được hình ảnh, phần cứng và phần mềm xử lý, phân tích, đo lường các đặc điểm khác nhau để ra quyết định. - (Đồ án tốt nghiệp) 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

trong.

máy ảnh công nghiệp có quang học chuyên dụng để thu được hình ảnh, phần cứng và phần mềm xử lý, phân tích, đo lường các đặc điểm khác nhau để ra quyết định Xem tại trang 22 của tài liệu.
Với khả năng năng phân tích hình ảnh, nhiều công cụ so sánh chính với sản phẩm tốt, hệ thống kiểm tra ngoại quan thị giác máy thay thế cho con người trong công đoạn kiểm tra này - (Đồ án tốt nghiệp) 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

i.

khả năng năng phân tích hình ảnh, nhiều công cụ so sánh chính với sản phẩm tốt, hệ thống kiểm tra ngoại quan thị giác máy thay thế cho con người trong công đoạn kiểm tra này Xem tại trang 27 của tài liệu.
Nhận biết và đánh giá các nội dung của ảnh là sư phân tích một hình ảnh thành những phần có ý nghĩa để phân biệt đối tượng này với đối tượng khác, dưa vào đó ta có thể mô tả cấu trúc của hình ảnh ban đầu - (Đồ án tốt nghiệp) 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

h.

ận biết và đánh giá các nội dung của ảnh là sư phân tích một hình ảnh thành những phần có ý nghĩa để phân biệt đối tượng này với đối tượng khác, dưa vào đó ta có thể mô tả cấu trúc của hình ảnh ban đầu Xem tại trang 32 của tài liệu.
2.2.3.2 Độ phân giải của ảnh - (Đồ án tốt nghiệp) 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

2.2.3.2.

Độ phân giải của ảnh Xem tại trang 35 của tài liệu.
Hình 2.13 Hình ảnh với độ phân giải khác nhau - (Đồ án tốt nghiệp) 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

i.

̀nh 2.13 Hình ảnh với độ phân giải khác nhau Xem tại trang 35 của tài liệu.
Tron gy học, các thuật toán xử lý ảnh cho phép biến đổi hình ảnh được tạo ra từ nguồn bức xạ X-ray hay nguồn bức xạ siêu âm thành hình ảnh quang học trên bề mặt phim X-quang hoặc trưc tiếp trên bề mặt màn hình hiển thị - (Đồ án tốt nghiệp) 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

ron.

gy học, các thuật toán xử lý ảnh cho phép biến đổi hình ảnh được tạo ra từ nguồn bức xạ X-ray hay nguồn bức xạ siêu âm thành hình ảnh quang học trên bề mặt phim X-quang hoặc trưc tiếp trên bề mặt màn hình hiển thị Xem tại trang 37 của tài liệu.
Hình 2.16 Hình ảnh minh họa các ứng dụng của xử lý ảnh trong thưc tế - (Đồ án tốt nghiệp) 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

i.

̀nh 2.16 Hình ảnh minh họa các ứng dụng của xử lý ảnh trong thưc tế Xem tại trang 39 của tài liệu.
Trong học sâu, một mô hình máy tính học cách thưc hiện các nhiệm vụ phân loại trưc tiếp từ hình ảnh, văn bản hoặc âm thanh - (Đồ án tốt nghiệp) 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

rong.

học sâu, một mô hình máy tính học cách thưc hiện các nhiệm vụ phân loại trưc tiếp từ hình ảnh, văn bản hoặc âm thanh Xem tại trang 45 của tài liệu.
Hình ảnh nhận được ban đầu là ảnh màu có ba kênh màu RGB. Khi muốn xử lý thông tin trên ảnh, sẽ dễ dàng hơn nếu ta chỉ xử lý dữ liệu trên một ma trận số thay vì nhiều ma trận số - (Đồ án tốt nghiệp) 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

nh.

ảnh nhận được ban đầu là ảnh màu có ba kênh màu RGB. Khi muốn xử lý thông tin trên ảnh, sẽ dễ dàng hơn nếu ta chỉ xử lý dữ liệu trên một ma trận số thay vì nhiều ma trận số Xem tại trang 52 của tài liệu.
Việc nhân tích chập này giúp mô hình trích xuất được các đặc trưng của dữ liệu đầu vào (ảnh) như biên, hình dạng và màu sắc của đối tượng trong dữ liệu đầu vào. - (Đồ án tốt nghiệp) 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

i.

ệc nhân tích chập này giúp mô hình trích xuất được các đặc trưng của dữ liệu đầu vào (ảnh) như biên, hình dạng và màu sắc của đối tượng trong dữ liệu đầu vào Xem tại trang 55 của tài liệu.
Cuối cùng ta có một mô hình convolutional neural network đầy đủ: Input image - (Đồ án tốt nghiệp) 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

u.

ối cùng ta có một mô hình convolutional neural network đầy đủ: Input image Xem tại trang 59 của tài liệu.
Hình 3.12 Sơ đồ so sánh hiệu suất mô hình trước và sau khi áp dụng transfer learning - (Đồ án tốt nghiệp) 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

i.

̀nh 3.12 Sơ đồ so sánh hiệu suất mô hình trước và sau khi áp dụng transfer learning Xem tại trang 62 của tài liệu.
Bảng 4.1 Thông số kỹ thuật của NVIDIA Jetson Nano GPU - (Đồ án tốt nghiệp) 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

Bảng 4.1.

Thông số kỹ thuật của NVIDIA Jetson Nano GPU Xem tại trang 79 của tài liệu.
• Dùng để kết nối máy tính, với màn hình HMI hay truyền thông PLC-PLC - (Đồ án tốt nghiệp) 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

ng.

để kết nối máy tính, với màn hình HMI hay truyền thông PLC-PLC Xem tại trang 83 của tài liệu.
Bảng 4.2 Thông số của các dòng PLC S7-1200 - (Đồ án tốt nghiệp) 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

Bảng 4.2.

Thông số của các dòng PLC S7-1200 Xem tại trang 85 của tài liệu.
4.2 Sơ đồ nối dây phần cứng - (Đồ án tốt nghiệp) 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

4.2.

Sơ đồ nối dây phần cứng Xem tại trang 85 của tài liệu.
Trong hình, hai Camera kết nối với Jetson Nano qua cổng USB. Khi cảm biến phát hiện được vật, PLC sẽ gửi tín hiệu chụp hình về Jetson Nano và thu được ảnh thông qua hai Camera - (Đồ án tốt nghiệp) 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

rong.

hình, hai Camera kết nối với Jetson Nano qua cổng USB. Khi cảm biến phát hiện được vật, PLC sẽ gửi tín hiệu chụp hình về Jetson Nano và thu được ảnh thông qua hai Camera Xem tại trang 86 của tài liệu.
Mô hình học sâu có xu hướng quá khớp (overfitting) với tập dữ liệu nhỏ vì có quá ít ví dụ để đào tạo, dẫn đến một mô hình có hiệu suất kém - (Đồ án tốt nghiệp) 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

h.

ình học sâu có xu hướng quá khớp (overfitting) với tập dữ liệu nhỏ vì có quá ít ví dụ để đào tạo, dẫn đến một mô hình có hiệu suất kém Xem tại trang 88 của tài liệu.
Khi chạy mô hình, ảnh sẽ được chia làm ba phần riêng biệt là top, bot, mid giống như lúc chuẩn bị bộ dữ liệu và được đưa lần lượt vào mô hình nhận dạng - (Đồ án tốt nghiệp) 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

hi.

chạy mô hình, ảnh sẽ được chia làm ba phần riêng biệt là top, bot, mid giống như lúc chuẩn bị bộ dữ liệu và được đưa lần lượt vào mô hình nhận dạng Xem tại trang 88 của tài liệu.
5.2 Làm giàu dữ liệu - (Đồ án tốt nghiệp) 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

5.2.

Làm giàu dữ liệu Xem tại trang 88 của tài liệu.
Trước khi chạy huấn luyện mô hình thì chúng ta cần thiết lập những thông số sau: - (Đồ án tốt nghiệp) 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

r.

ước khi chạy huấn luyện mô hình thì chúng ta cần thiết lập những thông số sau: Xem tại trang 90 của tài liệu.
Hình 5.8 Mô hình đang được huấn luyện - (Đồ án tốt nghiệp) 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

i.

̀nh 5.8 Mô hình đang được huấn luyện Xem tại trang 91 của tài liệu.
Sau khi được đào tạo trên máy tính, mô hình đã được sao chép trở lại Jetson Nano. Sau đó được đưa vào hệ thống Machine Vision được thiết kế từ trước và chạy đồng thời cùng PLC, hệ thống bang tải và cơ cấu chấp hành, sau khi cảm biến phát hiện được vật thì - (Đồ án tốt nghiệp) 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

au.

khi được đào tạo trên máy tính, mô hình đã được sao chép trở lại Jetson Nano. Sau đó được đưa vào hệ thống Machine Vision được thiết kế từ trước và chạy đồng thời cùng PLC, hệ thống bang tải và cơ cấu chấp hành, sau khi cảm biến phát hiện được vật thì Xem tại trang 93 của tài liệu.
Mô hình được đào tạo đã có thể đạt được một độ chính xác gần như tuyệt đối, hệ thống có thể hoạt động đúng với yêu cầu đặt ra là phát hiện sản phẩm lỗi bất kể vết móp nằm ở phía nào của lon đi nữa. - (Đồ án tốt nghiệp) 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

h.

ình được đào tạo đã có thể đạt được một độ chính xác gần như tuyệt đối, hệ thống có thể hoạt động đúng với yêu cầu đặt ra là phát hiện sản phẩm lỗi bất kể vết móp nằm ở phía nào của lon đi nữa Xem tại trang 93 của tài liệu.

Tài liệu cùng người dùng

Tài liệu liên quan