版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7页,共44页1.以下哪个数据集以超过1400万张标注图像和基于WordNet的层次分类著称,广泛用于图像分类任务?A、CIFAR-10B、MNISTC、PASCALVOCD、ImageNet2.使用人脸数据集(如CelebA)时,需特别注意哪项伦理问题?A、图像分辨率过低B、数据标注不准确C、隐私保护和合规授权D、类别不平衡3.如何避免因网络问题导致爬虫程序崩溃?A、捕获requests.exceptions.RequestException异常B、增加timeout=10参数C、同时使用A和BD、不做任何处理4.若图片链接为相对路径(如/images/logo.png),应使用哪种方法补全完整URL?A、使用urljoin(base_url,img_src)B、直接拼接域名:base_url+img_srcC、手动添加协议头:https://+img_srcD、忽略相对路径5.以下代码片段的作用是?importrequestsresponse=requests.get(url,headers={"User-Agent":"Mozilla/5.0"})A、设置代理IPB、限制请求超时时间C、禁用SSL证书验证D、添加请求头模拟浏览器访问6.使用requests库下载网页内容时,正确获取二进制响应数据的方法是?A、response.textB、response.contentC、response.json()D、response.headers7.在语音识别任务中,预处理通常不包括哪一步?A、标注文本内容B、分帧和加窗C、提取MFCC特征D、静音消除
8.以下哪种情况可能导致预处理后的语音失真?A、使用汉明窗(HammingWindow)B、提取MFCC特征C、统一采样率为16kHzD、过高的降噪阈值9.MFCC(梅尔频率倒谱系数)提取的主要目的是?A、压缩语音文件体积B、增强语音中的低频成分C、提取表征语音内容的特征向量D、标注说话人身份10.以下哪种工具常用于语音预处理中的频谱分析?A、torchvisionB、PhotoshopC、MySQLD、Librosa(Python库)11.以下哪项是语音预处理的常见操作?A、分帧(Framing)和加窗(Windowing)B、将单声道转换为立体声C、标注说话人性别D、为音频添加混响效果12.语音数据预处理中,“重采样”(Resampling)的主要目的是?A、增强语音情感表达B、压缩音频文件大小C、删除背景噪音D、统一音频文件的采样率13.语音标注完成后,数据预处理的典型步骤不包括?A、去除静音片段B、调整音频文件的采样率C、导出结构化标签文件(如JSON)D、为标注结果添加艺术特效14.标注语音数据时,遇到背景噪音较大的音频应如何处理?A、直接忽略噪音继续标注B、删除该音频文件C、标注噪音类型并记录可能影响的语音部分D、仅标注清晰的语音片段15.使用LabelStudio标注语音时,以下哪项操作是可行的?A、直接编辑音频频谱图B、实时调整麦克风灵敏度C、为语音片段添加时间戳标签和文本注释D、自动消除所有背景噪音16.在Praat中,标注语音段落后通常生成的文件格式是?A、MP3B、JSONC、CSVD、TextGrid17.在语音转写任务中,标注者最需要关注的是?A、语音内容与文本的一致性B、音频的频谱图形状C、说话人的口音是否标准D、录音设备的品牌18.以下哪种标注类型通常用于语音情感分析?A、标注音素边界B、标记说话人的情感状态(如愤怒、喜悦)C、记录音频采样率D、标注麦克风型号19.以下哪种设备最适合高质量语音采集?A、手机内置麦克风B、蓝牙耳机C、笔记本电脑扬声器D、专业指向性麦克风20.以下哪种环境对语音数据采集的影响最大?A、背景音乐和交通噪音B、安静的房间C、标准录音棚D、无回声实验室21.以下哪个是公开语音数据集的典型例子?A、某公司内部客服录音库B、LibriSpeechC、个人家庭录音合集D、社交媒体私密语音消息22.使用公开语音数据集(如TIMIT)的主要优势是?A、完全无需标注即可直接使用B、包含大量隐私敏感信息C、提供标准化基准和可复现性 D、仅支持英语语音研究23.标注数据预处理通常包括以下哪项?A、为文本添加艺术效果B、去除噪声数据(如乱码、重复文本)C、将文本转换为音频D、调整文本字体格式24.构建高质量标注数据集的关键步骤是?A、减少标注人员数量B、仅使用自动化工具标注C、制定明确的标注准则并定期校验D、忽略标注者的反馈25.标注一致性(AnnotationConsistency)指的是什么?A、标注速度是否足够快B、标注数据的存储方式C、标注工具是否稳定D、不同标注者对同一文本的标注结果是否一致26.以下哪个工具是常用的文本标注工具?A、PhotoshopB、PowerPointC、LabelStudioD、LabelImg27.以下哪种任务属于文本标注的典型应用?A、命名实体识别(NER)B、语音合成C、图像分类D、语音翻译28.文本标注的主要操作是什么?A、生成新的文本内容B、为文本添加结构化标签或注释C、删除文本中的冗余信息D、将文本翻译成其他语言29.如何用IQR(四分位距)法定义'age'列的异常值阈值(下限和上限)?A、Q1=df['age'].quantile(0.25)Q3=df['age'].quantile(0.75)lower,upper=Q1-1.5*(Q3-Q1),Q3+1.5*(Q3-Q1)B、lower,upper=df['age'].mean()-3*df['age'].std(),df['age'].mean()+3*df['age'].std()C、lower,upper=df['age'].min(),df['age'].max()D、lower,upper=df['age'].median()-1.5*df['age'].mad(),df['age'].median()+1.5*df['age'].mad()30.对于时间序列数据,如何用线性插值填充缺失值?df=pd.DataFrame({'date':pd.date_range('2023-01-01',periods=5),'value':[1,None,None,4,5]})A、df.fillna(method='ffill')B、erpolate(method='linear')C、df.replace(np.nan,df.mean())D、df.dropna()31.如何删除df中'B'列存在缺失值的行?A、df.dropna(subset=['B'])B、df[df['B'].notna()]C、df.dropna(how='all')D、A和B32.如何筛选df中'age'大于30的行?A、df[df.age>30]B、df.query('age>30')C、df.filter(df.age>30)D、A和B33.如何检查DataFrame中是否有完全重复的行?A、df.duplicated().sum()B、df.drop_duplicates()C、df.is_unique()D、df.count()34.如何删除DataFrame中包含缺失值的所有行?importpandasaspddf=pd.DataFrame({'A':[1,None,3],'B':[4,5,None]})A、df.dropna(axis=1)B、df.fillna(0)C、df.replace(None,0)D、df.dropna()35.以下哪种方法可以正确提取多个同类元素文本?A、response.xpath("//div").extract()B、response.css("div::text").get()C、response.css("div").extract_first()D、response.xpath("//div/text()").getall()36.以下哪个是SpiderMiddleware的典型应用场景?A、给Items的字段赋值或更新值B、处理下载超时C、动态更换代理IPD、解析JSON响应37.Scrapy的Item类的主要用途是?A、定义爬虫的起始URLB、管理爬虫并发数C、封装结构化数据(如爬取的字段名和值)D、处理HTTP响应头38.Scrapy处理请求的完整流程是?A、Downloader→Spider→Scheduler→PipelineB、Scheduler→Spider→Downloader→PipelineC、Spider→Scheduler→Downloader→PipelineD、Spider→Downloader→Scheduler→Pipeline39.Scrapy的DownloaderMiddleware的主要作用是?A、定义爬取规则B、处理请求和响应(如更换User-Agent、代理IP)C、存储数据到数据库D、生成爬虫代码40.部署Scrapy-Redis分布式爬虫时,必须确保?A、所有机器使用同一Redis数据库B、所有机器安装相同版本的PythonC、所有爬虫实例共享同一个redis_keyD、A和C41.Scrapy-Redis的核心功能是?A、替换Scrapy的下载器B、实现分布式爬取和请求去重C、提供可视化爬虫监控D、自动生成爬虫代码42.Scrapy的核心组件Spider的作用是?A、负责数据存储B、管理下载延迟C、定义爬取规则和解析逻辑D、处理反爬机制43.自动驾驶数据集中,对行人标注通常需要:A、仅标注行人整体B、标注行人+阴影C、标注行人+遮挡部分(即使不可见)D、忽略小尺度行人44.对标注图像进行水平翻转时,边界框坐标应如何调整?A、仅x坐标变为图像宽度-x_maxB、x_min和x_max互换,并镜像计算新坐标C、无需调整D、删除该标注45.关键点标注(KeypointAnnotation)常用于以下哪种任务?A、图像分类B、文本识别C、图像超分辨率D、人脸特征点检测或姿态估计46.以下哪个工具是开源的图像标注工具?A、AdobePhotoshopB、3DMaxC、LabelImgD、AutoCAD47.以下哪种标注方式适合检测图像中的物体位置?A、分类标签(ClassLabel)B、语义分割(SemanticSegmentation)C、边界框(BoundingBox)D、图像标题(ImageCaptioning)48.图像标注的核心目的是什么?A、美化图片B、为图像添加结构化标签,供机器学习模型训练C、压缩图像大小D、修改图像分辨率49.如何将RGB图像转为单通道灰度图?A、transforms.RandomGrayscale(p=1)B、transforms.ToTensor()后取均值C、transforms.Normalize(mean=[0.5],std=[0.5])D、transforms.Grayscale()50.如何将图像的最小边缩放到256,并保持宽高比?A、transforms.Resize((256,256))B、transforms.Resize(256)C、transforms.RandomResizedCrop(256)D、transforms.CenterCrop(256)51.以下代码的正确执行顺序是?transforms.Compose([transforms.RandomResizedCrop(224),transforms.RandomHorizontalFlip(),transforms.ToTensor(),transforms.Normalize(mean=[0.485,0.456,0.406],std=[0.229,0.224,0.225])])A、张量转换→归一化→裁剪→翻转B、翻转→裁剪→归一化→张量转换C、裁剪→翻转→张量转换→归一化D、顺序无关紧要52."以下哪种操作可以增加训练数据的多样性?transforms.RandomHorizontalFlip(p=0.5)#1transforms.RandomRotation(30)#2transforms.Resize(256)#3A、仅1B、1和2 C、1和3D、全部53.以下代码中transforms.Normalize()的参数mean=[0.5,0.5,0.5]和std=[0.5,0.5,0.5]的作用是?transforms.Normalize(mean=[0.5,0.5,0.5],std=[0.5,0.5,0.5])A、对图像进行标准化(减均值除标准差)B、对图像进行中心裁剪C、将像素值从[0,255]映射到[0,1]D、将像素值从[0,1]映射到[-1,1]54.以下代码的作用是什么?fromtorchvisionimporttransformstransform=transforms.Compose([ansforms.ToTensor()])A、将PIL图像或NumPy数组转换为PyTorch张量(Tensor)B、将张量归一化到[0,1]范围C、调整图像大小D、将图像转为灰度图55.如果soup.find("span")未找到标签,返回什么?A、NoneB、空列表[]C、报错D、空字符串""56.如何选择class="active"的所有<div>标签?A、soup.find_all("div",class_="active")B、soup.select("div.active")C、soup.find_all("div",{"class":"active"})D、以上全部57.如何获取以下HTML中<li>的文本?<ulclass="list"><li>Item1</li></ul>A、soup.ul.li.textB、soup.find("ul",class_="list").find("li").textC、soup.select("ul.list>li")[0].textD、以上全部58.soup.find("div")和soup.find_all("div")的区别是?A、前者返回第一个匹配的标签,后者返回列表B、前者返回所有匹配的标签,后者返回第一个C、功能完全相同D、前者支持CSS选择器,后者不支持59.如何获取以下HTML中所有<a>标签的href属性?<div><ahref="">Link</a></div>A、soup.find("a")["src"]B、soup.select("a").hrefC、soup.a.get("href")D、soup.find_all("a")[0].href60.以下代码的作用是什么?frombs4importBeautifulSoupsoup=BeautifulSoup("<html><p>Hello</p></html>","html.parser")print(soup.p.text)A、输出<p>Hello</p>B、输出HelloC、报错D、输出None二、多选题(共10题,每题2分,共20分)1.常见的语音降噪方法有哪些A、傅里叶变换 B、基于频谱的降噪C、Wiener滤波降噪 D、自适应噪声抑制2.语音预处理常见的工具有哪些?A、Librosa B、Scipy C、NoiseReduce D、torchvision3.以下哪些是常见的语音数据公开数据集A、VoxCeleb B、LibriSpeech C、TIMIT D、ST-CMDS4.常见语音采集方法包括以下哪些A、众包平台 B、公开数据集 C、应用程序采集 D、现场录音5.关于文本数据标注说法正确的有A、labelImg是一种常见的文本数据标注工具B、labelstudio是一种常见的文本数据标注工具 C、文本数据标注时不用写明标注指南,因为标注人员都清楚怎样标注 D、标注完成的数据可以是JSON、CSV或者其他标注文件格式6.以下哪些是常见的文本标注类型A、文本分类标注、关系抽取、对话标注B、句法依存分析、情感标注C、命名实体识别、事件标注D、词性标注、序列标注7.处理文本中的缺失值时,以下哪些方法是合理的?A、直接删除包含缺失值的样本B、用“unknown”填充缺失的字段C、用随机文本生成缺失部分D、保留缺失值并在模型中特殊处理8.文本数据清洗一般需要做以下哪些操作?A、数值转描述性变量 B、重复值处理C、空值处理 D、异常值处理9.使用Scrapy和Redis实现分布式爬虫程序时,以下哪些说法是正确的?A、在Pipelines.py文件定义数据存储逻辑类,并在settings.py文件的ITEM_PIPELINES选项启用该类B、settings.py文件中DOWNLOADER_MIDDLEWARES是可以定义要启用的下载中间件类C、在spider程序中定义prase方法解析数据时,可以使用yield返回对象D、如果需要在Redis中存储数据,可以不用配置相关参数 10.自然语言处理(Neuro-LinguisticProgramming,NLP)领域有很多公开的标准数据集,以下哪些是常见的公开数据集A、IMDB电影评论数据集B、WMT(WorkshoponMachineTranslation)数据集C、SQuAD(StanfordQuestionAnsweringDataset)数据集D、OpenSubtitles数据集11.关于Scrapy-Redis库说法正确的有A、使用Scrapy-Redis库不用自行安装Redis软件,也不需要提前启动,启用爬虫程序时会自动触发相关软件启动B、启用scrapy-redis可以在可以在scrapy项目settings.py文件中配置Redis连接,并启用相关中间件C、爬虫程序需要继承scrapy_redis.spiders的RedisSpider类 D、使用Scrapy-Redis库时不需要在爬虫程序定义parse(self,response)方法 12.以下关于scrapy爬虫框架中settings.py设置项说法正确的有?A、DOWNLOAD_TIMEOUT=15表示设置爬虫时每次下载超时时间,单位为秒B、USER_AGENT_LIST参数可以设置多个user-agentC、RETRY_ENABLED=True表示启用请求重试机制D、HTTP_PROXY='xy.server:port'表示设置的代理地址是xy.server:port13.scrapy爬虫程序运行的方法有哪几种?A、在操作系统中使用命令运行爬虫B、通过scrapy的cmdline控制运行C、使用scrapy的crawler中CrawlerProcess接口控制运行D、以上方式都不可以14.假设有如下爬虫程序,则关于其说明正确的有哪些?frommyproject.itemsimportMyItemclassExampleSpider(scrapy.Spider):name='example’start_urls=['/']defparse(self,response): A、name变量是爬虫的名字,属于必须定义字段B、start_urls是初始的UR列表,也就是要爬取网站,是数组类型C、ExampleSpider类可以不用继承scrapy.Spider类,不需要额外添加控制逻辑也可以在scrapy组件间通信D、parse(self,response)函数在每次URL完成下载后都调用,解析返回的网页数据,然后生成下一页的请求URL15.使用命令scrapystartprojectdataProject创建名为dataProject的爬虫项目,以下说法正确的有A、创建项目会生成Items.py文件,该文件用于定义爬取的数据结构,通常在这里创建Item类,用于存储爬取到的数据字段B、创建项目会生成Middlewares.py文件,该文件包含自定义的请求和响应处理逻辑,用于修改请求、处理响应、处理错误等C、创建项目会生成Pipelines.py文件,该文件负责处理爬取到的数据,例如清洗、验证和存储到数据库或文件中D、创建项目会生成Settings.py文件,主要用于配置全局选项,如用户代理、延迟、并发请求数等16.Scrapy是一个用于爬取网站并从页面中提取结构化数据的开源和协作框架,关于其组成部分说法正确的有A、ScrapyEngine:控制整个系统的数据流处理,负责Spider、ItemPipeline、Downloader、Scheduler之间通讯、信号、数据传递等B、Spider:用来定义要爬取的网站、如何解析网页内容等,从引擎接收URL并返回解析结果,处理所有Responses,获取Item字段,将需要跟进的URL提交给引擎,再次进入调度器C、Scheduler:负责接收引擎发送过来的请求,管理待执行的请求队列,决定下一个请求是什么,确保每个请求都只执行一次D、Downloader:在Scheduler发送Request给Downloader之前修改Request,在Response发送到Spider之前对其进行修改,负责下载网页内容,并将下载的内容返回给Spider17.以下哪些因素可能直接影响图像标注质量?A、标注人员的专业培训程度B、标注指南的清晰度和完整性C、标注工具的界面颜色是否美观D、标注过程中的多人交叉验证机制18.以下哪些工具可以用于图像标注?A、Labelme B、LabelImg C、praat D、labelstudio19.常见的图像标注类型有哪些A、关键点标注 B、图片属性标注 C、区域标注 D、线标注20.如果需要把图像进行模糊化处理,可以使用哪些图像预处理操作?A、均值滤波 B、直方图修正 C、高斯滤波 D、增大像素对比度 21.如果需要把图像进行清晰化处理,可以使用哪些图像预处理操作?A、直方图修正 B、均值滤波 C、高斯滤波 D、增大像素对比度22.如果使用代码"importtorchvision.transformsasT”导入依赖库,则如下代码说法正确的有A、改变图像颜色饱和度可以使用类似如下代码:transform=T.ColorJitter(brightness=0.3,contrast=0.3,saturation=0.3,hue=0.4)result=transform(img)B、图像随机仿射变换可以使用类似如下代码:transform=T.RandomAffine(degrees=20,translate=None,scale=None,shear=0.3,resample=False,fillcolor=0)result=transform(img) C、随机选择预处理操作可以使用类似如下代码:transform=T.RandomApply(transforms,p=0.5)D、随机灰度变换操作可以使用类似如下代码:transform=T.RandomGrayscale(p=0.8)result=transform(img)23.常见的图像预处理操作中,对图像进行增强可以使用以下哪些方法?A、直方图均衡化B、颜色饱和度增强C、图像滤波D、图像几何变换24.以下关于代码说明错误的有哪些?A、构造请求头user-agent信息可以用如下代码:headers={"user-agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/96.0.4664.110Safari/537.36"}B、url是需要爬取的数据地址,发起请求可以使用如下代码:response=requests.get(url,headers)获取返回文本数据使用如下代码:html_data=etree.HTML(response.text)C、如下代码中param参数只能有一个值,不可以是字典类型request=requests.get(url=url,headers=header,params=param)D、如下代码是表示读取图片数据image_data:withopen(os.path.join(save_dir,f'{n:06d}.jpg'),'wb')asfp:fp.write(image_data)25.以下哪些是常见的图像公开数据集?A、ImageNet B、COCO C、PascalVOC D、OpenImagesDataset26.为应对网站反爬机制需要反反反爬策略,常见的策略有哪些?A、增加请求频率B、降低请求频率C、设置合法的请求头(如User-Agent、Referer),模拟浏览器访问D、通过代理IP池轮换IP地址,避免被封禁27.以下关于soup=BeautifulSoup(html_content,'lxml')创建BeautifulSoup对象soup使用方法描述正确的有()A、指定解析器是lxml B、如果要查找soup中所有p标签可以使用find_all('p') C、如果要查找属性class为"content"的<p>标签可以使用find('p',class_='content') D、如果要查找soup中所有p标签可以使用find_all('p',class_='content')28.关于Xpath语法说法正确的包括()A、@是获取属性值B、[]可以用于通过索引选择节点C、contains()判断属性中是否含有某个值D、text()提取节点的文本内容29.关于如下代码说法正确的包括哪些?importrequestsurl='/tipdm/index.html'#生成get请求rqg=requests.get(url)A、rqg.status_code是获取请求状态B、rqg.encoding是查看请求编码格式C、rqg.headers是查看响应头D、rqg.text查看返回的文本内容30.爬虫采集图像一般包括以下哪个步骤A、选择合适的目标网站B、选择合适的爬虫工具C、编写爬虫脚本D、增加反反爬机制三、简答题(共8题)1.某农业科技公司计划开发一套基于视觉的农田害虫识别系统,要求支持对稻田、果园、蔬菜大棚三种场景下的常见害虫(如蚜虫、蝗虫、红蜘蛛等)进行实时检测与分类。系统需满足以下需求:1数据采集1)覆盖不同时间段(清晨、正午、傍晚)、光照条件(强光、弱光、逆光)及天气状况(晴天、阴天、小雨)的图像数据,总计不少于10万张。2)需包含害虫不同生命周期阶段(幼虫、成虫、虫卵)及多种姿态(飞行、爬行、静止)的样本。3)需考虑背景干扰(如叶片遮挡、土壤反光)及多害虫同时出现的复杂场景。2数据预处理原始图像存在模糊(因风抖动)、过曝/欠曝、虫体与背景颜色相近等问题。3数据标注需标注害虫的类别标签(如“蚜虫-成虫”)、边界框(BoundingBox)及虫体关键点(如头部、腹部、翅膀连接点等5个关键点)。请根据以上要求设计完整的数据采集与预处理解决方案,重点说明:1)如何保障数据多样性及质量控制措施;2)针对复杂背景干扰的预处理方法;3)标注流程的验收标准与效率优化策略。参考答案:1.数据采集方案1.1多模态数据源1)真实采集:使用高分辨率工业相机(分辨率≥4K,帧率60fps)搭载无人机与田间固定摄像头,覆盖稻田、果园、蔬菜大棚三种场景,每个场景采集不同时段(清晨、正午、傍晚)各30小时有效数据。针对小雨天气,采用防水透明罩保护设备,并使用补光灯增强弱光环境下的图像质量。2)仿真生成:通过3D建模软件生成害虫生命周期各阶段(幼虫、成虫、虫卵)的虚拟样本,并混合真实背景(如叶片纹理、土壤颜色)生成合成数据。使用GAN(生成对抗网络)生成逆光、过曝等极端光照条件下的图像。1.2公开数据集整合整合IP102(昆虫分类数据集)、PlantVillage(植物病害数据集)中与害虫相关的子集,补充不同地域、季节的样本。1.3质量校验1)对采集图像进行自动筛选:剔除模糊度超过阈值或害虫占比过小(<1%)的样本。2)人工复核:随机抽检10%的合成数据,确保虚拟样本与真实场景的融合合理性。2.数据预处理流程1)图像增强。使用自适应直方图均衡化处理过曝/欠曝图像,增强虫体与背景的对比度。修复因风抖动导致的模糊图像。2)背景干扰抑制。基于U-Net分割模型提取虫体区域,去除叶片遮挡或土壤反光的影响;对虫体与背景颜色相近的图像,使用GrabCut算法进行前景分割并手动修正。3)数据扩增:对虫体区域进行随机旋转(±15°)、缩放(0.8~1.2倍)、颜色抖动(亮度/对比度±20%),生成多样化样本。3.数据标注方案3.1标注工具与流程1)使用Labelme进行害虫类别与边界框标注,关键点标注通过自定义工具。2)标注流程分两阶段:初标(外包团队)→复核(农业专家),复核通过率需≥95%。3.2验收标准1)边界框IoU≥0.9(与专家标注对比),关键点定位误差≤2像素;2)每日随机抽检10%的标注结果,错误率超过3%则重标该批次。3.3效率优化1)开发半自动标注工具:通过预训练模型(如YOLOv8)生成初始标注,人工修正错误;2)使用大模型标注。2.某自动驾驶团队需构建一个用于城市道路行人检测的视觉模型,要求:1)数据采集:收集覆盖白天、夜间、雨天、雾天四种场景的图像数据,总计不少于5万张,需包含不同行人姿态(行走、奔跑、静止)和遮挡情况(部分遮挡、完全遮挡)。2)数据预处理:原始图像存在运动模糊、光照不均、传感器噪点等问题。3)数据标注:需标注行人边界框(BoundingBox)及关键点(头部、肩部、膝盖等14个关键点)。请设计完整的数据采集与预处理解决方案,重点说明数据多样性保障与质量控制措施。参考答案:1数据采集方案1.1多模态数据源1)真实采集:使用8摄像头阵列的采集车(分辨率≥1920×1080,帧率30fps),覆盖早高峰、晚高峰、午夜等时段,每个城市采集20小时有效数据;2)仿真生成:通过软件生成极端天气场景(暴雨、沙尘暴),使用软件算法混合真实与虚拟数据;1.2公开数据集:1)整合CityPersons、CaltechPedestrian关键子集。(只要回答到公开数据集即可,不必指明具体数据集名称)1.3质量校验1)对生成图像进行质量检验,剔除不符合要求的图片;2数据预处理流程1)对图像进行清晰化处理,如直方图修正、对比度增强,新生成的数据保存;2)对图像进行几何变换操作,如旋转、翻转等,生成新数据样本保存;3)对图像进行统一大小、滤波生成新数据样本保存;3.数据标注1)使用LabelImg关键点精细化标注;2)限定验收标准:边界框IoU≥0.85(与人工标注金标准对比),关键点定位误差≤3像素,每日随机抽检5%标注结果;4.隐私与合规1)对行人身份脱敏;2)对人脸进行高保真替换;3)车牌信息模糊化处理;3.在AI模型开发中,数据采集与预处理是关键环节。请回答以下问题:1)数据采集的主要方法有哪些?请列举至少三种并简要说明其适用场景。2)数据预处理中,为什么需要进行数据清洗?请举例说明常见的数据清洗操作。参考答案:1.数据采集的主要方法及适用场景1)网络爬虫(WebScraping):适用于从网页中提取结构化或非结构化数据(如文本、图像)。需注意合法性(如遵守robots.txt)和反爬机制。2)API接口调用:适用于从第三方平台(如Twitter、天气数据API)获取实时或授权数据,需遵循API使用条款。3)传感器/IoT设备采集:适用于工业监测、环境数据(如温度、湿度)的实时采集,需处理设备噪声和传输延迟。4)数据库导出:适用于从企业数据库(如MySQL、MongoDB)中提取历史数据,需注意数据权限和格式转换。2.数据清洗的重要性及常见操作1)重要性:原始数据常包含缺失值、重复值、异常值或噪声,直接使用会导致模型偏差或性能下降。2)常见操作:缺失值处理:删除含缺失值的样本,或用均值/中位数填充数值型数据,用众数填充类别型数据。重复值删除:识别并删除完全重复的记录。异常值检测:通过统计方法(如Z-Score)或可视化(箱线图)识别并修正异常值(如替换为边界值或删除)。4.现有1000张图片大小不一致的数据集,需要对图片进行预处理操作,要求增强数据集中图片质量和数量,要求预处理后数据集有4000张图片,将处理后的图像进行命名(要求通过名称可以识别为同一源图生成)保存,请给出代码设计思路。参考答案:1、定义图像预处理操作集合transform1,包括色彩饱和度增强、颜色变换;(2分)2、定义图像预处理操作集合transform2,包括垂直翻转、左右翻转、旋转操作;(2分)3、定义图像预处理操作集合transform3,包括直方图均衡化、锐化、模糊化、过度曝光操作;(2分)4、读取照片数据集,循环对每张照片做以下操作:1)统一大小,并按要求命名保存图片1-0;2)读取图1-0,调用transform1,使用transform1做预处理概率设为1,生成的图片命名为1-1并保存图片;3)再读取图1-0,分别调用transform2、transform3,预处理概率都设为1,生成的图片命名为1-2、1-3,保存图片;(4分)四、综合设计题(共1题,每题20分,共20分)1.完成新闻网站爬虫信息爬虫,题目要求如下:1)使用Scrapy-Redis实现分布式架构;2)存储到MySQL数据库;3)要求实现反爬措施动态User-Agent、IP代理池支持、自动重试机制(HTTP500状态码重试);爬取字段:标题、内容、发布时间、作者、阅读量。请根据以上要求完成如下代码补充:1.请补充完善settings.py中MySQL配置和请求重试配置;BOT_NAME='news_crawler'SPIDER_MODULES=['news_crawler.spiders']#Scrapy-Redis配置SCHEDULER="scrapy_redis.scheduler.Scheduler"DUPEFILTER_CLASS="scrapy_redis.dupefilter.RFPDupeFilter"REDIS_URL='redis://:password@:6379/1'#MySQL配置#反爬配置ITEM_PIPELINES={'news_crawler.pipelines.MySQLPipeline':300,}DOWNLOADER_MIDDLEWARES={'news_crawler.middlewares.RandomProxyMiddleware':543,'news_crawler.middlewares.RetryMiddleware':550,'scrapy.downloadermiddlewares.retry.RetryMiddleware':None,}2.请补充items.py中NewsItem(scrapy.Item)类代码;importscrapyclassNewsItem(scrapy.Item):3.请补充完善pipelines.py中数据库配置读取open_spider(self,spider)函数和数据存储函数process_item(self,item,spider);importMySQLdbfromtwisted.enterpriseimportadbapiclassMySQLPipeline:def__init__(self):
self.cursor=None
self.connection=None#数据库配置读取,不必创建表defopen_spider(self,spider):#定义数据存储方法defprocess_item(self,item,spider):4.请补充完善middlewares.py中RandomProxyMiddleware类的代理设置函数process_request;importrandomfromscrapy.downloadermiddlewares.retryimportRetryMiddlewareclassRandomProxyMiddleware:PROXY_LIST=[':8080',':8080']#代理设置defprocess_request(self,request,spider):classRetryMiddleware(RetryMiddleware):defprocess_response(self,request,response,spider):ifresponse.statusin[500,502]:reason=f'HTTP{response.status}'returnself._retry(request,reason,spider)orresponsereturnresponse5.请补充完成spiders/news_spider.py中parse返回对象代码和爬取下一页代码。fromscrapy_redis.spidersimportRedisSpiderfrom..itemsimportNewsItemclassNewsSpider(RedisSpider):name='news'redis_key='news:start_urls'defparse(self,response):forproductinresponse.css('duct-item'):item=NewsItem()item['title']=response.css('h1::text').get()item['content']=''.join(response.css('.article-content::text').getall())item['publish_time']=response.css('.time::attr(datetime)').get()item['author']=response.css('.author::text').get()item['views']=response.css('.views::text').re_first(r'\d+')#返回item对象next_page=response.css('a.next::attr(href)').get()ifnext_page:#继续下一页参考答案:1.答案#MySQL配置MYSQL_HOST='localhost'MYSQL_DB='news'MYSQL_USER='root'MYSQL_PWD='secret'MYSQL_PORT=3306#反爬配置AUTOTHROTTLE_ENABLED=TrueRETRY_TIMES=3RETRY_HTTP_CODES=[500,502]2.答案importscrapyclassNewsItem(scrapy.Item):title=scrapy.Field()content=scrapy.Field()publish_time=scrapy.Field()author=scrapy.Field()views=scrapy.Field()3.答案defopen_spider(self,spider):#设置据库链接相关参数try:self.connection=mysql.connector.connect(host=spider.settings.get('MYSQL_HOST'),database=spider.settings.get('MYSQL_DB'),user=spider.settings.get('MYSQL_USER'),password=spider.settings.get('MYSQL_PWD'))self.cursor=self.connection.cursor()#开启数据库游标exceptErrorase:spider.logger.error(f"ErrorconnectingtoMySQL:{e}")#定义数据存储方法defprocess_item(self,item,spider):sql="""INSERTINTOnews(title,content,publish_time,author,views)VALUES(%s,%s,%s,%s,%s)ONDUPLICATEKEYUPDATEviews=VALUES(views)"""self.cursor.execute(sql,(item['title'],item['content'],item['publish_time'],item['author'],item['views']))mit()returnitem4.答案#代理设置defprocess_request(self,request,spider):proxy=random.choice(self.PROXY_LIST)request.meta['proxy']=proxy5.答案#返回item对象yielditem#继续下一页yieldresponse.follow(next_page,callback=self.parse)2.使用Scrapy+Scrapy-Redis构建分布式爬虫,爬取某电商网站(域名为)商品数据,要求:1)使用Scrapy-Redis实现分布式调度;2)存储到MySQL数据库3)绕过以下反爬机制:请求头验证(需包含合法Referer)频率限制(每秒请求数≤2)4)爬取字段:商品名称、价格、SKU、评论数、商品描述。根据以上要求完成如下代码补充:1.settings.py文件设置,请你补充MySQL配置和反爬频率限制配置;BOT_NAME='ecommerce_crawler'SPIDER_MODULES=['ecommerce_crawler.spiders']#Scrapy-Redis配置SCHEDULER="scrapy_redis.scheduler.Scheduler"REDIS_URL='redis://:password@:6379'#MySQL配置#反爬频率限制配置#中间件配置DOWNLOADER_MIDDLEWARES={'ecommerce_crawler.middlewares.RandomUserAgentMiddleware':400,}ITEM_PIPELINES={'ecommerce_crawler.pipelines.MySQLPipeline':300,}2.items.py文件增加ProductItem类,字段分别是name、price、sku、reviews、description;importscrapyclassProductItem(scrapy.Item):3.请补充middlewares.py代码部分;importrandomclassRandomUserAgentMiddleware:USER_AGENTS=['Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36','Mozilla/5.0(Macintosh;IntelMacOSX10_15_7)AppleWebKit/605.1.15']#请求头验证defprocess_request(self,request,spider):4.pipelines.py文件,请补充完成open_spider和process_item方法;importMySQLdbfromtwisted.enterpriseimportadbapiclassMySQLPipeline:def__init__(self):
self.cursor=None
self.connection=None#设置据库链接相关参数,不必创建表defopen_spider(self,spider):#关闭爬虫时的相关操作defclose_spider(self,spider):
ifself.connection.is_connected():
self.cursor.close()
#关闭游标
self.connection.close()
#关闭链接#定义数据存储方法defprocess_item(self,item,spider):5.spiders/ecommerce_spider.py文件,请补充返回item对象和翻页代码fromscrapy_redis.spidersimportRedisSpiderfrom..itemsimportProductItemclassEcommerceSpider(RedisSpider):name='ecommerce'redis_key='ecommerce:start_urls'defparse(self,response):forproductinresponse.css('duct-item'):item=ProductItem()item['name']=product.css('h2::text').get()item['price']=product.css('.price::text').re_first(r'\d+\.\d+')item['sku']=product.attrib['data-sku']item['reviews']=product.css('.reviews::text').get()item['description']=product.css('.description::text').get()#返回item对象 next_page=response.css('a.next::attr(href)').get()ifnext_page:#继续下一页参考答案:1.答案#MySQL配置MYSQL_HOST='localhost'MYSQL_DB='ecommerce'MYSQL_USER='root'MYSQL_PWD='secret'#反爬配置DOWNLOAD_DELAY=0.5CONCURRENT_REQUESTS=22.答案importscrapyclassProductItem(scrapy.Item):name=scrapy.Field()price=scrapy.Field()sku=scrapy.Field()reviews=scrapy.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学(护理学)精神科护理技能阶段测试题及解析
- 高三历史(中国古代史综合)2027年上学期期末测试卷
- 高三地理(世界区域)2025-2026年下学期期中测试卷
- 2026年中医灸疗师(穴位艾灸)试题及答案
- 深度解析(2026)《GBT 18288-2000蜂窝电话用金属氢化物镍电池总规范》(2026年)深度解析
- 深度解析(2026)GBT 18173.4-2010高分子防水材料 第4部分:盾构法隧道管片用橡胶密封垫
- 深度解析(2026)《GBT 18023-2000烟煤的宏观煤岩类型分类》
- 深度解析(2026)《GBT 17980.61-2004农药 田间药效试验准则(二) 第61部分杀虫剂防治甘蔗螟虫》
- 深度解析(2026)《GBT 17860.1-1999电测量仪器 X-t记录仪 第1部分定义和要求》
- 深度解析(2026)《GBT 17850.3-1999涂覆涂料前钢材表面处理 喷射清理用非金属磨料的技术要求 铜精炼渣》
- SPC统计过程控制培训教材
- GB/T 10405-2009控制电机型号命名方法
- 企业投资战略课件
- 轮机英语(新版)
- 肱骨近端骨折教案课件
- 国开电大 国开电大机械制造装备及设计 形考任务1-4答案
- 《追求理解的教学设计》读书笔记
- 机电一体化产品的概念设计ppt课件
- 汉语言文学论文:通感意象的功能透视与语言建构
- HY∕T 122-2009 海洋倾倒区选划技术导则
- 康复医疗器械产业园项目实施方案
评论
0/150
提交评论