반응형 Programming/Computer Vision14 [OpenCV] Landmark를 이용한 Face Mapping 수행 Unity와 같은 게임 엔진이나 OpenGL과 같은 Graphics Library를 이용하지 않고, 어떠한 2D Image를 Camera Image에 Mapping 시키는 방법에 대해 다뤄보고자 합니다. 요즘 정말 흔하게 얼굴 이미지에 어떠한 이미지(Filter 등)를 덮어 씌워 웃긴 모습을 만들거나 하는 등의 작업을 많이 수행하고는 합니다. 이러한 작업은 보통, Face Landmark를 Detection 하여 해당 Position Data를 이용해 구현합니다. 이때, Face Landmark를 Detection 하고 해당 Data를 이용해 어떠한 연출을 부과할 때는 그래픽 관련 라이브러리나 Tool을 사용하곤 합니다. 그러나 이번 포스트에서는 순수 OpenCV만을 이용해 Image를 Mapping 해.. 2023. 2. 16. [Pose Estimation] 2D/3D Pose Estimation에 관한 내용 Computer Vision과 관련된 AI, Deep Learning 분야에서 거의 필수적으로 다루는 주제가 있습니다. 바로 Pose Estimation인데요. 이번 포스트에서는 이 Pose Estimation에 관한 내용을 다루고자 합니다. Pose Estimation이란 무엇일까요? 사전적 정의로는 Computer Vision의 한 분야로 Object의 Position과 Orientation을 Detection하고자 하는 분야를 의미합니다. 좀 더 예시적으로 말한다면 위의 이미지와 같이 이미지 속에 위치한 사람의 Skeleton을 추정하는 것을 의미합니다. 보통 2D와 3D Pose Estimation으로 나누어 지는데, 2D는 결과값으로 각 신체부위의 X, Y 좌표를 반환하고, 3D는 결과 값으로 .. 2023. 2. 15. [DeepFake] Deep Nostalgia에 관한 내용 이번 포스트는 딥 노스텔지아라고 알려진, Deep Fake의 일종인 프로젝트에 대해 알아보고자 합니다. 딥 노스텔지아는 무엇인지, 어떤 구조를 가지고 있는지에 대해 정리해 보도록 하겠습니다. Deep Nostalgia라는 것이 널리 알려지게 된 계기는, MyHeritage사에서 정지된 이미지를 움직이는 이미지로 변환하는 서비스를 출시한 시점이라고 생각됩니다. 우선, 해당 서비스를 이용할 수 있는 링크는 다음과 같습니다. MyHeritage Deep Nostalgia™, deep learning technology to animate the faces in still family photos - MyHeritage www.myheritage.co.kr 회원가입을 진행하면 몇 가지 서비스를 제한된 범위 내에.. 2023. 2. 14. [OpenCV] 특정 영역 지정 후 해당 영역에서 이미지 비교 이번 포스트에서는 이미지 비교를 수행해보고자 합니다. 특정 영역을 추출한 후, 해당 영역과 어떠한 기준이 되는 이미지를 비교해 볼 예정입니다. 예전 포스트에 두개의 이미지를 비교하는 부분을 다룬 적이 있습니다. 해당 포스트는 다음과 같습니다. [Image Comparison] 두 이미지의 일치율 비교 두 개의 이미지를 비교하는 방법에 대해 다루고자 합니다. Deep Learning 방식은 아니고 전통적인 방식을 통해 수행해볼 것입니다. 두 가지 방법을 통해 이미지를 비교해볼 것입니다. 첫 번째 방법 mj-thump-thump-story.tistory.com 아무튼 위 포스트에서는 무작정 Input 된 2개의 이미지를 비교하는 방식이었습니다. 그러나 이번 포스트에서는 비교를 위한 특정 영역을 선택하고 해당.. 2023. 2. 2. [OCR] [Tesseract - 4] Tesseract로 OCR 수행 후 특정 Text 추출 이전 포스트에서는 Contour를 통해 OCR하고자 하는 영역을 Crop 하고 OCR을 수행하도록 하였고 그런대로 좋은 결과를 얻을 수 있었습니다. 그러나 Image를 Text로 바꾸기만 하였을 뿐 Text Data를 딱히 이용하지는 못했습니다. 이번 포스트에서는 이러한 기능을 구현해 보고자 합니다. 우선, 이전 포스트 내용은 다음 링크를 참고해주세요. [OCR] [Tesseract - 3] Image Processing 진행 후 Tesseract로 OCR 수행 이전 포스트에서 Tesseract를 이용하여 OCR을 수행했습니다. 깨끗한 이미지에서는 OCR이 제대로 수행되었지만 실생활에서 사용되는 이미지들에서는 OCR이 제대로 수행되지 않았습니다. 이번 포스트 mj-thump-thump-story.tist.. 2023. 1. 18. [OCR] [Tesseract - 3] Image Processing 진행 후 Tesseract로 OCR 수행 이전 포스트에서 Tesseract를 이용하여 OCR을 수행했습니다. 깨끗한 이미지에서는 OCR이 제대로 수행되었지만 실생활에서 사용되는 이미지들에서는 OCR이 제대로 수행되지 않았습니다. 이번 포스트에서는 전처리 과정을 수행하여 OCR이 제대로 수행될 수 있도록 해볼 예정입니다. 우선, Tesseract를 통해 간단이 이미지를 OCR 해보았던 이전 포스트는 다음과 같습니다. [OCR] [Tesseract - 2] Python 환경에서 Tesseract 예제 수행 앞서 OCR 수행을 위한 Tesseract 설치를 수행했습니다. 이번 포스트에서는 실제로 Tesseract를 이용해서 OCR를 수행해 볼 것입니다. 우선, Tesseract가 준비되어 있지 않다면, Tesseract 실행을 위한 환경 조 mj-t.. 2023. 1. 17. [OCR] [Tesseract - 2] Python 환경에서 Tesseract 예제 수행 앞서 OCR 수행을 위한 Tesseract 설치를 수행했습니다. 이번 포스트에서는 실제로 Tesseract를 이용해서 OCR를 수행해 볼 것입니다. 우선, Tesseract가 준비되어 있지 않다면, Tesseract 실행을 위한 환경 조성 및 설치 방법에 대해 설명된 포스트를 참고해 주세요. Tesseract 설치 방법 [OCR] Tesseract Windows 환경에 셋업 OCR과 관련된 주제를 다뤄보고자 합니다. OCR을 수행하기 위해 Tesseract라는 것을 이용해 볼 것이며, 이에 대한 내용은 시리즈로 작성될 예정입니다. 우선, Tesseract라는 것은 무엇인지에 대해서 설명 mj-thump-thump-story.tistory.com 이제, 본격적인 Test를 진행해 봅시다. 다음과 같은 이미.. 2023. 1. 12. [OCR] [Tesseract - 1] Tesseract Windows 환경에 셋업 OCR과 관련된 주제를 다뤄보고자 합니다. OCR을 수행하기 위해 Tesseract라는 것을 이용해 볼 것이며, 이에 대한 내용은 시리즈로 작성될 예정입니다. 우선, Tesseract라는 것은 무엇인지에 대해서 설명하도록 하겠습니다. Tesseract(테서랙트)는 광학 문자 인식 엔진입니다. 이 소프트웨어는 1995년 문자 정확도 측면에서 3대 OCR 엔진에 속했으며 때문에 OCR과 관련된 정보를 검색하다 보면 쉽게 찾을 수 있습니다. 다양한 운영체제를 지원하기에 Linux, Mac OS X, Windows에서 사용할 수 있습니다. 또한 다양한 언어(= 100개 이상)를 제공합니다. 다만, GPU를 지원하지 않기 때문에 속도가 좀 느린 편입니다. 이 글을 작성하는 일자를 기준으로 Major가 되는 버전은.. 2023. 1. 12. [SLAM] EuRoC를 이용한 ORB-SLAM3 테스트 이전 포스트에서 ORB-SLAM에 대해 정리해 보았습니다. 이번 포스트에서는 이러한 ORB-SLAM을 EuRoC Dataset을 이용하여 테스트해보고자 합니다. 우선, ORB-SLAM에 대한 이전 포스트는 다음과 같습니다. [SLAM] ORB SLAM과 SLAM Dataset에 관한 정리 요번 포스트는 SLAM과 관련된 내용을 다루고자 합니다. SLAM과 관련된 많은 Open Project들이 있는데 이 중에서 ORB SLAM에 대해 정리할 예정입니다. (SLAM과 관련된 내용은 시리즈로 작성될 예정입니다.) mj-thump-thump-story.tistory.com 테스트 환경은 Windows 환경, Visual Studio 2017입니다. ORB-SLAM3을 이용할 예정이며, Project Pakag.. 2023. 1. 11. [SLAM] ORB SLAM과 SLAM Dataset에 관한 정리 요번 포스트는 SLAM과 관련된 내용을 다루고자 합니다. SLAM과 관련된 많은 Open Project들이 있는데 이 중에서 ORB SLAM에 대해 정리할 예정입니다. (SLAM과 관련된 내용은 시리즈로 작성될 예정입니다.) 우선, ORB-SLAM3은 Pin-Hole 또는 Fisheye 렌즈를 포함한 monocular, stereo, RGB-D Camera를 이용해 Visual, Visual-Inertial과 Multi-Map SLAM 기능을 구현한 첫 번째 Real-Time SLAM Library입니다. 때문에 SLAM과 관련된 프로젝트들을 찾아보면 내용도 비교적 많고 쉽게 찾아볼 수 있습니다. ORB SLAM은 버전별로 있는데, 현재 시점(= 2023년 초)에서는 Version 3까지 공개되어 있습니.. 2023. 1. 11. [GAN] EveryBodyDanceNow에 대한 정보 및 수행 이번 포스트에서는 Everybody Dance Now라는 프로젝트 명으로 소개된 논문을 다뤄보고자 합니다. OpenPose를 통해 Pose를 추정하고 GAN을 기반으로 하여 추정된 Pose를 수행하는 어떠한 Image들을 생성해내는 논문이 2019년도에 소개되었습니다. 해당 논문을 처음 보게 된 것은 2022년도였는데, 지금 포스팅을 하게 되었네요. 아무튼 논문에 대해 간단히 알아보고 실제 수행해보도록 하겠습니다. 다룰 논문(프로젝트) 링크는 다음과 같습니다. URL : https://carolineec.github.io/everybody_dance_now/ Everybody Dance Now Everybody Dance Now This paper presents a simple method for "d.. 2023. 1. 9. [Image Comparison] 두 이미지의 일치율 비교 두 개의 이미지를 비교하는 방법에 대해 다루고자 합니다. Deep Learning 방식은 아니고 전통적인 방식을 통해 수행해볼 것입니다. 두 가지 방법을 통해 이미지를 비교해볼 것입니다. 첫 번째 방법은 Histogram 방식, 두 번째 방식은 Subtraction 방식입니다. 흔히 인간이 비교하듯이 완벽하게 두 이미지의 일치율을 판단하는 방식은 아니지만 제한적인 상황에서의 비교를 수행할 때는 꽤 유용한 방식들입니다. 각각의 방식에 대한 내용은 다음과 같습니다. Histogram Image Histogram은 Image에서 밝은 Pixel과 어두운 Pixel의 수가 어느정도 분포하고 있는지를 나타낸 그래프입니다. 여기서는 Image의 HLS를 분리하여 해당 값을 기준으로 Histogram을 생성하고 생성.. 2023. 1. 6. [ZED2] ZED2 카메라를 Unity에서 사용하는 방법 이번 포스트에서는 ZED2 카메라를 Unity에서 사용하는 방법에 대해 다뤄보고자 합니다. ZED2 Camera는 Stereo Vision, Depth 추정, Object Detection, Motion Estimation, VR 등 여러 Computer Vision 관련 프로젝트에서 사용할 수 있는 카메라입니다. 다음 사이트에서 제품을 구매할 수 있습니다. ZED 2 - AI Stereo Camera The ZED 2 is a next-generation stereo camera that combines advanced depth sensing with AI, letting you build cutting-edge spatial intelligence applications. www.stereolabs.. 2023. 1. 5. [DeepFake] DeepFake 기술과 간단한 예제 수행 요즘 심심치 않게 등장하는 기술이 하나 있습니다. 이는 바로 DeepFake라는 것입니다. 이 기술이 사회에 기여하는 순기능도 있지만 악용되는 사례도 많이 발생되고 있습니다. 특히 Deep Fake를 Google에 검색하면 검색 제한이 뜨기도 하니까 말이죠... 요번 포스트에서는 Deep Fake 기술에 대해 알아보고 이를 활용하기 위해, 이에 대해 간략하게 알아보고 정리해보도록 하겠습니다. 우선, DeepFake란 무엇일까요? DeepFake는 Deep Learning과 Fake의 혼성어로, 인공지능을 기반으로 한 인간 이미지 합성 기술을 의미합니다. GAN을 이용해 기존의 이미지나 영상을 원본이 되는 Image나 영상에 겹쳐서 만들어내는 기술이지요. 이는 영화나 방송계 등에서 이미 사망하거나 나이가 .. 2023. 1. 5. 이전 1 다음 반응형