1 / 9
文档名称:

CCF野外环境中的蝴蝶自动识别排名54.pdf

格式:pdf   大小:391KB   页数:9页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

CCF野外环境中的蝴蝶自动识别排名54.pdf

上传人:鼠标 2023/6/8 文件大小:391 KB

下载得到文件列表

CCF野外环境中的蝴蝶自动识别排名54.pdf

相关文档

文档介绍

文档介绍:该【CCF野外环境中的蝴蝶自动识别排名54】是由【鼠标】上传分享,文档一共【9】页,该文档可以免费在线阅读,需要了解更多关于【CCF野外环境中的蝴蝶自动识别排名54】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。CCF-野外环境中的蝴蝶?动识别-排名54任务依据给定的蝴蝶在野外环境中的图像以及对应的标注?件,建?机器学习、深度学习模型来对图像中的蝴蝶进??标检测。提交数据格式识别了300个图?的成绩,全部识别应该会有很好的成绩识别结果思路?:调?百度的图像主题检测API也可以申请通过API?Key和Secret?ess_token,参考“Access?Token获取”具体调?代码如下:#?encoding:utf-8impor?tbase64impor?tosimpor?trandomimpor?ttimeimpor?trequestsfrom??mpor?treadJson,?eachFile,?writeJson,?readCsv,?(r'E:\项??F\野外环境中的蝴蝶?动识别')file?=?''data?=?readJson(file)keys?=?()save?=?'''''图像主体检测图像主体检测'''def?writeSubmitDa(t)a:????number_f=il?er?eadCsv(save)???fo?r?rowi?n?number_file:????????na=m?reo?w[0]?????f?o?r??keyi?n?keys:????????????=one1?dat?a[key]???????f?o?r??n?i?n?range(0,?len(one1)):?????????i?f??n?a?m??e?=?=?one1[n][0]:???????????????[?k?e?y?][?nd][2a]t?a=?row[2]???????????????[?k?e?y?][?nd][3a]t?a=?row[3]???????????????[?k?e?y?][?nd][4a]t?a=?row[4]???????????????[?k?e?y?][?nd][5a]t?a=?row[5]????writeJs(odnata,?file)#需要申请这两个keyhost?=?'https://aip./oauth/?grant_type=client_credentials&client_id={}&client_secret={}'response1=??(host)if?response:1?#多主体检测???#??request_url?=?"https://aip./rest/-classify/v1/multi_object_detect"???#?单主体检测????request_u=r?"l?https://aip./rest/-classify/v1/object_detect"???#???进制?式打开图??件???d?ir?=?'E:\项??F\野外环境中的蝴蝶?动识别\TestData\TestData\\'????number_f=il?er?eadCsv(save)????num=?i?nt(number_fil[elen(number_fil)e?-?1][0].split('_')[1])????files=??eachFile(dir)???fo?r?onei?n?files[num:]:??????=???ofp?en(dir?+?one,?'rb')????????img=?base64?.b64encod(())????????para=m?{"images?":?img,?"with_face:"?0}????????access_tok=?enre?()????????request_url=?re?quest_ur+l?"?access_token="?+?access_token['access_token]'????????header=?{'conts?ent-type:?''application/x-ded'}?????t?ry?:?????????????resp=?ornesqeu?(request_ur,?ldata=params,?headers=headers)???????????.s?ltimeeep((12,?25))???????if???r?e?s?pons:e???????????????=??rresultespo?()['result]'??????????????=???lit('.')[0]?????????f?o?r?k?e??yi??n?keys:????????????????=???d?aone1ta[key?]???????????f?o?r??n?i?n???r?a?nge(0,?len(one1)):?????????????i?f??n??a?m??e=???=?o?ne1[n][0]:???????????????????[?k?e?y?]?[n?]?[2?]??=d?arteasul[t'left]'???????????????????[?k?e?y?]?[n?]?[3?]??=d?arteasul[t'top]'???????????????????[?k?e?y?]?[n?]?[4?]??=d?arteasul[t'left]'?+?resul[t'width']???????????????????[?k?e?y?]?[n?]?[5?]??=d?arteasul[t'top]'?+?resul[t'height]'????????????????p?r?in?(t?d?a?t?a?[k?e??y]?[n])??????????????????????????(?d?awtrai[tkeeOy]n[ne]C,?svave)????????????????????????????w(r)iteSubmitData?????e?x?c?ept?Exceptiona?s?e:???????p?r?i?n?(te?)????????????writeSubmitData()???????p?r?i?n?(t'?write?done)!'????writeSubmitData()#?-*-?coding:?utf-8??层??循环版本、?较慢impor?tcsvimpor?tcsvimpor?tjsonimpor?tosfrom?urllibim?por?trequestimpor?tnumpya?s?npimpor?tpandasa?s?pdfrom?tqdmim?por?ttqdm#??写?CSV?件,写??就换?,追加?式def?writeCsv(relate_record,?src):???with??open(src,?'w',?newlin=e'\n)'?as?csvFile:????????writ=?ercs?(rcsvFile)?????f?o?r??rowin??relate_record:???????t?r?y:?????????????????.w??rwiterirtoewr(row)???????e?x?c?e?p?t?Exceptiona?s?e:?????????p?r?i?n?(t?e?)??????????p?r?i?n?(t?ro??w)?????????#??w??r?it?e?CsvUTF8(relate_record,bus)#?def?writeExcept(row,bus):#?????with?open(filePath,?'r',?encoding='utf-8')?as?dic:#?????????##????()#?????????for?item?in?dic:#?????????????if?('utf-8').decode('utf-8-sig').strip()?==?s:#?????????????????print('ok')#?????????????print(item)#?????print(s)#??写?CSV?件,写??就换?,追加?式def?writeOneCsv(relate_record,?src):???tr?y:?????with????open(src,?'a',?newlin=e'\n)'?as?csvFile:????????????=w??rite(rcsvFile)????????????.wwrriitteerrow(relate_record)?????#???()????e?xcept?Exceptiona?s?e:?????p?r?in?(te)?????p?r?in?(trelate_record)?????#???w?riteCsvGBK(relate_record,bus)#??写?CSV?件,写??就换?,追加?式def?writeCsvUTF8(relate_record,?src):???tr?y:?????with????open(src,?'a',?newlin=e'\n,'?encodin=g'utf-8)'?as?csvFile:????????????=w??rite(rcsvFile)????????????.wwrriitteerrow(relate_record)???e?xcept:?????p?r?in?(trelate_record)#??写?CSV?件,写??就换?,追加?式def?writeCsvGbk(relate_record,?src):???tr?y:?????with????open(src,?'a',?newlin=e'\n,'?encodin=g'gbk')?as?csvFile:????????????=w??rite(rcsvFile)????????????.wwrriitteerrow(relate_record)???e?xcept:?????p?r?in?(trelate_record)#??写?Txt?件,写??就换?,追加?式#??写?Txt?件,写??就换?,追加?式def?writeTxt(relate_record,?src):???with??open(src,?'w',?newline='\n)'?as?file:?????f?o?r??ii?n?relate_record:???????f?o?r??cell??i?n?:i?????????file???.w??ri?t?e(cell)?????????file???.w??ri?t?e(',')???????file??.?w?r?ite('\n)'?????file??.?close()#??写?Txt?件,写??就换?,追加?式def?xt(one_record,?src):???tr?y:?????with????open(src,?'a')?as?file:???????file??.?w?r?ite(one_record)???????file??.?w?r?ite('\n)'???e?xcept?Exceptiona?s?e:?????p?r?in?(te)#??写?Json?件,写??就换?,追加?式def?writeJson(relate_record,?src):????Json_s=tr??(relate_record,?ensure_asc=iiFalse)???with??open(src,?'w')?as?Json_file:????????(Json_str)????()#??写?Json?件,?个数据?个?件def?writeOneJso(nrelate_record,?src):????Json_s=tr??(relate_record,?ensure_asc=iiFalse)???with??open(src,?'w',?encodin=g'utf-8)'?as?Json_file:????????(Json_str)????()def?readJsonToCsv(dict,?src):????d=f??(tdict,?orient='index)'????.dtransposef()????.dtof_csv(src)def?savPng(url,filename):???tr?y:????????=r?srpequest?.urlopen(url)????????=im?rgs?()?????with????open(filename,?'wb')?as?f:????????.w??ri?t?e(fimg)???e?xcept?Exceptiona?s?e:?????p?r?in?(turl)?????p?r?in?(te)def?readJson(filepath):???tr?y:?????with????open(filepath,?'r',?encodin=g'GBK')?as?file_ope:n???????????=?data?json.?load(file_open)????????()?????r?etur??n?data???e?xcept:?????t?ry?:????????with?????o?pen(filepath,?'r',?encodin=g'utf-8)'?as?file_ope:n?????????????=??j??ad(file_open)????????????????()r?e?t?u?r?n??d?ata?????e?x?c?ept:???????with?????o?pen(filepath,?'r',?encoding=??"unicode_escape)"?as?file_ope:n??????????????=????ad(file_open)????????????(n)???????r?e?t?u?r?n?datadef?readBigDat(afilePath,sep):????dat=a??(filePath,?sep=sep,?engin=e'python,'?iterato=rTrue)????chunkSize=?1?00????chunk=s?[?]????chun=k??(chunkSize)????(chunk)???p?rin(t'开始合并')????dat=a??(chunks,?ignore_inde=xTrue)???re?turn?datadef?readerPandas(file,sep,?chunkSize=100000,?patition=s10?**?4):????read=e?r?(file,?iterato=rTrue,sep=sep)????chunk=s?[?]???with??tqdm(range(patition)s,?'Reading?...')?as?t:?????f?o?r??_?in?t:???????t?r?y:??????????????????=??crheaderunk.?get_chunk(chunkSize)???????????????.?acphpuennkd(schunk)???????e?x?c?e?p?t?StopIteration:?????????b?r?e?a?k??????re?turn?(chunks,?ignore_inde=xTrue)def?readTxt(filepath):???tr?y:?????with????open(filepath,?'r',?encodin=g'gbk)'?as?f:???????????=?l?i[n]es????????f?o?r??o??nei?n?f:?????????????=???o??rip("\n\t)"?????????????.?a?p?plienneds(one)????????.c?l?o?s?e(f)???????r?e?t?u?r?n?lines???e?xcept:?????with????open(filepath,?'r',?encodin=g'utf-8)'?as?f:???????????=?l?i[n]es????????f?o?r??o??nei?n?f:?????????????=???o??rip("\n\t)"?????????????.?a?p?plienneds(one)????????.c?l?o?s?e(f)???????r?e?t?u?r?n?linesdef?readTxtJson(filepath):???tr?y:?????with????open(filepath,?'r',?encodin=g'utf-8)'?as?f:???????????=?l?i[n]es????????f?o?r??l?in?ei?n?f:?????????????=???li??rip("\n\t)"?????????????=???li??rip("??)"?????????????.?a?p?plienneds(line)????????????Json=_?d""?n(lines)???????????=?data?eval(?Json_data)????????.c?l?o?s?e(f)???????r?e?t?u?r?n?data???e?xcept:?????p?r?in?(tfilepath)def?readToStr(filepath):???tr?y:?????with????open(filepath,?'r',?encodin=g'gbk)'?as?f:???????????=???d()????????.c?l?o?s?e(f)???????r?e?t?u?r?n?data???e?xcept:?????with????open(filepath,?'r',?encodin=g'utf-8)'?as?f:???????????=???d()????????.c?l?o?s?e(f)???????r?e?t?u?r?n?datadef?readCsv(filepath):???#??encoding?=?'utf-8'????encoding=?'g?bk'????birth_da=t?a[]????tr?y:?????with????open(filepath,?'r',encoding=encoding)?as?csvfile:????????????csv_r=e??eader(csvfile)??#?使??件???????f?o?r??r?o?wi?n?csv_reade:r??#?将csv??件中的数据保存到birth_dat中a????????????????(arow)????????????.ccslovfsiele()???????r?e?t?u?r?n?birth_data???e?xcept:?????with????open(filepath,?'r',encoding='utf-8)'?as?csvfile:????????????csv_r=e??eader(csvfile)??#?使??件???????f?o?r??r?o?wi?n?csv_reade:r??#?将csv??件中的数据保存到birth_dat中a????????????????(arow)????????????.ccslovfsiele()???????r?e?t?u?r?n?birth_datadef?pdReadCsv(file,?sep):???tr?y:????????d=a?tpad?.read_csv(file,?sep=sep,encoding='utf-8,'error_bad_line=sFalse,engine='python)'?????r?e?tu?rn?data???e?xcept:????????d=a?tpad?.read_csv(file,sep=sep,encoding='gbk,'error_bad_line=sFalse,engine='python)'?????r?e?tu?rn?datadef?pdToCsv(data,path):????(path,index=True,header=False,mode='a',sep=',')def?readExce(lfile):????data=??(file)???re?turn?data#?求数组中出现最多的元素def?max_list(gid_list):????tem=p?0?????max_rec=??[]???fo?r?reci?n?gid_lis:t?????if???g?(trec)?>?temp:????????????ma=x?_rrecec?????????????=t?empgid_?(tmax_rec)???re?turn?max_rec#?遍历?件夹中的所有?件def?eachFile(filepath):????pathDir=??(rfilepath)??#?获取当前路径下的?件名,返回List???re?turn?pathDirdef?find_dir_files(path):????files_list=?[?]???fo?r?root,?filesi?n?(path):?????#???for??dir?in?dirs:?????#????????print((root,?dir))?????f?o?r??file?in?files:????????????((root,?file))???re?turn?files_listdef?get_file_list(file_path):????dir_li=s?t?(rfile_path)???#??注意,这?使?lambda表达式,将?件按照最后修改时间顺序升序排列???#??()数?是获取?件最后修改时间???#??()数?是获取?件最后创建时间????dir_li=s?tsor?ted(dir_list,?key=lambda?x:?((file_path,?x)))???re?turn?dir_list#?reduce_mem_usage函?数通过调整数据类型,帮助我们减少数据在内存中占?的空间def?reduce_mem_usag(edf):???"""??iterate?through?all?the?columns?of?a?dataframe?and?modify?the?data?type????????to?reduce?memory?usage.????"""????start_me=m?d?.fmemory_usag(e).sum()???p?rin(t'Memory?usage?of?dataframe?is?{:..2fof}r?mkBa('tstart_mem))???fo?r?coli?n?:s????????col_t=y?pde[fc?ol].dtype?????if???c?ol_type!=??objec:t????????????c_min=?d[fco?l].min()????????????c_max=?d[fco?l].max()???????if??s?t?r?(c?ol_type)[:3]?==?'int':?????????i?f??c?_?m??in?>??().min?and?c_max<??().max:?????????????[c?o??l]??=???d?[fdcofl].astype()?????????e?l?if??c?_m??in>??().min?and?c_max<??().max:?????????????[c?o??l]??=???d?[fdcofl].astype()?????????e?l?if??c?_m??in>??().min?and?c_max<??().max:?????????????[c?o??l]??=???d?[fdcofl].astype()?????????e?l?if??c?_m??in>??().min?and?c_max<??().max:?????????????[c?o??l]??=???d?[fdcofl].astype()???????e?l?s?e:???????????i?f??c?_?m??in?>??().min?and?c_max<??().max:?????????????[c?o??l]??=???d?[fdcofl].astype()?????????e?l?if??c?_m??in>??().min?and?c_max<??().max:?????????????[c?o??l]??=???d?[fdcofl].astype()?????????e?l?s?e?:????????????????[c?o??l]??=???d?[fdcofl].astype()?????e?ls?e?:?????????[c?o?l?]?d=?fd[fcol].astype('category)'????end_mem=??(e).sum()???p?rin(t'Memory?usage?after?optimization?is:?{:.}r?mkB'a(tend_mem))???p?rin(t'Decreased?by?{:.1f}%'.forma(t100?*?(start_mem-??end_mem)?/?start_mem))???re?turn?ddef?dataToDict(file):????statio=n?p?(file,?sep='\t',?usecol=s[1,?2],?encodin=g'gbk')station=??(file,?sep='\t',?usecols=[1,?2],?encoding='gbk')????stationID=?station?.()???d?ict?={}???fo?r?stationsin??stationID:?????id???=??'"'+str(stations[0])?+'"'?????d?i?c?t[id]?=?'"'