【modlearts】华为人工智能平台_modelarts平台系列教程3_预置算法_图像识别1
华为modelarts训练,能够面向三类用户提供解决AI开发支持。对于无AI基础的业务开发员,可以使用自动学习模型。全程无需写代码,一键启动训练&部署。对于AI初学者,使用预置的算法,少量的代码即可调用。对于AI深度玩家,可以使用modlearts内置的notebook,自研的MoXingSDK,简化代码。modlearts内置了很多算法,这些算法我们可以直接调用。只需要少量的代码,即可实现功能。
前言
华为modelarts训练,能够面向三类用户提供解决AI开发支持。对于无AI基础的业务开发员,可以使用自动学习模型。全程无需写代码,一键启动训练&部署。对于AI初学者,使用预置的算法,少量的代码即可调用。对于AI深度玩家,可以使用modlearts内置的notebook,自研的MoXingSDK,简化代码。
modlearts内置了很多算法,这些算法我们可以直接调用。只需要少量的代码,即可实现功能。
如上图所示
华为云平台提供了一些使用场景。这些场景覆盖了图像处理,语音处理,和自然语言的处理。多个场景
1.图像处理简介
图像识别,是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对象的技术。图像识别以开放API(Application Programming Interface,应用程序编程接口)的方式提供给用户,用户通过实时访问和调用API获取推理结果,帮助用户自动采集关键数据,打造智能化业务系统,提升业务效率。
图像识别(Image Recognition),基于深度学习技术,可准确识别图像中的视觉内容,提供多种物体、场景和概念标签,具备目标检测和属性识别等能力,帮助客户准确识别和理解图像内容。
图像标签-自然图像的语义内容非常丰富,一个图像包含多个标签内容,图像标签可识别三千多种物体以及两万多种场景和概念标签,更智能、准确的理解图像内容,让智能相册管理、照片检索和分类、基于场景内容或者物体的广告推荐等功能更加准确。
翻拍识别-零售行业通常根据零售店的销售量进行销售奖励,拍摄售出商品的条形码上传后台是常用的统计方式。翻拍识别利用深度神经网络算法判断条形码图片为原始拍摄,还是经过二次翻拍、打印翻拍等手法二次处理的图片。利用翻拍识别,可以检测出经过二次处理的不合规范图片,使得统计数据更准确、有效。
华为云解决方案,客户端通过,网络请求发送请求,在华为云内部部署了预置算法,处理请求,请求处理完毕之后,返回结果。结果是以json的格式返回。
2.代码解析
该实验需要在华为公有云服务上下载图像识别的SDK,通过AK\SK信息进行身份认证从而调用SDK底层接口服务进行Restful服务请求的提交,本实验就是通过SDK来调用图像识别的服务的,并在Jupyter Notebook中实验。
SDK下载位置 数据下载提取码:xj8m
1 导入所需要的包
from image_sdk.utils import encode_to_base64
from image_sdk.image_tagging import image_tagging_aksk
from image_sdk.recapture_detect import recapture_detect_aksk
from image_sdk.utils import init_global_env
2 配置相关参数
ak = "***" #配置自己的ak
sk = "***" #配置自己的sk
region = "cn-north-4" #默认使用北京-4区,对应的区域代码即为cn-north-4
3 配置实验数据路径
img_tag_path="data/demo.jpg"
img_recapture_detect_path = "data/demo2.jpg"
4 初始化全局环境
init_global_env(region)
步骤 5 图像标签测试
result = image_tagging_aksk(ak, sk, encode_to_base64(img_tag_path), '', 'en', 5, 60)
print(result)
image_tagging_aksk这个函数的前2个参数分别是ak和sk,第3个参数是图像数据进行编码,第4个参数是url上的图片,如果使用本地图片,我们只需要这里传入空字符串即可,第5个参数是支持的语言,目前支持中文(“zh”)和英文(“en”),第6个参数表示最多返回的标签数,默认为-1的话,代表返回所有标签,第7个参数指的是置信度的阈值(0~100),低于此置信数的标签,将不会返回,默认值为0。
输出结果:
{“result”:{“tags”:[{“confidence”:“96.19”,“i18n_tag”:{“en”:“Person”,“zh”:“人”},“tag”:“人”,“type”:“object”},{“confidence”:“90.23”,“i18n_tag”:{“en”:“Lovely”,“zh”:“可爱”},“tag”:“可爱”,“type”:“object”},{“confidence”:“83.71”,“i18n_tag”:{“en”:“Beauty”,“zh”:“美女”},“tag”:“美女”,“type”:“object”},{“confidence”:“83.37”,“i18n_tag”:{“en”:“Summer”,“zh”:“夏天”},“tag”:“夏天”,“type”:“object”},{“confidence”:“81.41”,“i18n_tag”:{“en”:“Leisure time”,“zh”:“休闲”},“tag”:“休闲”,“type”:“object”}]}}
步骤 6 图像翻拍检测测试
result = recapture_detect_aksk(ak, sk, encode_to_base64(img_recapture_detect_path), '', 0.75, ["recapture"])
print(result)
实验用到的图片
recapture_detect_aksk这个函数的前2个参数分别是ak和sk,第3个参数是图像数据进行编码,第4个参数是url上的图片,如果使用本地图片,我们只需要这里传入空字符串即可,第5个参数指的是置信度的阈值(0~100),达到此置信度才会被认为是翻拍的,第6个参数代表检测场景,当前仅支持翻拍照片场景: recapture,该参数可以为空,为空时返回所有的场景的检测结果。
输出结果:
{“result”:{“suggestion”:“false”,“category”:“recapture”,“score”:“0.9888”,“detail”:[{“label”:“recapture”,“confidence”:“0.9888”}]}}
suggestion代表总体的结论,true:真实,false:虚假,uncertainty:不确定。category代表标签(如果suggestion为真时,则该值为空字符串,否则不为空),recapture代表是翻拍图,score是总体置信度,取值范围 0-1.0,label为标签值(original:原始图,recapture:翻拍图),confidence代表置信度,取值范围:0-1.0。
更多推荐
所有评论(0)