scikit-image로 이미지 처리

6799 단어 Friday-IO
개시하다
기계를 열심히 공부하는 사람, 진정으로 배우고 싶은 사람은 브라우저를 닫고 다양한 정보를 알려주세요.
왜냐하면 관심 있는 사람이 분위기를 잡기 위해서 만져보는 거니까.
관심 있는 사람들의 참고가 될 수 있다면'어의 글자'다.
목표
지난번 Friday-IO에서 접한 머신러닝에 대한 지식이 제로인 머신러닝 프로그램 라이브러리, scikit-learn에 감동했습니다.
나는 이번에 영상 처리를 시도해 보고 싶다.
헬로 프로젝트 프로필 사진을 학습시켜 헬로 프로젝트 얼굴의 특징을 찾게 하는 것이 목표다.
샘플이 너무 적고, 이미지 성형 따위는 자기도 나무랄 데가 많다
소홀히 하다.
  • scikit-image로 이미지를 읽고 데이터 집합
  • 만들기
  • scikit-learn에서 교사 학습 없음
  • 적당한 이미지를 제시할 때 근사치를 수치화
  • AI, 기계학습, 딥러닝에 대한 설명은 이 글에 매우 참고 가치가 있다.
    http://kazoo04.hatenablog.com/entry/2015/10/09/120000
    scikit-image로 이미지 처리
    우선 학생들이 학습할 수 있는 특징량의 데이터 집합을 만들어야 한다
    이것은scikit-image라는 이미지 처리 라이브러리도 있습니다. 제가 한번 해 보겠습니다.
    설치하다.
    $ pip install scikit-image
    
    어쨌든 이 바나나부터 읽어볼게요.
    from skimage import data
    
    feature = data.imread('./banana.jpg')
    
    feature
    array([[[255, 255, 255],
            [255, 255, 255],
            [255, 255, 255],
            ...,
            [255, 255, 255],
            [255, 255, 255],
            [255, 255, 255]],
    
           [[255, 255, 255],
            [255, 255, 255],
            [255, 255, 255],
            ...,
    
    우연히 하얀 부분은 이해하기 쉽지만 그림마다 1픽셀의 RGB 값이 들어간다.
    그림의 경우 이렇게 수치화 처리를 해서 데이터 집합을 만든다.
    무교사 k평균법(k-means)
    부정확한 데이터 세트를 준비했으니 선생님이 있어도 공부할 수 있다
    이번에는 여러분들이 자신의 특징을 찾아내길 바랄 뿐이기 때문에 저는 교사가 되지 않겠습니다.
    교사가 없는 학습 방법에서 기본적인 k평균법을 사용한다.
    의 내용은 헬로 프로 55명의 프로필 사진이다.
    import os
    import numpy as np
    
    from skimage import data
    
    # 画像読み込み
    feature = np.array([data.imread(f'./img/{path}') for path in os.listdir('./img')])
    
    나는 그를 이렇게 공부하게 하려고 했는데 결국 욕을 먹었다.
    ValueError: Found array with dim 3. Estimator expected <= 2.
    
    읽는 배열이 3차원 배열이기 때문이다.
    scikit-learn에서 준비한 샘플 데이터 집중
    손으로 쓴 문자 이미지의 데이터가 있으니 그것에 따라 2차원 배열로 바꾸면 된다.
    # 3次元配列を2次元配列に
    feature = feature.reshape(len(feature), -1).astype(np.float64)
    
    # 学習
    model = KMeans(n_clusters=1).fit(feature)
    
    k평균법은 집합 알고리즘이라고 불리는 것 같지만 잘 모르겠어요.

    Maciej Pacula k-means clustering example (Python)
    어쨌든 기준점을 무작위로 결정한 다음에 가장 가까운 집단으로 만든다.
    이번엔 하나면 돼(?)따라서 KMeans()의 매개변수는 nclusters=1을 사용하여 지정합니다.
    이미지의 데이텀 점은 이미지입니다.
    스코어
    score 함수에서 오차와 정확한 라벨의 일치율을 얻을 수 있습니다.
    잘 모르기 때문에 먼저 실행합니다.
    첫 번째 그림을 배울 수 있는 데이터를 제공합니다.
    model.score([feature[0]])
    
    -682826994.80462933
    
    이 수수께끼와 같은 부동점수와 기준점의 거리는 매우 가깝다.
    왜 이런 값이 있는지 알고리즘을 이해해야 하기 때문에 무시한다.
    값이 0에 가까울수록 데이텀 점에 가까워집니다(피쳐 유사).
    남은 건 그냥 그림만 보여주고 놀았으니까 끝났어.

    좋은 웹페이지 즐겨찾기