agyeong / Image_segmentation

Semantic Image Segmentation
1 stars 0 forks source link

(RGB) 레이블 데이터 생성 관련 #2

Closed yooso0731 closed 3 years ago

yooso0731 commented 3 years ago

올려준 베이스라인 코드 참고하여 픽셀별 RGB 값을 추출해보았습니다.

입력 이미지에 따라 추출되는 RGB 개수가 다를 것 같아서 교수님께서 올려주신 데이터(701개)를 모두 돌려보았고, 그 결과로

  1. 한 이미지 내 가장 많이 추출된 색상 개수: 72개
  2. 701개 이미지에서 추출된 색상 총 개수: 86개 를 파악할 수 있었습니다.

이와 관련하여 정보 나누고 얘기해보는 게 좋을 것 같아 이슈 올립니다!

오늘 얘기한 것처럼 같이 RGB 값이 조금씩 달라 모두 따로 추출된 것으로 보입니다. 그래서 올려준 코드 속 15개 말고 위의 86개 색상에 레이블 달아두는 게 나을 것 같은데 이렇게 진행할까요?..

(참고 사진) *1번 추출 색상 예시 image

agyeong commented 3 years ago

86개 각각에 class 11개(Bicyclist, Pedestrian, Car, Fence, SignSymbol, Tree, Pavement, Road, Pole, Building, Sky)를 직접 태깅한다는 뜻인가요..?

86개는 너무 많을 것 같아요,,, 제가 상위 30개만 뽑아봤는데 이것들에 대해서만 태깅하는건 어떨까요,,,?

# (R, G, B), count
((128, 64, 128), 132226796),
 ((128, 0, 0), 110302864),
 ((128, 128, 128), 76801167),
 ((128, 128, 0), 50564119),
 ((0, 0, 192), 30757190),
 ((64, 0, 128), 16496593),
 ((0, 0, 0), 14572187),
 ((128, 0, 192), 8242265),
 ((64, 64, 128), 6921061),
 ((64, 192, 0), 6541892),
 ((192, 192, 128), 4782984),
 ((192, 192, 0), 3694554),
 ((64, 128, 192), 3401178),
 ((64, 64, 0), 3097211),
 ((128, 128, 64), 2844411),
 ((192, 128, 192), 2605699),
 ((0, 128, 192), 2542545),
 ((128, 64, 64), 1933487),
 ((0, 64, 64), 1805592),
 ((64, 192, 128), 1620521),
 ((128, 128, 192), 1236703),
 ((192, 128, 128), 574244),
 ((192, 0, 128), 310760),
 ((0, 128, 64), 218198),
 ((64, 0, 192), 145928),
 ((192, 128, 64), 136206),
 ((192, 0, 64), 66667),
 ((192, 0, 192), 48677),
 ((64, 128, 64), 23564),
 ((0, 0, 64), 15758)
))
yooso0731 commented 3 years ago

맞아요 86개 너무 많죠ㅋㅋ 그런데.. 나중에 모든 클래스에 대해서 성능 평가하려면 추출될 수 있는 색상에 다 레이블처리 해놔야하는 거 아닌가요? 상위 30개만 해두는 게 편하긴 하죠,,!

yooso0731 commented 3 years ago

이미지 파일 개수로 카운트해서 Top30만 먼저 레이블 처리해보려고 했는데, 클래스에 들어가지 않는 색이 많네요..!(구분하기 어려운) Top 11 이후부터 이미지 카운트 값이 확 줄어들기도 하고요 말한 것처럼 상위 몇 개만 정해서 레이블 처리하는 게 맞는 것 같아요 ㅋㅋ

[((128, 64, 128), 701), ((0, 0, 0), 701), ((128, 128, 128), 699), ((192, 192, 128), 699), ((128, 0, 192), 696), ((128, 0, 0), 687), ((0, 0, 192), 672), ((64, 0, 128), 643), ((64, 64, 0), 640), ((128, 128, 0), 637), ((128, 128, 64), 599), ((0, 64, 64), 471), ((64, 192, 0), 470), ((128, 64, 64), 435), ((192, 128, 128), 419), ((0, 128, 192), 365), ((64, 64, 128), 364), ((64, 128, 192), 304), ((192, 192, 0), 292), ((64, 0, 192), 243), ((64, 192, 128), 189), ((192, 128, 192), 184), ((192, 128, 64), 156), ((192, 0, 128), 114), ((128, 128, 192), 55), ((64, 128, 64), 26), ((192, 0, 64), 21), ((0, 0, 64), 20), ((192, 0, 192), 14), ((0, 128, 64), 10)]

yooso0731 commented 3 years ago

image labeled 이미지 보면서 클래스 붙여봤는데.. 이 부분은 서로 보면서 같이 얘기해봐야 할 것 같습니다 코드 정리해서 내일 올릴게요!

agyeong commented 3 years ago

넵 감사합니다!!

agyeong commented 3 years ago

저희가 사용하는 데이터 클래스의 RGB값 정보를 알게됐는데 총 클래스는 32개이지만, 위에서 알려주신 top30 중에서 top17안에 저희가 알고있는 클래스 11개가 포함되어있습니다.

괜찮은 정보인 것 같아서 공유드립니다! 현재 baseline-code 브랜치에 csv 파일 하나 올려뒀습니다!

이전 회의에서 애매한 값들을 하나의 클래스로 묶는 전처리(모델링할 때 두 개 이상의 rgb값을 하나의 클래스로 태깅되게 학습시키거나 전처리 과정에서 rgb값을 변경하는 등,,,)를 하자고 했었는데, 제가 올린 파일 보고 괜찮으면 rgb값 하나에 클래스 하나 태깅되게 학습시켜도 좋을 것 같습니다 :)

추후에 모델 파인튜닝 진행할 때 32개 클래스로 학습시켰을 때 성능 비교해도 재밌을 것 같네요~

yooso0731 commented 3 years ago

데이터 파일 확인했습니다!

올려준 파일 내의 클래스별 RGB값을 캡스톤 기본 rgb값으로 하고,(11개) 나머지 rgb 데이터들은 알아서 클래스에 태깅할 수 있도록 학습시키자는 얘기일까요?!

이 부분은 내일 회의할 때 한 번 상의해보면 좋을 것 같습니다!

yooso0731 commented 3 years ago

저번 주 목요일 회의에서 노션에 올려둔 링크 참고하여 클래스 파일 수정하기로 했었는데요, 진행 후 baseline-code 브랜치에 커밋해두었습니다.

--> 전체 추출 rgb값(86개)에 대한 label 12개 지정하는 코드(RGB_labeling.ipynb) + csv파일(rgb_seg.csv: 최종 클래스 데이터, label_colors: 32개 rgb값에 대한 12개 클래스 정의 데이터)

*클래스: 11개 지정 클래스 + Void(지정x)