【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matchingharmonylab
公開URL:https://arxiv.org/pdf/2404.19174
出典:Guilherme Potje, Felipe Cadar, Andre Araujo, Renato Martins, Erickson R. ascimento: XFeat: Accelerated Features for Lightweight Image Matching, Proceedings of the 2024 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) (2023)
概要:リソース効率に優れた特徴点マッチングのための軽量なアーキテクチャ「XFeat(Accelerated Features)」を提案します。手法は、局所的な特徴点の検出、抽出、マッチングのための畳み込みニューラルネットワークの基本的な設計を再検討します。特に、リソースが限られたデバイス向けに迅速かつ堅牢なアルゴリズムが必要とされるため、解像度を可能な限り高く保ちながら、ネットワークのチャネル数を制限します。さらに、スパース下でのマッチングを選択できる設計となっており、ナビゲーションやARなどのアプリケーションに適しています。XFeatは、高速かつ同等以上の精度を実現し、一般的なラップトップのCPU上でリアルタイムで動作します。
セル生産方式におけるロボットの活用には様々な問題があるが,その一つとして 3 体以上の物体の組み立てが挙げられる.一般に,複数物体を同時に組み立てる際は,対象の部品をそれぞれロボットアームまたは治具でそれぞれ独立に保持することで組み立てを遂行すると考えられる.ただし,この方法ではロボットアームや治具を部品数と同じ数だけ必要とし,部品数が多いほどコスト面や設置スペースの関係で無駄が多くなる.この課題に対して音𣷓らは組み立て対象物に働く接触力等の解析により,治具等で固定されていない対象物が組み立て作業中に運動しにくい状態となる条件を求めた.すなわち,環境中の非把持対象物のロバスト性を考慮して,組み立て作業条件を検討している.本研究ではこの方策に基づいて,複数物体の組み立て作業を単腕マニピュレータで実行することを目的とする.このとき,対象物のロバスト性を考慮することで,仮組状態の複数物体を同時に扱う手法を提案する.作業対象としてパイプジョイントの組み立てを挙げ,簡易な道具を用いることで単腕マニピュレータで複数物体を同時に把持できることを示す.さらに,作業成功率の向上のために RGB-D カメラを用いた物体の位置検出に基づくロボット制御及び動作計画を実装する.
This paper discusses assembly operations using a single manipulator and a parallel gripper to simultaneously
grasp multiple objects and hold the group of temporarily assembled objects. Multiple robots and jigs generally operate
assembly tasks by constraining the target objects mechanically or geometrically to prevent them from moving. It is
necessary to analyze the physical interaction between the objects for such constraints to achieve the tasks with a single
gripper. In this paper, we focus on assembling pipe joints as an example and discuss constraining the motion of the
objects. Our demonstration shows that a simple tool can facilitate holding multiple objects with a single gripper.
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
1. Docker入門-基礎編
い ま か ら 始 め る D o c k e r 管 理 v 2 . 0 0
JAWS-UG コンテナ支部 Docker 入門 #2
2015年10月30日(金)
@zembutsu
Technology Evangelist; Creationline, Inc.
Introduction to docker, basic management and operations
背景画像CREDIT:スフィア / PIXTA(ピクスタ)
2. 2
本スライドで得られる知識
Docker入門-基礎編 いまから始めるDocker
‣ Docker概要と環境構築
なぜ Docker なのか? 速さと利便性。そして、Docker はコンテナではなくプラットフォーム。
‣ Dockerの基本操作コマンドの理解
コンテナのイメージ管理、起動、情報取得、ログ参照、Dockerfile、ボリューム操作
‣ Dockerとコンテナを取り巻く状況
DockerCon 2015 前後、Dockerのオーケストレーション Docker Machine, Swarm, Compose
This slide is an introduction of the basic concept and command of Docker. Because the main purpose uses Docker as a
tool. This is a Japanese document for community of the JAWS-UG Container Branch, in Tokyo on Oct 30.
Are you interested in this English version? Please comment me or mention @zembutsu . Thank you.
これからDockerを知る方のため
コンテナ概要から、環境構築、
ツールを使ったコンテナの操作や
管理方法を整理したものです。
2015年秋現在の状況にあわせ、
内容を大幅に改訂しました。
19. The future of Linux Containers - YouTube
https://www.youtube.com/watch?v=wW9CAH9nSLs
‣ 2013年3月13日
‣ PyCon US 2013
‣ Solomon Hyke 氏
Dockerが世の中に登場してから、まだ
3年も経っていません。初めての公開は
Pythonカンファレンスの、たった5分の
ライトニングトークでした。
20. The future of Linux Containers - YouTube
https://www.youtube.com/watch?v=wW9CAH9nSLs
‣ dotCloud
‣ どこにでも運ぶ
‣ プロセスの分離
"Software you can deliver from your
laptop to EC2,to BareMetal, giant
server, run the same way. Because
isolated with process level. And it's
has own file system"
発表したのはdotCoud社の創設者。皆は
ソフトをどこでも動かせるのを求めている
39. Z氏の場合
Munin 3.0.0b1
l o c a l P C
sudo apt-get update
sudo apt-get install git
git clone git://github.com/munin-monitoring/munin
cd munin
perl Build.PL
sudo apt-get install gcc pkg-config libssl-dev build-essential
sudo apt-get install expat libexpat1 libexpat1-dev libexpat1-dev
sudo apt-get install libxml2-dev libxml-libxml-perl libcairo-gobject-perl libglib2.0-dev libglib-perl
sudo apt-get install libcairo-perl libcairo-gobject-perl libgraphics-primitive-driver-cairo-perl
sudo apt-get install libcairo2-dev libpango1.0-dev
sudo cpan -i XML::Parser XML::Dumper
sudo cpan -i Alien::RRDtool
sudo cpan -i Test::Class Test::MockModule Test::MockObject Test::LongString Test::Differences
sudo cpan -i File::Slurp
sudo ./Build installdeps
./Build test
sudo ./Build installe
cd /usr/local/etc/munin/
sudo mkdir /usr/local/etc/munin/plugins
sudo cp munin.conf.sample munin.conf
sudo cp munin-node.conf.sample munin-node.conf
sudo munin-node-configure --shell --families=contrib,auto | sh -x
zembutsu/muinin3
Dockerfile
D o c k e r H u b
docker push
zembutsu/muinin3
docker commit
docker bulid
DockerHubにDockerイメージを
アップロードしておけば、
40. Z氏の場合
Munin 3.0.0b1
l o c a l P C
sudo apt-get update
sudo apt-get install git
git clone git://github.com/munin-monitoring/munin
cd munin
perl Build.PL
sudo apt-get install gcc pkg-config libssl-dev build-essential
sudo apt-get install expat libexpat1 libexpat1-dev libexpat1-dev
sudo apt-get install libxml2-dev libxml-libxml-perl libcairo-gobject-perl libglib2.0-dev libglib-perl
sudo apt-get install libcairo-perl libcairo-gobject-perl libgraphics-primitive-driver-cairo-perl
sudo apt-get install libcairo2-dev libpango1.0-dev
sudo cpan -i XML::Parser XML::Dumper
sudo cpan -i Alien::RRDtool
sudo cpan -i Test::Class Test::MockModule Test::MockObject Test::LongString Test::Differences
sudo cpan -i File::Slurp
sudo ./Build installdeps
./Build test
sudo ./Build installe
cd /usr/local/etc/munin/
sudo mkdir /usr/local/etc/munin/plugins
sudo cp munin.conf.sample munin.conf
sudo cp munin-node.conf.sample munin-node.conf
sudo munin-node-configure --shell --families=contrib,auto | sh -x
リ モ ー ト の サ ー バ
zembutsu/muinin3
Dockerfile
D o c k e r H u b
docker push
zembutsu/muinin3
docker pull
zembutsu/muinin3
docker run
docker commit
docker bulid
環境を再構築する必要なく、
すぐに環境を実行できるように。
41. l o c a l P C
l o c a l P C
l o c a l P C
G i t H u b D o c k e r H u b
B i t B u c k e t
git add …
git push origin master
autobuild
webhook
共同開発環境に向けて、DockerHubには
GitHubと連携してpushするとDocker
イメージを自動構築する機能があります。
42. l o c a l P C
l o c a l P C
l o c a l P C
G i t H u b D o c k e r H u b
B i t B u c k e t
git add …
git push origin master
autobuild
webhook
また、webhook
でフックさせるこ
とにより、いわゆ
るCIやCDツール
との連携も可能
になります。
43. l o c a l P C
l o c a l P C
l o c a l P C
G i t H u b D o c k e r H u b
B i t B u c k e t
git add …
git push origin master
autobuild
webhook
更に、様々なシステムと連携し、デプロイまでも。
その中心にいるのがDockerなのです。
44. Open Container Initiative Open Container Project (runC)
https://www.opencontainers.org/ http://runc.io/
コンテナ規格の標準化団体 標準ランタイム策定プロジェクト
コンテナをとりまく業界は、2014年当時
は混沌としていましたが、2015年には標
準化団体やプロジェクトが始まりました。
単にDocker社だけの取り組みというより
業界全体を大きく動かし始めています。
50. 50Introduction to Docker Basic Course
ここまでのまとめ
‣ Docker は Linux カーネルの機能で
プロセスレベルの「隔離」を行う=コンテナ化
Control Groups ( cgroups )
Namespaces
‣ Dockerは Linux コンテナを扱うプラットフォーム
‣ オープンソースで配布、オープンな開発体制
80. Docker動作環境の構築
ローカルで構築 リモートで構築 クラウドサービスの利用
Docker Machine
(旧boot2docker)
Docker社による
バイナリ・パッケージ
Amazon EC2
Container Service
(ECS)
IBM Bluemix
Microsoft Azure
Google Container
Engine
VirtualBox
Windows or Mac OSX Virtual or Physical Linux Machine
コミュニティによる
バイナリ・パッケージ
商用サポート版
ソースコードからビルド
+
Docker Toolbox
コンテナを動かすためには様々な
選択肢があります。
88. 88Introduction to Docker Basic Course
‣ sudo docker version
‣ sudo docker run hello-world
動作確認
Hello from Docker.
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(Assuming it was not already locally available.)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
For more examples and ideas, visit:
http://docs.docker.com/userguide/
「hello-world」コンテナは
テストで使われるものです。
120. 120Introduction to Docker Basic Course
‣ docker diff
‣ docker history
差分と履歴の確認
$ docker diff <コンテナID>
A /hello.txt
C /root
A /root/.bash_history
$ docker history $IMEGEID
IMAGE CREATED CREATED BY SIZE
COMMENT
1b07ddefe341 2 minutes ago bash 66 B
6d4946999d4f 3 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B
9fd3c8c9af32 3 weeks ago /bin/sh -c sed -i 's/^#¥s*¥(deb.*universe¥)$/ 1.895 kB
435050075b3f 3 weeks ago /bin/sh -c echo '#!/bin/sh' > /usr/sbin/polic 194.5 kB
428b411c28f0 3 weeks ago /bin/sh -c #(nop) ADD file:b3447f4503091bb6bb 188.1 MB
diff | history
差分・履歴表示
121. 121Introduction to Docker Basic Course
‣ docker commit コマンド
docker commit [オプション] [コンテナID] [レポジトリ名:タグ]
コミットして変更内容を確定
$ docker commit $CONTAINER ecsdocker/myapp:1.0
1b07ddefe341abdae8f497a4dea24b2fef46a2a32621a0998fb0e7e8c2fbf666
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ecsdocker/myapp 1.0 1b07ddefe341 17 seconds ago 188.3 M
docker commit
コンテナイメージ化