<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【CV】基于聚類的圖像分割-Python

          共 2428字,需瀏覽 5分鐘

           ·

          2021-11-19 11:59


          了解圖像分割

          當(dāng)我們?cè)谧鲆粋€(gè)圖像分類任務(wù)時(shí),首先我們會(huì)想從圖像中捕獲感興趣的區(qū)域,然后再將其輸入到模型中。讓我們嘗試一種稱為基于聚類的圖像分割技術(shù),它會(huì)幫助我們?cè)谝欢ǔ潭壬咸岣吣P托阅埽屛覀兛纯此鞘裁匆约耙恍┻M(jìn)行聚類分割的示例代碼。


          什么是圖像分割?

          想象一下我們要過馬路,過馬路之前我們會(huì)做什么?


          首先,我們會(huì)看道路兩旁,以確定接近的車輛等環(huán)境對(duì)象,然后我們會(huì)對(duì)接近的車輛的速度做出一些快速的估計(jì),并決定何時(shí)以及如何過馬路。所有這些都發(fā)生在很短的時(shí)間內(nèi),非常很的神奇。


          1. 我們的大腦捕捉道路兩側(cè)的圖像

          2. 它檢測道路上的車輛和其他物體==物體檢測

          3. 它還確定了它檢測到的每個(gè)對(duì)象的形狀 == 圖像分割


          通過確定不同物體的形狀,我們的大腦能夠在同一張快照中檢測到多個(gè)物體,這是多么神奇啊。


          讓我們進(jìn)一步了解,假設(shè)我們有我們的圖像分類模型,它能夠以 95% 上的準(zhǔn)確率對(duì)蘋果和橙子進(jìn)行分類。當(dāng)我們輸入一幅同時(shí)包含蘋果和橙子的圖像時(shí),預(yù)測精度會(huì)下降。隨著圖像中對(duì)象數(shù)量的增加,分類模型的性能會(huì)下降,這就是目標(biāo)定位發(fā)揮作用的地方。


          在我們檢測圖像中的對(duì)象并對(duì)其進(jìn)行分類之前,模型需要了解圖像中的內(nèi)容,這就是圖像分割的幫助所在。它為圖像中的對(duì)象創(chuàng)建一個(gè)像素級(jí)的蒙版,這有助于模型更精細(xì)地理解對(duì)象的形狀及其在圖像中的位置。

          目標(biāo)檢測 VS 圖像分割?


          分割的類型有哪些?

          圖像分割大致分為兩大類。

          1. 語義分割

          2. 實(shí)例分割

          檢測到的對(duì)象 — 語義段 — 實(shí)例段?

          在第一張圖片中,我們可以看到檢測到的對(duì)象都是男性。在語義分割中,我們認(rèn)為所有這些像素都屬于一類,因此我們用一種顏色表示它們。另一方面,在實(shí)例分割中,這些像素屬于同一類,但我們用不同的顏色表示同一類的不同實(shí)例。


          根據(jù)我們使用的分割方法,分割可以分為許多類別。

          • 基于區(qū)域的分割

          • 基于邊緣檢測的分割

          • 基于聚類的分割

          • 基于CNN的分割等。


          接下來讓我們看一個(gè)基于聚類的分割示例。


          什么是基聚類的分割?

          聚類算法用于將彼此更相似的數(shù)據(jù)點(diǎn)從其他組數(shù)據(jù)點(diǎn)更緊密地分組。


          現(xiàn)在我們想象一幅包含蘋果和橙子的圖像。蘋果中的大部分像素點(diǎn)應(yīng)該是紅色/綠色,這與橙色的像素值不同。如果我們能把這些點(diǎn)聚在一起,我們就能正確地區(qū)分每個(gè)物體,這就是基于聚類的分割的工作原理。現(xiàn)在讓我們看一些代碼示例。

          from skimage.io import imreadfrom skimage.color import rgb2grayimport numpy as npimport matplotlib.pyplot as plt%matplotlib inlinefrom scipy import ndimage# Scaling the image pixels values within 0-1img = imread('./apple-orange.jpg') / 255plt.imshow(img)plt.title('Original')plt.show()

          由于肉眼可見,圖像中有五個(gè)色段


          1. 蘋果的綠色部分

          2. 橙子的橙色部分

          3. 蘋果和橙子底部的灰色陰影

          4. 蘋果頂部和右側(cè)部分的亮黃色部分

          5. 白色背景


          讓我們看看我們是否可以使用來自 scikit-learn 的 K 均值算法對(duì)它們進(jìn)行聚類

          # For clustering the image using k-means, we first need to convert it into a 2-dimensional arrayimage_2D = img.reshape(img.shape[0]*img.shape[1], img.shape[2])# Use KMeans clustering algorithm from sklearn.cluster to cluster pixels in imagefrom sklearn.cluster import KMeans# tweak the cluster size and see what happens to the Outputkmeans = KMeans(n_clusters=5, random_state=0).fit(image_2D)clustered = kmeans.cluster_centers_[kmeans.labels_]# Reshape back the image from 2D to 3D imageclustered_3D = clustered.reshape(img.shape[0], img.shape[1], img.shape[2])plt.imshow(clustered_3D)plt.title('Clustered Image')plt.show()

          效果非常好,我們能夠?qū)⑽鍌€(gè)部分組合在一起,這就是聚類分割的工作原理。目前有許多先進(jìn)的技術(shù),例如 Mask R-CNN,可以進(jìn)行更細(xì)粒度的分割。



          Github代碼連接:

          https://github.com/Mathanraj-Sharma/sample-for-medium-article/blob/master/cluster-based-segmentation-skimage/cluster-based-segmentation.ipynb


          往期精彩回顧




          站qq群554839127,加入微信群請(qǐng)掃碼:

          瀏覽 67
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产日韩欧美综合豆花 | 黄色电影在线播放网址 | 天天夜爽爽 | 日韩毛片网 | 日韩毛片一区二区 |