DreamerDreamのブログ

夢想家の夢です。〜揚げたてのモヤっとしたものをラフレシアと共に〜

格安のLEDテープライトを自分で切って線を半田で取り付ける方法

LEDテープライト、いろいろな種類がありますが、こちらはなんと5mで500円以下という破格の商品です。

Lepro LEDテープライト 電球色 無段階調光 間接照明 5m 12v 高演色タイプ ストリップライト 切断可能 2835SMD 300LED高輝度 ストリングライト 寝室/お部屋/店舗/コレクション/看板照明

色も色々ありますが、単色タイプで12Vの電圧をかけるとすぐ点灯するというシンプルなものです。

 

今回は車のフットライトとして使いたいので5m全部じゃなくて少しだけ切って複数に分けて使いたいんですよね。

届いたまんまの状態では端の端子はこのように結線されています。

f:id:DreamerDream:20200923094022p:plain

 

このテープライトは光源3つごとにカット部分が用意されていて好きな所で切って使う事が出来ます。

f:id:DreamerDream:20200923094031p:plain

格安商品ですので無駄な物が一切ありません。防滴用の樹脂もありませんから非常に作業しやすいものです。

そして、ご丁寧に+側には「12V」と書かれていますので失敗も少ないでしょう。

 

カットしたら結線用に適当な電線を用意します。

f:id:DreamerDream:20200923094042p:plain

 

電線の端っこに半田でボールを作っておきます。

f:id:DreamerDream:20200923094051p:plain

 

同じようにテープ部分にも同箔の丸い部分がありますので、半田を溶かせてボールを作っておきます。

f:id:DreamerDream:20200923094101p:plain

 

半田ボール同士を押し当てて半田ごてで熱してあげるとしっかりと溶着されます。

f:id:DreamerDream:20200923094110p:plain

以上です。

簡単ですね。

 

結線はこれで完了なのですが、万が一半田部分が外れて隣の線と接触してしまうと発火する可能性があります。

念のため、ボンドやシーラーで万が一の場合でも端子同士が触れることの無いように覆っておきましょう。

f:id:DreamerDream:20200923094121p:plain

ボンド等で線自体を固定しておくと半田が外れたときでも隣と接触しないので安心ですね。


あとは車のACC電源やイルミ電源から電源を確保するだけです。

取り出すには、このような分岐端子を使うと楽です。

エーモン 電源分岐ハーネス(ギボシ端子タイプ) AV1.25sq 3個入 3350

ヒューズから取り出す場合はコチラの分岐端子が便利です。

平型 ヒューズ 15A 電源取り出し ヒューズボックス #P01.

TwitterからAmazonの商品レビュー依頼が来たのでサクラレビューに該当しないかAmazonへ問い合わせてみました

TwitterのDMにて

「3Dプリンター用のフィラメントを購入して評価をいただけませんか?」

という旨のメッセージを頂きました。

f:id:DreamerDream:20200905082839j:plain

 

商品はSUNLUのPLAフィラメントです。

f:id:DreamerDream:20200905083104j:plain

2000円/1kg程度の格安商品ですが、「Amazon評価を投稿すると返金されるので実質無料で購入することができます」という内容です。

 

かなりお得な話ですが、こういったものは「クラレビュー」としてAmazonからペナルティーを食らうかもしれないという情報もあるのでサクラレビューに該当しないのか一度Amazonにお伺いを立てることにしました。

 

クラレビューとは、高評価を付ける代わりに対価を得るというものです。

<参考ブログ>

【失敗談】Amazonレビューの規約違反をしてしまった。|沖縄チビデブパパの雑記

商品を無料で手に入れることや報酬を目的に購入すると規約違反とされるようで、ペナルティーとして参考ブログのようにキャンペーンに参加出来なくなっったり、最悪アカウントが停止されてしまうようです。

中には、評価に応じて+報酬額というサクラレビュー依頼もあるそうです。

 

問合せはamazonの問合せチャットで行いました。

(※ブログへの掲載許可もいただいています。)

f:id:DreamerDream:20200905082813j:plain

 

チャットではどの商品でどのような内容なのか?という詳細をDMのスクショをメールで添付したりして依頼内容を正確に伝えて返信を頂きました。(長いので中盤は割愛します)

<返答>

f:id:DreamerDream:20200905082827j:plain

f:id:DreamerDream:20200905082801j:plain

 

結果、”今回は”(←大事!)この商品を購入して評価を行なってもペナルティーは受けない。

但し、Amazonからの購入以降のやりとりについてはAmazonは一切関係無いからトラブルが起きても責任を負いませんので気をつけて。

ということでした。

 

今回解ったことは、商品評価の対価として返金が行なわれるとしても全てがペナルティ対象にはならないということのようです。

高評価の強制や異常なレビュー数、他に何らかの規定や要因があるのか解りませんが全ての商品に対して言えることでは無いと思いますので、このような評価依頼を受けたらamazonに一度確認をしてみることをお勧めしておきます。

 

ちなみに、紹介された3Dプリンター用フィラメントの感想はこんな感じです。 

dreamerdream.hateblo.jp

本当に良いフィラメントだったので何の問題も無く☆5つです。

(仮に悪いフィラメントでレビューだけ高評価を強要されていたとしたら返金お断りしてボロクソにレビュー評価していました。)


ちなみに、こういった中国系のレビュー返金にはPaypalがよく使われているそうですので何らかの商品レビュー依頼を受けてみようと思う方はPaypalアカウントを作成しておくと良いでしょう。
www.paypal.com

 

レビュー依頼を受ける時の大事なポイントをもう一度おさらいします。

  • 「サクラレビュー」に該当しないのか注意しましょう。
  • 購入前にamazonにお伺いを立てましょう。
  • 必ず本音でレビュー評価を書くこと。
  • 「返金されたら良いな」程度であまり返金に期待しない。

SUNLUのPLAフィラメントを試してみました。

Amazonで入手できるSUNLUというメーカーのPLAフィラメント

 

1Kg 2,499円

 

今なら400円引きのクーポンを使えるので2,099円で入手できます(執筆時点)。

 

梱包は無難なダンボール梱包です。

f:id:DreamerDream:20200908115159p:plain

製品紹介パンフレットが一部付いています。

f:id:DreamerDream:20200908115209p:plain

パックもよくある真空パックで梱包されています。

f:id:DreamerDream:20200908115221p:plain

 

先端はこのように留めてあります。

f:id:DreamerDream:20200908115233p:plain

フィラメントに折れ目が付いているので外すときに折れないかドキドキしましたが折れませんでした。

 

 

以前に試したeSUNのPLA+フィラメントに比べると梱包は安っぽいですが「必要最低限の梱包」という評価も出来ます。 

dreamerdream.hateblo.jp

 

上記のフィラメント(右)と比べると色味はマット調というかフィラメント自体が物理的にザラザラしています。

f:id:DreamerDream:20200908115243p:plain

ザラザラが滑り止めのようになるのでエクストルーダーへのセットが楽です。

 

遠近で撮ってしまいましたが・・、リールの内径が今まで使ったフィラメントリールに比べると大きいので中心に軸を通すタイプのフィラメントホルダーを使っている方は注意が必用です。

f:id:DreamerDream:20200908115255p:plain

まあこれは3Dプリンターで内径を小さくするパーツを作れば済む話です。

 

 

僕が使ったのは黒色ですが色味が上記のフィラメントより若干薄く、薄物を作って日光に透かすと少し透過します。

とはいうものの、写真で撮ってもよく解らないレベル。

f:id:DreamerDream:20200908115308p:plain

 

電子工作で光センサー類に使おうと思うと注意が必用になるかもしれません。

 

全く同じものを作って比較していますが、(下がSUNLUのフィラメント)

f:id:DreamerDream:20200908115320p:plain

200℃で安定して出力出来ました。

f:id:DreamerDream:20200908115333p:plain

仕上がり具合も色味もほぼ一緒。

ベッドへの定着も良く使いやすいです。

 

荷重をかけると、上記のPLA+フィラメントに比べると若干軟らかいようですが、触って比べても違いが解らない程度です。

f:id:DreamerDream:20200908115345p:plain

 

このフィラメント、PLA+ではなく、PLAの中では現時点でお勧め1位です。

 

 

 

その他PLAフィラメントの比較はこちらを参考にどうぞ↓

dreamerdream.hateblo.jp

 

ミューズノータッチ泡ハンドソープを詰め替えボトルの再利用方法 穴開け加工一切無し!ドライバー一本で簡単に詰め替える方法

手を触れないでハンドソープが出る便利なアイテム「ミューズノータッチ泡ハンドソープ」がコロナの影響もありボトルの値段が以前より上がっています。 

【Amazon.co.jp 限定】【医薬部外品】ハンドソープ 泡 ミューズ ノータッチ 自動 ディスペンサー 本体+詰め替え キッチン 250ml + おまけ付き

 

こうなると人間いろいろと考えて何とか中身を詰め替えてやろうとするものです。

mainichi-rainbow.com

いろいろな方法が公開されていて皆さんすごい執念を感じます。

 

フリマアプリではこのボトルにペットボトルのキャップを付けたものが千円以上の価格で売り出されてめちゃ売れていたりします。

確かにキャップを付けると詰め替えやすいのですが・・・、加工しちゃうと「詰め替えています」というのがバレバレだとどこか貧乏臭く見えてしまいます(失礼)。

 

ということで、今回は余計な加工や複雑な道具無しでミューズノータッッチ泡ハンドソープを詰め替える方法をご提供します。

 

必用な道具はマイナスドライバー一本だけです。

f:id:DreamerDream:20200825122747p:plain

 

 

ボトルの蓋のこの辺に挿して、

f:id:DreamerDream:20200825122844p:plain

 

えいっと持ち上げれば蓋がパコッと外れます。

f:id:DreamerDream:20200825122853p:plain

 

完了!

f:id:DreamerDream:20200825122902p:plain

はい、口も広いのでこれで好きなハンドソープを入れて再利用できます。

 

後は入れ替えてからパチンと音が鳴るまでギュッっと蓋を閉めれば逆さに向けてもこぼれません。

 

ドライバーを挿した部分は使用時にはディスペンサーに隠れて見えませんから蓋を開けたことすら解りません。

何度もやっていると爪が折れて使えなくなるかもしれませんが、今回5回ぐらい空けたり閉めたりしてみましたが問題ありませんでした。

 

僕と同じ貧乏性の方は簡単ですので是非お試しください。

 

 

VPS上でもtf-openposeは精度良く骨格検出してくれます

 

前回、tf-poseを使って骨格検出をしてみましたが、動きはするもののあまり精度が良くありませんでした。

dreamerdream.hateblo.jp

 

先に実戦しておられるこちらのブログで用いられている画像と同じ物を使ってみましたが・・・。

qiita.com

 

 

フリー素材ぱくたそ様のこちらの画像↓

www.pakutaso.com

 

sudo python3 run.py --image=./150415022548_TP_V.jpg

 

僕の実際の環境ではこんな状態になってしまいます。

f:id:DreamerDream:20200803092736p:plain

おかしぃなあ、同じtf-openposeを使っているはずなのに・・・

 

他にも、

 

f:id:DreamerDream:20200803092751p:plain

 

f:id:DreamerDream:20200803092800p:plain

 

 

ん〜、どうも様子がおかしい・・・

 

 

ということで、検出用のmodelを変更してみることにしました。

modelの指定は

cmu / mobilenet_thin / mobilenet_v2_large / mobilenet_v2_small

から選択出来るそうです。

 

 

 

では、実験です。

sudo python3 run.py --image=./150415022548_TP_V.jpg --model=mobilenet_thin

f:id:DreamerDream:20200803123616p:plain

あれ?よけいに精度が悪くなってます。

 

 

sudo python3 run.py --image=./150415022548_TP_V.jpg --model=mobilenet_v2_large

f:id:DreamerDream:20200803123808p:plain

うーん、これなら最初の方が良かったかもしれません。

 

 

sudo python3 run.py --image=./150415022548_TP_V.jpg --model=mobilenet_v2_small

f:id:DreamerDream:20200803124007p:plain

あー、悪くなってる・・・。何故か黒板にまで反応が・・・

 

 

実は女性モデルが苦手なのか?

f:id:DreamerDream:20200803125523p:plain

なんてことは無いですよね。

 

f:id:DreamerDream:20200803125627p:plain

えーっと・・・、ここでは不要なムスコの判定をしてくれているようですが、どうやら全体的に必用な下半身の判定が出来ていない様子です。

 

 

ダメモトで他の画像を試してみたところ、

f:id:DreamerDream:20200803130446p:plain

おお!?

こちらはすごくうまくいっています。

 

 

これは・・・、ひょっとして?

と、少し思い立つものがあり、最初の画像を試してみましたところ、

f:id:DreamerDream:20200803131216p:plain

ほほう!

 

 

f:id:DreamerDream:20200803131441p:plain

なるほど!

 

 

さらに、

f:id:DreamerDream:20200803131816p:plain

これはバッチリ!

f:id:DreamerDream:20200803131943p:plain

ここまですると見え辛い・・・

 

 

お気付きでしょうか?

 

実は元の画像のサイズを小さくしていました。

フリー素材提供先の画像をそのまま引っ張ってきていたので画像が大き過ぎて判定が難しくなっていたようです。

なんという失態・・・

 

前回記事で判定がうまくいかないのは服装のせいだとしていた画像もカンペキです。

f:id:DreamerDream:20200804105550p:plain

精度いいですね。

 

そもそも、run.pyプログラム自体にresizeオプションがありました。

 

sudo python3 run.py --image=./332TSURUTAMA20211_TP_V.jpg --resize=432x368

とすると、大きな画像もそのサイズにしてくれるようです。

 

ということで、精度の悪さは使う人の問題だっただわけで、tf-openpose自体はすごい便利です!

VPS上でも問題無く動作します。

※但し遅いので(画像1枚で数秒かかる)、動画の検出には向きません

今回は以上です。

 

ChatGPT API×Pythonで始める対話型AI実装入門(GPT-3.5&GPT-4 対応)

VPS上で画像から人の骨格を推定するOpenPoseが実行出来るのか実験してみた tf-pose-estimationならとりあえず動く

映像や画像から機械学習を用いて骨格を検出するプロジェクトの一つ「OpenPose」を用いた映像がこちらです↓


Realtime Multi-Person 2D Human Pose Estimation using Part Affinity Fields, CVPR 2017 Oral

 

めちゃめちゃスゴイ精度ですね。

 

この技術を用いると、特殊なスーツやセンサーを用いずとも機械に人の動きを入力する事が出来ますし、防犯カメラ映像から不審者を割り出すことも今までより容易になります。

なにより、これ出来たらカッコイイ!!これは是非やってみたい!!!!

 

しかし、本家OpenPoseは主にGPUを用いたアルゴリズム版で、別にCPU版の設定もあるそうですがこれは情報が少なくて難しそうでした。

 

VPSで使う場合はもちろんGPUなどありませんからCPUで判定させることになります。

 

そこで、色々と調べて回るとどうやらtf-openposeという、本家OpenPoseの真似をしてGoogleの誇るTensorFlowを使ったTensorFlow版OpenPoseというものがCPUのみで動作するということを知りました。

加えて、本家OpenPoseは研究用途はフリーライセンスでOKだそうですが商用利用は有料になるそうです。tf-openposeは商用利用まで無料のお手軽版のようです(その分精度は期待してはいけませんが)。

 

以前にラズパイでTensorFlowのラッパーライブラリーであるkerasを用いた画像判定をしたことがあるのでTensorFlowには少しだけ馴染みがあります。

dreamerdream.hateblo.jp

tf-openposeは、tf-pose-estimationやtf-pose等とも呼ばれており、開発中のプロジェクトということもありネットでの情報も錯綜しています。

僕も導入には結構手間取りましたので個人的な備忘録として今回は残しておきます。 

 

環境はConohaのVPSの一番安いプラン、CentOS8.2です。

<過去記事>

dreamerdream.hateblo.jp

 

 

 

事前に必用なライブラリ類インストール

結構いろいろなライブラリが登場します。

サーバーに組み込んでしまうとアップデートの度に不安定になるかもしれない、という不安が頭をよぎります。

 

openCVー画像処理用

sudo pip3 install opencv-python

 

gitーソースコードの取得用

sudo dnf install git

 

gccーC言語等のコンパイラ

sudo dnf install gcc

 

swigーC++コードをpythonから呼ぶラッパライブラリー

sudo dnf install swig

 

その他インストールに必用な開発パッケージ

sudo dnf -y install gcc gcc-c++ kernel-devel

sudo dnf install python3-devel

  

 

TensorFlowのインストール

tensorflowーGoogleの開発した機械学習ライブラリで今回インストールするのは、これを利用したOpenPoseですので、まずこれが無いと使えません。

sudo pip3 install tensorflow

僕の環境だとこれでバージョン1.4がインストールされたようですが、こちらの記事によりますと、

CentOS 8 TensorFlowをインストールする方法 | mebee

バージョン1.6以降はAVX命令に対応したCPUでないと使えないそうです。(なにそれ?)解りませんが、バージョンを指定したインストール方法はこう記述するというメモ。

sudo pip3 install tensorflow==1.5

 

バージョン確認

python3 -c 'import tensorflow as tf; print(tf.__version__)'

 

 

 

tf-pose-estimationインストール

いろいろと環境を整えた上でやっと本丸のインストール作業になります。

 

 <参考>

MacでOpenPose(tf-pose-estimation)のHelloWorldをしました - Qiita

 

gitからコードを拝借します。 

sudo git clone https://www.github.com/ildoonet/tf-pose-estimation

 

ディレクトリに移動して

cd tf-pose-estimation/

必用なもののインストールがtxtファイルに纏めてあるのでお任せします。

sudo pip3 install -r requirements.txt

 

ディレクトリ移動 

cd tf_pose/pafprocess

 

ビルド実行

sudo swig -python -c++ pafprocess.i && python3 setup.py build_ext --inplace 


ここでエラー

running build_ext
building '_pafprocess' extension
swigging pafprocess.i to pafprocess_wrap.cpp
swig -python -c++ -o pafprocess_wrap.cpp pafprocess.i
Unable to open file pafprocess_wrap.cpp: Permission denied
error: command 'swig' failed with exit status 1

色々弄ったけど、結局なにやら権限がどうのってなってるっぽいので、・・・僕はこういうの面倒くさいので全権限スルーにしちゃいました(おいおい。。)

cd ../

sudo chmod 777 */*

cd pafprocess

 

で、上のコードを実行したら通りました。

 

上層ディレクトリを変更

cd ../..

cd models/graph/cmu

 

シェルコードファイル実行

sudo bash download.sh

ここでしばらく時間がかかります。

 

上層ディレクトリへ移動

cd ../../..

 

サンプル画像をダウンロード(フリー素材ぱくたそから拝借しています。)

sudo wget https://www.pakutaso.com/shared/img/thumb/332TSURUTAMA20211_TP_V.jpg

 

tf_poseがインポートできるかチェック

sudo python

>>import tf_pose

>>exit()

 

 

<参考>

GPU無しで画像のみから人間のボーン推定が出来るtf-openposeを導入する - Qiita

こちらを参考に

sudo nano run.py

で実行ファイルの中身のオプションを参考にして引数を設定(バージョンによって違うみたい)僕の環境では実行コードはこのようになりました。

sudo python3 run.py --image=./332TSURUTAMA20211_TP_V.jpg

 

tensorflowを使うにはマシンスペックが低過ぎるみたいで(最低限のVPS構成ですからメモリーも512MBしかありません)、

W tensorflow/core/framework/allocator.cc:107] Allocation of 2359296 exceeds 10% of system memory.

このような警告表示がズラーっとされてめっちゃ時間がかかりますが、きちんと処理自体はされています。

 

 

しかし、当然ながら作成された画像は画面が無いので見れません。

 

ということでrun.pyの中身を少し変更します。といっても単純にOpenCVを使ってファイルを別に保存するだけです。

 

ひとまず、一通り処理をして画像表示しているコードの後ろに画像保存コードを追記します。

plt.imshow(tmp2_even, cmap=plt.cm.gray, alpha=0.5)
plt.colorbar()
plt.show()
cv2.imwrite('./OUTPUT.jpg',image) <ー追加
print('SUCCESS!') <ー追加

ターミナルで「SUCCESS!」と表示されていれば無事に出力出来たということですね。

 

 

画像の確認は予めサーバーソフトで画像をブラウザ経由で表示できるようにしています。

 

 

 

実行結果

f:id:DreamerDream:20200731202314p:plain

 

え?

ちょ、なんか思ってたんと違うくない??。。。

 

 

 

たぶんモデルが・・・、服装に見えにくいからですよね?きっと。

 

 

 

 

気を取り直して他の画像をダウンロードし直します。

sudo wget https://www.pakutaso.com/shared/img/thumb/AL002-iroppoinyuushitu20140722_TP_V4.jpg

 

 

実行!

 

はいいっ!!!

f:id:DreamerDream:20200731203130p:plain

・・・・・。

 

 

 

なにこれ?

 

 

 

 

 

<続↓>

dreamerdream.hateblo.jp

 

VPSで構築したDjangoサーバーをCentOS7からCentOS8へ移行するために CentOS8でDjangoが動くか試してみた

CentOS8がリリースされ、僕の構築したサーバーもゆくゆくは移行しないといけないのでCentOS8でもこれまでと同じようにDjango環境が構築できるのか?テストをしてみました。 

少しだけ使い勝手が違いましたが、概ね同じような要領で構築できました。

 

CentOS8からはpython3系のみになりましたので、python2系を活用されている方は少し問題が出る事もあるかもしれません。

RaspbianからCentOSに移行した時ほどの衝撃はありませんでした。

 

<過去記事 初めてのVPS契約>

dreamerdream.hateblo.jp

 

今回、サーバー追加で一番安いプランで申し込みました。

f:id:DreamerDream:20200802212651p:plain



ConohaのVPSプランはサーバーを「1時間1円から」というお手軽価格で運用する事が出来ます。

※サーバーを構築してイメージ保存しておき、動かさない時はサーバーを消す。再度使うときは保存イメージから復元するという方法を取ると最低限の料金で利用できます。

 

ここからは、過去記事に沿って環境づくりを進めます。

少し違うところだけポイントとしてコメントを入れます。

 

まずはVPSの環境づくり

VPSの使い方 ②初期設定 - DreamerDreamのブログ

OS8からはパッケージ管理ソフトがyumからdnfに変わったそうです。

理由はyumはCentOS8では廃止されたpython2系、dnfはpython3系ということです。

けど、yumコマンドを読み出しても今の所OK!なので肩肘張る必用はありません。

詳しいサイトによりますと↓

[CentOS8] yum を愛するあなたに送る、 dnf 乗り換え講座 | 株式会社ビヨンド

通常の管理ならyumがdnfに変わっただけでコマンドはほぼ同じ。むしろモジュールという概念が入って扱いやすくなったということです。

 

VPSの使い方 ③不要なサービスとポートを閉じる - DreamerDreamのブログ

これもこれまでと同じファイヤーウォールの設定でOKです。

 

VPSの使い方 ④必用なアプリをインストールする - DreamerDreamのブログ

CentOS8はpython2系は完全に廃止られたっぽいからpython3オンリー。

逆にpython3が最初から入っているので改めてインストールする必用はありません。

pip3も入ってます。

 

wsgiのインストール

sudo dnf install -y python3-mod_wsgi

 

VPSの使い方 ⑤SWAP領域を拡大する - DreamerDreamのブログ

ここまででVPSの設定は完了です。

 

Djangoのインストール

Djangoの使い方①基本(超簡単!5ステップでDjangoを動かす) - DreamerDreamのブログ

 

Djangoの使い方②基本のアプリケーション作成(HelloWorld!) - DreamerDreamのブログ

 

Djangoの使い方③サーバー連携Ⅰ(Apache2とDjangoの連携テスト) - DreamerDreamのブログ

この中の

sudo apt-get install libapache2-mod-wsgi-py3

コマンドは通らないようで、dnfからは

sudo dnf install httpd python3-mod_wsgi

とすると通ります。

 

ここまでで、今まで運用していたCentOS7からの以降準備は万端です。

Djangoも問題無く動いてくれたのでとりあえずこの状態でサーバーをイメージ保存しておきます。

 

 

 

kampa.me