一部手機(jī),萬(wàn)物皆可復(fù)制粘貼,這位兼職寫(xiě)代碼的設(shè)計(jì)師將AR玩出了新高度
看到什么就復(fù)制什么,這是魔法還是孫悟空的神通?都不是。這是 AR 的魔力。
如何將一件物品的圖像導(dǎo)入 Photoshop?首先你要拍攝照片,然后將這張照片通過(guò)網(wǎng)絡(luò)或者存儲(chǔ)卡傳輸?shù)诫娔X上,再導(dǎo)入 Photoshop 界面。所以,這些流程能不能一步到位?
現(xiàn)在,AR 能做到。
在一款名為 AR Cut & Paste 的工具中,用戶只需要在手機(jī)上預(yù)裝這款工具,然后對(duì)著目標(biāo)物體拍攝,即可將圖像復(fù)制粘貼進(jìn) Photoshop,倒是有點(diǎn)「隔空移物」的意思。
先來(lái)看看效果:
盆栽。
書(shū)本。
如上面幾張動(dòng)圖所示,不管是盆栽、衣服還是書(shū)本,可見(jiàn)即可拷,一鍵挪進(jìn) Photoshop 變?yōu)閳D像素材,完全是平面設(shè)計(jì)師的福音了。
據(jù)介紹,目前該工具的剪切延遲大約為 2.5 秒,粘貼延遲大約為 4 秒,流程還可以進(jìn)一步加速。此外,作者還預(yù)告,下周將會(huì)發(fā)布另一個(gè) AI+UX 原型!
項(xiàng)目簡(jiǎn)介
AR Cut & Paste 工具是一個(gè) AR+ML 原型(prototype),借助它你可以從周圍環(huán)境中拷貝固定對(duì)象,并粘貼在圖像編輯軟件中(Photoshop)。需要特別注意的是,這款工具只適用于 Adobe Photoshop 軟件,未來(lái)可能支持處理不同的輸出。
項(xiàng)目地址:https://github.com/cyrildiagne/ar-cutpaste
該原型擁有 3 個(gè)獨(dú)立的模塊,分別是手機(jī)端 APP、本地服務(wù)器和目標(biāo)檢測(cè)及背景移除服務(wù)。
首先,用戶需要在手機(jī)上預(yù)裝 AR Cut & Paste。
- npm install
其次,作為手機(jī)端 APP 和 Photoshop 之間的 interface,用戶需要事先配置本地服務(wù)器。
- virtualenv venvsource venv/bin/activate
- pip install -r requirements.txt
最后,顯著目標(biāo)檢測(cè)和背景移除交由外部服務(wù)執(zhí)行(應(yīng)用 BASNet 技術(shù))。用戶需要用自己的 Photoshop 遠(yuǎn)程連接密碼替換以下代碼中的 123456。
- python src/main.py \
- --basnet_service_ip="http://X.X.X.X" \
- --basnet_service_host="basnet-http.default.example.com" \
- --photoshop_password 123456
技術(shù)細(xì)節(jié)
該工具使用 BASNet (Qin et al, CVPR 2019) 執(zhí)行顯著目標(biāo)檢測(cè)和背景移除。
然后,利用 OpenCV SIFT 找出手機(jī)在電腦屏幕上對(duì)準(zhǔn)的位置。只需要一張手機(jī)照片和截圖,就可以得到準(zhǔn)確的 x, y 屏幕坐標(biāo)系。
顯著目標(biāo)檢測(cè)和背景移除
項(xiàng)目作者使用 BASNet 執(zhí)行顯著目標(biāo)檢測(cè)和背景移除。
BASNet 出自一篇 CVPR 2019 論文《BASNet: Boundary-Aware Salient Object Detection》,關(guān)于邊界的顯著性檢測(cè)。其主要?jiǎng)?chuàng)新點(diǎn)在于損失函數(shù)的設(shè)計(jì),使用了交叉熵、結(jié)構(gòu)相似性損失、IoU 損失的混合損失,使網(wǎng)絡(luò)更關(guān)注邊界質(zhì)量,而不是像以前那樣只關(guān)注區(qū)域精度。在單個(gè) GPU 上 能跑 25 fps,在六種公開(kāi)數(shù)據(jù)集上能達(dá)到 SOTA 效果。
BASNet 的架構(gòu)如下圖所示:
為方便使用,項(xiàng)目作者制作了一個(gè) BASNet HTTP 服務(wù)包裝器。
GitHub 地址:https://github.com/cyrildiagne/basnet-http
定位
SIFT(Scale-invariant feature transform,尺度不變的特征變換)是一種用于關(guān)鍵點(diǎn)檢測(cè)的算法,SIFT 算法檢測(cè)到的關(guān)鍵點(diǎn)通常對(duì)光線、視角等變化相當(dāng)穩(wěn)健,甚至受視線遮蔽的影響也不大。SIFT 算法的另外一個(gè)優(yōu)點(diǎn)就是計(jì)算速度非???,基本可以滿足實(shí)時(shí)運(yùn)算。
SIFT 算法示例。圖源:維基百科 URL:https://en.wikipedia.org/wiki/Scale-invariant_feature_transform
該工具使用 OpenCV SIFT 找出手機(jī)在電腦屏幕上對(duì)準(zhǔn)的位置。
項(xiàng)目作者將其封裝成一個(gè)小型 python 包,參見(jiàn):
GitHub 地址:https://github.com/cyrildiagne/screenpoint
作者簡(jiǎn)介
這款工具的發(fā)明者 Cyril Diagne 現(xiàn)居住于法國(guó)巴黎,集藝術(shù)家、設(shè)計(jì)師、程序員三種職業(yè)身份于一身,是真正的斜杠中年。
2008 年從巴黎的 Les Gobelins 影像學(xué)校畢業(yè)后,Cyril Diagne 與其他五位同學(xué)創(chuàng)立了藝術(shù)機(jī)構(gòu) LAB212。
同時(shí),他也是谷歌文化研究實(shí)驗(yàn)室駐巴黎藝術(shù)家和瑞士洛桑藝術(shù)設(shè)計(jì)大學(xué)媒體與交互設(shè)計(jì)的主管。
十幾年來(lái),Cyril Diagne 一直沉迷于將新奇的數(shù)字技術(shù)與藝術(shù)設(shè)計(jì)相結(jié)合,創(chuàng)造奇妙的互動(dòng)體驗(yàn)。與此同時(shí),他也認(rèn)為這種結(jié)合會(huì)讓計(jì)算機(jī)技術(shù)更加人性化。
比如,他曾經(jīng)研究出一種人臉涂鴉工具,借助 Tensorflow.js、FaceMesh 和 Three.js 即可在網(wǎng)頁(yè)瀏覽器上使用 AR 對(duì)臉部進(jìn)行涂鴉。
還有一款可在 Instagram 個(gè)人主頁(yè)圖像上添加 3D 效果的 chrome 擴(kuò)展程序,效果生成類似于 Facebook 3D 照片功能,讓 2D 照片也能呈現(xiàn)多角度的景象。
如果你對(duì)這樣的藝術(shù) or 技術(shù)設(shè)計(jì)感興趣,可以在 Cyril Diagne 的 GitHub 主頁(yè)找到更多有趣的作品。
個(gè)人主頁(yè):https://github.com/cyrildiagne