MapleStory Finger Point

전체 글 62

이미지 깊이 분석 및 Point cloud 추출 (Image2pcd)

앞서 Depth Estimation 비교 분석을 진행하여 Depth-Anything-V2가 가장 실제와 유사한 결과를 도출하였기 때문에 해당 프로세스로 진행!! Depth만 추출하는 것에 끝내지 않고 해당 데이터를 기반으로 Point Cloud Data까지 생성할 수 있도록 추가하여 작성해 보았음. GitHub - Oh-JongJin/Image2PCD: Single image to Point Cloud Data converter using Depth EstimationSingle image to Point Cloud Data converter using Depth Estimation - Oh-JongJin/Image2PCDgithub.com위 레포지토리의 run.py를 실행하면 되는데, 먼저 Depth-..

[SAM to OBB] Generate Point coord Tool

https://jjoh4803.tistory.com/68 [SAM to OBB] Generate Point coord Toolhttps://jjoh4803.tistory.com/64 SAM2 (Segment Anything Model 2)에서 포인트를 이용한 세그멘테이션https://jjoh4803.tistory.com/62 SAM (OBB) 객체 추출항공 뷰 이미지 차량 객체 추출 방법론1. 배경 및 목적항공 이미지jjoh4803.tistory.com지난번 어노테이션 툴 코드가 보기에 너무 불편해서 Github로 다시 작성.  https://github.com/Oh-JongJin/OBBE/blob/master/generate_points.py OBBE/generate_points.py at master..

Development/SAM 2024.11.11

[SAM to OBB] Generate Point coord Tool

https://jjoh4803.tistory.com/64 SAM2 (Segment Anything Model 2)에서 포인트를 이용한 세그멘테이션https://jjoh4803.tistory.com/62 SAM (OBB) 객체 추출항공 뷰 이미지 차량 객체 추출 방법론1. 배경 및 목적항공 이미지에서 특정 객체(이 경우 차량)를 정확하게 식별하고 추출하는 것은 도시 계획, 교통jjoh4803.tistory.comSAM2의 SAM2ImagePredictor에서 Point 좌표 생성을 위한 이미지 어노테이션(annotation) 도구. 1. 이미지 열람 및 탐색- A/D 키로 이전/다음 이미지로 이동- 폴더 내의 이미지들을 순차적으로 탐색 가능2. 어노테이션 기능- 마우스 클릭으로 점 찍기 - 점들을 연결하여..

Development/SAM 2024.11.10

Depth Estimation 실행 결과 비교

같은 이미지를 기준으로 3개의 Depth Estimation 도출을 진행. 1. SegmentAnyRGBDhttps://github.com/Jun-CEN/SegmentAnyRGBD GitHub - Jun-CEN/SegmentAnyRGBD: Segment Any RGBDSegment Any RGBD. Contribute to Jun-CEN/SegmentAnyRGBD development by creating an account on GitHub.github.com 2. Depth-Anythinghttps://github.com/LiheYoung/Depth-Anything GitHub - LiheYoung/Depth-Anything: [CVPR 2024] Depth Anything: Unleashing th..

SegmentAnyRGBD

SegmentAnyRGBD 코드 분석https://github.com/Jun-CEN/SegmentAnyRGBD GitHub - Jun-CEN/SegmentAnyRGBD: Segment Any RGBDSegment Any RGBD. Contribute to Jun-CEN/SegmentAnyRGBD development by creating an account on GitHub.github.com 개요SegmentAnyRGBD는 RGB 이미지에서 객체 분할(segmentation)과 깊이 추정(depth estimation)을 동시에 수행.SAM2(Segment Anything Model 2)와 MiDaS(Depth estimation model)를 결합하여 사용합니다.주요 컴포넌트1. 초기화SAM2 모델 ..

Development/SAM 2024.11.08

Oriented Bounding Boxes Label Editor

https://github.com/Oh-JongJin/OBBE GitHub - Oh-JongJin/OBBE: Oriented Bounding Boxes EditorOriented Bounding Boxes Editor. Contribute to Oh-JongJin/OBBE development by creating an account on GitHub.github.comOBB 데이터셋 레이블 수정 가능한 툴 작성 완료OBB 데이터셋 포맷은 class_index x1 y1 x2 y2 x3 y3 x4 y4 의 형태로 이루어져 있음.위 Github 링크의 OBBE/main.py에서 if __name__ == '__main__':    try:        label_dir = "labels/DOTA-v1.5_..

Development/SAM 2024.11.08

SAM2 (Segment Anything Model 2)에서 포인트를 이용한 세그멘테이션

https://jjoh4803.tistory.com/62 SAM (OBB) 객체 추출항공 뷰 이미지 차량 객체 추출 방법론1. 배경 및 목적항공 이미지에서 특정 객체(이 경우 차량)를 정확하게 식별하고 추출하는 것은 도시 계획, 교통 관리, 주차 시설 최적화 등 다양한 응용 분jjoh4803.tistory.com지난 번 올린 글을 이어 작성하는 중..궁극적인 목표 - YOLO OBB 학습 라벨링 데이터를 만들 때, 4개 Point를 가진 Polygon 좌표 생성을 직접 만들기엔 귀찮아서 SAM을 통해 생성. SAM2 (Segment Anything Model 2)에서 포인트를 이용한 세그멘테이션의 원리1. 프롬프트 인코더- 사용자가 이미지에서 객체의 특징적인 두 점을 선택 (포인트 뿐만 아니라 Box, ..

Development/SAM 2024.11.04

Progress 상태 시각화 라이브러리 만들기 [1]

반복 프로세스를 위한 간단한 시각적 피드백을 제공하는 미니멀한 진행 스피너로, 일반 모드와 심플 모드, 확대 모드를 지원하는 라이브러리를 만들어 보았다.이 라이브러리의 이름은 rennips라고 지었는데, 스피너의 영어 스펠링을 뒤집어보니 그럴듯한 이름이 만들어져서 그냥 지었다.이미 현재 0.2.0 버전까지 업데이트하였으며 PyPI에서 rennips 라이브러리를 설치할 수 있다.pip install rennips 라이브러리 설치 후 rennips를 사용하는 예제 코드: import timeimport argparsefrom rennips import rennipsparser = argparse.ArgumentParser(description="rennips 모드 선택기")mode_group = parser..

SAM (OBB) 객체 추출

항공 뷰 이미지 차량 객체 추출 방법론1. 배경 및 목적항공 이미지에서 특정 객체(이 경우 차량)를 정확하게 식별하고 추출하는 것은 도시 계획, 교통 관리, 주차 시설 최적화 등 다양한 응용 분야에서 중요한 과제이며, SAM(Segment Anything Model)과 YOLO OBB(Oriented Bounding Boxes)를 결합한 접근 방식을 제안.2. 방법론SAM을 사용한 이미지 세분화YOLO OBB를 사용한 차량 객체 식별두 모델의 결과를 결합한 정확한 차량 마스킹2.1 SAM을 이용한 이미지 세분화SAM은 이미지 내의 모든 객체를 세그멘테이션하는 데 탁월한 성능을 보이지만 각 세그멘트가 어떤 객체인지 식별하지 않음.SAM 장점:높은 정확도의 세그멘테이션 제공다양한 크기와 형태의 객체 처리 가..

Development/SAM 2024.10.19

[1] Curses 라이브러리 응용 프로그램

1-1. 소개Curses는 텍스트 기반 터미널에서 GUI와 유사한 인터페이스를 만들 수 있게 해주는 라이브러리1-2. 설치pip install windows-curses2. Curses 기본 개념Curses를 사용하기 위해서는 먼저 화면을 초기화하고 설정해야 함import cursesdef main(stdscr): ...curses.wrapper(main)curses.wrapper는 화면을 초기화하고, 프로그램이 종료될 때 터미널을 원래 상태로 복원.stdscr은 전체 화면을 나타내는 윈도우 객체Curses에서는 (y, x) 좌표 시스템을 사용하며, 왼쪽 상단 모서리가 (0, 0) 3. 응용 (github code) GitHub - Oh-JongJin/Curses-makerContribute to ..

[4] Keras h5 모델 저장 형식 변경

현재 음악 생성 모델의 확장자는 h5인데,h5는 HDF5의 줄임말으로, 영어로는 Hierarchical Data Format version 5 이다.h5 모델은 Keras 모델 저장 목적이며, 대용량의 복잡한 데이터를 저장하고 관리하기 위한 파일 형식.머신 러닝 모델 h5는 모델 구조(아키텍처), weight 값, loss 값 등이 저장되어 있기 때문에 계층적 구조라는 특징을 가지고 있으며, 메타 데이터를 지원하여 데이터에 대한 설명이나 추가 정보를 저장할 수 있다.h5 모델 학습 중에 아래와 같은 경고 메시지를 보게 되었다.WARNING:absl:You are saving your model as an HDF5 file via `model.save()` or `keras.saving.save_model..

[3] 악보 생성 성공 및 해결 사항

악보 추출에 성공했었다.쇼팽의 음악들로 학습하여 생성하였는데, 생각보다 기대에 못 미친 결과를 출력하였다.먼저 모든 음표가 4분 음표로 생성되었고, 멜로디가 반복되며, 높은음자리표 음표(오른손)만 생성되었음을 확인할 수 있다.이를 해결하기 위해 더 다양한 학습 MIDI 데이터들로부터 장조, 단조 별로 따로 학습을 진행해 보는 작업도 필요할 것 같다는 생각이 든다. + 추가로 학습 MIDI 파일에서 빠르기표가 음표 하나하나 적용된 파일들이 있었는데,MIDI 악보는 일반 악보와는 다르게 각 음표를 개별적인 이벤트로 취급한다.또한 템포를 매우 세밀하게 조절할 수 있어, 변환하는 과정에서 이런 식으로 표현된 것이기 때문!!이게 문제가 되는지는 더 파악해봐야 할 듯 하다.     이번 주의 노래

[2] 악보 생성 구조 및 실행 방법

기존 생성형 AI를 이용하여 악보 생성 프로젝트에 진척 사항이 별로 없기 때문에 우선적으로 LSTM를 이용한 악보 생성 프로젝트를 구상해 보았음. 음악 데이터 준비:MIDI 파일로 된 클래식 음악 로드 -> load_midi_files이 음악 파일들에서 음표 정보 추출 -> extract_notes데이터 가공:추출한 음표들을 컴퓨터가 이해할 수 있는 숫자 형태로 변환음악의 패턴을 학습하기 위해 음표들을 일정 길이의 시퀀스로 나눔└─ preprocess_data인공지능 모델 작성:LSTM 신경망을 사용해 모델 작성이 모델은 음악의 패턴을 학습하는 데 특화└─ create_model: LSTM(Long Short-Term Memory), 장단기 메모리긴 시퀀스의 데이터에서 장기적인 패턴을 기억하고 활용 가능..

[1] 뇌세포 들썩들썩! 스터디의 맛에 빠지다

제목 제가 생각해서 적은 거 아니구요제목과 관련된 썸네일 이미지를 만들기 위해 프롬프트 메시지를 만들어 보겠습니다.무료 크레딧을 제공하는 Stable Diffusion Online에서 바로 뽑아볼게요.이렇게 Draw를 진행하니 뇌세포가 들썩들썩하는 이미지가 생성되었답니다.  지금 위에 나열한 작업들을 모두 진행하는데 5분도 채 걸리지 않았습니다.이렇게 생성형 AI은 우리가 생각했던 걸 바로바로 만들어 줄 수 있습니다.제가 이런 글을 왜 쓰느냐면 생애 첫 스터디(Study) 그룹(Group)에 들었습니다.처음이라 어떻게 해야 할지 몰랐지만, 다들 편한 분위기를 만들어 주시고 잘 알려주셔서 많은 도움이 되었습니다.어쨌든 저는 위에서 말한 생성형 AI를 하나 만들어 볼까 합니다.지금은 잠시 쉬고 있지만 첼로를..

[2] WSL ROS Humble에서 Livox 라이다 실행하기

ROS Humble Livox lidar launchWSL에 Ubuntu 22.04 설치관리자 모드 PowerShell으로 구문 실행 > wsl --install -d Ubuntu-22.04... [User name, password 입력]user@[CURRENT_ENV]:~$ ​ 만약 0xc004000d 에러가 발생한다면, ​ Windows 기능 켜기/ 끄기 - Linux용 Windows 하위 시스템 ☑, 가상 머신 플랫폼 ☑ - 재부팅 후 실행Hyper-V 활성화WSL이 실행될 때마다 동적으로 IP가 할당되기 때문에 매번 WSL의 IP 주소가 변경됨.따라서 가상화 플랫폼에서 호스트와 게스트 간의 네트워크 통신을 관리하는 데 사용되는 Hyper-V의 가상 스위치 기능을 사용하여 WSL의 네트..

Development/ROS 2024.05.09