梶研 [お料理センシング & 主成分分析 & BookWorm]
2024年03月19日
お料理センシング & 主成分分析 & BookWorm
出席率
- 3年セミナー:??%
スケジュール
短期的な予定
- [ ] mocopi と お料理センシング
- [x] シーンとランドマークを決める(~2月上旬)
- [x] SVM で動作判別する
- [ ] 機械学習を深める
- [x] 機械学習の手法を知る
- [x] 使う手法を決める
- [x] データセットを探す
- [ ] LSTM
- [x] 機械学習(LSTM)する
- [ ] 精度を上げる
- [ ] ?
- [ ] 主成分分析
- [x] 主成分分析する
- [ ] 精度を上げる
- [ ] ?
- [ ] ?
- [ ] お料理センシング
- [x] お料理でどんな動作があるかを知る
- [ ] データをとる?
- [ ] ?
- [ ] 論文書く
- [ ] 発表
- [ ] BLEビーコンのuuidを書き換えたい
- [x] 通信内容を読み解く
- [ ] shellコマンドで通信してみる
- [ ] 実装してみる
- [ ] BookWorm
- [x] Pasori と デスクトップアプリを接続する(技術検証)
- [x] nfc読み込み機能 & 画面を作る
- [ ] API と連携させる
- [ ] 管理者画面を作る
長期的な予定
- ~?月 シーン検知?をする
- ~?月 論文を書く
- ~?月 論文発表したい
進捗報告
お料理でどんな動作があるかを知る
fumaさんと軽く話した
条件
- そんなに難しくないもの
- 初心者です
- 工程が多いもの
- 位置推定をするため移動がたくさんほしい
- 飽きないもの
- これから何度もやるため
- 材料費が高すぎないもの
- 材料費は研究費に含まれないとか
→ 太巻き
- いろんな材料が必要
- 簡単な工程がいっぱい
主成分分析
素のデータ
各主成分を表示
第一主成分 と 第二主成分
第二主成分 と 第三主成分
第一主成分 と 第三主成分
主成分たち
あんまり別れきってない
一連の動作ではなく1フレームずつの加速度でやっているため、
0, 0 あたりに集まるのは当然
→ ウィンドウに分けて標準偏差などの特徴量でやる
一旦ペンギンのデータでやってみる
https://archive.ics.uci.edu/dataset/690/palmer+penguins-3
素のデータ
主成分同士の比較
コード
ライブラリに任せっきりのため、何しているか理解する必要がある
# 主成分分析の実行
pca = PCA()
pca.fit(dfs)
# データを主成分空間に写像
feature = pca.transform(dfs)
# 主成分得点
pd.DataFrame(
feature, columns=["PC{}".format(x + 1) for x in range(len(dfs.columns))]
).head() 累積寄与率
第何主成分まででどのくらいの情報を説明できるかという指標
↓ 第二主成分までで十分そう
これから
- センシングを始めようかと思ってます
- 必要な時にまとめて取るのは大変なので週1程度でやりたい
- 機械学習を深める
- LSTM
- 主成分分析
BookWorm
管理者画面を作った
API はまだなので仮
<iframe width="1260" height="707" src="https://www.youtube.com/embed/yuk5v40gyUY" title="[BookWorm] 管理者画面 画面録画" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
バイトで学んだことを活かして綺麗に書けた
import { atom } from 'jotai';
export interface Item {
id: number;
title: string;
idm: string;
type: string;
}
const fetchItem = async (id: Item['id']): Promise<Item> => {
// 仮
await new Promise((resolve) => setTimeout(resolve, 1000));
return {
id,
idm: `idm-${id}`,
type: `type-${id}`,
title: `title-${id}`,
};
};
const itemAtom = atom<Item | undefined>(undefined);
export const selectItemAtom = atom(
(get) => get(itemAtom),
async (_get, set, id: Item['id']) => {
set(itemAtom, undefined);
const item = await fetchItem(id);
set(itemAtom, item);
}
); import { itemAtomLoadable } from '@/store/items';
import { useAtomValue } from 'jotai';
const useItems = () => {
return useAtomValue(itemAtomLoadable);
};
export default useItems; const AdminBody = () => {
const items = useItems();
return (
<PageLayout title="管理画面">
<AdminDialog />
{items.state === 'hasData' && <AdminTable items={items.data} />}
{items.state === 'loading' && <Loading dark />}
</PageLayout>
);
}; BookWorm ラズパイをセットアップした
- パスワードの設定
- VNCの設定
Node のインストール- 直接 node があったり nvm でバージョン管理してたり
- nvm がうまく動かなかったり
- Rust のインストール
TODO
- ラズパイのセットアップ
- 初期化しようかと思ってます(要相談)
- APIとの連携
進路関係
就活たのしそうだったので逆求人登録してみた
何を聞けるのか、面談してみようと思います
企業の選択肢を広げれたら嬉しい
今の所 mixi が気になってる
余談
徹夜カラオケした
なんか徹夜カラオケした
IPSJONE みた
- https://ipsj-one.org/#suda
留学のお迎えにいった
chrome の位置情報が狂ってます
学生課の依頼で作った愛工大案内するやつ
完成したのにchromeだけ位置情報がずれてしまった
→ GPS に加えて WiFi(SSID) も使って補正をしていた(WiFi 位置推定) : 参考(Google) 参考