1. Trang chủ
  2. » Luận Văn - Báo Cáo

ỨNG DỤNG CÔNG NGHỆ học sâu để PHÂN LOẠI và KIỂM TRA CHẤT LƯỢNG THUỐC CHỮA BỆNH

123 180 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 123
Dung lượng 5,18 MB

Nội dung

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CƠ KHÍ BỘ MÔN CƠ ĐIỆN TỬ ────────── ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHUYÊN NGÀNH: KỸ THUẬT CƠ ĐIỆN TỬ ỨNG DỤNG CÔNG NGHỆ HỌC SÂU ĐỂ PHÂN LOẠI VÀ KIỂM TRA CHẤT LƯỢNG THUỐC CHỮA BỆNH Sinh viên thực : Giảng viên hướng dẫn Giảng viên duyệt : : HÀ NỘI 01/2019 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM VIỆN CƠ KHÍ Độc lập – Tự – Hạnh phúc BỘ MÔN CƠ ĐIỆN TỬ NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Sinh viên thực hiện: Đề tài: “Ứng dụng công nghệ học sâu để phân loại kiểm tra chất lượng thuốc chữa bệnh” Nội dung: - Tìm hiểu, nghiên cứu mơ hình phân loại kiểm tra chất lượng sản phẩm; - Thiết kế, chế tạo mơ hình thực tế; - Ứng dụng phương pháp xử lý ảnh phân loại; - Tiến hành chạy mô hình đưa kết thực nghiệm Nội dung thuyết minh Chương Tổng quan phân loại kiểm tra chất lượng sản phẩm ứng dụng xử lý ảnh Chương Tính tốn thiết kế hệ thống khí Chương Hệ thống điện - điều khiển Chương Phần mềm xử lý ảnh Chương Xây dựng mơ hình hệ thống thực nghiệm Kết luận Phụ lục Code sử dụng Bản vẽ Tên vẽ Số lượng Kích cỡ Bản vẽ lắp khí 01 A0 Bản vẽ sơ đồ điện 01 A0 Bản vẽ sơ đồ khí nén 01 A0 Tổng số vẽ 03 A0 Hà Nội, ngày….tháng 01 năm 2019 Trưởng môn Cán hướng dẫn Sinh viên thực (kí, ghi rõ họ tên) (kí, ghi rõ họ tên) (kí ghi rõ họ tên) NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN - TIẾN TRÌNH THỰC HIỆN ĐỒ ÁN - NỘI DUNG ĐỒ ÁN - HÌNH THỨC TRÌNH BÀY Thuyết minh: Bản vẽ: NHẬN XÉT KHÁC Ý KIẾN ĐÁNH GIÁ Hà Nội, ngày….tháng 01 năm 2019 GIÁO VIÊN HƯỚNG DẪN NHẬN XÉT CỦA GIÁO VIÊN DUYỆT - TIẾN TRÌNH THỰC HIỆN ĐỒ ÁN - NỘI DUNG ĐỒ ÁN - HÌNH THỨC TRÌNH BÀY Thuyết minh: Bản vẽ: NHẬN XÉT KHÁC Ý KIẾN ĐÁNH GIÁ Hà Nội, ngày….tháng 01 năm 2019 GIÁO VIÊN DUYỆT ĐỒ ÁN TỐT NGHIỆP GVHD: TS MỤC LỤC MỤC LỤC LỜI CẢM ƠN DANH MỤC HÌNH ẢNH DANH MỤC CÁC BẢNG LỜI NÓI ĐẦU ĐẶT VẤN ĐỀ CHƯƠNG 1: TỔNG QUAN VỀ HỆ PHÂN LOẠI VÀ KIỂM TRA CHẤT LƯỢNG SẢN PHẨM ỨNG DỤNG XỬ LÝ ẢNH 1.1 Giới thiệu chung hệ thống phân loại sản phẩm 1.1.1 Phân loại sản phẩm theo kích thước sử dụng cảm biến quang .1 1.1.2 Phân loại sản phẩm theo màu sắc sử dụng cảm biến màu sắc 1.1.3 Phân loại sản phẩm xử lý ảnh 1.2 Ý nghĩa ứng dụng hệ thống CHƯƠNG 2: TÍNH TỐN THIẾT KẾ HỆ THỐNG CƠ KHÍ 2.1 Yêu cầu thiết kế 2.2 Mơ hình đề xuất 2.3 Lựa chọn, tính tốn thiết kế phận hệ thống khí 2.3.1 Băng tải 2.3.2 Động 14 2.3.3 Ổ lăn 17 2.3.4 Hệ thống chiếu sáng 18 2.3.5 Hệ thống xi lanh – khí nén 21 2.3.6 Hệ cấp phôi tự động 22 Kết luận chương 34 CHƯƠNG 3: HỆ THỐNG ĐIỆN – ĐIỀU KHIỂN 36 3.1 Các thành phần hệ thống điều khiển 36 3.1.1 Cảm biến 36 3.1.2 Camera 37 3.1.3 PLC S7-1200 39 3.2 Thiết kế TIA Portal V14 41 3.2.1 TIA Portal V14 41 3.2.2 Các biến sử dụng chương trình 42 3.2.3 Bài toán điều khiển 43 ĐỒ ÁN TỐT NGHIỆP GVHD: TS 3.2.4 Thiết kế hệ thống giám sát SCADA – giao diện HMI 46 3.2.5 Bài toán kết nối PLC với Python - Darkflow 47 Kết luận chương 49 CHƯƠNG 4: PHẦN MỀM XỬ LÝ ẢNH 50 4.1 Tổng quan công nghệ xử lý ảnh 50 4.1.1 Điểm ảnh liệu 50 4.1.2 Độ sâu màu sắc 51 4.2 Học máy, Học sâu 51 4.2.1 Học máy, học sâu 52 4.2.2 Mạng nơ-ron nhân tạo 53 4.2.3 Thuật toán tối ưu hàm mát (Loss Function Optimization Algorithms) 56 4.3 Mạng Nơ-ron tích chập 58 4.4 Ứng dụng Convolutional Neural Network để giải toán 63 4.4.1 Xây dựng hệ thống giao tiếp với thiết bị ngoại vi (Camera) 64 4.4.2 Xây dựng học mạng mạng neural nhận diện đối tượng 66 4.4.3 Xây dựng học mạng mạng neural kiểm tra đối tượng .71 Kết luận chương 75 CHƯƠNG 5: XÂY DỰNG MƠ HÌNH HỆ THỐNG VÀ THỰC NGHIỆM 76 5.1 Xây dựng mơ hình thực nghiệm 76 5.2 Kết thực nghiệm 80 KẾT LUẬN 81 TÀI LIỆU THAM KHẢO 82 PHỤ LỤC LỜI CẢM ƠN “Nếu em qua phố nhỏ Bách Khoa Nhớ mang cho chùm lăng cuối hạ, Nơi bè bạn đêm ngày hối Mùa thi cuối cùng, mai hết tuổi sinh viên Nếu em ký túc xá mùa thi Nhớ mang giùm tơi oi nồng nhà B6 Có buồn vui tơi cịn Kỷ niệm nhạt nhịa nên thấy rưng rưng…” Năm năm giấc mơ: năm có sơi sục nhiệt huyết tuổi trẻ, có hồn nhiên rung động lứa tuổi lớn, có niềm vui cậu tuổi đơi mươi, có hờn dỗi lần bực tức cãi vã, có niềm tin ước mơ, hy vọng… Vội vã, luyến tiếc nhiều thứ, phải trưởng thành Nhóm xin gửi lời cảm ơn chân thành tới thầy cô Viện Cơ khí, Bộ mơn Cơ điện tử trường Đại học Bách Khoa Hà Nội đặc biệt thầy giáo TS Nguyễn Thành Hùng Em chúc thầy, cô luôn mạnh khỏe, nhiệt huyết để dạy bảo, dẫn, giúp đỡ hệ sinh viên tiếp theo, nên thợ, nên người Cuối lời cảm ơn đến gia đình, anh em, bạn bè khóa Cảm ơn ngày khó khăn nhất, cảm ơn chia sẻ niềm vui, nỗi buồn Tại ngày ánh mặt trời rực rỡ chói chang nhất, biết có nhiều thứ kết thúc Sau này, đường đời đơng đúc, đứa hào quang sáng chói, đứa ảm đạm chán chường, đừng quên ngồi chung giảng đường, đau đầu kỳ thi khốn khổ… Thì, đợi trời tắt nắng hạ, dọn dẹp chỗ ngồi, đóng cửa vào, khóa lại đôi mươi Vài năm lẻ, tạm biệt thời học chúng ta! Hà Nội, ngày 14 tháng 01 năm 2019 Nhóm sinh viên DANH MỤC HÌNH ẢNH Chương Hình 1 Cảm biến quang nhiều mức Hình Các loại cảm biến màu sắc Hình Kiểm tra dược phẩm Hình Kiểm tra phụ tùng xe Hình Kiểm tra thực phẩm Chương Hình Sản phẩm tiến hành kiểm tra Hình 2 Mơ hình đề xuất Hình Băng tải cơng nghiệp Hình Sơ đồ hệ thống phân loại sản phẩm 10 Hình Đồ thị biểu diễn trình tăng tốc – giảm tốc băng tải 11 Hình Đồ thị biểu diễn trình tăng tốc – giảm tốc băng tải 12 Hình Mặt cắt dây đai 12 Hình Các lực tác dụng lên băng tải 13 Hình Động điện chiều 14 Hình 10 Động DLSHV 16 Hình 11 Chọn ổ lăn 1000099 17 Hình 12 Hệ thống chiếu sáng Dome Light 18 Hình 13 Mơ hình bố trí hệ thống chiếu sáng 19 Hình 14 Mơ hình cụm chiếu sáng thực tế nhóm lắp đặt 20 Hình 15 Thơng số kỹ thuật xilanh CDJ2B16 Series 21 Hình 16 Giải thích ý nghĩa ký tự tên xi lanh 21 Hình 17 Bố trí hệ cụm xi lanh 22 Hình 18 Kích thước đối tượng 22 Hình 19 Cấu tạo phễu cấp phôi rung động 24 Hình 20 Cơ cấu cấp phơi rung động dạng phễu có máng xoắn vít 25 Hình 21 Hình chuyển động chi tiết bị ném lên 29 Hình 22 Cuộn dây 32 Chương Hình Cảm biến tiệm cận 36 Hình Cảm biến Omron E3F-DS30B4 (PNP) 37 Hình 3 Bộ phận hệ thống xử lý ảnh công nghiệp 37 Hình Các thơng số Lens Camera 38 Hình Logitech C270 HD Webcam 39 Hình Thành phần PLC S7-1200 40 Hình Các tích hợp PLC S7-1200 40 Hình Chuẩn PROFINET 41 Hình Lập trình mơ phịng TIA Portal V14 41 Hình 10 Các tính nâng cao 42 Hình 11 Lưu đồ điều khiển 43 Hình 12 Lưu đồ thuật tốn điều khiển cấu chấp hành PLC 45 Hình 13 Giao diện thiết kế 46 Hình 14 Xuất liệu Excel 46 Hình 15 Mơ hình truyền thông Snap7 47 Hình 16 Danh sách tương thích với giao thức S7 48 Chương Hình Biểu diễn ảnh xám dạng số 50 Hình Độ sâu màu sắc ảnh hiển thị tương ứng 51 Hình Tổng quan AI 52 Hình 4 Nơ-ron sinh học 53 Hình Neural Network 54 Hình Neural Network – hidden layer 55 Hình Khảo sát hàm f(x) 57 Hình Mơ hình mạng nơ-ron tích chập 58 Hình Minh họa lọc kích thước 4x4 59 Hình 10 Ví dụ Conv Layer 60 Hình 11 Max-pooling 61 Hình 12 Average-Pooling 61 Hình 13 Cấu trúc Convolutional Neural Networks 62 Hình 14 Nhận dạng đối tượng với YOLO 63 Hình 15 Nguyên lý nhận diện đối tượng YOLO 64 Hình 16 Chương tình chụp ảnh 64 Hình 17 Giải thuật chương trình chụp ảnh 65 Hình 18 Tạo liệu đầu vào 66 Hình 19 Thư mục lưu file *.xml *.txt 67 Hình 20 Các thơng số đầu vào cho mạng 67 Hình 21 Lưu đồ giải thuật 68 Hình 22 Học mạng theo chương trình darkflow 69 Hình 23 Kết nhận diện đối tượng 70 Hình 24 Quy trình tạo đối tượng cho mạng 73 Hình 25 Kết nhận diện khuyết tật 74 Chương Hình Mơ hình thực nghiệm 76 Hình Cấp phôi 77 Hình Chụp ảnh xử lý 78 Hình Đẩy sản phẩm khỏi băng tải 79 DANH MỤC CÁC BẢNG Chương Bảng Các thông số ban đầu thiết kế phễu rung 26 Bảng 2 Bảng chi tiết cụm chi tiết hệ thống khí 34 Chương Bảng Phân loại khuyết tật 71 Bảng Các phương pháp nhận diện khuyết tật bề mặt 72 ĐỒ ÁN TỐT NGHIỆP GVHD: TS Nguyễn Thành Hùng def loadImage(self): # load image imagepath = self.imageList[self.cur - 1] self.img = Image.open(imagepath) size = self.img.size self.factor = #self.factor = max(size[0]/1000, size[1]/1000., 1.) self.img = self.img.resize((int(size[0]/self.factor), int(size[1]/self.factor))) self.tkimg = ImageTk.PhotoImage(self.img) self.mainPanel.config(width = max(self.tkimg.width(), 400), height = max(self.tkimg.height(), 400)) self.mainPanel.create_image(0, 0, image = self.tkimg, anchor=NW) self.progLabel.config(text = "%04d/%04d" %(self.cur, self.total)) # load labels self.clearBBox() #self.imagename = os.path.split(imagepath)[-1].split('.')[0] fullfilename = os.path.basename(imagepath) self.imagename, _ = os.path.splitext(fullfilename) labelname = self.imagename + '.txt' xmlname = self.imagename + '.xml' self.labelfilename = os.path.join(self.outDir, labelname) self.xmlfilename = os.path.join(self.xmlDir, xmlname) bbox_cnt = if os.path.exists(self.labelfilename): with open(self.labelfilename) as f: for (i, line) in enumerate(f): if i == 0: bbox_cnt = int(line.strip()) continue #tmp = [int(t.strip()) for t in line.split()] tmp = line.split() tmp[0] = int(int(tmp[0])/self.factor) tmp[1] = int(int(tmp[1])/self.factor) tmp[2] = int(int(tmp[2])/self.factor) tmp[3] = int(int(tmp[3])/self.factor) self.bboxList.append(tuple(tmp)) color_index = (len(self.bboxList)-1) % len(COLORS) tmpId = self.mainPanel.create_rectangle(tmp[0], tmp[1], \ tmp[2], tmp[3], \ width = 2, \ outline = COLORS[color_index]) #outline = COLORS[(len(self.bboxList)-1) % len(COLORS)]) self.bboxIdList.append(tmpId) self.listbox.insert(END, '%s : (%d, %d) -> (%d, %d)' %(tmp[4], tmp[0], tmp[1], tmp[2], tmp[3])) self.listbox.itemconfig(len(self.bboxIdList) - 1, fg = COLORS[color_index]) #self.listbox.itemconfig(len(self.bboxIdList) 1, fg = COLORS[(len(self.bboxIdList) - 1) % len(COLORS)]) def saveImage(self): if self.labelfilename == '': return with open(self.labelfilename, 'w') as f: f.write('%d\n' %len(self.bboxList)) for bbox in self.bboxList: f.write("{} {} {} {} {}\n".format( ĐỒ ÁN TỐT NGHIỆP GVHD: TS Nguyễn Thành Hùng int(int(bbox[0])*self.factor), int(int(bbox[1])*self.factor), int(int(bbox[2])*self.factor), int(int(bbox[3])*self.factor), bbox[4])) imagepath = self.imageList[self.cur - 1] im = Image.open(imagepath) #print("Factor: %f" %self.factor) createXMLAnnotation(os.path.split(imagepath)[-1], self.bboxList, im.size, self.xmlfilename, self.factor) print('Image No %d saved' %(self.cur)) def mouseClick(self, event): if self.STATE['click'] == 0: self.STATE['x'], self.STATE['y'] = event.x, event.y else: x1, x2 = min(self.STATE['x'], event.x), max(self.STATE['x'], event.x) y1, y2 = min(self.STATE['y'], event.y), max(self.STATE['y'], event.y) self.bboxList.append((x1, y1, x2, y2, self.currentLabelclass)) self.bboxIdList.append(self.bboxId) self.bboxId = None self.listbox.insert(END, '%s : (%d, %d) -> (%d, %d)' %(self.currentLabelclass, x1, y1, x2, y2)) self.listbox.itemconfig(len(self.bboxIdList) - 1, fg = COLORS[(len(self.bboxIdList) - 1) % len(COLORS)]) self.STATE['click'] = - self.STATE['click'] def mouseMove(self, event): self.disp.config(text = 'x: %d, y: %d' %(event.x, event.y)) if self.tkimg: if self.hl: self.mainPanel.delete(self.hl) self.hl = self.mainPanel.create_line(0, event.y, self.tkimg.width(), event.y, width = 2) if self.vl: self.mainPanel.delete(self.vl) self.vl = self.mainPanel.create_line(event.x, 0, event.x, self.tkimg.height(), width = 2) if == self.STATE['click']: if self.bboxId: self.mainPanel.delete(self.bboxId) COLOR_INDEX = len(self.bboxIdList) % len(COLORS) self.bboxId = self.mainPanel.create_rectangle(self.STATE['x'], self.STATE['y'], \ event.x, event.y, \ width = 2, \ outline = COLORS[len(self.bboxList) % len(COLORS)]) def cancelBBox(self, event): if == self.STATE['click']: if self.bboxId: self.mainPanel.delete(self.bboxId) self.bboxId = None self.STATE['click'] = def delBBox(self): sel = self.listbox.curselection() if len(sel) != : return idx = int(sel[0]) self.mainPanel.delete(self.bboxIdList[idx]) ĐỒ ÁN TỐT NGHIỆP self.bboxIdList.pop(idx) self.bboxList.pop(idx) self.listbox.delete(idx) GVHD: TS Nguyễn Thành Hùng def clearBBox(self): for idx in range(len(self.bboxIdList)): self.mainPanel.delete(self.bboxIdList[idx]) self.listbox.delete(0, len(self.bboxList)) self.bboxIdList = [] self.bboxList = [] def prevImage(self, event = None): self.saveImage() if self.cur > 1: self.cur -= self.loadImage() def nextImage(self, event = None): self.saveImage() if self.cur < self.total: self.cur += self.loadImage() def gotoImage(self): idx = int(self.idxEntry.get()) if max_con: idx = i max_con = result1 = results[idx] print(result1) elif len(results) == 1: result1 = results[0] else: result1 = [] return(result1) def VideoCapture(num): # Input is the camera cap = cv.VideoCapture(num) # Check if camera opened successfully if (cap.isOpened() == False): print("Error opening camera!") else: ĐỒ ÁN TỐT NGHIỆP GVHD: TS Nguyễn Thành Hùng print("Camera Opened!") while(cap.isOpened()): cap.set(cv.CAP_PROP_FRAME_WIDTH, 1280) cap.set(cv.CAP_PROP_FRAME_HEIGHT, 720) # Capture frame-by-frame ret, img = cap.read() cv.imshow('Live Stream',img) if not ret: break cv.waitKey(1) k = ReadMemory(plc,300,0,S7WLReal) # Capturing: if k == 1: cv.imwrite("C:/Users/nguye/Desktop/Shot/Capture.JPG", img) break # # Press Q on keyboard to exit # elif k & 0xFF == ord('q'): # break # When everything done, release the video capture object cap.release() return img "============================ if MAIN =================================" name == " main ": "========= Init =========" # Color colorBoxNG = (0,0,255) #RED colorBoxOK = (255,255,255) #WHITE colorTxt = (255,0,0) #BLUE # Connect PLC plc = c.Client() plc.connect('192.168.0.100',0,1) "========= NHAN DANG =========" #===============NG or OK===============# # Create the Net via options tfnet = tfnet_init('DRUG') tfnet_err = tfnet_init('NG') # Check while True: # Capturing an image now = time.time() num = img = VideoCapture(num) #img = cv.imread('2.JPG',cv.IMREAD_COLOR) # cv.imshow("Snapshot", img) img = cv.GaussianBlur(img,(5,5),0) lọc dst = img.copy() result1 = Predictions(dst) #Choose Camera #Bộ ĐỒ ÁN TỐT NGHIỆP GVHD: TS Nguyễn Thành Hùng # Check OK or NG ok = results_err = tfnet_err.return_predict(dst) if len(results_err) > 0: print(str(len(results_err))+' Cracks detected!') ok = #Show result if result1 == []: #0: Cannot detect anything print("Cannot detect anything") else: #Draw errors for result in results_err: tl = (result['topleft']['x'], result['topleft']['y']) br = (result['bottomright']['x'], result['bottomright']['y']) label = result['label'] = result['confidence'] dst = cv.rectangle(dst, tl, br, colorBoxNG, 2, cv.LINE_AA) dst = cv.putText(dst, label + ':' + str(int(con*100)) + '%', tl, cv.FONT_HERSHEY_COMPLEX, 0.5, colorTxt, 1, cv.LINE_AA) #Type tl = (result1['topleft']['x'], result1['topleft']['y']) br = (result1['bottomright']['x'], result1['bottomright']['y']) label = result1['label'] = result1['confidence'] if label == 'P.MOL.TAB': if ok == 0: dst = cv.rectangle(dst, tl, br, colorBoxNG, 2, cv.LINE_AA) dst = cv.putText(dst, label + ' - NG' + ': ' + str(int(con*100)) + '%', tl, cv.FONT_HERSHEY_COMPLEX, 0.75, colorTxt, 1, cv.LINE_AA) print('Detected:' + label + '- NG') WriteMemory(plc,100,0,S7WLReal,1) #1: NG else: dst = cv.rectangle(dst, tl, br, colorBoxOK, 2, cv.LINE_AA) dst = cv.putText(dst, label + ' - OK' + ': ' + str(int(con*100)) + '%', tl, cv.FONT_HERSHEY_COMPLEX, 0.75, colorTxt, 1, cv.LINE_AA) print('Detected:' + label + '- Pass') WriteMemory(plc,100,0,S7WLReal,2) #2: Tron print (ReadMemory(plc,100,0,S7WLReal)) elif label == 'P.DOL.EXTRA': if ok == 0: dst = cv.rectangle(dst, tl, br, colorBoxNG, 2, cv.LINE_AA) dst = cv.putText(dst, label + ' - NG' + ': ' + str(int(con*100)) + '%', tl, cv.FONT_HERSHEY_COMPLEX, 0.75, colorTxt, 1, cv.LINE_AA) print('Detected:' + label + '- NG') WriteMemory(plc,100,0,S7WLReal,1) #1: NG else: dst = cv.rectangle(dst, tl, br, colorBoxOK, 2, cv.LINE_AA) dst = cv.putText(dst, label + ' - OK' + ': ' + str(int(con*100)) + '%', tl, cv.FONT_HERSHEY_COMPLEX, 0.75, colorTxt, 1, cv.LINE_AA) print('Detected:' + label + '- Pass') ĐỒ ÁN TỐT NGHIỆP GVHD: TS Nguyễn Thành Hùng WriteMemory(plc,100,0,S7WLReal,3) #3: Dai print (ReadMemory(plc,100,0,S7WLReal)) else: pass if cv.waitKey(25) & 0xFF == ord('q'): break # Show Everything cv.imshow('Result', dst) #cv.imwrite('C:/Users/nguye/Desktop/Result.JPG',dst) print(time.ctime(int(now))) print('  ') [4] Các lệnh training darkflow python flow model cfg/yolov2-tiny-voc-3c.cfg load bin/yolov2-tiny-voc.weights train annotation Drug_Data/OK3c_img_xml dataset Drug_Data/OK3c_img labels labels3c.txt gpu 0.75 python flow model cfg/yolov2-tiny-voc-3c.cfg load 1750 train annotation Drug_Data/OK3c_img_xml/ dataset Drug_Data/OK3c_img/ labels labels3c.txt gpu 0.75 python flow imgdir TEST_OK3c_img/ model cfg/yolov2-tiny-voc-3c.cfg load 5000 labels labels3c.txt threshold 0.1 gpu 0.75 python flow model cfg/yolov2-tiny-voc-4c.cfg load 5000 labels labels4c.txt –savepb python flow imgdir TEST_NG4c_img/ pbLoad built_graph/yolov2-tiny-voc-4c.pb -metaLoad built_graph/yolov2-tiny-voc-4c.meta threshold 0.1 gpu 0.75 [5] Chương trình PLC T o t a l l y I n t e g r a t e d A u t o m a t i o n P o r t a l CODE_VER / PLC_1 [CPU 1214C DC/DC/DC] / Program blocks Main [OB1] Main Properties General Name Main Numbering Automatic Information Title "Main Program Sweep (Cy‐ cle)" Version 0.1 Main Number Author User-defined ID Type Comment OB Name Data type Default value Supervisio Com n Input Bool Bool Initial_Call Remanence Temp Constant Initia =Tru Network 1: Bat tat %M10.0 "SML_ON" %Q0.0 "DC bang tai" S %I1 "Nut St art" "real_ti time_L HOU == USInt me" OC R == USInt M0.7 ag_9" S "real_time" time_LOC MINUTE "real_time" time_LOC SECOND == USInt %M10.1 "SML_OFF" %I1 "Nut St % " T %Q0.0 "DC bang tai" R %M0.7 "Tag_9" R op" "real_time" time_LOC HOUR == USInt 21 %DB8 "Timer cap phoi" %M0.7 "Tag_9" TON Time "Timer cap phoi".Q IN PT T#5S "Timer cap phoi".ET >= Time T#4S Network 2: Q ET %Q0.1 "DC cap phoi" %I0.0 "Cam bien tiem can" P %M1.0 "TG0" %M0.0 "Bit trung gian 0" S Tin hieu CB %M10.3 "SML_CB" %DB2 "timer 1.5s" %M0.0TON "Bit trung gian 0"Time IN T#4SPT Q ET %M0.0 "Bit trung gian 0" R T o t a l l y I n t e g r a t e d A u t o m a t i o n P o r t a l %Q0.0 "DC bang tai" "timer 1.5s".ET == Time T#2S R %M0.2 "Tin hieu chup anh" "timer 1.5s".ET >= Time T#3S_900MS %M10.4 "SML_SIMU" Network 3: "timer 1.5s".ET >= Time T#1S_400MS "timer 1.5s".ET Time T#2S_500MS "T2 day sp".ET < Time T#3S %MW100 "Phan loai" == Word 16#3F80 %Q0.2 "Van 1" %DB3 "CTU_SP1" CTU Int CUQ Network 4: %M10.2 "SML_RESET" 10 Day sp "T2 day sp".ET >= Time T#5S %MW100 "Phan loai" == Word 16#4000 %DB1.DBW0 CV"DB1".SP1 R PV %Q0.3 "Van 2" %DB4 "CTU_SP2" CTU Int CUQ %M10.2 "SML_RESET" 10 %MW100 "Phan loai" == Word 16#4040 "T2 day sp".ET >= Time T#5S_400MS R PV CV %DB1.DBW2 "DB1".SP2 %DB7 "CTU_SP3" CTU Int CUQ %M10.2 "SML_RESET" 10 R PV CV %DB1.DBW10 "DB1".SP3 Network 5: MO phong T o t a l l y I n t e g r a t e d A u t o m a t i o n P o r t a l %FC1 "SML" ENENO Network 6: bat webserver WWW 333 EN CTRL_DB ENO RET_VAL Network 7: bat dem thoi gian thuc %MD200 "Tag_1" RD_SYS_T DTL ENENO "real_time" Ret_SYS RET_VAL"real_time" time_real_SYS OUT RD_LOC_T DTL ENENO "real_time" Rets_LOC RET_VAL "real_time" time_LOC OUT Network 8: EN "real_time" time_LOC IN T_CONV DTL TO Time_Of_Day ENO "real_time" conver_time OUT ... học sâu để phân loại kiểm tra chất lượng thuốc chữa bệnh? ?? Nội dung: - Tìm hiểu, nghiên cứu mơ hình phân loại kiểm tra chất lượng sản phẩm; - Thiết kế, chế tạo mơ hình thực tế; - Ứng dụng phương... thực đề tài “ Ứng dụng công nghệ học sâu để phân loại kiểm tra chất lượng thuốc chữa bệnh? ?? Việc tạo hệ thống giúp doanh nghiệp loại bỏ sản phẩm lỗi, cung cấp sản phẩm chất lượng đến tay khách hàng... TỔNG QUAN VỀ HỆ PHÂN LOẠI VÀ KIỂM TRA CHẤT LƯỢNG SẢN PHẨM ỨNG DỤNG XỬ LÝ ẢNH 1.1 Giới thiệu chung hệ thống phân loại sản phẩm 1.1.1 Phân loại sản phẩm theo kích thước sử dụng cảm biến

Ngày đăng: 18/03/2022, 11:47

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w