快收藏!手把手教你用AI绘画

点个关注👆跟腾讯工程师学技术

0bb68a2bb53f317b16c4caf0678b9729.gif

3fe76bdf546d9b63c89faffeccdbc646.png

最近看到一篇有趣的文章,一副名为《太空歌剧院》(如下图)的艺术品在某美术比赛上,获得了第一名的成绩, 有意思的是这件作品是通过AI来实现的画作, 顿时觉得非常神奇。结合近期科技媒体频频报道的AI作画爆火现象,深入了解了下,发现市面上有一些AI作画的小程序, 是通过输入一段文字给AI, 然后输出一副和文字意思相近的图片。这个感觉非常有意思,某种程度上会给绘画行业带来新的发展契机。

那如果自己想实现一个类似的小程序,该如何做呢?下面详细分享下我的思考实践过程。

789a91efa1c97f41ee51bb8709c1206c.png

8dfa8ead8fce2c08db5c48052e624f23.jpeg

实现思路

目前看到的AI画画的基本流程如下:输入文本-〉选择风格化(油画/素描/动漫等等)-〉生成图片。根据实际体验, 很多小程序其实是在现有的实景图片基础上,做了一层风格化的后置处理,效果主要体现在以下两点

  • 文字和图片的匹配度。

  • 图片的风格化效果。

根据这两点来思考, 如果需要实现一个类似的功能, 我们需要维护一个图库,并通过AI提取图片标签,映射图片和标签的关系,如下图:

b83c709dbfb3644377a8dae946fd4ce3.png

上述的图库模块,主要是图片和文字的映射,可以通过腾讯云的图像标签来提取入库, 这个过程有点类似于搜索引擎的图片搜索,通过文字匹配图片。常用的搜索引擎(搜狗,百度,谷歌)都有类似的功能,只不过都是网图,不过也没关系, 我们可以通过现有的搜索引擎的能力快速验证下效果,简化一下流程如下:

fe83590acc01725c4098339142d9a794.png

基本方案确定, 下面详细描述下实现过程。

932794394910b1a700579f027e33fea3.jpeg

准备工作

(一)文字搜图

通过文字生成意思相近的图片,发现搜狗有现成的能力,可以通过输入文字或图片,获取匹配度比较高的网图:

8916250de082f357d99d7fcf5a09e842.png

通过输入关键字,分析下接口调用:

d3c34662ebde27f29669b844c30243ac.png

直接调用下接口, 就可以拿到对应的图片url:

b00dd4f4c255543cd6a487de6b2657ce.png

(二)图像风格化

好了, 现在有数据源了, 我们先主要针对人物进行风格化处理, 调研一番,发现腾讯云官网有针对人像动漫画的处理,看下描述可以满足需求:

ccdc6ebdbc0a20d67ea6fd123741e60d.png

  • 官网效果:

ac8808a8898fce2b184eab7cc1924930.png

开通服务后,会赠送1000次的资源包:

b649a21047b1685c2475cd6f6b3a8088.png

  • 控制台调用查看:

8bba8150046b7741ab771e0c58e5e2dd.png

  • SDK调用:

我们使用golang来开发, 获取下依赖库:

go get github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common
go get github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/ft

使用接口调用服务:

credential := common.NewCredential("***","***",
)
cpf := profile.NewClientProfile()
client, err := ft.NewClient(credential, "ap-guangzhou", cpf)
if err != nil {log.Errorf("NewClient, err=%+v", err)return nil, err
}
req := ft.NewFaceCartoonPicRequest()// 输入图URL
req.Url = common.StringPtr(imageUrl)// 返回结果URL
req.RspImgType = common.StringPtr("url") resp, err := client.FaceCartoonPic(req)
if err != nil {log.Errorf("FaceCartoonPic, err=%+v", err)return nil, err
}

33169408d08e5b0b8d9ae9f8ec4b61ad.jpeg

小程序上实现AI画画

(一)服务端-搜狗API封装

// Response 搜狗API返回结构
type Response struct {Status int    `json:"status"`Info   string `json:"info"`Data   struct {AdPic []struct {DocID       string `json:"docId"`Index       int    `json:"index"`Mfid        string `json:"mfid"`ThumbHeight int    `json:"thumbHeight"`ThumbWidth  int    `json:"thumbWidth"`} `json:"adPic"`BlackLevel    int      `json:"blackLevel"`CacheDocNum   int      `json:"cacheDocNum"`HasPicsetRes  int      `json:"hasPicsetRes"`HintWords     []string `json:"hintWords"`IsQcResult    string   `json:"isQcResult"`IsStrongStyle int      `json:"is_strong_style"`Items         []struct {Anchor2           []string `json:"anchor2"`Author            string   `json:"author"`AuthorName        string   `json:"author_name"`AuthorPageurl     string   `json:"author_pageurl"`AuthorPicurl      string   `json:"author_picurl"`AuthorThumbURL    string   `json:"author_thumbUrl"`AuthorThumbMfid   string   `json:"author_thumb_mfid"`Biaoqing          int      `json:"biaoqing"`ChSiteName        string   `json:"ch_site_name"`CutBoardInputSkin string   `json:"cutBoardInputSkin"`DocID             string   `json:"docId"`Docidx            int      `json:"docidx"`Gifpic            int      `json:"gifpic"`Grouppic          int      `json:"grouppic"`Height            int      `json:"height"`HTTPSConvert      int      `json:"https_convert"`Index             int      `json:"index"`LastModified      string   `json:"lastModified"`LikeNum           string   `json:"like_num"`Link              string   `json:"link"`LocImageLink      string   `json:"locImageLink"`MfID              string   `json:"mf_id"`Mood              string   `json:"mood"`Name              string   `json:"name"`OriPicURL         string   `json:"oriPicUrl"`PainterYear       string   `json:"painter_year"`PicURL            string   `json:"picUrl"`Publishmodified   string   `json:"publishmodified"`Size              int      `json:"size"`Summarytype       string   `json:"summarytype"`ThumbHeight       int      `json:"thumbHeight"`ThumbURL          string   `json:"thumbUrl"`ThumbWidth        int      `json:"thumbWidth"`Title             string   `json:"title"`Type              string   `json:"type,omitempty"`URL               string   `json:"url"`WapLink           string   `json:"wapLink"`Width             int      `json:"width"`Scale             float64  `json:"scale"`Did               int      `json:"did"`ImgTag            string   `json:"imgTag"`BgColor           string   `json:"bgColor,omitempty"`ImgDefaultURL     string   `json:"imgDefaultUrl"`} `json:"items"`MaxEnd           int        `json:"maxEnd"`NextPage         string     `json:"next-page"`PainterDocCount  int        `json:"painter_doc_count"`Parity           string     `json:"parity"`PoliticFilterNum int        `json:"politicFilterNum"`PoliticLevel     int        `json:"politicLevel"`QoInfo           string     `json:"qo_info"`QueryCorrection  string     `json:"queryCorrection"`ShopQuery        string     `json:"shopQuery"`Tag              [][]string `json:"tag"`TagWords         []string   `json:"tagWords"`TagWordsFeed     []string   `json:"tagWords_feed"`TagFeed          [][]string `json:"tag_feed"`TotalItems       int        `json:"totalItems"`TotalNum         int        `json:"totalNum"`UUID             string     `json:"uuid"`ColorList        []struct {Class string `json:"class"`Name  string `json:"name"`Mood  int    `json:"mood"`Stype string `json:"stype"`} `json:"colorList"`Query    string `json:"query"`HintList []struct {LinkURL string `json:"linkUrl"`Text    string `json:"text"`} `json:"hintList"`TagList []struct {Key    string `json:"key"`Value  string `json:"value"`Active bool   `json:"active"`} `json:"tagList"`} `json:"data"`
}type Option struct {Tags []string `json:"tags"`
}// Search ...
func Search(ctx context.Context, keywords, option string) (*Response, error) {// https://pic.sogou.com/pics// 关键词搜索// https://pic.sogou.com/napi/pc/searchList?mode=1&start=48&xml_len=48&query=%E7%BE%8E%E5%A5%B3// tag过滤搜索// https://pic.sogou.com/napi/pc/searchList?mode=1&tagQSign=壁纸,d24f3a88|杨幂,645d0d1a&start=0&xml_len=48&query=迪丽热巴params := url.Values{}params.Set("mode", "1")params.Set("start", "0")params.Set("xml_len", "48")params.Set("query", keywords)if len(option) != 0 {opt := &Option{}err := json.Unmarshal([]byte(option), &opt)if err == nil {tags := ""for i := 0; i < len(opt.Tags)-1; i += 2 {tags += opt.Tags[i] + "," + opt.Tags[i+1]if i == len(opt.Tags)-2 {tags += "|"}}params.Set("tagQSign", tags)}}uri := "https://pic.sogou.com/napi/pc/searchList"address, err := url.Parse(uri)if err != nil {return nil, err}address.RawQuery = params.Encode()request, err := http.NewRequestWithContext(ctx, http.MethodGet, address.String(), nil)if err != nil {log.Errorf("NewRequestWithContext error, %+v", err)return nil, err}resp, err := http.DefaultClient.Do(request)if err != nil {log.Errorf"http do error, %+v", err)return nil, err}defer resp.Body.Close()body, err := ioutil.ReadAll(resp.Body)if err != nil {log.Errorf("Query, request read body failed, %+v", err)return nil, err}rsp := &Response{}err = json.Unmarshal(body, &rsp)if err != nil {panic(err)}return rsp, nil
}

(二) 服务端-动漫画接口

参考上述sdk代码

func FaceCartoonPicPro(ctx context.Context, imageUrl string, tp int) ([]byte, error) {credential := common.NewCredential("***","***",)cpf := profile.NewClientProfile()client, err := ft.NewClient(credential, "ap-guangzhou", cpf)if err != nil {log.Errorf("NewClient, err=%+v", err)return nil, err}req := ft.NewFaceCartoonPicRequest()req.Url = common.StringPtr(imageUrl)req.RspImgType = common.StringPtr("url")resp, err := client.FaceCartoonPic(req)if err != nil {log.Errorf(""FaceCartoonPic, err=%+v", err)return nil, err}return []byte(*resp.Response.ResultUrl), nil
}

(三)服务端-小程序请求接口封装

小程序使用http协议访问, 这里提供一个http服务, 逻辑上分为两步:一、search,通过文字匹配图片。二、风格化,通过腾讯云AI能力, 融合图片。协议:

message SearchImageReq { string text = 1;  // 关键字string option_json = 2; // tag信息, 搜狗API使用
} message Result {string ori_url = 1; // 原始图string res_url = 2; // 风格化后的图
}message SearchImageRsp { int64 error_code = 1; string error_msg = 2;repeated Result result_url_list = 3;  string raw_body = 4; // 原始包体
}

逻辑代码:

// SearchImage ...
func SearchImage(ctx context.Context, req *pb.SearchImageReq, rsp *pb.SearchImageRsp) (err error) {rsp.ErrorCode = 1if len(strings.TrimSpace(req.Text)) == 0 {rsp.ErrorCode = -1return nil}resp, err := Search(ctx, req.Text, req.OptionJson)if err != nil {rsp.ErrorCode = -2log.Errorf("Search Error : %+v", err)return nil}ret := make([]string, 0)for _, v := range resp.Data.Items {ret = append(ret, v.OriPicURL)}raw, _ := json.Marshal(resp)rsp.RawBody = string(raw)// 只要成功了就直接返回success := falsefor _, v := range ret {var changeUrl stringif !success {resUrl, err := FaceCartoonPicPro(ctx, v)if err == nil {success = true}changeUrl = string(resUrl)}rsp.ResultUrlList = append(rsp.ResultUrlList, &pb.Result{OriUrl: v,ResUrl: changeUrl,})}return nil
}

启动http服务:

http.HandleFunc("/SearchImage", func(writer http.ResponseWriter, r *http.Request) {data, _ := ioutil.ReadAll(r.Body)req := &pb.SearchImageReq{}_ = json.Unmarshal(data, &req)rsp := &pb.SearchImageRsp{}_ = SearchImage(context.Background(), req, rsp)body, _ := json.Marshal(rsp)writer.Write(body)
})
http.ListenAndServe("127.0.0.1:8080", nil)

使用curl调用看下效果:

curl --location --request POST 'http://127.0.0.1:8080/SearchImage' --header 'Content-Type: application/json' --data '{"text":"艾薇儿"}' | jq% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100  115k    0  115k  100    38  14765      4  0:00:09  0:00:08  0:00:01 31189
{"error_code": "1","error_msg": "","result_url_list": [{"ori_url": "http://a0.att.hudong.com/67/37/01300000569933126015378092926.jpg","res_url": ""},{"ori_url": "http://i2.hdslb.com/bfs/archive/24c06671653c74e9de14e0bab4bf2107bd97e5f1.png","res_url": "https://faceeffect-1254418846.cos.ap-guangzhou.myqcloud.com/ft/FaceCartoonPic/1253534368/ed046d5d-fb87-4c38-bcb3-6cbb4595e3cf"},{"ori_url": "http://b-ssl.duitang.com/uploads/blog/201404/04/20140404200234_3xXzr.jpeg","res_url": ""},{"ori_url": "http://img0.pclady.com.cn/pclady/1607/14/1544487_1535933_1216188_TUNGSTAR4871543.jpg","res_url": ""}]
}

效果还不错:

c3f469d726ba9d55541155d28207f240.png

d3e5580bd2e566bcf23df97642330934.png

(四)小程序-demo

下载微信开发者工具, 创建项目:

10e2e1b88e86e0f9b4dce6ca83b9914a.png

index.wxml

<view class="container" ><div class="form-item" style="width: 673rpx; height: 70rpx; display: block; box-sizing: border-box"><input placeholder="写下你的创意" class="input" bindinput="handlerInput" /><button class="button" loading="{{buttonStatus}}" bindtap="handlerSearch" size="mini" style="width: 158rpx; height: 64rpx; display: block; box-sizing: border-box; left: 0rpx; top: 0rpx; position: relative"> 立即生成 </button></div><view class="text_box"><text class="text_line">关键词</text></view><view class="view_line"><view class="hot_txt" wx:for="{{tags}}" wx:key="histxt"> <view bindtap="clickItem" data-bean="{{item}}"><view>{{item[0]}}</view></view></view></view><view class="output_line" style="position: relative; left: 0rpx; top: 50rpx; width: 714rpx; height: 58rpx; display: flex; box-sizing: border-box"><text class="text_line" style="width: 99rpx; height: 30rpx; display: block; box-sizing: border-box; position: relative; left: 9rpx; top: -9rpx">作品图</text><view style="position: relative; left: -15rpx; top: 2rpx; width: 571rpx; height: 0rpx; display: block; box-sizing: border-box"></view></view><canvas type="2d" id="input_canvas" style="background: rgb(228, 228, 225); width: 673rpx; height: 700rpx; position: relative; left: 2rpx; top: 80rpx; display: block; box-sizing: border-box"></canvas>
</view>

index.js

// index.js
// 获取应用实例
const app = getApp()Page({data: {inputValue: "",tags: [],option: [],buttonStatus: false,index: 0,motto: 'Hello World',userInfo: {},hasUserInfo: false,canIUse: wx.canIUse('button.open-type.getUserInfo'),canIUseGetUserProfile: false,canIUseOpenData: wx.canIUse('open-data.type.userAvatarUrl') && wx.canIUse('open-data.type.userNickName') // 如需尝试获取用户信息可改为false},// 事件处理函数bindViewTap() {wx.navigateTo({url: '../logs/logs'})},onLoad() {if (wx.getUserProfile) {this.setData({canIUseGetUserProfile: true})}},getUserProfile(e) { // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认,开发者妥善保管用户快速填写的头像昵称,避免重复弹窗wx.getUserProfile({desc: '展示用户信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写success: (res) => {console.log(res)this.setData({userInfo: res.userInfo,hasUserInfo: true})}})},getUserInfo(e) {// 不推荐使用getUserInfo获取用户信息,预计自2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息console.log(e)this.setData({userInfo: e.detail.userInfo,hasUserInfo: true})},imageDraw() {var that = thisvar opt = {}if (that.data.option && that.data.option.length > 0) {opt = {"tags": that.data.option}}console.log("option:", opt)wx.request({url: 'http://127.0.0.1:8080/SearchImage',data: {"text": that.data.inputValue,"option_json": JSON.stringify(opt)},method: "POST",header: {'Content-Type': "application/json"},success (res) {if (res.data == null) {wx.showToast({icon: "error",title: '请求失败',})return}console.log(res.data)that.setData({Resp: res.data,})let raw = JSON.parse(res.data.raw_body)console.log("raw: ", raw)console.log("tagWords: ", raw.data.tagWords)let tags = []for (let v in raw.data.tagWords) {if (v >= 9) {break}tags.push({value: raw.data.tagWords[v]})}that.setData({tags: raw.data.tag,tagWords: tags})that.drawInputImage()},fail(res) {wx.showToast({icon: "error",title: '请求失败',})}})},drawInputImage: function() {var that = this;console.log("resp: ", that.data.Resp)let resUrl = ""for (let v in that.data.Resp.result_url_list) {let item = that.data.Resp.result_url_list[v]// console.log("item: ", v, item)if (item.res_url.length !== 0) {console.log(item.res_url)resUrl = item.res_urlbreak}}wx.downloadFile({url: resUrl,success: function(res) {var imagePath = res.tempFilePathwx.getImageInfo({src: imagePath,success: function(res) {wx.createSelectorQuery().select('#input_canvas') // 在 WXML 中填入的 id.fields({ node: true, size: true }).exec((r) => {// Canvas 对象const canvas = r[0].node// 渲染上下文const ctx = canvas.getContext('2d')// Canvas 画布的实际绘制宽高 const width = r[0].widthconst height = r[0].height// 初始化画布大小const dpr = wx.getWindowInfo().pixelRatiocanvas.width = width * dprcanvas.height = height * dprctx.scale(dpr, dpr)ctx.clearRect(0, 0, width, height)let radio = height / res.heightconsole.log("radio:", radio)const img = canvas.createImage()var x = width / 2 - (res.width * radio / 2)img.src = imagePathimg.onload = function() {ctx.drawImage(img, x, 0, res.width * radio, res.height * radio)}})}})}})},handlerInput(e) {this.setData({inputValue: e.detail.value})},handlerSearch(e) {console.log("input: ", this.data.inputValue)if (this.data.inputValue.length == 0) {wx.showToast({icon: "error",title: '请输入你的创意 ',})return}this.imageDraw()},handlerInputPos(e) {console.log(e)this.setData({inputValue: e.detail.value})},handlerInputImage(e) {console.log(e)},clickItem(e) {let $bean = e.currentTarget.datasetconsole.log(e)console.log("value: ", $bean.bean)this.setData({option: $bean.bean})this.imageDraw()}
})

运行:

3455e64e5d7c413ae8f080f8d1a9658a.png

检索下关键字:

83fe2653be5239146954966739d10392.png

c85c0353f6b86e86b6929a54122f43af.png

98292cdd7e5c94cdf7b93e573e260c41.png

fca57d96f57ea8dca958289eab7fcf6e.png

关键词过滤, 点击标签可以二次搜索:

ad3d752905ab90b704ab96e5a3955e89.png

92d03a2efccabd9b384359e99f149d6d.png

至此,就实现了一个简单的AI画画的demo, 后面可以自行构造质量更高的图库,通过打标签的方式来管理,然后通过输入的关键字,搭配腾讯云AI的多种风格化,来实现更多样的效果。

推荐阅读

腾讯杰出科学家刘威:多媒体AI技术如何让广告系统更“智能”?

快收藏!超强图解Docker常见命令与实战!

Web3时代来了!应用架构大变化

万字好文:从无栈协程到C++异步框架!

点击下方空白 ▼ 查看明日开发者黄历

a29cfebc579609e658775b30199cff36.png

summer

time

2022

/

07.23

9bbda79291c5b14473d38e918ccda248.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/41214.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用K8s的公司有多少人会部署K8s?

作者&#xff1a;51CTO技术栈 译者 | 布加迪 Kubernetes是如今最知名最流行的容器编排引擎。Kubernetes之所以成为云原生计算的中心&#xff0c;是由于它是开源的&#xff0c;还有一个快速增长的生态系统。如果观察它在过去几年的发展和采用趋势&#xff0c;尤其是在云原生世界…

LLM_StableDiffusion_studio发布

背景&#xff1a; 从chatgpt发布到现在已经超过半年时间&#xff0c;AGI的势头越来越猛。大家都在做各种的尝试和组合&#xff0c;把chatgpt通用的强大的知识表达和理解能力尝试应用在自己的业务场景。前期也是出现非常多的业务应用&#xff0c;但是主要还是围绕chatgpt本身已…

智能AI抢了元宇宙的风头?

前几天&#xff0c;微博突然出现这么一条热搜。 #ChatGPT官方APP登录美国苹果应用商店 这绝对是一条相当火爆的新闻&#xff0c;因为这意味着智能聊天机器人ChatGPT终于有自己的App了。值得一提的是&#xff0c;ChatGPT不仅仅登录了美国苹果应用商店&#xff0c;而且下载量迅…

AI VS 好莱坞?新时代电影工作流;MJ制作微信表情包的麻瓜教程;关于ControlNet的一切;AI创业真钱景 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f916; 『OpenAI通过了一大批GPT-4申请』大量放号ing~快去看邮箱&#xff01; &#x1f916; 『小马智行 | 广州南沙区开启车内无安全员的自动…

C++ 正在向 C 发起“进攻”!TIOBE 7 月榜单发布

整理 | 郑丽媛 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 一月一度的 TIOBE 榜单又发布了&#xff0c;快来看看 7 月的编程语言排行榜有什么最新变化吧&#xff01; C 正在向 C 发起“进攻”&#xff01; 自从去年 12 月 C 在 TIOBE 排名历史上首次超过 Java…

chatgpt赋能python:Python访问Word文档的方法

Python访问Word文档的方法 在现代社会&#xff0c;文档是人们日常生活和工作中必不可少的一部分。特别是在办公和教育中&#xff0c;Word文档被广泛使用。Python是目前应用最广泛的编程语言之一&#xff0c;在一些编程任务中&#xff0c;需要访问和修改Word文档。在这篇文章中…

chatgpt赋能python:Python处理Word文档

Python处理Word文档 介绍 Microsoft Word是业界最流行的办公文档编辑工具之一。对于文档处理工作&#xff0c;Word是必不可少的工具之一。然而&#xff0c;尽管Word是十分强大的&#xff0c;但在处理大量数据时&#xff0c;手动处理每个文件是费时费力的。幸运的是&#xff0…

chatgpt赋能python:Python下载jieba:优化中文分词的必备工具

Python下载jieba&#xff1a;优化中文分词的必备工具 在中文自然语言处理的领域中&#xff0c;分词是一项基础且重要的任务。jieba是一个优秀的中文分词组件&#xff0c;它支持三种分词模式&#xff0c;并且具有高效、准确、易用等优点。本文将介绍如何通过Python来下载jieba&…

为什么ChatGPT非得用强化学习,而不直接用监督学习?

为什么ChatGPT非得用强化学习&#xff0c;而不直接用监督学习&#xff1f;原因不是那么显而易见。OpenAI联合创始人、ChatGPT主要负责人John Schulman分享了OpenAI在人类反馈的强化学习&#xff08;RLHF&#xff09;方面的进展&#xff0c;分析了监督学习和强化学习各自存在的挑…

大咖,我能转行做UX设计师吗?

前几天&#xff0c;有个朋友找到我&#xff0c;叫我给分析下他适不适合转UX设计。他的专业是建筑设计&#xff0c;之所以要辞职&#xff0c;也就是公司破事多&#xff0c;老板又不看重他。看到UX设计这个行业的前景很不错&#xff0c;想要转行。他说的也没错&#xff0c; 现在的…

想成为一名成功的UX设计师吗?做好这13件事情吧

以下内容由Mockplus团队翻译整理&#xff0c;仅供学习交流&#xff0c;Mockplus是更快更简单的原型设计工具。 丢掉那些阻碍你前进的东西 每个人对成功的定义都不同。如果想在重要事情上取得成功&#xff0c;学会给予才是关键。只有放弃一些阻碍你前进的东西&#xff0c;你才能…

人工智能在医学影像中的研究与应用

人工智能在医学影像中的研究与应用 韩冬, 李其花, 蔡巍, 夏雨薇, 宁佳, 黄峰 沈阳东软医疗系统有限公司&#xff0c;辽宁 沈阳 110167 慧影医疗科技&#xff08;北京&#xff09;有限公司&#xff0c;北京 100192 东软集团股份有限公司&#xff0c;辽宁 沈阳 110179 摘要&#…

人工智能在癌症和精准医学领域的研究

目录 介绍 卷积神经网络&#xff1a;图像分类的主力军 从其他大型数据集生成预测模型 数据质量和模型选择是关键 癌症的早期检测、诊断和分期 使癌症诊断更准确 癌症分期和分级 在早期癌症检测的道路上 使用机器学习检测癌症突变 充分利用突变 确定来源的肿瘤细胞 表…

《天池精准医疗大赛-人工智能辅助糖尿病遗传风险预测》模型复现和数据挖掘-论文_企业

大赛概况 进入21世纪&#xff0c;生命科学特别是基因科技已经广泛而且深刻影响到每个人的健康生活&#xff0c;于此同时&#xff0c;科学家们借助基因科技史无前例的用一种全新的视角解读生命和探究疾病本质。人工智能&#xff08;AI&#xff09;能够处理分析海量医疗健康数据…

【智能医疗】48页论文详述医学AI最新进展

点击上方&#xff0c;选择星标或置顶&#xff0c;每天给你送干货&#xff01; 阅读大概需要9分钟 跟随小博主&#xff0c;每天进步一丢丢 整理&#xff1a;专知 【导读】机器学习和深度学习为我们提供了一个全新的方法去探索未知领域。本文为大家带来了一份最新的智能医疗综述&…

Cell Trends综述精选:人工智能在生物医学领域的应用

Cell Press细胞出版社旗下Trends系列共有16本综述期刊&#xff0c;致力于让读者了解生命科学、化学和医学领域的最新进展。我们提供简洁、引人入胜的文章&#xff0c;由各领域专家撰写&#xff0c;涉及前沿主题和尖端科学进展。我们的目标是为广大读者提供不仅仅是简单地文献总…

人工智能在医疗领域的应用:预测疾病和提高治疗效果

人工智能在医疗领域的应用:预测疾病和提高治疗效果 目录 人工智能在医疗领域的应用:预测疾病和提高治疗效果

智慧医疗中人工智能的7大应用|数据标注

从药物研发到预测肾脏疾病&#xff0c;人工智能在智慧医疗领域应用广泛。 人工智能在许多医学领域和专业中的应用正在成为现实。人工智能、机器学习、自然语言处理和深度学习使智慧医疗利益相关者和医疗专业人员能够更快、更准确地明确智慧医疗需求和解决方案&#xff0c;并依…

数据中台:FastData云原生数据智能平台

未来企业业务都是智能化的,且都是基于数据的。根据IDC白皮书《数据时代2025》预测,2025年全球的数据总量将会升至175ZB,且超过25%的数据将成为实时数据,规模化数据智能时代即将到来。 企业数据平台的建设将成为数据价值呈现的关键因素,从而推动全行业探索新一代实时数据智…

基于融云的即时通讯开发(一)

一.概述 现在的应用中&#xff0c;即时通讯功能已经很普遍了&#xff0c;从这篇文章开始&#xff0c;我们以第三方平台融云的服务为基础&#xff0c;研究一下如何开发一个具有及时通信功能的软件。 首先&#xff0c;进入融云的官网&#xff0c;地址如下&#xff1a; http://…