九年级信息技术教案第2章程序开发初步基于智能的编程(Python语言)_第1页
九年级信息技术教案第2章程序开发初步基于智能的编程(Python语言)_第2页
九年级信息技术教案第2章程序开发初步基于智能的编程(Python语言)_第3页
九年级信息技术教案第2章程序开发初步基于智能的编程(Python语言)_第4页
九年级信息技术教案第2章程序开发初步基于智能的编程(Python语言)_第5页
已阅读5页,还剩8页未读 继续免费阅读

付费下载

VIP免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

九年级信息技术科教案备课序号:第节主备教师备课组长执行教学上课时间年月日教学内容基于智能的编程课型新授课教学目标知识与技能了解画风迁移问题,用程序实现画风迁移。过程与方法通过任务驱动和探究新知的教学方法,会编写程序自动识别图像中的物体。情感态度价值观激发学生解决问题的兴趣,感受智能程序的魅力,提高学习兴趣。。德育渗透提高学生信息手段的动手能力,学会利用信息技术解决实际问题教法与学法教法:任务驱动法、演示教学,学法:自主探究、小组合作教学重点编写程序自动识别图像中的物体教学难点掌握用程序分辨图中猫狗的实现方法。教学准备不同风格的画,猫,狗的图片教学过程个性思考导入近年来,随着机器学习、大数据等技术的发展,人工智能技术也得到了新的发展。为了方便人们根据自己的需要编写、开发各种智能程序,研究人员开发出了PyTorch、Tensorflow等编程库。下面以Tensorflow为例,体验几种智能程序的开发过程。展示一些不同风格的画:一、画风迁移不同的创作形式,其作品通常具有不同的的风格。让计算机学习某种风格的艺术作品,然后就可以让它依据那种风格,改编其他图像了。下面利用已训练好的模型编写具有类似功能的程序。编程之前,至少需要准备两张图:一张是代表了某种艺术风格的图像、一张是准备修改的图像。此外,还要准备存放有模型的文件夹arbitrary-image-stylization-v1-256。学生任务【一】实现画风迁移的程序。新建一个文件夹,把图像和模型保存到里面。把程序文件style_artist.py也复制进去,然后根据注释了解各段的功能。importmatplotlib.pylabaspltimportnumpyasnpimporttensorflowastfimporttensorflow_hubashub#加载模块hub_module=hub.load('arbitrary-image-stylization-v1-256')#加载要学习风格的图像style_image=plt.imread('type/type01.jpg')#进行必要的数据处理style_image=style_image.astype(np.float32)[np.newaxis,...]/255style_image=tf.image.resize(style_image,(256,256))#加载要修改的图像content_image=plt.imread('img/001.jpg')content_image=content_image.astype(np.float32)[np.newaxis,...]/255#开始风格迁移outputs=hub_module(tf.constant(content_image),tf.constant(style_image))stylized_image=outputs[0]#显示修改后的效果plt.imshow(stylized_image[0])plt.axis('off')plt.show()3、修改程序,选择一图用于学习风格,另一图用于迁移修改。然后运行程序,观察运行后的效果。二、识人识物师:通过智能程序,可以让计算机自动识别图像中的人、物体等。与前面类似,下面利用一个已经训练好的模型来编写具有类似功能的程序。活动前,需要准备存放模型的文件夹mobilenet_v2和几张用于识别测试的图像。学生任务【二】感受可以从图像中识别人和物的程序。新建一个文件夹,把图像和模型保存到里面。复制并打开名为master.py的程序文件,根据其中的注释,了解各段的功能。importcv2fromrandomimportrandintimporttensorflowastfimporttensorflow_hubashubimg_file='img/001.jpg' #指定要识别的图像#tf加载图像并进行必要的预处理img=tf.io.read_file(img_file)img=tf.image.decode_jpeg(img,channels=3)c_img=tf.image.convert_image_dtype(img,tf.float32)[tf.newaxis,...]#加载模型detector=hub.load('./mobilenet_v2').signatures['default']#检测图像,得到对象名称、评估分数和区域范围等result=detector(c_img)names=result["detection_class_entities"].numpy()scores=result["detection_scores"].numpy()boxs=result["detection_boxes"].numpy()#opencv加载图像用于显示cimg=cv2.imread(img_file)im_h,im_w=cimg.shape[:2]ifim_h>800:im_w=int(im_w/(im_h/800));im_h=800cimg=cv2.resize(cimg,(im_w,im_h))index=0 #变量index用于记录标出的对象数量font=cv2.FONT_HERSHEY_PLAIN#变量font对应文字的字体forscore,name,boxinzip(scores,names,boxs):#评估分数超过0.1,标记的对象数小于5ifscore>0.1andindex<5:#把检测结果中的对象区域坐标转换成图像中的坐标left,right=int(box[1]*im_w),int(box[3]*im_w),top,bottom=int(box[0]*im_h),int(box[2]*im_h)#随机生成一种颜色,然后画矩形框color=(randint(0,255),randint(0,255),randint(0,255))obj_rect=left,top,right-left,bottom-topcv2.rectangle(cimg,obj_rect,color,2)#把检测的名字和评分转换成要显示的字符,并显示dstr=f'{name.decode("ascii")}:{int(score*100)}%'cv2.putText(cimg,dstr,(left,top),font,1,(255,0,255),2)index=index+1cv2.imshow("image",cimg)cv2.waitKey(0)cv2.destroyAllWindows()运行程序,观察程序的识别效果。三、猫狗分类师:通过编写智能程序,也能让计算机对某些照片进行分类,比如对猫和狗的照片进行分类。同样的,这个活动也要调用预先已经训练好的模型进行编程。活动前,应当先准备好要用的模型文件cat-dog.h5,并找几张猫和狗的图像文件。学生任务【三】用程序区分猫和狗的图像。新建一个文件夹,把图像和模型保存到里面。其中猫和狗的图像文件建议保存到test子文件夹中。复制并打开名为cat_or_dog.py的程序文件,了解各段的功能。importcv2importnumpyasnpfromtensorflow.kerasimportmodelsfromkeras_preprocessingimportimage#加载模型model=models.load_model('cat-dog.h5')#显示模型信息model.summary()fn=f'test/lele03.jpg' #指定用于检测的文件#用tensorflow中的image加载文件,并进行必要的数据处理img=image.load_img(fn,target_size=(150,150))data=image.img_to_array(img)data=np.expand_dims(data,axis=0)/255.#利用模型进行预测,即判断,结果为0表示猫,1表示狗p=model.predict(data)p=int(p[0])#用opencv加载文件用于显示cimg=cv2.imread(fn)dstr=f'{["CAT","DOG"][p]}' #把结果转换成CAT或DOGfont=cv2.FONT_HERSHEY_PLAINcv2.putText(cimg,dstr,(200,200),font,5,(255,255,0),4)cv2.imshow("image",cimg)cv2.waitKey(0)cv2.destroyAllWindows()修改程序代码,指定要检测文件,然后运行程序,观察检测结果。在运行程序的过程中,计算机会显示类似下面的信息。==============================================================Totalparams:23,616,001Trainableparams:51,201Non-trainableparams:23,564,800小结:这个信息展示了所用模型的内部结构,总体上看,它有3层,第一层最为重要,是计算机进行深度学习时经常使用的resnet50网络,即残差网络。图像特征识别等主要功能都由这个网络完成,总计有2300多万个参数。虽然在这里看起来只是一层,但实际上它可以视为一个含有50层结构的超级网络。具体的工作原理非常复杂。后面两层flatten和dense相对简单,主要用于处

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论