创新思维:设问法与5W1H在创新技法中的应用

需积分: 50 1 下载量 42 浏览量 更新于2024-08-25 收藏 3.72MB PPT 举报
"设问法—WHWH法-创新思维与方法" 设问法,又称为5W1H(6W2H)法,是一种创新思维与方法,它源自于创新技法,旨在帮助个体发现问题、提出问题并解决问题。这种方法的核心在于通过对事物进行连续的疑问,以激发创新思考和寻找解决方案。5W1H分别代表What(什么事)、Why(为什么)、Who(谁)、When(何时)、Where(何地)和How(如何),在一些情况下还会加入另外两个问题,即How much(多少)和How to(如何做),形成了6W2H。 创新技法在教育和科研活动中扮演着重要的角色,它们是推动创新活动的桥梁和船只,帮助人们跨越困难,实现创新。良好的方法能够最大化发挥个人的创新潜能,正如贝尔纳、黑格尔和笛卡儿等人的观点所强调的,有效的方法对于创造性思维至关重要。 本部分详细介绍了五种创新技法,包括: 1. 核检表法:奥斯本核检表法是一种创新工具,通过列出与问题或创新对象相关的问题,逐个检查、讨论,以发掘潜在的解决方案或创新想法。例如,考虑现有事物的其他用途、是否能改变形态或功能等。 2. 设问法:通过连续提问,如5W1H,帮助人们深入理解问题,引导创新思考,发现创新点。 3. 组合法:利用不同元素的组合产生新的产品、方法或观念,遵循一定的原则,如元素的相关性、互补性等。 4. 缺点逆用法:关注现有产品的不足之处,通过利用这些缺点,反向思考,实现产品的改进和创新。 5. 头脑风暴法:一种集体创新技法,鼓励参与者自由发表意见,不受限制地提出想法,通过群体智慧激发创新。 这些技法的应用不仅可以直接产生创新成果,还能培养人们的创新思维能力,提高创新的成功率。通过学习和实践这些方法,学生能够结合自身学习和科研实际,有效地开展创新活动。

代码解释# Process detections for i, det in enumerate(pred): # detections per image if webcam: # batch_size >= 1 p, s, im0 = path[i], '%g: ' % i, im0s[i].copy() else: p, s, im0 = path, '', im0s save_path = str(Path(out) / Path(p).name) s += '%gx%g ' % img.shape[2:] # print string gn = torch.tensor(im0.shape)[[1, 0, 1, 0]] # normalization gain whwh if det is not None and len(det): # Rescale boxes from img_size to im0 size det[:, :4] = scale_coords(img.shape[2:], det[:, :4], im0.shape).round() # Print results for c in det[:, -1].unique(): n = (det[:, -1] == c).sum() # detections per class s += '%g %ss, ' % (n, names[int(c)]) # add to string # Write results for *xyxy, conf, cls in det: if save_txt: # Write to file xywh = (xyxy2xywh(torch.tensor(xyxy).view(1, 4)) / gn).view(-1).tolist() # normalized xywh with open(save_path[:save_path.rfind('.')] + '.txt', 'a') as file: file.write(('%g ' * 5 + '\n') % (cls, *xywh)) # label format if save_img or view_img: # Add bbox to image label = '%s %.2f' % (names[int(cls)], conf) if label is not None: if (label.split())[0] == 'person': people_coords.append(xyxy) # plot_one_box(xyxy, im0, line_thickness=3) plot_dots_on_people(xyxy, im0) # Plot lines connecting people distancing(people_coords, im0, dist_thres_lim=(100, 150)) # Print time (inference + NMS) print('%sDone. (%.3fs)' % (s, t2 - t1)) # Stream results if 1: ui.showimg(im0) if cv2.waitKey(1) == ord('q'): # q to quit raise StopIteration # Save results (image with detections) if save_img: if dataset.mode == 'images': cv2.imwrite(save_path, im0) else: if vid_path != save_path: # new video vid_path = save_path if isinstance(vid_writer, cv2.VideoWriter): vid_writer.release() # release previous video writer fps = vid_cap.get(cv2.CAP_PROP_FPS) w = int(vid_cap.get(cv2.CAP_PROP_FRAME_WIDTH)) h = int(vid_cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) vid_writer = cv2.VideoWriter(save_path, cv2.VideoWriter_fourcc(*opt.fourcc), fps, (w, h)) vid_writer.write(im0)

2023-05-10 上传