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

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

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

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

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

迁移学习不是一种算法,而是一种机器学习思想,应用到深度学习就是微调(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.汽车美图搜索秘籍,让你轻松找到心仪的座驾汽车行情2、汽车之家论坛:汽车之家论坛是一个汽车爱好者交流的平台,也有许多用户分享汽车美图,你可以在论坛上搜索你感兴趣的车型或品牌,查看其他用户分享的图片。 3、抖音:抖音是一个非常流行的短视频平台,也有许多汽车爱好者在抖音上分享汽车美图,你可以在抖音上搜索“汽车美图”、“汽车壁纸”等关键词,也可以关注一些汽https://www.zailaiha.com/post/244940.html
2.扫一扫识别车型在线拍照识车APP看图识车软件拍照识车APP是可以通过拍摄汽车图片进行识别车辆的工具,拥有强大的搜索功能,通过对汽车的标识和车型等进行搜索,即可获取全面的汽车信息,还有最新的汽车报价、生产信息、车型图片等,遇到自己喜欢的车不知道是什么牌子,就可以拍摄下来,让你一键了解更多的汽车,可以学https://m.lhdown.com/soft/paizhaoshiche/
3.驾照考试新规2025年新规定新规中规定,考生通过每个科目后放宽合格期限,理论考试合格期限为两年,实际考试合格期限为一年,识图科目合格期限为半年。四、考试不合格次数以前的规定中,考生在不同科目未通过考试的次数是有限制的,新规则对次数的限制有所放宽。考生每个科目的不合格次数不限,但需要在规定时间内重新预约考试。五、加强监考力度新规中https://www.ybjk.com/ks/qmcmrm.htm
4.车型识别算法(精选五篇)只要背景模型足够精确, 就可以获得关于车辆轮廓完整精确的描述。如图1为某路段根据均值法背景建模所得到的背景图象, 图2为有车通过时的灰度图象, 将图1与图2中对应像素点灰度值不同的点找出, 采用连接, 填充, 同色等处理, 得到图象3。 3 车长及车高信息的提取https://www.360wenmi.com/f/cnkeybytdj32.html
5.车型识别技术范文6篇(全文)系统模块(见图2)包括:1基础数据管理模块;2车型原始图片分类查询模块;3车辆综合信息查询模块;4单一车型比对模块;5批量车型比对模块;6与全国交管信息接口模块;7与原有视频分析系统接口模块。 4.2系统拓扑 系统拓扑结构如图3所示。 4.3系统功能 (1)车型图片分类采集。选择图片视频条件相对较好的固定道口,采集原始数据。然https://www.99xueshu.com/w/ikey652tpnia.html
6.北京中科慧识科技有限公司慧识车牌识别,车型识别,车辆特征北京中科慧识科技有限公司 慧识车牌识别,车型识别,车架号识别,危化品车辆,危险品车辆检测,交通事件检测http://www.bj-zkhs.com/h-nd-14.html
7.看图识车app有哪些什么软件能看图识车看图识车app是一种可以通过拍照进行汽车找寻的软件合集,这里面有超多类型的汽车可以进行找寻,用户可以在这里面找到自己满意的汽车,软件的使用方法是非常简单的,通过照片进行一键上传,就可以快速的进行汽车的找寻,操作起来非常简单,新手用户也可以轻松的完成操作。https://app.ali213.net/heji/ktscappynx.html
8.识别图像中的车辆并框出来pytorch识别图片中的汽车 车型识别是识别汽车图片(完整或部件图片)的类型,目前有小轿车、多用途汽车、SUV等类别。 本案例导学步骤如下图所示。 背景知识 根据拍摄照片,快速识别图片中车辆的品牌型号,提供针对性的信息和服务,可用于相册管理、图片分类打标签、电子汽车说明书、一键拍照租车等场景。以及在监控高速路https://blog.51cto.com/u_16213603/11073391
9.汽车图像识别汽车车型图像识别ff汽车日本九州大学的一个团队开发了一种欺骗图像识别技术的新方法。对许多研究人员来说,一般的方法是给图像添加一些功能,这些图像会错误地触发神经网络,并让它识别出它所看到的完全不同的东西。换句话说,怎样才能让人工智能看到汽车的图像,并把它归类为狗呢? 令人惊讶的https://cloud.tencent.com/developer/information/%E6%B1%BD%E8%BD%A6%E5%9B%BE%E5%83%8F%E8%AF%86%E5%88%AB
10.车型识别车型识别API接口标准化API接口聚合数据基于业界领先的深度学习技术,提供多场景、多语种、高精度的整图文字检测和识别服务 植物识别 根据上传的植物图片,识别植物信息。 地标识别 支持识别约5万中外著名地标、景点,广泛应用于拍照识图、图片分类等场景 API资讯 1.浅谈车型识别API接口到底是什么 https://www.juhe.cn/docs/api/id/371
11.汽车内饰识别车型(汽车内饰识别车型在线)汽车内饰识别车型在线1、未识别到相似车系. 拍图识车. 请您给我一张汽车图,让我来看看TA是谁?. 拍摄/上传相册中汽车图片. 框出您想找的车辆主题,识别更准确哦!. 取消选取. 您觉得本次识别是否准确?. [准确][不准确] 再拍一次. 2、在线调试 请求说明 返回说明 车型识别 更新时间 : 2023-01-0接口描述http://51sole1493629.51sole.com/companyproductdetail_397634159.htm
12.看图片识别车型腾势的旗舰车型也来了?N9实车图片曝光 车视风云 2024年10月12日 车牌识别相机:充电停车新发展 亿停通停车设备厂 2024年10月08日 新款YARiS的官方图片发布 全民舆车 2024年02月19日 车牌识别摄像头——车位防占神器 亿停通停车设备厂 2024年10月28日 领克08最新的仪表警示灯识别大全!!! 车手28823342SP 2024https://news.yiche.com/tag/324705.html
13.汽车电路原理与维修负责阅读图注,了解电路图的称号、技术类型,想知道学汽车维修要多久。懂得图形符号的含义,设备元器件和图形符号间逐一对应的相关,这样才气急迅切确地识图。 三、驾御回路 在电学中,回路是一个最基础、最紧要,同时也是最简单的概念,任何一个完整的电路都由电源、用电器、开关、导线等组成。看待直流电路而言,电流总是http://www.qcwxjs.com/dianlu/1618.html
14.识之设备需装有 visionOS 1.0 或更高版本。 Jazyky 英语 Věk 4+ Copyright ? CRMO. All rights reserved. Cena Bezplatné Podpora pro aplikace Zásady ochrany osobních údaj? 拍照识图-智能慧眼识别图片 拍照识物-生活拍照小百科 万能图像识别 - 智能Ai作画与识物https://apps.apple.com/cn/app/%E8%AF%86%E4%B9%8B-ai%E8%AF%86%E5%9B%BE/id1441597334?l=cs
15.慧眼识图慧眼识图:人工智能+相机(图片),可识别身边已知或未知的物体(识花草、识明星、识商标、识动物、识车型、文字识别等),为你解疑解惑,使你成为生活中的百事通。(1)拍照识物,立马就知:对我们身边已知或未知的物体,拍拍照就能知道它的名字和详情。(2)高手鉴定,探索交流:三人行,必有我师,与高手实时交流探索新事物。https://app.xiaomi.com/details?id=com.image.detect