반응형

전체 글 115

MBR과 GPT 파티션의 차이점

우분투 부팅 USB를 만들어 새로운 OS를 설치하려 할때, Rufus를 사용하게 되는데 파티션 방식을 보면 MBR과 GPT방식이 있다. 간혹, 하드디스크의 상태에 따라 파티션 방식을 다르게 설정하여 OS를 설치하려 할 경우 설치가 안되는 경우도 있으니 주의하기 바란다. * 2TB 이상에서는 GPT 방식을 사용해야 하며, 그 외에는 MBR 방식을 사용하는 것이 여러 호환성 측면에서 좋다고 한다.듀얼 부팅시(윈도우 + 우분투) MBR 방식과 GPT 방식을 일치시켜 주는 것이 좋다고 한다. 우분투 설치시, 부트로더의 설치 위치를 자동으로 잡아주지만 메인보드에 따라 자동으로 못잡는 경우도 있다고 하니, 파티션 방식을 잘 살펴보고 설치하시기 바랍니다. MBR(Master Boot Record) 기존, 레거시 파티..

참고 및 꿀팁 2020.07.27

[2019] Lane Detection and Classification using Cascaded CNNs

Written by Fabio Pizzati, Marco Allodi, Alejandro Barrera, and Fernando Garcia Abstract 차선탐지는 자율주행에서 매우 중요하며, 기존의 방법들에서는 GPS-based localization이나 도로 내부의 차량 정보들을 이용하였다. 그러나, 많은 방법들이 차선의 경계를 분할하는 Task에 초점이 맞추어져 있으며, 이는 차선유형에 관한 도로 주행 계획을 세우거나 현재 차량의 위치정보가 필요할 수 있기 때문에 충분하지 않을 수 있다. 이러한 문제를 해결하기 위해 실시간으로(Real-time) 동작하는 차선 경계(Lane Boundary) 종류를 식별하는 end-to-end 시스템을 제안하였다. 이를 위해, Tusimple 데이터 셋에 대하여..

Tusimple Dataset-Class

차선 탐지 데이터 셋에는 TuSimple, CULane, BDD100K 등 다양하게 존재하며, 그중에서 Tusimple 데이터 셋에 대하여 차선의 인스턴스를 분류한 방법을 소개하고자 한다. 차선의 종류를 8가지로 나누어 Annotation하였다.Sigle DashedDouble DashedBotts' DotsDouble Yellow ContinuousSingle White ContinuousSingle Yellow ContinuousDouble White ContinuousUnknown (차선 없을때) 차선의 유무를 classification 한다면 불필요 하지만, LKA(Lane Keeping Assist)와 같은 기능을 적용하려면 dashed line인지 Continuous 인지 분류해야하기 때문에 ..

Host pc에서 minicom 연결하기

Minicom은 주로 임베디드 보드와 Host PC에서 시리얼 통신을 할때 사용되며, 시리얼 케이블이 필요하다. 임베디드 보드에서 일어나는 일들을 그 장비에서 보기 어렵기 때문에, 시리얼 통신을 통해 pc와 연결하여 확인할 수 있게 해준다. Minicom 사용하기 1. minicom 설치하기 $ sudo apt-get install minicom 2. 설치가 완료 되면 USB 포트 확인하기 이름이 tty로 시작하기 때문에 가능한 USB포트 확인하기 3. 연결하기 연결 전 시리얼 통신 연결 후 ttyUSB0 활성화 우분투 터미널에서 minicom을 이용하여 임베디드 기기와 연결 $ sudo minicom -D /dev/ttyUSB0 연결 후 다음과 같은 화면을 볼수 있으며, CTRL-A 다음에 Z를 누르면..

참고 및 꿀팁 2020.07.23

[2018] BiseNet : Bilateral Segmentation Network for Real-time Semantic Segmenatation

Written by Changqian Yu, Jingbo Wang, Chao Peng, Changxin Gao, Gang Yu and Nong Sang Semantic segmentation 분야에서는 Spatial 정보와 상당한 Receptive field를 요구한다. 그러나, 현대의 방법들은 공간적인 해상도(performance)와 real-time inference speed 간의 trade-off를 고려하게 된다. 이러한 문제를 해결하고자, Spatial 정보들을 유지하면서 고 해상도 특징들을 추출하고 fast down-sampling 전략을 통해 속도가 빠르며 충분한 receptive field를 유지하는 방법을 소개하고자 한다. 또한, Spatial과 Context path를 통해 나온 정보들..

RGB 색상모델과 YUV 색상모델

색상을 표현하는 데에는 다양한 색상모델이 있다. 이러한 색상모델은 3차원 좌표로 나타낼 수 있으며, 카메라, 스캐너, 모니터, 컬러프린터 등의 다양한 컬러 영상 장비 개발 및 응용 단계에서 필수적으로 활용된다. RGB : 색을 혼합하면 명도가 올라가는 가산 혼합 방식으로 색을 표현, 빨강, 녹색, 파랑을 뜻하며 컴퓨터에서 주로 색상을 표현하는데 사용된다. 표현할 수 있는 색상이 많기 때문에 가장 일반적인 색상모델이다. CMYK : 인쇄과정에서 쓰이는 감산 혼합 방식으로, 흰 바탕에 네 가지 잉크의 조합으로 색을 나타낸다. 색을 혼합할 수록 명도가 낮아지며, 옥색(CYAN), 자홍색(Magenta), 노랑(Yellow), 검정(Black)으로 구성된다. 인쇄과정에서 많이 사용되는 이유는 RGB의 경우, 색..

[2020] Ultra Fast Structure-aware Deep Lane Detection

Abstract 최근, Lane Detection 분야에서 Image-segmentation 기반의 방법으로 다양한 환경 시나리오와 처리 속도 문제를 해결하기 위해 노력해왔다. 사람의 인지 시스템을 참고하여, 다양한 외부환경(Extreme lighting conditions)이나 심각한 가림(Severe occlusion) 조건을 Contextual, Global information을 이용하여 해결해 왔다. 본 논문에서는 row-based selecting 방법을 통해 영상 안의 Global 정보를 활용하였고, 계산 비용 또한 줄였다. 확장된 receptive field는 Global 정보를 얻을수 있게 하였고, 이를 바탕으로 다양한 외부환경 문제를 해결할 수 있었다.두개의 Benchmark data-..

Deep Learning model 학습 Tip 정리

[참고 링크] 1. http://karpathy.github.io/2019/04/25/recipe/2. https://pcc.cs.byu.edu/2017/10/02/practical-advice-for-building-deep-neural-networks/ 단순히 해석한 글이며, 학습방법에 대한 견해는 다를 수 있으니 참고만 해주세요~ Building Deep Learning Model 1. 데이터와 하나가 되기 첫번째 단계는 데이터의 분포를 이해하고 패턴을 확인하는 것입니다. 데이터의 불균형(imblance), 편향(bias), 이미지와 라벨(label)등을 확인하는 것은 적용시킬 Deep learning model을 찾는데 도움이 됩니다. 예를들어, 이미지에서 찾아야 하는 정보가 Local 혹은 Gl..

[Python] Numpy Slicing

참고 자료 : [1] https://numpy.org/doc/stable/reference/arrays.indexing.html [2] https://datascienceschool.net/view-notebook/416d733c3a734565b69fd0c8dc959edb/ [3] https://076923.github.io/posts/Python-numpy-5/ Numpy Slicing Numpy란 수치해석용 Python 패키지로, 다차원의 행렬 자료구조인 ndarray를 지원하여 벡터와 행렬을 사용하는 계산에 주로 사용된다. numpy의 행렬 연산은 C로 구현된 내부 반복문을 사용하기 때문에, Python 반복문에 비해 속도가 빠르다. 행렬 인덱싱(Indexing)을 사용한 질의 기능을 이용하여 짧고..

[2020] Key Points Estimation and Point Instance Segmentation Approach for Lane Detection

Abstract 기존의 state-of-the-art의 성능을 보이는 차선 탐지 방법들은 좋은 성능을 보이지만, 탐지 가능한 제한된 수의 차선이나 High False Positive(실제 차선이 아니지만, 모델은 차선이라고 인식하는 경우)에 크게 의존성을 가진다. 특히, 높은 False Positive 비율은 위험한 제어를 일으키기 때문에, 이를 효율적으로 줄이는 방법이 중요하다. 본 논문에서는 딥러닝을 이용하여 임의의 차선을 탐지하고, 가장 낮은 False Positive 비율을 가진 방법을 제안하고자 한다. 제안된 방법은 포즈추정에서 사용된 Stacked Hourglass 방법을 기반으로 차선에 대한 정확한 point를 추정할수 있으며, 추정된 point에 대한 인스턴스별 클러스터링(군집화) 문제를 ..

[환경 설정] Nvidia driver 설치하기

참고 자료 1. https://codechacha.com/ko/install-nvidia-driver-ubuntu/2. https://hiseon.me/linux/ubuntu/install_nvidia_driver/ 우분투 Nvidia Driver 설치하는 방법 # 환경 : Ubuntu 16.04 LTS, GPU : Geforce RTX 2070 SUPER 이외에도, 자동으로 설치 하는 방법(auto install), 수동 설치하는 방법 등이 있습니다. 잘 선택해서 설치하시기 바랍니다.특히, 딥러닝을 하는 경우 cuda 버전 및 딥러닝 Framework 버전 지원 등을 고려하여 설치하시기 바랍니다. 1. apt update 어디서 에러가 생길지 모르니 업데이트, 업그레이드 $ sudo apt-get up..

참고 및 꿀팁 2020.06.03

[책] 훌륭한 프로그래머 되는 법

"훌륭한 프로그래머 되는 법", 피트 구들리프 지음, 한빛미디어 20년 6월 1일, 첫 입사를 앞두고 개념있는 신입이 되기 위해 읽게 되었다. 석사를 졸업했지만 팀 단위 프로젝트 개발은 처음이므로... 개념있는 신입 프로그래머?가 되고자 앞으로도 2번, 3번 읽어볼 예정이다. 이 책은 4명의 현업 개발자들이 번역하였고, 다소 이해하기 힘든 구절도 있었지만 대체적으로 잘 쓰여진 책이라는 느낌을 받았다. 가장 좋았던 점 중 하나는 매 챕터 마다 한줄평이나 TIP과 같은 짧은 문장들이 있고, 책을 읽다 보면 임팩트 있게 다가온다는 것이다. 서문에서 저자들이 밝혔듯이 처음부터 순서대로 읽어도 좋지만, 책이 다소 두꺼워서 개인적으로는 필요한 장부터 읽기를 추천한다. 이 책의 구성 Part 1. you.write(..

참고 및 꿀팁 2020.05.30

Fixing the train-test resolution discrepancy

참고자료 : Fixing the train-test resolution discrepancy, Facebook AI Research, https://arxiv.org/abs/1906.06423 [Abstract] Data-augmentation은 이미지 분류를 위해 신경망을 학습시키는데 있어 중요한 부분이다. 본 논문에서는 Classifier가 학습 과정과 테스트 과정에 있어, 이미지 크기에 따라 객체를 보는 차이(discrepancy)가 있음을 보여준다. 실제로, 학습할 때 이미지 해상도가 낮을수록 테스트시 성능이 향상된다. 이를 위해, 학습과 테스트시 사용하는 이미지 해상도를 다르게 설정하여 테스트 하는 간단하고, 최적의 전략을 사용하였다. 테스트 해상도는 fine-tuning을 이용하여, 상대적으로..

[책] 마흔이 되기 전에

구매링크 : http://www.yes24.com/Product/Goods/64465128 다음 한가지 만을 기억하라바닥에서 시작해 위로 올라간 사람들이이 세상엔 정말 많다는 것. 그러니 현재 자기 분야에서 바닥에 있다고 해서나쁜 것만은 아니다.올라갈 일만 남았으니까 중요한 건 바닥을 어떻게 터치 해야다시 빠르게 위로 떠오를 수 있느냐다바닥에 가라앉을 때와다시 솟구쳐 올라올 때의 속도가 같아서는 안 된다 물 속을 생각해 보라바닥까지 가라앉을 때는 누구나 현저히 가라앉는다바닥이 어디인지 충분히 살피고 점검하라는 자연의 뜻이다하지만 올라올때는 천천히 올라오지 못한다 반동이 약하면 다시 가라앉기 때문이다다시는 바닥에 떨어지지 않을 만큼있는 힘껏 바닥을 밀어내야 한다그리고, 단숨에 목표한 상위 지점에 도착해야 ..

참고 및 꿀팁 2020.04.20

[객체 탐지] One-stage detection(Unified Pipeline)

참고 자료 : [1] Deep Learning for Generic Object Detection : A survey, https://arxiv.org/pdf/1809.02165.pdf 2. Unified Pipelines (One-stage pipelines) 영역기반 접근법은 저장 및 계산 메모리가 제한적인 모바일, 웨어러블 시스템에서 계산비용이 많이 들수 있다. 따라서, 지역기반 파이프라인의 과정을 최적화하려는 시도 대신 통합탐지 전략을 사용하기 시작했다. 통합된 파이프라인은 One-stage pipelines CNN을 사용하여 전체 이미지에서 Class Probabilities 및 Bbox offset을 직접 예측하는 구조이다. 이 접근방식은 region proposal 생성 및 feature r..

[객체 탐지] Two-stage Detection

참고 자료 : [1] Deep Learning for Generic Object Detection : A survey, https://arxiv.org/pdf/1809.02165.pdf 1. Region based (Two-stage) Frameworks R-CNN : Girshick et al은 일반 객체 탐지를 위하 CNN을 처음으로 도입하여 RCNN을 개발하였고, AlexNet에서 Region Proposal Selective Search와 통합되었다. 영역 제안 계산, CNN 모델 파인튜닝, SVM 분류기를 이용한 객체 클래스 분류, 클래스 특정 bbox 회귀 학습의 과정을 거친다. 1. Region Proposal Computation : 객체를 포함 할 수 있는 후보 영역 제안 방법은 Sele..

[객체 탐지] Deep Learning for Generic Object Detection: A Survey

초록 : 자연 영상에서 사전에 정의된 많은 수의 범주에서 객체 인스턴스를 찾는 것을 목표로 하는 객체 탐지는 컴퓨터 비전에서 가장 도전적 인 문제중 하나이다. 최근 객체 탐지 분야에서 딥러닝 방법은 데이터로부터 특징들을 학습하는 가장 영향력있는 방법으로써, Breakthrough (획기적인 발전)을 가져왔다. 본 논문의 목적은 딥러닝 방법에 대한 Survey 논문으로 종합적인 설명을 제안하고 있다. 250가지 이상의 주요 기여가 포함되어 있으며, 객체 제안 생성, 객체 특징 표현, 상황 정보 모델링 및 학습전략, 벤치마크 데이터 셋, 평가 지표 및 최신 성능과 같은 여러 측면을 다룹니다. 소개 : 객체 탐지는 오랜 기간동안 연구해왔으며 컴퓨터 비전 분야에서 도전적인 영역으로 여겨지고 있다. 객체 탐지의 ..

[Shadow Detection] Instance Shadow Detection

참고자료 : https://arxiv.org/pdf/1911.07034.pdf. Instance shadow detection은 인스턴스 단위 객체들에 대한 그림자 탐지를 목표로 한다. 이러한 목표에 접근하기 위해, 새로운 그림자 데이터 셋 구축, LISA(Light-guided Instance Shadow-object Association) 방법을 제안하고자 한다. 평가 지표로는 그림자와 객체 간의 관계를 AP(Average Precision)를 통해 측정하였다. 향후, 빛의 방향 추정과 Photo-editing 등에 활용될 수 있다. 그림자는 객체가 빛을 막을때 생성되며, 영상을 이해하고 해석하는데 있어 방해요인으로 여겨져 왔다. 이 논문에서는 신경망을 이용하여 객체와 그림자 간에 관계를 예측하여 각..

Ubuntu 디스크 마운트

참고자료 : https://opentutorials.org/course/528 우분투 마운트 하는 방법으로는 수동 마운트와 자동마운트로 나뉜다. 1. 수동 마운트 명령어 : sudo mount -t [파일시스템] [장치파일] [마운트 디렉토리] 마운트 디렉토리의 경우 미리 mkdir 명령어를 통해 미리 만들어 둔다. 필자는 /mnt/data로 생성하였다. 먼저, 마운트 하고자 하는 파일시스템 디스크를 확인 $ sudo df 파일 시스템 : /dev/sdc1을 마운트 하고싶다고 결정! (/data2 에 있네?) 다음은 장치파일 유형 파악하기 $ vi /etc/fstab 여기서 알아야할 정보는 /data2의 장치파일 유형은 ext4라는 것! 그렇다면 마운트 명령어는 다음과 같다 $ sudo mount -t ..

참고 및 꿀팁 2020.02.18

[Deep Learning] GAN 학습에서의 문제점

참고자료 : https://ratsgo.github.io/generative%20model/2017/12/20/gan/ https://towardsdatascience.com/gan-ways-to-improve-gan-performance-acf37f9f59b 블로그들을 참고하여 나름 정리하였습니다. GAN의 경우 생성기와 분류기의 경쟁적 학습에 의해 그럴듯한 가짜 데이터를 만든다는 이론적배경은 그럴듯 하다. 그러나, 실제 데이터를 이용하여 학습 할 경우 몇가지 문제점이 생긴다. Mode Collapsing 학습에서 클래스가 여러 개인 실제 데이터의 분포를 따라가지 않고, 특정 데이터에 강하게 몰리는 현상이다. 즉, 다양성을 잃어버리는 현상이다. 모델은 손실 값만을 줄이려고 학습하기 때문에, 전체 데이터..

반응형