イメージラベラーの紐付けを別のPCで復元する方法
6 ビュー (過去 30 日間)
古いコメントを表示
あるPC上のイメージラベラーで行ったラベリングのセッションファイル、gTruthファイル、ラベルのピクセルラベルデータをフォルダごと移動し、別PC上のMatlabで読み込もうとしているのですが、セッションファイルは読み込めるものの、gTruth読み込みの際に以下のエラーが発生し復元することができません。
gTruth.matからラベルを読み込めません。groundTruthオブジェクトには有効なDataSourceがありません。有効な
groundTruthDataSourceオブジェクトを使用してDatasourceを更新してください。
別のPC上で再度ピクセルラベルデータと画像とを紐付けし直す方法を教えていただけませんでしょうか。
0 件のコメント
採用された回答
Kei Otsuka
2018 年 5 月 25 日
gTruth.matに格納されているデータソースの情報は絶対パスになっているため、ファイルを別PCに移動した場合には
groundTruthオブジェクト(gTruth.mat)を作り直す必要があります。
まず、groundTruthDataSourceオブジェクトでデータソースを指定し、
dataSource = groundTruthDataSource('05_highway_lanechange_25s.mp4');
ラベル情報の指定、
names = {'Car'};
types = [labelType('PixelLabel')];
pixelLabelID = {1};
labelDefs = table(names,types, pixelLabelID, ...
'VariableNames',{'Name','Type','PixelLabelID'});
ラベル画像のリスト作成を行い、
folderInfo = dir('PixelLabelData');
folderInfo = folderInfo(~ismember({folderInfo.name}, {'.', '..'}));
filelist = {folderInfo.name}';
for i = 1:size(filelist, 1)
tmp = strcat(fullfile(pwd, 'PixelLabelData\'), filelist{i});
filelist(i) = {tmp};
end
labelData = table(filelist,'VariableNames',{'PixelLabelData'});
最終的にgroundTruthオブジェクトを作成します。
gTruth = groundTruth(dataSource,labelDefs,labelData)
2 件のコメント
Kei Otsuka
2018 年 5 月 28 日
編集済み: Kei Otsuka
2018 年 5 月 28 日
groundTruthオブジェクトの値は読み取り専用となっており、コピーしてもその属性は引き継がれる認識ですが、 どのような方法でgTruth2を作成されましたでしょうか。
方法を記載して頂ければ原因を調べてみることもできますが、groundTruthオブジェクトを新規に作成し直す方法が確実ですので、こちらの ヘルプ を参考にお試し頂ければ幸いです。 Examplesを見て頂くと良いかと思います。
その他の回答 (1 件)
Ryuhei Funada
2019 年 4 月 2 日
イメージラベラー用のgroundTruthオブジェクトでは、R2018bからオブジェクト関数changeFilePathsを使用して、groundTruthDataSourceの絶対パスを変更することができます。
下記をご参照ください。
web(fullfile(docroot, 'vision/ref/groundtruth.changefilepaths.html'))
groundTruthオブジェクトを新規に作成する方法も引き続き利用することができます。
例えばtrainingImagesDirが対象ファイルが含まれるディレクトリのパスとして
imds = imageDatastore(trainingImagesDir);
gds = groundTruthDataSource(imds.Files);
gTruth = groundTruth(gds, gTruth.LabelDefinitions, gTruth.LabelData);
となります。
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!