Задать вопрос
  • Методы для поиска объектов на изображениях?

    Vindicar
    @Vindicar
    RTFM!
    почитать подробно про методы

    Хотелось бы понять какой метод, для какой задачи больше походит

    Не, ну ты выбери что-то одно. Или ты въезжаешь в кишки одного метода, или ты ищешь инфу по верхам.

    Навскидку, ключевые вещи на которые нужно смотреть это трудоёмкость, инвариантность и поддержка множественных экземпляров. Первое определяет, насколько сложно подготовить детектор объектов этим методом. Второе определяет, сломается ли метод если искомый объект повернуть/увеличить/ярко осветить/и т.п. Третье определяет, сломается ли метод, если искомый объект присутсвует в нескольких экземплярах.

    Например, методы перебора с голосованием вроде алгоритма Хафа. Хорошо работает для геометрических примитивов, поддерживает несколько экземпляров. Но произвольные трансформации обрабатывает плохо, слишком много вариантов. Для задач вроде "найти кнопку на экране" подходит очень хорошо.

    Каскады Хаара. Требуют контрастных объектов, не справляются с поворотами, могут быть чувствительны к масштабы. Долго обучаются, но довольно быстро работают. Сейчас их редко применяют.

    Методы, основанные на локальных особенностях. Требуют "пёстрых" объектов с множеством заметных деталей (в идеале контрастных углов), и не справляются с деформируемыми объектами или очень разными ракурсами. Легко справляются с произвольными трансформациями, но ломаются на множественных экземплярах. Это придётся обходить, обрабатывая изображение по частям. Зато если объект простой (условно, обложка книги), им обычно хватает одного изображения.

    Свёрточные нейронки вроде семейства YOLO. Можно научить много на что, и скорость работы у них стабильная, но нужна большая размеченная база для обучения. Причём если в базе не было скажем, повёрнутых изображений, нейронка их не научится распознавать. Отчасти обучающую базу можно расширить джиттерингом, но готовить её всё равно придётся, причём речь идёт о сотнях и тысячах изображений.
    Ответ написан
    1 комментарий
  • Что так с моим кодом?

    @kaka888
    C, C++, Qt, Python Flask, MySQL, Lua
    Дык попробуйте скомпилировать свою программу и увидите следующую ошибку:
    main.cpp: In function ‘int main()’:
    main.cpp:19:35: error: ‘a’ was not declared in this scope
       19 |                 arr[i] = new int [a];
          |                                   ^

    Здесь сказано, что переменная `a` не определена. Её и правда нигде в коде нет.

    Память, выделенная для подмассивов внутри arr, не освобождается = утечка памяти. Вы же выполняете сначала один new, а потом в цикле выполняете ещё new для каждого подмассива. Освобождать память с помощью delete надо по такой же логике - сначала для подмассивов, а потом только для самого arr - delete[] arr.
    Ответ написан
  • Что так с моим кодом?

    badcasedaily1
    @badcasedaily1
    data engineer, author habr
    Несколько проблем:

    1. в цикле инициализации массива arr[i] = new int [a]; переменная a не определена, должно быть size.
    2. освобождение памяти для двумерного массива сделано неправильно. нужно удалить каждый подмассив, а затем сам массив.
    3. лучше использовать std::vector для динамических массивов.
    Ответ написан
    Комментировать
  • Как повысить точность поиска фотографий одинаковых объектов/локаций, снятых с разных ракурсов?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    гугли

    SIFT
    ORB Descriptors (там разные естьт, BSIFT каежстя или как-то так, забыл название)

    https://habr.com/ru/companies/solarsecurity/articl...

    для картинок-не-векторов работает отлично
    Ответ написан
    2 комментария
  • Как переквалифицироваться из разработчика в руководителя?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Прежде всего, для менеджера важно понимать людей. Всё что они говорят, что не говорят. Чётко улавливать интонации, язык тела. Понимать их мотивы.
    Не менее важно умение убеждать. Разными способами - договариваясь, запугивая, манипулируя нежными чувствами, всё что угодно. Отдельно выделю, относящиеся к этому пункту навыки, грамотной речи, поставленного голоса и умения правильно держать себя.
    Эти умения лучше развиваются не в стерильной корпоративной среде со стандартизированной культурой поведения, а в жизни повседневной. Заставь 6-летнего племянника перестать баловаться, заставь ханыгу соседа перестать курить в подъезде, запрети подруге ПМС и фразы "Ничего не случилось!" и "А мама сказала..."

    Крайне полезно иметь хорошую память и уметь в планирование, в том числе долгосрочное. И тут опять же полезен ежедневный бытовой опыт. Разработайте себе чёткий распорядок дня, планируйте бюджет, играйте в шахматы, плетите интриги.

    Имея базу необходимых навыков, можно приступить к теории. Во-первых, теории управления ИТ-службами - ISO 20000, ITIL, PMBoK и Agile. Во-вторых, очень ценно знать прикладную область - например, бизнес-процессы розничных и оптовых продаж, основы учёта, в том числе бухгалтерского, основные законы, регламентирующие деятельность и прочее. Бизнес-литературу и книги по личностному росту сразу в помойку. Не то чтобы в них не встречалось ничего хорошего, но крайне редко и очень мало.

    Наконец, не обязательно ждать пока руководитель освободит место. Если в вас действительно созрел менеджер, вы можете его подсидеть.
    Ответ написан
    Комментировать
  • Как работает перенаправление вывода скрипта python?

    2ord
    @2ord
    Можно обвернуть системный вызов в async функцию и использовать await.
    https://realpython.com/async-io-python/#the-asynca...

    Добавлено:
    а нельзя ли просто сделать вывод в stdout и поточное чтение с вывода:
    python prog1.py | python prod2.py
    ?
    Ответ написан
    Комментировать
  • Linux fedora для ноутбука?

    gohdan
    @gohdan
    Системный администратор
    На федоре сижу с первых выпусков, последние годы - на ноутбуках, сейчас уже третий сменил (lenovo, acer). Ставится нормально, работает нормально. Те, кто пишут, что она не стабильная, не разбираются. С драйверами действительно может не повезти и что-то работать не будет - но это касается любого линукса, правда, в последнее время с этим тоже проблем не встречал.
    Ответ написан
    Комментировать
  • Linux fedora для ноутбука?

    paran0id
    @paran0id Куратор тега Linux
    Умный, но ленивый
    Использую федору, у меня всё работает. Как на вашем ноутбуке будет работать - не знаю. В целом федора устраивает, за исключением относительно короткого срока поддержки версий.
    Ответ написан
    Комментировать
  • Linux fedora для ноутбука?

    justhabrauser
    @justhabrauser
    IT specialist
    Все линухи одинаковы, но в Fedora искаропки есть много для управления питанием (в том числе специально для IBM/Lenovo).
    Ставим Fedora, добавляем пакетов (tlp, powertop) и медитируем надо документацией.
    Пример специально для Lenovo:
    `zcfan.x86_64 : Zero-configuration fan daemon for ThinkPads`
    Ответ написан
    1 комментарий
  • Как научиться декомпозировать задачи?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Переодически может появиться очень крупная задача вида "нужно то не знай что". Мне приходится с ней разбираться и если с первым этапом - конкретизация требований все более-менее понятно, то с дальнейшими действиями все совсем плохо.

    Ситуация - знакомая. Во первых это - не задача. Это issue типа investigation. Его результатом должен быть не финальный продукт а просто новый сет issues. Оценивать время можно как угодно. Можно писать 1 день для начала. Все равно никто не сможет оспорить вашу оценку.

    А совсем попа когда во время разработки понимаешь, что все должно быть не совсем так как ты запроектировал и приходится переделывать.

    Это - риски и их просто надо заранее проговорить на митингах. Просто сообщайте заказчику что задача - рисковая и если что-то не так пойдет - то время надо будет сдвинуть.
    Ответ написан
    Комментировать
  • Как научиться декомпозировать задачи?

    Adamos
    @Adamos
    Дробить задачу еще на более мелкие совсем не охота

    Ну и зря. Вообще-то технологиям планирования совместной работы уже не первый век, и важнейший этап - как раз выделение тех участков работы, которые критичны для начала работы на других участках, и подтягивание их на диаграмме Ганта как можно раньше, чтобы уменьшить простой. Потом уже менее критичные задачи ложатся на свободные участки и параллелятся относительно друг друга.
    Так, например, нас учили делать генплан строительства еще 30 лет назад. До популяризации в РФ всяких там Скрамов и Канбанов.
    Ответ написан
    8 комментариев
  • Как научиться декомпозировать задачи?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Во-первых, слово "не охота" не совместим с уровнем "мастер своего дела". Возможно, потому и начальство кричит... Как правило, когда процесс разработки выстроен и понятен всем заинтересованным лицам, крика значительно меньше, и разработчики появляются тоже в соответствии с планом, не раньше.
    Во-вторых, план - это живой постоянно изменяющийся инструмент руководителей, причём с разных сторон. Заказчик/подрядчик/субподрядчик/ещё кто-то. Если план понятный и "живой", постоянно актуализируемый, то кричать никто не будет - времени нет, надо свои задачи всем делать. А вот если план делают "для галочки", то крика всегда много.
    В-третьих, распараллелить нельзя только жёстко последовательные задачи. Причина - либо технологическая (нельзя данные залить, пока база не создана), либо ограничения ресурсов (дядя Ваня зальёт данные, когда ему компьютер настроят). Всё остальное решается декомпозицией задач с получением понятных промежуточных результатов. SMART ваше всё.
    В-четвёртых, да, план должен быть основан на принятых технических решениях. Иногда эти решения при реализации (и даже позже!) признаются неверными, и приходится перепроектировать систему, и тогда нужно менять план работ. Это нормально и даже неизбежно, особенно для сложных систем. Но тут уже в плане нужно предусматривать работы по управлению рисками, а в самой системе надо предусматривать такие решения, которые позволят изолировать проблемные места и не допустить, чтобы ошибки проектирования или изменения требований не привели к слишком высоким затратам.
    Итого, что крик стоит, и что разработчики ждут - это прямые последствия ошибок планирования и отношения к плану. Не ошибается тот, кто ничего не делает. Вы хорошо знаете аналитику, поэтому с детализацией требований вопросов нет. Но надо развиваться в технологиях, в особенностях процессов разработки, в особенностях управления проектом. Тогда планы будут более реалистичными. Но ещё надо перестать смотреть на план как одну из стадий "водопада". План меняется всё время, планирование продолжается от начала и до конца проекта минимум, а чаще - в течение всего жизненного цикла системы. Тогда и нервы у всех участников работ лишний раз никто не полоскает.
    И ещё про детализацию. Задача длительностью 4 часа сильно отличается от задачи длительностью 5 часов. Потому что первую задачу можно выполнить, не отвлекаясь, один раз "войдя в творческий поток". А задачу длиннее 4 часов исполнитель без отвлечений не выполнит никогда (в смысле 95% случаев, остальные 5% - тоже с разрывом "потока" и исключительно на своей самодисциплине). Итого, 5-часовая задача сразу превращается в 6-8 часовую. Фокус-фактор выше 65% не бывает. Так что декомпозируйте задачи так, чтобы они реально были исполнимыми в указанные сроки.
    Ответ написан
    Комментировать
  • Почему после установки пакета nvidia система не грузится?

    HighTechLowLife
    @HighTechLowLife Автор вопроса
    Решил. Надо было прописать ibt=off
    Due to FS#74886/FS#74891, nvidia doesn't boot on Linux 5.18 on systems with Intel CPUs. Until this is fixed, a workaround is disabling the Indirect Branch Tracking CPU security feature by setting the ibt=off kernel parameter from the bootloader. This security feature is responsible for mitigating a class of exploit techniques, but is deemed safe as a temporary stopgap solution
    Ответ написан
    Комментировать
  • Как восстановить математическое мышление?

    prostranstvovremya
    @prostranstvovremya
    Честно говоря, очень актуальная проблема.
    Спустя некоторое время при отсутствии практики в решении математических, физических или других задач - теряется навык составления уравнений, легкости преобразования текстового условия в системы, выражения одного через другое, понимание всего как это происходит. Все, что чуть дальше "скорость*время" может вызывать затруднения. Меня так же крайне беспокоит данная проблема.

    В качестве попыток решения проблемы - в какое-то время я банально брал школьные учебники и пытался нарешивать задачи, наращивая их сложность.
    Однако, такой процесс довольно долгий и трудозатратный. Но других выходов из ситуации я не вижу. На мой взгляд только таким образом можно освежить утерянный навык. Рад буду послушать так же и другие советы от людей, столкнувшихся с подобной проблемой.
    Ответ написан
    Комментировать
  • Как восстановить математическое мышление?

    @abmanimenja
    Практика
    Ответ написан
    Комментировать
  • Как восстановить математическое мышление?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    То, что вы описываете, это не математическое мышление.
    Это именно алгебры, формулы и много практики, чтобы у вас автоматически вспоминались подходящие под данную проблему примеры и формулы.

    Просто берете задачники и решаете много задач. Чтение теории не позволяет самостоятельно что-либо научиться решать.
    Ответ написан
    6 комментариев
  • Как развить абстрактное мышление?

    @evgeniy_lm
    Разум человека отличается от разума животных исключительно наличием абстрактного мышления. Т.е. оно у тебя уже есть. Но тут вот проблема, мышцы тоже у всех есть, но штангу поднимать может не каждый
    Ответ написан
    2 комментария
  • Как развить абстрактное мышление?

    @Farwisdomer
    Пытаться свести абстрактную модель к известному примеру, который понимаете хорошо.
    Ответ написан
    4 комментария