dlib是乙個用c ++編寫的工具庫,其中包含一些機器學習方面的演算法和軟體,用來解決複雜現實世界問題,目前該軟體庫在工業上和學術界都得到了廣泛的使用(該庫為開源庫)。
文件詳細:每個類和功能都有完整詳細的文件說明。
高質量的可移植**:適合大部分的平台,如 windows,linux、mac os x以及 posix(可移植作業系統介面)、solaris(unix的衍生版本)、hpux(惠普9000系列伺服器的作業系統)、bsd(unix的衍生系統)。
機器學習演算法:深度學習、大量分類和回歸演算法、多種svm工具、半度量學習、聚類演算法、多層感知機等。
數值演算法:矩陣、大整數、隨機數運算、一些優化演算法等。
圖形模型推斷演算法:貝葉斯網路、馬爾科夫鏈蒙特卡羅方法(mcmc)
影象處理:常見的影象處理(格式轉換、色彩空間轉換等)、邊緣查詢、特徵提取、姿態檢測、人臉識別。
執行緒:簡單的執行緒api、執行緒池
聯網:可移植的簡單的tcp套接字api和基於tcp的伺服器物件。
圖形使用者介面:整個dlib gui工具包都是執行緒安全的
資料壓縮和完整性演算法:加密解密演算法、多種壓縮演算法
測驗:執行緒完全日誌、單元模組化測試、多種assert支援
通用工具:xml解析、多種容器類、序列化支援、記憶體管理器、base64轉換、matlab支援。
檢測統計中人臉的數量並標記出來
("處理檔案中: {}"
.format
(path)
)img = dlib.load_rgb_image(path)
dets = cnn_face_detector(img,1)
("檢測到人臉數目: {}"
.format
(len
(dets)))
for i, d in
enumerate
(dets)
("檢測到 {}: left: {} top: {} right: {} bottom: {} 可信度: {}"
.format
( i, d.rect.left(
), d.rect.top(
), d.rect.right(
), d.rect.bottom(
), d.confidence)
)rects = dlib.rectangles(
)rects.extend(
[d.rect for d in dets]
)win.clear_overlay(
)win.set_image(img)
win.add_overlay(rects)
dlib.hit_enter_to_continue(
)執行結果:
處理檔案中: ./7person.jpg
檢測到人臉數目: 7
檢測到 0: left: 181 top: 65 right: 220 bottom: 105 可信度: 1.1296461820602417
檢測到 1: left: 385 top: 134 right: 432 bottom: 182 可信度: 1.101375937461853
檢測到 2: left: 37 top: 118 right: 105 bottom: 186 可信度: 1.073663353919983
檢測到 3: left: 451 top: 151 right: 508 bottom: 208 可信度: 1.0721375942230225
檢測到 4: left: 97 top: 25 right: 136 bottom: 65 可信度: 1.0554574728012085
檢測到 5: left: 323 top: 110 right: 370 bottom: 158 可信度: 1.0327470302581787
檢測到 6: left: 293 top: 37 right: 332 bottom: 77 可信度: 0.9874222278594971
)
執行結果:
除了可以使用dlib庫本身有的模型以外,還可以在原來的基礎上訓練自己的模型。
dlib和opencv都有可以進行人臉檢測的模組。opencv的haar cascade執行速度快,但是容易出現將非人臉部分檢測為人臉的情況,dnn人臉檢測在各方面的表現都比較優秀,但是似乎不能使用nvidia gpu。
dlib中實現了surf、hog和fhog的特徵提取演算法。更夠準確檢測大部分人臉,對存在遮擋的人臉也能進行正確檢測,在少數極端情況下(如俯視、仰視)以及人臉過小的情況下容易出現檢測不準確的狀況(小臉的情況下,使用者可以用小尺寸的影象訓練自己的檢測器來解決)。
個人認為dlib的魯棒性強於opencv,但是在相同環境下opencv的執行速度略快。
dlib官方文件:
opencv官網:
wordcloud庫基本介紹和使用方法
1.1 wordcloud庫概述 wordcloud是優秀的詞云展示第三方庫 1.2wordcloud庫的安裝 pip install wordcloud cmd命令列 2.1 wordcloud庫基本是使用 wordcloud庫把詞云當作乙個wordcloud物件 2.2 wordcloud庫常規...
scp基本使用方法
scp基本使用方法 scp用於在兩台電腦之間進行資料的copy,形式如下 第一種,scp r 檔案 資料夾 user host dir 需要輸入密碼。第二種,scp r 檔案 資料夾 host dir,需要輸入使用者名稱和密碼。舉例 1.copy 檔案 scp framework.jar 10.10...
VIM基本使用方法
vi有三種基本的工作模式 指令行模式 文字輸入模式 行末模式。他們的相互關係如所示。指令模式 command mode 下輸入 a i o進入文字輸入模式 input mode 文字輸入模式 input mode 下按esc進入指令模式 command mode 指令模式 command mode ...