欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解在OpenCV中實(shí)現(xiàn)的圖像標(biāo)注技術(shù)

 更新時(shí)間:2022年06月10日 16:02:31   作者:今天你吸貓了么  
圖像標(biāo)注在計(jì)算機(jī)視覺中很重要,計(jì)算機(jī)視覺是一種技術(shù),它允許計(jì)算機(jī)從數(shù)字圖像或視頻中獲得高水平的理解力,并以人類的方式觀察和解釋視覺信息,本文將重點(diǎn)討論在OpenCV的幫助下創(chuàng)建這些注釋,感興趣的朋友一起看看吧

圖像標(biāo)注在計(jì)算機(jī)視覺中很重要,計(jì)算機(jī)視覺是一種技術(shù),它允許計(jì)算機(jī)從數(shù)字圖像或視頻中獲得高水平的理解力,并以人類的方式觀察和解釋視覺信息。注釋,通常被稱為圖片標(biāo)簽,是大多數(shù)計(jì)算機(jī)視覺模型發(fā)展中的一個(gè)關(guān)鍵階段。本文將重點(diǎn)討論在OpenCV的幫助下創(chuàng)建這些注釋。以下是將要涉及的主題。

目錄

  • 圖像注解
  • 對(duì)圖像注釋的需求
  • 圖像注解的類型
  • 用OpenCV實(shí)現(xiàn)圖像注解

機(jī)器學(xué)習(xí)模型的表現(xiàn)越好,你的注釋的質(zhì)量就越高。讓我們了解一下圖像注釋。

圖像注解

在一個(gè)特定的數(shù)據(jù)集中對(duì)圖像進(jìn)行分類以訓(xùn)練機(jī)器學(xué)習(xí)模型的過程被稱為圖像注釋。當(dāng)人工注釋完成后,被標(biāo)記的圖片由機(jī)器學(xué)習(xí)或深度學(xué)習(xí)模型處理,以重復(fù)注釋,不需要人工干預(yù)。

因此,圖片注釋被利用來(lái)表明你的系統(tǒng)需要識(shí)別的方面。監(jiān)督學(xué)習(xí)是在給定標(biāo)記數(shù)據(jù)的情況下訓(xùn)練一個(gè)ML模型的過程。

圖片注解建立了模型試圖復(fù)制的標(biāo)準(zhǔn),因此標(biāo)簽中的任何錯(cuò)誤也會(huì)被重復(fù)。因此,正確的圖片注釋為訓(xùn)練神經(jīng)網(wǎng)絡(luò)奠定了基礎(chǔ),使注釋成為計(jì)算機(jī)視覺中最關(guān)鍵的工作之一。

圖片注釋可以手工完成,也可以在自動(dòng)注釋工具的幫助下完成。自動(dòng)注釋技術(shù)通常是預(yù)先訓(xùn)練好的算法,可以準(zhǔn)確地對(duì)照片進(jìn)行標(biāo)注。他們的注釋是復(fù)雜的注釋工作所需要的,如構(gòu)建片段掩碼,這需要時(shí)間來(lái)生成。

你是否在尋找數(shù)據(jù)科學(xué)中使用的Python庫(kù)的完整庫(kù)。 查看這里.

對(duì)圖片注釋的需求

對(duì)圖片進(jìn)行標(biāo)注是功能數(shù)據(jù)集所需要的,因?yàn)樗茏層?xùn)練模型了解到圖片的相關(guān)方面(類別),然后它可以用來(lái)在新鮮的、從未見過的圖片中識(shí)別這些類別。

圖像注釋產(chǎn)生了訓(xùn)練數(shù)據(jù),有監(jiān)督的人工智能模型可以從中學(xué)習(xí)。注釋圖像的方式預(yù)測(cè)了人工智能在查看和學(xué)習(xí)圖像后的行為方式。因此,在訓(xùn)練中經(jīng)常描述糟糕的注釋,導(dǎo)致模型做出糟糕的預(yù)測(cè)。

在應(yīng)對(duì)獨(dú)特的挑戰(zhàn)和在新領(lǐng)域使用人工智能時(shí),注釋數(shù)據(jù)是非常重要的。對(duì)于像圖像分類和分割這樣的典型任務(wù),經(jīng)常有預(yù)訓(xùn)練的模型,它們可以通過使用轉(zhuǎn)移學(xué)習(xí)以最小的輸入量定制到特定的用例。

另一方面,從頭開始訓(xùn)練一個(gè)全面的模型,經(jīng)常需要大量的注釋數(shù)據(jù),分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,這很難產(chǎn)生,也很費(fèi)時(shí)。無(wú)監(jiān)督算法,不需要注釋數(shù)據(jù),可以直接在原始數(shù)據(jù)上訓(xùn)練。

圖像注解的類型

有三種盛行的圖片注釋方法,你為你的用例選擇的方法將由項(xiàng)目的復(fù)雜性決定。每種使用的高質(zhì)量圖片數(shù)據(jù)越多,人工智能的預(yù)測(cè)就越準(zhǔn)確。

分類法

分類是最簡(jiǎn)單、最快速的圖片注釋方法,因?yàn)樗恍铻橐粡垐D片分配一個(gè)標(biāo)簽。例如,你可以希望對(duì)一組雜貨店貨架的照片進(jìn)行分類,以確定哪些照片含有蘇打水,哪些不含有。

這種方法非常適合捕捉抽象信息,比如上面的例子,或者一天中的時(shí)間,如果圖片中有汽車,或者從一開始就過濾掉不符合標(biāo)準(zhǔn)的照片。雖然分類法在提供單一的、高層次的標(biāo)簽方面是最快的,但它也是我們強(qiáng)調(diào)的三個(gè)類別中最模糊的,因?yàn)樗荒艽_定物品在圖像中的位置。

物體檢測(cè)

注釋者使用對(duì)象檢測(cè)給圖片中的特定事物貼上標(biāo)簽。因此,如果一張圖片被標(biāo)記為有冰激凌,這就更進(jìn)一步說(shuō)明了冰激凌在圖片中的位置,或者如果特別是搜索可可冰激凌的位置。物體檢測(cè)可以通過各種方法來(lái)完成,包括。

  • 邊界框。注釋者使用矩形和正方形來(lái)定義目標(biāo)物體在二維中的位置。這是最經(jīng)常使用的圖片注釋方法之一。立方體,也被稱為三維邊界框,被注釋者用來(lái)指定目標(biāo)對(duì)象的位置和深度。
  • 多邊形分割。注釋者采用復(fù)雜的多邊形來(lái)指定不對(duì)稱的目標(biāo)項(xiàng)目的位置,而這些目標(biāo)項(xiàng)目并不簡(jiǎn)單地適合在一個(gè)盒子里。
  • 線條。注釋器檢測(cè)圖片中的基本邊界線和曲線,用線條和樣條來(lái)區(qū)分部分。例如,注釋器可以為自駕車圖片注釋項(xiàng)目命名高速公路上的眾多車道。

這種方法仍然不是最精確的,因?yàn)槲矬w檢測(cè)允許在使用方框或線條時(shí)出現(xiàn)重疊。它所提供的是項(xiàng)目的大致位置,同時(shí)仍然是一個(gè)相當(dāng)快速的注釋程序。

語(yǔ)義分割

語(yǔ)義分割克服了物體識(shí)別中的重疊問題,保證了圖像的每個(gè)組成部分只屬于一個(gè)類別。這種方法通常在像素層面上進(jìn)行,需要注釋者為每個(gè)像素分配類別(如行人、汽車或標(biāo)志)。這有助于教導(dǎo)人工智能模型如何檢測(cè)和分類某些項(xiàng)目,即使它們被遮擋。例如,如果一個(gè)購(gòu)物車遮住了圖像的一部分,可以用語(yǔ)義分割來(lái)定義可可冰淇淋的樣子,直到像素級(jí)別,讓模型知道它實(shí)際上仍然是可可冰淇淋。

用OpenCV實(shí)現(xiàn)圖像注解

在這篇文章中,我們將使用邊界框和顏色分割方法進(jìn)行圖像注釋。

在邊界框中,方法將是在物體周圍手動(dòng)繪制不同的邊界形狀,并在其中添加一些文字。

在顏色分割中,我們將使用KNN算法來(lái)分割查詢圖像中物體的顏色。顏色將根據(jù) "K "值被分割,"K "是最近的鄰居的數(shù)量,圖像上被分割的部分可以被視為注釋的部分。

包圍盒方法

導(dǎo)入必要的庫(kù)

import cv2 
import numpy as np
import matplotlib.pyplot as plt

讀取查詢圖像

input_img=cv2.imread('annotation_image.jpg',cv2.IMREAD_COLOR)

查詢圖像

在本文中,我們使用的是彩色圖像,所以我們需要使用 "cv2.IMREAD_COLOR"。因?yàn)樗甘炯虞d一個(gè)彩色圖片。任何圖片的透明度都會(huì)被忽略。這是默認(rèn)設(shè)置。我們也可以為這個(gè)標(biāo)志傳遞整數(shù)值1。

在對(duì)象上畫一條線

image_line=input_img.copy()
cv2.line(image_line, (900,150), (1100,150), (0,255,255), thickness=5,lineType=cv2.LINE_AA)
plt.figure(figsize=(10,10))
plt.imshow(image_line[:,:,::-1])
plt.show()

cv2.line需要輸入直線的起點(diǎn)和終點(diǎn)的坐標(biāo),以及直線的厚度、透明度和顏色。

印度分析雜志

在物體周圍畫一個(gè)圓

image_circle=input_img.copy()
cv2.circle(image_circle, (1030,340),200, (0,255,255), thickness=5,lineType=cv2.LINE_AA)
plt.figure(figsize=(10,10))
plt.imshow(image_circle[:,:,::-1])
plt.show()

cv2.circle'接收半徑和圓的坐標(biāo)作為輸入。其余部分與前面討論的直線函數(shù)相同。

印度分析》雜志

在物體周圍畫一個(gè)矩形

image_rect=input_img.copy()
cv2.rectangle(image_rect, (900,150),(1100,530), (0,0,255), thickness=5,lineType=cv2.LINE_AA)
plt.figure(figsize=(10,10))
plt.imshow(image_rect[:,:,::-1])
plt.show()

它需要左上角的坐標(biāo)和右下角的坐標(biāo)來(lái)繪制矩形。

印度分析》雜志

KNN方法進(jìn)行分割

導(dǎo)入必要的庫(kù)

import cv2 
import numpy as np
import matplotlib.pyplot as plt

讀取和預(yù)處理

img = cv2.cvtColor(input_img,cv2.COLOR_BGR2RGB)
image_reshape = img.reshape((-1,3))
image_2d = np.float32(image_reshape)

改變顏色的順序,因?yàn)樵贠penCV中,圖像的顏色是以藍(lán)、綠、紅(BGR)來(lái)讀取的。要求是紅、綠、藍(lán)(RGB)。

應(yīng)用KNN

criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 100, 1.0)
K = 4
attempts=10
ret,label,center=cv2.kmeans(twoDimage,K,None,criteria,attempts,cv2.KMEANS_PP_CENTERS)
center = np.uint8(center)
res = center[label.flatten()]
result_image = res.reshape((img.shape))

由于圖像是一個(gè)高分辨率的圖像,所以有很多數(shù)據(jù)點(diǎn)需要處理,如果迭代次數(shù)多,就會(huì)耗費(fèi)時(shí)間。我們將迭代次數(shù)限制為100次,并且將ε值設(shè)置為最高值。k近鄰被設(shè)置為4,嘗試次數(shù)為10。

plt.figure(figsize=(10,10))
plt.imshow(result_image[:,:,::-1])
plt.show()

印度分析雜志

該算法對(duì)顏色進(jìn)行了很好的分割??梢钥吹剿{(lán)色、白色、灰色和棕色被分開。人們可以對(duì)圖像進(jìn)行屏蔽,并進(jìn)一步調(diào)整算法。

結(jié)論

處理數(shù)據(jù)最耗時(shí)的方面之一是數(shù)據(jù)收集和注釋。然而,它是訓(xùn)練算法的基礎(chǔ),必須在可行的情況下以最大的精度執(zhí)行。適當(dāng)?shù)淖⑨尳?jīng)常會(huì)在后期創(chuàng)建模型的過程中節(jié)省大量的時(shí)間。通過這篇文章,我們已經(jīng)了解了不同類型的注釋和它們的實(shí)現(xiàn)。

參考文獻(xiàn)

The postImage annotation techniques with implementation in OpenCVappeared first onAnalytics India Magazine.

到此這篇關(guān)于在OpenCV中實(shí)現(xiàn)的圖像標(biāo)注技術(shù)的文章就介紹到這了,更多相關(guān)OpenCV圖像標(biāo)注內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python?教程之blinker?信號(hào)庫(kù)

    python?教程之blinker?信號(hào)庫(kù)

    這篇文章主要介紹了python?教程之blinker?信號(hào)庫(kù),文章基于python的相關(guān)資料展開詳細(xì)的內(nèi)容說(shuō)明。具有一定的參考價(jià)價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • 進(jìn)一步探究Python的裝飾器的運(yùn)用

    進(jìn)一步探究Python的裝飾器的運(yùn)用

    這篇文章主要介紹了更為深入的Python的裝飾器的運(yùn)用,Python的裝飾器是Python學(xué)習(xí)進(jìn)階當(dāng)中的重要知識(shí)點(diǎn),需要的朋友可以參考下
    2015-05-05
  • Windows下pycharm安裝第三方庫(kù)失敗(通用解決方案)

    Windows下pycharm安裝第三方庫(kù)失敗(通用解決方案)

    這篇文章主要介紹了Windows下pycharm安裝第三方庫(kù)失敗(通用解決方案),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python 實(shí)現(xiàn)訓(xùn)練集、測(cè)試集隨機(jī)劃分

    Python 實(shí)現(xiàn)訓(xùn)練集、測(cè)試集隨機(jī)劃分

    今天小編就為大家分享一篇Python 實(shí)現(xiàn)訓(xùn)練集、測(cè)試集隨機(jī)劃分,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2020-01-01
  • python腳本之如何按照清晰度對(duì)圖片進(jìn)行分類

    python腳本之如何按照清晰度對(duì)圖片進(jìn)行分類

    這篇文章主要介紹了python腳本之如何按照清晰度對(duì)圖片進(jìn)行分類問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Python臨時(shí)文件創(chuàng)建之tempfile模塊介紹

    Python臨時(shí)文件創(chuàng)建之tempfile模塊介紹

    這篇文章主要介紹了Python臨時(shí)文件創(chuàng)建之tempfile模塊,Python的tempfile模塊是用來(lái)創(chuàng)建臨時(shí)文件或者文件夾的跨平臺(tái)工具,下面關(guān)于模塊簡(jiǎn)單介紹需要的小伙伴可以參考一下
    2022-03-03
  • pandas 實(shí)現(xiàn)某一列分組,其他列合并成list

    pandas 實(shí)現(xiàn)某一列分組,其他列合并成list

    這篇文章主要介紹了pandas 實(shí)現(xiàn)某一列分組,其他列合并成list的案例。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2021-03-03
  • python編碼總結(jié)(編碼類型、格式、轉(zhuǎn)碼)

    python編碼總結(jié)(編碼類型、格式、轉(zhuǎn)碼)

    這篇文章主要介紹了python編碼操作,包括編碼類型、格式、轉(zhuǎn)碼等,并結(jié)合實(shí)例分析了相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2016-07-07
  • Python中常用的os操作匯總

    Python中常用的os操作匯總

    這篇文章主要匯總了Python中常用的os操作,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-11-11
  • Python拆分大型CSV文件代碼實(shí)例

    Python拆分大型CSV文件代碼實(shí)例

    這篇文章主要介紹了Python拆分大型CSV文件代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10

最新評(píng)論