頭發的方向圖(2D和3D)與合成

首先,我們從一個不受光照限制的環境中拍攝一組輸入圖像,這些圖像包含了頭發的不同視角和姿態。我們對這些圖像進行半自動的分割,將頭發從背景中分離出來,然后使用PMVS ,一種先進的多視角立體算法,來重建一個點云。我們通常使用30到50張輸入圖像來進行重建。
然后,我們對重建的點云和PMVS估計的法向量進行濾波,因為它們可能會有噪聲。我們使用移動最小二乘法(MLS)來平滑它們:對于每個點,我們用最優的平面來擬合它附近的加權鄰居點。平面的法向量和點在平面上的投影就用來更新點的原始法向量和位置。我們使用2毫米的標準差來得到合理的濾波結果。

接下來,我們對濾波后的點云進行方向場的計算,這個方向場表示了每個點的3D方向。我們使用了一種基于圖像的方法,它利用了輸入圖像中的方向信息。我們首先對每張輸入圖像進行方向濾波,得到每個像素的2D方向。然后,我們對每個點云中的點,找到它在輸入圖像中的對應像素,以及它的鄰居點在輸入圖像中的對應像素。我們用這些像素的方向來計算點云中的點的3D方向,這個方向是無指向性的,只表示方向但不區分左右。我們使用了一種基于PCA的方法,它可以從多個2D方向中推斷出一個3D方向。

?詳細:從輸入圖像中提取出每個像素的方向信息,這個信息可以幫助網絡重建出毛發的形狀和流動性。

?在點云上生長毛發段的過程是這樣的:對于每個點云中的點,我們根據它的方向,找到它的下一個鄰居點,然后將它們連接成一條線段,這條線段就是一個毛發段的一部分。我們重復這個過程,直到遇到以下情況之一:1) 沒有找到合適的鄰居點;2) 鄰居點的方向與當前點的方向差異過大;3) 鄰居點已經被其他毛發段占用。這樣,我們就可以在點云上生長出一組局部的毛發段,它們可以近似地用一條曲線來表示。

用帶狀物覆蓋毛發段的過程是這樣的:對于每個毛發段,我們用一個固定的寬度和厚度的帶狀物來覆蓋它,這個帶狀物的方向和長度都是由毛發段的數據決定的。然后,我們對每個帶狀物進行聚類,根據它們的位置和方向的相似性,將它們分成若干個組,每個組包含一些相鄰的帶狀物,它們可以近似地用一條曲線來表示。這樣,我們就可以用帶狀物覆蓋點云,揭示出局部一致的毛發束結構,這些結構可以反映出頭發的紋理和流動性,而且也可以與導向毛發關聯,用于動畫。

- 發現帶狀物之間的缺失連接的過程是這樣的:由于遮擋和缺失數據,帶狀物之間可能存在一些空隙,這些空隙會影響毛發束的完整性和連續性。為了解決這個問題,我們嘗試用圓弧來擬合帶狀物覆蓋的毛發段,看看是否可以在空隙處建立連接。我們對每個帶狀物,找到它的一個端點,然后在它的鄰域內,尋找另一個帶狀物的一個端點,看看它們是否可以用一個圓弧來連接。我們使用了一種基于最小二乘法的方法,來計算圓弧的參數,包括圓心、半徑和角度。我們還定義了一個擬合誤差的度量,它取決于圓弧和毛發段的距離和方向的差異。如果擬合誤差小于一個閾值,我們就認為這兩個帶狀物之間有一個合理的連接,我們將這個連接編碼在一個連接圖中,用于后續的分析和優化。
- 對帶狀物進行方向分析的過程是這樣的:由于方向場的180度歧義,帶狀物的方向可能是不確定的,這會導致毛發束的方向不一致或者不合理。為了解決這個問題,我們對帶狀物進行一個全局的方向分析,使用一個馬爾可夫隨機場(MRF)公式,來優化每個帶狀物的方向。我們的目標是使得帶狀物的方向盡可能地與連接圖中的連接和帶狀物方向的局部提示相兼容。連接圖中的連接表示了帶狀物之間的拓撲關系,它們應該滿足一些幾何約束,例如,相鄰的帶狀物的方向應該是平滑的,而不是突然轉彎的。帶狀物方向的局部提示表示了帶狀物的形狀特征,它們可以從點云中的數據中提取出來,例如,帶狀物的曲率、長度和方向變化等。我們使用了一種基于圖割的方法,來求解這個MRF公式,得到每個帶狀物的最優方向。這樣,我們就可以保證毛發束的方向是一致和合理的。
- 將帶狀物連接成毛發束的過程是這樣的:在進行了連接和方向分析之后,我們就可以將帶狀物連接成完整的毛發束了。我們的目標是使得每個毛發束都能從頭皮開始,到頭發的末端結束,而且不會有斷裂或重疊的現象。我們使用了一種基于深度優先搜索的方法,來遍歷連接圖中的所有節點,即帶狀物的端點,然后根據它們的連接和方向,將它們連接成一條連續的曲線,這條曲線就是一個毛發束。我們重復這個過程,直到遍歷完所有的節點,或者達到預設的毛發束的數量。這樣,我們就可以從帶狀物中生成一組完整的毛發束,它們可以反映出頭發的結構和風格,而且也可以作為導向毛發,用于動畫和模擬。?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/162386.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/162386.shtml
英文地址,請注明出處:http://en.pswp.cn/news/162386.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Qt 問題 判斷QTreeWidget的子節點的父節點是否可見

bool JudgeParentItemVisible(QTreeWidgetItem * pLayerItem) {bool bVisible true;QTreeWidgetItem * pParentItem (QTreeWidgetItem *)pLayerItem->parent(); //獲取父節點if (pParentItem ! NULL) //父節點不為空{if (pParentItem->checkState(0) Qt::CheckState::…

廣播組播、本地套接字通信、wireshark、以太網幀格式、三次握手四次揮手

廣播(使用 UDP 套接字) 廣播地址:主機號最大的地址。 廣播:給所在局域網的所有主機發送數據報。(之前的數據報發送方式是單播。) 以下情況中使用廣播: 局域網 搜索協議。 比如家中的智能產品&a…

局域網共享打印機共享,簡單至簡至一鍵處理011bDll等問題

一、電腦系統是否激活(可選) 二、確保主客戶端PC在同一局域網內(可選) 可以通過ping 目標地址 如ping 192.168.1.202;看是否可以正常通信 下面是惠普類型打印機共享問題關鍵(文本記得保存) …

Redisson 分布式鎖的最佳實踐

Redisson 分布式鎖的最佳實踐 第一、添加依賴第二、添加redisson配置類第三、添加測試類測試結果擴展知識redisson鎖中lock方法和tryLock方法有什么區別鎖續約 注意事項 引言 在現代分布式系統中,處理并發問題是至關重要的。分布式鎖是解決這類問題的關鍵工具之一。…

雙11再創新高!家電行業如何通過矩陣管理,賦能品牌增長?

雙11大促已落下帷幕,雖然今年不再戰報滿天飛,但從公布的數據來看,家電行業整體表現不俗。 根據抖音電商品牌業務發布的收官戰報,家電行業創造了成交新紀錄,整體同比增長125%。快手官方數據顯示,消電家居行業…

深入理解JMM以及并發三大特性(1)

文章目錄 1. 并發與并行2. JMM3. 并發三大特性4.總結 1. 并發與并行 并行:指在同一時刻,有多條指令在多個處理器上同時執行。所以無論從微觀還是宏觀來看,二者都是一起執行的。 并發:指在同一時刻只能有一個指令執行,…

基于springboot實現校園在線拍賣系統項目【項目源碼】

基于springboot實現校園在線拍賣系統演示 Javar技術 JavaScript是一種網絡腳本語言,廣泛運用于web應用開發,可以用來添加網頁的格式動態效果,該語言不用進行預編譯就直接運行,可以直接嵌入HTML語言中,寫成js語言&…

java開發中各個環境的適用場景

java開發中各個環境的適用場景 一.開發環境 在系統開發的經典模型,一般會分成 2 類 5 種環境: 【線下】本地環境(local)、開發環境(dev)、測試環境(test) 【線上】預發布環境(stage)、生產環境(prod) 每個環境、每個項目使用獨立的二級域名 線下、線…

Modbus轉Profinet改變局面,PLC與電力儀表秒級響應

Modbus轉Profinet改變了傳統的局面,實現了PLC與電力儀表之間的秒級響應。在過去,由于Modbus通信協議的限制,PLC與電力儀表之間的數據傳輸速度受到了很大的限制,無法滿足工業自動化領域對實時性的要求。然而,隨著Modbus…

【云原生 Prometheus篇】Prometheus架構詳解與核心組件的應用實例(Exporters、Grafana...)

Prometheus Part1 一、常用的監控系統1.1 簡介1.2 Prometheus和zabbix的區別 二、Prometheus2.1 簡介2.2 Prometheus的主要組件1)Prometheus server2)Exporters3)Alertmanager4)Pushgateway5)Grafana 2.3 Prometheus的…

openGauss學習筆記-130 openGauss 數據庫管理-參數設置-重設參數

文章目錄 openGauss學習筆記-130 openGauss 數據庫管理-參數設置-重設參數130.1 背景信息130.2 GUC參數設置130.3 操作步驟130.4 示例 openGauss學習筆記-130 openGauss 數據庫管理-參數設置-重設參數 130.1 背景信息 openGauss提供了多種修改GUC參數的方法,用戶可…

【網絡】數據鏈路層協議

數據鏈路層協議 一、鏈路層解決的問題二、以太網協議1、局域網技術2、令牌環網(了解)3、以太網通信原理4、 MAC地址5、以太網幀格式6、碰撞避免7、最大傳輸單元MTU 二、ARP協議1、ARP數據的格式2、ARP協議的工作流程3、ARP緩存表4、ARP協議中的一些問題7…

11月23日星期四今日早報簡報微語報早讀

11月23日星期四,農歷十月十一,早報微語早讀。 1、我國5G基站總數達321.5萬個; 2、2023年兩院院士增選結果揭曉,共133人當選; 3、北京低保標準提升至每人每月1395元; 4、上海制定體育發展條例&#xff1a…

多重背包問題的優化 學習筆記 AcWing 5. 多重背包問題 II(算法基礎課)

乘法原理 百度百科 乘法原理是說把多個步驟的所有方法相乘,表示整個事件所有可能的解決方法 原題 有 N� 種物品和一個容量是 V� 的背包。 第 i� 種物品最多有 si�� 件,每件體積是 vi&#…

程序員必讀!深入解析Java線程調度算法神秘面紗!

哈嘍大家好,我是小米!今天我們要聊的話題是關于Java中的線程調度算法。這可是一個技術大拿們在面試時常常拿出來考察我們的點子呢!廢話不多說,讓我們一起深入了解一下吧! 線程調度算法的背后 首先,讓我們…

[Linux] shell腳本之循環

一、循環定義 一組被重復執行的語句稱之為 循環體,能否繼續重復,決定循環的終止條件。 循環語句 是由循環體及循環的終止條件兩部分組成的。 二、for循環 2.1 帶列表循環 語法 for 變量名 in 取值列表do 命令序列 done 花括號用法: 花括號{ }和seq在for循環…

設計模式——狀態模式介紹

狀態模式是一種行為設計模式,它允許對象在內部狀態改變時改變它的行為。它基于對象的內部狀態而改變其行為,看起來好像修改了對象的類。 狀態模式的關鍵組件有三個:上下文(Context)、狀態(State)和具體狀態(Concrete State)。 下面是一個例…

年輕有為!2023兩院院士增選揭榜 45歲顏寧當選

大家好,我是極智視界,歡迎關注我的公眾號,獲取我的更多前沿科技分享 邀您加入我的知識星球「極智視界」,星球內有超多好玩的項目實戰源碼和資源下載,鏈接:https://t.zsxq.com/0aiNxERDq 通常,兩…

電商網站選擇云服務器要考慮什么?

極高的安全性 交易平臺最重要的是數據安全,這涉及到產品、用戶、平臺信息等,能夠保護數據隱私的安全,是網站交易的首要原則。 2020年,數據泄露、網絡滲透、大量數據被銷售、勒索軟件爆發......每個網站都可能成為黑客的目標&#…

CuratorFrameworkFactory.builder()方法可配置屬性

CuratorFrameworkFactory.builder()方法可以配置以下屬性: 1. connectString:ZooKeeper服務器的連接字符串。 2. sessionTimeoutMs:ZooKeeper會話超時時間。 3. connectionTimeoutMs:ZooKeeper連接超時時間。 4. retryPolicy&…