Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
nekoIoTLT_SearchBlackObject
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
NearMugi
October 21, 2020
Technology
710
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
nekoIoTLT_SearchBlackObject
NearMugi
October 21, 2020
More Decks by NearMugi
See All by NearMugi
nekoIoTLT_NearMugiLLM
nearmugi
0
420
nekoIoTLT_CatAndColorSensor
nearmugi
0
980
VisualProgramming_GoogleHome_LINE
nearmugi
1
640
EnebularMeetup_GoogleCalendar
nearmugi
0
310
nekoIoTLT_ToyAndVoiceAnalysis
nearmugi
0
410
nekoIoTLT_Demachi
nearmugi
0
470
nekoIoTLT_nekoDeeplearning
nearmugi
0
360
nekoIoTLT_nekoGohan
nearmugi
0
580
nekoIoTLT_Tsumetogi
nearmugi
1
750
Other Decks in Technology
See All in Technology
AIに狂うスタートアップが、あえて「人との協働」に全振りした新卒エンジニア研修 / New Graduate Engineer Training at a Startup Accelerating AI Adoption
ohnoeight
0
200
DDDのエッセンスを取り入れたAIでの開発
ak2ie
1
220
暗号化?某ファイルストレージはどうなるの!? 3rd Partyとうまく付き合う秘密度ラベル設計
kasada
0
170
AI開発に用いられるHPC技術について
gpuunite_official
0
260
作って理解するCoding Agent 〜フレームワークに頼らないピュア Python での実装〜
takapy
3
1.1k
RelayerというPHPのフレームワークを作った
polidog
PRO
0
130
属人化を叩き割れ!「制作加速」と「安定化」の矛盾を打破する:8年目プロダクトが辿り着いた「ミスが起こり得ない」アセット制作フローの全貌
gree_tech
PRO
0
370
dbt と Snowflake と tag
kevinrobot34
1
190
関東Kaggler会発表資料
takoi
1
290
Go 1.27 の標準パッケージに uuid が入った!のでいろいろ喋る / go_127_std_go_uuid
convto
3
660
ハッカソンで入賞した話 @ Findy LT
asari194617
0
1.5k
2027年のMetricKit
kantacky
0
160
Featured
See All Featured
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
It's Worth the Effort
3n
188
29k
RailsConf 2023
tenderlove
30
1.5k
Facilitating Awesome Meetings
lara
57
7.1k
Typedesign – Prime Four
hannesfritz
42
3.1k
Unsuck your backbone
ammeep
672
58k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Ruling the World: When Life Gets Gamed
codingconduct
0
310
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Transcript
トイレにある黒い物体を検知する 2020.10.21 夜開催! ねこIoTLT vol.4
自己紹介 NearMugi(ニアムギ) ねこ2匹飼っています。
ねこ紹介 ニア ・3月8日生まれ 11歳 ・もふもふでかわいい ・寒くなってきたのでさらにもふもふに
ねこ紹介 ムギ ・5月8日生まれ 8歳 ・黒猫でかわいい ・メーメー鳴く ・この子も少し毛が伸びた
イントロ みなさんのおうちでこんなこと ありませんか?
イントロ ねこがトイレの前でじっとしている…
イントロ トイレを見てみると中に 黒い物体が。
イントロ 「これを取ってくれ」と言わんばかりに 立っている。
イントロ すぐに取ってあげたい。 気づいてあげたい。
イントロ IoTで解決してみます。
1.トイレの様子を定期的に撮影 2.撮影した画像から黒い物体を検知 3.LINEで通知 大まかな手順
・30分ごとに撮影する ・部屋の明るさの変化を考慮する ・前回撮影した画像と似ている場合は通知しない ・機械学習は使わずに黒い物体を検知する 細かい仕様
1. ESP32+カメラで撮影、GoogleCloudStorage(GCS)へ画像をアップロードする 2. GCSに画像がアップロードされたイベントをトリガーに Cloud Pub/Subからメッセージが 送信される 3. Node-REDフロー内でCloud Pub/Subのメッセージを受信する
4. 画像をGCSから取得して解析する 5. 黒い物体を検知したとき、 LINEに通知する 手順の詳細 GoogleCloudStorage Cloud Pub/Sub GoogleComputeEngine メッセージ受信 画像取得 解析 通知
Cloud Pub/Subのメッセージを受信したら、 画像を取得する 手順の詳細(Node-REDフロー) 前回の画像をGCSから取得する 処理で使うパラメータを GCSから取得する 解析する ログと解析後の画像を GCSへ保存する
黒い物体を検知できたら LINEへ通知する
黒い物体の検知方法 黒い物体を検知するため OpenCVを使いました
黒い物体の検知方法 カメラで撮った画像 → 2値化(白黒)→白黒反転→輪郭を検出→面積を取得 → 面積の大きさから黒い物体があるか判断 画像から黒い物体を検知するまでの処理
黒い物体の検知方法 adaptiveThreshold : 画像をいい感じに2値化(白黒)する findContours : 黒い背景から白い物体の輪郭を検出する contourArea : 輪郭内の面積を取得する
OpenCVの関数
黒い物体の検知方法 -関数の説明(adaptiveThreshold) 元画像 void adaptiveThreshold(const Mat& src, Mat& dst, double maxValue,
int adaptiveMethod, int thresholdType, int blockSize, double C) 定数Cを変化させることで、白黒の範囲を調整できる C:10 白黒割合:0.29 C:20 白黒割合:0.23 C:30 白黒割合:0.18 C:40 白黒割合:0.13 C:60 白黒割合:0.06 C:70 白黒割合:0.04 C:80 白黒割合:0.03 C:90 白黒割合:0.02 C:50 白黒割合:0.09 ここらへんがちょうど良い
黒い物体の検知方法 -関数の説明(findContours, contourArea) void findContours(const Mat& image, vector<vector<Point> >& contours, int
mode, int method, Point offset=Point()) double contourArea(const Mat& contour) 輪郭を検出すると細かい部分も含まれてしまうので、面積の大きさから判断する 元画像に輪郭を検出したデータを合成したもの 面積の大きさにしきい値を設けたもの
通知 黒い物体を検知するとLINEに通知がきます
結果 検出結果をお見せしたいのですが、 黒い物体があれなので 今回は控えさせていただきます。 そこそこの検出具合でした。 明るさの調整が一番難しいです。
黒い物体の検知のポイント 白黒がはっきりしていると検知しやすいので、 大玉の猫砂がおすすめです
まとめ ・機械学習を使わなくてもある程度の検知が出来ると知りました。 照度センサーなどの補助があればもう少し精度が上がりそうです。 ・検知しやすくさせるため砂を平らにならしたり、砂の汚れ具合を 気にするようになりました。 以上となります。 ご清聴ありがとうございました。