機器學習根據文字生成圖片教程(附python程式碼)
背景
其實在過往我們生活的世界裡,當人們需要獲取資訊的時候,更多地強調的是資訊的檢索和遍歷,意味著去已經存在的物品中找到自己合適的。在我看來這是一種很低階的生活形態,比如我的意識中有一個某種圖案的杯子,想要它,只能開啟淘寶根據標籤去找已經設計好的款式有沒有相近的,而不能直接根據我的想法自動生成一個我需要的杯子。
又比如,我想要一張貓正在喝水的照片,只能去搜尋引擎裡去根據關鍵詞搜尋已經存在的貓喝水的照片,而不是自動生成一張符合我要求的照片。隨著人工智慧的升級,這種低階的資訊獲取方式一定會淘汰。
今天就介紹一種深度學習方法,如何根據文字自動生成圖片。先來看下效果:
輸入文字:
sky is above the grass, man standing on the grass
生成的圖片,是不是有點神奇:
詳細流程
關於具體的演算法細節可以看下這個論文:“Image Generation from Scene Graphs”
1.下載程式碼
程式碼可以在Github找到: https://github.com/google/sg2im?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more
需要把sgim資料夾複製到scripts資料夾下面:
2.安裝需要的第三方庫
建議用python3以上版本,在資料夾下執行
sudo pip3 install -r requirements.txt
3.下載模型
首先自行安裝好wget,然後在程式碼目錄下執行:
bash scripts/download_models.sh
4.建立圖片
首先,要先自己搞個描述指令碼,這個指令碼需要描述生成圖片中的物件以及物件間的位置關係。比如以下指令碼(看過《機器學習實踐應用》的同學是不是會眼熟,有點像裡面知識圖譜的內容):
[
{
"objects": ["car", "street", "line", "sky"],
"relationships": [
[0, "on", 1],
[2, "on", 1],
[3, "above", 1]
]
}
]
描述的是car在street的上面,line在street的上面,sky也在street上面。然後在程式碼的根目錄下執行以下程式碼(程式碼中的括號內容是註釋,執行前需要去掉):
python3 scripts/run_model.py(預測指令碼) --checkpoint sg2im-models/vg128.pt(下載好的模型所在地址) --scene_graphs aohai.json(上面寫的指令碼) --output_dir outputs(圖片輸出路徑)
最終生成的圖片效果:
總結
是不是很好玩,可以自己任意新增描述指令碼,生成自己想要的圖片,是不是非常酷。目前來看畫素還比較低,希望以後該專案可以繼續更新,可以生成更多高清大圖。
相關文章
- Python 根據id生成唯一碼Python
- 根據api檔案生成程式碼API
- 前端利器!讓AI根據手繪原型生成HTML | 教程+程式碼前端AI原型HTML
- 微信小程式根據本地快取圖片路徑,生成縮圖的方法微信小程式快取
- 前端慌不慌?AI根據手繪原型生成HTML【附程式碼】前端AI原型HTML
- 用Python進行機器學習(附程式碼、學習資源)Python機器學習
- 機器學習沒有捷徑,根據機器學習演算法地圖學習是最有效的一種方式!機器學習演算法地圖
- OpenAPI Generator,根據Swagger/OpenAPI生成程式碼的工具APISwagger
- mybatis根據表逆向自動化生成程式碼MyBatis
- EF3.1 根據資料庫生成程式碼資料庫
- 帶你用深度學習虛擬機器進行文字遷移學習(附程式碼)深度學習虛擬機遷移學習
- 機器學習定義及基本術語(根據周志華的《機器學習》概括)機器學習
- 根據URL地址生成二維碼
- python - 根據均值和標準差生成隨機整數Python隨機
- 13 種機器學習演算法概述(附 Python、R 程式碼)機器學習演算法Python
- python-機器學習程式碼總結Python機器學習
- 【python】圖片插入文字Python
- JVM 模板直譯器之如何根據位元組碼生成彙編碼?JVM
- iOS根據圖片比例計算顯示大小iOS
- 7行Python程式碼,搭建可以識花的機器學習App|視訊教程Python機器學習APP
- 用python寫個爬取指定網址上所有圖片,並能根據獲取到的圖片網址,進入網址,再次進行圖片獲取 的程式碼指令碼Python指令碼
- 機器學習_K近鄰Python程式碼詳解機器學習Python
- 深度學習脫掉圖片人物的褲子【python教程】深度學習Python
- 一篇關於微信防撤回(文字、圖片、語音、影片、名片)的Python學習教程Python
- Python高效深度學習機器識別驗證碼教程分享Python深度學習
- 每週一書《Python機器學習實踐指南 附隨書程式碼》分享!Python機器學習
- 為UCI機器學習庫引入簡單直觀的Python API(附程式碼)機器學習PythonAPI
- Python+SeaTable | 從數字、文字列生成條形碼圖片並寫入表格Python
- 《Python機器學習》作者科普長文:從頭構建類GPT文字分類器,程式碼開源Python機器學習GPT文字分類
- Python3 機器學習簡明教程Python機器學習
- 根據使用者編號生成邀請碼
- 利用深度學習和機器學習預測股票市場(附程式碼)深度學習機器學習
- (IOS)根據bundle中的檔名讀取圖片iOS
- Python利用深度學習進行文字摘要的綜合指南(附教程)Python深度學習
- C# 讀取Word文字框中的文字、圖片和表格(附VB.NET程式碼)C#
- 從基礎到實現:整合學習綜合教程(附Python程式碼)Python
- Python 提取PDF文字和圖片Python
- 根據業務摸索出的一個selenium程式碼模版(python)Python