吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

OpenCV4.x可實現加載模型與執(zhí)行推斷

OpenCV學堂 ? 來源:OpenCV學堂 ? 作者:OpenCV學堂 ? 2022-07-30 11:58 ? 次閱讀

概述

OpenCV4.x發(fā)布以后,有很多新的特性與黑科技支持,無論是支持OpenVINO加速、圖計算模塊、二維碼識別,還是DNN中新增加的人臉檢測與識別模型,作為OpenCV開發(fā)者的我深深被吸引,幾乎只要有時間就會一個一個的去發(fā)現與之前的不同之處。OpenCV DNN模塊,不僅支持圖像分類、對象檢測、人臉檢測、圖像分割等操作除外,還支持對灰度圖像的自動彩色化轉換,而且效果十分靠譜,親測有效!

著色模型(colorization model)

該模型是在2016發(fā)表在ECCV上面的,該模型與之前的基于CNN模型的不同之處在于,它是一個無監(jiān)督的學習過程,不會把著色對象與訓練生成看成是一個回歸問題、而且是使用CIE Lab色彩空間,使用L分量作為輸入,輸出為顏色分量a,b,通過對顏色分量進行量化,把網絡作為一個分類問題對待, 對得到輸出結果,最終加上L分量之后,得到著色之后的圖像,模型架構如下:

34f45596-0f47-11ed-ba43-dac502259ad0.jpg

其中卷積層每一個block是有幾個重復的conv卷積操作與ReLU + BN層構成!其中藍色部分,是a,b顏色的313對ab量化表示。最終學習到的就是WxHx313輸出,進一步轉換為Color ab的輸出, 加上L分量之后就是完整的圖像輸出!313對ab色彩空間量化表示如下:

350e034c-0f47-11ed-ba43-dac502259ad0.jpg

針對自然場景下,ab值較低導致生成圖像的失真問題,作者通過分類再平衡技術依靠訓練階段,通過對損失函數調整像素權重,實現了比較好的效果。作者的github上可以查看該模型的實現源碼。

模型下載地址如下

https://github.com/e-lab/ENet-training

論文地址

https://arxiv.org/abs/1606.02147

OpenCV中使用

下載ENet預訓練模型,通過OpenCV DNN支持,可以實現加載模型與執(zhí)行推斷,對大多數的灰度圖像實現自然著色,毫無違和感!步驟如下:

加載模型

modelTxt="D:/projects/models/color/colorization_deploy_v2.prototxt";
modelBin="D:/projects/models/color/colorization_release_v2.caffemodel";
pts_txt="D:/projects/models/color/pts_in_hull.npy";

#加載網絡
net=cv.dnn.readNetFromCaffe(modelTxt,modelBin)
pts_in_hull=np.load(pts_txt)#loadclustercenters

#populateclustercentersas1x1convolutionkernel
pts_in_hull=pts_in_hull.transpose().reshape(2,313,1,1)
net.getLayer(net.getLayerId('class8_ab')).blobs=[pts_in_hull.astype(np.float32)]
net.getLayer(net.getLayerId('conv8_313_rh')).blobs=[np.full([1,313],2.606,np.float32)]

轉換輸入與執(zhí)行

frame=cv.imread("D:/images/yuan_test.png")
h,w=frame.shape[:2]
img_rgb=(frame[:,:,[2,1,0]]*1.0/255).astype(np.float32)

#色彩空間轉換
img_lab=cv.cvtColor(img_rgb,cv.COLOR_BGR2Lab)
img_l=img_lab[:,:,0]#pulloutLchannel
(H_orig,W_orig)=img_rgb.shape[:2]#originalimagesize

#resize為輸入網絡圖像大小
img_rs=cv.resize(img_rgb,(W_in,H_in))
img_lab_rs=cv.cvtColor(img_rs,cv.COLOR_BGR2Lab)

#選擇一L通道分量
img_l_rs=img_lab_rs[:,:,0]
img_l_rs-=50#subtract50formean-centering

#輸入L分量,開始操作
net.setInput(cv.dnn.blobFromImage(img_l_rs))
ab_dec=net.forward()[0,:,:,:].transpose((1,2,0))

解碼輸出結果

#解碼輸出顏色值
(H_out,W_out)=ab_dec.shape[:2]
ab_dec_us=cv.resize(ab_dec,(W_orig,H_orig))
img_lab_out=np.concatenate((img_l[:,:,np.newaxis],ab_dec_us),axis=2)
img_bgr_out=np.clip(cv.cvtColor(img_lab_out,cv.COLOR_Lab2BGR),0,1)

顯示著色圖像

#顯示著色
frame=cv.resize(frame,(w,h))
cv.imshow('origin',frame)
cv.imshow('gray',cv.cvtColor(frame,cv.COLOR_RGB2GRAY))

#fix4.0imshowissue
cv.normalize(img_bgr_out,img_bgr_out,0,255,cv.NORM_MINMAX)
cv.imshow('colorized',cv.resize(np.uint8(img_bgr_out),(w,h)))

運行結果:

輸入彩色圖像,轉為灰度圖像,然后自動著色對比一下!

直接輸入灰度圖像,著色:

看效果,從此以后再也不擔心灰度圖像無法自動上色啦!

OpenCV成功解鎖!

審核編輯:彭靜

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模型
    +關注

    關注

    1

    文章

    3305

    瀏覽量

    49221
  • 人臉檢測
    +關注

    關注

    0

    文章

    80

    瀏覽量

    16512
  • OpenCV
    +關注

    關注

    31

    文章

    635

    瀏覽量

    41556

原文標題:OpenCV4.0 灰度圖像彩色化

文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學堂】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    OpenCV4.8 CUDA編程代碼教程

    OpenCV4支持通過GPU實現CUDA加速執(zhí)行,實現OpenCV圖像處理程序的加速運行,當前支持加速的模塊包括如下。
    的頭像 發(fā)表于 12-05 09:56 ?1106次閱讀
    <b class='flag-5'>OpenCV</b>4.8 CUDA編程代碼教程

    如何用OpenCV的相機捕捉視頻進行人臉檢測--基于米爾NXP i.MX93開發(fā)板

    : breakvideo.release()cv2.destroyAllWindows() 保存后執(zhí)行”python3 opencv_test.py OpenCV裝好后,可以為后面的人臉檢測提供可行性。 要
    發(fā)表于 11-15 17:58

    Vivado HLS實現OpenCV圖像處理的設計流程與分析

    《》數據類型,這種類型用于模型化視頻像素流處理,實質等同于hls::steam《》流的類型,而不是OpenCV中在外部memory中存儲的matrix矩陣類型。因此,在HLS實現OpenCV
    發(fā)表于 07-08 08:30

    【飛凌嵌入式OKMX8MP-C 開發(fā)板試用體驗】OpenCV-DNN移植&使用體驗(基于YOLOV3模型識別物體)

    ); cvDestroyWindow("video"); }實際上效果不如直接用V4L2庫轉為MJPEG的效果好,OpenCV有意思的應用是圖像處理和人工智能識別,這里我參考了飛凌文檔提供的,基于YOLOV3模型
    發(fā)表于 02-21 00:22

    怎樣使用PyTorch Hub去加載YOLOv5模型

    圖像會自動傳輸到正確的模型設備。靜音輸出模型可以靜默加載_verbose=False:輸入通道要加載具有 4 個輸入通道而不是默認的 3 個
    發(fā)表于 07-22 16:02

    如何利用OpenCV實現一種輕量級目標破檢測模型

    講的是 NanoDet,后續(xù)可能會跟上NanoDet的相關文章2020年,在深度學習目標檢測領域誕生了yolov4,yolov5和nanodet這些優(yōu)秀的檢測模型,有許多的微信公眾號報道這些算法模型。深度學習目標
    發(fā)表于 09-21 16:48

    【觸覺智能Purple Pi開發(fā)板試用】FastestDet目標檢測模型應用

    替代opencv最后執(zhí)行 build.sh,編譯出 FastestDet 程序0x2 測試 FastestDet將編譯好的 FastestDet 連同 FastestDet模型文件,
    發(fā)表于 11-27 22:09

    推斷FP32模型格式的速度比CPU上的FP16模型格式快是為什么?

    在 CPU 上推斷出 FP32 模型格式和 FP16 模型格式。 FP32 模型格式的推斷速度比 FP16
    發(fā)表于 08-15 08:03

    統(tǒng)計數據加載模型的研究與實現

    通過對統(tǒng)計信息化過程中遇到的問題進行分析,將統(tǒng)計元數據引入統(tǒng)計信息系統(tǒng),推進統(tǒng)計數據標準化,并提出基于SDMX(統(tǒng)計數據元數據交換)標準的數據加載模型。數據加載模型
    發(fā)表于 01-09 14:17 ?11次下載

    Xilinx如何實現AI推斷

    Xilinx 提供全面的硬件和軟件解決方案,以實現 AI 推斷。下圖顯示了高層次組件。
    發(fā)表于 06-01 10:29 ?1050次閱讀
    Xilinx如何<b class='flag-5'>實現</b>AI<b class='flag-5'>推斷</b>

    如何使用OpenCV實現模型加載與推演

    今早在GitHub上收到一則issue,發(fā)信人為Suaro。 Suaro希望使用OpenCV實現模型加載與推演,但是沒有成功,因此開了issue尋求我的幫助。 現場圍觀該Issue:
    的頭像 發(fā)表于 11-27 09:43 ?2436次閱讀

    Buffer加載AI模型的步驟

    我們在進行CNN模型推理的時候,需要預先從DDR或者ROM中加載AI模型。
    的頭像 發(fā)表于 01-23 09:36 ?2646次閱讀
    Buffer<b class='flag-5'>加載</b>AI<b class='flag-5'>模型</b>的步驟

    OpenCV中支持的非分類與檢測視覺模型

    前面給大家分別匯總了OpenCV中支持的圖像分類與對象檢測模型,視覺視覺任務除了分類與檢測還有很多其他任務,這里我們就來OpenCV中支持的非分類與檢測的視覺模型匯總一下。
    的頭像 發(fā)表于 08-19 09:10 ?1378次閱讀

    如何在OpenCV實現CUDA加速

    OpenCV4.x中關于CUDA加速的內容主要有兩個部分,第一部分是之前OpenCV支持的圖像處理與對象檢測傳統(tǒng)算法的CUDA加速;第二部分是OpenCV4.2版本之后開始支持的針對深度學習卷積神經網絡
    的頭像 發(fā)表于 09-05 10:03 ?5130次閱讀

    OpenCV 如何加載圖片

    實現一遍。 OpenCV 的內容挺多的,而且不使用的話,容易忘記,所以通過制造工具的方式來給自己加深印象,平常要處理圖片的時候,就可以用自己的工具直接處理,不需要每次都去重復的寫代碼。 今天我們就來看看,學習 OpenCV 如何
    的頭像 發(fā)表于 10-09 15:01 ?769次閱讀
    尊龙百家乐赌场娱乐网规则| 榆次百家乐的玩法技巧和规则| 百家乐官网是骗人的| 泰山百家乐的玩法技巧和规则 | 金钻娱乐| 菲律宾百家乐赌场娱乐网规则| 赌百家乐官网庄闲能赢| 肥西县| 百博百家乐的玩法技巧和规则| 百家乐官网定位胆技巧| 百家乐官网庄闲和各| 剑河县| 大发888破解方法| 模拟百家乐下载| 百家乐最新打法| 百家乐官网的最佳玩| 百家乐官网网址是多少| 蓬安县| 18皇宝| 银泰国际娱乐城| 大发888赌城| 水果机破解器| 太阳百家乐管理网| 迪威百家乐赌场娱乐网规则| 百家乐哪家赌安全| 澳门玩百家乐官网00| 大众百家乐官网娱乐城| 新百家乐官网庄闲路单图记录| 百家乐官网平台出租家乐平台出租 | 百家乐赌场网| 网上百家乐怎么赌能赢钱| 百家乐网络游戏平台| 百家乐全自动分析软件| 百家乐官网翻天腾讯视频| 百家乐官网投注哪个信誉好| 玩百家乐官网技巧博客| 百家乐官网试玩网站| 百家乐官网tt娱乐城| 百家乐官网代理商博彩e族| 澳门百家乐官网赢钱秘| 澳门百家乐官网规例|