アプリとサービスのすすめ

アプリやIT系のサービスを中心に書いていきます。たまに副業やビジネス関係の情報なども気ままにつづります

2022-01-01から1年間の記事一覧

物体検出(yolov7)のバウンディングボックスから奥行きの距離(depth)を計算してみた

Jetsonに2つのカメラをつけて、それぞれに物体検出のyolov7で推論をかける。そこで得たbboxの位置座標から視差(disparity)を求めて、奥行きの距離(depth)を求めてみた。その過程と結果の備忘録 1. データセットの用意 2. disparityからdipthを求める手順 3. …

Swiftでファイルをs3にuploadしてみる。

目次 1. cocoapodsをinstallして、Podfileからライブラリをinstall 2. AWSのUpload用のバケットをs3で作成 3. AppDelegate.swiftにS3のupload用のコードに貼り付け 4. SwiftからS3に画像をアップロード 5. s3で画像の確認 1. cocoapodsをinstallして、Podfil…

Yolov7にSinkhorn lossを使って実験してみた

OTA-loss とかOCcostとか話題になってる昨今に絡んで、「Sinkhorn」とかいう手法が気になってた。何でもlossかなんかのmatrixを最適化する手法でSinkhorn lossとかいうのもある。Yolov7を使ってる最中だったので、なんとかYolov7にSinkhornを使ってみたかっ…

SwiftのSwiftUI App形式で「SceneDelegate」とかを使ったカメラアプリ作成ログ

機械学習のcoreML用にswiftを使ったカメラアプリを作ってみた。その時、・従来のAppKitApp Delegate形式 から ・新しい記述形式のSwiftUI App形式を主にした ・SceneDelegate.swift ・AppDelegate.swift を使ったカメラアプリの作成して使う方法を簡単にまと…

1次元のsignal(信号)データの異常検知(信号処理)備忘録

信号データ(1次元の波形データ)を使った「傷あり/なし」の異常検知モデルを作ったので、役に立ったこと、たたなかったこと、とかを備忘録でまとめてく。本来のタスクとちょっとルールを変えて、時系列データ自体が異常かどうかの2値分類タスクにした。目次…

what you get after exploring what you want

そんな中でも 10~20人程度の小規模な会社の場合 新規顧客の対応を社長さんが してくれる場合がある。昨日初めて訪問した会社でも 社長さんが応対をされていた。新規で導入を考えている加工機を 製造しているメーカーさんだったので 社内にあるデモ機や実際…

EfficientNet-v2のMBConvライクなレイヤーをtensorflowで自作して精度を検証してみた

EfficientNet-v2が優秀なので、その技術を自分の自作ネットワークに応用して作ってみた。 その結果だけを書いてく備忘録。目次 1. EfficentNetv2の特徴 2. 今回応用した技術 3. 精度(arcfaceあり) 1. EfficentNetv2の特徴・MBConvとFused-MBconv(DepthwiseC…

Analysis of CNN+LSTM with Attentions

I created CNN+LSTM model that has Attention layers in LSTM side.CNN is role of encoder and LSTM is one of decoder. Here, I'll write this as log of my analysis about how to use CNN output as LSTM input, and Attentions that are 'Self-Attentt…

ROSでJetson nanoで撮影したカメラ画像を遠隔でホストPCのブラウザに表示する

Jetson Nanoで以前USBカメラを接続した。trafalbad.hatenadiary.jp 今回VNC接続した身軽な状態のjetson nanoで撮影したカメラ画像を、遠隔でホストPCのGoogle chrome (Safari)で表示してみた。 その備忘録 目次 1. Jetson Nanoでブラウザに表示するための準…

バカな経営者に安売り買いされる日本の技術者のための詩

無能な経営者が多い。将棋の騎士は駒を操る。駒の使い方を考える。だがなんとITの経営者とかPMとか名乗る奴は、駒である技術者にビジネス的にどう使うかを聞いてくる。 これは将棋の騎士が駒に駒の使い方聞くようなもんだ。会社は自分の目的達成の道具に過ぎ…

お国とサラリーマン(この話はノンフィクションです。実在の組織団体個人とは関係大ありです)

*この話はノンフィクションです。実在の組織団体個人とは関係大ありです 今は今、とあるところにルールをせっせと作るお国とサラリーマンたちがいました。 お国さんは天国か地獄に一番近い、老ぼれたちがはびこる組織のようなものです。サラリーマンは働き…

PCDをPCLで前処理して3DPointCloudの機械学習データセットを作るまで

前回はLidarからPCD(Point Cloud Data)までを作成した。今回はそのPCDをPCL(Point Cloud Library)で前処理して、Meshlabという 3d PointCloud用アノテーションソフトでアノテーションしてから、機械学習のデータセット(例えばpointnetとかsemantic 3dとかのD…

Parallels Desktopにホスト側からのログイン設定

仮想環境Parallels Desktopにホスト側からログインするための設定。Virtual-Boxが使えなくなったので、代わりの仮想環境として使ってるので、その備忘録。環境:ホストOS Mac Book Pro 環境ゲストOS Ubuntu 20.04 目次 1. セットアップ 2. sshでログイン 3. …

Depth画像から点群データ(Point Cloud Data:pcd)を作る方法

本来は、lidarで取得するpcd(点群データ)をdepth画像から作成する手順。 理由はlidarからだと綺麗なpcdが撮影できない感じがしたから。なのでdepth画像とrgb画像を合わせてpcdを作ることにした。目次 1. lidarから直接pcdを作成する 2. depth画像とrgb 画像…

Jetbotをgazeboで動かすまで その2

前回の続きでgazeboで動かすのに必要なところをまとめてくだけ。 シュミレーション環境にはturtlebot3を使った。 目次 1. gazeboの環境設定 2. JetbotのXacroファイルをgazeboに対応させる 3. gazeboのコントロール用のdiff_drive_controllerのパラメーター…

Jetbotをgazeboで動かすまで その1

Jetbotという車輪型ロボットのRvizのみ対応のコードをgazeboに対応させて、シミュレーション上で動かせるようにした。 Rviz用のJetbotファイルをgazeboで動かすまでをざっとまとめた備忘録その1目次 1. gazeboに対応させる手順 2. 今回の概要 3. gazeboプラ…

PS3のコントローラーでROSのシュミレーションロボットを動かしてみた

ps3のコントローラーでROSのロボットを動かす。 今回はRvizの機能だけを使ったシュミレーション用だけど、実際に遠隔での実物ロボットの操作も可能。 gazeboと連携すれば本格的なシュミレーション環境ができる。目次 1. PS3コントローラの動作確認 2. ps3用…

XacroでURDFを簡略化して記述

前回書いた記事のURDFファイルをXacroで書き直した。trafalbad.hatenadiary.jpかなり簡単に書けたので、おすすめ。 目次 1. xacroファイル 2. xacroの特徴 3. collisionタグとinertialタグの挿入 4. 表示 1. xacroファイルcar_robot.xacro <robot name="macroed" xmlns:xacro="http://ros.org/wiki/xacro"> <xacro:property name="width" value="0.2" /> </xacro:property></robot>

robot_state_publisherでURDFファイルのロボットをrvizで表示する。

URDFファイルで記述したロボットのシミュレーションロボットを動かすための手順は 1. Gazeboの起動 2. ロボットモデルをrobot_descriptionにloadする 3. robot_state_publisherの起動 4. ロボットモデルをGazebo上にスポーンさせる(urdf_spawner) 5. ロボッ…

自宅のWifiネットワーク環境をHusarnetでVPN化。ROSでホストPCとJetson nanoのVPN遠隔操作

wifiの代わりにVPNのHusarnetを設定した。このおかげで、ホストPCとjetson nano遠隔通信がほぼどこでも行えるようになった。 OpenVPN、WireGuardとかSoftEther VPNでもいいけど、HusarnetがROSをターゲットにしててかなり相性がいい。 VPNネットワーク図 注…

realsense lidarで取得したdepth(深度)画像をrosbagでpng画像として保存する方法

depth(深度)画像をbagファイルに保存してから、pngの画像に変換して保存する方法。 目次 デモ:lidarでcolor画像をbagファイルに保存してjpegで保存 1. realsense-viewでbagファイルの作成 2. realsense-rosで点群/depth画像の表示 3. depth画像をbagファ…

ROSで画像を圧縮してJetsonからホストPCへ遠隔で送信

画像を圧縮してJetson側からホストPCに送信して保存してみた。 そのとき圧縮効果でどれだけ速度が上がったのかを、webカメラとlidarの両方で調べてみたのでその備忘録。結果からいうと、web(USB)カメラとLidar両方で、速度向上の効果があった。 ちなみに圧縮…

Jetson Nano上のRealSense-Lidar(L515)とホストPCをROSで遠隔通信してみた

今回はJetson Nano上でRealsense Lidar(L515)を動かして、遠隔通信でデータをホストPCに送るまでの備忘録環境 ubuntu 18.04.5 LTS CMake 3.10.2 Python 3.6.9 Opencv 4.1.1 JetPack 4.3作業全体構成 目次 1. Librealsenseのinstall 2. Jetson nanoにrealsens…

PCからJetson NanoをROSで遠隔操作とsshログインするまで

ホストPCから大体ハードウェアのJetson NanoをROSの遠隔操作とsshでログインまでの備忘録目次 1 Jetson Nanoのセットアップ 2.Jetson NanoにROSのinstall 3.パッケージ等の作成 4.ホストPCからJetson NanoをROSで遠隔操作 5. ホストPCからJetsonへsshでログ…

ubuntu 20.04のROSでRealSense Lidarのセットアップ

ROSでLidarを起動してみるまでのセットアップ手順 環境 ・Ubuntu 20.04 ・ROS noetic ちなみに製品は「Intel RealSense LiDAR Camera L515」。 Note: Set up at 2022/01/13 realsense Lidar一覧表 目次 1 Intel Realsense SDK インストール 2. realsense-ros…

ROSでc++の引数(argv)をlaunchファイルで渡す方法

ROSでのc++のコードで引数argument (argv)をlaunchで渡す方法のまとめ。 c++スクリプトの用意簡単なcppを準備。cloud_loader.cpp #include <ros/ros.h> #include <sensor_msgs/PointCloud2.h> #include <pcl_conversions/pcl_conversions.h> #include <cloud_common.h> class CloudLoadingHandler { public: CloudLoadingHandler(ros::NodeHandle &nh, c</cloud_common.h></pcl_conversions/pcl_conversions.h></sensor_msgs/pointcloud2.h></ros/ros.h>…

ROSで独自Service用ファイルを作ってService通信を試す

ROSの通信で頭の隅に置いとく知識・ROSで行う通信(Topic通信とか)はmsgファイルのデータ型で行う。 ・Service通信も拡張子がsrvのファイルのデータ型で行う。 備忘録なので独自設定のservice通信を動かすまでの過程を、淡々とまとめるだけの構成。目次 1. …

ROSの基本プログラムのTopic通信(非同期通信)を動かす

今回はROSの基本のPublisherとSubscriberを使ったROSの基本プログラムtopic通信(非同期通信)をうごかしたので、その備忘録。仕組みとしてはこんな感じ・Topic :データを書き込む場所(非同期通信のメイン) ・Service :publisher側でsubscriberの結果を受…

ROSのインストールと基礎動作確認まで

ロボットを動かすミドルウェアrosを使うために、rosのinstallと簡単な初期動作の備忘録。 rosのバージョンはNoetic。ROSのバージョン表 ディストリビューション名 Ubuntuのバージョン サポート期限 Indigo 14.04 2019年5月 Kinetic 14.04 2021年5月 Melodic …