목록전체 글 (19)
what i learned
추천시스템은 크게 콘텐츠 기반 필터링과 협업 필터링으로 나뉜다. 1️⃣ 콘텐츠 기반 필터링 2️⃣ 협업 필터링 ◎ 최근접 이웃 협업 필터링(=메모리 협업 필터링) - 사용자 기반 - 아이템 기반 ◎ 잠재 요인 협업 필터링 (with. 행렬 분해 기법) 1️⃣ 콘텐츠 기반 필터링이란? 사용자가 특정한 아이템을 매우 선호하는 경우, 그 아이템과 비슷한 콘텐츠를 가진 다른 아이템을 추천하는 방식이다. 영화 추천 시스템을 예로 들어보면, 사용자가 "컨택트"라는 영화에 평점 8점을 주고 "프로메테우스"라는 영화에 평점 9점을 줬다. "컨택트" 영화의 장르, 감독, 출연진 등의 정보와 "프로메테우스" 영화의 장르, 감독, 출연진의 정보를 파악하여 공통되는 장르나 감독, 출연진을 사용자에게 추천해주는 시스템이다. 즉..
[ML] Text Classification(1) - 텍스트 전처리 텍스트를 분석하기 위해 텍스트 토큰화 작업을 수행하고 feature를 추출한다. 텍스트 분석 수행 프로세스 텍스트 전처리 피처 벡터화/추출 ML 모델 수립 및 학습/예측/평가 이번 글은 전처리만 정 enddl3224.tistory.com 텍스트 전처리 과정이 끝났다면, 가공된 텍스트에서 Feature를 추출하고 벡터 값을 할당하여 모델을 수립하고 예측할 수 있도록 한다. Feature를 추출하여 벡터 값을 할당할 때 대표적인 방법으로 BOW(Bag Of Words)와 Word2Vec 방법이 있다. 이 중 BOW 방법으로 텍스트를 벡터화하겠다. BOW(Bag of Words) 문서가 가지는 모든 단어들을 문맥이나 순서를 무시하고 일괄적으로..
텍스트를 분석하기 위해 텍스트 토큰화 작업을 수행하고 feature를 추출한다. 텍스트 분석 수행 프로세스 텍스트 전처리 피처 벡터화/추출 ML 모델 수립 및 학습/예측/평가 이번 글은 전처리만 정리하고 벡터화 이후는 다음 글에 작성하겠다. 텍스트 토큰화 문장 토큰화 단어 토큰화 일반적으로 문장 토큰화는 각 문장이 가지는 시멘틱적인 의미가 중요할 때 사용하며 단어 토큰화는 구분자를 사용하여 단어를 토큰화할 수 있어서 BOW(Bag Of Words)와 같은 단어의 순서가 중요하지 않은 경우에 사용된다. 아래의 문장에 대해 토큰화 작업을 수행해보자. 💡 nltk 데이터 사용시 nltk.download()를 통해 데이터를 다운받을 수 있으며 최초 1번만 다운받는다. 자세한 정보는 nltk공식문서 import ..
GitHub - xingyizhou/CenterNet: Object detection, 3D detection, and pose estimation using center point detection: Object detection, 3D detection, and pose estimation using center point detection: - GitHub - xingyizhou/CenterNet: Object detection, 3D detection, and pose estimation using center point detection: github.com CenterNet이란? CenterNet은 객체를 검출하는 모델로, (1)Bbox를 통해 객체를 검출하는 방법이 아닌 (2)Key Poin..
설치환경 Ubuntu18.04: mac m1에서 VMware Fusion으로 mini.iso 를 사용하여 구동 설치순서 1. OpenCV 2. Eigen3 3. Pangolin 4. ORB_SLAM3 1. OpenCV 설치 OpenCV 설치 과정은 조금 길어서 아래의 링크를 참고하기! 참고링크 ➡️ [tistory] Ubuntu18.04에 OpenCV 4.2.0 설치하는 방법 trouble shooting OpenCV가 기존에 3.2.0과 4.2.0 2개의 버전이 설치되어 있어서 따로 설치하지 않고 ORB_SLAM3를 build하다가 OpenCV 4.4 이상의 버전이 없다는 오류발생으로 4.5.0을 설치해주었다. 2. Eigen3 설치 Eigen3 gitlab 링크: https://gitlab.com/l..
SLAM(Simultaneous Localization And Mapping) 위치 추정 및 지도를 동시에 작성하는 알고리즘이다. 💡 Localization & Mapping Localization(위치추정): 지도를 보고 실제 내 주변의 정보와 비교하여 현재 내 위치를 파악 Mapping(지도작성): 현재 내 위치를 알고 주변 환경에 대한 지도를 생성 Localization과 Mapping 어느 것이 먼저가 될 수 없기 때문에 최적화를 통해 이 문제를 해결하는 것이 SLAM의 특징이다. 로봇이 Localization과 Mapping을 하기 위해 카메라나 라이다를 사용하여 SLAM을 진행하는데, 카메라로 처리하는 것을 VSLAM(Visual SLAM), 라이다로 처리하는 것을 Lidar SLAM이라고 한..
이미지에서 특징점(keypoint)를 찾아서 물체를 추적하거나 인식한다. 좋은 특징점의 조건으로는 코너점(corner point)이 사용되어서 대부분의 물체 추적 알고리즘에서는 corner 검출을 사용한다. 특징점을 찾는 기본적인 방법으로는 작은 윈도우를 조금씩 이동시키면서 코너점일 경우 모든 방향으로 영상 변화가 크다는 것을 활용한다. [종류] 0. Moravec 1. Harris Corner 2. SIFT 2. FAST Corner 3. BRIEF 4. ORB 5. FLANN, AKAZE... 0. Moravec 각 픽셀위치를 수직, 수평, 좌우 대각선 방향으로 픽셀을 움직이면서 코너를 확인 1. Harris corner Moravec의 알고리즘을 보완 4방향이 아닌 2방향 X, Y 방향만 계산하고 ..
카메라에 calibration이 필요한 이유: 링크 calibration code import cv2 import numpy as np image_width, image_height = 640, 480 capture = cv2.VideoCapture(1) capture.set(cv2.CAP_PROP_FRAME_WIDTH, 640) capture.set(cv2.CAP_PROP_FRAME_HEIGHT, 480) def calibrate_image(src): global image_width, image_height # calibrate_mtx와 dist 각자 카메라에 맞는 mtx로 변경해 줘야 한다. calibrate_mtx = np.array([ [ 350.354184, 0.0, 328.104147], [..
1. express 프로젝트 생성하기 npm 전역설치 $ npm i -g express-generator $ express 프로젝트명 생성한 프로젝트에 들어가서 $ cd 프로젝트 서버를 돌리기 위해 필요한 것 설치 $ npm i 서버 계속 돌리기 위한 패키지 설치 $ npm install -D nodemon +) nodemon을 설치했다면 package.json 파일에서 nodemon으로 수정해야한다. "scripts": { "start": "nodemon ./bin/www" }, 2. 필요한 폴더 및 파일 생성하기 1) .env 파일 생성 (환경변수를 관리하는 파일) DATABASE = 데이터베이스명 PASSWORD = MySQL비밀번호 USERNAME = root HOST = localhost//lo..