人工智能看图片识车型,自己写个这样的程序其实一点也不难亚马逊云开发者

看图片识车型,自己写个这样的程序其实一点也不难:

不认识车标,辨不清车型,有时候还真挺难的。

其实在基于深度学习的图像分类领域,情况也是这样。写一个能认识汽车的程序,这没啥技术难度。可要想从众多汽车的照片中找出具体的品牌型号,这就有点棘手了。

车辆检测及型号识别,这种技术就被广泛应用于物业、交通管理等场景。通过在停车场出入口、路口、高速卡口等位置采集图片数据,对车辆的数量、型号等进行识别,可以以较高效率对车型、数量信息等进行采集。随后通过采集的数据就可以在不同场景中辅助业务开展,如商场停车位的规划、路况规划或者公安系统追踪肇事车辆等。

迁移学习不是一种算法,而是一种机器学习思想,应用到深度学习就是微调(Fine-tune)。通过修改预训练网络模型结构(如修改样本类别输出个数),选择性载入预训练网络模型权重,再用自己的数据集重新训练模型就是微调的基本步骤。微调能够快速训练好一个模型,用相对较小的数据量,还能达到不错的结果。

本解决方案使用AmazonSageMaker,它可以帮助开发人员和数据科学家构建、训练和部署ML模型。AmazonSageMaker是一项完全托管的服务,涵盖了ML的整个工作流,可以标记和准备数据、选择算法、训练模型、调整和优化模型以便部署、预测和执行操作。同时,本方案基于MXNet,ApacheMXNet(孵化)是一个深度学习框架,旨在提高效率和灵活性。它可供我们混合符号和命令式编程,以最大限度地提高效率和生产力。

下文会重点介绍在AmazonSageMaker中如何基于MXNet,使用自己的数据来微调一个预训练的图像分类模型并且达到较高的准确率来构建一个车型号分类器。

在此示例中,我们将使用AmazonSageMaker执行以下操作:

%%timeimportboto3importrefromsagemakerimportget_execution_rolefromsagemaker.amazon.amazon_estimatorimportget_image_urirole=get_execution_role()bucket='app-cars-classfication'#customizetoyourbuckettraining_image=get_image_uri(boto3.Session().region_name,'image-classification')2.数据预处理本文使用了斯坦福大学提供的开源数据集Carsdataset,该数据集包含了196种不同汽车品牌车型的16185张图片。其中我们将使用8144张作为训练集,8041张作为测试集,每个车型号在训练和测试集中分布均衡。您可以访问该数据集主页查看完整的数据说明和进行下载,示例图片如下:

为提高IO效率,不会直接读取图片文件,而是先将图片列表和标签转换为RecordIO格式的二进制文件,训练时就可以顺序读取数据,大大提高了IO速率。MXNet社区提供了一个很好的图片转换工具im2rec.py,可进行快速图像转换。主要利用的是MXNetim2rec.py工具生成List和Record文件,并按照Validation的数据和Training数据的比例进行自动的数据拆分。具体命令如下图,首先生成标签为汽车种类个数的List文件之后,按照多个并发线程的方式进行Record格式转换,并存在定义的目录内。具体转换的Shell脚本内容如下。需要注意的是,这里的data_path为此Shell脚本的入参,需要自己指定为自己存放数据集的本地路径:

importosimportboto3defupload_to_s3(file):s3=boto3.resource('s3')data=open(file,"rb")key=files3.Bucket(bucket).put_object(Key=key,Body=data)#caltech-256s3_train_key="car_data_sample/train"s3_validation_key="car_data_sample/validation"s3_train='s3://{}/{}/'.format(bucket,s3_train_key)s3_validation='s3://{}/{}/'.format(bucket,s3_validation_key)upload_to_s3('car_data_sample/train/data_train.rec')upload_to_s3('car_data_sample/validation/data_val.rec')3.使用迁移学习进行模型训练数据集准备结束之后,就可以开始模型的训练了。但在开始训练任务之前,需要配置模型训练的一系列超参数,具体的超参数含义如下:

#Thealgorithmsupportsmultiplenetworkdepth(numberoflayers).Theyare18,34,50,101,152and200#Forthistraining,wewilluse18layersnum_layers=18#weneedtospecifytheinputimageshapeforthetrainingdataimage_shape="3,224,224"#wealsoneedtospecifythenumberoftrainingsamplesinthetrainingset#forcaltechitis15420num_training_samples=96#specifythenumberofoutputclassesnum_classes=3#batchsizefortrainingmini_batch_size=30#numberofepochsepochs=100#learningratelearning_rate=0.01top_k=2#Sinceweareusingtransferlearning,wesetuse_pretrained_modelto1sothatweightscanbe#initializedwithpre-trainedweightsuse_pretrained_model=1之后,我们进行必要的SageMakerAPI创建,构建对应的训练任务。其中有指定训练的输入与输出,训练的计算实例配置,这里我们使用的是ml.p2.xlargeGPU实例。需要注意的是,这里Sagemakernotebook进行本地的数据处理、模型训练、模型推理是不同环境,可以根据不同的计算任务的需求进行不同的机型选择。

同时,在训练过程中,我们还可以通过监控Cloudwatchlog来查看训练过程中的loss变化:

训练结束后,我们在之前配置的S3存储桶就获得了最新的模型文件。接下来将其进行线上部署,这样就可以通过接受来自客户端的RestfulAPI请求进行预测。

首先创建模型:

%%timeimportboto3fromtimeimportgmtime,strftimesage=boto3.Session().client(service_name='sagemaker')model_name="cars-imageclassification-"+time.strftime('-%Y-%m-%d-%H-%M-%S',time.gmtime())print(model_name)info=sage.describe_training_job(TrainingJobName=job_name)model_data=info['ModelArtifacts']['S3ModelArtifacts']print(model_data)hosting_image=get_image_uri(boto3.Session().region_name,'image-classification')primary_container={'Image':hosting_image,'ModelDataUrl':model_data,}create_model_response=sage.create_model(ModelName=model_name,ExecutionRoleArn=role,PrimaryContainer=primary_container)print(create_model_response['ModelArn'])然后配置接口,可以看到,这里推理使用的实例是ml.m4.xlarge:

%%timeimporttimetimestamp=time.strftime('-%Y-%m-%d-%H-%M-%S',time.gmtime())endpoint_name=job_name_prefix+'-ep-'+timestampprint('Endpointname:{}'.format(endpoint_name))endpoint_params={'EndpointName':endpoint_name,'EndpointConfigName':endpoint_config_name,}endpoint_response=sagemaker.create_endpoint(**endpoint_params)print('EndpointArn={}'.format(endpoint_response['EndpointArn']))在等待端口创建的时候,可以通过查看端口创建状态来获得创建的状态:

#getthestatusoftheendpointresponse=sagemaker.describe_endpoint(EndpointName=endpoint_name)status=response['EndpointStatus']print('EndpointStatus={}'.format(status))#waituntilthestatushaschangedsagemaker.get_waiter('endpoint_in_service').wait(EndpointName=endpoint_name)#printthestatusoftheendpointendpoint_response=sagemaker.describe_endpoint(EndpointName=endpoint_name)status=endpoint_response['EndpointStatus']print('EndpointcreationendedwithEndpointStatus={}'.format(status))如果上述代码运行结果为EndpointcreationendedwithEndpointStatus=InService,那么代表已经成功创建了一个终结点。我们也可以通过SagemakerConsole查看到已经创建好的终结点。

现在我们使用一个随意挑选的汽车图片进行型号分类。本例挑选了一张Acura的AcuraRLSedan2012车型,图片如下:

我们可以直接调用创建的终结点进行推理,可以看到结果与概率,并能看到准确判断出了相对应的分类。这里的概率并不是非常高,但鉴于我们作为范例只训练了不多的epoch,已经是个很不错的结果了。如果想要得到更高的准确率,请使用完整数据集进行更多轮次的训练。

importjsonimportnumpyasnpwithopen(file_name,'rb')asf:payload=f.read()payload=bytearray(payload)response=runtime.invoke_endpoint(EndpointName=endpoint_name,ContentType='application/x-image',Body=payload)result=response['Body'].read()#resultwillbeinjsonformatandconvertittondarrayresult=json.loads(result)#theresultwilloutputtheprobabilitiesforallclasses#findtheclasswithmaximumprobabilityandprinttheclassindexindex=np.argmax(result)object_categories=['AcuraIntegraTypeR2001','AcuraRLSedan2012','AcuraTLSedan2012']print("Result:label-"+object_categories[index]+",probability-"+str(result[index]))

今晚八点,#AmazonLiveCoding#将演示如何利用AmazonServerless和MachineLearning服务来快速构建语音翻译器:你只需要说出中文,亚马逊云科技(AmazonLambda)就会帮你把语音转换成文本(AmazonTranscribe),翻译成选择的语言(比如英文)(AmazonTranslate),然后转换成对应的语音(AmazonPolly)。你就可以造出神奇的宝贝鱼,科技让沟通无障碍~

THE END
1.车辆识别检测算法+以图搜图(车辆品牌目标类型车头车尾车身颜色1、基于最新的算法、最全的数据样本训练、最优的系统架构。 2、支持CPU、GPU兼容。 3、目标类型、车辆品牌、车头车尾、车身颜色、车辆类型、车牌类型、车牌号码、危险品车、出租车、驾驶人员、纸巾盒、遮阳板、天窗、收费类型等检测。https://blog.csdn.net/qq_30540299/article/details/144032581
2.拍照识车app哪个好?拍照识车价格和车型软件下载拍照识车价格和车型软件为大家整理了很多可以通过拍照来识别汽车的车型和价格的工具,这些软件可以帮助用户去了解汽车的种类和价格,当用户在买车的时候就不会被骗了。软件功能强大,识别准确,信息齐全,有需要的用户,快来当易网下载吧!http://m.downyi.com/key/paizhaoshicheapp
3.蟹老板的钳爆焗的个人首页首页 选车 二手车 视频 资讯 车友圈 排行榜 直播 工具 我的 反馈蟹老板的钳爆焗 简介:喜欢电车,一个开着比亚迪送螃蟹外卖的男人!目前拥有19款顶配e2和汉3.9!欢迎大家一起讨论电车生活13万粉丝6关注10万获赞关注 全部 视频 小视频 喜欢 蟹老板的钳爆焗 关注 https://www.dongchedi.com/user/3894605623
4.不认识的车标怎么查首页车问答问答详情不认识的车标怎么查 之家车友6741061 2024-05-14 08:56:41· 发布于北京 如果你看到一个不认识的车标,想知道它的来历和含义,可以通过以下方法查询: 1. 使用搜索引擎。在Google或其他搜索引擎中输入车标的图片或描述,通常可以找到相关信息。 2. 访问汽车论坛或网站。许多汽车爱好者和专家会在这https://www.autohome.com.cn/ask/6856823.html
5.识图软件app下载万能识图app下载好用的识图app推荐识图软件哪个好用呢?今天小编就为大家推荐几款好用的识图app,其中就有常见的万能识图app、慧眼识图app、百度app和微软必应app等识图软件。无论是花草树木、商标、汽车模型、动物还是生活中常见的物品,大家只要轻轻一扫就可以自动进行鉴定。当然无论是我们自己拍摄的照片还是在网络上找到的图片都可以进行识图哦!下面https://www.32r.com/zt/stapp/
6.车图识车标志专题模板车图识车标志图片素材下载我图网车图识车标志专题为您整理了359个原创高质量车图识车标志图片素材供您在线下载,PSD/JPG/PNG格式车图识车标志模板下载、高清车图识车标志图片大全等,下载图片素材就上我图网。https://m.ooopic.com/sousuo/11334774/
7.看图识车app有哪些什么软件能看图识车看图识车app是一种可以通过拍照进行汽车找寻的软件合集,这里面有超多类型的汽车可以进行找寻,用户可以在这里面找到自己满意的汽车,软件的使用方法是非常简单的,通过照片进行一键上传,就可以快速的进行汽车的找寻,操作起来非常简单,新手用户也可以轻松的完成操作。https://app.ali213.net/heji/ktscappynx.html
8.中控识车最全图片理想股票技术论坛在这里您可以找到最全的中控识车图片展示,让您了解各种车型的中控面板设计和功能布局。通过浏览这些图片,您可以更好地选择适合您需求的中控系统,为您的驾驶体验增添更多的乐趣。 ,理想股票技术论坛https://www.55188.com/tag-4185783.html
9.看中控台识车最全图片(看内饰识别车型app)汽车1、车仪表盘图标介绍“长嘴茶壶灯”——机油报警灯机油警报灯亮起看中控台识车最全图片了很多情况下是机油缺少看中控台识车最全图片了看中控台识车最全图片,添加机油比较简单,你自己就能动手解决。如果去4S店或者修理厂不仅费时,还容易被忽悠着全部换掉。 https://www.taofang114.com/post/104515.html
10.识车标志简笔画简笔画图片大全识车标志简笔画汽车标志简笔画步骤 汽车标志图案简笔画 汽车logo简笔画 汽车标志图片简笔画图片少儿图库中国儿童资 沃尔沃汽车标志简笔画图片 汽车标志图片简笔画图片资 轴对称汽车标志简笔画 100个车标一个个图 100个常见车标logo logo 标志 简笔画 设计 手绘 矢量简笔画汽车相关标志 50辆车标简笔画 捷豹车https://www.puchedu.cn/jianbihua/6e828c33cff72886.html
11.汽车识别驾驶员的最佳助手仪表盘识车最全图片指南在众多汽车配件中,仪表盘无疑是最为重要的一个部件。它不仅能够提供车辆运行状况的实时信息,还能帮助司机更好地掌握外界环境。在繁忙的城市道路上,快速识别周围车辆已经成为一种必备技能。今天,我们就来探索如何利用“仪表盘识车最全图片”这一宝贵资源,让您的驾驶更加安全、高效。 https://www.vbdhwr157.cn/neng-yuan-zhi-li/286481.html
12.汽车识3D图片素材汽车识3D模型下载摄图网3D模型为您提供汽车识3D模型素材图库以及汽车识3D模型效果图和汽车识3D模型源文件下载,帮助您快速解决建模难题,找汽车识3D模型就来摄图网https://699pic.com/tupian/3d-9066073.html
13.客车标识图片标识LOGO标识客车标识图片,客车标识 旅车标识 小型公共汽车标识 大型公共汽车标识 公共标识标志 标识标志图标 矢量 CDR 平面广告,图行天下素材网图片编号:20111225019810623913https://www.photophoto.cn/pic/09556634.html
14.幼儿认车标识宝宝启蒙看图识物世界认识名车品牌卡交通工具图片当当乐学者图书专营店在线销售正版《儿童汽车标志大全车标认知卡片撕不烂早教书籍 0-1-2-3到6岁幼儿认车标识宝宝启蒙看图识物世界认识名车品牌卡交通工具图片玩具书》。最新《儿童汽车标志大全车标认知卡片撕不烂早教书籍 0-1-2-3到6岁幼儿认车标识宝宝启蒙看图识物世界认识http://product.dangdang.com/642999861.html
15.图片识别,图是啥车汽车汽车区别克君威吧 [图片]https://bbs.hupu.com/627956795.html
16.图片在线识人在线预览图片华为云帮助中心为你分享云计算行业信息,包含产品介绍、用户指南、开发指南、最佳实践和常见问题等文档,方便快速查找定位问题与能力成长,并提供相关资料和解决方案。本页面关键词:图片在线识人。https://support.huaweicloud.com/topic/501533-1-T
17.机动车二次识别亮点北京中科慧识机动车图像二次识别软件通过分析前端卡口、电子警察、监控等系统采集到的图片、视频信息,对图片、视频中的机动车辆进行二次识别,包括识别号牌号码、号牌颜色、车辆类型、车辆品牌、车辆子品牌、车身颜色、车辆主要特征等信息。将识别结果与公安综合平台中的机动车登记信息进行耦合比对,对套牌、假牌、遮挡号牌http://www.bj-zkhs.com/h-nd-14.html
18.车辆图片识别车辆图片识别鼓掌 0人 开心 0人 呵呵 0人 可怜 0人 鄙视 0人 流泪 0人 车辆图片识别 工具介绍: 车辆图片识别 车辆图片识别 工具教程: 车辆图片识别 车辆图片识别 工具标签: 车辆图片识别 推荐工具:Toolzl工具站 关于我们 开发接口 更新列表 反馈建议 网站合作 SiteMap https://www.toolzl.com/tools/cheshibie.html
19.车标志设计车标志素材车标志图片觅知网为您找到200个原创车标志设计图片,包括车标志图片,车标志素材,车标志海报,车标志背景,车标志模板源文件下载服务,包含PSD、PNG、JPG、AI、CDR等格式素材,更多关于车标志素材、图片、海报、背景、插画、配图、矢量、UI、PS、免抠,模板、艺术字、PPT、视频等设计https://www.51miz.com/so-sucai/101678/p_1/