[OpenGL] How to write PYopenGL in to JPG image
Python 환경에서 OpenGL 창을 image로 저장할 때 사용하는 코드는 아래와 같다. 여기서는 PIL 라이브러리를 사용한다. from OpenGL.GL import * from OpenGL.GLU import * from OpenGL.GLUT import * from PIL import Image from PIL import ImageOps import sys width, height = 300, 300 def init(): glClearColor(0.5, 0.5, 0.5, 1.0) glColor(0.0, 1.0, 0.0) gluOrtho2D(-1.0, 1.0, -1.0, 1.0) glViewport(0, 0, width, height) def render(): glClear(GL_COLOR_BU..
2022.09.19
no image
[Book Review] 이것이 자료구조 알고리즘이다
한빛미디어에서 출간한 이것이 자료구조 알고리즘이다 라는 책은 독자가 마지막 페이지까지 읽는 것을 목표로 기초부터 이해하기 쉽도록 집필해놓은 책이다. 수식은 최소화 하고 한 눈에 들어오는 그림을 많이 넣었다는 글귀는 혹하게 만든다. 개발자들에게 자료구조와 알고리즘이 필수라는 것은 실무를 하면서 매번 느끼고, 간헐적으로 계속 공부를 하게되느 분야인 듯 하다. 먼저, 자료구조란 데이터 보관 방법과 데이터에 관한 연산의 총체를 뜻한다. 흔히들 아는 단순 자료구조로는 int, long, double 등이 있으며, 복합적인 자료구조로는 선형, 비선형 방식에 따라 나뉘어 선형 자료 구조는 배열, 링크드리스터, 스택, 큐, 힙이 있고, 비선형 자료 구조로는 트리 및 그래프가 있다. 자료구조를 공부해야하는 이유는 자료구..
2022.08.29
no image
[Paper Review] Occlusion-Aware Networks for 3D Human Pose Estimation in Video
Paper : https://openaccess.thecvf.com/content_ICCV_2019/papers/Cheng_Occlusion-Aware_Networks_for_3D_Human_Pose_Estimation_in_Video_ICCV_2019_paper.pdf 본 논문에서는 3D Human Pose Estimation에서 Occlusion 문제를 해결하기 위하여 occlusion aware deep learning framework 제안합니다. 이를 위해 keypoint의 2D confidence heatmap과 optical flow의 consistency constraint를 사용하여 occluded keypoint의 unreliable estimation을 filtering 합니다. oc..
2022.08.21
no image
SVM에서의 Slack Variable
Slack Variable 이란? SVM에서는 일반적으로 분류를 위한 마진(Margin)을 설정하게 되는데, 이 때 마진과 학습 오류의 개수는 반비례 관계를 가지며 어떻게 분류할 것인지는 목적에 따라 결정된다. 여기서 선형적으로 분류할 수 없는 경우에는 분류를 위해 오차를 허용할 수 있다. 이 때 제약조건(constrraint)를 완화하여 오차를 허용할 때 사용하는 변수를 Slack Variable 이라고 한다. 즉 어느정도 에러가 발생하는 것을 허용하면서 초평면(hyperplane)을 찾는 방법을 말한다. Slack Variable은 각 관측치의 에러 정도를 나타내는 역할을 하게 되는데 각 관측치 마다 Slack Variable이 하나씩 존재한다. 분류가 올바르게 된 경우 Slack Variable =..
2022.08.13
no image
수학 기호 정리
최근 3개월 간 공부하면서 수식을 볼 일이 굉장히 많았는데, 여기에 나와있는 수식 80%는 모두 본 듯 하다.. 그래서 수학기호를 정리해보려고 했는데 리브레 위키에 정말 잘 설명되어있다. 리브레 위키 페이지에 들어가면 의미 부분에 관련된 항목에 대한 링크들이 모두 있어서 좋다. 참고자료 : https://librewiki.net/wiki/%EC%88%98%ED%95%99_%EA%B8%B0%ED%98%B8 수학 기호 수학에서 쓰이는 약어와 기호들을 모아놓은 문서. 수학 증명에서는 기호가 많이 나오기 때문에 기호의 의미를 알지 못한다면 증명을 이해할 수 없다. 반대로, 기호를 알지 못하면 증명이 쓸데없 librewiki.net 순서는 아래와 같다. 1. 수학에서 사용하는 약어 2. 수학에서 사용하는 알파벳 ..
2022.08.13
Docker 환경에서 GLFWError: (65544) b'X11: Failed to open display unix:1'
Docker 환경에서 윈도우를 띄우려고 할 때 (e.g. OpenCV, OpenGL, ...) 아래와 같은 에러가 발생한다면, GLFWError: (65544) b'X11: Failed to open display unix:1' host의 XServer를 볼륨 형태로 컨테이너로 공유해야하며, DISPLAY 환경 변수도 전달해주면 된다. 아래와 같이 docker container 를 생성할 때 아래와 같은 명령어를 같이 써줘서 만들어주면 된다. --volume /tmp/.X11-unix:/tmp/.X11-unix:ro -e DISPLAY=unix$DISPLAY 참고자료 : https://conservative-vector.tistory.com/entry/docker에서-컨테이너-gui-실행하기 docker..
2022.08.11
no image
[Book Review] 레트로의 유니티 게임 프로그래밍 에센스
한빛미디어에서 레트로의 유니티 게임 프로그래밍 에센스라는 책의 개정판이 출간되었다. 참고로 레트로는 유명한 게임 개발자이시다. 이 책은 일단 2권으로 이루어져있으며 1권은 1부에서 5부까지, 2권은 6부에서 7부까지로 이루어져있다. 책이 꽤 두꺼운 편인데, 책이 쪼개질 수 있게 만들어져서 좋다. 이전 판과 달라진 점은 유니티 2021에 맞춰 내용이 갱신되었다는 점, 스크립터블 에셋에 관한 내용을 추가했다는 점, 어드레서블 시스템을 별도의 부록으로 다룬다는 점이 다르다. 특히 이 책은 유니티 입문서로 많이들 사용한다고 한다. 책에서도 "단기간에 실무 능력을 갖추게 도와줍니다"라고 써있다. 책에서는 입문자와 비전공자를 배려한 진행순서를 고려하고 있으며, 어려운 개념은 비유와 예시로, 복잡한 서술은 그림으로..
2022.07.24
한빛미디어 상반기 최우수 리뷰어 선정
한빛미디어에서 감사하게도 상반기 최우수 리뷰어로 선정해주셨다. 리뷰 더 정성스럽게 써야겠다 ✌🏻🙇🏻‍♀️
2022.07.24
no image
[Paper Review] YOLOv7, Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors
Paper : https://arxiv.org/pdf/2207.02696.pdf GitHub : https://github.com/WongKinYiu/yolov7 GitHub - WongKinYiu/yolov7: Implementation of paper - YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time Implementation of paper - YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors - GitHub - WongKinYiu/yolov7: Implementation of paper - YOLOv7..
2022.07.18
no image
[Paper Review] FasterPose, A Faster Simple Baseline for Human Pose Estimation
Paper : https://arxiv.org/abs/2107.03215 FasterPose: A Faster Simple Baseline for Human Pose Estimation The performance of human pose estimation depends on the spatial accuracy of keypoint localization. Most existing methods pursue the spatial accuracy through learning the high-resolution (HR) representation from input images. By the experimental analysis, w arxiv.org 2021년 7월에 아카이브에서 공개된 Faster..
2022.07.18
no image
[Paper Review] CPN, Cascaded Pyramid Network for Multi-Person Pose Estimation
오늘은 Pose Estimation 분야에서 CPN으로 유명한 Casecaded Pyramid Network 논문을 빠르게 훑어보도록 하겠습니다. 이 논문에서는 여러가지 복합적인 요인(Occlusion, Background, ...)에 의하여 검출하기 어려운 키포인트들을 잘 검출하기 위해 CPN이라는 구조를 제안했습니다. 크게 아래 그림과 같이 GlobalNet과 RefineNet으로 구성되어있습니다. 이름에서도 알 수 있듯이 GlobalNet에서는 feature pyramid network 기반으로 global feature를 추출하여 localization하는 방식이며, RefineNet은 GlobalNet에서 localization 하지 못한 hard keypoint를 hard keypoint mi..
2022.07.18
no image
[3D Reconstruction] CS231A, Computer Vision, From 3D Reconstruction to Recognition
CS231A: Computer Vision, From 3D Reconstruction to Recognition https://web.stanford.edu/class/cs231a/ CS231A: Computer Vision, From 3D Reconstruction to Recognition Can I audit or sit in? In general we are very open to sitting-in guests if you are a member of the Stanford community (registered student, staff, and/or faculty). Out of courtesy, we would appreciate that you first email us or talk t..
2022.07.16