GithubHelp home page GithubHelp logo

cp2_nextlab's Introduction

CP2_NEXTLAB

1. 배경 및 목적

-> 이를 통해 해결하고자 하는 문제 상황이 무엇인지 (가설 설정)

딥러닝 모델을 활용하여 차량의 종류를 탐지하며 이때 탐지하는 성능을 높이는 것을 목표로 한다.
이러한 차량 존류 탐지 모델은 다음과 같은 상황에 도움을 줄 수 있다.
<교통단속, 차량 검색 및 조회, 통행요금 자동징수, 자동차 관련 범죄의 해결>
특히 통행요금 징수부분에서는 현재 차종이 대형/중형/소형인지에 따라 다르게 측정되는데 이를 더 세분화하여 가격을 매길 수 있다.

2. 프로젝트의 단계별 진행 과정 설명

  • 데이터셋을 선정한 이유와 목적
    차량을 다양한 각도에서 촬영한 데이터 셋을 활용하기 위해 차량 외관데이터를 사용

  • 데이터셋의 출처, 크기, 특성 등
    AIHUB에 있는 차량 외관 데이터를 사용했으며 이는 차량 브랜드에 따라 일단 구분되며 그 안에서도 차량의 종류, 연식, 색상에 따라 세분화되어 구분된다.
    종류는 약 100여가지로 데이터 셋의 개수는 약 33만개이다.
    추가로 한장의 이미지 데이터셋마다 annotation 정보가 json파일로 이루어져 있는데 이를 통해 차량을 구성하는 세부 요소들의 bounding box 좌표 및 이미지 파일의 세부 정보를 알 수 있다.
    데이터의 크기는 일괄적으로 1080*1920 사이즈이다.

  • 모델이나 분석기법을 사용한 이유

  1. Yolo -> 한 번의 네트워크 전파로 객체에 대한 분류 및 회귀를 수행하는 방법
  2. EfficientNet -> 특징맵 한 차원에 국한되지 않고 채널, 너비 그리고 깊이 차원을 복합적으로 확장

실시간 검출을 위해 one-stage 구조를 채용하고, 백본 네트워크로 EfficientNet-B0를 적용하면 가장 좋은 기본모델이 될거 같다.
이후, 다양한 크기의 객체 검출이 가능하도록 후속 레이어를 특징 피라미드 구조로 형성한다.
본 프로젝트에서는 모델 사용에 초점을 두어 두가지를 활용했지만 추후에는 backborn에서 효과적으로 특징을 추출하는 모델을 사용하고 이를 바탕으로 빠른 시간에 객체를 탐지하여 분류하는 모델을 코드로 구현하면 좋을 것 같다.

  • 결과로부터 도출해낼 수 있는 인사이트는 무엇인지
    차량 분류에 있어서 어떠한 이미지를 사용할 것인지가 모델의 성능을 높이는데 중요한 역할을 하는 것 같다.
    본 프로젝트에서는 차량의 색을 탐지하는데 원본 이미지 + crop이미지를 섞어서 사용했는데
    추후에 기회가 된다면 차량 전체를 일괄로 crop하는 것이 아닌 큰 카테고리의 특징을 갖는 부분을 crop하여 섞어준다면 더 모델의 성능이 올라갈 것 같다.
    예를 들면 차량의 전면부나 후면부임을 명확하게 알 수 있는 부분을 crop하여 이미지로 만든뒤 넣어주는 것 등이 될 것 같다.
    추가로 색을 탐지하는데 있어서도 광원을 제거하는 필터 등을 활용하여 이미지 전처리하는 방법도 생각해보면 좋을 것 같다.

  • 인사이트를 통해 앞서 설명한 문제 상황과의 연결짓기
    아직 구체적이지 않다.

  • 프로젝트의 한계점 및 개선 방안 제시 (겪은 어려움과 본인만의 해결 방법 서술)
    단순히 이미지의 양을 통해 모델이 알아서 학습하게 하기보다는 이미지 데이터 셋을 작게하되 클래스 별 특징을 명확하게 할 수 있는 지점을 찾아내는 것이 중요할 것 같다.
    객체를 탐지하는데 있어서 어떠한 과정을 통해 특징을 추출하는지 알아보고 이에 적합한 모델을 다시금 생각해보는 연습이 필요할 것 같다.

3. 기술 스택 및 코드 점검


*추가로 생각한 부분 정리해보기

분류 방법 -> 브랜드별 / 차종별 / 연식별 / 색깔별

  • 전면 인식 모델
  • 후면 인식 모델
  • 좌측 인식 모델
  1. 존재하는 라벨링을 통해 사진 속 차량의 방향을 대략 파악

*YOLO는 주어진 이미지를 한 번의 스캔으로 객체의 특징과 경계선을 계산 EfficientDet-D4 모델과 Yolo(You Only LookOnce)v5x 모델의 AP값이 비슷하거나 같지만 FPS 부분에서 Yolov5 모델이 약 5배 정도 빠른 성능을 보여준다.

  1. 각각의 방향에 따라 존재하는 차량부품을 객체 탐지 후 특징 분석하는데 yolo이용 기본 모델로 성능만 비교해보기

만약 annot에 라디에이터 그릴과 헤드램프가 있다면 전방 -> annot 값으로 차량 전체 / 라디에이터 그릴 / 헤드램프 출력

만약 annot에 트렁크와 리어램프 있다면 후방 -> annot 값으로 차량 전체 / 트렁크 / 헤드램프 출력

이외의 4가지 요소가 다 없다면 -> annot 값으로 차량 전체 출력

차량의 각도에 따라서 생기는 변화도 생각해봐야한다.

cp2_nextlab's People

Contributors

ru2zi avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.