[Qt] setPixmap 화면 업데이트 안되는 문제
리눅스 환경에서 OpenCV + Qt 를 이용하여 GUI 화면에 동영상을 출력하는 예제 작성 중 preview 라는 라벨에 프레임이 지속적으로 뿌려지지 않고, 마지막 프레임만 뿌려지는 문제 발생 시 즉, 화면이 지속적으로 업데이트 안될 때 (Pixmap 업데이트 충돌시) 코드 추가 QApplication::processEvents(); img = QImage((const unsigned char*)(cvMat.data), cvMat.cols,cvMat.rows, QImage::Format_Indexed8); if (!img.isNull()){ ui->preview->setAlignment(Qt::AlignCenter); ui->preview->setPixmap(QPixmap::fromImage(img)...
2018.07.12
no image
[Pose Estimation] OpenPose, DensePose, Total Capture, SMPL
OpenPose 지난 2017년 발표되었던 CMU의 OpenPose 라이브러리에 이어, 깊이 정보까지 알 수 있는 DensePose 가 발표되었다. 인간 행위 인식, 인간 자세 추정과 같은 분야에 있어서 가장 최신 기술 동향이라고 할 수 있다. 인간의 관절부위인 Keypoint Detection 하는 문제부터 시작해서 그 point 들을 어떻게 연결할 것인지, 어떻게 관절 부위(joint or landmark)들을 산출할 것인지 문제를 푸는 것이 중요하다. OpenPose 는 Caffe, OpenCV 기반으로 이루어져 있고, 사람의 얼굴, 신체부위, 손가락을 추정한다. OpenPose 프로젝트 홈페이지 : https://github.com/CMU-Perceptual-Computing-Lab/openpos..
2018.02.28
no image
수학기호 정리
2018.02.23
[Machine Vision] 머신비전이란
머신 비전 (Machine Vision) 이란? 기계에 인간이 가지고 있는 시각과 판단 기능을 부여 한 것으로 사람이 인지하고 판단하는 기능을 하드웨어와 소프트웨어의 시스템이 대신 처리하는 기술이다. 머신비전은 카메라, 영상보드, 광학기기, 영상처리 소프트웨어 등을 이용하여 수행하며, 산업 분야에서의 머신 비전 기술을 이용한 적용 예시는 다음과 같다. 제품의 표면 마무리 검사 물리적 결함 검출 컨베이어의 물체 수 파악 섬유 제품의 검사 색상 검사 인쇄회로기판(PCD) 검사 포토마스크 반도체 제조 결함 여/부 확인 로봇 유도 크기 및 모양 확인 부품 누락 여부 검사 올바른 장착 배치 현미경으로 볼 정도로 미세한 부품의 완성도 확인 일련번호 판독 머신비전은 각종 산업 분야가 "자동화"로 전환되면서 반도체 업..
2018.02.11
no image
[책] 텐서플로우로 배우는 <강화학습 첫걸음>
먼저 강화학습 첫걸음 책 소개에 앞서, 중요한 머신러닝 개념부터 알아보도록 하자. 1. 머신러닝(Machine Learning) 머신러닝(Machine Learning)은 데이터를 이용하여 컴퓨터를 학습 시키는 방법론이다. 이러한 머신러닝 알고리즘은 크게 세 가지로 분류 할 수 있다. 지도학습 (Supervised Learning)지도학습은 데이터에 대한 정보 즉, 레이블(Label)이 주어진 상태에서 컴퓨터를 학습시키는 방식이다. 가장 유명한 예제는 MNIST 데이터 셋을 이용한 손글씨 숫자 분류 문제이다. 0부터 9까지 손글씨로 쓰여진 데이터 세트를 학습하여 레이블이 지정되지 않은 어떤 테스트 데이터를 주었을 때 그 숫자가 어떤 것인지 판별하고 예측하는 문제이다. 비지도학습 (Unsupervised ..
2018.02.08
no image
[선형대수학] PCA & PPCA
논문 읽다가 PPCA Model 이라는 개념이 나와 정리해보고자 한다. 간단히 말하자면 PPCA는 Probablistic PCA(Principal Component Analysis) 이다. 영문에서도 알 수 있듯이 확률적으로 주성분 분석을 하겠다는 것이다. PPCA 를 위해 PCA 개념부터 차근차근 설명해보도록 한다. 1. 데이터 분석에서 차원 감소(Dimensionality Reduction)가 필요한 이유 데이터 분석과 관련된 학문에서는 차원의 저주 라는 문제가 있다. 차원의 저주는 관측한 데이터의 벡터 공간 차원이 엄청나게 크지만, 실제로 필요한 True Data는 작은 차원의 공간으로 표현해도 충분한 경우에 사용되는 용어이다. 차원의 저주는 데이터 과학에서는 차원이 증가함에 따라 차원 내의 부피도..
2018.02.06
[선형대수학] argmin, argmax
논문을 보다보면 아래와 같은 argmin, argmax 함수들이 나오는데 이 함수들의 의미는함수 f(x)를 최솟값으로 만들기 위한 x 값을 구한다 또는 함수 f(x)를 최댓값으로 만들기 위한 x 값을 구한다 라고 할 수 있다. 함수 f(x)가 무엇이냐에 따라 x 값이 달라지게 되며, 만족하는 값이 여러 개 일 수도 있다. 예를 들어 함수가 cosx 함수라면 이를 만족시키는 값은 pi, 3pi, 5pi, ... 이며이를 만족시키는 최솟값은 -1 이고, 최댓값은 1이다. 또한 argmin 값은 pi, 3pi, 5pi, ... 가 되며argmax 값은 0, 2pi, 4pi, ... 이다.
2018.01.23
[선형대수학] Frobenius norm
놈(노름) 이라고 읽는 Norm은 함수 f가 임의의 벡터 x, y 에 대해 아래와 같은 조건을 만족할 때 이 함수 f = ||x|| 를 놈 이라고 한다. 쉽게 말해서 벡터나 행렬의 크기를 일반화 시킨것이다. 일반적으로 부르게 되는 Norm은 L2-Norm 이고, 절대값 |.| 의 합이 L1-Norm 이다. 예를 들어, 벡터 x가 [1, -10, 2] 라고 하면, N1-Norm 은 |1| + |-10| + |2| = 13 이 된다. L2-Norm은 원점과의 거리를 말하고, 제곱값의 합에 루트를 취해 계산한다. 예를 들어, 아래와 같이 계산된다. 그러므로 Frobenius Norm (Euclidean Norm) 은 대표적으로 L2-Norm 의 형태는 다음과 같다. 서로 다른 노름 공간에서 정의된 단위원.임의..
2018.01.23
no image
[Pose Estimation] 3D Deformation Model
Human Pose Estimation 분야에서 핫한 Convolutional Pose Machines 을 이용해서 연구중인데, 내가 시도하려고 했던, 아니 향후 시도할 예정이었던 내용의 연구가 이미 발표되었다. (따끈 따끈한 1월 5일에!) 대단하기도 하고 허탈하기도하고 신기하기도 하다. 심지어 참고문헌에 내가 봤었던 논문들이 쫙 있어서 너무 놀랬다... 내가 생각한건 기존에 존재하는 3D Shape 모델인 SMPL 모델을 가지고 Deformal한 모델을 생성하거나 매칭하는 것이었는데 이렇게 좋은 연구가 나와주었다. 나도 이 모델을 가지고 연구를 하려다가 권한문제로 필요한 파일을 못받게 되는 문제 때문에 아직 나아가지 못했다가 일단 3D pose estimation 먼저 하고 다되면 ... 하려고 했던..
2018.01.22
no image
[Tensorflow] Tensorflow GPU 버전 설치하기
3일의 삽질이 끝났다... 나중에 참고하려고 써보는 포스팅이다. 버전이 참 중요하다고 새삼느꼈다. 수많은 버전 충돌로 인한 에러를 충분히 겪고 쓰는 포스팅이 많은 사람들에게 도움이 되길 바라며... 설치 환경 - Windows 10 / 64 bits - Anoconda 4.3 - Visual Studio 2015 새로 설치한 환경 - CUDA 8.0 - cuDNN 6- Tensorflow 1.4 설치 순서는 아래와 같다.아나콘다 - 비주얼 스튜디오(필요시) - CUDA - CuDNN - Tensorflow * 참고로 Tensorflow 1.5 버전은 CUDA 9.0 이 필요하고,* Tensorflow 1.3 버전 부터는 cuDNN 6 버전이 필요하다. * Tensorflow 1.5 버전이 릴리즈 되었다고..
2018.01.11
[Pose Estimation] Lifting from the Deep: Convolutional 3D Pose Estimation from a Single Image, CVPR 2017
컨볼루션 네트워크를 이용한 3차원 인간 자세 추정 (텐서플로우를 이용한 구현) 자료이다. Convolutional Pose Machine을 이용하여 3차원 좌표상에 인간의 자세를 추정하는 과정이다.소스코드는 깃에 공개되어있다. 깃 : https://github.com/DenisTome/Lifting-from-the-Deep-release프로젝트 페이지 : http://www0.cs.ucl.ac.uk/staff/D.Tome/papers/LiftingFromTheDeep.html Abstract We propose a unified formulation for the problem of 3D human pose estimation from a single raw RGB image that reasons jo..
2017.11.27
[참고자료] Bone age detection 대회
참고자료 : http://www.16bit.ai/blog/ml-and-future-of-radiology There is a lot of hype around machine learning these days. Indeed, “machine learning” and “deep learning” are at the top of the Gartner Hype Cycle for Emerging Technologies in 2017. 1Kevin Kelly from Wired magazine went as far as to say “The business plans of the next 10,000 startups are easy to forecast: take X and add AI” . While this ..
2017.11.27