본문 바로가기

Study

(10)
Face-similarity 정리 github.com/sthalles/face-similarity sthalles/face-similarity Face-similarity CNN using Tensorflow Eager execution. - sthalles/face-similarity github.com 후배가 프로젝트하길래 10분만에 정리해준 허접한 정리(뇌피셜) 입니다. 1. 얼굴 특징 추출은 DenseNet을 사용한다. DenseNet 은 Resnet처럼 layer간의 정보를 공유한다는 아이디어를 따랐지만, summation이 아닌 concatenation을 이용해 parameter의 수를 compact하게 만들었다. 2. Contrasive loss는 애매하게 비슷한사람은 더 멀리 분류하고 완전 차이나는 사람은 건들지도 않는 l..
2. 첫 삼각형2 #SimpleFragmentShader.fragmentshader #version 330 core out vec3 color; void main(){ color = vec3(1,0,0); } #SimpleVertexShader.vertexshader #version 330 core layout(location = 0) in vec3 vertexPosition_modelspace; void main(){ gl_Position.xyz = vertexPosition_modelspace; gl_Position.w = 1.0; } #include #include #include #include GLFWwindow* window; #include #include using namespace glm; int main..
1. 첫 삼각형 #내가 겪은 문제 **glewExperimental = true; OpenGL context 생성이 선행돼야 GLEW 초기화가 가능합니다. 우선 glewExperimental 변수를 GL_TRUE로 설정하여 GLEW에서 이용가능한 모든 OpenGL extension에 대한 정보를 가져올 수 있도록 설정 // Include standard headers #include #include // Include GLEW #include // Include GLFW #include GLFWwindow* window; // Include GLM #include using namespace glm; #include int main( void ) { // Initialise GLFW if( !glfwInit() ) { ..
0. Open_Window 빈 윈도우 창을 띄우는 Code #include #include // GLEW 포함. gl.h나 glfw.h를 포함하기 전에 포함해야 함. #include // GLEW 도 포함 #include // GLM 포함 #include using namespace glm; int main() { // GLFW 초기화 if (!glfwInit()) { fprintf(stderr, "GLFW 초기화 실패\n"); return -1; } glfwWindowHint(GLFW_SAMPLES, 4); // 4x 안티에일리어싱 glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); //OpenGL 3.3 을 쓸 겁니다. glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR,..
[keras] Lambda 계층 케라스는 패키지에서 제공하지 않는 새로운 인공신경망의 기능을 추가하는 다양한 방법을 제공합니다. 가장 간단한 방법은 Lambda 클래스를 이용하는 겁니다. 이 클래스를 이용하면 새로운 계층을 파이썬의 lambda 함수처럼 간단하게 만들어 사용할 수 있고, Lambda 계층을 이용하면 인공신경망에 새로운 계층을 쉽게 만들 수 있습니다. Lambda 계층은 2가지 방법으로 구현할 수 있습니다. 첫 번째는 파이썬의 lambda 함수와 같이 사용하는 방법입니다. 두 번째는 Lambda 계층의 전용 함수를 만들어서 사용하는 방법입니다. 1. 케라스 Lambda 계층과 파이썬 lambda를 이용하는 방법 파이썬의 lambda 함수와 함께 사용하는 방법은 매우 간단합니다. 예를 들어 입력이 하나 들어오면 그 입력에 ..
[python] 람다(lambda) lambda는 런타임에 생성해 사용할 수 있는 익명함수 입니다. 함수형 프로그래밍 언어에서의 lambda와 정확히 똑같은 것은 아니지만, 파이썬에 잘 통합되어 있으며 filter(), map(), reduce()와 같은 전형적 기능 개념과 함께 사용되는 매우 강력한 개념입니다. lambda는 쓰고 버리는 일시적인 함수입니다. 함수가 생성된 곳에서만 필요합니다. 즉, 간단한 기능을 일반적인 함수와 같이 정의해두고 쓰는 것이 아니고 필요한 곳에서 즉기 사용하고 버릴 수 있습니다.
EDA(Exploratory Data Analysis) 탐색적 데이터 분석 - (1) 출처: eda-ai-lab.tistory.com/13 EDA란? 수집한 데이터가 들어왔을 때, 이를 다양한 각도에서 관찰하고 이해하는 과정이다. 한마디로 데이터를 분석하기 전에 그래프나 통계적인 방법으로 자료를 직관적으로 바라보는 과정이다. EDA가 필요한 이유 데이터의 분포 및 값을 검토함으로써 데이터가 표현하는 현상을 더 잘 이해하고, 데이터에 대한 잠재적인 문제를 발견할 수 있다. 이를 통해, 본격적인 분석에 들어가기에 앞서 데이터의 수집을 결정할 수 있다. 다양한 각도에서 살펴보는 과정을 통해 문제 정의 단계에서 미처 발생하지 못했을 다양한 패턴을 발견하고, 이를 바탕으로 기존의 가설을 수정하거나 새로운 가설을 세울 수 있다. EDA의 과정 기본적인 출발점은 문제 정의 단계에서 세웠던 연구 질문과..
텍스트 유사도 (자카드 유사도, 코사인 유사도, 맨하탄 유사도, 유클리드 유사도)와 tf-idf NLP에서 텍스트 유사도란 두 문서가 텍스트 적으로 얼마나 유사한 내용을 담고 있는지를 나타내는 지표이다. 우선 유사도로 나타내기 전, 문서를 벡터화하는 작업이 필요하다. TfidfVectorizer 문서를 tf-idf의 feature matrix로 변환하는 클래스이다. 문서에 CountVectorizer를 사용하고 tfidf Transformer를 사용한 것과 똑같은 결과를 가진다. tf-idf(Term Frequency - Inverse Document Frequency)란? TF(단어빈도)는 특정한 단어가 문서 내에서 얼마나 자주 등장하는지를 나타내는 값. 이 값이 높을수록 문서에서 중요하다고 생각할 수 있다. 하지만 하나의 문서에서 많이 나오지 않고 다른 문서에서 자주 등장하면 단어의 중요도는 낮..
[Ubuntu 18.04] labelme 설치 환경: Ubuntu 18.04 labelme 설치 https://github.com/wkentaro/labelme 위 주소에 labelme에 대한 설명과 설치 방법이 나와있습니다. labelme를 설치하기 위해 Python 2, 3이 설치되어있어야 합니다. 본 포스팅의 경우엔 3.7버전을 따랐습니다. 먼저 아래 명령어로 설치된 패키지들을 최신 버전으로 업데이트 해줍니다. $sudo apt-get update $sudo apt-get upgrade 그 다음 파이썬을 설치합니다 $sudo apt-get install python $sudo apt-get install python3 파이썬 pip와 numpy를 설치합니다 $sudo apt-get install python-pip $sudo apt-get in..
MediaPipe를 이용한 Real-time hand tracking google mediaPipe를 이용한 실시간 손 추적 파이프라인 출처: https://ai.googleblog.com/2019/08/on-device-real-time-hand-tracking-with.html CVPR 2019에서 발표된 구글의 오픈소스 크로스 플랫폼 프레임 워크. 비디오, 오디오 와 같은 다양한 양식의 지각데이터를 처리하기 위한 파이프라인을 구축함. 이 방식을 통해 구글은 단일 프레임에서 손의 21개 3D 키포인트를 추론하고 손, 손가락 추적을 제공함. 손 추적 및 제스처 인식을 위한 ML 파이프 라인 함께 작동하는 여러 모델로 구성된 ML 파이프 라인을 활용한다. 전체 이미지에서 작동하고 방향이 지정된 손 경계 상자를 반환하는 손바닥 감지기 모델 (BlazePalm) 손바닥 감지기..