본문 바로가기

전체 글

[CNN] GoogLeNet 소개 GoogLeNet은 2014년도 ILSVRC(ImageNet Large Sclae Visual Recognition Challenge)에서 우승한 CNN 네크워크입니다. 정확하게 보면 GoogLeNet은, Inception이라는 개념의 네트워크들 중 하나입니다. 따라서 GoogLeNet은 Inception-v1와 같은 모델입니다. GoogLeNet의 논문은 "Going Deeper With Convolutions"로, GoogLeNet이란 이름이 붙은 이유는 구글이 알고리즘 개발에 참여했기 때문입니다. 특징 Inception Module GoogLeNet은 9개의 Inception Module을 포함하고 있습니다. Inception Module은 다양한 종류의 특성을 도출하기 위해 다양한 사이즈의 .. 더보기
[CNN] ResNet18 소개 ResNet18은 18개 층으로 이루어진 ResNet을 의미합니다 ResNet은 2015년도 ILSVRC(ImageNet Large Sclae Visual Recognition Challenge)에서 우승한 CNN 네크워크입니다. ResNet 연구팀은 이전 VGGNet이 밝힌 Layer가 깊어질수록 성능이 좋아지는 사실을 심층적으로 연구한 결과 Layer가 너무 깊어져도 성능이 떨어지는 현상을 확인합니다. Layer가 깊어질수록 미분을 점점 많이 하기 때문에, Layer의 미분값이 작아져 weight의 영향이 작아지는 Gradient Vanishing이 발생하여 Training Data로 학습이 되지 않는 문제가 발생합니다. 그래서 ResNet은 Skip Connection을 이용한 Residual.. 더보기
[CNN] VGG16 소개 VGG16은 16개 층으로 이루어진 VGGNet을 의미합니다. VGGNet(VGG19)는 2014년도 ILSVRC(ImageNet Large Sclae Visual Recognition Challenge)에서 준우승한 CNN 네크워크입니다. VGGNet(VGG19)는 사용하기 쉬운 구조와 좋은 성능 덕분에 그 대회에서 우승을 거둔 조금 더 복잡한 형태의 GoogLeNet보다 더 인기를 얻었습니다. VGGNet의 논문 이름은 "Very deep convolutional networks for large-scale image recognition"로, 네트워크의 깊이를 깊게 만드는 것이 성능에 어떤 영향을 미치는지 확인하는 목적을 가집니다. 특징 VGGNet 연구팀은 깊이의 영향만을 최대한 확인하고자 .. 더보기
[CNN] AlexNet 소개 AlexNet은 2012년도 ILSVRC(ImageNet Large Sclae Visual Recognition Challenge)에서 우승한 CNN 네크워크입니다. 당시 대세인 여러 알고리즘들과 기술들을 통한 객체 인식을 제치고 딥러닝 기술이 최고 성능을 낼 수 있음을 증명한 네트워크로, AlexNet 이후로 GPU 구현과 Dropout 적용이 보편화 되었습니다. AlexNet의 논문 이름은 "ImageNet Classification with Deep Convolutional Neural Networks"로, 논문의 저자가 Alex Khrizevsky의 이름을 따서 AlexNet이라고 부릅니다. 특징 논문에서 Alexnet은 이전에 사용된 딥러닝 CNN 네트워크인 LeNet-5와 비교하며 설명합.. 더보기
[실습] YOLO - Object Detection 코드 소개 pre-trained model을 가지고 object detection을 하기 전에, 코드 설명을 하겠습니다. ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg 공식홈페이지에는 위와 같은 명령어가 소개되어 있습니다. 이를 통해 darknet.c의 파일의 detect란 명령을 내렸다는 것을 알 수 있습니다. #include "darknet.h" #include #include #include = 0){ cuda_set_device(gpu_index); } #endif if (0 == strcmp(argv[1], "average")){ average(argc, argv); } else if (0 == strcmp(argv[1], "yolo".. 더보기
[Perception Open Source] YOLO 소개 YOLO(You Only Look Once)는 Object Detection을 구현한 오픈소스입니다. 최근 YOLO, SSD, Mask RCNN, RetinaNet 등의 다양한 Object Detection 알고리즘들을 개발됐는데, YOLO는 기존 모델들 보다 더 높은 정확도를 추구하는 것이 아닌, 근접한 정확도를 가지면서도 더 많은 양의 이미지를 처리할 수 있는 실시간 Object Detection를 하고자 개발되었습니다. YOLO의 특징을 세 가지로 요약하면, You Only Look Once(이미지 전체를 단 한 번만 본다), Unified(통합된 모델을 사용한다), Real-time Object Detection(실시간 객체 탐지)가 됩니다. 첫번째, YOLO 이전 Object Detecti.. 더보기
[Perception Open Source] Point Cloud Library 소개 Point Cloud Library는 Point Cloud를 처리하는 알고리즘들을 구현해둔 라이브러리입니다. 라이브러리 소개에 앞서, Point Cloud가 무엇인지 알아봅니다. LiDAR 센서, RGB-D 센서는 물체에 빛이나 신호(Wave)를 보내서 돌아오는 시간을 기록하여 거리 정보를 알아내 하나의 Point를 생성합니다. 그리고 이 포인트들이 3차원 공간에 모여있는 것을 Point Cloud라고 합니다. Point Cloud는 깊이(z)를 가지고 있기 때문에 N x 3 Numpy 배열로 표현 됩니다. 하지만 센서에서 제공되는 추가 정보가 있을 경우 N x 4 Numpy 배열로 표현 됩니다. 예를 들어 Lidar 센서 데이터에는 반사도가 추가될 수 있으며, RGB-D 센서 데이터에는 색 정보가.. 더보기
[Perception Data set] KITTI 소개 KITTI는 2012년 3월에 공개된 오픈데이터 및 benchmark로 WAYMO나 nuScenes와 달리 데이터셋을 직접 다운받아 사용합니다. 주행 장면은 rawData 기준 시간이 졍해져 있지 않고 약 10Hz의 frame을 갖고 있습니다. 그리고 8가지 종류의 주석이 포함되어 있습니다. 그러나 공개된 데이터들을 대부분 2011년 9월에 만들어진 파일들입니다. 다른 데이터셋에 비해 오래된 데이터이고 신호등이 주석 처리 되어있지 않아 학습에 제한이 있는 단점이 있지만, KITTI를 활용한 논문이 많기 때문에 관련 자료가 방대하다는 장점이 있습니다. 그리고 benchmark로 활용이 가능해서 알고리즘 점수를 알아볼 수 있는 활용도가 있습니다. KITTI-360이라는 조금 더 최신화된 데이터셋이 있으.. 더보기