「模型即服务AI」1分钟调用SOTA人脸检测,同时搭建时光相册小应用—【OpenVI—代码解读系列】

本文涉及的产品
视觉智能开放平台,视频资源包5000点
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,图像资源包5000点
简介: 最近有两个计算机应用发展的方向正在潜移默化的汇拢中:1.)模型即服务 2.)人工智能(AI)。它们的会师正逐渐形成模型即服务AI热潮。 近几年模型即服务一直被人津津乐道,这是提升AI编程效率、加速AI创新应用的大趋势。人工智能领域近几年非常火热,基于AI的行业创新应用层出不穷,尤其今年的AI绘画又大有元年之势,相应介绍可查阅《人工智能内容生成元年—AI绘画原理解析》。如下章节将重点介绍如何通过模型即服务来完成AI功能调用以及相应AI应用搭建。

1.gif

时光相册应用效果


一、物料


人脸检测:稳定调用及效果更好的API,详见视觉开放智能平台:人脸检测与五官定位


二、背景


     最近有两个计算机应用发展的方向正在潜移默化的汇拢中:1.)模型即服务 2.)人工智能(AI)。它们的会师正逐渐形成模型即服务AI热潮。


     什么是模型即服务呢?顾名思义模型即服务(MaaS)是一种用较少的代码、以较快的速度来调用AI功能以及部署AI服务的平台。通过少量代码或不用代码实现AI场景应用创新。


     什么是人工智能呢?虽老生常谈,但本着空杯的心态,这里亦引用了百度百科上的定义:“人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。”


     近几年模型即服务一直被人津津乐道,这是提升AI编程效率、加速AI创新应用的大趋势。人工智能领域近几年非常火热,基于AI的行业创新应用层出不穷,尤其今年的AI绘画又大有元年之势。如下章节将重点介绍如何通过模型即服务来完成AI功能调用以及相应AI应用搭建


三、方法


1.)模型即服务AI功能调用:

首先打开notebook,可以通过示例右上角创建账号申领。亦或通过本地python环境安装直接调用(若本地环境暂无pip,则查看文档中“Python环境配置”部分)。等到环境ready后,试跑如下示例代码:


from modelscope.pipelines import pipeline

from modelscope.utils.constant import Tasks

 

mog_face_detection_func = pipeline(Tasks.face_detection, 'damo/cv_resnet101_face-detection_cvpr22papermogface')

src_img_path = 'https://modelscope.oss-cn-beijing.aliyuncs.com/test/images/mog_face_detection.jpg'

raw_result = mog_face_detection_func(src_img_path)

print('face detection output: {}.'.format(raw_result))

 

# if you want to show the result, you can run

from modelscope.utils.cv.image_utils import draw_face_detection_no_lm_result

from modelscope.preprocessors.image import LoadImage

import cv2

import numpy as np

 

# load image from url as rgb order

src_img = LoadImage.convert_to_ndarray(src_img_path)

# save src image as bgr order to local

src_img  = cv2.cvtColor(np.asarray(src_img), cv2.COLOR_RGB2BGR)

cv2.imwrite('src_img.jpg', src_img)  

# draw dst image from local src image as bgr order

dst_img = draw_face_detection_no_lm_result('src_img.jpg', raw_result)

# save dst image as bgr order to local

cv2.imwrite('dst_img.jpg', dst_img)

# show dst image by rgb order

import matplotlib.pyplot as plt

dst_img  = cv2.cvtColor(np.asarray(dst_img), cv2.COLOR_BGR2RGB)

plt.imshow(dst_img)


     这样就完成了模型即服务的AI功能调用了。可以将这快速应用在平时需要调用人脸检测的场景中了。


2.)模型即服务AI应用搭建:


      在完成1.)步骤之后,可能有人会有疑问:“1.)步骤中的代码只适合自己调用,如何形成模型即服务的AI应用服务给更多人分享使用呢?”。本节重点介绍如何基于1.)进而完成相应模型即服务的样例AI应用。该应用的搭建将基于gradio实现,具体步骤如下:


a.)按照手册完成gradio环境配置。


b.)建立app.py文件并填充如下代码:


import gradio as gr

from modelscope.pipelines import pipeline

from modelscope.utils.constant import Tasks

from modelscope.utils.cv.image_utils import draw_face_detection_no_lm_result

from modelscope.preprocessors.image import LoadImage

from PIL import Image

import cv2

import numpy as np

 

###########################################

# gradio demo app 推断入口

###########################################

 

# gradio app demo 算法运行函数

definference(input_file):

   mog_face_detection_func = pipeline(Tasks.face_detection, 'damo/cv_resnet101_face-detection_cvpr22papermogface')

   src_img_path = 'https://modelscope.oss-cn-beijing.aliyuncs.com/test/images/mog_face_detection.jpg'

   raw_result = mog_face_detection_func(src_img_path)

   print('face detection output: {}.'.format(raw_result))

 

   # load image from url as rgb order

   src_img = LoadImage.convert_to_ndarray(src_img_path)

   # save src image as bgr order to local

   src_img  = cv2.cvtColor(np.asarray(src_img), cv2.COLOR_RGB2BGR)

   cv2.imwrite('src_img.jpg', src_img)  

   # draw dst image from local src image as bgr order

   dst_img = draw_face_detection_no_lm_result('src_img.jpg', raw_result)

   # convert to rgb order

   dst_img  = cv2.cvtColor(np.asarray(dst_img), cv2.COLOR_BGR2RGB)

 

   return dst_img

 

 

# gradio app 环境参数

css_style = "#fixed_size_img {height: 240px;} " \

           "#overview {margin: auto;max-width: 600px; max-height: 400px;}"

title = "AI人脸检测应用"

 

###########################################

# gradio demo app

###########################################

with gr.Blocks(title=title, css=css_style) as demo:

   gr.HTML('''

     


                 

                   style="

                     display: inline-flex;

                     align-items: center;

                     gap: 0.8rem;

                     font-size: 1.75rem;

                   "

                 >

                   


                     AI人脸检测应用

                   

     ''')

 

   with gr.Row():

       img_input = gr.Image(type="pil", elem_id="fixed_size_img")

       img_output = gr.Image(type="pil", elem_id="fixed_size_img")

   with gr.Row():

       btn_submit = gr.Button(value="一键生成", elem_id="blue_btn")

 

   examples = [['https://modelscope.oss-cn-beijing.aliyuncs.com/test/images/mog_face_detection.jpg']]

 

   examples = gr.Examples(examples=examples, inputs=img_input, outputs=img_output, label="点击如下示例试玩", run_on_click=True)

   btn_submit.click(inference, inputs=[img_input], outputs=img_output)

   # btn_clear清除画布

 

 

if __name__ == "__main__":

   demo.launch(share=True)


c.)在本地或者线上环境执行如下指令:python app.py


d.)复制粘贴如下红框相应服务链接进行分享使用

22.jpg



四、讨论

      回首过往,作为2007级本科生,当时是大类招生的,到了2008年大二的时候就需要选方向了。当时大二选方向时,有很多热门的专业,如“自动化”、“信息与通信”等,“计算机”在当时不可不谓是冷门的存在。由于当时大一参加了软件协会(后孵化了ACM集训队),迷上了程序设计语言的创造力,所以选择了计算机专业。


       转眼进入了专业课的学习,当时上了一门人工智能课程,里面讲到了“手写数字识别”这样BP神经网络案例,当即被人工智能的创造力吸引到了。在当时实现手写数字识别还需要用较重的MFC应用搭建方式,如果不太熟悉的话,应用入门成本还是比较高的。现如今结合模型即服务AI热潮,相应应用搭建将会越来越方便,大把的精力可以集中放到AI技术与应用的普及和相应创新上了。


       同学们如有想要简单快速实现的其他AI应用也可在评论区留言,作者将择机对需求呼声较高的AI应用做模型即服务实现分享。


五、应用

       接下来给大家介绍下我们平台上展示的功能,欢迎大家体验。


阿里云—视觉智能开放平台


阿里云—视觉智能开放平台—人脸人体

基于图像或视频中的人脸检测、分析/比对技术,以及人体检测技术,提供人脸/人体的检测定位、人脸属性识别和人脸比对等独立模块。可以为开发者和企业提供高性能的在线API服务,应用于人脸AR、生物识别和认证、大规模人脸检索、照片管理等各种场景。


阿里云—视觉智能开放平台—视频生产

基于阿里云计算机视觉与深度学习技术,提供视频内容的编辑、生成、增强与摘要等能力。视频生产可广泛应用于互联网媒体、短视频、娱乐直播、在线教育、广电传媒等行业应用。


相关文章
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术深度解析:从基础到应用的全面介绍
人工智能(AI)技术的迅猛发展,正在深刻改变着我们的生活和工作方式。从自然语言处理(NLP)到机器学习,从神经网络到大型语言模型(LLM),AI技术的每一次进步都带来了前所未有的机遇和挑战。本文将从背景、历史、业务场景、Python代码示例、流程图以及如何上手等多个方面,对AI技术中的关键组件进行深度解析,为读者呈现一个全面而深入的AI技术世界。
66 10
|
3天前
|
机器学习/深度学习 人工智能 物联网
AI赋能大学计划·大模型技术与应用实战学生训练营——湖南大学站圆满结营
12月14日,由中国软件行业校园招聘与实习公共服务平台携手魔搭社区共同举办的AI赋能大学计划·大模型技术与产业趋势高校行AIGC项目实战营·湖南大学站圆满结营。
AI赋能大学计划·大模型技术与应用实战学生训练营——湖南大学站圆满结营
|
5天前
|
人工智能
AniDoc:蚂蚁集团开源 2D 动画上色 AI 模型,基于视频扩散模型自动将草图序列转换成彩色动画,保持动画的连贯性
AniDoc 是一款基于视频扩散模型的 2D 动画上色 AI 模型,能够自动将草图序列转换为彩色动画。该模型通过对应匹配技术和背景增强策略,实现了色彩和风格的准确传递,适用于动画制作、游戏开发和数字艺术创作等多个领域。
60 16
AniDoc:蚂蚁集团开源 2D 动画上色 AI 模型,基于视频扩散模型自动将草图序列转换成彩色动画,保持动画的连贯性
|
9天前
|
机器学习/深度学习 人工智能 算法
探索AI在医疗诊断中的应用与挑战
【10月更文挑战第21天】 本文深入探讨了人工智能(AI)技术在医疗诊断领域的应用现状与面临的挑战,旨在为读者提供一个全面的视角,了解AI如何改变传统医疗模式,以及这一变革过程中所伴随的技术、伦理和法律问题。通过分析AI技术的优势和局限性,本文旨在促进对AI在医疗领域应用的更深层次理解和讨论。
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
AI在自然语言处理中的突破:从理论到应用
AI在自然语言处理中的突破:从理论到应用
50 17
|
6天前
|
人工智能 Serverless API
尽享红利,Serverless构建企业AI应用方案与实践
本次课程由阿里云云原生架构师计缘分享,主题为“尽享红利,Serverless构建企业AI应用方案与实践”。课程分为四个部分:1) Serverless技术价值,介绍其发展趋势及优势;2) Serverless函数计算与AI的结合,探讨两者融合的应用场景;3) Serverless函数计算AIGC应用方案,展示具体的技术实现和客户案例;4) 业务初期如何降低使用门槛,提供新用户权益和免费资源。通过这些内容,帮助企业和开发者快速构建高效、低成本的AI应用。
44 12
|
3天前
|
人工智能 容灾 关系型数据库
【AI应用启航workshop】构建高可用数据库、拥抱AI智能问数
12月25日(周三)14:00-16:30参与线上闭门会,阿里云诚邀您一同开启AI应用实践之旅!
|
2天前
|
人工智能 前端开发 Java
Spring AI Alibaba + 通义千问,开发AI应用如此简单!!!
本文介绍了如何使用Spring AI Alibaba开发一个简单的AI对话应用。通过引入`spring-ai-alibaba-starter`依赖和配置API密钥,结合Spring Boot项目,只需几行代码即可实现与AI模型的交互。具体步骤包括创建Spring Boot项目、编写Controller处理对话请求以及前端页面展示对话内容。此外,文章还介绍了如何通过添加对话记忆功能,使AI能够理解上下文并进行连贯对话。最后,总结了Spring AI为Java开发者带来的便利,简化了AI应用的开发流程。
76 0
|
10天前
|
传感器 机器学习/深度学习 人工智能
AI在自动驾驶汽车中的应用与未来展望
AI在自动驾驶汽车中的应用与未来展望
57 9
|
2天前
|
人工智能 安全 图形学
【AI落地应用实战】篡改检测技术前沿探索——从基于检测分割到大模型
在数字化洪流席卷全球的当下,视觉内容已成为信息交流与传播的核心媒介,然而,随着PS技术和AIGC技术的飞速发展,图像篡改给视觉内容安全带来了前所未有的挑战。 本文将探讨篡改检测技术的现实挑战,分享篡改检测技术前沿和最新应用成果。

热门文章

最新文章