본문 바로가기
AI/AI 부트캠프

[AI 부트캠프] DAY 106 - CV 프로젝트 7

by HOHHOH 2023. 12. 20.

[오늘의 일지]

프로젝트 - Conv3d 베이스라인 코드

[상세 내용]

Conv3d 베이스라인 코드

- 우선 우리 조의 베이스라인 코드가 아직 완성이 안 된 관계로 저의 전처리가 효과가 있는지 알아보기 위해서 주최 측에서 제공하고 있는 Conv3d 베이스라인 코드에 적용시켜 보기로 했습니다.

 

기본 코드 형태

- Conv3d는 보통 비디오 같은 형태의 데이터에서 많이 사용한다고 합니다. 저희 조는 이미지를 추출해서 학습을 하기 때문에 Conv2d를 사용했습니다.

class BaseModel(nn.Module):
    def __init__(self, num_classes=13):
        super(BaseModel, self).__init__()
        self.feature_extract = nn.Sequential(
            nn.Conv3d(3, 8, (1, 3, 3)),
            nn.ReLU(),
            nn.BatchNorm3d(8),
            nn.MaxPool3d(2),
            nn.Conv3d(8, 32, (1, 2, 2)),
            nn.ReLU(),
            nn.BatchNorm3d(32),
            nn.MaxPool3d(2),
            nn.Conv3d(32, 64, (1, 2, 2)),
            nn.ReLU(),
            nn.BatchNorm3d(64),
            nn.MaxPool3d(2),
            nn.Conv3d(64, 128, (1, 2, 2)),
            nn.ReLU(),
            nn.BatchNorm3d(128),
            nn.MaxPool3d((3, 7, 7)),
        )
        self.classifier = nn.Linear(1024, num_classes)
        
    def forward(self, x):
        batch_size = x.size(0)
        x = self.feature_extract(x)
        x = x.view(batch_size, -1)
        x = self.classifier(x)
        return x

 

전처리 결과

- 아무 전처리도 하지 않았을 때보다 이상치라고 생각했던 라벨 0에서의 값들을 처리해 준 데이터에서 좋은 점수를 받는 것을 확인했습니다. 또 라벨링 잘못되었다고 생각하는 값들을 처리해 준 부분에서도 약간의 향상을 보였습니다. 이러한 결과로 저희 모델에도 적용시킬 수 있겠다는 결과를 얻어서 다행입니다.

 

[마무리]

 오늘은 저희 조의 모델이 아직 완성되지 않아서 베이스라인 모델에 대해서 가볍게 알아보고 전처리한 부분에서 유의미한 결과가 있었는지 알아보았습니다. 아마도 내일이면 저희 조의 완성된 모델로 성능을 평가할 수 있을 것으로 보입니다. 최대한 프로젝트가 마무리되기 전까지 결과를 얻을 수 있으면 좋을 거 같습니다.

반응형

댓글