안경잡이개발자

728x90
반응형

  간단한 강아지/고양이 분류 데이터셋을 소개한다. 캐글(Kaggle)에 업로드된 데이터셋이며, 강아지와 고양이 사진이 한가득 존재한다. 이진 분류(binary classification) 작업을 수행하기에 적합하다.

 

  학습 데이터와 테스트 데이터는 8:2로 적절하게 구분되어 있다.

 

  1. 학습 데이터: 강아지 4,000장 / 고양이 4,000장

  2. 테스트 데이터: 강아지 1,000장 / 고양이 1,000장

 

  데이터는 다음의 경로에서 다운로드할 수 있다.

 

  ▶ Cat and Dog 데이터셋: www.kaggle.com/tongpython/cat-and-dog

 

Cat and Dog

Cats and Dogs dataset to train a DL model

www.kaggle.com

 

  아래와 같이 [Download] 버튼을 눌러 다운로드하면 된다.

 

 

  예를 들어 학습 데이터셋의 고양이 이미지는 다음과 같이 다양한 해상도와 종류로 존재하는 것을 알 수 있다.

 

728x90
반응형

728x90
반응형

  세계적으로 매우 많은 얼굴 데이터셋이 존재합니다. 오늘은 그중에서 PubFig라는 이름을 가지고 있는 두 개의 데이터셋을 소개하고자 합니다. 바로 PubFig와 PubFig83인데요. 재미있게도 이 두 개의 데이터셋은 이름은 같지만 서로 다른 데이터셋입니다.

 

1. PubFig (Public Figures Face Database)

 

  PubFig 데이터셋은 200명에 대한 총 60,000개의 얼굴 이미지로 구성됩니다. 장면이나 포즈가 통제된(controlled) 상태가 아니고, 완전히 다양한 상황에서의 사진으로 구성되어 있습니다. 그런 측면에서 LFW (Labeled Faces in the Wild) 데이터셋과 유사합니다. 그래도 LFW에 비하면 사람당(클래스당) 이미지가 훨씬 많은 편입니다.

 

  PubFig 데이터셋은 콜롬비아 대학교에서 배포하였으며, 다음의 경로에서 확인 가능합니다.

 

  ▶ 공식 사이트: www.cs.columbia.edu/CAVE/databases/pubfig/

 

Pubfig: Public Figures Face Database

Introduction The PubFig database is a large, real-world face dataset consisting of 58,797 images of 200 people collected from the internet. Unlike most other existing face datasets, these images are taken in completely uncontrolled situations with non-coop

www.cs.columbia.edu

 

  이 데이터셋의 아쉬운 점은 URL 정보만 알려주고, 다운로드는 개발자가 직접하는 방식이라는 점입니다. 특히나 이미 시간이 오래 지나서 접근이 불가능한 이미지 경로가 많습니다. 다음과 같이 직접 URL에 접근해야 합니다.

 

 

2. PubFig83 (A resource for studying face recognition in personal photo collections)

 

  PubFig83 데이터셋은 83명에 대한 만 개가량의 이미지로 구성됩니다. 참고로 PugFig83 데이터셋에 등장하는 사람은 대체로 유명인(celebrity)입니다. 예를 들어 윌 스미스(Will Smith), 휴 잭맨(Hugh Jackman)과 같은 사람의 이미지가 들어 있습니다. 

 

  PubFig83 데이터셋은 하버드 대학교에서 배포하였으며, 다음의 경로에서 확인 가능합니다.

 

  ▶ 공식 사이트: vision.seas.harvard.edu/pubfig83/

 

PubFig83

PubFig83: A resource for studying face recognition in personal photo collections   This is a downloadable dataset of 8300 cropped facial images, made up of 100 images for each of 83 public figures. It was derived from the list of URLs compiled by Neeraj K

vision.seas.harvard.edu

 

  이미지 파일을 다운로드해서 열어 보니 100 x 100 크기로 잘라진(croppe) 이미지 파일 형태로 존재하네요.

 

728x90
반응형

728x90
반응형

  리눅스에서는 USB Gadget 목적으로 사용할 수 있는  usb_f_gser.ko 리눅스 커널 모듈을 제공한다. 이는 단순히 하나의 Bulk Transfer를 기반으로 하는 Interface를 생성할 수 있도록 해준다. 사실 일반적으로 Serial 통신을 사용다고 하면 CDC(Communication Device Class)를 이용하는데, 이러한 CDC는 ACM, OBEX 등 다양한 서브 클래스를 가진다. CDC는 시리얼 통신을 기반으로 동작하는데, 비단 Serial 뿐 아니라 Ethernet 등의 기능도 제공할 수 있도록 한다.

 

  하지만 만약에 그냥 Raw Bulk Transfer를 이용하는 인터페이스를 이용하고자 한다면 기본적인 Serial Function인 usb_f_gser.ko를 이용하면 된다. 예를 들어 자신이 직접 USB 장치를 만들고, 필요하다면 호스트 쪽 드라이버를 직접 작성하고자 한다면 이것이 좋은 선택이 될 수 있다.

 

※ USB Configuration 파일 생성 ※

 

  간단히 USB Configuration 파일을 생성해보자. 단순히 두 개의 Bulk Transfer를 정의한 상태이다. 필자는 /usr/bin/my_usb라는 경로에 해당 설정 파일을 만들었고, chmod 명령어로 실행 권한을 부여했다.

 

#!/bin/bash
cd /sys/kernel/config/usb_gadget/
mkdir -p my_usb
cd my_usb

# 기본적인 USB 클래스 명시
echo 0x1D6B > idVendor # Linux Foundation
echo 0x0104 > idProduct # Multifunction Composite Gadget
echo 0x0100 > bcdDevice # v1.0.0
echo 0x0200 > bcdUSB # USB 2.0

# 내가 만들 USB 장치의 기본적인 이름
mkdir -p strings/0x409
echo "0123456789abcdef" > strings/0x409/serialnumber
echo "Dongbin Na" > strings/0x409/manufacturer
echo "My USB" > strings/0x409/product

# 하나의 Configuration 정보 작성
mkdir -p configs/c.1/strings/0x409
echo "My USB Config 1" > configs/c.1/strings/0x409/configuration
echo 250 > configs/c.1/MaxPower

################# Bulk Transfer 1 #################
mkdir -p functions/gser.usb0
ln -s functions/gser.usb0 configs/c.1/

################# Bulk Transfer 2 #################
mkdir -p functions/gser.usb1
ln -s functions/gser.usb1 configs/c.1/

# UDC (Usb Device Controller)
ls /sys/class/udc > UDC

 

  이후에 해당 환경 파일을 실행하면, Rapsberry Pi Zero W가 2개의 Bulk Transfer 통신 기능을 가지는 기기로 동작한다. 다만 CDC ACM과 같이 이미 잘 알려진 클래스를 사용하는 것이 아니기 때문에 다음과 같이 "드라이버를 찾을 수 없다"는 메시지가 출력되는 것을 확인할 수 있다.

 

 

  물론 이처럼 드라이버를 찾을 수 없다고 출력이 되더라도 USB Descriptor는 정상적으로 전달이 되기 때문에, 호스트(Host) PC 입장에서는 해당 Bulk Transfer의 엔드포인트(endpoint)에 접근할 수 있다. 실제로 USB Descriptor를 확인할 수 있는 프로그램을 사용하여 정보를 출력하면 다음과 같이 나온다. 이때 윈도우(Windows)의 Thesycon USB Descriptor Dumper를 사용하거나, 우분투(Ubuntu)의 lsusb 명령어를 사용할 수 있다.

 

  확인 결과 2개의 인터페이스(Interface)가 존재하며, 필요한 최소한의 엔드포인트만을 가지고 있는 것을 알 수 있다. 참고로 CDC ACM과 같은 클래스는 단순히 Bulk Transfer만 가지고 있는 것이 아니며, 더 많은 기능을 포함하고 있어서 엔드포인트(endpoint)가 더 많이 붙어 있다.  아무튼 Interface Descriptor를 출력한 결과는 다음과 같다.

 

 

※ Device 프로그램 ※

 

  Device 쪽 프로그램에서는 단순히 데이터를 읽어 올 때는 cat /dev/{장치명}을 하고, 데이터를 출력할 때는 echo를 이용해 /dev/{장치명}에 데이터를 쓰면 된다. 참고로 단순히 데이터를 보내게 되면 개행 문자가 자동으로 치환되어서 raw 데이터가 잘 안 보내질 수 있다. 따라서 다음의 명령어를 먼저 실행해준다.

 

sudo stty -F /dev/ttyGS1 raw
sudo stty -F /dev/ttyGS2 raw

 

  매번 다음의 명령어를 실행해주지 않는다면, 호스트(Host) PC에서 개행문자를 포함할 때에만 정상적으로 데이터가 전송된다. 따라서 이를 참고하자.

728x90
반응형

728x90
반응형

※ 나의 주식 계좌 확인하는 방법 ※

 

  영웅문 HTS를 실행한 뒤에, [주식주문] - [주식종합] 페이지로 이동하면 나의 주식 계좌 목록을 확인할 수 있다. 일반적인 [위탁종합] 계좌인 경우 8자리 계좌번호XXXX-XXXX로 구성된다.

 

 

※ 주식 계좌에 돈 입금하는 방법 ※

 

  키움증권 주식 계좌를 만든 뒤에, 해당 주식 계좌 번호로 돈을 입금하면, 주식 투자를 할 수 있게 된다. 그냥 키움증권 계좌번호로 입금하면 된다. 정확히는 일반적으로 은행 앱에서 키움증권으로 입금할 때는 [증권사] - [키움증권]을 선택한 뒤에 자신의 주식 계좌로 돈을 입금하면 된다. 필자의 경우 NH은행 앱을 이용해 입금했다. 입금을 완료한 뒤에는 영웅문HTS 프로그램에서 [주식주문] - [계좌정보] - [실시간 잔고] 창을 열어 정상적으로 예수금이 입금되었는지 확인할 수 있다. 

 

 

※ 주식 계좌에서 돈 출금하는 방법 ※

 

  개인적으로 영웅문 프로그램은 기능이 너무 많아서 헷갈린다. 주식계좌에 있는 돈을 출금하고 싶은데, 출금 기능을 찾지 못해서 헤맸다. 자신의 주식계좌에 있는 돈을 꺼내고 싶다면 [온라인업무] - [인터넷뱅킹] - [즉시이체출금]으로 들어가면 된다.

 

 

  이후에 받을 계좌번호를 입력하고 [이체실행]을 눌러 이체를 진행하면 된다.

 

 

  (참고) 필자의 경우 딱히 OTP가 필요하거나 그렇지 않았다. [이체실행] 버튼을 누르면 다음과 같이 이체 확인 페이지가 등장하는데, [확인] 버튼을 눌러서 이체를 진행하면 된다.

 

 

  이후에 다음과 같이 인증서 비밀번호를 입력하면 이체가 완료된다.

 

 

  나중에 출금 결과를 조회하고 싶다면 [온라인업무] - [인터넷뱅킹] - [즉시이체출금결과조회]로 들어가면 된다. 여기에서 비밀번호 및 적절한 조회기간을 입력하면 다음과 같이 언제, 어디로, 얼마를 출금했는지 확인할 수 있다. 기본적으로 늦은 저녁에도(정해진 특정 시간대를 제외하고) 출금(이체)이 가능하기 때문에, 사실상 원할 때 출금할 수 있다.

 

728x90
반응형

File Storage Gadget

기타2021. 2. 22. 22:18
728x90
반응형

  FSGFile Storage Gadget의 약자이다. 리눅스(Linux) 기반 장치에서 Mass Storage Gadget(MSG) 클래스의 기능을 제공하기 위해 FSG를 사용할 수 있다.  자세한 내용은 커널 공식 문서를 참고할 수 있다. 기본적으로 FSG는 USB 스펙에서 bulk-in과 bulk-out 엔드포인트를 필요로 하고, 별도의 블록 장치(block device)를 만든 뒤에 이를 특정한 LUN에 적용하여 사용할 수 있다. 이때 LUN(Logical Unit Number)이란 각각의 논리 장치(저장 장치)를 식별하기 위해 사용하는 번호를 의미한다.

 

  기본적으로 Mass Storage Gadget의 구현은 커널의 drivers/usb/gadget/function/f_mass_storage.c에서 확인할 수 있다. (참고: elixir.bootlin.com/linux/latest/source/drivers/usb/gadget/function/f_mass_storage.c) 참고로 여기에서 커널 모듈을 불러오기 위한 파라미터는 fsg_config_from_params 함수 내부에서 확인할 수 있다.

 

  하나의 FSG는 여러 개의 LUN을 가질 수 있으며, 하나의 LUN은 다음과 같이 정의된다.

 

struct fsg_lun_config {
	const char *filename;
	char ro;
	char removable;
	char cdrom;
	char nofua;
	char inquiry_string[INQUIRY_STRING_LEN];
};
728x90
반응형

728x90
반응형

  최근에 스마트폰에 있던 인증서를 PC로 옮겼다. 이때 농협 인터넷 뱅킹을 이용하여 스마트폰의 인증서를 PC로 옮겼다. 이후에 농협 인터넷 뱅킹에서는 공인인증서(공동인증서)를 정상적으로 사용할 수 있었다. 하지만 동일하게 PC에 저장된 인증서를 우체국 인터넷 뱅킹에서 사용하려고 할 때 다음과 같은 오류 메시지가 등장했다.

 

  '암호화용 인증서의 비밀번호가 다릅니다. 복구하시려면 재발급이 필요합니다.'

 

 

  정확한 원인은 알 수 없으나 직접적으로 우체국 뱅킹에서 [인증서 가져오기] 기능을 사용하지 않았기 때문에 그런 것 같다. 하지만 재미있게도 그냥 [확인] 버튼을 눌러서 계속 진행하도록 만들면 정상적으로 로그인되었다.

 

728x90
반응형

728x90
반응형

  유튜버에 대한 정보를 알려주는 사이트가 많이 존재한다. 그중에서 필자가 사용해 보았던 사이트를 소개한다. 일단 유튜버 정보를 잘 알려주는 사이트라면 해당 유튜버에 대한 구독자 증감 현황, 광고 단가, 평균 수입 등의 다양한 정보를 요약하여 잘 보여줄 수 있어야 한다. 먼저 녹스 인플루언서를 사용해 보았다.

 

  ▶ 녹스 인플루언서: kr.noxinfluencer.com/

 

NoxInfluencer,녹스 인플루언서,유튜브 수익,유튜브 구독자 순위,유튜브 마케팅,MCN,유튜브 광고,1인

녹스 인플루언서는 유튜브, 인스타그램 등 1인 크리에이터를 위한 전문적인 데이터 분석 및 통계 서비스, 유튜브 채널 수입, 인기 유튜버 순위, 실시간 구독자, 유튜버 비교, 랭킹 순위 등 다양한

kr.noxinfluencer.com

 

  녹스 인플루언서에서 내 채널을 확인해 보았다. 나도 모르는 정보가 많이 나온다.

 

 

  또한 [동영상 분석] 탭으로 가면 최근에 올린 동영상에 대한 분석 결과를 알려준다. 조회수 대비 좋아요가 많이 눌리고, 싫어요는 적게 눌릴수록 높은 점수를 부여하는 것 같다.

 

 

  다만 [광고영상 분석] 탭은 [회원 구매] 이후에 사용할 수 있다고 한다. 유료 기능인 것 같다.

 

  ▶ 블링: vling.net/

 

블링, 요즘 뜨는 크리에이터 찾아줘!

세상 모든 크리에이터를 검색부터 비교분석. 유튜브 트렌드까지 한 번에.

vling.net

 

  블링도 크리에이터 정보 검색 사이트다. 이 사이트는 크리에이터 본인인 경우 광고 단가 정보를 무료로 볼 수 있도록 해준다. 기본적인 정보들은 제공해준다. 필자의 경우 강의 영상을 위주로 올리기 때문에 조회수나 댓글 수는 적지만, 좋아요 비율은 좋은 편이다.

 

 

  ▶ 소셜 블레이드(Social Blade): socialblade.com/

 

YouTube, Twitch, Twitter, & Instagram Statistics - SocialBlade.com

SocialBlade can help you track YouTube Channel Statistics, Twitch User Stats, Instagram Stats, and much more! You can compare yourself to other users and analyze your growth!

socialblade.com

 

  유튜버 정보를 분석해주는 글로벌 사이트다. 세계 각지에 존재하는 모든 크리에이터를 비교해준다는 점에서 가지고 있는 데이터가 매우 많은 것으로 보인다.

 

728x90
반응형

728x90
반응형

  현재 유튜브 동영상에서 나오고 있는 음악이 어떤 음악인지 찾고 싶을 때 사용할 수 있는 크롬 확장 프로그램으로 'AHA Music'이 있습니다. 처음에는 어떤 동영상에 나오는 음악이 무엇이지 찾고 싶어서 설치해서 사용해 보았는데, 생각보다 잘 동작해서 자주 애용하고 있습니다.

 

  ▶ AHA Music 설치 경로

 

AHA Music - 브라우저 용 노래 찾기

노래는 무엇입니까? 노래 식별자가 알려줍니다!

chrome.google.com

 

  크롬 브라우저를 열어 경로에 들어간 뒤에 [Add to Chrome] 버튼을 눌러 설치하면 됩니다.

 

728x90
반응형

728x90
반응형

1. 동영상 호환성 문제인 경우

 

  동영상 자체가 프리미어와 호환이 되지 않아 오디오는 빼고 비디오만 불러와 지는 경우가 있다. 곰플레이어와 같은 재생 프로그램을 이용할 때는 정상적으로 소리가 들리지만, 프리미어에서는 소리가 불러와 지지 않는다.

 

  이럴 때는 원본 동영상의 인코딩을 다시 하여 프리미어에 불러온다. 필자는 이런 경우를 경험해 본 적이 있는데, 다음 팟 인코더와 같은 프로그램을 사용하여 인코딩을 다시 한 뒤에 프리미어에 불러왔을 때는 문제가 해결되었다.

 

2. 비디오 혹은 오디오 중에 하나만 소스 패치가 적용된 경우

 

  아래 사진을 확인해보자. 비디오 V1에 대해서만 소스 패치가 적용되어 있다. 이 경우 오디오가 존재하는 동영상을 불러와도 다음과 같이 비디오만 불러와 지며 오디오가 없는 것처럼 처리되는 것을 알 수 있다.

 

 

  이럴 때는 아래와 같이 오디오 소스 패치도 적용한다. 그러면 오디오도 정상적으로 불러와 지는 것을 알 수 있다.

 

728x90
반응형

728x90
반응형

  어도비 프리미어(Adobe Premiere)를 이용하여 동영상이나 사진을 특정한 도형 안에 넣는 방법을 소개합니다. 일단 프리미어를 실행한 뒤에 하나의 동영상을 타임라인에 올려주세요. 이후에 [타원 도구]를 선택합니다. 말 그대로 다양한 타원을 비디오에 넣고자 할 때 사용할 수 있는 도구입니다.

 

 

  저는 일단 다음과 같은 하나의 동영상을 준비해 보았습니다.

 

 

  이후에 한 번 원 도형을 그려보겠습니다. 그냥 드래그 앤 드롭해서 그리시면 되는데요. 참고로 원을 그리실 때는 쉬프트(shift) 키를 함께 누르시면서 드래그하면 타원형이 아닌 원 형태로 그려집니다.

 

 

  이제 [트랙 매트 키] 효과를 검색합니다. 이걸 비디오 클립에 적용합니다. (원 도형이 아닌, 비디오 클립에 적용해주세요.)

 

 

  결과적으로 비디오에 [트랙 매트 키] 효과가 적용되었습니다. 또한 저의 경우에는 원 도형(그래픽)이 V2 라인에 있는 것을 알 수 있습니다.

 

 

  이제 비디오를 누른 뒤에 [효과 컨트롤] 창에서 [트랙 매트 키]를 찾아 [매트] [비디오 2]로 선택해 주세요.

 

 

  그러면 다음과 같이 원 도형 안에 존재하는 부분만 화면에 출력되는 것을 알 수 있습니다.

 

728x90
반응형