专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

带你动手做AI版的垃圾分类

  本文分享自华为云社区《ModelBox社区案例使用YOLOX做垃圾分类云社区华为云》,作者:HWCloudAI。
  本案例将使用YOLOX模型,实现一个简单的垃圾分类应用,最终效果如下所示:
  本案例所需资源(代码、模型、测试数据等)均可从garbagedet下载(https:pan。baidu。coms1zvHR3Q1jHonogKPTSmwEQg?pwdiiuc)1。1模型训练与转换
  模型采用的是YOLOX网络结构,YOLOX是YOLO系列的优化版本,引入了解耦头、数据增强、无锚点以及标签分类等目标检测领域的优秀进展,拥有较好的精度表现,同时对工程部署友好。训练使用的是华为云杯生活垃圾图片分类数据集,该数据集包含一次性快餐盒、果皮果肉、旧衣服等44个类别,共14964张图片。其中,训练集与验证集划分比例为41,下图为模型迭代个300个Epoch取得的结果:
  ModelArts提供了包括数据标注,训练环境,预置算法在内的丰富的功能,甚至可以通过订阅预置算法实现0代码的模型训练工作。当然你也可以在本地训练自己的模型。我们假设你现在已经拥有了训练好的模型,接下来我们需要将训练好的模型转换成为可以在开发板上运行的模型。我们发布了开发板模型转换案例,参见RK3568模型转换验证案例AIGalleryNotebook详情开发者华为云:
  在这个案例中我们演示了从环境适配到模型的转换验证的全流程样例代码,开发者可以通过RuninModelArts一键将Notebook案例在ModelArts控制台快速打开、运行以及进行二次开发等操作。1。2应用开发
  打开VSCode,连接到ModelBoxsdk所在目录或者远程开发板,开始进行垃圾分类应用的开发。下面以RK3568版本为例进行说明,其他版本与之类似。1。2。11)下载模板
  执行pythonsolution。pyl可看到当前公开的技能模板:pythonsolution。pyl。。。Solutionsname:maskdetyolo3handdetyoloxhandtrackingyoloxsinglehandposeyoloxmbv2multihandposeyoloxmbv2
  结果中的handdetyolox即为手部检测应用模板,可使用如下命令下载模板:pythonsolution。pyshanddetyolox。。。
  solution。py工具的参数中,l代表list,即列出当前已有的模板名称;s代表solutionname,即下载对应名称的模板。下载下来的模板资源,将存放在ModelBox核心库的solution目录下。1。2。22)创建工程
  在ModelBoxsdk目录下使用create。py创建garbagedet工程,末尾s参数,表示将使用后面参数值代表的模板创建工程,而不是创建空的工程。modelboxpythoncreate。pytserverngarbagedetshanddetyoloxsdkversionismodelboxxxxsuccess:creategarbagedetinmodelboxworkspace
  workspace目录下将创建出garbagedet工程,工程内容如下所示:garbagedetbinmain。bat:应用执行入口mocktask。toml:应用在本地执行时的输入输出配置,此应用默认使用本地视频文件为输入源,最终结果输出到另一本地视频文件,可根据需要修改CMake:存放一些自定义CMake函数data:存放应用运行所需要的图片、视频、文本、配置等数据hand。mp4:手部检测测试用视频文件替换为自己的视频dependencemodelboxrequirements。txt:应用运行依赖的外部库在此文件定义etcflowunit:应用所需的功能单元存放在此目录cpp:存放C功能单元编译后的动态链接库,此应用没有C功能单元yoloxpost:手部检测使用的是YOLOX模型,此处即为后处理功能单元(修改toml文件的类别参数和py文件的draw函数)flowunitcpp:存放C功能单元的源代码,此应用没有C功能单元graph:存放流程图garbagedet。toml:默认流程图,使用本地视频文件作为输入源garbagedetcamera。toml:摄像头输入对应的流程图modelbox。conf:modelbox相关配置hilensdatadir:存放应用输出的结果文件、日志、性能统计信息model:推理功能单元目录detecthand:手部检测推理功能单元detecthand。toml:手部检测推理功能单元的配置文件yoloxhand。onnx:手部检测onnx模型更改为自己的模型buildproject。sh:应用构建脚本CMakeLists。txtrpm:打包rpm时生成的目录,将存放rpm包所需数据rpmcopyothers。sh:rpm打包时的辅助脚本1。2。33)修改后处理功能单元yoloxposta。修改yoloxpost。toml流程图,将其内容修改为(以Windows版ModelBox为例):
  b。修改yoloxpost。py的draw函数实现如下:defdraw(self,img,bboxes):h,w,cimg。shapethickness2fontscale1textfontcv2。FONTHERSHEYSIMPLEXclsstotext{0:Disposablesnackbox,1:Booksandpapers,2:Powerbank,3:Leftovers,4:Package,5:Trashcan,6:Plasticutensils,7:Plastictoys,8:Plasticcoathanger,9:BigBones,10:Drybattery,11:Expresspaperbag,12:Plugwire,13:Oldclothes,14:Thecan,15:Pillow,16:Skinandpulp,17:Stuffedanimal,18:Defacingplastic,19:Soiledpaper,20:Toiletries,21:Cigarettebutts,22:Toothpick,23:Glassware,24:Block,25:Chopsticks,26:Cartoncarton,27:Pot,27:Tearesidue,29:Vegetablehelpvegetableleaf,30:Shell,31:Thespicebottle,32:Paste,33:Expireddrugs,34:Bottle,35:Metalkitchenware,36:Metalware,37:Metalfoodcans,38:Pot,39:Ceramicvessels,40:Shoes,41:Edibleoildrum,42:Beveragebottle,43:Bones}forboxinbboxes:x1,y1,x2,y2,score,clssboxcv2。putText(img,clsstotext〔int(clss)〕:{:。3}。format(score100),(int(x1w)10,int(y1h)30),textfont,fontscale,(0,int(clss1)5,0),thickness)cv2。rectangle(img,(int(x1w),int(y1h)),(int(x2w),int(y2h)),(0,int(clss1)5,0),3)1。2。44)修改输入输出配置
  我们需要准备一个mp4文件拷贝到data文件夹下,我们使用测试视频garbage。mp4,然后打开工程目录下binmocktask。toml文件,修改其中的任务输入和任务输出配置为如下内容:〔input〕typeurlurl。。datagarbage。mp4〔output〕typelocalurlhilensdatadirgarbagedetectionresult。mp4
  该流程图在本地运行时的逻辑过程是:datasourceparser解析binmocktask。toml文件中输入配置的datagarbage。mp4文件,videodemuxer和videodecoder对该文件进行解码,resize、packedplanartranspose、normalize对原始图像进行缩放、转码、归一化等预处理,然后detectgarbage在预处理后的图像上进行垃圾检测,yoloxpost从推理结果中解码出检测框,并把检测框画到原始图像上,最后videoout将图像输出到binmocktask。toml文件中输出配置的hilensdatadirgarbagedetectionresult。mp4文件中。1。2。55)用启动脚本执行应用
  启动应用前执行buildproject。sh进行工程构建,该脚本将编译自定义的C功能单元(本应用不涉及)、将应用运行时会用到的配置文件转码为Unix格式(防止执行过程中的格式错误):。buildproject。shdos2unix:convertingfilexxx。tomltoUnixformat。。。。。。buildsuccess:youcanrunmain。batin。binfolderPress‘p’topause,anykeytoexit
  然后执行binmain。bat运行应用:。binmain。bat
  运行结束后在hilensdatadir目录下生成了garbagedetectionresult。mp4文件,可以打开查看:
  1。2。66)用摄像头检测
  打开工程目录下binmocktask。toml文件,修改其中的任务输入和任务输出配置为如下内容:〔input〕typeurlurl0表示0号摄像头,即PC自带摄像头,若PC无摄像头需外接USB摄像头〔output〕typelocalurl0:garbagedet表示名为garbagedet的本地窗口
  即使用编号为0的摄像头(默认为PC自带的摄像头),输出画面显示到名为garbagedet的本地屏幕窗口中。1。2。77)运行应用
  执行binmain。batcamera运行应用,将会自动弹出实时的垃圾分类检测画面:
  1。3打包部署1。3。1打包
  调试完成后,同样可以通过create。py脚本将应用打包发布:python。create。pytrpmngarbagedet
  控制台中输出:sdkversionismodelboxwin10x641。1。0。5callmbpkgtoolpack〔folder〕〔rpmfile〕tobuildingrpm,waiting。。。success:creategarbagedet。rpminD:modelboxwin10x641。1。0。5workspacegarbagedet
  等待稍许,可以看到项目工程下已经生成了rpm文件夹和打包好的应用:
  1。3。2部署
  将打包好的应用上传至华为云账号下的obs桶中:
  在专业版设备管理中选择一个开发板,
  点击创建部署:
  最后添加作业:
  这样我们就已经完成了一个AI应用,从模型训练到转换到开发到部署的全部流程。
  关于ModelBox核心概念、功能单元和流程图开发的更多介绍,可查看ModelBox手册。
  点击下方,第一时间了解华为云新鲜技术
  华为云博客大数据博客AI博客云计算博客开发者中心华为云
  华为云开发者联盟

武切维奇拒绝6000万,索求1亿养老合同,公牛队陷入两难!根据芝加哥太阳报记者JoeCowley爆料,公牛队有意与球队的内线大将尼科拉武切维奇完成续约,并且报出了3年6000万美元的报价合同,但是遭到了武切维奇团队的拒绝。而武切维奇希望能德罗赞4914拉文39分,公牛双加时力克森林狼公牛双加时139131击败森林狼。爱德华兹康利麦克丹尼尔斯麦克劳林亚历山大沃克投进7记三分,森林狼首节3228领先。爱德华兹在首节扭伤脚踝,本场不再回归。第二节多孙穆科比怀特突破扳公牛三人20双加时终结76人8连胜!恩比德3716哈登狂铁NBA常规赛3月21日继续进行,最终,公牛以109105战胜76人,公牛获得3连胜的同时终结了76人的8连胜。首节开始,拉文命中三分后76人率先发威打出一波155反超比分!武切维奇20232024赛季国际滑联世界花样滑冰大奖赛总决赛将在北京举行国际滑冰联盟官网21日更新了20232024赛季世界花样滑冰大奖赛的计划举办地,正式公布下赛季国际滑联世界花样滑冰大奖赛总决赛将于今年12月7日至10日在北京举行。总决赛设青年组和布克33尽力了,湖人罚球吹懵了太阳,恭喜湖人122111战胜太阳今天湖人打破本赛季记录,湖人队46次罚球,打破了本赛季单场罚球纪录。上半场27比4的罚球比,直接把太阳吹懵逼了,而太阳全场20次罚球。另一个值得注意的时刻是比赛第三节,布克进攻中与6战4负,8换2交易伤筋动骨,太阳首轮遇强敌,杜兰特又要失算了目前,NBA常规赛进入收官阶段,处于附加赛区域的球队对排名的争夺进入白热化状态,细看如今的联盟局势,可谓是几家欢喜几家愁。掘金雄鹿凯尔特人76人凭借出色的战绩,正式预定了季后赛的席太阳队遭遇罚球不公?湖人队122111战胜对手,裁判角色成焦点头条创作挑战赛这里是爱看球的明二,喜欢的朋友欢迎点赞加分享,有想法可以在评论区告诉我。谢谢!比赛精华太阳队遭遇罚球不公?菲尼克斯太阳队对与洛杉矶湖人队的比赛中的大量罚球差异让人对NC罗即将刷新国家队出场纪录文羊城晚报全媒体记者刘毅C罗即将创造另一项世界纪录,3月24日凌晨在葡萄牙主场迎战弱旅列支敦士登的2024欧洲杯预选赛中,如果这位超级巨星获得出场机会,就将打破国家队出场次数最高纪全国春季游泳锦标赛王长浩刷新男子50米蝶泳全国纪录夺冠新华社青岛3月23日电(记者张武岳高萌)在23日进行的2023年全国春季游泳锦标赛中,王长浩刷新男子50米蝶泳全国纪录,拿下该项目冠军,张雨霏延续前几日的出色表现,摘得女子50米自刷新纪录!iPhone15Pro用上超窄边框iPhone15Pro的升级可能更有良心了,据外媒爆料的消息,iPhone15Pro的两款机型相比iPhone14Pro将拥有更薄更弯曲的边框,其边框宽度仅为1。55毫米。爆料称,日媒报道日本开发太阳能电池板道路据日本经济新闻3月6日报道,太阳能发电的应用场景正在逐渐增加。日本道路株式会社(以下简称日本道路)等公司开发了可以嵌入停车场和人行道的太阳能电池板。据估算,如果用太阳能电池板覆盖日
大家ampampquot投资图景大多都是在迷雾中展开!ampampquot广发基金林英睿借AI力量提升投资科学性广发基金价值投资部基金经理林英睿编者按随着中国资产管理行业高速发展,A股市场已走进机构领唱的新时代,为此,证券时报券商中国特推出大型系列报道大家,对话资管行业领军人物,专访长期业绩辣条第一股卫龙2022年经调整净利润9。13亿元中证网讯(记者齐金钊)日前,港股上市公司卫龙(9985。HK)公布2022年业绩表现。数据显示,卫龙2022年经调整净利润同比上升0。6至9。13亿元公司2022年整体收入达46。柳亚子杖击林庚白柳亚子。曹亚瑟先生在林庚白吹诗第一(见2023年3月2日南方周末阅读)文中引唐大郎转引潘伯鹰语云初庚白于近代诗人服膺郑海藏九一八事变以前,庚白称海内诗人,海藏第一,庚白第二。及郑附情史干净还坚决不整容,娱乐圈里清清白白的女演员,我只服这5位文九思编辑9号探秘人身处娱乐圈,很多人会渐渐忘了初心。为了变漂亮选择去整容,每天绞尽脑汁地想怎么出圈,怎么吸引大众眼光。完全忘了身为一个演员,本职工作是演好戏,拿出最好的演技献给观听从内心野性的呼唤野性的呼唤这本书可以带给我们一些新的教育意义。小说中的主人公巴克是一只养尊处优的贵族狗,不幸被卖到遥远的阿拉斯加当了雪橇狗,但是它没有被眼前艰苦的生活所打败,而是奋力拼搏,成为了狗母乳为什么是白色的?乳汁出现这些颜色要注意母乳为婴儿提供了最完整和最适合的营养。母乳中含有丰富的蛋白质碳水化合物脂肪维生素和矿物质等成分,能够满足新生儿的生长和发育需要。但是,如果你曾经看到过新生儿吮吸母乳时,可能会很疑惑沈丘县梨花盛开美了乡村醉了游人河南日报客户端记者方化祎李昊通讯员谢辛凌张曹敏阳春三月,又是一年梨花开。3月25日,沈丘县刘湾镇朱李庄村,当地一处生态黄金梨特色产业基地600亩梨花盛开,一团团一簇簇,如玉似雪,争湖北阳新科技赋能助力智慧水务阳新县城发水务公司大力建设智慧化企业,逐步形成智能运行科学调度精准服务统筹管理的供水体系,努力向智慧水务迈进,着力打造一流营商环境。智慧供水统筹管理。3月16日,走进位于阳新县浮屠故事俩女兵自驾可可西里,遇5只饿狼袭击,一桶汽油躲过劫难王倩和李娴洋是解放军某部的特种女兵,两人同属一个连队,平时又都喜欢旅游冒险,所以成了关系最好的姐妹。两人的梦想,就是游遍中国,去探寻所有的神秘诡境,去别人没去过的地方,完成别人所不江苏饮酒怪象,都说梦之蓝好,但常喝的却是这3款廉价酒提到江苏,大家对这个省份的印象是什么?是经济强省,还是如天堂般的美景胜地?其实对于酒客来说,江苏的酒香更加的诱人!江苏自然环境优越,在几千年前,先辈们就开始酿制美酒佳酿,这里的美酒一周2次告别脾胃弱,比蛋糕还好吃,简单易做超柔软!2023育儿季这款小饼直接用山药和蛋黄打成糊,不仅健脾养胃,对蛋清和面粉过敏的宝宝也特别友好,而且不用打发不用发酵,妈妈们制作也非常方便。我还特意加了些莴笋碎,对宝宝发育很有益处。
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网