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

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

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

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

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

迁移学习不是一种算法,而是一种机器学习思想,应用到深度学习就是微调(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.不用再地去记忆车型了,这3个App,一键拍图上传即可识别首先我们打开迅捷文字识别APP,点击主页下方的【发现】,找到迅捷文字识别的更多功能。 点击【一键识别】,往下滑动找到【车辆识别】-【识别车型】,除此之外还支持对车牌、车辆VIN码的识别。 这里我们点击识别车型,上传或者拍照所需要识别的车型图片,调整范围和方向来进行识别。 https://www.dongchedi.com/ugc/article/7236313752013521420
2.有图片怎么识别车型马路上每天都有新的汽车开过,现在汽车的型号也是五花八门,要买车时总是非常慎重的挑选一个最爱的车型,最爱的车型肯定是我们看见过的车子,当时可以用手机把拍下来,然后通过这张图片去识别车型,今天就分享一个有图片然后识别车型的方法。工具/原料 VIVOV1916A Android11 掌上识别王4.2.1.0 方法/步骤 1 https://jingyan.baidu.com/article/a3761b2bf015665476f9aafe.html
3.怎么根据图片查车型想要通过图片来查找车型?以下是一些可以尝试的方法: 借助网络识别服务:网络上有很多工具能帮你识别车型。你可以尝试将图片上传到如Google Photos或Tineye等网站,它们能帮你识别出汽车的品牌与型号。 这些在线服务运用计算机视觉技术,通过解析照片中汽车的细节特征来判定车型。 https://www.yoojia.com/article/9062856193825929712.html
4.手机AI都发展成这样了?一键识别车辆型号!手机ai手机AI都发展成这样了?一键识别车辆型号!2024-11-25 18:18:05 五彩科技 山东 举报 0 分享至 0:00 / 0:00 速度 洗脑循环 Error: Hls is not supported. 视频加载失败 五彩科技 771粉丝 最新鲜资讯,最新鲜的内容 00:42 巴厘岛上全都是OPhone?Find X8系列出海硬刚果子! 00:36 一加13能有这么香?https://www.163.com/v/video/VIGU7UU1S.html
5.图片识别java图片识别车型mob6454cc6a8ab0的技术博客图片识别java 图片识别车型 机器学习—车辆种类图片识别 一、选题的背景 随着城市化建设不断发展,我国对交通建设的需求也不断增长,成为了世界上在交通领域基础设施建设最快的国家之一,但车辆管控问题、道路交通问题、车辆违章问题等层出不穷,很难做到全面、有效的管理。马路上的摄像头每天拍摄下的许多汽车照片,怎么在https://blog.51cto.com/u_16099229/6943672
6.拍照识别车型app有哪些?几款拍照识别车型软件推荐慧眼识图:人工智能+相机(图片),可识别身边已知或未知的物体(识花草、识明星、识商标、识动物、识车型、文字识别等),为你解疑解惑,使你成为生活中的百事通。 查看详情 4.百度 百度App,7亿用户选择的搜索和资讯客户端。 中文的语音搜索识别技术,准确率高达98%。 热门新闻、视频抢先看,更有正版小说。 https://m.liqucn.com/article/289994.wml
7.识别车型配图识别车型手机微信图片摄图网识别车型配图为您提供7张识别车型手机微信图片下载,您还可以找到识别车型微信图片,识别车型手机图片素材,识别车型公众号配图,识别车型手机海报,识别车型微信插图等识别车型相关的手机配图素材,摄图网的每个识别车型配图素材均有版权可放心下载商用.https://699pic.com/muban/peitu-shibiechexing.html
8.基于决策导向非循环图SVM的汽车车型识别AET结果表明,与神经网络方法相比,DDAG SVM是一种对多类车进行分类切实可行的有效方法,不但分类精度高,而且识别效果也比较好。 为了解决对多类车的分类,本文提出了一种基于DDAG SVM对多种车型分类的方法,实验结果证明,DDAG SVM是一种对多类车进行分类切实可行的有效方法。由于实验中选用的车辆图片是以正侧面为主,与现http://www.chinaaet.com/article/76325
9.基于百度云AI开发车型识别车牌识别案例详解.pdfAndroid车牌识别SDK Demo 企业级停车场摄像头识别车牌识别准确率高(识别率98%) 速度快(不到0.5秒) 本地识别无需联网 ,含Demo代码 Android Studio环境项目,支持6.0以上高版本。 Android车牌识别Demo 源码 能识别蓝色和黄色车牌的OCR android版本 浏览:134 https://download.csdn.net/download/JarrettLuo/15333300
10.拍照车辆分析api接口图片车型识别根据视频抓拍图像序列,进行车辆检测和追踪,识别指定区域内车辆的驶入、驶出数量 详情介绍>> 车辆检测 检测图像中的车辆(含小汽车、卡车、巴士、摩托车、三轮车),返回每辆车的坐标位置 详情介绍>> 车型识别 识别近3000款常见车型,输出图片中主体车辆的品牌型号、年份、颜色、百科词条信息 https://ai.tuidc.com/tuxiang/cheliang.html
11.北京中科慧识科技有限公司慧识车牌识别,车型识别,车辆特征北京中科慧识机动车图像二次识别软件通过分析前端卡口、电子警察、监控等系统采集到的图片、视频信息,对图片、视频中的机动车辆进行二次识别,包括识别号牌号码、号牌颜色、车辆类型、车辆品牌、车辆子品牌、车身颜色、车辆主要特征等信息。将识别结果与公安综合平台中的机动车登记信息进行耦合比对,对套牌、假牌、遮挡号牌http://www.bj-zkhs.com/h-nd-14.html
12.拍照识图1、动物识别:检测用户拍摄的动物图片,返回动物名称、置信度等信息。 2、菜品识别:检测用户拍摄的菜品图片,返回具体的菜名、卡路里、置信度等信息。 3、车型识别:检测用户拍摄的车辆图片,识别所属车型,包括车辆品牌及具体型号。 4、标志识别:识别图片中包含的商品Logo信息,返回Logo品牌名称、置信度。 https://apps.apple.com/fr/app/%E6%8B%8D%E7%85%A7%E8%AF%86%E5%9B%BE-%E6%99%BA%E8%83%BD%E6%85%A7%E7%9C%BC%E8%AF%86%E5%88%AB%E5%9B%BE%E7%89%87/id1210590806
13.武平县公安局第九期公共安全视频监控建设项目货物类采购项目附件微卡口功能:支持机动车抓拍、车牌识别,支持非机动车抓拍、车型设识别、特征识别,支持行人人脸抓拍,支持行人特征识别; 运维功能:支持以组织为单位图形化展现在线率、图像正常率、录像正常率、编码设备在线率(区域资源运行情况);支持各区域异常明细查看;支持以当天、一周内、一月内为统计维度,对系统内各类型资源的离线http://zfcg.longyan.gov.cn/upload/document/20211027/8f239fdf66564012af5845ec4fa0aa9b.html
14.什么软件能看图识车什么软件可以通过图片识别车型看图识车app是一种可以通过拍照进行汽车找寻的软件合集,这里面有超多类型的汽车可以进行找寻,用户可以在这里面找到自己满意的汽车,软件的使用方法是非常简单的,通过照片进行一键上传,就可以快速的进行汽车的找寻,操作起来非常简单,新手用户也可以轻松的完成操作。https://app.ali213.net/heji/ktscappynx.html
15.小黄蜂经济性极简无人值守停车场系统车辆捕获率、车辆号牌识别率、车辆分离准确率、车型识别准确率、车牌与车型匹配率均符合行业生产标准。 车牌识别的核心是相机,为什么我们识别技术可以如此卓越? 第6代车牌识别全新技术 4核处理器 采用高效4核处理器,图像采集和图像分析独立进行,处理能力为25帧/秒。 智能跟踪 对车牌进行锁定跟踪,同时检测车牌像数大小https://www.anbeichi.cn/html/Wisdomparking/xiaohuangfeng/